瀏覽代碼

Merge branch 'cygx_need_911' of http://8.136.199.33:3000/cxzhang/hongze_clpt into debug

xingzai 1 年之前
父節點
當前提交
11756e867c
共有 3 個文件被更改,包括 58 次插入1 次删除
  1. 48 0
      controllers/wechat.go
  2. 9 0
      routers/commentsRouter.go
  3. 1 1
      services/wechat.go

+ 48 - 0
controllers/wechat.go

@@ -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
+}

+ 9 - 0
routers/commentsRouter.go

@@ -1033,6 +1033,15 @@ func init() {
             Filters: nil,
             Params: nil})
 
+    beego.GlobalControllerRouter["hongze/hongze_clpt/controllers:WechatCommonController"] = append(beego.GlobalControllerRouter["hongze/hongze_clpt/controllers:WechatCommonController"],
+        beego.ControllerComments{
+            Method: "GetWxSign",
+            Router: `/getWxSign`,
+            AllowHTTPMethods: []string{"get"},
+            MethodParams: param.Make(),
+            Filters: nil,
+            Params: nil})
+
     beego.GlobalControllerRouter["hongze/hongze_clpt/controllers:WechatCommonController"] = append(beego.GlobalControllerRouter["hongze/hongze_clpt/controllers:WechatCommonController"],
         beego.ControllerComments{
             Method: "WechatLogin",

+ 1 - 1
services/wechat.go

@@ -175,7 +175,7 @@ func GetWxTicket(accessToken string) (string, error) {
 
 // 获取测试环境的AccessToken
 func GetWxAccessToken() (accessTokenStr string, err error) {
-	o := orm.NewOrm()
+	o := orm.NewOrmUsingDB("weekly_report")
 	sql := `SELECT * FROM wx_token LIMIT 1`
 	wxToken := new(WxToken)
 	err = o.Raw(sql).QueryRow(&wxToken)