fix(theme): 修复门票页导航栏主题脱节与个人中心双身份卡片流光动画,加固活动参与人画像与大神隐私

这个提交包含在:
xcbyy
2026-10-23 09:05:32 +08:00
父节点 001f81eaca
当前提交 f082ae8276
共有 14 个文件被更改,包括 147 次插入 和 40 次删除

查看文件

@@ -14,6 +14,6 @@ describe('第三十一批大神详情隐私闸门', () => {
expect(start).toBeGreaterThan(-1);
const block = indexCode.slice(start, start + 800);
expect(block).toContain('isVerifiedAdminRequest(req)');
expect(block).toContain('const { rejectReason, ...publicCompanion } = companion;');
expect(block).toContain('const { rejectReason, userId, idCardMasked, ...publicCompanion } = companion;');
});
});

查看文件

@@ -15,6 +15,6 @@ describe('第三十批大神目录隐私闸门', () => {
const block = indexCode.slice(start, start + 900);
expect(block).toContain('isVerifiedAdminRequest(req)');
expect(block).toContain("c.auditStatus === '已通过'");
expect(block).toContain('const { rejectReason, ...rest } = c;');
expect(block).toContain('const { rejectReason, userId, idCardMasked, ...rest } = c;');
});
});

查看文件

@@ -19,6 +19,8 @@ describe('第五十批大神收益统计范围闸门', () => {
const stats = repoCode.slice(start, start + 1600);
expect(stats).toContain('resolveExpertOrderScope');
expect(stats).toContain('(expert_id = ? OR claimed_by = ?)');
// 未绑定用户的种子档案不得把档案 id 冒充用户 id 去匹配 claimed_by
expect(repoCode).toContain('userId: comp.user_id != null ? Number(comp.user_id) : 0');
const trends = repoCode.slice(repoCode.indexOf('async getExpertRevenueTrends('));
expect(trends.slice(0, 6000)).toContain('(expert_id = ? OR claimed_by = ?)');
});

查看文件

@@ -41,6 +41,15 @@ describe('大神 LBS 即时匹配与接单心跳', () => {
expect(repo).toContain('async updateCompanionHeartbeat(');
// 接单中切换时立即刷新活跃时间
expect(repo).toContain("fields.push('last_active_at = NOW()')");
// 无定位心跳必须清空旧坐标,避免过期位置继续参与 5km 匹配
expect(repo).toContain('latitude = NULL, longitude = NULL');
// 列表在线状态同样以心跳为准
expect(repo).toContain("(status = '接单中' AND last_active_at >= DATE_SUB(NOW(), INTERVAL 10 MINUTE)) as isOnline");
});
it('历史 expert_id=101 等失效订单必须按大神名称回填真实档案 id', () => {
expect(mysql).toContain('o.expert_id >= 100 AND o.expert_id < 200');
expect(mysql).toContain('JOIN companions c ON c.name = o.companion_name');
});
it('匹配接口必须在详情路由之前注册,心跳接口必须鉴权', () => {

查看文件

@@ -24,6 +24,8 @@ describe('第十二批读接口数据隔离闸门 (订单 / 我的组局 / 分
const block = repoCode.slice(start, start + 2200);
expect(block).toContain('buyer_id = ?');
expect(block).toContain('claimed_by = ?');
expect(block).toContain('expert_id IN (SELECT id FROM companions WHERE user_id = ?)');
expect(block).not.toContain('OR expert_id = ?');
expect(block).toContain('companion_name IN (SELECT name FROM companions');
// 不得用「用户 id == 档案 id」做兜底归属,避免 id 撞号导致越权看到他人订单
expect(block).not.toContain('WHERE user_id = ? OR id = ?');