Skip to content

Commit

Permalink
docs:migrate docs
Browse files Browse the repository at this point in the history
  • Loading branch information
hackycy committed May 9, 2021
1 parent 42bd44b commit d591e52
Show file tree
Hide file tree
Showing 15 changed files with 1,190 additions and 3 deletions.
6 changes: 5 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -32,4 +32,8 @@ lerna-debug.log*
!.vscode/settings.json
!.vscode/tasks.json
!.vscode/launch.json
!.vscode/extensions.json
!.vscode/extensions.json

# Code
src/config/config.local.*
docs/sample/mysql/
81 changes: 81 additions & 0 deletions docs/sample/config.local.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
import { EggAppConfig, PowerPartial } from 'egg';
const redisStore = require('cache-manager-ioredis');

export default (): any => {
const config: PowerPartial<EggAppConfig> = {};

/**
* 邮件推送配置
*/
config.mailer = {
host: 'xxx host',
port: 80,
auth: {
user: '[email protected]',
pass: 'xxxxxxx',
},
secure: false,
};

// 高德开放平台应用Key
config.amap = {
key: 'xxxxxxxxxxxxxxxxxxxxx',
};

// bull config
config.bull = {
default: {
redis: {
port: 6379,
host: '127.0.0.1',
password: '123456',
db: 0,
},
prefix: 'admin:task',
},
};

// Root角色对应ID
config.rootRoleId = 1;

/**
* typeorm 配置
* 文档:https://www.yuque.com/midwayjs/midway_v2/orm#njH6J
*/
config.orm = {
type: 'mysql',
host: '127.0.0.1',
port: 3306,
username: 'root',
password: '123456',
database: 'sf-admin',
synchronize: false,
logging: true,
// timezone: '+00:00',
/**
* JavaScript对数据库中int和bigint的区别对待:
* 刚开始开发中,线下测试数据库id字段采用int,数据库SELECT操作返回的结果是Number,但是使用bigint,数据库返回的为String,
* 初步猜想是因为bigint的值范围会超过Number,所以采用String。但是这样会对我们业务产生巨大影戏那个,一方面,DTO校验会无法通过,另一方面,问题1中的业务逻辑会受影响。
* 经过查找各方文档,解决方案是在数据库连接配置中配置:
* "supportBigNumbers": false
* 可以配置这个的原因是我们的业务ID距离Number的上线远远达不到,所以可以用这种方式让
* bigint也返回Number。
* 但是这样配置,TypeOrm插入操作的返回值中的identifiers字段中的id还是String,所以问题1中的处理方式也要对String进行parseInt操作。
*/
// supportBigNumbers: false,
};

// midway cache
config.cache = {
store: redisStore,
options: {
host: '127.0.0.1', // default value
port: 6379, // default value
password: '123456',
db: 0,
ttl: 60,
},
};

return config;
};
66 changes: 66 additions & 0 deletions docs/sample/docker-compose.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
version: "2.0"

services:

db:
image: mysql:5.7.34
command: --default-authentication-plugin=mysql_native_password
restart: always
volumes:
- ./mysql:/var/lib/mysql/ # ./mysql路径可以替换成自己的路径
- ../../sql/:/docker-entrypoint-initdb.d/ # 初始化的脚本
ports:
- 3306:3306
environment:
TZ: Asia/Shanghai
MYSQL_ROOT_PASSWORD: 123456
MYSQL_DATABASE: sf-admin
MYSQL_USER: sf-admin
MYSQL_PASSWORD: 123456

redis:
image: redis:alpine
command: --requirepass "123456"
restart: always
ports:
- 6379:6379
environment:
TZ: Asia/Shanghai

sfserver:
image: qa894178522/sfmidwayadmin:rc
restart: always
depends_on:
- db
- redis
environment:
MYSQL_HOST: db
MYSQL_PORT: 3306
MYSQL_USERNAME: sf-admin
MYSQL_PASSWORD: 123456
MYSQL_DATABASE: sf-admin
REDIS_HOST: redis
REDIS_PORT: 6379
REDIS_PASSWORD: 123456
# 可选
MAILER_HOST: xxx
MAILER_PORT: xxx
MAILER_USER: xxx
MAILER_PASS: xxx
AMAP_KEY: xxx
QINIU_ACCESSKEY: xxx
QINIU_SECRETKEY: xxx
QINIU_DOMAIN: xxx
QINIU_BUCKET: xxx
QINIU_ZONE: xxx # Zone_as0 | Zone_na0 | Zone_z0 | Zone_z1 | Zone_z2
QINIU_ACCESS_TYPE: public # or private

sfvue:
image: qa894178522/sfvueadmin:rc
restart: always
environment:
TZ: Asia/Shanghai
depends_on:
- sfserver
ports:
- 7002:80
Binary file added docs/screenshot/1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/screenshot/2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/screenshot/3.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/screenshot/4.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/screenshot/5.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
236 changes: 236 additions & 0 deletions docs/权限管理数据库设计文档.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,236 @@
# 文档修订记录

