|
@@ -34,27 +34,27 @@ type Wehchatmenu struct {
|
34
|
34
|
WechatJson string
|
35
|
35
|
}
|
36
|
36
|
type WechatMenuDetailSub struct {
|
37
|
|
- Name string
|
38
|
|
- Type string
|
|
37
|
+ Name string `json:"name"`
|
|
38
|
+ Type string `json:"type"`
|
39
|
39
|
Value string `json:"value,omitempty"`
|
40
|
40
|
Url string `json:"url,omitempty"`
|
41
|
41
|
Media_Id string `json:"media_id,omitempty"`
|
42
|
42
|
Key string `json:"key,omitempty"`
|
43
|
43
|
}
|
44
|
44
|
type WechatMenuDetail struct {
|
45
|
|
- Name string
|
46
|
|
- Type string
|
47
|
|
- Value string `json:"value,omitempty"`
|
48
|
|
- Url string `json:"url,omitempty"`
|
49
|
|
- Media_Id string `json:"media_id,omitempty"`
|
50
|
|
- Key string `json:"key,omitempty"`
|
51
|
|
- Sub_Button []WechatMenuDetailSub
|
|
45
|
+ Name string `json:"name"`
|
|
46
|
+ Type string `json:"type"`
|
|
47
|
+ Value string `json:"value,omitempty"`
|
|
48
|
+ Url string `json:"url,omitempty"`
|
|
49
|
+ Media_Id string `json:"media_id,omitempty"`
|
|
50
|
+ Key string `json:"key,omitempty"`
|
|
51
|
+ Sub_Button []WechatMenuDetailSub `json:"sub_button"`
|
52
|
52
|
}
|
53
|
53
|
type WechatMenu struct {
|
54
|
|
- Button []WechatMenuDetail
|
|
54
|
+ Button []WechatMenuDetail `json:"button"`
|
55
|
55
|
}
|
56
|
|
-type Wechat struct {
|
57
|
|
- Menu WechatMenu
|
|
56
|
+type WechatMenus struct {
|
|
57
|
+ Menu WechatMenu `json:"menu"`
|
58
|
58
|
}
|
59
|
59
|
|
60
|
60
|
func (c *MenuController) GetMenuList() {
|
|
@@ -68,33 +68,38 @@ func (c *MenuController) GetMenuList() {
|
68
|
68
|
c.ResponseError(err)
|
69
|
69
|
}
|
70
|
70
|
menu, err := client.GetMenu()
|
71
|
|
-
|
72
|
|
- wechatmenu := menu["button"].([]WechatMenuDetail)
|
73
|
|
- beego.Error("___________wechatmenulist____________")
|
74
|
|
- beego.Error(wechatmenu)
|
75
|
|
- beego.Error("_________________________________")
|
|
71
|
+ beego.Error(menu)
|
76
|
72
|
var keyList []*model.TaWechatKeyValue
|
77
|
|
- for i := 0; i < len(wechatmenu); i++ {
|
78
|
|
- if wechatmenu[i].Type == "click" {
|
79
|
|
- key, err := c.kdao.GetValueByKey(wechatmenu[i].Key)
|
80
|
|
- if err != nil {
|
81
|
|
- c.ResponseError(err)
|
|
73
|
+ if menu != nil {
|
|
74
|
+ menus := menu["menu"].(map[string]interface{})
|
|
75
|
+ wechatmenu := menus["button"].([]interface{})
|
|
76
|
+ for i := 0; i < len(wechatmenu); i++ {
|
|
77
|
+ m := wechatmenu[i].(map[string]interface{})
|
|
78
|
+ if m["type"] != nil {
|
|
79
|
+ if m["type"].(string) == "click" {
|
|
80
|
+ key, err := c.kdao.GetValueByKey(m["key"].(string))
|
|
81
|
+ if err != nil {
|
|
82
|
+ c.ResponseError(err)
|
|
83
|
+ }
|
|
84
|
+ keyList = append(keyList, key)
|
|
85
|
+ }
|
82
|
86
|
}
|
83
|
|
- keyList = append(keyList, key)
|
84
|
|
- }
|
85
|
|
- for j := 0; j < len(wechatmenu[i].Sub_Button); j++ {
|
86
|
|
- if wechatmenu[i].Sub_Button[j].Type == "click" {
|
87
|
|
- key, err := c.kdao.GetValueByKey(wechatmenu[i].Key)
|
88
|
|
- if err != nil {
|
89
|
|
- c.ResponseError(err)
|
|
87
|
+ if m["sub_button"] != nil {
|
|
88
|
+ subbuttons := m["sub_button"].([]interface{})
|
|
89
|
+ for j := 0; j < len(subbuttons); j++ {
|
|
90
|
+ subb := subbuttons[j].(map[string]interface{})
|
|
91
|
+ if subb["type"].(string) == "click" {
|
|
92
|
+ key, err := c.kdao.GetValueByKey(subb["key"].(string))
|
|
93
|
+ if err != nil {
|
|
94
|
+ c.ResponseError(err)
|
|
95
|
+ }
|
|
96
|
+ keyList = append(keyList, key)
|
|
97
|
+ }
|
90
|
98
|
}
|
91
|
|
- keyList = append(keyList, key)
|
92
|
99
|
}
|
93
|
100
|
}
|
94
|
101
|
}
|
95
|
|
- beego.Error("___________keylist____________")
|
96
|
|
- beego.Error(keyList)
|
97
|
|
- beego.Error("_________________________________")
|
|
102
|
+
|
98
|
103
|
if err != nil {
|
99
|
104
|
var code string = err.Error()
|
100
|
105
|
if strings.Contains(code, "46003") {
|
|
@@ -116,19 +121,14 @@ func (c *MenuController) RefreshMenu() {
|
116
|
121
|
c.ResponseError(err)
|
117
|
122
|
}
|
118
|
123
|
str := wechatJson.WechatJson
|
119
|
|
- beego.Error("____________str___________")
|
120
|
|
- beego.Error(str)
|
121
|
|
- beego.Error("__________________________")
|
122
|
|
- var menu Wechat
|
|
124
|
+ var menu WechatMenus
|
123
|
125
|
err := json.Unmarshal([]byte(str), &menu)
|
124
|
126
|
//var data []byte = []byte(str)
|
125
|
127
|
if err != nil {
|
126
|
128
|
c.ResponseError(err)
|
127
|
129
|
}
|
128
|
130
|
wechatmenu := menu.Menu.Button
|
129
|
|
- beego.Error("___________wechatmenu____________")
|
130
|
131
|
beego.Error(wechatmenu)
|
131
|
|
- beego.Error("_________________________________")
|
132
|
132
|
for i := 0; i < len(wechatmenu); i++ {
|
133
|
133
|
if wechatmenu[i].Type == "text" {
|
134
|
134
|
wechatmenu[i].Type = "click"
|
|
@@ -159,14 +159,14 @@ func (c *MenuController) RefreshMenu() {
|
159
|
159
|
}
|
160
|
160
|
}
|
161
|
161
|
}
|
162
|
|
- beego.Error("___________wechatmenuData____________")
|
163
|
162
|
beego.Error(wechatmenu)
|
164
|
|
- beego.Error("_________________________________")
|
165
|
|
- menuData, err := json.Marshal(wechatmenu)
|
|
163
|
+ var upwechat WechatMenu
|
|
164
|
+ upwechat.Button = wechatmenu
|
|
165
|
+ menuData, err := json.Marshal(upwechat)
|
166
|
166
|
if err != nil {
|
167
|
167
|
c.ResponseError(err)
|
168
|
168
|
}
|
169
|
|
-
|
|
169
|
+ beego.Error(string(menuData))
|
170
|
170
|
err = c.dao.UpdateWechatMenu(string(menuData), user.OrgId)
|
171
|
171
|
if err != nil {
|
172
|
172
|
c.ResponseError(err)
|
|
@@ -183,4 +183,5 @@ func (c *MenuController) RefreshMenu() {
|
183
|
183
|
if err != nil {
|
184
|
184
|
c.ResponseError(err)
|
185
|
185
|
}
|
|
186
|
+ c.ResponseJSON("操作成功!")
|
186
|
187
|
}
|