refactor(harmony): 23 处废弃 API 换成 UIContext 写法(全局 promptAction.showToast 自 API 18 废弃)
SDK 里写得很清楚:`@ohos.promptAction.d.ts` 的全局 `showToast` 标着 `@deprecated since 18`, 替代品是 `UIContext.getPromptAction()`。仓库里有 23 处这种调用(6 个页面,历史遗留)—— 这一轮既然在按"用系统方案"整理鸿蒙侧,就一次扫干净,并加判据挡住回潮。 - `promptAction.showToast(...)` → `this.getUIContext().getPromptAction().showToast(...)`(23 处) - 清掉不再需要的 `promptAction` import(多个 → 只留 `router` 等) - 新增判据:不得再用全局写法。防的不是这次,而是**新增页面照抄旧代码**这条回退路径 —— 它编译照样通过、只在真机上行为不同。自检同时验"认得出旧写法"与"不误伤新写法"。 - 顺带把权限徽标那条"点它弹说明"的判据改成钉**非废弃**写法(原来是 `promptAction.showToast(`)。 变异验证:把 `SettingsPage` 的一处改回全局写法 → 判红并点出文件。 验证:`hvigorw assembleHap` BUILD SUCCESSFUL;`npm test` 退出码 0(harmony-logic 20 条)。
This commit is contained in:
@ -10,7 +10,6 @@ import { AccountManager } from '../api/AccountManager';
|
||||
import { SseService } from '../api/SseService';
|
||||
import { Me } from '../model/Models';
|
||||
import { DEFAULT_API_BASE, EMULATOR_HOST_BASE } from '../common/Config';
|
||||
import { promptAction } from '@kit.ArkUI';
|
||||
import { hilog } from '@kit.PerformanceAnalysisKit';
|
||||
|
||||
@Entry
|
||||
@ -125,7 +124,7 @@ struct LoginPage {
|
||||
const ae = e as ApiError;
|
||||
const msg: string = ae.code === 0 ? ae.message : (ae.message.length > 0 ? ae.message : '登录失败');
|
||||
hilog.error(0x0001, 'LoginPage', 'login failed: code=%{public}d msg=%{public}s', ae.code, msg);
|
||||
promptAction.showToast({ message: msg });
|
||||
this.getUIContext().getPromptAction().showToast({ message: msg });
|
||||
} finally {
|
||||
this.loading = false;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user