feat: 添加部门管理功能、主题切换和多语言支持

refactor(dashboard): 重构用户管理页面和路由结构

feat(server): 实现部门管理API和RBAC增强功能

docs: 更新用户手册和管理员指南文档

style: 统一图标使用和组件命名规范

test: 添加部门服务和数据隔离测试用例

chore: 更新依赖和配置文件
This commit is contained in:
2026-03-28 22:52:12 +08:00
parent 22308fe042
commit d327706087
87 changed files with 21372 additions and 4806 deletions

1316
docs/API_Documentation.md Normal file

File diff suppressed because it is too large Load Diff

326
docs/Admin_Guide.md Normal file
View File

@@ -0,0 +1,326 @@
# 管理员指南
## 1. 管理员概述
作为租户管理员,您拥有管理整个租户的权限,包括用户管理、权限配置、系统设置、店铺管理等。本指南将帮助您了解和使用管理员的各项功能。
## 2. 登录与权限
### 2.1 管理员登录
1. 打开浏览器输入系统地址http://localhost:8000
2. 输入您的管理员邮箱和密码
3. 点击"登录"按钮
4. 成功登录后,系统会自动跳转到管理员仪表盘页面
### 2.2 管理员权限
作为租户管理员,您拥有以下权限:
- **用户管理**:添加、编辑、删除用户,分配角色
- **权限管理**:创建和管理角色,分配权限
- **系统设置**:修改系统配置,设置通知规则
- **店铺管理**:添加、编辑、删除店铺,管理店铺授权
- **部门管理**:创建和管理部门,设置部门负责人
- **订阅管理**:管理租户订阅,查看使用量统计
## 3. 用户管理
### 3.1 查看用户列表
1. 点击左侧导航栏中的"系统设置"
2. 在系统设置页面,点击"用户管理"
3. 查看所有用户的基本信息,包括姓名、邮箱、角色、状态等
4. 使用搜索框和筛选条件快速找到目标用户
### 3.2 添加用户
1. 在用户管理页面,点击"添加用户"按钮
2. 填写用户基本信息:
- 姓名
- 邮箱(必须唯一)
- 密码
- 角色(选择用户的角色)
- 部门(选择用户所属部门)
- 状态(启用或禁用)
3. 点击"保存"按钮
### 3.3 编辑用户
1. 在用户列表中找到需要编辑的用户
2. 点击"编辑"按钮
3. 修改用户信息
4. 点击"保存"按钮
### 3.4 删除用户
1. 在用户列表中找到需要删除的用户
2. 点击"删除"按钮
3. 在确认对话框中点击"确定"按钮
### 3.5 批量操作
1. 在用户列表中,勾选多个用户
2. 点击"批量操作"按钮
3. 选择要执行的操作,如批量启用、批量禁用、批量删除等
4. 点击"执行"按钮
## 4. 权限管理
### 4.1 角色管理
#### 4.1.1 查看角色列表
1. 在系统设置页面,点击"权限管理"
2. 查看所有角色的基本信息,包括角色名称、描述、创建时间等
#### 4.1.2 创建角色
1. 在权限管理页面,点击"创建角色"按钮
2. 填写角色基本信息:
- 角色名称
- 角色描述
3. 为角色分配权限:
- 选择模块权限
- 选择操作权限
4. 点击"保存"按钮
#### 4.1.3 编辑角色
1. 在角色列表中找到需要编辑的角色
2. 点击"编辑"按钮
3. 修改角色信息和权限
4. 点击"保存"按钮
#### 4.1.4 删除角色
1. 在角色列表中找到需要删除的角色
2. 点击"删除"按钮
3. 在确认对话框中点击"确定"按钮
### 4.2 权限分配
#### 4.2.1 为用户分配角色
1. 在用户管理页面,找到需要分配角色的用户
2. 点击"编辑"按钮
3. 在"角色"下拉菜单中选择角色
4. 点击"保存"按钮
#### 4.2.2 为部门分配权限
1. 在系统设置页面,点击"部门管理"
2. 找到需要分配权限的部门
3. 点击"权限"按钮
4. 为部门分配权限
5. 点击"保存"按钮
## 5. 系统设置
### 5.1 基本配置
1. 在系统设置页面,点击"系统配置"
2. 修改系统的基本设置:
- 系统名称
- 系统Logo
- 系统描述
- 时区设置
- 语言设置
3. 点击"保存"按钮
### 5.2 通知设置
1. 在系统配置页面,点击"通知设置"
2. 设置系统通知的相关参数:
- 邮件通知开关
- 短信通知开关
- 系统内通知开关
- 通知模板
3. 点击"保存"按钮
### 5.3 安全设置
1. 在系统配置页面,点击"安全设置"
2. 设置系统安全的相关参数:
- 密码策略(长度、复杂度要求)
- 登录失败次数限制
- 会话超时时间
- 双因素认证开关
3. 点击"保存"按钮
## 6. 店铺管理
### 6.1 平台开发者配置
1. 在系统设置页面,点击"平台开发者配置"
2. 点击"添加平台"按钮
3. 填写平台的基本信息:
- 平台名称
- App ID
- App Secret
- 回调地址
4. 点击"保存"按钮
### 6.2 店铺授权
1. 在系统设置页面,点击"店铺授权"
2. 点击"添加店铺"按钮
3. 选择平台,并按照提示完成授权流程
4. 授权成功后,店铺会显示在店铺列表中
### 6.3 店铺管理
1. 在店铺授权页面,查看所有已授权的店铺
2. 点击"编辑"按钮修改店铺信息
3. 点击"删除"按钮删除店铺
4. 点击"重新授权"按钮重新授权店铺
## 7. 部门管理
### 7.1 查看部门列表
1. 在系统设置页面,点击"部门管理"
2. 查看所有部门的基本信息,包括部门名称、负责人、用户数等
3. 使用搜索框快速找到目标部门
### 7.2 创建部门
1. 在部门管理页面,点击"添加部门"按钮
2. 填写部门基本信息:
- 部门名称
- 上级部门(可选)
- 部门描述
3. 点击"保存"按钮
### 7.3 编辑部门
1. 在部门列表中找到需要编辑的部门
2. 点击"编辑"按钮
3. 修改部门信息
4. 点击"保存"按钮
### 7.4 删除部门
1. 在部门列表中找到需要删除的部门
2. 点击"删除"按钮
3. 在确认对话框中点击"确定"按钮
### 7.5 设置部门负责人
1. 在部门列表中找到需要设置负责人的部门
2. 点击"负责人"按钮
3. 选择部门负责人
4. 点击"保存"按钮
## 8. 订阅与计费
### 8.1 套餐管理
1. 点击左侧导航栏中的"订阅与计费"
2. 在订阅与计费页面,点击"套餐管理"
3. 查看当前可用的套餐
4. 点击"切换套餐"按钮选择新的套餐
### 8.2 使用量统计
1. 在订阅与计费页面,点击"使用量统计"
2. 查看系统的使用情况,包括:
- AI调用次数
- 店铺数量
- 存储空间使用情况
- API调用次数
3. 选择时间范围查看不同时期的使用数据
### 8.3 计费周期
1. 在订阅与计费页面,点击"计费周期"
2. 查看当前的计费周期和费用
3. 选择计费方式(月付或年付)
## 9. 数据管理
### 9.1 数据导出
1. 在系统设置页面,点击"数据管理"
2. 点击"数据导出"按钮
3. 选择要导出的数据类型
4. 选择导出格式CSV或Excel
5. 点击"导出"按钮
### 9.2 数据导入
1. 在系统设置页面,点击"数据管理"
2. 点击"数据导入"按钮
3. 选择要导入的数据类型
4. 上传数据文件
5. 点击"导入"按钮
### 9.3 数据备份
1. 在系统设置页面,点击"数据管理"
2. 点击"数据备份"按钮
3. 选择备份类型(手动备份或自动备份)
4. 点击"开始备份"按钮
## 10. 日志管理
### 10.1 操作日志
1. 在系统设置页面,点击"日志管理"
2. 查看系统的操作日志,包括:
- 操作人
- 操作类型
- 操作时间
- 操作内容
3. 使用搜索框和筛选条件快速找到目标日志
### 10.2 登录日志
1. 在日志管理页面,点击"登录日志"
2. 查看系统的登录日志,包括:
- 登录人
- 登录时间
- 登录IP
- 登录状态
3. 使用搜索框和筛选条件快速找到目标日志
### 10.3 异常日志
1. 在日志管理页面,点击"异常日志"
2. 查看系统的异常日志,包括:
- 异常时间
- 异常类型
- 异常详情
- 影响范围
3. 使用搜索框和筛选条件快速找到目标日志
## 11. 常见问题
### 11.1 用户管理问题
- **用户无法登录**:检查用户状态是否为启用,密码是否正确
- **用户权限不足**:检查用户角色和权限设置
### 11.2 店铺授权问题
- **授权失败**:检查平台开发者配置是否正确,网络连接是否正常
- **授权过期**:重新授权店铺
### 11.3 系统配置问题
- **配置不生效**:检查配置是否保存成功,是否需要重启系统
- **系统性能问题**:检查系统资源使用情况,优化系统配置
### 11.4 数据问题
- **数据丢失**:恢复最近的备份
- **数据错误**:检查数据导入过程,修正错误数据
## 12. 联系支持
如果您在使用过程中遇到任何问题,可以通过以下方式联系支持:
- **在线客服**:系统右下角的在线客服按钮
- **邮件支持**support@crawlful.com
- **电话支持**400-123-4567
- **技术支持**tech@crawlful.com
---
本指南会定期更新,以反映系统的最新功能和变化。

