123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- package controllers
-
- import (
- "h5-2019/utils"
- "reflect"
-
- "github.com/astaxie/beego"
-
- "net/http"
- )
-
- //Message api统一的返回消息格式
- type Message struct {
- Code int `json:"code"`
- Message interface{} `json:"message"`
- }
-
- //BaseController 基础controller
- type BaseController struct {
- beego.Controller
- }
-
- const (
- SESSION_USER = "h5.user"
- PAGENUM = 10
- LISTPAGENUM = 20
- )
-
- // BaseControllerInterface 项目约定的 Controller 须满足的接口
- type BaseControllerInterface interface {
- Constructor()
- }
-
- //Prepare 继承beego的
- func (c *BaseController) Prepare() {
- // 微信初始化
- utils.WechatInit()
-
- // 路由对应的实际 Controller 初始化
- c.initController()
- }
-
- // ResponseJson 自定义的JSON返回
- func (c *BaseController) ResponseJson(msg interface{}, code ...int) {
- status := http.StatusOK
- if len(code) > 0 {
- status = code[0]
- }
-
- if reflect.ValueOf(msg).Type().String() == "*errors.errorString" {
- err := msg.(error)
- c.Data["json"] = Message{status, err.Error()}
- } else {
- c.Data["json"] = Message{status, msg}
- }
-
- c.ServeJSON()
- c.StopRun()
- }
-
- // initAppController 执行当前路由请求对应的 Controller 初始化
- func (c *BaseController) initController() {
- if ctrl, ok := c.AppController.(BaseControllerInterface); ok {
- ctrl.Constructor()
- }
- }
-
- func (c *BaseController) WechatAppID() {
- c.ResponseJson(map[string]interface{}{
- "appid": beego.AppConfig.String("wechat::appid"),
- })
- }
|