getwx2token一套测试
This commit is contained in:
@@ -14,6 +14,8 @@ const (
|
|||||||
EventCategory = "sys"
|
EventCategory = "sys"
|
||||||
|
|
||||||
EventTypeWXToken = "wxToken"
|
EventTypeWXToken = "wxToken"
|
||||||
|
EventTypeWX2Token = "wx2Token"
|
||||||
|
|
||||||
EventTypeYLYToken = "ylyToken"
|
EventTypeYLYToken = "ylyToken"
|
||||||
EventTypeWeimobToken = "weimobToken"
|
EventTypeWeimobToken = "weimobToken"
|
||||||
)
|
)
|
||||||
@@ -57,6 +59,13 @@ func (h *Hub) OnNewWXToken(token string) {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (h *Hub) OnNewWX2Token(token string) {
|
||||||
|
h.eventHub.PostNewEvent(EventCategory, &eventhub.EventInfo{
|
||||||
|
Type: EventTypeWX2Token,
|
||||||
|
Data: token,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
func (h *Hub) OnNewYLYToken(token string) {
|
func (h *Hub) OnNewYLYToken(token string) {
|
||||||
h.eventHub.PostNewEvent(EventCategory, &eventhub.EventInfo{
|
h.eventHub.PostNewEvent(EventCategory, &eventhub.EventInfo{
|
||||||
Type: EventTypeYLYToken,
|
Type: EventTypeYLYToken,
|
||||||
@@ -82,7 +91,10 @@ func (h *Hub) GetToken(tokenType, oldToken string, waitTime time.Duration) (toke
|
|||||||
if weimobToken := api.WeimobAPI.GetToken(); weimobToken != nil {
|
if weimobToken := api.WeimobAPI.GetToken(); weimobToken != nil {
|
||||||
token = string(utils.MustMarshal(weimobToken))
|
token = string(utils.MustMarshal(weimobToken))
|
||||||
}
|
}
|
||||||
|
case EventTypeWX2Token:
|
||||||
|
token = api.WeixinMiniAPI2.CBGetToken()
|
||||||
}
|
}
|
||||||
|
|
||||||
if token != oldToken {
|
if token != oldToken {
|
||||||
tokenInfo = &TokenInfo{
|
tokenInfo = &TokenInfo{
|
||||||
IsNew: false,
|
IsNew: false,
|
||||||
@@ -105,6 +117,10 @@ func (h *Hub) GetWXToken(oldToken string, waitTime time.Duration) (tokenInfo *To
|
|||||||
return h.GetToken(EventTypeWXToken, oldToken, waitTime)
|
return h.GetToken(EventTypeWXToken, oldToken, waitTime)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (h *Hub) GetWX2Token(oldToken string, waitTime time.Duration) (tokenInfo *TokenInfo) {
|
||||||
|
return h.GetToken(EventTypeWX2Token, oldToken, waitTime)
|
||||||
|
}
|
||||||
|
|
||||||
func (h *Hub) GetYLYToken(oldToken string, waitTime time.Duration) (tokenInfo *TokenInfo) {
|
func (h *Hub) GetYLYToken(oldToken string, waitTime time.Duration) (tokenInfo *TokenInfo) {
|
||||||
return h.GetToken(EventTypeYLYToken, oldToken, waitTime)
|
return h.GetToken(EventTypeYLYToken, oldToken, waitTime)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -138,6 +138,33 @@ func RefreshWeixinToken() (err error) {
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func RefreshWeixin2Token() (err error) {
|
||||||
|
if api.WeixinMiniAPI2 != nil {
|
||||||
|
err = RefreshConfig("wechat2", weixinTokenExpires, func() (token string, expireTimeStr string) {
|
||||||
|
globals.SugarLogger.Debugf("RefreshWeixin2Token RunMode:%s", beego.BConfig.RunMode)
|
||||||
|
if globals.IsMainProductEnv() {
|
||||||
|
if tokenInfo, err := api.WeixinMiniAPI2.CBRetrieveToken(); err == nil {
|
||||||
|
globals.SugarLogger.Debugf("RefreshWeixin2Token tokenInfo:%s", utils.Format4Output(tokenInfo, true))
|
||||||
|
token = tokenInfo.AccessToken
|
||||||
|
} else {
|
||||||
|
globals.SugarLogger.Errorf("RefreshWeixin2Token RefreshToken failed with error:%v", err)
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if tokenInfo := getWX2TokenFromRemote(api.WeixinMiniAPI2.CBGetToken()); tokenInfo != nil {
|
||||||
|
expireTimeStr = utils.Time2Str(time.Now().Add(-weixinTokenExpires))
|
||||||
|
token = tokenInfo.Token
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return token, expireTimeStr
|
||||||
|
}, func(value string) {
|
||||||
|
globals.SugarLogger.Debugf("RefreshWeixinToken setter value:%s", value)
|
||||||
|
syseventhub.SysEventHub.OnNewWX2Token(value)
|
||||||
|
api.WeixinMiniAPI2.CBSetToken(value)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
func RefreshWeimobToken() (err error) {
|
func RefreshWeimobToken() (err error) {
|
||||||
if api.WeimobAPI != nil {
|
if api.WeimobAPI != nil {
|
||||||
err = RefreshConfig("weimob", weimobTokenExpires, func() (token string, expireTimeStr string) {
|
err = RefreshConfig("weimob", weimobTokenExpires, func() (token string, expireTimeStr string) {
|
||||||
@@ -279,6 +306,15 @@ func getWXTokenFromRemote(oldToken string) (tokenInfo *syseventhub.TokenInfo) {
|
|||||||
return tokenInfo
|
return tokenInfo
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func getWX2TokenFromRemote(oldToken string) (tokenInfo *syseventhub.TokenInfo) {
|
||||||
|
if !globals.IsMainProductEnv() && globals.GetWeixinTokenKey != "" && globals.GetWeixin2TokenURL != "" {
|
||||||
|
tokenInfo = PollingRemotEvent(globals.GetWeixin2TokenURL, 0, map[string]interface{}{
|
||||||
|
"oldToken": oldToken,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
return tokenInfo
|
||||||
|
}
|
||||||
|
|
||||||
func getYLYTokenFromRemote(oldToken string) (tokenInfo *syseventhub.TokenInfo) {
|
func getYLYTokenFromRemote(oldToken string) (tokenInfo *syseventhub.TokenInfo) {
|
||||||
if !globals.IsMainProductEnv() && globals.GetWeixinTokenKey != "" && globals.GetYLYTokenURL != "" {
|
if !globals.IsMainProductEnv() && globals.GetWeixinTokenKey != "" && globals.GetYLYTokenURL != "" {
|
||||||
tokenInfo = PollingRemotEvent(globals.GetYLYTokenURL, 0, map[string]interface{}{
|
tokenInfo = PollingRemotEvent(globals.GetYLYTokenURL, 0, map[string]interface{}{
|
||||||
|
|||||||
@@ -316,6 +316,9 @@ dadaSourceID = "73753"
|
|||||||
weixinAppID = "wx2bb99eb5d2c9b82c"
|
weixinAppID = "wx2bb99eb5d2c9b82c"
|
||||||
weixinSecret = "6bbbed1443cc062c20a015a64c07a531"
|
weixinSecret = "6bbbed1443cc062c20a015a64c07a531"
|
||||||
getWeixinTokenURL = "http://www.jxc4.com/v2/sys/GetWXToken"
|
getWeixinTokenURL = "http://www.jxc4.com/v2/sys/GetWXToken"
|
||||||
|
getWeixin2TokenURL = "http://www.jxc4.com/v2/sys/GetWX2Token"
|
||||||
|
weixinMiniAppID2 = "wx4b5930c13f8b1170"
|
||||||
|
weixinMiniSecret2 = "2a57228a716ce991a52739f0ff41111d"
|
||||||
|
|
||||||
mtwmCallbackURL = "http://callback.alpha.jxc4.com"
|
mtwmCallbackURL = "http://callback.alpha.jxc4.com"
|
||||||
|
|
||||||
@@ -367,6 +370,7 @@ weixinMiniSecret2 = "2a57228a716ce991a52739f0ff41111d"
|
|||||||
|
|
||||||
disableWeimob = false
|
disableWeimob = false
|
||||||
getWeixinTokenURL = "http://www.jxc4.com/v2/sys/GetWXToken"
|
getWeixinTokenURL = "http://www.jxc4.com/v2/sys/GetWXToken"
|
||||||
|
getWeixin2TokenURL = "http://www.jxc4.com/v2/sys/GetWX2Token"
|
||||||
getWeimobTokenURL = "http://www.jxc4.com/v2/sys/GetWeimobToken"
|
getWeimobTokenURL = "http://www.jxc4.com/v2/sys/GetWeimobToken"
|
||||||
|
|
||||||
dbConnectStr = "root:WebServer@1@tcp(127.0.0.1:3306)/jxd_dev_0?charset=utf8mb4&loc=Local&parseTime=true"
|
dbConnectStr = "root:WebServer@1@tcp(127.0.0.1:3306)/jxd_dev_0?charset=utf8mb4&loc=Local&parseTime=true"
|
||||||
|
|||||||
@@ -72,7 +72,7 @@ func (c *EventController) GetCheckVendorCookie() {
|
|||||||
func (c *EventController) GetWeixinUnlimited() {
|
func (c *EventController) GetWeixinUnlimited() {
|
||||||
c.callGetWeixinUnlimited(func(params *tEventGetWeixinUnlimitedParams) (retVal interface{}, errCode string, err error) {
|
c.callGetWeixinUnlimited(func(params *tEventGetWeixinUnlimitedParams) (retVal interface{}, errCode string, err error) {
|
||||||
// api.WeixinMiniAPI2.CBRetrieveToken()
|
// api.WeixinMiniAPI2.CBRetrieveToken()
|
||||||
result, err := api.WeixinAPI.GetUnlimited(params.Scene, params.Page)
|
result, err := api.WeixinMiniAPI2.GetUnlimited(params.Scene, params.Page)
|
||||||
fileName := "wxcode" + utils.Int64ToStr(time.Now().Unix()) + ".jpg"
|
fileName := "wxcode" + utils.Int64ToStr(time.Now().Unix()) + ".jpg"
|
||||||
retVal, err = jxutils.UploadExportContent([]byte(result["fakeData"].(string)), fileName)
|
retVal, err = jxutils.UploadExportContent([]byte(result["fakeData"].(string)), fileName)
|
||||||
// tasks.RefreshWeixinToken()
|
// tasks.RefreshWeixinToken()
|
||||||
|
|||||||
@@ -37,6 +37,23 @@ func (c *SysController) GetWXToken() {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// @Title 得到微信小程序2token
|
||||||
|
// @Description 得到微信小程序2token
|
||||||
|
// @Param accessKey query string true "假token"
|
||||||
|
// @Param oldToken query string false "之前的token"
|
||||||
|
// @Param waitSecond query int false "等待秒数"
|
||||||
|
// @Success 200 {object} controllers.CallResult
|
||||||
|
// @Failure 200 {object} controllers.CallResult
|
||||||
|
// @router /GetWX2Token [get]
|
||||||
|
func (c *SysController) GetWX2Token() {
|
||||||
|
c.callGetWX2Token(func(params *tSysGetWX2TokenParams) (retVal interface{}, errCode string, err error) {
|
||||||
|
if params.AccessKey == globals.GetWeixinTokenKey {
|
||||||
|
retVal = syseventhub.SysEventHub.GetWX2Token(params.OldToken, time.Duration(params.WaitSecond)*time.Second)
|
||||||
|
}
|
||||||
|
return retVal, "", err
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
// @Title 得到易联云token
|
// @Title 得到易联云token
|
||||||
// @Description 得到易联云token
|
// @Description 得到易联云token
|
||||||
// @Param accessKey query string true "假token"
|
// @Param accessKey query string true "假token"
|
||||||
|
|||||||
@@ -33,6 +33,7 @@ var (
|
|||||||
WxBackstageHost string
|
WxBackstageHost string
|
||||||
|
|
||||||
GetWeixinTokenURL string
|
GetWeixinTokenURL string
|
||||||
|
GetWeixin2TokenURL string
|
||||||
GetWeixinTokenKey string
|
GetWeixinTokenKey string
|
||||||
GetYLYTokenURL string
|
GetYLYTokenURL string
|
||||||
GetWeimobTokenURL string
|
GetWeimobTokenURL string
|
||||||
@@ -99,6 +100,7 @@ func Init() {
|
|||||||
WxBackstageHost = beego.AppConfig.DefaultString("wxBackstageHost", "")
|
WxBackstageHost = beego.AppConfig.DefaultString("wxBackstageHost", "")
|
||||||
|
|
||||||
GetWeixinTokenURL = beego.AppConfig.DefaultString("getWeixinTokenURL", "")
|
GetWeixinTokenURL = beego.AppConfig.DefaultString("getWeixinTokenURL", "")
|
||||||
|
GetWeixin2TokenURL = beego.AppConfig.DefaultString("getWeixin2TokenURL", "")
|
||||||
GetYLYTokenURL = beego.AppConfig.DefaultString("getYLYTokenURL", "")
|
GetYLYTokenURL = beego.AppConfig.DefaultString("getYLYTokenURL", "")
|
||||||
GetWeimobTokenURL = beego.AppConfig.DefaultString("getWeimobTokenURL", "")
|
GetWeimobTokenURL = beego.AppConfig.DefaultString("getWeimobTokenURL", "")
|
||||||
GetWeixinTokenKey = beego.AppConfig.DefaultString("getWeixinTokenKey", "")
|
GetWeixinTokenKey = beego.AppConfig.DefaultString("getWeixinTokenKey", "")
|
||||||
|
|||||||
4
main.go
4
main.go
@@ -126,6 +126,10 @@ func main() {
|
|||||||
globals.SugarLogger.Errorf("RefreshWeixinToken failed with error:%s", err)
|
globals.SugarLogger.Errorf("RefreshWeixinToken failed with error:%s", err)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
if err := tasks.RefreshWeixin2Token(); err != nil {
|
||||||
|
globals.SugarLogger.Errorf("RefreshWeixin2Token failed with error:%s", err)
|
||||||
|
return
|
||||||
|
}
|
||||||
// if err := tasks.RefreshWeimobToken(); err != nil {
|
// if err := tasks.RefreshWeimobToken(); err != nil {
|
||||||
// globals.SugarLogger.Errorf("RefreshWeimobToken failed with error:%s", err)
|
// globals.SugarLogger.Errorf("RefreshWeimobToken failed with error:%s", err)
|
||||||
// return
|
// return
|
||||||
|
|||||||
@@ -2133,6 +2133,15 @@ func init() {
|
|||||||
Filters: nil,
|
Filters: nil,
|
||||||
Params: nil})
|
Params: nil})
|
||||||
|
|
||||||
|
beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:SysController"] = append(beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:SysController"],
|
||||||
|
beego.ControllerComments{
|
||||||
|
Method: "GetWX2Token",
|
||||||
|
Router: `/GetWX2Token`,
|
||||||
|
AllowHTTPMethods: []string{"get"},
|
||||||
|
MethodParams: param.Make(),
|
||||||
|
Filters: nil,
|
||||||
|
Params: nil})
|
||||||
|
|
||||||
beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:SysController"] = append(beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:SysController"],
|
beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:SysController"] = append(beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:SysController"],
|
||||||
beego.ControllerComments{
|
beego.ControllerComments{
|
||||||
Method: "GetWXToken",
|
Method: "GetWXToken",
|
||||||
|
|||||||
Reference in New Issue
Block a user