|
|
@ -0,0 +1,195 @@ |
|
|
|
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["nickName"] = mUser.NickName |
|
|
|
supports.Ok(ctx, supports.Success, mp) |
|
|
|
}) |
|
|
|
} |