初次提交
Build VoiceHub FPK / build-fpk (push) Failing after 56m5s
Build and Push Docker Image / build-and-push (push) Canceled after 1h9m35s

This commit is contained in:
2026-09-06 08:19:02 +08:00
commit 4ce4649aaf
1061 changed files with 337258 additions and 0 deletions
+14
View File
@@ -0,0 +1,14 @@
import { ROLES } from '../../../utils/permissions.js'
export default defineEventHandler((event) => {
const user = event.context.user
if (!user || user.role !== 'SUPER_ADMIN') {
throw createError({
statusCode: 403,
message: '只有超级管理员可以访问角色配置'
})
}
return ROLES
})
+46
View File
@@ -0,0 +1,46 @@
import { ROLES, saveRolesConfig } from '../../../utils/permissions.js'
export default defineEventHandler(async (event) => {
const user = event.context.user
if (!user || user.role !== 'SUPER_ADMIN') {
throw createError({
statusCode: 403,
message: '只有超级管理员可以修改角色配置'
})
}
const body = await readBody(event)
if (!body || typeof body !== 'object') {
throw createError({
statusCode: 400,
message: '无效的角色配置数据'
})
}
// 保护 SUPER_ADMIN 的关键权限不被移除
if (body.SUPER_ADMIN) {
const requiredPages = ['roles', 'users', 'site-config']
const hasRequired = requiredPages.every(p => body.SUPER_ADMIN.pages.includes(p))
if (!hasRequired) {
requiredPages.forEach(p => {
if (!body.SUPER_ADMIN.pages.includes(p)) {
body.SUPER_ADMIN.pages.push(p)
}
})
}
body.SUPER_ADMIN.canAccessAdmin = true
}
const success = saveRolesConfig(body)
if (!success) {
throw createError({
statusCode: 500,
message: '保存角色配置失败'
})
}
return { success: true, message: '角色配置已保存' }
})