作者
novlan1
2025.11.30
PixUI 中全局失败提示
1. 介绍
得益于 Press Pix 中实现的动态组件方案,可以在网络框架中实现全局失败提示。
2. 使用方式
初始化网络框架中,添加 useErrorToast 参数。
ts
import { initNetworkManager } from 'pmd-vue/lib/network/application/pixui/index';
// 网络请求初始化
initNetworkManager({
useErrorToast: true,
});⚠️ 注意事项:
useErrorToast默认为false, 这是为了兼容之前项目,避免破坏性更新。也就是业务想实现全局失败提示,需要手动开启- 当前内置的 Toast 组件 UI 样式为王者游戏风格,这是因为它的项目最多。其他游戏要使用,有两种方式:
- 全局覆盖 Toast 组件样式
- 初始化网络框架时,传入
dataErrorHandler参数,自定义失败处理逻辑
自定义失败处理逻辑这种方式非常灵活,除了可以自定义 Toast 组件外,还可以处理其他逻辑,比如内网活动可校验特殊 RetCode,展示特定提示等。
示例代码如下:
ts
import { initNetworkManager } from 'pmd-vue/lib/network/application/pixui/index';
import { ErrorCode, RetCode } from 'pmd-vue/lib/network/common-logic/index';
import { showToast } from 'press-pix/pmg-toast/command';
// 网络请求初始化
initNetworkManager({
useErrorToast: true,
dataErrorHandler({ data, extra }) {
if (extra.showMsgToast
&& data
&& +data.r !== RetCode.Success
&& +data.r !== RetCode.Empty
&& +data.r !== ErrorCode.NeedLogin) {
if (data.msg) {
showToast(data.msg);
} else {
showToast(`${$t('连接失败,请重试!')}(${data.r})`);
}
}
return true;
},
});