文件
yjyf/db/schema_phase2.sql
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

42 行
2.0 KiB
SQL

此文件含有模棱两可的 Unicode 字符

此文件含有可能会与其他字符混淆的 Unicode 字符。 如果您是想特意这样的,可以安全地忽略该警告。 使用 Escape 按钮显示他们。

-- ============================================================================
-- 优匠优服 · Phase 2(微信授权登录 / 申诉中心)
-- 纯新增表,不改动既有表结构
-- ============================================================================
SET NAMES utf8mb4;
-- 微信授权账号绑定(不动 fa_user 结构,独立表存放)
CREATE TABLE IF NOT EXISTS `fa_user_wechat` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`user_id` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '关联 fa_user.id',
`openid` varchar(64) NOT NULL DEFAULT '' COMMENT '小程序 openid',
`unionid` varchar(64) NOT NULL DEFAULT '' COMMENT '开放平台 unionid',
`session_key` varchar(128) NOT NULL DEFAULT '',
`nickname` varchar(64) NOT NULL DEFAULT '' COMMENT '微信昵称',
`avatar` varchar(255) NOT NULL DEFAULT '' COMMENT '微信头像',
`createtime` bigint(16) DEFAULT NULL,
`updatetime` bigint(16) DEFAULT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `openid` (`openid`),
KEY `user_id` (`user_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='微信授权账号';
-- 申诉中心(误判 / 恶意评价 / 扣款申诉)
CREATE TABLE IF NOT EXISTS `fa_appeal` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`master_id` int(10) unsigned NOT NULL DEFAULT '0',
`order_id` int(10) unsigned NOT NULL DEFAULT '0',
`type` enum('misjudge','review','deduct','other') NOT NULL DEFAULT 'other' COMMENT '误判/恶意评价/扣款/其他',
`content` varchar(500) NOT NULL DEFAULT '',
`images` varchar(1000) NOT NULL DEFAULT '',
`status` enum('wait','handling','done','reject') NOT NULL DEFAULT 'wait',
`reply` varchar(500) NOT NULL DEFAULT '' COMMENT '平台回复',
`createtime` bigint(16) DEFAULT NULL,
`updatetime` bigint(16) DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `master_id` (`master_id`),
KEY `status` (`status`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='申诉工单';
-- 回滚:
-- DROP TABLE IF EXISTS `fa_appeal`,`fa_user_wechat`;