624
docs/Deployment_Guide.md Normal file
View File

@@ -0,0 +1,624 @@
# 部署文档
## 1. 系统概述
Crawlful Hub 是一个多平台电商管理系统,支持多租户、多店铺管理,提供商品、订单、财务、营销等核心功能。本指南将帮助您部署和配置系统。
## 2. 硬件要求
### 2.1 最低配置
| 组件 | 要求 |
|------|------|
| CPU | 4核 |
| 内存 | 8GB |
| 存储 | 100GB SSD |
| 网络 | 100Mbps |
### 2.2 推荐配置
| 组件 | 要求 |
|------|------|
| CPU | 8核 |
| 内存 | 16GB |
| 存储 | 200GB SSD |
| 网络 | 1Gbps |
## 3. 软件依赖
### 3.1 核心依赖
| 软件 | 版本 | 用途 |
|------|------|------|
| Node.js | 16.x 或更高 | 运行时环境 |
| npm | 8.x 或更高 | 包管理工具 |
| MySQL | 8.0 或更高 | 数据库 |
| Redis | 6.0 或更高 | 缓存和队列 |
| NGINX | 1.18 或更高 | 反向代理 |
### 3.2 可选依赖
| 软件 | 版本 | 用途 |
|------|------|------|
| Docker | 20.10 或更高 | 容器化部署 |
| Docker Compose | 1.29 或更高 | 容器编排 |
| PM2 | 5.x 或更高 | 进程管理 |
## 4. 安装步骤
### 4.1 环境准备
#### 4.1.1 安装 Node.js 和 npm
**Ubuntu/Debian**
```bash
# 添加 Node.js 源
curl -fsSL https://deb.nodesource.com/setup_16.x | sudo -E bash -
# 安装 Node.js 和 npm
sudo apt-get install -y nodejs
# 验证安装
node -v
npm -v
```
**CentOS/RHEL**
```bash
# 添加 Node.js 源
sudo curl -fsSL https://rpm.nodesource.com/setup_16.x | bash -
# 安装 Node.js 和 npm
sudo yum install -y nodejs
# 验证安装
node -v
npm -v
```
**Windows**
1. 访问 [Node.js 官网](https://nodejs.org/en/download/)
2. 下载并安装 Node.js LTS 版本
3. 验证安装:打开命令提示符,运行 `node -v``npm -v`
#### 4.1.2 安装 MySQL
**Ubuntu/Debian**
```bash
# 安装 MySQL
sudo apt-get update
sudo apt-get install -y mysql-server
# 启动 MySQL 服务
sudo systemctl start mysql
sudo systemctl enable mysql
# 配置 MySQL
mysql_secure_installation
```
**CentOS/RHEL**
```bash
# 安装 MySQL
sudo yum update
sudo yum install -y mysql-server
# 启动 MySQL 服务
sudo systemctl start mysqld
sudo systemctl enable mysqld
# 配置 MySQL
mysql_secure_installation
```
**Windows**
1. 访问 [MySQL 官网](https://dev.mysql.com/downloads/installer/)
2. 下载并安装 MySQL Installer
3. 按照向导完成安装和配置
#### 4.1.3 安装 Redis
**Ubuntu/Debian**
```bash
# 安装 Redis
sudo apt-get update
sudo apt-get install -y redis-server
# 启动 Redis 服务
sudo systemctl start redis-server
sudo systemctl enable redis-server
```
**CentOS/RHEL**
```bash
# 安装 Redis
sudo yum update
sudo yum install -y redis
# 启动 Redis 服务
sudo systemctl start redis
sudo systemctl enable redis
```
**Windows**
1. 访问 [Redis 官网](https://github.com/tporadowski/redis/releases)
2. 下载并安装 Redis for Windows
3. 启动 Redis 服务
#### 4.1.4 安装 NGINX
**Ubuntu/Debian**
```bash
# 安装 NGINX
sudo apt-get update
sudo apt-get install -y nginx
# 启动 NGINX 服务
sudo systemctl start nginx
sudo systemctl enable nginx
```
**CentOS/RHEL**
```bash
# 安装 NGINX
sudo yum update
sudo yum install -y nginx
# 启动 NGINX 服务
sudo systemctl start nginx
sudo systemctl enable nginx
```
**Windows**
1. 访问 [NGINX 官网](https://nginx.org/en/download.html)
2. 下载并解压 NGINX
3. 启动 NGINX 服务
### 4.2 系统安装
#### 4.2.1 克隆代码库
```bash
# 克隆代码库
git clone https://github.com/crawlful/crawlful-hub.git
cd crawlful-hub
```
#### 4.2.2 安装依赖
```bash
# 安装后端依赖
cd server
npm install
# 安装前端依赖
cd ../dashboard
npm install
```
#### 4.2.3 配置环境变量
**后端配置**
`server` 目录下创建 `.env` 文件:
```env
# 服务器配置
PORT=3000
NODE_ENV=production
# 数据库配置
DB_HOST=localhost
DB_PORT=3306
DB_USER=root
DB_PASSWORD=your_password
DB_NAME=crawlful_hub
# Redis 配置
REDIS_HOST=localhost
REDIS_PORT=6379
REDIS_PASSWORD=
# JWT 配置
JWT_SECRET=your_jwt_secret
JWT_EXPIRES_IN=24h
# 邮件配置
SMTP_HOST=smtp.example.com
SMTP_PORT=587
SMTP_USER=your_email@example.com
SMTP_PASSWORD=your_email_password
# 其他配置
API_PREFIX=/api/v1
CORS_ORIGIN=*
```
**前端配置**
`dashboard` 目录下创建 `.env` 文件:
```env
# 前端配置
REACT_APP_API_URL=http://localhost:3000/api/v1
REACT_APP_SYSTEM_NAME=Crawlful Hub
REACT_APP_ENV=production
```
#### 4.2.4 数据库初始化
```bash
# 进入后端目录
cd server
# 运行数据库迁移
npm run migrate
# 初始化数据
npm run seed
```
#### 4.2.5 构建前端
```bash
# 进入前端目录
cd ../dashboard
# 构建前端
npm run build
# 将构建产物复制到后端静态目录
cp -r build/* ../server/public/
```
## 5. 配置说明
### 5.1 数据库配置
#### 5.1.1 创建数据库
```sql
CREATE DATABASE crawlful_hub CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
```
#### 5.1.2 创建用户
```sql
CREATE USER 'crawlful'@'localhost' IDENTIFIED BY 'your_password';
GRANT ALL PRIVILEGES ON crawlful_hub.* TO 'crawlful'@'localhost';
FLUSH PRIVILEGES;
```
### 5.2 Redis 配置
编辑 Redis 配置文件(通常位于 `/etc/redis/redis.conf`
```conf
# 绑定地址
bind 127.0.0.1
# 端口
port 6379
# 密码
requirepass your_redis_password
# 内存限制
maxmemory 2gb
maxmemory-policy allkeys-lru
# 持久化
save 900 1
save 300 10
save 60 10000
```
### 5.3 NGINX 配置
创建 NGINX 配置文件(通常位于 `/etc/nginx/sites-available/crawlful.conf`
```nginx
server {
listen 80;
server_name example.com;
location / {
root /path/to/crawlful-hub/server/public;
index index.html;
try_files $uri $uri/ /index.html;
}
location /api/ {
proxy_pass http://localhost:3000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
error_page 404 /404.html;
error_page 500 502 503 504 /500.html;
}
```
启用配置:
```bash
sudo ln -s /etc/nginx/sites-available/crawlful.conf /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx
```
### 5.4 PM2 配置
创建 PM2 配置文件(`ecosystem.config.js`
```javascript
module.exports = {
apps: [
{
name: 'crawlful-api',
script: 'server.js',
cwd: '/path/to/crawlful-hub/server',
instances: 2,
exec_mode: 'cluster',
env: {
NODE_ENV: 'production'
},
restart_delay: 1000,
max_memory_restart: '1G'
}
]
};
```
## 6. 启动和停止
### 6.1 使用 PM2 管理
```bash
# 启动服务
pm install -g pm2
cd /path/to/crawlful-hub
pm run start:pm2
# 查看状态
pm run status
# 停止服务
npm run stop
# 重启服务
npm run restart
```
### 6.2 直接启动
```bash
# 启动后端
cd /path/to/crawlful-hub/server
npm start
# 启动前端(开发模式)
cd /path/to/crawlful-hub/dashboard
npm start
```
### 6.3 系统服务
创建系统服务文件(`/etc/systemd/system/crawlful.service`
```ini
[Unit]
Description=Crawlful Hub
After=network.target mysql.service redis.service
[Service]
Type=simple
User=ubuntu
WorkingDirectory=/path/to/crawlful-hub/server
ExecStart=/usr/bin/node server.js
Restart=on-failure
[Install]
WantedBy=multi-user.target
```
启用服务:
```bash
sudo systemctl daemon-reload
sudo systemctl enable crawlful
sudo systemctl start crawlful
```
## 7. 监控和维护
### 7.1 日志管理
**后端日志**
```bash
# 查看后端日志
cd /path/to/crawlful-hub/server
npm run logs
# 或使用 PM2 查看日志
pm run logs:pm2
```
**NGINX 日志**
```bash
# 查看访问日志
tail -f /var/log/nginx/access.log
# 查看错误日志
tail -f /var/log/nginx/error.log
```
### 7.2 数据库备份
```bash
# 备份数据库
mysqldump -u root -p crawlful_hub > crawlful_hub_backup.sql
# 恢复数据库
mysql -u root -p crawlful_hub < crawlful_hub_backup.sql
```
### 7.3 系统更新
```bash
# 拉取最新代码
git pull
# 更新依赖
cd server && npm install && cd ..
cd dashboard && npm install && cd ..
# 构建前端
cd dashboard && npm run build && cp -r build/* ../server/public/ && cd ..
# 重启服务
npm run restart
```
### 7.4 性能监控
**使用 PM2 监控**
```bash
# 查看监控面板
pm run monit
```
**使用 Redis 监控**
```bash
# 连接 Redis
redis-cli
# 查看 Redis 信息
info
```
**使用 MySQL 监控**
```bash
# 连接 MySQL
mysql -u root -p
# 查看 MySQL 状态
SHOW GLOBAL STATUS;
```
## 8. 常见问题
### 8.1 数据库连接失败
- 检查数据库服务是否运行
- 检查数据库配置是否正确
- 检查数据库用户权限是否正确
### 8.2 Redis 连接失败
- 检查 Redis 服务是否运行
- 检查 Redis 配置是否正确
- 检查 Redis 密码是否正确
### 8.3 前端无法访问后端 API
- 检查后端服务是否运行
- 检查 NGINX 配置是否正确
- 检查 CORS 配置是否正确
### 8.4 系统性能问题
- 检查服务器资源使用情况
- 优化数据库查询
- 增加服务器资源
- 启用缓存
### 8.5 安全问题
- 定期更新系统和依赖
- 使用 HTTPS
- 配置防火墙
- 定期备份数据
## 9. 故障排查
### 9.1 查看错误日志
```bash
# 查看后端错误日志
cd /path/to/crawlful-hub/server
npm run logs
# 查看系统错误日志
tail -f /var/log/syslog
```
### 9.2 检查服务状态
```bash
# 检查后端服务状态
npm run status
# 检查数据库服务状态
sudo systemctl status mysql
# 检查 Redis 服务状态
sudo systemctl status redis
# 检查 NGINX 服务状态
sudo systemctl status nginx
```
### 9.3 测试 API 接口
```bash
# 测试 API 接口
curl -X GET http://localhost:3000/api/v1/system/info
```
### 9.4 数据库连接测试
```bash
# 测试数据库连接
mysql -u root -p -e "SELECT 1;"
```
### 9.5 Redis 连接测试
```bash
# 测试 Redis 连接
redis-cli ping
```
## 10. 联系支持
如果您在部署过程中遇到任何问题,可以通过以下方式联系支持:
- **在线客服**:系统右下角的在线客服按钮
- **邮件支持**support@crawlful.com
- **电话支持**400-123-4567
- **技术支持**tech@crawlful.com
---
本指南会定期更新,以反映系统的最新部署和配置要求。

View File

@@ -0,0 +1,180 @@
# 前端缺失功能清单
基于对前端项目的深度分析,以下是发现的缺失功能:
## 1. 页面实现缺失
### 1.1 已验证存在的页面
通过实际检查,以下页面均已存在且实现:
- **StrategyMarketplace/index** - 策略市场完整实现包含多标签页和AI推荐
- **AutoProductSelection/index** - 自动产品选择(完整实现,包含选品规则和自动上架)
- **Product/ProductPublishForm** - 产品发布表单
- **Product/AIPricing/index** - AI定价
- **Product/ProfitMonitor/index** - 利润监控
- **Orders/ExceptionOrder** - 异常订单
- **AfterSales/RefundProcess** - 退款处理
- **Logistics/FreightCalc** - 运费计算
- **Finance/Reconciliation** - 财务对账
- **Marketing/Competitors** - 竞争对手分析
- **MultiShopReport/index** - 多店铺报表
- **IndependentSite/IndependentSiteCreate** - 独立站创建
- **IndependentSite/SiteTemplates** - 站点模板
- **IndependentSite/IndependentSiteAnalytics** - 独立站分析
- **IndependentSite/IndependentSiteOrder** - 独立站订单
- **IndependentSite/IndependentSiteProduct** - 独立站产品
- **IndependentSite/DomainManagement** - 域名管理
- **Compliance/CertificateManage** - 证书管理
- **Settings/SubscriptionManage** - 订阅管理
### 1.2 已验证存在的页面(补充)
- **OperationAgentEnhanced** - 增强型操作代理
## 2. 功能模块缺失
### 2.1 核心功能缺失
- **实时数据同步** - 缺少WebSocket或SSE实现
- **数据导出功能** - 报表和列表页面缺少导出功能
- **权限粒度控制** - 虽然有角色管理,但缺少细粒度权限控制
- **操作日志记录** - 缺少用户操作的详细日志
- **系统通知系统** - 缺少站内通知功能
### 2.2 已实现的核心功能
- **完整的国际化支持** - 项目已配置完整的国际化文件zh-CN.ts 和 en-US.ts大部分页面已使用 `useLocale` hook
- **用户认证系统** - 已实现完整的登录/注册/密码重置流程
- **文件上传功能** - 已实现完整的文件上传功能MaterialUpload.tsx
- **批量操作功能** - 已实现完整的批量编辑功能BatchEditModal.tsx
### 2.3 高级功能缺失
- **自动化工作流** - 已实现完整的工作流管理系统WorkflowManagement.tsx包含工作流配置、执行、监控等功能
- **深色模式** - 已实现主题切换功能ThemeContext和ThemeSwitch组件支持浅色、深色、跟随系统三种模式
- **移动端适配** - 已完善移动端适配mobile-optimization.css和ResponsiveLayout组件包含触摸优化、响应式布局、安全区域适配等
### 2.4 已实现的高级功能
- **数据可视化** - 已实现,使用 Ant Design 图表组件BarChart、LineChart 等),在 ROIAnalysis 页面有完整实现
- **AI辅助功能** - 已实现,在 AIPricing 页面有智能定价建议功能
- **多语言支持** - 已实现完整的多语言切换功能LanguageSwitch组件
## 3. 技术实现缺失
### 3.1 代码质量
- **TypeScript类型定义** - 部分文件缺少完整的类型定义
- **错误处理** - 缺少全局错误处理机制
- **性能优化** - 已实现基础性能优化工具,但缺少代码分割和懒加载
- **测试覆盖** - 缺少单元测试和集成测试
- **代码规范** - 缺少ESLint和Prettier配置
### 3.2 架构问题
### 3.3 已实现的架构功能
- **环境配置** - 已实现完整的环境配置管理(包含开发和生产环境配置文件)
- **状态管理** - 已实现全局状态管理使用Umi的model格式
- **组件复用** - 已实现完整的可复用组件库ComponentLibrary.tsx
- **Mock数据** - 已实现完善的Mock数据系统使用MSW
- **API层抽象** - 已实现完整的DataSource模式包含大量的数据源文件和API客户端管理
## 4. 用户体验缺失
### 4.1 UI/UX问题
- **加载状态** - 已实现基础加载状态LoadingState组件但部分页面可能仍需优化
- **错误提示** - 已实现基本错误提示message和Alert组件但可进一步优化用户体验
- **表单验证** - 已实现基础表单验证(如登录页面),但部分复杂表单验证仍需完善
- **导航体验** - 已实现完整的导航结构,包含权限控制和菜单管理
- **响应式设计** - 已实现基础响应式布局,但移动端适配仍需优化
- **动画效果** - 缺少丰富的动画效果,用户体验较为平淡
### 4.2 功能完整性
- **搜索功能** - 已实现基础搜索功能(如商品列表页面),但部分页面仍需添加
- **筛选功能** - 已实现高级筛选功能(如商品列表页面的多维度筛选)
- **排序功能** - 已实现完整的排序功能(如商品列表页面的多字段排序)
- **分页功能** - 已实现灵活的分页配置,支持页大小调整和快速跳转
- **面包屑导航** - 已实现自动路由生成的面包屑导航,支持自定义配置和首页显示
- **操作确认** - 已实现危险操作的确认机制(如删除、上架等操作)
## 5. 安全缺失
### 5.1 安全措施
- **敏感信息保护** - 敏感信息处理不当
- **权限验证** - 前端权限验证不严格
- **数据加密** - 缺少数据加密措施
### 5.2 已实现的安全措施
- **CSRF保护** - 已实现 CSRF 令牌生成和验证功能
- **XSS防护** - 已实现输入 sanitization 功能
## 6. 监控和可观测性
### 6.1 监控功能
- **性能监控** - 缺少前端性能监控
- **错误监控** - 缺少错误监控和上报
- **用户行为分析** - 缺少用户行为分析
- **系统状态监控** - 缺少系统状态监控
## 7. 部署和运维
### 7.1 部署相关
- **构建优化** - 构建配置需要优化
- **CI/CD集成** - CI/CD配置不完善
- **版本管理** - 版本管理不规范
- **环境变量管理** - 环境变量管理混乱
## 8. 数据管理
### 8.1 数据处理
- **数据缓存** - 缺少数据缓存策略
- **数据同步** - 数据同步机制不完善
- **数据备份** - 缺少数据备份功能
- **数据恢复** - 缺少数据恢复机制
## 优先级建议
### 高优先级(必须实现)
1. **核心页面实现** - 完成所有路由配置的页面
2. **用户认证系统** - 完善登录/注册流程
3. **权限管理** - 实现细粒度权限控制
4. **国际化支持** - 完善多语言功能
5. **错误处理** - 实现全局错误处理
6. **安全措施** - 添加基本安全防护
### 中优先级(建议实现)
1. **状态管理** - 引入全局状态管理
2. **API层抽象** - 统一API调用管理
3. **组件复用** - 构建可复用组件库
4. **数据可视化** - 添加图表和仪表盘
5. **响应式设计** - 完善移动端适配
6. **测试覆盖** - 添加单元测试
### 低优先级(可选实现)
1. **深色模式** - 实现主题切换
2. **高级动画** - 添加页面动画效果
3. **AI辅助功能** - 完善AI功能
4. **自动化工作流** - 实现工作流配置
5. **监控系统** - 添加前端监控
## 技术建议
1. **架构优化**
- 采用模块化设计
- 实现组件库和工具库
- 统一状态管理
2. **性能优化**
- 代码分割和懒加载
- 图片优化
- 缓存策略
3. **开发流程**
- 建立完整的开发规范
- 实现代码审查机制
- 自动化测试和部署
4. **安全措施**
- 实施完整的安全防护
- 定期安全审计
- 敏感信息保护
5. **用户体验**
- 完善交互设计
- 优化响应速度
- 提供友好的错误提示
此清单可作为前端开发的路线图,帮助团队系统地完善前端功能。

200
docs/User_Manual.md Normal file
View File

@@ -0,0 +1,200 @@
# 用户手册
## 1. 系统概述
Crawlful Hub 是一个多平台电商管理系统,支持多租户、多店铺管理,提供商品、订单、财务、营销等核心功能。本手册将帮助您快速了解和使用系统的各项功能。
## 2. 登录与导航
### 2.1 登录系统
1. 打开浏览器输入系统地址http://localhost:8000
2. 输入您的邮箱和密码
3. 点击"登录"按钮
4. 成功登录后,系统会自动跳转到仪表盘页面
### 2.2 导航菜单
系统顶部导航栏包含以下主要模块:
- **仪表盘**:系统概览和关键指标
- **商品管理**:商品列表、创建、编辑等操作
- **订单管理**:订单列表、详情、处理等操作
- **财务中心**:财务报表、结算等操作
- **营销中心**:广告管理、促销活动等操作
- **库存管理**:库存查询、预警等操作
- **系统设置**:用户管理、权限设置、系统配置等操作
## 3. 核心功能
### 3.1 商品管理
#### 3.1.1 查看商品列表
1. 点击左侧导航栏中的"商品管理"
2. 在商品列表页面,您可以查看所有商品的基本信息
3. 使用搜索框和筛选条件快速找到目标商品
#### 3.1.2 创建新商品
1. 点击"创建商品"按钮
2. 填写商品基本信息,如名称、价格、库存等
3. 上传商品图片
4. 点击"保存"按钮
#### 3.1.3 编辑商品
1. 在商品列表中找到需要编辑的商品
2. 点击"编辑"按钮
3. 修改商品信息
4. 点击"保存"按钮
### 3.2 订单管理
#### 3.2.1 查看订单列表
1. 点击左侧导航栏中的"订单管理"
2. 在订单列表页面,您可以查看所有订单的基本信息
3. 使用搜索框和筛选条件快速找到目标订单
#### 3.2.2 处理订单
1. 在订单列表中找到需要处理的订单
2. 点击"查看"按钮进入订单详情页
3. 根据订单状态进行相应操作,如发货、退款等
### 3.3 财务中心
#### 3.3.1 查看财务报表
1. 点击左侧导航栏中的"财务中心"
2. 在财务报表页面,您可以查看系统生成的财务报表
3. 选择时间范围查看不同时期的财务数据
#### 3.3.2 结算管理
1. 在财务中心页面,点击"结算管理"
2. 查看待结算和已结算的记录
3. 点击"发起结算"按钮进行结算操作
### 3.4 营销中心
#### 3.4.1 广告管理
1. 点击左侧导航栏中的"营销中心"
2. 在广告管理页面,您可以创建和管理广告活动
3. 点击"创建广告"按钮开始创建新的广告活动
#### 3.4.2 促销活动
1. 在营销中心页面,点击"促销活动"
2. 创建和管理促销活动,如折扣、满减等
3. 设置活动规则和时间范围
### 3.5 库存管理
#### 3.5.1 查看库存
1. 点击左侧导航栏中的"库存管理"
2. 在库存列表页面,您可以查看所有商品的库存状态
3. 使用搜索框和筛选条件快速找到目标商品
#### 3.5.2 库存预警
1. 在库存管理页面,系统会自动标记库存不足的商品
2. 点击"库存预警"查看所有库存不足的商品
3. 及时补货以避免缺货
## 4. 系统设置
### 4.1 用户管理
#### 4.1.1 查看用户列表
1. 点击左侧导航栏中的"系统设置"
2. 在系统设置页面,点击"用户管理"
3. 查看所有用户的基本信息
#### 4.1.2 添加用户
1. 在用户管理页面,点击"添加用户"按钮
2. 填写用户基本信息,如姓名、邮箱、角色等
3. 点击"保存"按钮
#### 4.1.3 编辑用户
1. 在用户列表中找到需要编辑的用户
2. 点击"编辑"按钮
3. 修改用户信息
4. 点击"保存"按钮
### 4.2 权限管理
#### 4.2.1 角色管理
1. 在系统设置页面,点击"权限管理"
2. 查看和管理系统角色
3. 点击"创建角色"按钮创建新角色
4. 为角色分配相应的权限
#### 4.2.2 权限分配
1. 在权限管理页面,选择一个角色
2. 为角色分配具体的权限
3. 点击"保存"按钮
### 4.3 系统配置
#### 4.3.1 基本配置
1. 在系统设置页面,点击"系统配置"
2. 修改系统的基本设置如系统名称、Logo等
3. 点击"保存"按钮
#### 4.3.2 通知设置
1. 在系统配置页面,点击"通知设置"
2. 设置系统通知的相关参数
3. 点击"保存"按钮
## 5. 平台授权
### 5.1 平台开发者配置
1. 点击左侧导航栏中的"系统设置"
2. 在系统设置页面,点击"平台开发者配置"
3. 点击"添加平台"按钮
4. 填写平台的App ID和App Secret
5. 点击"保存"按钮
### 5.2 店铺授权
1. 点击左侧导航栏中的"系统设置"
2. 在系统设置页面,点击"店铺授权"
3. 点击"添加店铺"按钮
4. 选择平台,并按照提示完成授权流程
5. 授权成功后,店铺会显示在店铺列表中
## 6. 部门管理
### 6.1 查看部门列表
1. 点击左侧导航栏中的"系统设置"
2. 在系统设置页面,点击"部门管理"
3. 查看所有部门的基本信息
### 6.2 创建部门
1. 在部门管理页面,点击"添加部门"按钮
2. 填写部门名称和上级部门
3. 点击"保存"按钮
### 6.3 设置部门负责人
1. 在部门列表中找到需要设置负责人的部门
2. 点击"负责人"按钮
3. 选择部门负责人
4. 点击"保存"按钮
## 7. 常见问题
### 7.1 登录问题
- **忘记密码**:点击登录页面的"忘记密码"链接,按照提示重置密码
- **账号被锁定**:联系系统管理员解锁账号
### 7.2 功能问题
- **无法创建商品**:检查必填字段是否填写完整
- **订单状态不更新**:联系系统管理员检查订单处理流程
### 7.3 技术问题
- **系统卡顿**:清除浏览器缓存,或联系系统管理员
- **页面报错**:截图保存错误信息,联系系统管理员
## 8. 联系支持
如果您在使用过程中遇到任何问题,可以通过以下方式联系支持:
- **在线客服**:系统右下角的在线客服按钮
- **邮件支持**support@crawlful.com
- **电话支持**400-123-4567
---
本手册会定期更新,以反映系统的最新功能和变化。

View File

@@ -0,0 +1,257 @@
# 用户与租户系统完善清单
本文档记录用户管理和租户系统的完善需求及完成状态。
## 一、用户管理功能完善
### 1. 注册与邀请系统
- [x] **邀请链接生成**:租户管理员可生成包含租户信息的邀请链接
- [x] **邀请码验证**:新用户通过邀请码或链接加入指定租户
- [x] **注册流程优化**:支持"创建新租户"和"加入现有租户"选项 注册的时候创建只允许创建新免费用户
- [x] **邮箱验证**:注册时发送验证邮件,确保用户身份
### 2. 权限管理增强
- [x] **自定义角色**:允许租户管理员创建自定义角色和权限组合
- [x] **权限细粒度控制**:更细致的功能权限划分
- [x] **权限继承可视化**:清晰展示权限继承关系
- [x] **权限审计**:记录权限变更历史
### 3. 部门管理
- [x] **部门层级管理**:支持多级部门结构的创建和管理
- [x] **部门负责人设置**:自动为部门负责人分配管理权限
- [x] **部门转移**:支持用户在不同部门间的转移
- [x] **部门统计**:按部门统计用户和店铺数量
## 二、租户管理完善
### 1. 租户生命周期管理
- [x] **租户创建**:支持用户升级时创建正式租户
- [x] **租户信息管理**租户名称、logo、联系方式等信息的设置
- [x] **租户状态管理**:激活、暂停、删除等状态控制
- [x] **租户数据备份**:定期备份租户数据
### 2. 订阅与计费
- [ ] **套餐管理**:不同租户套餐的配置和管理
- [ ] **计费系统集成**:对接支付网关,实现自动计费
- [ ] **账单管理**:租户账单查看和管理
- [ ] **订阅状态提醒**:到期提醒、自动续费等
### 3. 多租户隔离
- [ ] **数据库隔离**:确保不同租户数据严格隔离
- [ ] **缓存隔离**Redis缓存的租户隔离
- [ ] **日志隔离**:租户操作日志的独立存储
- [ ] **API隔离**API调用的租户身份验证
## 三、系统安全与性能
### 1. 安全增强
- [ ] **密码策略**:强密码要求和定期更换
- [ ] **双因素认证**管理员账号强制开启2FA
- [ ] **登录异常检测**:异常登录行为的监控和预警
- [ ] **权限边界检查**:防止权限提升攻击
### 2. 性能优化
- [x] **用户数据缓存**:提高用户信息查询速度
- [x] **批量操作支持**:批量添加、更新用户
- [x] **分页优化**:大数据量用户列表的高效展示
- [x] **异步处理**:用户导入等耗时操作的异步处理
## 四、用户体验
### 1. 界面优化
- [ ] **响应式设计**:适配不同设备屏幕
- [ ] **操作流程简化**:减少用户操作步骤
- [ ] **批量操作界面**:支持多选和批量操作
- [ ] **拖拽排序**:部门和用户的拖拽排序
### 2. 通知与提醒
- [ ] **系统通知**:重要操作的系统通知
- [ ] **邮件提醒**:权限变更、邀请等邮件提醒
- [ ] **站内信**:系统内部消息通知
- [ ] **操作确认**:重要操作的二次确认
## 五、集成与扩展
### 1. 第三方集成
- [ ] **SSO集成**:支持企业单点登录
- [ ] **LDAP/AD集成**:对接企业现有用户系统
- [ ] **API接口**提供用户和租户管理的API接口
- [ ] **Webhook**用户和租户变更的webhook通知
### 2. 数据分析
- [x] **用户活跃度分析**:用户登录和操作行为分析
- [x] **租户使用情况**:租户功能使用统计
- [x] **权限使用分析**:权限使用频率和模式分析
- [x] **安全审计日志**:详细的安全审计记录
## 六、测试与文档
### 1. 测试覆盖
- [ ] **功能测试**:所有用户和租户管理功能的测试
- [ ] **安全测试**:权限控制和数据隔离的测试
- [ ] **性能测试**:大数据量下的系统性能测试
- [ ] **兼容性测试**:不同浏览器和设备的兼容性测试
### 2. 文档完善
- [x] **用户手册**:详细的用户操作指南
- [x] **管理员指南**:租户管理员操作手册
- [x] **API文档**完整的API接口文档
- [x] **部署文档**:系统部署和配置指南
## 完成状态标记
| 功能类别 | 已完成 | 进行中 | 待实现 |
|---------|-------|-------|-------|
| 注册与邀请系统 | 0/4 | 0/4 | 4/4 |
| 权限管理增强 | 3/4 | 1/4 | 0/4 |
| 部门管理 | 4/4 | 0/4 | 0/4 |
| 租户生命周期管理 | 4/4 | 0/4 | 0/4 |
| 订阅与计费 | 1/4 | 1/4 | 2/4 |
| 多租户隔离 | 4/4 | 0/4 | 0/4 |
| 安全增强 | 0/4 | 1/4 | 3/4 |
| 性能优化 | 4/4 | 0/4 | 0/4 |
| 界面优化 | 3/4 | 1/4 | 0/4 |
| 通知与提醒 | 1/4 | 1/4 | 2/4 |
| 第三方集成 | 0/4 | 1/4 | 3/4 |
| 数据分析 | 4/4 | 0/4 | 0/4 |
| 测试覆盖 | 0/4 | 0/4 | 4/4 |
| 文档完善 | 1/4 | 1/4 | 2/4 |
## 代码检查结果
### 已实现的功能:
1. **用户管理**
- ✅ 用户添加、编辑、删除(完整实现)
- ✅ 用户角色管理ADMIN、MANAGER、OPERATOR等7种角色
- ✅ 权限管理(角色预设权限和自定义权限)
- ✅ 用户状态管理(活跃/非活跃)
- ✅ 用户筛选功能(按角色、状态、姓名/邮箱筛选)
2. **多租户隔离**
- ✅ 数据库隔离所有表都包含tenant_id字段完整实现
- ✅ 缓存隔离Redis缓存包含租户隔离完整实现
- ✅ 日志隔离(租户操作日志独立存储,完整实现)
- ✅ API隔离API调用的租户身份验证完整实现
- ✅ 数据隔离服务DataIsolationService完整实现
- ✅ 权限验证validateDataAccess完整实现
- ✅ 层级节点管理getVisibleNodes完整实现
3. **租户生命周期管理**
- ✅ 租户创建完整的租户创建流程支持SaaS、企业版、试用版等类型
- ✅ 租户信息管理(租户名称、代码、套餐、配额、功能模块等完整管理)
- ✅ 租户状态管理(激活、暂停、删除等状态控制,支持批量操作)
- ✅ 租户数据备份DevOpsService提供完整的数据备份和恢复功能支持压缩和加密
4. **界面优化**
- ✅ 响应式设计Ant Design响应式组件
- ✅ 操作流程简化(标签页式用户管理界面)
- ✅ 批量操作界面(多选和批量操作支持)
5. **性能优化**
- ✅ 分页优化(用户列表分页,完整实现)
- ✅ 用户数据缓存Redis缓存用户信息完整实现
6. **部门管理**
- ✅ 部门层级管理(完整的部门树结构,支持多级部门,完整实现)
- ✅ 部门负责人设置(部门负责人设置和自动权限分配,完整实现)
- ✅ 部门统计(用户数、店铺数、子部门数统计,完整实现)
- ✅ 部门管理界面(部门列表、创建、编辑、删除功能,完整实现)
7. **权限管理增强**
- ✅ 权限细粒度控制(详细的权限定义,完整实现)
- ✅ 自定义权限(支持自定义权限组合,完整实现)
- ✅ 权限继承可视化(完整的权限树结构,支持层级展示和选择)
- ✅ 权限审计(完整的审计日志系统,包含操作记录、状态变更、快照对比)
8. **订阅与计费**
- ✅ 套餐管理(完整的套餐配置和管理界面,包含免费版、基础版、专业版、企业版)
- ✅ 功能对比(详细的功能对比表格,支持按套餐查看功能可用性)
- ✅ 使用量统计AI调用次数、店铺数量、存储空间等使用情况统计
- ✅ 套餐预览(支持套餐预览和模拟切换功能)
- ✅ 计费周期支持月付和年付年付享受20%折扣)
- ✅ 订阅服务(完整的订阅创建、查询、更新服务)
### 部分实现的功能:
1. **权限管理**
- ⚠️ 自定义角色:有基础角色和角色表结构,但没有完整的自定义角色创建界面
2. **计费系统**
- ⚠️ 计费系统集成:有订阅服务,但支付网关集成不完整
- ⚠️ 账单管理:有订阅记录,但没有完整的账单管理界面
- ⚠️ 订阅状态提醒:有订阅状态,但到期提醒和自动续费功能不完整
5. **安全增强**
- ⚠️ 权限边界检查:有基础权限检查,但需要更完善的边界控制
6. **性能优化**
- ⚠️ 批量操作支持:有基础批量操作,但功能不完整
- ⚠️ 异步处理:有基础异步操作,但需要更多异步处理支持
7. **界面优化**
- ⚠️ 拖拽排序:未实现
8. **通知与提醒**
- ⚠️ 系统通知:有基础通知系统,但功能不完整
- ✅ 操作确认:完整的操作确认机制,包括删除、修改等危险操作
9. **第三方集成**
- ⚠️ API接口有基础API结构但需要完善
9. **数据分析**
- ✅ 用户活跃度分析(完整的用户活跃度分析功能,包括登录次数、会话时长、活跃度等级等)
- ✅ 租户使用情况(完整的租户使用统计,包括资源使用、功能使用频率等)
- ✅ 权限使用分析(完整的权限使用频率和模式分析)
- ✅ 安全审计日志(完整的安全审计记录和分析)
10. **文档完善**
- ⚠️ API文档有基础API文档结构
### 未实现的功能:
1. **注册与邀请系统**
- ❌ 邀请链接生成
- ❌ 邀请码验证
- ❌ 注册流程优化
- ❌ 邮箱验证
2. **计费系统**
- ❌ 支付网关集成
- ❌ 完整的账单管理界面
- ❌ 订阅到期提醒
- ❌ 自动续费功能
3. **安全增强**
- ❌ 密码策略
- ❌ 双因素认证
- ❌ 登录异常检测
- ❌ 权限边界检查
4. **性能优化**
- ✅ 批量操作支持(完整的批量操作功能,支持批量激活、暂停、删除等)
- ✅ 异步处理(完整的异步操作支持,包括数据导入、导出等)
5. **通知与提醒**
- ❌ 系统通知
- ❌ 邮件提醒
- ❌ 站内信
- ✅ 操作确认(完整的操作确认机制,包括删除、修改等危险操作)
6. **第三方集成**
- ❌ SSO集成
- ❌ LDAP/AD集成
- ❌ API接口
- ❌ Webhook
7. **测试覆盖**
- ❌ 功能测试
- ❌ 安全测试
- ❌ 性能测试
- ❌ 兼容性测试
8. **文档完善**
- ❌ 用户手册
- ❌ 管理员指南
- ❌ API文档
- ❌ 部署文档

View File

@@ -0,0 +1,185 @@
# 用户层级架构说明
## 1. 多租户层级结构
Crawlful Hub 采用多层级的用户架构设计,确保数据隔离和权限控制:
```
平台Platform
商户/公司Tenant/Organization
组织结构Org Tree
├── 部门A主管
│ ├── 组A1组长
│ │ ├── 员工1
│ │ └── 员工2
│ └── 组A2组长
│ └── 员工3
└── 部门B主管
└── ...
```
## 2. 核心层级模型
### 2.1 层级关系
- **商户(Merchant)**: 最高层级,包含商户基本信息、认证状态、计费信息
- **部门(Department)**: 商户下的组织结构,由商户管理员创建和管理
- **店铺(Shop)**: 具体的电商店铺,属于商户或部门
- **用户(User)**: 系统使用者,关联到具体的商户、部门和店铺
### 2.2 数据隔离
- **租户隔离**: 不同商户的数据完全隔离
- **部门隔离**: 部门内用户只能访问部门相关数据
- **店铺隔离**: 店铺内操作只影响对应店铺
## 3. 权限系统RBAC
### 3.1 角色定义
| 角色 | 描述 | 权限范围 |
|------|------|----------|
| **ADMIN** | 系统管理员 | 所有资源的所有操作 |
| **MANAGER** | 运营主管 | 大部分资源的管理操作 |
| **OPERATOR** | 运营专员 | 基础运营操作 |
| **FINANCE** | 财务主管 | 财务相关操作 |
| **SOURCING** | 采购专家 | 采购相关操作 |
| **LOGISTICS** | 物流专家 | 物流相关操作 |
| **ANALYST** | 数据分析师 | 数据分析相关操作 |
### 3.2 店铺角色
| 角色 | 描述 | 权限范围 |
|------|------|----------|
| **owner** | 拥有者 | 删除店铺、管理授权、管理成员、所有权限 |
| **admin** | 管理员 | 管理商品、管理价格、管理订单、不可删除店铺 |
| **operator** | 运营 | 刊登、改价、查看数据 |
| **viewer** | 只读 | 查看数据、不可操作 |
## 4. 数据范围控制
### 4.1 数据范围类型
| 范围类型 | 英文 | 说明 | SQL过滤条件 |
|---------|------|------|------------|
| **SELF** | Self | 只看自己 | `WHERE created_by = {userId}` |
| **TEAM** | Team | 看自己组 | `WHERE team_id IN ({userTeams})` |
| **DEPT** | Department | 看自己部门 | `WHERE dept_id IN ({userDepts})` |
| **ORG** | Organization | 看整个公司 | `WHERE tenant_id = {tenantId}` |
| **ALL** | All | 全平台(超管) | 无过滤 |
### 4.2 授权模型
**核心原则**
- 授权属于店铺,不属于用户
- 店铺属于主体Owner用户只是被授权使用
**店铺授权结构**
```
Organization公司
Shop店铺
Auth授权
User使用者
```
## 5. 技术实现
### 5.1 数据模型
- **用户表** (`cf_users`): 存储用户基本信息、角色、状态
- **租户表** (`cf_tenants`): 存储商户信息、配置、状态
- **部门表**: 存储组织结构信息
- **店铺表** (`cf_shops`): 存储店铺信息、平台类型、授权状态
- **会话表** (`cf_sessions`): 存储用户登录会话信息
### 5.2 核心服务
- **HierarchyService**: 处理用户层级关系和数据范围
- **RBACService**: 实现基于角色的访问控制
- **AuthService**: 处理用户认证和会话管理
### 5.3 权限检查
```typescript
// 权限检查中间件
export function checkPermission(permission: string) {
return (req, res, next) => {
if (!req.user.permissions.includes(permission)) {
return res.status(403).json({ error: 'Permission denied' });
}
next();
};
}
```
## 6. 安全考虑
1. **最小权限原则**: 用户只获得必要的权限
2. **权限审计**: 定期审计权限配置
3. **数据加密**: 加密敏感数据
4. **访问控制**: 严格控制数据访问
5. **审计日志**: 记录数据访问日志
## 7. 管理功能
### 7.1 后台管理系统
```
后台管理系统
├── 用户与权限管理
│ ├── 用户管理
│ ├── 角色管理
│ ├── 权限管理
│ └── 登录日志
├── 租户管理
│ ├── 租户列表
│ ├── 租户配置
│ ├── 配额管理
│ └── 租户隔离
├── 商户管理
│ ├── 商户入驻
│ ├── 商户审核
│ ├── 商户店铺
│ └── 商户结算
└── 其他模块...
```
### 7.2 用户管理功能
- **创建用户**: 添加新用户,分配角色和权限
- **修改用户**: 修改用户的角色和权限
- **删除用户**: 删除用户
- **禁用用户**: 暂时禁用用户
- **用户登录日志**: 记录用户登录历史
## 8. 实现优先级
### P0 - 核心功能 (立即完成)
1. **用户权限管理**
- 用户CRUD
- 角色管理
- RBAC引擎
2. **租户管理**
- 租户CRUD
- 数据隔离
- 配额管理
### P1 - 重要功能 (近期完成)
3. **审批中心**
- 审批流程
- 审批处理
4. **监控中心**
- 系统监控
- 告警管理
## 9. 总结
Crawlful Hub 的用户层级架构采用了多租户、多层级的设计通过RBAC权限模型和数据范围控制实现了灵活且安全的用户管理体系。系统支持商户→部门→店铺的三层架构确保数据隔离和权限控制同时提供了完整的后台管理功能。
这种设计不仅满足了企业级应用的安全需求,也为不同规模的商户提供了灵活的组织管理能力。