Toggle navigation
Toggle navigation
This project
Loading...
Sign in
zhouhui.jiang
/
test_cursor
Go to a project
Toggle navigation
Toggle navigation pinning
Projects
Groups
Snippets
Help
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Snippets
Network
Create a new issue
Builds
Commits
Issue Boards
Authored by
zhouhui.jiang
2025-09-23 13:43:13 +0800
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
3e35a6ed57a71ba030cc5884043b3f3dacec86c7
3e35a6ed
0 parents
初始化代码
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
397 additions
and
0 deletions
.gitignore
README.md
docker-compose.yml
test_api.md
.gitignore
0 → 100644
View file @
3e35a6e
# 编译输出
target/
dist/
build/
out/
# 依赖包
node_modules/
.m2/
# IDE文件
.idea/
.vscode/
*.iml
*.ipr
*.iws
.settings/
.project
.classpath
# 操作系统文件
.DS_Store
Thumbs.db
*.swp
*.swo
*~
# 日志文件
*.log
logs/
log/
# 临时文件
*.tmp
*.temp
.tmp/
.temp/
# 环境配置文件
.env
.env.local
.env.development.local
.env.test.local
.env.production.local
# 数据库文件
*.db
*.sqlite
*.sqlite3
# 备份文件
*.bak
*.backup
# 缓存文件
.cache/
.parcel-cache/
.eslintcache
# 覆盖率报告
coverage/
.nyc_output/
# 测试文件
test-results/
playwright-report/
# Docker文件
.dockerignore
# 其他
*.pid
*.seed
*.pid.lock
.npm
.yarn-integrity
README.md
0 → 100644
View file @
3e35a6e
# Apple经销商ERP系统对接项目
## 项目简介
Apple经销商ERP系统对接项目是一个专门为Apple经销商设计的ERP系统集成平台,实现与Apple系统的数据对接,提供订单管理、出库查询、发票管理、返利管理、异常处理等核心功能。
## 项目结构
```
apple-dealer-erp/
├── 📁 docs/ # 项目文档
│ ├── 📁 requirements/ # 需求文档
│ ├── 📁 design/ # 设计文档
│ ├── 📁 development/ # 开发文档
│ ├── 📁 deployment/ # 部署文档
│ └── 📁 maintenance/ # 维护文档
├── 📁 database/ # 数据库相关
│ ├── 📁 scripts/ # 数据库脚本
│ ├── 📁 backup/ # 备份目录
│ └── 📁 docs/ # 数据库文档
├── 📁 scripts/ # 脚本工具
├── 📁 docker/ # Docker配置
├── 📁 tests/ # 测试目录
├── 📁 logs/ # 日志目录
├── 📁 config/ # 配置文件
├── 📁 backend/ # 后端项目(待开发)
├── 📁 frontend/ # 前端项目(待开发)
└── 📄 docker-compose.yml # 整体容器编排
```
## 技术栈
### 后端技术栈
-
**框架**
: Spring Boot 2.7.x
-
**数据库**
: MySQL 8.0
-
**缓存**
: Redis 6.0
-
**ORM**
: MyBatis Plus 3.5.x
-
**安全**
: Spring Security + JWT
-
**构建工具**
: Maven 3.8.x
-
**JDK版本**
: OpenJDK 8
### 前端技术栈
-
**框架**
: Vue 3.3+
-
**构建工具**
: Vite 4.0+
-
**UI组件**
: Element Plus 2.3+
-
**状态管理**
: Pinia 2.1+
-
**路由**
: Vue Router 4.2+
-
**HTTP客户端**
: Axios 1.4+
-
**图表**
: ECharts 5.4+
-
**语言**
: TypeScript 5.0+
## 核心功能模块
### 业务功能
-
**订单管理**
: 订单录入、查询、修改、删除
-
**出库查询**
: 出库单查询、状态跟踪
-
**发票管理**
: 发票录入、查询、统计
-
**返利管理**
: 返利计算、查询、统计
-
**异常处理**
: 异常工单创建、处理、跟踪
-
**产品管理**
: 产品信息维护
-
**经销商管理**
: 经销商信息维护
### 系统管理
-
**用户管理**
: 用户CRUD、密码管理
-
**角色管理**
: 角色CRUD、权限分配
-
**菜单管理**
: 菜单树结构、权限控制
-
**字典管理**
: 数据字典维护
-
**日志管理**
: 操作日志、登录日志
## 开发计划
项目采用两周开发计划,详细内容请参考:
-
[
两周开发计划
](
docs/development/Apple经销商ERP系统对接项目-两周开发计划.md
)
-
[
前端开发计划
](
docs/development/Apple经销商ERP前端开发计划.md
)
## 快速开始
### 环境要求
-
JDK 8+
-
Node.js 16+
-
MySQL 8.0+
-
Redis 6.0+
-
Maven 3.8+
### 开发环境搭建
1.
克隆项目
2.
配置数据库连接
3.
执行初始化脚本
4.
启动后端服务
5.
启动前端服务
详细步骤请参考
[
部署指南
](
docs/deployment/部署指南.md
)
## 文档说明
-
**需求文档**
:
[
Apple 经销商 ERP 系统对接项目
](
docs/requirements/Apple%20经销商%20ERP%20系统对接项目.md
)
-
**技术架构**
:
[
技术架构设计
](
docs/design/技术架构设计.md
)
-
**数据库设计**
:
[
数据库设计文档
](
docs/design/数据库设计文档.md
)
-
**开发计划**
:
[
两周开发计划
](
docs/development/Apple经销商ERP系统对接项目-两周开发计划.md
)
## 许可证
本项目采用 MIT 许可证,详情请参考
[
LICENSE
](
LICENSE
)
文件。
## 联系方式
如有问题,请联系开发团队。
docker-compose.yml
0 → 100644
View file @
3e35a6e
version
:
'
3.8'
services
:
# MySQL数据库
mysql
:
image
:
mysql:8.0
container_name
:
apple-erp-mysql
restart
:
always
environment
:
MYSQL_ROOT_PASSWORD
:
MySQL@123
MYSQL_DATABASE
:
apple_erp
MYSQL_USER
:
apple_erp
MYSQL_PASSWORD
:
apple_erp123
ports
:
-
"
3306:3306"
volumes
:
-
mysql_data:/var/lib/mysql
-
./database/scripts:/docker-entrypoint-initdb.d
command
:
--default-authentication-plugin=mysql_native_password
networks
:
-
apple-erp-network
# Redis缓存
redis
:
image
:
redis:6.0-alpine
container_name
:
apple-erp-redis
restart
:
always
ports
:
-
"
6379:6379"
volumes
:
-
redis_data:/data
command
:
redis-server --appendonly yes
networks
:
-
apple-erp-network
# 后端服务
backend
:
build
:
context
:
./backend
dockerfile
:
Dockerfile
container_name
:
apple-erp-backend
restart
:
always
ports
:
-
"
8080:8080"
environment
:
SPRING_PROFILES_ACTIVE
:
docker
SPRING_DATASOURCE_URL
:
jdbc:mysql://mysql:3306/apple_erp?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai
SPRING_DATASOURCE_USERNAME
:
apple_erp
SPRING_DATASOURCE_PASSWORD
:
apple_erp123
SPRING_REDIS_HOST
:
redis
SPRING_REDIS_PORT
:
6379
depends_on
:
-
mysql
-
redis
volumes
:
-
./logs/backend:/app/logs
-
./config/development:/app/config
networks
:
-
apple-erp-network
# 前端服务
frontend
:
build
:
context
:
./frontend
dockerfile
:
Dockerfile
container_name
:
apple-erp-frontend
restart
:
always
ports
:
-
"
80:80"
depends_on
:
-
backend
volumes
:
-
./logs/frontend:/var/log/nginx
networks
:
-
apple-erp-network
# Nginx反向代理
nginx
:
image
:
nginx:alpine
container_name
:
apple-erp-nginx
restart
:
always
ports
:
-
"
443:443"
volumes
:
-
./docker/nginx/nginx.conf:/etc/nginx/nginx.conf
-
./docker/nginx/default.conf:/etc/nginx/conf.d/default.conf
-
./docker/nginx/ssl:/etc/nginx/ssl
-
./logs/nginx:/var/log/nginx
depends_on
:
-
frontend
-
backend
networks
:
-
apple-erp-network
volumes
:
mysql_data
:
driver
:
local
redis_data
:
driver
:
local
networks
:
apple-erp-network
:
driver
:
bridge
test_api.md
0 → 100644
View file @
3e35a6e
# API 测试指南
## 测试统一响应格式的API接口
### 1. 登录接口测试
**请求URL**
:
`POST http://localhost:8083/api/auth/login`
**请求体**
:
```
json
{
"username"
:
"admin"
,
"password"
:
"password"
}
```
**预期响应**
(统一响应格式):
```
json
{
"code"
:
200
,
"message"
:
"登录成功"
,
"data"
:
{
"token"
:
"eyJhbGciOiJIUzUxMiJ9..."
,
"refreshToken"
:
"eyJhbGciOiJIUzUxMiJ9..."
,
"username"
:
"admin"
}
}
```
### 2. 刷新令牌接口测试
**请求URL**
:
`POST http://localhost:8083/api/auth/refresh`
**请求体**
:
```
json
{
"refreshToken"
:
"从登录响应中获取的refreshToken"
}
```
**预期响应**
:
```
json
{
"code"
:
200
,
"message"
:
"令牌刷新成功"
,
"data"
:
{
"token"
:
"eyJhbGciOiJIUzUxMiJ9..."
,
"refreshToken"
:
"eyJhbGciOiJIUzUxMiJ9..."
,
"username"
:
"admin"
}
}
```
### 3. 获取用户信息接口测试
**请求URL**
:
`GET http://localhost:8083/api/auth/userinfo`
**请求头**
:
```
Authorization: Bearer {从登录响应中获取的token}
```
**预期响应**
:
```
json
{
"code"
:
200
,
"message"
:
"获取用户信息成功"
,
"data"
:
{
"username"
:
"admin"
,
"authorities"
:
[
{
"authority"
:
"ROLE_ADMIN"
}
]
}
}
```
### 4. 登出接口测试
**请求URL**
:
`POST http://localhost:8083/api/auth/logout`
**预期响应**
:
```
json
{
"code"
:
200
,
"message"
:
"登出成功"
,
"data"
:
null
}
```
## 改进点
1.
**类型安全**
: 使用强类型对象替代Map,提供编译时类型检查
2.
**参数验证**
: 使用@Valid注解和Bean Validation进行参数验证
3.
**统一响应**
: 使用ApiRes统一响应格式,包含code、message、data字段
4.
**简化命名**
: 使用简化的类名(Req/Res后缀),代码更简洁
5.
**文档完善**
: 使用Swagger注解提供完整的API文档
6.
**代码可读性**
: 代码更加清晰,易于维护
7.
**错误处理**
: 统一的错误响应格式,便于前端处理
## 验证清单
-
[
]
登录接口返回统一响应格式(ApiRes
<LoginRes>
)
-
[
]
参数验证正常工作(空用户名/密码会返回验证错误)
-
[
]
刷新令牌接口正常工作,返回统一响应格式
-
[
]
用户信息接口正常工作,返回统一响应格式
-
[
]
登出接口正常工作,返回统一响应格式
-
[
]
错误响应格式统一(包含code、message、data字段)
-
[
]
Swagger文档正确显示新的统一响应格式
-
[
]
所有类名已成功简化为Req/Res后缀
Please
register
or
login
to post a comment