108 lines
4.7 KiB
Go
108 lines
4.7 KiB
Go
package model
|
|
|
|
// PermissionDef 权限定义(用于种子数据初始化)
|
|
type PermissionDef struct {
|
|
Code string
|
|
Name string
|
|
Description string
|
|
}
|
|
|
|
// AllPermissions 系统全部权限定义
|
|
var AllPermissions = []PermissionDef{
|
|
{"dashboard:view", "看板查看", "查看仪表盘"},
|
|
{"room:read", "蚕房查看", "查看蚕房列表和详情"},
|
|
{"room:write", "蚕房管理", "新增、编辑、删除蚕房"},
|
|
{"device:read", "设备查看", "查看设备列表和状态"},
|
|
{"device:control", "设备控制", "下发设备控制命令"},
|
|
{"threshold:read", "阈值查看", "查看阈值配置"},
|
|
{"threshold:write", "阈值管理", "新增、编辑、删除阈值"},
|
|
{"alarm:read", "告警查看", "查看告警列表"},
|
|
{"alarm:ack", "告警确认", "确认和解除告警"},
|
|
{"video:read", "视频查看", "查看视频监控和回放"},
|
|
{"video:record", "视频录制", "启动和停止视频录制"},
|
|
{"energy:view", "能耗查看", "查看能耗数据"},
|
|
{"log:read", "日志查看", "查看控制日志"},
|
|
{"knowledge:read", "知识库查看", "查看蚕病百科和知识文章"},
|
|
{"knowledge:write", "知识库管理", "新增、编辑、删除知识库内容"},
|
|
{"inspection:create", "巡检创建", "发起 AI 拍照巡检"},
|
|
{"inspection:read", "巡检查看", "查看 AI 巡检记录"},
|
|
{"tray:read", "蚕匾查看", "查看蚕匾"},
|
|
{"tray:write", "蚕匾管理", "新增、编辑、删除蚕匾"},
|
|
{"batch:read", "批次查看", "查看蚕种批次与饲养记录"},
|
|
{"batch:write", "批次管理", "新增、编辑、删除批次"},
|
|
{"rearing:read", "饲养记录查看", "查看饲养记录"},
|
|
{"rearing:write", "饲养记录管理", "新增、编辑、删除饲养记录"},
|
|
{"notification:read", "订阅查看", "查看微信订阅绑定状态"},
|
|
{"notification:write", "订阅管理", "绑定微信并管理订阅授权"},
|
|
{"weather:read", "天气查看", "查看天气与高发病天气预警"},
|
|
{"lamp:read", "LAMP 检测查看", "查看 LAMP 检测任务单与结果"},
|
|
{"lamp:write", "LAMP 检测管理", "新建、编辑、录入 LAMP 检测结果"},
|
|
{"consumable:read", "耗材查看", "查看耗材库存与预警"},
|
|
{"consumable:write", "耗材管理", "新增、编辑、删除耗材"},
|
|
{"consultation:read", "会诊查看", "查看专家会诊单与病例快照"},
|
|
{"consultation:write", "会诊管理", "发起会诊、出具意见与防控方案"},
|
|
{"trace:read", "溯源查看", "查看疫病溯源记录与报告"},
|
|
{"trace:write", "溯源管理", "发起溯源、执行排查清单与报告"},
|
|
{"user:manage", "用户管理", "管理用户、角色和权限"},
|
|
{"audit:read", "审计查看", "查看审计日志"},
|
|
}
|
|
|
|
// RolePermissionMap 角色-权限码映射(种子数据)
|
|
var RolePermissionMap = map[string][]string{
|
|
RoleAdmin: {
|
|
"dashboard:view", "room:read", "room:write", "device:read", "device:control",
|
|
"threshold:read", "threshold:write", "alarm:read", "alarm:ack",
|
|
"video:read", "video:record", "energy:view", "log:read",
|
|
"knowledge:read", "knowledge:write",
|
|
"inspection:create", "inspection:read",
|
|
"tray:read", "tray:write", "batch:read", "batch:write", "rearing:read", "rearing:write",
|
|
"notification:read", "notification:write",
|
|
"weather:read",
|
|
"lamp:read", "lamp:write",
|
|
"consumable:read", "consumable:write",
|
|
"consultation:read", "consultation:write",
|
|
"trace:read", "trace:write",
|
|
"user:manage", "audit:read",
|
|
},
|
|
RoleOperator: {
|
|
"dashboard:view", "room:read", "room:write", "device:read", "device:control",
|
|
"threshold:read", "threshold:write", "alarm:read", "alarm:ack",
|
|
"video:read", "video:record", "energy:view", "log:read",
|
|
"knowledge:read", "knowledge:write",
|
|
"inspection:create", "inspection:read",
|
|
"tray:read", "tray:write", "batch:read", "batch:write", "rearing:read", "rearing:write",
|
|
"notification:read", "notification:write",
|
|
"weather:read",
|
|
"lamp:read", "lamp:write",
|
|
"consumable:read", "consumable:write",
|
|
"consultation:read", "consultation:write",
|
|
"trace:read", "trace:write",
|
|
},
|
|
RoleViewer: {
|
|
"dashboard:view", "room:read", "device:read",
|
|
"threshold:read", "alarm:read", "video:read", "energy:view",
|
|
"knowledge:read",
|
|
"inspection:read",
|
|
"tray:read", "batch:read", "rearing:read",
|
|
"notification:read",
|
|
"weather:read",
|
|
"lamp:read",
|
|
"consumable:read",
|
|
"consultation:read",
|
|
"trace:read",
|
|
},
|
|
RoleFarmer: {
|
|
"dashboard:view", "room:read", "device:read", "device:control",
|
|
"alarm:read", "alarm:ack", "video:read", "energy:view",
|
|
"knowledge:read",
|
|
"inspection:create", "inspection:read",
|
|
"tray:read", "batch:read", "rearing:read",
|
|
"notification:read", "notification:write",
|
|
"weather:read",
|
|
"lamp:read",
|
|
"consumable:read",
|
|
"consultation:read",
|
|
"trace:read",
|
|
},
|
|
}
|