package conf
|
|
|
|
import (
|
|
"fmt"
|
|
"github.com/kataras/iris/v12"
|
|
)
|
|
|
|
var ExampleFile = "http://localhost:8093/public/uploadxlsx/example.xlsx"
|
|
|
|
var Baseurl = "http://localhost:8093"
|
|
|
|
type AppConf struct {
|
|
DisablePathCorrection bool
|
|
EnablePathEscape bool
|
|
FireMethodNotAllowed bool
|
|
DisableBodyConsumptionOnUnmarshal bool
|
|
TimeFormat string
|
|
Charset string
|
|
Other Other
|
|
PublicRute []string
|
|
}
|
|
type Other struct {
|
|
IgnoreURLs []string
|
|
JWTTimeout int64
|
|
LogLevel string
|
|
Secret string
|
|
}
|
|
|
|
var AppConfig AppConf = AppConf{
|
|
DisablePathCorrection: false,
|
|
EnablePathEscape: false,
|
|
FireMethodNotAllowed: false,
|
|
DisableBodyConsumptionOnUnmarshal: false,
|
|
TimeFormat: "Mon, 01 Jan 2006 15:04:05 GMT",
|
|
Charset: "UTF-8",
|
|
Other: Other{
|
|
IgnoreURLs: []string{"/", "/user/login", "/user/plants","/admin/tabnames/download","/user/getimg"},//免token验证路径
|
|
JWTTimeout: 72000,
|
|
LogLevel: "debug",
|
|
Secret: "lapp_gaas_gframe",
|
|
},
|
|
PublicRute: []string{"/sysMenu","/user/getuserinfo","/user/pwd","/user/avatar","/user/profile","/user/getimg","/admin/tabnames/list","/admin/stdeftab/selectarr","/admin/stdeftab/selectall"},//免权限检查路径
|
|
}
|
|
|
|
var (
|
|
// conf strut
|
|
C iris.Configuration
|
|
|
|
// 解析app.yml中的Other项
|
|
O Other
|
|
// app.conf配置项key定义
|
|
ignoreURLs string = "IgnoreURLs"
|
|
jwtTimeout string = "JWTTimeout"
|
|
logLevel string = "LogLevel"
|
|
secret string = "Secret"
|
|
)
|
|
|
|
func AppOtherParse() {
|
|
appData := AppConfig
|
|
c := iris.DefaultConfiguration()
|
|
c.DisableBodyConsumptionOnUnmarshal = appData.DisableBodyConsumptionOnUnmarshal
|
|
c.DisablePathCorrection = appData.DisablePathCorrection
|
|
c.EnablePathEscape = appData.EnablePathEscape
|
|
c.FireMethodNotAllowed = appData.FireMethodNotAllowed
|
|
c.TimeFormat = appData.TimeFormat
|
|
c.Charset = appData.Charset
|
|
other := make(map[string]interface{},0)
|
|
other["IgnoreURLs"] = appData.Other.IgnoreURLs;
|
|
other["JWTTimeout"] = appData.Other.JWTTimeout;
|
|
other["LogLevel"] = appData.Other.LogLevel;
|
|
other["Secret"] = appData.Other.Secret;
|
|
c.Other = other
|
|
C = c
|
|
|
|
// 解析other的key
|
|
iURLs := c.GetOther()[ignoreURLs].([]string)
|
|
fmt.Println(iURLs)
|
|
for _, v := range iURLs {
|
|
O.IgnoreURLs = append(O.IgnoreURLs, v)
|
|
}
|
|
|
|
jTimeout := c.GetOther()[jwtTimeout].(int64)
|
|
O.JWTTimeout = int64(jTimeout)
|
|
//golog.Info(reflect.TypeOf(O.JWTTimeout))
|
|
|
|
O.LogLevel = c.GetOther()[logLevel].(string)
|
|
|
|
O.Secret = c.GetOther()[secret].(string)
|
|
|
|
}
|