scrm-go

menu_controller.go 1.1KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. package mpwechat
  2. import (
  3. base_ctl "SCRM/controllers"
  4. "SCRM/enums"
  5. "SCRM/service/wechat_service"
  6. "encoding/json"
  7. "github.com/astaxie/beego"
  8. )
  9. func MpMenusCtlRegistRouters() {
  10. beego.Router("/api/mpwechat/menus", &MpMenusAPIController{}, "Get:GetMenus")
  11. }
  12. type MpMenusAPIController struct {
  13. base_ctl.BaseAuthAPIController
  14. }
  15. func (c *MpMenusAPIController) GetMenus() {
  16. adminUserInfo := c.GetAdminUserInfo()
  17. buttons, err := wechat_service.GetMenusByOrgID(adminUserInfo.CurrentOrgId)
  18. if err != nil {
  19. c.ServeFailJsonSend(enums.ErrorCodeDataException, "读取菜单配置信息失败:("+err.Error()+")")
  20. return
  21. }
  22. if buttons != nil && buttons.ButtonStatus != 1 {
  23. buttons = nil
  24. }
  25. var menus wechat_service.SelfMenuInfo
  26. if buttons != nil {
  27. err = json.Unmarshal([]byte(buttons.ButtonFileds), &menus)
  28. if err != nil {
  29. c.ServeFailJsonSend(enums.ErrorCodeDataException, "解析菜单配置信息失败:("+err.Error()+")")
  30. return
  31. }
  32. }
  33. returnData := make(map[string]interface{}, 0)
  34. returnData["buttons"] = buttons
  35. returnData["menus"] = menus
  36. c.ServeSuccessJSON(returnData)
  37. return
  38. }