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" // 角色权限管理 ) // PermissionItem 单条权限定义(JSON 须用小写 key/name,供前端展示与勾选) type PermissionItem struct { Key string `json:"key"` Name string `json:"name"` } // AllPermissions 所有可配置权限(用于角色权限管理页) var AllPermissions = []PermissionItem{ {Key: PermSiteManage, Name: "站点管理"}, {Key: PermHomepageEdit, Name: "首页编辑"}, {Key: PermPageManage, Name: "网页管理"}, {Key: PermModuleUpload, Name: "功能模块上传"}, {Key: PermUserManage, Name: "用户管理"}, {Key: PermWorkspaceManage, Name: "工作空间"}, {Key: PermConversationManage, Name: "对话管理"}, {Key: PermSMSConfig, Name: "短信配置"}, {Key: PermPaymentConfig, Name: "支付配置"}, {Key: PermRolePermission, Name: "角色权限管理"}, } // 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: "普通用户", }