fix(portal): 微官网预览页新增极简返回按钮与预览态徽标,修复自定义导航栏无法回退的问题
这个提交包含在:
@@ -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');
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
在新工单中引用
屏蔽一个用户