Files
jx-callback/globals/globals.go
2019-11-21 09:20:56 +08:00

112 lines
3.3 KiB
Go

package globals
import (
"git.rosy.net.cn/baseapi"
"github.com/astaxie/beego"
"github.com/astaxie/beego/logs"
_ "github.com/go-sql-driver/mysql" // import your used driver
"go.uber.org/zap"
)
const (
ErrStrAccessDB = "Error when access DB"
DebugStoreID = 100119
DebugJdStoreID = "11738122"
)
var (
ReallyCallPlatformAPI bool
ReallySendWeixinMsg bool
SugarLogger *zap.SugaredLogger
AliKey string
AliSecret string
EnableStoreWrite bool
EnableJdStoreWrite bool
EnableEbaiStoreWrite bool
EnableElmStoreWrite bool
EnableMtwmStoreWrite bool
EnableWscStoreWrite bool
EnablePendingChange bool
QiniuBucket string
WeimobCallbackURL string
WeimobStateSecret string
BackstageHost string
WxBackstageHost string
GetWeixinTokenURL string
GetWeixinTokenKey string
GetYLYTokenURL string
GetWeimobTokenURL string
StoreName string
EnableWXAuth2 bool
DisableWXAuth1 bool
WxpayNotifyURL string
)
func init() {
logs.SetLogFuncCallDepth(3)
beego.BConfig.Log.AccessLogs = true
logger, _ := zap.NewDevelopment()
SugarLogger = logger.Sugar()
baseapi.Init(SugarLogger)
Init() // 这里必须要自动调用,不然直接引用全局变量的模块得不到正确的配置值
}
func Init() {
SugarLogger.Infof("globals RunMode=%s", beego.BConfig.RunMode)
ReallyCallPlatformAPI = (beego.BConfig.RunMode != "dev" && beego.BConfig.RunMode != "test")
ReallySendWeixinMsg = ReallyCallPlatformAPI && IsProductEnv()
AliKey = beego.AppConfig.DefaultString("aliKey", "")
AliSecret = beego.AppConfig.DefaultString("aliSecret", "")
EnableStoreWrite = beego.AppConfig.DefaultBool("enableStoreWrite", false)
EnableJdStoreWrite = EnableStoreWrite && beego.AppConfig.DefaultBool("enableJdStoreWrite", false)
EnableEbaiStoreWrite = EnableStoreWrite && beego.AppConfig.DefaultBool("enableEbaiStoreWrite", false)
EnableElmStoreWrite = EnableStoreWrite && beego.AppConfig.DefaultBool("enableElmStoreWrite", false)
EnableMtwmStoreWrite = EnableStoreWrite && beego.AppConfig.DefaultBool("enableMtwmStoreWrite", false)
EnableWscStoreWrite = EnableStoreWrite && beego.AppConfig.DefaultBool("enableWscStoreWrite", false)
// EnablePendingChange = beego.AppConfig.DefaultBool("enablePendingChange", false)
QiniuBucket = beego.AppConfig.String("qiniuBucket")
WeimobCallbackURL = beego.AppConfig.DefaultString("weimobCallbackURL", "")
WeimobStateSecret = beego.AppConfig.DefaultString("weimobStateSecret", "")
BackstageHost = beego.AppConfig.DefaultString("backstageHost", "")
WxBackstageHost = beego.AppConfig.DefaultString("wxBackstageHost", "")
GetWeixinTokenURL = beego.AppConfig.DefaultString("getWeixinTokenURL", "")
GetYLYTokenURL = beego.AppConfig.DefaultString("getYLYTokenURL", "")
GetWeimobTokenURL = beego.AppConfig.DefaultString("getWeimobTokenURL", "")
GetWeixinTokenKey = beego.AppConfig.DefaultString("getWeixinTokenKey", "")
StoreName = beego.AppConfig.DefaultString("storeName", "京西菜市")
EnableWXAuth2 = true // beego.BConfig.RunMode == "beta"
DisableWXAuth1 = true
WxpayNotifyURL = beego.AppConfig.DefaultString("wxpayNotifyURL", "")
}
func IsCallbackAlwaysReturnSuccess() bool {
return beego.BConfig.RunMode == "beta"
}
func IsMainProductEnv() bool {
return beego.BConfig.RunMode == "prod"
}
func IsProductEnv() bool {
return IsMainProductEnv() || beego.BConfig.RunMode == "jxgy"
}