苏州瑞玛APS项目web后台
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

198 lines
6.1 KiB

package home
import (
"github.com/kataras/iris/v12"
"github.com/kataras/iris/v12/core/router"
"leit.com/LAPP_CHEERSSON_BACKEND/global"
model "leit.com/LAPP_CHEERSSON_BACKEND/models/base"
"leit.com/LAPP_CHEERSSON_BACKEND/utils"
"leit.com/LAPP_CHEERSSON_BACKEND/web/middleware/jwts"
"leit.com/LAPP_CHEERSSON_BACKEND/web/supports"
)
/******************************************************************************
*
* @Function Name : RegisterLogin
*-----------------------------------------------------------------------------
*
* @Description : 登录接口
*
* @Function Parameters : 路由分组
*
* @Function Parameters : HTTP方法
*
* @Function Parameters : 路径
*
* @Function Parameters : 实际处理请求的方法
*
* @Author : 代码生成器创建
*
* @Date : 2021-04-13 15:04:54
*
******************************************************************************/
func RegisterLogin(party router.Party, httpMethod string, path string, method func(int, string) (*model.User, error)) {
party.Handle(httpMethod, path, func(ctx iris.Context) {
var err error = nil
entity := new(model.User)
if ctx.GetContentLength() > 0 {
err := ctx.ReadJSON(entity)
if err != nil {
supports.Error(ctx, iris.StatusBadRequest, err.Error(), nil)
return
}
} else {
entity = nil
supports.Error(ctx, iris.StatusBadRequest, "参数缺少!", nil)
return
}
mUser, err := method(entity.PlantNr, entity.UserId)
if err != nil {
supports.Error(ctx, iris.StatusBadRequest, err.Error(), nil)
return
}
if mUser == nil { // 用户名不正确
supports.Error(ctx, iris.StatusPaymentRequired, supports.UsernameFailur, nil)
return
}
ckPassword, err := utils.CompareHashAndPassword(mUser.Password, entity.Password)
if !ckPassword {
supports.Error(ctx, iris.StatusPaymentRequired, supports.PasswordFailur, nil)
return
}
gobalUser := new(global.User)
gobalUser.UserId = mUser.UserId
gobalUser.Role = mUser.Role
gobalUser.RoleId = mUser.RoleId
gobalUser.PlantNr = mUser.PlantNr
token, err := jwts.GenerateToken(gobalUser)
if err != nil {
supports.Error(ctx, iris.StatusInternalServerError, supports.TokenCreateFailur, nil)
return
}
data := make(map[string]string)
data["token"] = token
supports.Ok(ctx, supports.LoginSuccess, data)
})
}
/******************************************************************************
*
* @Function Name : RegisterDynamicMenu
*-----------------------------------------------------------------------------
*
* @Description : 动态获取路由
*
* @Function Parameters : 路由分组
*
* @Function Parameters : 路径
*
* @Function Parameters : 实际处理请求的方法
*
* @Author : 代码生成器创建
*
* @Date : 2021-04-13 15:04:54
*
******************************************************************************/
func RegisterDynamicMenu(party router.Party, httpMethod string, path string, method func(*global.User) ([]model.Menu, error)) {
party.Handle(httpMethod, path, func(ctx iris.Context) {
user, ok := jwts.ParseToken(ctx)
if !ok {
supports.Error(ctx, iris.StatusBadRequest, supports.ParseParamsFailur, nil)
return
}
result, err := method(user)
if err != nil {
supports.Error(ctx, iris.StatusBadRequest, err.Error(), nil)
return
}
supports.Ok(ctx, supports.OptionSuccess, result)
})
}
/******************************************************************************
*
* @Function Name : RegisterSelectPlant
*-----------------------------------------------------------------------------
*
* @Description : 为一个查询Plant的方法注册路由
*
* @Function Parameters : 路由分组
*
* @Function Parameters : 路径
*
* @Function Parameters : 实际处理请求的方法
*
* @Author : 代码生成器创建
*
* @Date : 2021-03-18 22:49:12
*
******************************************************************************/
func RegisterSelectPlants(party router.Party, httpMethod, path string, method func() ([]model.Plant, error)) {
party.Handle(httpMethod, path, func(ctx iris.Context) {
result, err := method()
if err != nil {
supports.Error(ctx, iris.StatusBadRequest, err.Error(), nil)
return
}
supports.Ok(ctx, supports.OptionSuccess, result)
})
}
/******************************************************************************
*
* @Function Name : RegisterGetUserInfo
*-----------------------------------------------------------------------------
*
* @Description : 为一个查询Plant的方法注册路由
*
* @Function Parameters : 路由分组
*
* @Function Parameters : 路径
*
* @Function Parameters : 实际处理请求的方法
*
* @Author : 代码生成器创建
*
* @Date : 2021-03-18 22:49:12
*
******************************************************************************/
func RegisterGetUserInfo(party router.Party, httpMethod, path string, method func(*global.User, string) (*model.User, error)) {
party.Handle(httpMethod, path, func(ctx iris.Context) {
user, ok := jwts.ParseToken(ctx)
if !ok {
supports.Error(ctx, iris.StatusBadRequest, supports.ParseParamsFailur, nil)
return
}
mUser, err := method(user, user.UserId)
if err != nil {
supports.Error(ctx, iris.StatusBadRequest, err.Error(), nil)
return
}
var mp = make(map[string]interface{})
var roles = make([]string, 1)
roles[0] = user.Role
var permissions = make([]string, 1)
permissions[0] = "*:*:*"
mp["permissions"] = permissions
mp["introduction"] = " am a super administrator"
mp["avatar"] = "https://wpimg.wallstcn.com/f778738c-e4f8-4870-b634-56703b4acafe.gif"
if mUser.Avatar != "" {
mp["avatar"] = mUser.Avatar
}
mp["name"] = mUser.Name
mp["userId"] = mUser.UserId
mp["roleId"] = mUser.RoleId
mp["roleName"] = mUser.Role
mp["nickName"] = mUser.NickName
supports.Ok(ctx, supports.Success, mp)
})
}