fix(portal): 微官网预览页新增极简返回按钮与预览态徽标,修复自定义导航栏无法回退的问题

这个提交包含在:
wikiboss
2026-09-21 15:37:06 +08:00
父节点 2d0b655200
当前提交 38506bbd40
共有 8 个文件被更改,包括 397 次插入 和 127 次删除

查看文件

@@ -389,7 +389,7 @@ describe('OmniCard AI 名片主潜客详情业务逻辑 (useLeadDetail.uts)', ()
});
});
describe('5. 国际销售触达与 AI 赋能函数', () => {
describe('5. 国际销售触达与智能话术函数', () => {
it('5.1 formatWhatsAppUrl 清洗国际号码并生成 wa.me 链接', () => {
const { formatWhatsAppUrl } = loadUseLeadDetail();

查看文件

@@ -332,4 +332,72 @@ describe('OmniCard AI 用户端微官网 Bento 首页与 Hero 业务逻辑测试
expect(visible.map((b: any) => b.type)).toEqual(['case', 'article', 'social']);
});
});
describe('7. 顶栏返回入口与智能导航 (executePortalGoBack)', () => {
it('7.1 当页面栈深度大于 1 时调用 uni.navigateBack', () => {
// @ts-ignore
const { executePortalGoBack } = require('../../../mpuniapp/pages/portal/usePortal.uts');
let navigatedBack = false;
let switchedTabUrl = '';
(global as any).getCurrentPages = () => [{}, {}];
(global as any).uni = {
...(global as any).uni,
navigateBack: () => {
navigatedBack = true;
},
switchTab: (p: { url: string }) => {
switchedTabUrl = p.url;
},
};
const result = executePortalGoBack(true);
expect(navigatedBack).toBe(true);
expect(result.action).toBe('navigateBack');
expect(switchedTabUrl).toBe('');
});
it('7.2 当页面栈为 1 且为名片主 (isOwner) 时安全跳转至名片管理首页', () => {
// @ts-ignore
const { executePortalGoBack } = require('../../../mpuniapp/pages/portal/usePortal.uts');
let navigatedBack = false;
let switchedTabUrl = '';
(global as any).getCurrentPages = () => [{}];
(global as any).uni = {
...(global as any).uni,
navigateBack: () => {
navigatedBack = true;
},
switchTab: (p: { url: string }) => {
switchedTabUrl = p.url;
},
};
const result = executePortalGoBack(true);
expect(navigatedBack).toBe(false);
expect(result.action).toBe('switchTab');
expect(result.targetUrl).toBe('/pages/owner/card/index');
expect(switchedTabUrl).toBe('/pages/owner/card/index');
});
it('7.3 当页面栈为 1 且为访客时安全跳转至大厅', () => {
// @ts-ignore
const { executePortalGoBack } = require('../../../mpuniapp/pages/portal/usePortal.uts');
let switchedTabUrl = '';
(global as any).getCurrentPages = () => [{}];
(global as any).uni = {
...(global as any).uni,
switchTab: (p: { url: string }) => {
switchedTabUrl = p.url;
},
};
const result = executePortalGoBack(false);
expect(result.targetUrl).toBe('/pages/owner/hall/index');
expect(switchedTabUrl).toBe('/pages/owner/hall/index');
});
});
});