Files
web/server/models/permission.go

47 lines
1.5 KiB
Go

package models
// 权限码(与前端、路由 meta.permission 一致)
const (
PermSiteManage = "site:manage"
PermHomepageEdit = "homepage:edit"
PermPageManage = "page:manage"
PermModuleUpload = "module:upload"
PermUserManage = "user:manage"
PermWorkspaceManage = "workspace:manage"
PermConversationManage = "conversation:manage"
PermSMSConfig = "sms_config"
PermPaymentConfig = "payment_config"
PermRolePermission = "role:permission" // 角色权限管理
)
// AllPermissions 所有可配置权限(用于角色权限管理页)
var AllPermissions = []struct {
Key string
Name string
}{
{PermSiteManage, "站点管理"},
{PermHomepageEdit, "首页编辑"},
{PermPageManage, "网页管理"},
{PermModuleUpload, "功能模块上传"},
{PermUserManage, "用户管理"},
{PermWorkspaceManage, "工作空间"},
{PermConversationManage, "对话管理"},
{PermSMSConfig, "短信配置"},
{PermPaymentConfig, "支付配置"},
{PermRolePermission, "角色权限管理"},
}
// RolePermissionsDoc MongoDB 文档:角色 ID -> 名称与权限列表(支持自定义角色)
type RolePermissionsDoc struct {
RoleID int `bson:"role_id" json:"role_id"`
RoleName string `bson:"role_name,omitempty" json:"role_name"`
Permissions []string `bson:"permissions" json:"permissions"`
}
// 预定义角色 ID 的默认名称(未在 DB 中存 role_name 时使用)
var DefaultRoleNames = map[int]string{
RoleIDSuperAdmin: "超级管理员",
RoleIDSuperUser: "超级用户",
RoleIDUser: "普通用户",
}