--- 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`加密用户密码,确保存储安全。