Browse Source

docs: 权限系统优化

kindring 1 year ago
parent
commit
246231dfae
1 changed files with 44 additions and 14 deletions
  1. 44 14
      参考文档/设备绑定机制.md

+ 44 - 14
设备绑定机制.md → 参考文档/设备绑定机制.md

@@ -43,6 +43,7 @@
 | passwd    | varchar(255) | 密码    | 无      | 用户密码摘要  |
 
 ##### 用户绑定设备表 device_bind
+
 | 字段         | 类型           | 值介绍  | 默认 | 备注   |
 |------------|--------------|------|----|------|
 | bindId     | int          | 主键   | 无  | 无    |
@@ -50,16 +51,13 @@
 | devCode    | varchar(255) | 绑定码  | 无  | 绑定码  |
 | createTime | datetime     | 绑定时间 | 无  | 创建时间 |
 
-##### 管理员表 adminAccount
+##### 管理员表 扩展 user
 
-| 字段      | 类型           | 值介绍  | 默认     | 备注     |
-|---------|--------------|------|--------|--------|
-| id      | int          | 主键   | 无      | 无      |
-| account | varchar(30)  | 登录账号 | 无      | 登录账号   |
-| name    | varchar(100) | 昵称   | 随机用户id | 用户名称   |
-| passwd  | varchar(255) | 密码   | 无      | 用户密码摘要 |
+| 字段           | 类型   | 值介绍     | 默认 | 备注                          |
+|--------------|------|---------|----|-----------------------------|
+| primaryAdmin | char | 是否为主管理员 | 无  | 主管理员能够访问所有接口, 子管理员只能访问自己的设备 |
 
-##### 管理员sip配置表 sipConfig
+##### sip配置表 sipConfig
 
 > 管理员sip配置表, 用于管理sip信息, 允许多种设备同步接入到平台
 > 可以指定域启用绑定设备, 用于设备上线时获取设备绑定码, 用于app端用户绑定设备
@@ -77,14 +75,46 @@
 | createTime  | datetime     | 创建时间     | 无  | 创建时间                |
 | enableBind  | char(1)      | 是否启用设备绑定 | 1  | 是否启用设备绑定 1 允许 0 不允许 |
 
+##### 管理员 sip 配置表 adminSip
+
+> 配置表应该与管理员表进行区分  
+> 子管理员只能访问自己域的设备, 只有主管理员拥有全部权限
+
+| 字段      | 类型           | 值介绍 | 默认     | 备注   |
+|---------|--------------|-----|--------|------|
+| id      | string       | pk  | 无      | 自增id |
+| adminId | varchar(100) | tk  | 管理员id  |
+| sipId   | varchar(100) | tk  | sip id |
+
+1. 根据管理员id获取所有的设备及对应的 sip 配置信息:
+
+```sql
+SELECT d.*, sc.*
+FROM devices d
+         JOIN sipConfig sc ON d.domain = sc.sipDomain
+         JOIN adminSip a ON sc.id = a.sipId
+WHERE a.adminId = < 管理员id >;
+```
+
+2. 根据管理员id与设备id获取对应设备及对应的 sip 配置信息:
+
+```sql
+SELECT d.*, sc.*
+FROM devices d
+         JOIN sipConfig sc ON d.domain = sc.sipDomain
+         JOIN adminSip a ON sc.id = a.sipId
+WHERE a.adminId = < 管理员id >
+  AND d.id = < 设备id >;
+```
+
 #### 设备表扩展 devices
 
-| 字段       | 类型           | 值介绍   | 默认 | 备注       |
-|----------|--------------|-------|----|----------|
-| id       | int          | 主键    | 无  | 无        |
-| deviceId | varchar(100) | 设备id  | 无  | 设备sip id |
-| domain   | varchar(100) | sip域名 | 无  | sip域名    |
-| devCode  | varchar(255) | 设备绑定码 | 无  | 设备绑定码    |
+| 字段       | 类型           | 值介绍   | 默认 | 备注                  |
+|----------|--------------|-------|----|---------------------|
+| id       | int          | 主键    | 无  | 无                   |
+| deviceId | varchar(100) | 设备id  | 无  | 设备sip id            |
+| domain   | varchar(100) | sip域名 | 无  | sip域, 与sip配置中的域进行对应 |
+| devCode  | varchar(255) | 设备绑定码 | 无  | 设备绑定码               |
 
 > 使用字段 `devCode` 设备注册时获取