ke: 鸿蒙 UI 整改:emoji→AmIcon 图标、宽屏侧栏、Md 第三方库、通知可配置项
- common/Icons.ets(生成器产出):43 枚与 WebUI icons.tsx 同几何的 Path 图标 - NavItems.ts:icon(emoji) → iconKey,与 WebUI 导航同图标 - 全页面 emoji 清除(空态改单行灰字,按钮/头像/刷新等换 AmIcon) - MailDetailPage 接入 @luvi/lv-markdown-in(第三方,替代手写解析器) - WideSidebar + MainPage isWide(≥768vp):宽屏侧栏 60vp 图标轨、藏底部条、onAreaChange 断点 - 通知=可配置项(默认关):PushService.isEnabled/setEnabled + reportToken 最前 gate (关=不取token/不弹权限/不打网关)+ SettingsPage Toggle + 服务端通道状态提示 - EntryAbility.onCreate 解析 want:冷启点通知也能路由(原来只有 onNewWant) - 判据:harmony-widescreen(4) + harmony-push-optin(4) 新增;harmony-nav 同步 iconKey/条件 padding
This commit is contained in:
@ -33,9 +33,27 @@ export default class EntryAbility extends UIAbility {
|
||||
hilog.error(DOMAIN, 'testTag', 'Failed to set colorMode. Cause: %{public}s', JSON.stringify(err));
|
||||
}
|
||||
hilog.info(DOMAIN, 'testTag', '%{public}s', 'Ability onCreate');
|
||||
/*
|
||||
* ★ 2026-09-15:冷启点通知也要跳转。
|
||||
* 之前只在 onNewWant 解析 want ⇒ 冷启动(进程不在)时点击通知 onCreate 拿到 want 却丢掉跳转目标。
|
||||
* 这里与 onNewWant 同一付逻辑:解析出 route 就写 pendingRoute,页面起来后读它。
|
||||
* 解析不出来就不做(一条格式不认识的通知最坏应当是"没反应",不是"跳到空页")。
|
||||
*/
|
||||
try {
|
||||
const params: Record<string, Object> = want.parameters === undefined
|
||||
? {} as Record<string, Object>
|
||||
: want.parameters as Record<string, Object>;
|
||||
const route = PushService.routeFromWant(params, this.ledger);
|
||||
if (route !== undefined) {
|
||||
PushService.pendingRoute = route;
|
||||
}
|
||||
} catch (err) {
|
||||
hilog.info(DOMAIN, 'testTag', '冷启通知跳转解析失败(静默):%{public}s', JSON.stringify(err));
|
||||
}
|
||||
/*
|
||||
* 推送上报:**不 await、失败全静默** —— 启动不能被网络/权限阻塞,也不能因为推送不可用而报错。
|
||||
* 冷启时还没登录 ⇒ POST 会 401,静默忽略;标记没写成功 ⇒ 下次启动会再试一次。
|
||||
* ★ reportToken 内部先查开关(PushService.isEnabled,默认关):关着就不取 token、
|
||||
* 不弹权限、不打网关(自部署零开销)。
|
||||
*/
|
||||
try {
|
||||
const push: PushService = PushService.getInstance(this.context);
|
||||
|
||||
Reference in New Issue
Block a user