| 日期 | 版本 | 说明 | 作者 |
| :--------- | :----- | :--- | :----- |
| 2020-08-21 | v1.0.0 | 创建 | 杨长源 |

# 参考文献

https://blog.csdn.net/gglinux/article/details/68948901

https://www.zybuluo.com/stonezhou/note/1292262

http://www.csdeshang.com/home/dsmall/database.html

# 数据模型实体属性

## sys_menu

**表注释: 系统菜单**

| 字段 | 类型 || 默认 | 注释 |
| --------- | ------------ | ---- | ---- | ------------------------------- |
| id | int(20) || | ID |
| parent_id | int(20) | | | 父菜单ID |
| name | varchar(255) || | 菜单名称 |
| router | varchar(255) | | | 菜单地址 |
| perms | varchar(255) | | | 权限标识 |
| type | tinyint(4) || 0 | 类型,0:目录、1:菜单、2:按钮 |
| icon | varchar(255) | | | 对应图标 |
| order_num | int(11) | | 0 | 排序 |
| view_path | varchar(255) | | | 视图地址,对应vue文件 |
| keepalive | boolean | | true | 路由缓存 |
| Is_show | boolean | | true | 是否显示在菜单栏 |

**索引**

| 键名 | 类型 | 唯一 | 紧凑 | 字段 | 基数 | 排序规则 || 注释 |
| ------- | ----- | ---- | ---- | ------ | ---- | -------- | ---- | ---- |
| PRIMARY | BTREE ||| id | 0 | A || |

## sys_department

**表注释:系统部门**

| 字段 | 类型 || 默认 | 注释 |
| --------- | ------------ | ---- | ---- | ---------- |
| id | int(20) || | ID |
| parent_id | int(20) | | | 上级部门ID |
| name | varchar(255) || | 部门名称 |
| order_num | int(11) | | 0 | 排序 |

**索引**

| 键名 | 类型 | 唯一 | 紧凑 | 字段 | 基数 | 排序规则 || 注释 |
| ------- | ----- | ---- | ---- | ---- | ---- | -------- | ---- | ---- |
| PRIMARY | BTREE ||| id | 0 | A || |

## sys_user

**表注释:系统用户**

| 字段 | 类型 || 默认 | 注释 |
| ------------- | ------------ | ---- | ---- | ------------------------------------------ |
| id | int(20) || | ID |
| department_id | int(20) || | 部门编号 |
| name | varchar(255) || | 姓名 |
| username | varchar(255) || | 登录账号 |
| password | varchar(255) || | 密码 |
| psalt | varchar(32) || | 密码盐值(随机生成,每个用户对应一个盐值) |
| nick_name | varchar(255) | | | 昵称 |
| head_img | varchar(255) | | | 头像 |
| email | varchar(255) | | | 邮箱 |
| phone | varchar(20) | | | 手机号 |
| remark | varchar(255) | | | 备注 |
| status | tinyint(4) | | 1 | 状态:0:禁用,1:启用 |

**索引**

| 键名 | 类型 | 唯一 | 紧凑 | 字段 | 基数 | 排序规则 || 注释 |
| ------- | ----- | ---- | ---- | -------- | ---- | -------- | ---- | ---- |
| PRIMARY | BTREE ||| id | 0 | A || |
| UNIQUE | BTREE ||| username | | || |

## sys_role

**表注释:系统角色**

| 字段 | 类型 || 默认 | 注释 |
| ------- | ------------ | ---- | ---- | ------ |
| id | int(20) || | ID |
| user_id | varchar(255) || | 创建人 |
| name | varchar(255) || | 名称 |
| label | varchar(50) || | 标签 |
| remark | varchar(255) | | | 备注 |

**索引**

| 键名 | 类型 | 唯一 | 紧凑 | 字段 | 基数 | 排序规则 || 注释 |
| ------- | ----- | ---- | ---- | ----- | ---- | -------- | ---- | ---- |
| PRIMARY | BTREE ||| id | 0 | A || |
| UNIQUE | BTREE ||| label | | A || |
| UNIQUE | BTREE ||| name | | A || |

## sys_role_department

**表注释:系统角色部门关系**

| 字段 | 类型 || 默认 | 注释 |
| ------------- | ------- | ---- | ---- | ------ |
| id | int(20) || | ID |
| role_id | int(20) || | 角色ID |
| department_id | int(20) || | 部门ID |

**索引**

| 键名 | 类型 | 唯一 | 紧凑 | 字段 | 基数 | 排序规则 || 注释 |
| ------- | ----- | ---- | ---- | ---- | ---- | -------- | ---- | ---- |
| PRIMARY | BTREE ||| id | 0 | A || |

