wangfei 6 years ago
parent
commit
e4d3e274f3
4 changed files with 17 additions and 6 deletions
  1. 2
    1
      conf/wechat.conf
  2. 8
    1
      controllers/component.go
  3. 1
    0
      routers/router.go
  4. 6
    4
      utils/wechat.go

+ 2
- 1
conf/wechat.conf View File

1
 [wechat]
1
 [wechat]
2
 appid = wx9fd33312e78e8d02
2
 appid = wx9fd33312e78e8d02
3
-aeskey = 41b2994de43d4e3b9dc0f54ee8c5c1bb0050496367e
3
+aeskey = 41b2994de43d4e3b9dc0f54ee8c5c1bb0050496367e
4
+secret = 69ee34668cd2635138b831f9ecb1fb4f

+ 8
- 1
controllers/component.go View File

11
 	"wechat-conf/service/wechat"
11
 	"wechat-conf/service/wechat"
12
 	"wechat-conf/utils"
12
 	"wechat-conf/utils"
13
 
13
 
14
+	"github.com/astaxie/beego/config"
14
 	"github.com/kinisky564477/wechat/component"
15
 	"github.com/kinisky564477/wechat/component"
15
 
16
 
16
 	"github.com/zjxpcyc/wechat/core"
17
 	"github.com/zjxpcyc/wechat/core"
43
 	r := c.Ctx.Request
44
 	r := c.Ctx.Request
44
 	defer r.Body.Close()
45
 	defer r.Body.Close()
45
 	con, _ := ioutil.ReadAll(r.Body)
46
 	con, _ := ioutil.ReadAll(r.Body)
47
+	conf, err := config.NewConfig("ini", utils.GetAppRoot()+"/conf/wechat.conf")
48
+	if err != nil {
49
+		utils.LogError("读取微信配置文件失败")
50
+	}
46
 
51
 
47
-	EncodingAESKey := "key"
52
+	EncodingAESKey := conf.String("wechat::aeskey")
48
 
53
 
49
 	AESKey, err := base64.StdEncoding.DecodeString(EncodingAESKey + "=")
54
 	AESKey, err := base64.StdEncoding.DecodeString(EncodingAESKey + "=")
50
 	if err != nil {
55
 	if err != nil {
68
 		utils.LogError("msgxml解析失败:", err)
73
 		utils.LogError("msgxml解析失败:", err)
69
 		c.ResponseRaw([]byte(""))
74
 		c.ResponseRaw([]byte(""))
70
 	}
75
 	}
76
+	utils.LogError("接收微信推送消息:", msg)
71
 	switch msg["InfoType"] {
77
 	switch msg["InfoType"] {
72
 	case INFOTYPE_TICKET:
78
 	case INFOTYPE_TICKET:
73
 		// 更新ticket
79
 		// 更新ticket
177
 
183
 
178
 // GetPreAuthCode 获取预授权码
184
 // GetPreAuthCode 获取预授权码
179
 func (c *WechatController) GetPreAuthCode() {
185
 func (c *WechatController) GetPreAuthCode() {
186
+	utils.LogError(utils.Component.GetToken())
180
 	code, err := utils.Component.GetPreAuthCode()
187
 	code, err := utils.Component.GetPreAuthCode()
181
 	if err != nil {
188
 	if err != nil {
182
 		utils.LogError("获取预授权码错误: " + err.Error())
189
 		utils.LogError("获取预授权码错误: " + err.Error())

+ 1
- 0
routers/router.go View File

49
 		beego.NSRouter("/ticket", &controllers.WechatController{}, "get:ComponentPush"),
49
 		beego.NSRouter("/ticket", &controllers.WechatController{}, "get:ComponentPush"),
50
 		beego.NSRouter("/:appid/callback", &controllers.WechatController{}, "get:WxReceive"),
50
 		beego.NSRouter("/:appid/callback", &controllers.WechatController{}, "get:WxReceive"),
51
 		beego.NSRouter("/:appid/callback", &controllers.WechatController{}, "post:WxReceive"),
51
 		beego.NSRouter("/:appid/callback", &controllers.WechatController{}, "post:WxReceive"),
52
+		beego.NSRouter("/authcode", &controllers.WechatController{}, "get:GetPreAuthCode"),
52
 	)
53
 	)
53
 
54
 
54
 	beego.AddNamespace(ns)
55
 	beego.AddNamespace(ns)

+ 6
- 4
utils/wechat.go View File

2
 
2
 
3
 import (
3
 import (
4
 	"github.com/astaxie/beego/config"
4
 	"github.com/astaxie/beego/config"
5
-	"github.com/astaxie/beego/logs"
6
 	"github.com/kinisky564477/wechat/component"
5
 	"github.com/kinisky564477/wechat/component"
7
 )
6
 )
8
 
7
 
16
 	// 读取配置文件
15
 	// 读取配置文件
17
 	conf, err := config.NewConfig("ini", GetAppRoot()+"/conf/wechat.conf")
16
 	conf, err := config.NewConfig("ini", GetAppRoot()+"/conf/wechat.conf")
18
 	if err != nil {
17
 	if err != nil {
19
-		logs.Error("读取微信配置文件失败")
18
+		LogError("读取微信配置文件失败")
20
 	}
19
 	}
21
 	var cert = map[string]string{
20
 	var cert = map[string]string{
22
-		"component_appid": conf.String("wechat::appid"),
23
-		"aeskey":          conf.String("wechat::aeskey"),
21
+		"appid":  conf.String("wechat::appid"),
22
+		"aeskey": conf.String("wechat::aeskey"),
23
+		"secret": conf.String("wechat::secret"),
24
 	}
24
 	}
25
+	LogError("微信配置信息:", cert)
25
 	Component = component.NewComponentClient(cert)
26
 	Component = component.NewComponentClient(cert)
27
+	LogError(Component)
26
 }
28
 }
27
 
29
 
28
 // RefreshComponentTicket ticket
30
 // RefreshComponentTicket ticket