37 次代码提交

作者 SHA1 备注 提交日期
YuanWen
cd0da0324b feat: 新增用户和师傅消息中心及订单页重构
- 新增用户消息中心组件 UserMessageView
- 新增师傅消息中心组件 MasterMessageView
- 新增用户订单列表组件 UserOrdersView
- 重构订单列表页,复用独立组件
- 新增系统工具 getWindowInfoSafe 兼容多端系统信息获取
- 重构 TabBar 组件,支持单母页模式和事件回调
- 优化消息跳转逻辑,支持角色自适应 Tab 切换
2026-11-05 16:52:12 +08:00
YuanWen
f60b2df7b3 style: 统一替换橙色渐变主题色并重构导航栏组件
- 新增 back-white.svg 和 home.svg 图标文件
- 重构 YjyfNavBar 组件,默认主题改为橙色,使用 SVG 图标
- 统一各页面导航栏为自定义组件,替换原生导航栏
- 调整所有页面背景色为 #F5F6F8,统一视觉风格
- 优化渐变背景为 135deg 线性渐变,消除分层断层
- 更新 pages.json 配置,所有页面使用自定义导航样式
2026-11-05 14:11:24 +08:00
YuanWen
127b606e75 feat(admin): 重构服务管理模块新增增值服务功能
- 新增增值服务管理模块,支持按类目筛选绑定
- 新增工项服务定价和规格独立定价功能
- 优化前端订单页增值服务展示逻辑
- 升级版本号至1.0.19
2026-11-04 16:14:44 +08:00
YuanWen
78d45eea74 chore: 新增epay和cos插件相关类库及配置文件
- 新增epay v2、v3、v3new版本的支付类库及证书文件
- 新增cos云存储类库文件
- 调整文件上传保存格式为按分类存储
- 修复会员、规则、类目等语言翻译键名
- 新增小程序图标等静态资源文件
2026-11-04 09:33:57 +08:00
YuanWen
361dffc7d8 feat: 新增师傅端功能及服务增项管理模块
- 新增师傅端路由和页面配置,切换登录后默认跳转到师傅大厅
- 新增服务分类图标上传功能和增项服务管理模块
- 新增订单、申诉、结算等模型关联关系及后台控制器
- 新增师傅端TabBar组件和消息页面跳转逻辑
- 新增文件上传接口和服务计算逻辑
- 新增各类SVG图标和空状态提示
2026-11-03 15:45:21 +08:00
YuanWen
c01e8fc7d9 feat: 新增大量服务类图标及相关接口配置
- 新增20+家电维修类图标(电视、空调、冰箱等)
- 新增短信发送、微信手机号登录接口
- 新增服务规格查询接口
- 更新后台配置与菜单结构
- 移除支付插件相关配置
2026-11-03 11:19:24 +08:00
YuanWen
9ae2b976a8 feat: 重构首页与全局UI,新增服务选择抽屉与统一导航组件
新增统一导航栏组件YjyfNavBar,替换各页面原生导航
新增服务选择抽屉组件GoodsPickerDrawer,实现分类选品流程
新增tabbar图标矢量资源,优化底部导航样式
新增后端运力统计接口与多商品下单逻辑
修复页面跳转逻辑,统一使用switchTab/redirectTo
优化订单创建与评价页的UI组件化,提升一致性
2026-11-02 18:27:37 +08:00
YuanWen
1323b8877f feat: 重构底部导航栏为自定义矢量图标样式 2026-11-02 14:20:51 +08:00
YuanWen
7ab7429dee feat: 新增统一底部导航与全局样式系统,优化交互体验
新增全局 YjyfTabBar 组件,替换各页面自定义导航,实现一致的 tab 切换逻辑与图标样式
新增全局设计令牌与 SCSS 变量系统,统一色彩、间距、字阶、圆角与投影规范
新增 POST 请求防并发锁,避免重复提交
重构多个页面,添加骨架屏、空状态引导、点击反馈类,修复硬编码样式与假数据
删除废弃的后台入口文件与 nginx 配置,清理冗余代码
2026-11-02 14:00:19 +08:00
YuanWen
508bc3a8aa feat: 迁移项目到 yjyf-app 目录并更新首页路由配置 2026-10-30 10:14:49 +08:00
linda
cc86d0ae6e feat(service): 取消服务价格起步价文案
- 一口价直接显示金额,不再显示 ¥xx起
- 师傅报价显示参考金额 + 师傅报价,不再显示起
- 区间计价保持 ¥min-max/单位
- 计价逻辑、基础价字段与后台配置不变
2026-10-29 09:56:07 +08:00
linda
31fed8e48b fix(admin): 后台页面标题默认中文 2026-10-29 09:50:45 +08:00
linda
5ef334f964 fix(admin): 师傅接单状态与前端文案统一为已暂停接单 2026-10-29 09:50:04 +08:00
linda
9bb74e6e6a feat(admin): 系统配置中文化与缓存刷新
- 站点名称、版本、分类类型、配置分组、附件分类改为中文
- fa_config 配置项标题/提示/默认值统一中文,修正首页配置乱码
- 语言包禁用长缓存,后台文案调整后立即生效
- 站点版本升至 1.0.2,强制刷新后台 JS/CSS 缓存
2026-10-29 09:49:28 +08:00
linda
b8d2644141 feat(admin): 后台全站中文化
- 补齐后台字段、枚举、状态、动作中文语言包,覆盖业务模块与 FastAdmin 基础页面
- 新增 order/banner/service/review/service.cat 等模块语言包,统一字段文案
- 订单表头/状态/支付/结算/加急/电梯/评价改为中文展示,订单表单改为中文下拉/单选
- 发票类型、优惠券类型、师傅/商家审核、提现/结算/申诉状态按模块中文覆盖
- 后台菜单与权限节点标题统一改为中文
- 移除英文语言入口,仅保留简体中文
- 右侧主题配色名称、页脚版权文案改为中文
- 新增 schema_phase9_admin_zh.sql 菜单节点中文迁移
2026-10-29 09:45:26 +08:00
linda
508d2c7318 style(home): 首页轮播高度压缩三分之一
轮播高度 380rpx → 254rpx,标题/副标题/按钮/平台实力数据卡/关闭按钮/指示点同步紧凑,保持后端 theme、action_text、stats 数据字段不变
2026-10-29 09:25:17 +08:00
linda
681b83a762 test(banner): 适配首页多轮播停用与兜底逻辑
单条停用仅移除对应轮播;全部停用才回落到内置轮播,覆盖活动/平台实力/服务主题多张配置
2026-10-28 19:41:00 +08:00
linda
127c699007 feat(home): 首页品牌服务主题轮播与后台可配置
- 首页单张 Banner 改为多张轮播,支持活动促销 / 平台实力 / 服务主题三种主题
- 平台实力卡片接入后端 stats 配置,展示专业师傅、区域覆盖、成功订单与底部数据
- fa_banner 新增 theme / action_text / stats 字段,后台可配置主题、按钮文案、统计数据、排序与上下架
- 默认配置双11活动、平台实力、家电清洗、快至30分钟上门 4 张轮播
- 支持后台配图、跳转链接、关闭活动位;无数据时后端返回兜底轮播
- 新增 schema_phase8.sql 迁移脚本
2026-10-28 19:39:50 +08:00
linda
fbc6feee87 feat(merchant): 企业订单聚合列表与关联账号只读详情
- 新增 /merchant/orders,按主账号+关联账号聚合订单并支持状态筛选
- 新增企业订单页,展示订单归属账号(主账号/关联账号)
- 工作台企业订单入口改到聚合列表,近期订单可点击查看
- 订单详情允许同商家账号查看,非下单账号隐藏操作按钮
- 报价选择仅下单账号可操作,防止关联账号/主账号误操作
2026-10-28 19:27:51 +08:00
linda
c6c2583dfc feat(merchant): 入驻页展示关联账号数量
已入驻商家在资料页可直接看到关联账号数量,并进入工作台管理绑定关系
2026-10-28 19:23:16 +08:00
linda
5a34d87eee feat(merchant): 商家关联账号绑定与数据同步
- 新增 fa_merchant_member 关联账号表,主账号可绑定/解绑已注册用户
- 关联账号可切换商家端,订单、账单、开票、批量归属按主账号+关联账号聚合
- 商家工作台新增关联账号列表、绑定弹层、解除入口与个人订单统计
- 关联账号在商家入驻页显示只读企业资料与同步说明
- 我的页面区分主账号/关联商家身份;修复 merchant 角色本地存储
- 绑定/解绑仅主账号可操作,关联账号操作返回 403
- 新增 schema_phase7.sql 迁移脚本
2026-10-28 19:21:54 +08:00
linda
7f62823334 fix(order): 默认预约时间自动避开过去时段
立即下单页与确认订单页根据当前时间生成可用预约时段,避免默认 14:00 已过期导致后端拒绝下单
2026-10-28 18:02:59 +08:00
linda
813e578f31 feat(order): 新增独立的立即下单页面
- 首页底部「立即下单」按钮改为进入 /pages/order/quick
- 新页面内置服务选择弹层(类目 + 服务项目)
- 支持一口价 / 师傅报价竞价 / 用户自主定价三种下单方式
- 复用地址、预约、费用试算与下单支付链路,数据与师傅端/后端同步
- 使用原生导航栏并在底部保留安全区,避免状态栏遮挡
2026-10-28 18:01:41 +08:00
linda
797170dfd7 fix(order): 切换自主定价时清除加急标记
自主定价为含楼层/加急的总价,避免顶部仍显示已加急造成计费误解
2026-10-28 17:53:19 +08:00
linda
e1bf139c5a feat(order): 下单支持一口价/师傅报价竞价/用户自主定价三种方式
- 下单页新增计价方式选择;自主定价填写总价,师傅报价单进入报价大厅
- 用户订单详情展示师傅报价列表并可选定师傅;选定后同步师傅、金额与订单状态
- 师傅大厅新增用户定价筛选与按价接单;报价单禁止直接抢单
- 后端订单新增 custom 价态、金额口径统一由 calcAmount 输出
- 报价中状态纳入用户可取消范围;超时回流重新开放报价
- 新增 fa_order.price_type custom 枚举迁移脚本(schema_phase6)
2026-10-28 17:48:23 +08:00
linda
3bba2d6e94 feat(mine): 我的页面左上角新增「返回首页」入口
- 头部新增 .h-top 胶囊按钮(半透明白底 + ‹ 字形,与 login 返回键、品牌橙底一致)
- 点击 uni.reLaunch 回启动页 /YJYF/YJYF,与 order/detail、coupon 等页面回首页写法一致
- 不改动既有头部布局尺寸,仅整体下移头像行
2026-10-28 17:14:47 +08:00
linda
4e0c86ca06 feat(sync): 后端功能模块与前端模块数据同源 + 后台13个业务模块可管
前端不再写死运营数据:
- 首页 Banner/保障条/教程卡 改由 /api/home/index 下发(fa_banner + fa_config),
  数据缺失或停用自动回落内置兜底文案