## sys_role_menu

**表注释:系统角色菜单关系**

| 字段 | 类型 || 默认 | 注释 |
| ------- | ------- | ---- | ---- | ------ |
| id | int(20) || | ID |
| role_id | int(20) || | 角色ID |
| menu_id | int(20) || | 菜单ID |

**索引**

| 键名 | 类型 | 唯一 | 紧凑 | 字段 | 基数 | 排序规则 || 注释 |
| ------- | ----- | ---- | ---- | ---- | ---- | -------- | ---- | ---- |
| PRIMARY | BTREE ||| id | 0 | A || |

## sys_user_role

**表注释:系统用户角色关系**

| 字段 | 类型 || 默认 | 注释 |
| ------- | ------- | ---- | ---- | ------ |
| id | int(20) || | ID |
| user_id | int(20) || | 用户ID |
| role_id | int(20) || | 角色ID |

**索引**

| 键名 | 类型 | 唯一 | 紧凑 | 字段 | 基数 | 排序规则 || 注释 |
| ------- | ----- | ---- | ---- | ---- | ---- | -------- | ---- | ---- |
| PRIMARY | BTREE ||| id | 0 | A || |

## sys_req_log

**表注释:请求追踪日志表**

| 字段 | 类型 || 默认 | 注释 |
| ------------ | ------------ | ---- | ---- | ----------------------- |
| id | int(20) || | ID |
| ip | varchar(255) | | | ip |
| user_id | int(20) | | | 请求用户的用户id |
| params | varchar(255) | | | 参数 |
| action | varchar(100) | | | 行为 |
| method | varchar(15) | | | 请求方式,同http method |
| status | int | | | 请求状态码 |
| consume_time | int | | 0 | 响应时间 |

**索引**

| 键名 | 类型 | 唯一 | 紧凑 | 字段 | 基数 | 排序规则 || 注释 |
| ------- | ----- | ---- | ---- | ---- | ---- | -------- | ---- | ---- |
| PRIMARY | BTREE ||| id | 0 | A || |

## sys_login_log

**表注释:登录日志表**

| 字段 | 类型 || 默认 | 注释 |
| ------- | ------------ | ---- | ---- | ---------------------------- |
| id | int(20) || | ID |
| user_id | int(20) | | | 登录的用户id |
| ip | varchar(255) | | | 登录ip |
| time | datetime | | | 登陆时间(未使用,保留字段) |
| ua | varchar(500) | | | user-agent |

**索引**

| 键名 | 类型 | 唯一 | 紧凑 | 字段 | 基数 | 排序规则 || 注释 |
| ------- | ----- | ---- | ---- | ---- | ---- | -------- | ---- | ---- |
| PRIMARY | BTREE ||| id | 0 | A || |

## sys_task

**表注释:系统任务表**

| 字段 | 类型 || 默认 | 注释 |
| ---------- | ------------ | ---- | ---- | ------------------------------------- |
| id | int(20) || | ID |
| name | varchar(50) || | 任务名称 |
| service | varchar(255) || | 需要执行的service |
| type | tinyint(4) || 0 | 任务模式:0为cron,1为时间间隔 |
| status | tinyint(1) | | 0 | 任务状态:0为停止,1为运行 |
| start_time | datetime | | | 任务开始时间,type为0时生效 |
| end_time | datetime | | | 任务结束时间,type为0时生效 |
| limit | int | | 0 | 最大执行次数,小于或者等于0则不限次数 |
| cron | varchar(255) | | | cron表达式,type为0时生效 |
| every | int | | | 执行间隔,type为1时生效 |
| data | text | | | 传入数据 |
| job_opts | text | | | bull job options |
| remark | varchar(255) | | | 备注 |

**索引**

| 键名 | 类型 | 唯一 | 紧凑 | 字段 | 基数 | 排序规则 || 注释 |
| ------- | ----- | ---- | ---- | ---- | ---- | -------- | ---- | ---- |
| PRIMARY | BTREE ||| id | 0 | A || |
| UNIQUE | BTREE ||| name | | A || |

## sys_task_log

**表注释:任务日志表**

| 字段 | 类型 || 默认 | 注释 |
| ------- | ---------- | ---- | ---- | ------------------------------------- |
| id | int(20) || | id |
| task_id | int(20) || | 对应任务id |
| status | Tinyint(4) || 0 | 任务状态:0为失败,1为成功 |
| detail | Text | | | 任务详情 |
| consume_time | int | | 0 | 任务完成耗时 (ms) |

**索引**

| 键名 | 类型 | 唯一 | 紧凑 | 字段 | 基数 | 排序规则 || 注释 |
| ------- | ----- | ---- | ---- | ---- | ---- | -------- | ---- | ---- |
| PRIMARY | BTREE ||| id | 0 | A || |


Loading

0 comments on commit d591e52

Please sign in to comment.