feat: 添加部门管理功能、主题切换和多语言支持
refactor(dashboard): 重构用户管理页面和路由结构 feat(server): 实现部门管理API和RBAC增强功能 docs: 更新用户手册和管理员指南文档 style: 统一图标使用和组件命名规范 test: 添加部门服务和数据隔离测试用例 chore: 更新依赖和配置文件
This commit is contained in:
1316
docs/API_Documentation.md
Normal file
1316
docs/API_Documentation.md
Normal file
File diff suppressed because it is too large
Load Diff
326
docs/Admin_Guide.md
Normal file
326
docs/Admin_Guide.md
Normal 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
624
docs/Deployment_Guide.md
Normal 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
|
||||
|
||||
---
|
||||
|
||||
本指南会定期更新,以反映系统的最新部署和配置要求。
|
||||
180
docs/Frontend_Missing_Features.md
Normal file
180
docs/Frontend_Missing_Features.md
Normal 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
200
docs/User_Manual.md
Normal 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
|
||||
|
||||
---
|
||||
|
||||
本手册会定期更新,以反映系统的最新功能和变化。
|
||||
257
docs/User_Tenant_Improvement_Checklist.md
Normal file
257
docs/User_Tenant_Improvement_Checklist.md
Normal 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文档
|
||||
- ❌ 部署文档
|
||||
185
docs/用户层级架构说明.md
Normal file
185
docs/用户层级架构说明.md
Normal 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权限模型和数据范围控制,实现了灵活且安全的用户管理体系。系统支持商户→部门→店铺的三层架构,确保数据隔离和权限控制,同时提供了完整的后台管理功能。
|
||||
|
||||
这种设计不仅满足了企业级应用的安全需求,也为不同规模的商户提供了灵活的组织管理能力。
|
||||
Reference in New Issue
Block a user