修改权限
This commit is contained in:
parent
ce06c5a0d4
commit
51ac40758e
@ -32,6 +32,7 @@ type LoginLoginVerify struct {
|
|||||||
// @Param LoginLoginVerify body LoginLoginVerify true "登陆验证信息"
|
// @Param LoginLoginVerify body LoginLoginVerify true "登陆验证信息"
|
||||||
// @Tags user
|
// @Tags user
|
||||||
// @Router /login [post]
|
// @Router /login [post]
|
||||||
|
|
||||||
func (l LoginApi) Login(c *gin.Context) {
|
func (l LoginApi) Login(c *gin.Context) {
|
||||||
param := LoginLoginVerify{}
|
param := LoginLoginVerify{}
|
||||||
if err := c.ShouldBindJSON(¶m); err != nil {
|
if err := c.ShouldBindJSON(¶m); err != nil {
|
||||||
@ -111,3 +112,111 @@ func (l *LoginApi) Logout(c *gin.Context) {
|
|||||||
global.CUserToken.Delete(cToken)
|
global.CUserToken.Delete(cToken)
|
||||||
apiReturn.Success(c)
|
apiReturn.Success(c)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Author: wintsa
|
||||||
|
* @Date: 2024-04-09 11:01:55
|
||||||
|
* @LastEditors: wintsa
|
||||||
|
* @Description: token生成
|
||||||
|
* @return {*}
|
||||||
|
*/
|
||||||
|
func (l LoginApi) GetToken(c *gin.Context) {
|
||||||
|
param := LoginLoginVerify{}
|
||||||
|
if err := c.ShouldBindJSON(¶m); err != nil {
|
||||||
|
apiReturn.ErrorParamFomat(c, err.Error())
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
if errMsg, err := base.ValidateInputStruct(param); err != nil {
|
||||||
|
apiReturn.ErrorParamFomat(c, errMsg)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
settings := systemSetting.ApplicationSetting{}
|
||||||
|
global.SystemSetting.GetValueByInterface("system_application", &settings)
|
||||||
|
|
||||||
|
mUser := models.User{}
|
||||||
|
var (
|
||||||
|
err error
|
||||||
|
info models.User
|
||||||
|
)
|
||||||
|
bToken := ""
|
||||||
|
param.Username = strings.TrimSpace(param.Username)
|
||||||
|
info, err1 := mUser.GetUserInfoByUsername(param.Username)
|
||||||
|
|
||||||
|
if err1 != nil {
|
||||||
|
// 未找到记录 账号
|
||||||
|
|
||||||
|
if err == gorm.ErrRecordNotFound {
|
||||||
|
return
|
||||||
|
|
||||||
|
// mUser := models.User{
|
||||||
|
// Username: strings.TrimSpace(param.Username),
|
||||||
|
// Password: cmn.PasswordEncryption("zw.123456"),
|
||||||
|
// Name: param.Username,
|
||||||
|
// HeadImage: "",
|
||||||
|
// Status: 1,
|
||||||
|
// Role: 2,
|
||||||
|
// // Mail: param.Username, 不再保存邮箱账号字段
|
||||||
|
// }
|
||||||
|
// userInfo, err := mUser.CreateOne()
|
||||||
|
// if err != nil {
|
||||||
|
// apiReturn.ErrorDatabase(c, err.Error())
|
||||||
|
// return
|
||||||
|
// }
|
||||||
|
// info = userInfo
|
||||||
|
} else {
|
||||||
|
// 未知错误
|
||||||
|
apiReturn.Error(c, err.Error())
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
// 停用或未激活
|
||||||
|
if info.Status != 1 {
|
||||||
|
apiReturn.ErrorByCode(c, 1004)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
bToken = info.Token
|
||||||
|
if info.Token == "" {
|
||||||
|
// 生成token
|
||||||
|
buildTokenOver := false
|
||||||
|
for !buildTokenOver {
|
||||||
|
bToken = cmn.BuildRandCode(32, cmn.RAND_CODE_MODE2)
|
||||||
|
if _, err := mUser.GetUserInfoByToken(bToken); err != nil {
|
||||||
|
// 保存token
|
||||||
|
mUser.UpdateUserInfoByUserId(info.ID, map[string]interface{}{
|
||||||
|
"token": bToken,
|
||||||
|
})
|
||||||
|
buildTokenOver = true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
info.Token = bToken
|
||||||
|
}
|
||||||
|
info.Password = ""
|
||||||
|
info.ReferralCode = ""
|
||||||
|
|
||||||
|
// global.UserToken.SetDefault(bToken, info)
|
||||||
|
cToken := uuid.NewString() + "-" + cmn.Md5(cmn.Md5("userId"+strconv.Itoa(int(info.ID))))
|
||||||
|
global.CUserToken.SetDefault(cToken, bToken)
|
||||||
|
global.Logger.Debug("token:", cToken, "|", bToken)
|
||||||
|
global.Logger.Debug(global.CUserToken.Get(cToken))
|
||||||
|
|
||||||
|
// 设置当前用户信息
|
||||||
|
c.Set("userInfo", info)
|
||||||
|
info.Token = cToken // 重要 采用cToken,隐藏真实token
|
||||||
|
apiReturn.SuccessData(c, info)
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Author: wintsa
|
||||||
|
* @Date: 2024-04-09 11:02:30
|
||||||
|
* @LastEditors: wintsa
|
||||||
|
* @Description: token验证
|
||||||
|
* @return {*}
|
||||||
|
*/
|
||||||
|
// func (l LoginApi) tokenValidate(c *gin.Context) {
|
||||||
|
|
||||||
|
// }
|
||||||
|
@ -11,9 +11,9 @@ func InitItemIcon(router *gin.RouterGroup) {
|
|||||||
itemIcon := api_v1.ApiGroupApp.ApiPanel.ItemIcon
|
itemIcon := api_v1.ApiGroupApp.ApiPanel.ItemIcon
|
||||||
r := router.Group("", middleware.LoginInterceptor)
|
r := router.Group("", middleware.LoginInterceptor)
|
||||||
{
|
{
|
||||||
r.POST("/panel/itemIcon/edit", itemIcon.Edit)
|
r.POST("/panel/itemIcon/edit", middleware.AdminInterceptor, itemIcon.Edit)
|
||||||
r.POST("/panel/itemIcon/deletes", itemIcon.Deletes)
|
r.POST("/panel/itemIcon/deletes", middleware.AdminInterceptor, itemIcon.Deletes)
|
||||||
r.POST("/panel/itemIcon/saveSort", itemIcon.SaveSort)
|
r.POST("/panel/itemIcon/saveSort", middleware.AdminInterceptor, itemIcon.SaveSort)
|
||||||
r.POST("/panel/itemIcon/addMultiple", itemIcon.AddMultiple)
|
r.POST("/panel/itemIcon/addMultiple", itemIcon.AddMultiple)
|
||||||
r.POST("/panel/itemIcon/getSiteFavicon", itemIcon.GetSiteFavicon)
|
r.POST("/panel/itemIcon/getSiteFavicon", itemIcon.GetSiteFavicon)
|
||||||
}
|
}
|
||||||
|
@ -12,5 +12,6 @@ func InitLogin(router *gin.RouterGroup) {
|
|||||||
|
|
||||||
router.POST("/login", loginApi.Login)
|
router.POST("/login", loginApi.Login)
|
||||||
router.POST("/logout", middleware.LoginInterceptor, loginApi.Logout)
|
router.POST("/logout", middleware.LoginInterceptor, loginApi.Logout)
|
||||||
|
router.POST("/getToken", loginApi.GetToken)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -27,7 +27,7 @@ const defaultTitle = t('appLauncher.title')
|
|||||||
const title = ref('')
|
const title = ref('')
|
||||||
const height = ref('500px')
|
const height = ref('500px')
|
||||||
const authStore = useAuthStore()
|
const authStore = useAuthStore()
|
||||||
const balcklist = [t('apps.exportImport.appName'),t('apps.baseSettings.appName'), t('apps.itemGroupManage.appName'), t('apps.uploadsFileManager.appName')]
|
const balcklist = [t('apps.exportImport.appName'),t('apps.baseSettings.appName'), t('apps.itemGroupManage.appName'), t('apps.uploadsFileManager.appName'),t('adminSettingUsers.appName')]
|
||||||
|
|
||||||
const apps = ref<App[]>([
|
const apps = ref<App[]>([
|
||||||
{
|
{
|
||||||
@ -64,6 +64,12 @@ const apps = ref<App[]>([
|
|||||||
auth: authStore.userInfo?.role
|
auth: authStore.userInfo?.role
|
||||||
|
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
name: t('adminSettingUsers.appName'),
|
||||||
|
componentName: 'Users',
|
||||||
|
icon: 'lucide-users',
|
||||||
|
auth: 1,
|
||||||
|
},
|
||||||
{
|
{
|
||||||
name: t('apps.about.appName'),
|
name: t('apps.about.appName'),
|
||||||
componentName: 'About',
|
componentName: 'About',
|
||||||
@ -109,15 +115,7 @@ function handleResize() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
const adminApp: App = {
|
|
||||||
name: t('adminSettingUsers.appName'),
|
|
||||||
componentName: 'Users',
|
|
||||||
icon: 'lucide-users',
|
|
||||||
auth: 1,
|
|
||||||
}
|
|
||||||
// 初始化
|
|
||||||
if (authStore.userInfo?.role === 1)
|
|
||||||
apps.value.push(adminApp)
|
|
||||||
|
|
||||||
window.addEventListener('resize', handleResize)
|
window.addEventListener('resize', handleResize)
|
||||||
handleResize()
|
handleResize()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user