|
@@ -258,3 +258,51 @@ func (this *MobileWechatController) WechatBindMobile() {
|
|
|
br.Success = true
|
|
|
br.Msg = "绑定成功"
|
|
|
}
|
|
|
+
|
|
|
+// @Title 微信获取签名接口
|
|
|
+// @Description 微信获取签名接口
|
|
|
+// @Param Url query string true "url地址"
|
|
|
+// @Success 200 {object} models.WechatSign
|
|
|
+// @router /getWxSign [get]
|
|
|
+func (this *WechatCommonController) GetWxSign() {
|
|
|
+ br := new(models.BaseResponse).Init()
|
|
|
+ defer func() {
|
|
|
+ this.Data["json"] = br
|
|
|
+ this.ServeJSON()
|
|
|
+ }()
|
|
|
+ getUrl := this.GetString("Url")
|
|
|
+ accessToken, err := services.GetWxAccessTokenByXzs()
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取用户信息失败"
|
|
|
+ br.ErrMsg = "获取access_token失败,err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if accessToken == "" {
|
|
|
+ br.Msg = "获取用户信息失败"
|
|
|
+ br.ErrMsg = "access_token 为空,"
|
|
|
+ return
|
|
|
+ }
|
|
|
+ ticket, err := services.GetWxTicket(accessToken)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取Ticket失败,请联系客服"
|
|
|
+ br.ErrMsg = "获取Ticket失败,Err" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if ticket == "" {
|
|
|
+ br.Msg = "获取Ticket失败,请联系客服"
|
|
|
+ br.ErrMsg = "ticket为空" + ticket
|
|
|
+ return
|
|
|
+ }
|
|
|
+ nonceStr := utils.GetRandStringNoSpecialChar(16)
|
|
|
+ signature, nonceString, timestamp := services.GetWxSignature(ticket, getUrl, nonceStr)
|
|
|
+ resp := new(models.WechatSign)
|
|
|
+ resp.AppId = utils.WxPublicAppId
|
|
|
+ resp.NonceStr = nonceString
|
|
|
+ resp.Timestamp = timestamp
|
|
|
+ resp.Url = getUrl
|
|
|
+ resp.Signature = signature
|
|
|
+ br.Ret = 200
|
|
|
+ br.Success = true
|
|
|
+ br.Msg = "获取签名成功"
|
|
|
+ br.Data = resp
|
|
|
+}
|