锁定微信订阅失败响应

微信订阅消息失败结果不再向 H5 透出原生错误

微信订阅测试覆盖 requestSubscribeMessage 失败的稳定原因

native shell 总门禁反查微信订阅结果边界
This commit is contained in:
2026-06-20 13:19:18 +08:00
parent 16ae7925e2
commit c49bccc269
3 changed files with 73 additions and 1 deletions
@@ -15,6 +15,7 @@ describe('subscribe-message mini program bridge', () => {
let subscribeMessageBridge;
beforeEach(() => {
vi.spyOn(console, 'error').mockImplementation(() => {});
globalThis.wx = {
requestSubscribeMessage: vi.fn(),
setStorageSync: vi.fn(),
@@ -62,6 +63,38 @@ describe('subscribe-message mini program bridge', () => {
expect(globalThis.wx.navigateBack).toHaveBeenCalled();
});
test('hides requestSubscribeMessage native failure details from H5 result', () => {
const {
SUBSCRIBE_RESULT_STORAGE_KEY,
createSubscribeMessagePageController,
} = subscribeMessageBridge;
const subscribeError = {
errMsg: 'requestSubscribeMessage:fail private native detail',
};
globalThis.wx.requestSubscribeMessage.mockImplementationOnce((options) => {
options.fail?.(subscribeError);
});
const page = createSubscribeMessagePageController(
{
setData: vi.fn(),
},
{ templateId: TEST_TEMPLATE_ID },
);
page.onLoad({ requestId: 'request-fail' });
page.requestSubscribe();
expect(globalThis.wx.setStorageSync).toHaveBeenCalledWith(
SUBSCRIBE_RESULT_STORAGE_KEY,
'request-fail:skip:wechat%20subscribe%20unavailable',
);
expect(console.error).toHaveBeenCalledWith(
'[subscribe-message] request failed',
subscribeError,
);
expect(globalThis.wx.navigateBack).toHaveBeenCalled();
});
test('skip action notifies previous web-view', () => {
const {
SUBSCRIBE_RESULT_STORAGE_KEY,