- 新增用户消息中心组件 UserMessageView - 新增师傅消息中心组件 MasterMessageView - 新增用户订单列表组件 UserOrdersView - 重构订单列表页,复用独立组件 - 新增系统工具 getWindowInfoSafe 兼容多端系统信息获取 - 重构 TabBar 组件,支持单母页模式和事件回调 - 优化消息跳转逻辑,支持角色自适应 Tab 切换
优匠优服(YJYF)同城服务平台
一、项目架构概述
本项目采用 前后端分离的全栈工程架构:
- 移动/小程序客户端:位于
yjyf-app/,基于 uni-app (Vue) + SCSS,适配微信小程序、H5、App 等。 - 服务端接口与后台:位于
server/,基于 FastAdmin / ThinkPHP 5.x,提供 RESTful API 与 RBAC 运营管理后台。 - 数据库:位于
db/,MySQL 5.7+ / 8.0(utf8mb4 字符集),提供完整的阶段演进建表 SQL。
二、标准项目目录结构
yjyf/
├── yjyf-app/ # 小程序/移动客户端源码(uni-app 前端工程)
│ ├── pages/ # 业务页面目录
│ │ ├── index/ # 平台主页(pages/index/index)
│ │ ├── service/ # 服务分类列表、服务详情、价格测算
│ │ ├── order/ # 订单模块(快速下单、确认订单、订单详情、评价)
│ │ ├── master/ # 师傅端(资质入驻、接单大厅、工作台、报价管理、钱包、信用)
│ │ ├── merchant/ # 商户端(商家入驻、商家工作台、批量下单、企业订单、发票)
│ │ ├── address/ # 用户服务地址管理
│ │ ├── coupon/ # 领券中心与我的优惠券
│ │ ├── message/ # 消息通知中心
│ │ ├── mine/ # 个人中心(角色切换、设置)
│ │ └── login/ # 统一登录与微信静默/授权登录
│ ├── static/ # 静态资源(保留 logo.png 与 icons/ 服务图标库)
│ │ └── icons/ # 扁平双色矢量服务类目图标
│ ├── utils/ # 前端核心工具库
│ │ ├── api.js # 接口清单(与后端 api 控制器一一映射)
│ │ ├── request.js # 网络请求封装(Token 鉴权、响应拦截、统一异常提示)
│ │ ├── role.js # 角色上下文状态管理(user / master / merchant)
│ │ └── wxlogin.js # 微信静默授权登录
│ ├── App.vue # uni-app 入口组件
│ ├── main.js # Vue 初始化入口
│ ├── pages.json # 页面路由与窗口配置
│ ├── manifest.json # 跨端发行与 AppID 配置
│ └── uni.scss # 全局主题样式变量
├── server/ # 后端服务端源码(FastAdmin / ThinkPHP)
│ ├── application/ # 业务应用模块
│ │ ├── admin/ # 后台管理控制器与视图(订单、师傅、商户、结算、提现等)
│ │ ├── api/ # 客户端 RESTful API 控制器(Home, Order, Master, Merchant 等)
│ │ └── common/ # 公共模型、类库、业务枚举(如 OrderStatus)
│ ├── public/ # Web 入口目录(admin.php, index.php)
│ ├── addons/ # FastAdmin 插件扩展
│ ├── composer.json # 后端依赖配置
│ └── think # ThinkPHP 命令行脚手架
├── db/ # 数据库架构与演进脚本
│ ├── schema_phase1.sql ~ schema_phase10_admin_config_zh.sql
│ └── README_phase5.md # 数据同源与后台模块部署规范
├── tests/ # 接口与业务闭环自动化测试套件
└── scripts/ # 运维补丁与部署脚本
三、开发与运行指引
1. 小程序端开发(HBuilderX)
- 在 HBuilderX 中打开
yjyf-app/文件夹(或在命令行通过相关 CLI 启动构建); - 配置
yjyf-app/manifest.json中的微信小程序 AppID; - 点击「运行」→「运行到小程序模拟器」→「微信开发者工具」。
2. 路由与多角色规范
- 所有页面统一存放于
yjyf-app/pages/{模块名}/{页面名}.vue; - 启动页统一为
pages/index/index; - 系统支持
user(个人业主)、master(维修师傅)、merchant(合作商户)三种身份,前端调用/api/auth/switchRole实现安全角色切换。
仓库描述
编程语言
PHP
60.7%
JavaScript
18.7%
HTML
12.4%
Vue
7.4%
PLpgSQL
0.6%
其它
0.1%