diff --git a/README.md b/README.md index 34c2fbb..6f6889c 100644 --- a/README.md +++ b/README.md @@ -1,170 +1,11 @@ -# 警用装备-仓储柜控制系统 +# 警用装备库相关文档 --- -## 1.配置文件说明 +旧版文档V1 2023年10月 -(SaveData/DefaultConfig.json) +[参考API手册](Storage_V1.md) -打开Json根据如下说明进行编辑即可,通道门与仓库端软件也有对应的图形化操作。 +新版文档V1 2024年11月 ---- - -### 通道门配置说明 - -`DataOutputDoor` - -| 数据名称 | 数据说明 | 数据参考 | -| ----------- | ------------- | --------------- | -| OutputIP | 通道门预留继电器地址 | "192.168.1.201" | -| OutputRoute | 通道门预留继电器线路 | 7 | -| InputIP | 入口门门磁继电器地址 | "192.168.1.201" | -| InputRoute | 入口门门磁继电器线路 | 6 | -| AlarmIP | 报警器继电器地址 | "192.168.1.201" | -| AlarmRoute | 报警器继电器线路 | 5 | -| RfidIP | 通道门Rfid扫描设备地址 | "192.168.1.201" | - -### 接口地址配置说明 - -`DataHttpAddress` - -| 数据名称 | 数据说明 | 数据参考 | -| ------------------------ | ----------- | --------------------------------- | -| RequestAddressIn | 存入装备请求地址 | "http://192.168.1.42:5050/api" | -| RequestAddressOut | 取出装备请求地址 | "http://192.168.1.42:5050/api" | -| RequestAddressOutputDoor | 通道门扫描装备请求地址 | "http://192.168.1.42:5050/api" | -| ServerAddress | 本地http服务器地址 | "http://192.168.1.42:6555/index/" | - -注:192.168.1.42为本机地址,6555为端口号,请求地址请换成后端接收对应请求的http接口地址。 - -### 串口配置说明 - -`DataSerialPort` - -| 数据名称 | 数据说明 | 数据参考 | -| ---------- | -------------------- | ------ | -| SerialPort | 串口编号(设备插入PC后,对应的串口号) | COM5 | -| BaudRate | 波特率(如果没有设备更换,此处无需修改) | 115200 | - -### 仓库配置说明 - -`DataAllStorage` - -| 数据名称 | 数据说明 | 数据参考 | -| --------------- | -------------- | --------------------------- | -| DataStorageList | 装备柜列表 | Dictionary("装备柜编号",装备柜数据实体) | -| "1" | 1号装备柜 | 根据开头的编号决定 | -| 装备柜数据实体 | ----- | ---- | -| ID | 装备柜编号 | 同编号数据头 | -| RFIDTcpIP | 装备柜Rfid扫描器地址 | "192.168.1.116" | -| AntennaRoute | 装备柜Rfid扫描器天线编号 | (1-4)之间的任意数字,其他数字默认开启全部天线。 | -| PowerTcpIP | 装备柜柜锁继电器地址 | "192.168.1.201" | -| PowerRoute | 装备柜柜锁继电器线路 | (0-7)之间的任意数字 | - -## 2.http接口说明 - -地址可通过配置文件进行修改,建议修改格式如下 - -http://[本机地址]+:+[端口号]/index - ---- - -### 开柜 - -请求格式:Application-Json - -请求数据 - -| 数据名称 | 数据说明 | 示例 | -| ------- | ------------------ | ----------------- | -| Storage | 柜门数组,仅存在编号的装备柜可以开柜 | {"Storage":["1"]} | - -### 报警 - -请求格式:Application-Json - -请求数据 - -| 数据名称 | 数据说明 | 示例 | -| ---- | ---- | ----------- | -| Time | 报警时间 | {"Time":10} | - -## 3.控制协议 - -硬件设备控制仅控制Modbus8路继电器、Rfid串口读写设备、Rfid-TCP-四路天线读写设备。 - ---- - -### 3.1继电器控制协议(Modbus-TCP) - -##### Modbus报文格式说明 - ---- - -注:此处仅为拓展说明,如需了解具体协议内容可跳转至 `控制开关` 部分。 - - - -报文格式由报文头,协议体组成,使用hex格式的byte数组进行通讯。 - -【报文头6位】+【协议体n位】 - - - -1.【报文头】 - -报文头由报文ID(4位)+协议长度(2位)组成,报文ID可以用于检查设备是否接收到该数据,协议长度声明本次要发送的长度(长度范围:0-65535) - -| 报文定义 | 占位长度 | 示例 | -| ---- | ---- | ------------------------------- | -| 报文ID | 4 | 【0x00,0x00,0x00,0x00】 | -| 协议长度 | 2 | 【0x00,0x06】 | -| 全部报文 | 6 | 【0x00,0x00,0x00,0x00,0x00,0x06】 | - -2.【协议体】 - -协议体由主机名称(1位),功能码(1位),协议地址(2n位),协议数据(2n位)组成。 - -| 报文定义 | 占位长度 | 示例 | -| ---- | ---- | ----------- | -| 主机名称 | 1 | 【0x01】 | -| 功能码 | 1 | 【0x06】 | -| 协议地址 | 2n | 【0x00,0x01】 | -| 协议数据 | 2n | 【0x00,0x01】 | - -3.【功能码】简易说明表 - -| 功能 | 操作类型 | 示例 | 操作数量 | -| -------- | ---- | ------ | ----- | -| 读线圈寄存器 | 位操作 | 【0x01】 | 单个或多个 | -| 读离散输入寄存器 | 位操作 | 【0x02】 | 单个或多个 | -| 读保持寄存器 | 字操作 | 【0x03】 | 单个或多个 | -| 读输入寄存器 | 字操作 | 【0x04】 | 单个或多个 | -| 写单个线圈寄存器 | 位操作 | 【0x05】 | 单个 | -| 写单个保持寄存器 | 字操作 | 【0x06】 | 单个 | -| 写多个线圈寄存器 | 位操作 | 【0x0F】 | 多个 | -| 写多个保持寄存器 | 字操作 | 【0x10】 | 多个 | - -##### 控制继电器开关 - -| 协议名称 | 示例 | -| -------- | ----------------------------------------------------------------- | -| 打开1路继电器 | 【0x00 0x00 0x00 0x00 0x00 0x06 0x01 0x06 0x00 `0x00` 0x00 `0x01`】 | -| 关闭1路继电器 | 【0x00 0x00 0x00 0x00 0x00 0x06 0x01 0x06 0x00 `0x00` 0x00 `0x00`】 | -| 操作其他路继电器 | 改变发送地址与值(0=关,1=开) | -| 打开8路继电器 | 【0x00 0x00 0x00 0x00 0x00 0x06 0x01 0x06 0x00 `0x07` 0x00 `0x01`】 | -| 关闭8路继电器 | 【0x00 0x00 0x00 0x00 0x00 0x06 0x01 0x06 0x00 `0x07` 0x00 `0x00`】 | - -##### 查询继电器开关状态 - -| 协议名称 | 示例 | -| ------------- | ----------------------------------------------------------------- | -| 读取1-8路继电器开关状态 | 【0x00 0x00 0x00 0x00 0x00 0x06 0x01 0x03 0x00 `0x00` 0x00 `0x08`】 | - -### 3.2桌面Rfid读写器控制协议(Rfid-SerialPort) - -[参考API手册](./DocRes/中科微芯 RFID 读写设备开发指南.NET.4.38.pdf) - -### 3.3装备柜Rfid扫描控制协议(Rfid-TCP) - -[参考API手册](./DocRes/中科微芯 RFID 读写设备开发指南.NET.4.38.pdf) \ No newline at end of file +[参考API手册](Storage_V2.md) \ No newline at end of file diff --git a/Storage_V1.md b/Storage_V1.md new file mode 100644 index 0000000..636583a --- /dev/null +++ b/Storage_V1.md @@ -0,0 +1,166 @@ +# 仓储柜控制系统 + +--- + +## 1.配置文件说明 + +(SaveData/DefaultConfig.json) + +打开Json根据如下说明进行编辑即可,通道门与仓库端软件也有对应的图形化操作。 + +--- + +### 通道门配置说明 + +`DataOutputDoor` + +| 数据名称 | 数据说明 | 数据参考 | +| ----------- | ------------- | --------------- | +| OutputIP | 通道门预留继电器地址 | "192.168.1.201" | +| OutputRoute | 通道门预留继电器线路 | 7 | +| InputIP | 入口门门磁继电器地址 | "192.168.1.201" | +| InputRoute | 入口门门磁继电器线路 | 6 | +| AlarmIP | 报警器继电器地址 | "192.168.1.201" | +| AlarmRoute | 报警器继电器线路 | 5 | +| RfidIP | 通道门Rfid扫描设备地址 | "192.168.1.201" | + +### 接口地址配置说明 + +`DataHttpAddress` + +| 数据名称 | 数据说明 | 数据参考 | +| ------------------------ | ----------- | --------------------------------- | +| RequestAddressIn | 存入装备请求地址 | "http://192.168.1.42:5050/api" | +| RequestAddressOut | 取出装备请求地址 | "http://192.168.1.42:5050/api" | +| RequestAddressOutputDoor | 通道门扫描装备请求地址 | "http://192.168.1.42:5050/api" | +| ServerAddress | 本地http服务器地址 | "http://192.168.1.42:6555/index/" | + +注:192.168.1.42为本机地址,6555为端口号,请求地址请换成后端接收对应请求的http接口地址。 + +### 串口配置说明 + +`DataSerialPort` + +| 数据名称 | 数据说明 | 数据参考 | +| ---------- | -------------------- | ------ | +| SerialPort | 串口编号(设备插入PC后,对应的串口号) | COM5 | +| BaudRate | 波特率(如果没有设备更换,此处无需修改) | 115200 | + +### 仓库配置说明 + +`DataAllStorage` + +| 数据名称 | 数据说明 | 数据参考 | +| --------------- | -------------- | --------------------------- | +| DataStorageList | 装备柜列表 | Dictionary("装备柜编号",装备柜数据实体) | +| "1" | 1号装备柜 | 根据开头的编号决定 | +| 装备柜数据实体 | ----- | ---- | +| ID | 装备柜编号 | 同编号数据头 | +| RFIDTcpIP | 装备柜Rfid扫描器地址 | "192.168.1.116" | +| AntennaRoute | 装备柜Rfid扫描器天线编号 | (1-4)之间的任意数字,其他数字默认开启全部天线。 | +| PowerTcpIP | 装备柜柜锁继电器地址 | "192.168.1.201" | +| PowerRoute | 装备柜柜锁继电器线路 | (0-7)之间的任意数字 | + +## 2.http接口说明 + +地址可通过配置文件进行修改,建议修改格式如下 + +http://[本机地址]+:+[端口号]/index + +--- + +### 开柜 + +请求格式:Application-Json + +请求数据 + +| 数据名称 | 数据说明 | 示例 | +| ------- | ------------------ | ----------------- | +| Storage | 柜门数组,仅存在编号的装备柜可以开柜 | {"Storage":["1"]} | + +### 报警 + +请求格式:Application-Json + +请求数据 + +| 数据名称 | 数据说明 | 示例 | +| ---- | ---- | ----------- | +| Time | 报警时间 | {"Time":10} | + +## 3.控制协议 + +硬件设备控制仅控制Modbus8路继电器、Rfid串口读写设备、Rfid-TCP-四路天线读写设备。 + +--- + +### 3.1继电器控制协议(Modbus-TCP) + +##### Modbus报文格式说明 + +--- + +注:此处仅为拓展说明,如需了解具体协议内容可跳转至 `控制开关` 部分。 + +报文格式由报文头,协议体组成,使用hex格式的byte数组进行通讯。 + +【报文头6位】+【协议体n位】 + +1.【报文头】 + +报文头由报文ID(4位)+协议长度(2位)组成,报文ID可以用于检查设备是否接收到该数据,协议长度声明本次要发送的长度(长度范围:0-65535) + +| 报文定义 | 占位长度 | 示例 | +| ---- | ---- | ------------------------------- | +| 报文ID | 4 | 【0x00,0x00,0x00,0x00】 | +| 协议长度 | 2 | 【0x00,0x06】 | +| 全部报文 | 6 | 【0x00,0x00,0x00,0x00,0x00,0x06】 | + +2.【协议体】 + +协议体由主机名称(1位),功能码(1位),协议地址(2n位),协议数据(2n位)组成。 + +| 报文定义 | 占位长度 | 示例 | +| ---- | ---- | ----------- | +| 主机名称 | 1 | 【0x01】 | +| 功能码 | 1 | 【0x06】 | +| 协议地址 | 2n | 【0x00,0x01】 | +| 协议数据 | 2n | 【0x00,0x01】 | + +3.【功能码】简易说明表 + +| 功能 | 操作类型 | 示例 | 操作数量 | +| -------- | ---- | ------ | ----- | +| 读线圈寄存器 | 位操作 | 【0x01】 | 单个或多个 | +| 读离散输入寄存器 | 位操作 | 【0x02】 | 单个或多个 | +| 读保持寄存器 | 字操作 | 【0x03】 | 单个或多个 | +| 读输入寄存器 | 字操作 | 【0x04】 | 单个或多个 | +| 写单个线圈寄存器 | 位操作 | 【0x05】 | 单个 | +| 写单个保持寄存器 | 字操作 | 【0x06】 | 单个 | +| 写多个线圈寄存器 | 位操作 | 【0x0F】 | 多个 | +| 写多个保持寄存器 | 字操作 | 【0x10】 | 多个 | + +##### 控制继电器开关 + +| 协议名称 | 示例 | +| -------- | ----------------------------------------------------------------- | +| 打开1路继电器 | 【0x00 0x00 0x00 0x00 0x00 0x06 0x01 0x06 0x00 `0x00` 0x00 `0x01`】 | +| 关闭1路继电器 | 【0x00 0x00 0x00 0x00 0x00 0x06 0x01 0x06 0x00 `0x00` 0x00 `0x00`】 | +| 操作其他路继电器 | 改变发送地址与值(0=关,1=开) | +| 打开8路继电器 | 【0x00 0x00 0x00 0x00 0x00 0x06 0x01 0x06 0x00 `0x07` 0x00 `0x01`】 | +| 关闭8路继电器 | 【0x00 0x00 0x00 0x00 0x00 0x06 0x01 0x06 0x00 `0x07` 0x00 `0x00`】 | + +##### 查询继电器开关状态 + +| 协议名称 | 示例 | +| ------------- | ----------------------------------------------------------------- | +| 读取1-8路继电器开关状态 | 【0x00 0x00 0x00 0x00 0x00 0x06 0x01 0x03 0x00 `0x00` 0x00 `0x08`】 | + +### 3.2桌面Rfid读写器控制协议(Rfid-SerialPort) + +[参考API手册](./DocRes/中科微芯 RFID 读写设备开发指南.NET.4.38.pdf) + +### 3.3装备柜Rfid扫描控制协议(Rfid-TCP) + +[参考API手册](./DocRes/中科微芯 RFID 读写设备开发指南.NET.4.38.pdf) diff --git a/Storage_V2.md b/Storage_V2.md new file mode 100644 index 0000000..eb86738 --- /dev/null +++ b/Storage_V2.md @@ -0,0 +1,291 @@ +# 仓库管理--表数据字段说明 + +--- + +由于TimeStamp有时间限制(2038年后会过期),本数据库关于时间的统计一律按照DateTime处理,非TimeStamp格式。 + +# 供应商表【DataManufacture】 + +用于提供相应装备的供应商信息的列表,用于维修设备时查找对应的地址或者是电话。 + +| 字段 | 类型 | 说明 | +| ------------ | ------------ | ---------------- | +| ID | INT | 唯一标识,自增 | +| Name | VARCHAR(255) | 供应商名称 | +| PhoneNumbers | VARCHAR(255) | 电话号码 | +| Address | VARCHAR(255) | 地址 | +| CreateDate | BIGINT | 创建日期(DateTime格式) | +| DeleteDate | BIGINT | 删除日期(DateTime格式) | + +建表参考 + +```sql +DROP TABLE IF EXISTS DataManufacture; +CREATE TABLE DataManufacture( + ID INT PRIMARY KEY AUTO_INCREMENT, + Name VARCHAR(255), + PhoneNumbers VARCHAR(255), + Address VARCHAR(255), + CreateDate BIGINT, + DeleteDate BIGINT +); +``` + +# 货架表【DataShelf】 + +用于提供货架的位置信息以及库存数量的列表。 + +| 字段 | 类型 | 说明 | +| --------------------- | ------------ | -------- | +| ID | INT | 唯一标识,自增 | +| Name | VARCHAR(255) | 货架名称,唯一 | +| MaxWeight | FLOAT | 承重 | +| Position | VARCHAR(255) | 位置信息 | +| CurrentEquipmentCount | INT | 当前在位装备数量 | +| AllEquipmentCount | INT | 所有装备数量 | +| CreateDate | BIGINT | 创建日期 | +| DeleteDate | BIGINT | 删除日期 | + +建表参考 + +```sql +DROP TABLE IF EXISTS DataShelf; +CREATE TABLE DataShelf ( + ID INT PRIMARY KEY AUTO_INCREMENT, + Name VARCHAR(255) UNIQUE NOT NULL, + MaxWeight FLOAT, + Position VARCHAR(255), + CurrentEquipmentCount INT, + AllEquipmentCount INT, + CreateDate BIGINT, + DeleteDate BIGINT +); +``` + +# 装备表【DataEquipment】 + +用于提供入库的所有装备以及每个装备的状态信息 + +| 字段 | 类型 | 说明 | +| -------------- | ------------ | ----------------- | +| ID | INT | 自增ID,唯一标识 | +| RFID | VARCHAR(255) | RFID条形码信息,唯一 | +| Name | VARCHAR(255) | 装备类型(名称) | +| ShelfID | INT | 货架ID,对应货架表的唯一标识 | +| ShelfPosition | VARCHAR(255) | 物品在货架的位置 | +| ManufactureID | INT | 供应商ID,对应供应商表的唯一标识 | +| OtherInfo | VARCHAR(255) | 其他补充信息 | +| IsInStorage | BOOLEAN | 是否在库 | +| IsBroken | BOOLEAN | 是否损坏 | +| NeedRepairDate | BIGINT | 检修日期 | +| LastRepairDate | BIGINT | 上次维修日期 | +| CreateDate | BIGINT | 创建时间 | +| DeleteDate | BIGINT | 删除时间 | + +建表参考 + +```sql +DROP TABLE IF EXISTS DataEquipment; +CREATE TABLE DataEquipment( + ID INT PRIMARY KEY AUTO_INCREMENT, + RFID VARCHAR(255) UNIQUE NOT NULL, + Name VARCHAR(255), + ShelfID INT, + ShelfPosition VARCHAR(255), + ManufactureID INT, + OtherInfo VARCHAR(255), + IsInStorage BOOLEAN, + IsBroken BOOLEAN, + NeedRepairDate BIGINT, + LastRepairDate BIGINT, + CreateDate BIGINT, + DeleteDate BIGINT +); +``` + +# 历史记录表 + +用于提供装备的出入库记录,维修记录,报损报废记录等等。 + +## 装备领出记录【DataOutHistoryEquipment】 + +| 字段 | 类型 | 说明 | +| --------- | ------------ | --------------- | +| ID | INT | 唯一标识 | +| RFID | VARCHAR(255) | RFID条形码信息 | +| Name | VARCHAR(255) | 装备类型(名称) | +| OutDate | BIGINT | 领出日期 | +| ShelfID | INT | 货架ID,对应货架表的唯一标识 | +| ShelfName | VARCHAR(255) | 货架名称 | + +补充人员信息【DataOutHistoryEquipmentWithUser】 + +| 字段 | 类型 | 说明 | +| --------- | ------------ | -------- | +| PoliceID | VARCHAR(255) | 警号 | +| UserName | VARCHAR(255) | 姓名 | +| PhotoPath | VARCHAR(255) | 本次领出拍照路径 | + +## 装备归还记录【DataInHistoryEquipment】 + +| 字段 | 类型 | 说明 | +| --------- | ------------ | --------------- | +| ID | INT | 唯一标识 | +| RFID | VARCHAR(255) | RFID条形码信息 | +| Name | VARCHAR(255) | 装备类型(名称) | +| InDate | BIGINT | 归还日期 | +| ShelfID | INT | 货架ID,对应货架表的唯一标识 | +| ShelfName | VARCHAR(255) | 货架名称 | + +补充人员信息【DataOutHistoryEquipmentWithUser】 + +| 字段 | 类型 | 说明 | +| --------- | ------------ | -------- | +| PoliceID | VARCHAR(255) | 警号 | +| UserName | VARCHAR(255) | 姓名 | +| PhotoPath | VARCHAR(255) | 本次归还拍照路径 | + +## 装备报损记录【DataBrokenHistoryEquipment】 + +| 字段 | 类型 | 说明 | +| ---------- | ------------ | --------- | +| ID | INT | 唯一标识 | +| RFID | VARCHAR(255) | RFID条形码信息 | +| Name | VARCHAR(255) | 装备类型(名称) | +| BrokenDate | BIGINT | 损坏日期 | + +## 装备维修记录【DataRepairHistoryEquipment】 + +| 字段 | 类型 | 说明 | +| ---------- | ------------ | --------- | +| ID | INT | 唯一标识 | +| RFID | VARCHAR(255) | RFID条形码信息 | +| Name | VARCHAR(255) | 装备类型(名称) | +| RepairDate | BIGINT | 维修日期 | + +## 装备报废记录【DataDisuseHistoryEquipment】 + +| 字段 | 类型 | 说明 | +| ---------- | ------------ | --------- | +| ID | INT | 唯一标识 | +| RFID | VARCHAR(255) | RFID条形码信息 | +| Name | VARCHAR(255) | 装备类型(名称) | +| DisuseDate | BIGINT | 报废日期 | + +建表参考 + +```sql +DROP TABLE IF EXISTS DataOutHistoryEquipment; +DROP TABLE IF EXISTS DataOutHistoryEquipmentWithUser; +DROP TABLE IF EXISTS DataInHistoryEquipment; +DROP TABLE IF EXISTS DataInHistoryEquipmentWithUser; +DROP TABLE IF EXISTS DataBrokenHistoryEquipment; +DROP TABLE IF EXISTS DataRepairHistoryEquipment; +DROP TABLE IF EXISTS DataDisuseHistoryEquipment; + +CREATE TABLE DataOutHistoryEquipment +( +ID INT PRIMARY KEY AUTO_INCREMENT, +RFID VARCHAR(255), +Name VARCHAR(255), +OutDate BIGINT, +ShelfID INT, +ShelfName VARCHAR(255) +); + +CREATE TABLE DataOutHistoryEquipmentWithUser +( +ID INT PRIMARY KEY AUTO_INCREMENT, +RFID VARCHAR(255), +Name VARCHAR(255), +OutDate BIGINT, +ShelfID INT, +ShelfName VARCHAR(255), +PoliceID VARCHAR(255), +UserName VARCHAR(255), +PhotoPath VARCHAR(255) +); + +CREATE TABLE DataInHistoryEquipment +( +ID INT PRIMARY KEY AUTO_INCREMENT, +RFID VARCHAR(255), +Name VARCHAR(255), +InDate BIGINT, +ShelfID INT, +ShelfName VARCHAR(255) +); + +CREATE TABLE DataInHistoryEquipmentWithUser +( +ID INT PRIMARY KEY AUTO_INCREMENT, +RFID VARCHAR(255), +Name VARCHAR(255), +InDate BIGINT, +ShelfID INT, +ShelfName VARCHAR(255), +PoliceID VARCHAR(255), +UserName VARCHAR(255), +PhotoPath VARCHAR(255) +); + +CREATE TABLE DataBrokenHistoryEquipment +( +ID INT PRIMARY KEY AUTO_INCREMENT, +RFID VARCHAR(255), +Name VARCHAR(255), +BrokenDate BIGINT +); + +CREATE TABLE DataRepairHistoryEquipment +( +ID INT PRIMARY KEY AUTO_INCREMENT, +RFID VARCHAR(255), +Name VARCHAR(255), +RepairDate BIGINT +); + +CREATE TABLE DataDisuseHistoryEquipment +( +ID INT PRIMARY KEY AUTO_INCREMENT, +RFID VARCHAR(255), +Name VARCHAR(255), +DisuseDate BIGINT +); +``` + +# 人员用户表 + + + +## 人员表 + +用于管理人员人脸信息等 + +| 字段 | 类型 | 说明 | +| ----------- | ------------ | ------ | +| ID | INT | 唯一标识 | +| Name | VARCHAR(255) | 人员名称 | +| PoliceID | INT | 警号 | +| FaceDataURL | VARCHAR(255) | 人脸信息路径 | +| OtherMsg | VARCHAR(255) | 补充信息 | +| CreateDate | BIGINT | 创建日期 | +| DeleteDate | BIGINT | 删除日期 | + +## 管理员表 + +| 字段 | 类型 | 说明 | +| --------------- | ------------ | ------ | +| ID | INT | 唯一标识 | +| Name | VARCHAR(255) | 管理员名称 | +| UserName | VARCHAR(255) | 管理员用户名 | +| Password | VARCHAR(255) | 密码 | +| PermissionLevel | INT | 权限等级 | +| CreateDate | BIGINT | 创建日期 | +| DeleteDate | BIGINT | 删除日期 | + +建表参考 + +```sql + +```