47 lines
1.5 KiB
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: "普通用户",
|
|
}
|