- 订单状态提示改由后端 OrderStatus::tip() 下发 status_tip,前后端一套口径

后台可管(FastAdmin 生成器):
- 新增 13 个业务后台模块:运营位/订单/师傅/商家/优惠券/评价/消息/服务/服务类目/申诉/开票/提现/结算单
  (controller + model + view + fa_auth_rule 菜单 78 条)

修复:
- nginx /admin/* 改为 301 到 /admin.php/*,否则后台菜单点开全部 404

验证:tests/phase5_data_sync.js 新增 16 项联动断言;全量回归 202 项断言 0 失败
2026-10-28 17:06:55 +08:00
linda
4734724ed2 feat: 后端补齐前端所需模块 + 后台登录页品牌化重构
后端(补齐前端已入口但无接口的模块):
- Coupon 控制器:center 领券中心 / my 我的券(未使用·已使用·已过期+计数)/ receive 领取
  含库存与过期校验、重复领取拦截、领券后自动发消息
- Message 控制器:index 列表(分类筛选)/ read 单条已读 / readAll 全部已读 / unread 角标
  支持 user 与 master 两种归属

前端(对应页面,全部接真接口):
- pages/address/list  服务地址:列表 / 新增·编辑弹层 / 设为默认 / 删除
- pages/coupon/coupon 领券中心 + 我的券(双 Tab + 状态筛选 + 计数)
- pages/message/message 消息中心:分类 / 未读圆点 / 点开自动已读 / 全部已读 / 跳订单
- mine.vue 三个入口(地址·优惠券·消息)由「开发中」改为真实路由
- merchant/workbench 服务地址入口接真实路由
- 首页 TabBar「消息」接入消息中心
- api.js 新增 coupon/message 共 7 个接口

后台登录页(UI 与前端主色调统一):
- 左侧橙金渐变品牌区:logo 徽标 + 「优匠优服」立体字 + slogan + 460万+/99.9%/1762万 平台实力 + 保障条
- 右侧白色登录卡:橙色渐变按钮、圆角输入框、错误提示条
- 保留 FastAdmin 全部挂钩(token/验证码/keeplogin/@AdminLoginFormBegin 等 14 项)

验证:5 套用例 178 项断言全通过(47+65+27+24+15),配置自检 8/8
2026-10-28 16:51:45 +08:00
linda
2af4cf72b5 feat(home): 移除首页「到象柚商城开店 / 一键开店」入口
- 删除模板中的商城卡片(图标 + 文案 + 一键开店按钮)
- 删除 onMall 事件处理与相关样式(.mall / .mall-ic / .mi-body / .mi-handle / .mall-l / .mall-title / .mall-sub / .mall-btn)
- 首页结构改为:教程 → 大促 Banner → 平台实力 → 页脚 slogan

校验:22 个 .vue 编译通过、无残留引用
2026-10-28 16:42:59 +08:00
linda
485b66e28f fix(admin): 修复后台 /admin 全站 404(缺失入口 + PHP8.5 编译期告警)
根因(两处叠加):
1) public/admin.php 缺失:FastAdmin 的 deny_module_list 含 admin,
   后台必须通过 admin.php 以 BIND_MODULE=admin 访问 → 之前任何 /admin 都 404
2) PHP 8.5 将 (boolean) 列为编译期 E_DEPRECATED,TP5 Request.php:1159 命中
   → Error::appError 升级为 ErrorException,在 Request 类「自动加载」瞬间抛出,
     早于任何模块级垫片,导致请求直接中断

修复:
- 新增 public/admin.php(标准 FastAdmin 入口,BIND_MODULE=admin)
- thinkphp/library/think/Request.php:1159 (boolean) → (bool),已备份
  并固化为可复现脚本 scripts/patch_tp_php85.sh
- application/admin/common.php 与 application/index/common.php 增加 PHP8 兼容垫片
  (application/common.php 不会被 TP5 自动加载,已还原为原样)
- nginx 伪静态新增 /admin、/admin/ → /admin.php(已备份 + nginx -t + 平滑 reload)

验证:/admin → 302 登录页、/admin.php/index/login → 200;
后台密码哈希与 DB 一致;验证码 /captcha 返回 PNG;163 项断言回归全通过
2026-10-28 16:37:16 +08:00
linda
ca998d0ef1 chore(config): 微信登录配置加固 + 配置自检脚本
配置:
- manifest.json mp-weixin.appid = wx40ca4b02d4d1cb58(构建产物已自动同步)
- .env 新增 [sms] 段:mock / mock_code,手机号登录验证码改为配置驱动
  (Auth::login 不再硬编码 123456;mock=0 时返回 2010 提示接入短信)
- 服务端 .env [wechat] appid/secret 已就位并与小程序一致

加固:
- 新增 utils/wxlogin.js:微信登录单飞(防静默登录与手动登录抢同一个一次性 code)
  + 40029/40163 自动换新 code 重试一次
- Auth::wxlogin 失败时回传 wx_errcode,供客户端判断是否重试
- 登录失败自动展开手机号兜底通道

新增 tests/config_check.js:一键核对 appid 三处一致性 / 接口连通 / HTTPS 证书 / 短信开关
验证:config_check 8/8 + 163 项断言回归全通过
2026-10-28 16:25:07 +08:00
linda
4e73c8164a fix(wxlogin): 修复微信登录 40029 + 新增商家(企业账号)全流程
微信登录修复:
- 根因:manifest.json 的 mp-weixin.appid 为空 → 开发者工具用测试号,code 与服务端 appid 不匹配
- 修复:填入 wx40ca4b02d4d1cb58
- WxLogin 增加错误码语义映射(40029 appid 不一致 / 40125 secret 错 / 45011 频繁 / 40226 风控)
- 登录页新增手机号登录兜底通道(微信不可用时业务不被卡住)

商家(企业账号):
- 新表 fa_merchant / fa_merchant_order / fa_invoice(纯新增,DB 40→45 表)
- Merchant 控制器:apply/info/update/bills/invoices/invoice/bindBatch
  入驻含企业信息+营业执照+开票信息+结算方式(预付/月结)
  账单按月汇总、开票额度按已付-已开票校验、批量下单按批次归属
- Auth::switchRole 支持 merchant(2001/2002/2003 语义码 + redirect)
- Auth::profile 增加 is_merchant / merchant

前端:
- 登录页角色扩为 业主/师傅/商家 三类
- pages/merchant/apply 企业入驻;workbench 商家工作台(经营数据+按月账单+近期订单+六宫格)
- pages/merchant/batch 批量下单(多地址×多数量)→ 逐单建单支付 → 绑定批次
- pages/merchant/invoice 开票申请与记录
- pages/mine 增加商家入驻/切换商家端入口;角色徽章三态

验证:163 项断言全通过(page_flow 47 + e2e 65 + phase2 27 + phase3 24)
2026-10-28 16:22:20 +08:00
linda
6ff685afc9 feat(login): 打开小程序直接进主页(游客可逛 + 静默微信登录)
- 首页 onShow 不再强制跳转登录页;改为先尝试静默微信登录
  (uni.login 取 code → /auth/wxlogin 建号发 token),成功即无感登录可直接下单
- 静默登录失败(非微信环境/网络异常)保持游客态,正常浏览类目与服务
- 需要身份的动作(下单/我的/订单)才引导到登录页
- 登录页补充返回按钮(从「我的」进入时可见,作为启动页时不显示)
2026-10-28 16:13:55 +08:00
linda
1d92202b1a feat: 微信授权登录 + 我的中心角色切换 + 师傅工作台全模块 + 图标美化
登录与角色:
- Auth::wxlogin 微信 code → jscode2session → 落库发 token(appid/secret 走 .env)
- 新增 fa_user_wechat 表,openid 幂等建号(CLI 已验证 is_new 1→0 不重复建号)
- Auth::switchRole 角色切换(未入驻 2001 / 审核中 2002 / 未通过 2003)
- pages/login 改为微信一键授权;pages/mine 我的中心(师傅入口 + 切换师傅端)

师傅工作台(对齐需求文档):
- pages/master/workbench 工作台:接单开关 / 待处理待验收 / 可提现 / 六宫格入口 / 信用四指标 / 技能标签
- pages/master/hall 订单大厅:类型筛选(一口价/报价) + 4 种排序 + 抢单倒计时 + 报价入口
- pages/master/quote 报价竞标:金额/说明/有效期 + 报价记录
- pages/master/wallet 钱包:可提现/今日/累计 + 账单明细 + 提现校验
- pages/master/credit 信用与申诉:五项指标 + 规则 + 申诉提交/记录
- 新增 fa_appeal 表

视觉:
- 15 个类目图标重画为双色扁平 SVG,用无头 Chrome 渲染为 192px 透明 PNG
- 首页改用 <image src=static/icons/*.png>,移除 200 行 CSS 图标数据

验证:page_flow 47 + e2e_flow 65 + phase2_verify 27 = 139 项断言全通过
2026-10-28 16:10:34 +08:00
linda
78722b3912 feat(ui): 登录起全链路页面接通 + 逐页面验证(47 项)+ 修复订单列表越权泄漏
前端:
- utils/request.js 统一请求层(token/错误码/401 引导登录)
- utils/api.js 接口清单(与后端控制器一一对应)
- pages/login 登录(手机号+验证码+角色选择)
- pages/service/list|detail 服务列表/详情
- pages/order/create 下单(地址/预约/急单/费用试算/自动支付)
- pages/order/list|detail|review 订单列表/详情轨迹/评价
- pages/master/apply|hall|orders 师傅入驻/订单大厅/接单履约
- YJYF/YJYF 首页接 home/index 真实类目 + 路由跳转

后端 Bug 修复(严重):
- TP5 中 count() 会重置查询条件,导致 Order::index / Master::hall / Master::orders
  在 select 时丢失 where 条件 → 泄漏全部用户订单/跨用户数据
- 改为闭包重建查询,已验证修复
2026-10-28 15:52:39 +08:00
linda
376ce7b5c9 feat(api): 全链路后端 + 数据库设计 + E2E 测试(65 项断言全通过)
数据库:
- db/schema_phase1.sql  16 张业务表(类目/服务/地址/师傅/订单/流水/取证/报价/评价/券/钱包/提现/结算/消息)
- db/seed_phase1.sql    15 类目 + 32 服务项目 + 新人券(幂等)

后端 API (application/api/controller):
- Base/Auth/Home/Address/Order/Master/Review
- app/common/library/OrderStatus  11 状态机 + 流转矩阵
- application/api/common.php  PHP 8.5 兼容垫片(E_DEPRECATED 不再升级为异常)

测试:
- tests/e2e_flow.js  用户下单→支付→师傅抢单→履约→验收→结算→评价 全链路 65 项断言
- 含异常用例:越权/重复操作/非法状态流转/2h 未联系自动回流
2026-10-28 15:45:51 +08:00
linda
ce2a102909 feat(home): 品牌更名「优匠优服」+ 首页 UI 升级
- 名称:奇兵到家 → 优匠优服(页面 / pages.json / manifest.json)
- 头部:三段式橙金渐变 + 光斑装饰 + 双层头像环 + 时段问候
- 搜索:100rpx 白胶囊悬浮压盖橙白交界,内嵌渐变按钮
- 新增:服务保障条、全部服务面板标题栏、平台实力三栏分栏、品牌页脚
- Banner:双标签 + 副标题 + 日期胶囊 + 立即抢购 CTA
- 图标:15 个服务图标改为数据驱动纯 CSS 图元(零图片依赖)
2026-10-28 15:30:41 +08:00