---
html:
embed_local_images: false
embed_svg: true
offline: false
toc: true
print_background: false
export_on_save:
html: true
---
# 程序详细设计
## 1. 引言和概览
- **项目背景**:本项目旨在开发一个基于Laravel框架的Web和移动应用,提供用户与技师之间的服务对接。
- **项目目标**:实现用户手机登录、用户微信登录、技师申请、订单管理、用户提现等功能,确保系统的安全性和可扩展性。
## 2. 系统架构描述
- **架构概述**:系统采用前后端分离架构,前端使用dcat-admin,后端使用Laravel,数据库采用MySQL。
- **模块划分**:系统主要分为用户模块、技师模块、订单模块和支付模块。
## 3. 功能模块详细设计
### 用户登录模块
- **界面设计**:用户登录界面包括用户名和密码输入框,支持记住密码功能。
- **输入验证**:前端进行基本格式验证,后端进行详细验证。
- **密码加密存储**:使用Laravel的`bcrypt`函数进行密码加密。
### 用户申请技师模块
- **流程描述**:用户选择技师类别,查看技师列表,提交申请。
- **界面设计**:技师列表界面支持筛选和排序功能。
### 用户下单模块
- **流程描述**:用户选择技师,选择服务项目,进入创建订单页面,选择服务地址,选择服务时间,选择支付方式,选择是否使用余额,选择优惠卷,提交给接口,获区计算后的订单价格和实际需支付价格, 填写订单其他信息,确认创建订单并支付。
- **界面设计**:订单确认页面显示详细的服务信息和价格。
### 技师接单模块
- **流程描述**:技师查看待接订单,选择接单并确认。
- **界面设计**:技师工作台显示待接订单列表。
## 4. 数据模型设计
- **ER图**:提供用户、技师、订单、服务等实体的ER图。
- **关键数据表设计**:详细描述用户表、订单表、技师表的字段和关系。
## 5. 接口设计
- **API接口**:描述用户登录、下单、接单等API接口,包括请求和响应格式。
- **接口安全性**:使用JWT进行用户认证,确保接口安全。
## 6. 安全性考虑
- **数据加密**:敏感数据传输使用HTTPS,存储使用加密算法。
- **用户认证和授权**:采用OAuth2.0标准进行用户认证和授权。
## 7. 测试计划
- **测试策略**:采用单元测试、集成测试和系统测试相结合的策略。
- **测试用例设计**:为每个功能模块设计详细的测试用例,确保功能的正确性和稳定性。
## 示例
### 用户登录模块示例
- **界面设计**:登录页面包含用户名和密码输入框,支持“记住我”选项。
- **输入验证**:前端使用JavaScript进行基本验证,后端使用Laravel验证器进行详细验证。
- **密码加密存储**:使用`bcrypt`加密用户密码,确保存储安全。