修改打印模板
This commit is contained in:
@@ -1,145 +0,0 @@
|
||||
package controllers
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"git.rosy.net.cn/jx-print/globals"
|
||||
"git.rosy.net.cn/jx-print/model"
|
||||
"git.rosy.net.cn/jx-print/putils"
|
||||
"git.rosy.net.cn/jx-print/services/print_server"
|
||||
"github.com/dchest/captcha"
|
||||
"github.com/gin-gonic/gin"
|
||||
"net/http"
|
||||
"strings"
|
||||
)
|
||||
|
||||
type CallBack struct {
|
||||
Data string `json:"data"`
|
||||
Code string `json:"code"`
|
||||
Desc string `json:"desc"`
|
||||
}
|
||||
|
||||
func init() {
|
||||
globals.SugarLogger.Debugf("test init ...")
|
||||
}
|
||||
|
||||
func checkToken(c *gin.Context) (tokenInfo *model.TokenInfo) {
|
||||
var (
|
||||
cookie *http.Cookie
|
||||
err error
|
||||
tokenMap map[string]interface{}
|
||||
user *model.User
|
||||
)
|
||||
tokenInfo = &model.TokenInfo{}
|
||||
//验证token
|
||||
//v2下的接口需要验证,v1不需要
|
||||
if !strings.Contains(c.Request.URL.String(), "v1") {
|
||||
if cookie, err = c.Request.Cookie("token"); err != nil {
|
||||
c.JSON(http.StatusOK, &CallBack{
|
||||
Desc: err.Error(),
|
||||
Code: model.ErrCodeNormal,
|
||||
})
|
||||
return nil
|
||||
} else {
|
||||
tokenInfo.Token = cookie.Value
|
||||
}
|
||||
globals.SugarLogger.Debugf("checkToken token: %v", tokenInfo.Token)
|
||||
if tokenMap = putils.GetKey(tokenInfo.Token).(map[string]interface{}); tokenMap == nil {
|
||||
err = fmt.Errorf("token过期或无效,请重新登录!")
|
||||
c.JSON(http.StatusOK, &CallBack{
|
||||
Desc: err.Error(),
|
||||
Code: model.ErrCodeToken,
|
||||
})
|
||||
return nil
|
||||
}
|
||||
data, _ := json.Marshal(tokenMap)
|
||||
if err = json.Unmarshal(data, &user); err == nil && user != nil {
|
||||
tokenInfo.User = user
|
||||
} else {
|
||||
err = fmt.Errorf("token错误,请重新登录!")
|
||||
c.JSON(http.StatusOK, &CallBack{
|
||||
Desc: err.Error(),
|
||||
Code: model.ErrCodeToken,
|
||||
})
|
||||
return nil
|
||||
}
|
||||
globals.SugarLogger.Debugf("checkToken user: %v", putils.Format4Output(user, true))
|
||||
}
|
||||
return tokenInfo
|
||||
}
|
||||
|
||||
func callFunc(c *gin.Context, worker func() (retVal interface{}, errCode string, err error)) bool {
|
||||
var (
|
||||
err error
|
||||
callBack = &CallBack{
|
||||
Code: model.ErrCodeNormal,
|
||||
}
|
||||
result interface{}
|
||||
)
|
||||
if result, _, err = worker(); err == nil {
|
||||
if result != nil {
|
||||
if data, err := json.Marshal(&result); err == nil {
|
||||
callBack.Code = model.ErrCodeSuccess
|
||||
callBack.Data = string(data)
|
||||
c.JSON(http.StatusOK, callBack)
|
||||
globals.SugarLogger.Debugf("End API :%s success", c.Request.URL)
|
||||
return true
|
||||
} else {
|
||||
err = fmt.Errorf("data error!")
|
||||
callBack.Desc = err.Error()
|
||||
c.JSON(http.StatusOK, callBack)
|
||||
return false
|
||||
}
|
||||
} else {
|
||||
callBack.Code = model.ErrCodeSuccess
|
||||
c.JSON(http.StatusOK, callBack)
|
||||
globals.SugarLogger.Debugf("End API :%s success", c.Request.URL)
|
||||
return true
|
||||
}
|
||||
} else {
|
||||
callBack.Desc = err.Error()
|
||||
c.JSON(http.StatusOK, callBack)
|
||||
globals.SugarLogger.Debugf("End API :%s error:%v", c.Request.URL, err)
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
func captchaVerify(c *gin.Context, code string) bool {
|
||||
verifyCode := putils.GetKey(c.ClientIP() + model.SessionKey)
|
||||
if verifyCode == nil {
|
||||
return true
|
||||
}
|
||||
if captchaId := verifyCode.(string); captchaId != "" {
|
||||
putils.DelKey(c.ClientIP() + model.SessionKey)
|
||||
return captcha.VerifyString(captchaId, code)
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
func buildErrJson(c *gin.Context, err error) {
|
||||
c.JSON(http.StatusOK, &CallBack{
|
||||
Code: model.ErrCodeNormal,
|
||||
Desc: err.Error(),
|
||||
})
|
||||
globals.SugarLogger.Debugf("End API :%s error:%v:", c.Request.URL, err)
|
||||
}
|
||||
|
||||
func GetConfig(c *gin.Context) {
|
||||
var (
|
||||
err error
|
||||
param = &struct {
|
||||
Type string `json:"type" form:"type" binding:"required"`
|
||||
Key string `json:"key" form:"key" binding:"required"`
|
||||
}{}
|
||||
)
|
||||
if err = c.ShouldBind(¶m); err != nil {
|
||||
buildErrJson(c, err)
|
||||
return
|
||||
}
|
||||
if !callFunc(c, func() (retVal interface{}, errCode string, err error) {
|
||||
retVal, err = print_server.GetConfig(c, param.Type, param.Key)
|
||||
return retVal, "", err
|
||||
}) {
|
||||
return
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user