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 |
|