fix(admin): 优化管理后台英文菜单多语言文案杜绝截断并修复各业务页面与API错误

这个提交包含在:
wikiboss
2026-09-21 13:47:14 +08:00
父节点 d250a151e2
当前提交 84385f4f8e
共有 48 个文件被更改,包括 890 次插入 和 409 次删除

查看文件

@@ -97,6 +97,7 @@ type UseLeadDetailModule = {
},
api?: SaveNoteApi
) => Promise<LeadEntity>;
resolveLeadDetailText: (key: string) => string;
};
const EMOJI_RE = /[\u2600-\u27BF\uFE0F]|[\uD83C-\uDBFF][\uDC00-\uDFFF]/;
@@ -262,22 +263,48 @@ describe('OmniCard AI 名片主潜客详情业务逻辑 (useLeadDetail.uts)', ()
expect(result.status).toBe('hot');
});
});
describe('4. resolveLeadDetailText 只增文案', () => {
it('4.1 话术与上传说明有文案,保存语义仍可用', () => {
const { resolveLeadDetailText } = loadUseLeadDetail();
expect(resolveLeadDetailText('aiScript').length).toBeGreaterThan(0);
expect(resolveLeadDetailText('comingSoon')).toBe('即将提供');
expect(resolveLeadDetailText('uploadHint').length).toBeGreaterThan(0);
expect(resolveLeadDetailText('save').length).toBeGreaterThan(0);
});
});
});
describe('OmniCard AI 名片主潜客详情页契约 (leads-detail.uvue)', () => {
it('页面存在,足迹用 scroll-view,备忘用 textarea,单一主 CTA', () => {
it('页面存在,足迹用 list-view,备忘用 textarea,单一主 CTA', () => {
expect(fs.existsSync(DETAIL_PAGE)).toBe(true);
expect(fs.existsSync(DETAIL_UTS)).toBe(true);
const pageSource = fs.readFileSync(DETAIL_PAGE, 'utf8');
const logicSource = fs.readFileSync(DETAIL_UTS, 'utf8');
const combined = `${pageSource}\n${logicSource}`;
const template = pageSource.split('<script')[0];
expect(pageSource.includes('script setup lang="uts"')).toBe(true);
expect(pageSource.includes('getOmniText')).toBe(true);
expect(pageSource.includes('<scroll-view')).toBe(true);
expect(pageSource.includes('<list-view')).toBe(true);
expect(pageSource.includes('<list-item')).toBe(true);
expect(/<view[^>]*v-for=/.test(pageSource)).toBe(false);
expect(pageSource.includes('<textarea')).toBe(true);
expect(pageSource.includes('min-height: 88px')).toBe(true);
expect(pageSource.includes('primary-cta-btn')).toBe(true);
expect(template.includes('WhatsApp')).toBe(false);
expect(pageSource.includes('calc(88px + env(safe-area-inset-bottom, 0px))')).toBe(
true
);
expect(pageSource.includes('lead-status-hot')).toBe(true);
expect(pageSource.includes('#F04438')).toBe(true);
expect(pageSource.includes('aiScript')).toBe(true);
expect(pageSource.includes('comingSoon')).toBe(true);
expect(pageSource.includes('uploadHint')).toBe(true);
expect(pageSource.includes('image-uploader')).toBe(true);
expect(logicSource.includes('async function submitLeadNote')).toBe(true);
expect(
combined.includes('fetchOwnerLeadInfo') || combined.includes('loadDetail')
).toBe(true);

查看文件

@@ -407,8 +407,19 @@ describe('OmniCard AI 展会团队战报页契约 (overview.uvue)', () => {
expect(pageSource.includes('<list-view')).toBe(true);
expect(pageSource.includes('<list-item')).toBe(true);
expect(pageSource.includes('length > 5') || logicSource.includes('length > 5')).toBe(
true
false
);
expect((pageSource.match(/<list-view/g) || []).length).toBe(2);
expect(pageSource.includes('gap: 12px')).toBe(true);
expect(pageSource.includes('48%')).toBe(false);
expect(pageSource.includes('statusLabel')).toBe(true);
expect(pageSource.includes('lead-status-hot')).toBe(true);
expect(pageSource.includes(' · ')).toBe(true);
expect(pageSource.includes('isRtl')).toBe(true);
expect(pageSource.includes('overview-rtl')).toBe(true);
expect(pageSource.includes('--oc-error')).toBe(true);
expect(pageSource.includes('metric-country-long')).toBe(true);
expect(pageSource.includes('chart') || pageSource.includes('bar-chart')).toBe(false);
expect(combined.includes('summarize')).toBe(true);
expect(combined.includes('loadOverview')).toBe(true);
expect(combined.includes('fetchOwnerLeadPage')).toBe(true);