更新记录
1.0.0(2026-11-05) 下载此版本
1.0.0
- 首个版本:本地通知创建(createPushMessage)、预置渠道三级规格、payload.tab 点击路由穿透、djb2 指纹去重、延时推送
- 能力探测如实返回 supported,非 App 端优雅降级不崩溃
平台兼容性
pk-notify 通知套件
本地通知:渠道分级、点击路由穿透、延时推送、去重覆盖、权限引导。基于 uni.createPushMessage,零第三方推送 SDK。
5 分钟接入
import notify from '@/uni_modules/pk-notify/js_sdk/index.js';
// App.vue onLaunch:注册点击路由表
notify.init({
routes: [
{ tab: 'order', path: '/pages/order/detail' },
{ tab: 'msg', path: '/pages/msg/index', query: 'from=push' }
]
});
notify.onTap((e) => console.log('点击通知', e.payload, e.path));
// 页面里发通知
await notify.create({
title: '新订单提醒',
content: '订单 #1024 待处理',
importance: 'high', // silent / default / high / alarm
channelId: 'pk_alarm', // 预置渠道
payload: { tab: 'order', id: 1024 } // 点击后跳 /pages/order/detail?id=1024
});
API 全表
| 方法 | 签名 | 说明 |
|---|---|---|
init |
init({ routes? }) |
注册点击路由表 [{ tab, path, query? }];返回 { ok, routes } |
supported |
supported() |
能力探测 { supported, env, reason }——非 App 端如实返回 false,绝不假 true |
requestPermission |
requestPermission() |
申请通知权限(Android 13+ 走 POST_NOTIFICATIONS 运行时申请) |
getPermissionState |
getPermissionState() |
读授权状态 { state }(authorized/denied/unknown) |
create |
create(args) |
创建本地通知。返回 { ok, id, at }。args 见下 |
cancel |
cancel(id) |
从插件记录移除指定通知 |
cancelAll |
cancelAll() |
清空插件记录 |
channel |
channel(id) |
读预置渠道:pk_default(默认)/ pk_marketing(静默)/ pk_alarm(高优先) |
channels |
channels() |
渠道列表 |
onTap |
onTap(fn) |
点击回调:{ payload, ok, path, query };路由命中自动 navigateTo |
offTap |
offTap(fn) |
退订 |
describe |
describe(args) |
生成请求摘要(调试/日志) |
create 参数
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| title | string | ✓ | 标题(>30 字符自动截断加…) |
| content | string | ✓ | 内容(>100 字符自动截断) |
| importance | string | silent/default/high/alarm,默认 default |
|
| channelId | string | 渠道 id,默认 pk_default |
|
| delay | number | 延时毫秒,缺省立即 | |
| payload | object | 透传数据,payload.tab 驱动点击路由 |
|
| id | string | 自定义指纹 ID;缺省按 title+content+payload 生成 djb2 指纹——同内容重复推送同 ID,系统覆盖不堆叠 |
预置渠道
| id | importance | 用途 |
|---|---|---|
| pk_default | default | 常规消息 |
| pk_marketing | silent | 运营推广(无声音横幅) |
| pk_alarm | high | 订单/告警等重要消息 |
错误码
| 码 | 含义 |
|---|---|
| E-NT-01 | 渠道参数非法 |
| E-NT-02 | importance 非法 |
| E-NT-03 | create 参数非法 |
| E-NT-04 | delay 非法 |
| E-NT-05 | 路由表项非法(缺 tab/path) |
| E-NT-10/11 | 权限/创建异常(错误码可用于排查) |
FAQ
Q: 需要接个推/极光吗?
不需要。本地通知走系统 createPushMessage(HBuilderX 3.5.2+),App 内场景(订单提醒、倒计时完成、下载完成)零依赖。
Q: 和 uni.push 的区别? uni.push 面向在线推送需要厂商通道配置;本插件只管「App 自己在本地发通知」,两者可共存。
Q: 点击通知怎么跳页面?
init 时注册路由表,通知 payload 带 tab,点击自动 navigateTo;也可只监听 onTap 自己处理。
Q: 微信小程序支持吗?
小程序无本地通知 API(只有订阅消息),supported() 如实返回 false,调用不崩溃。

收藏人数:
下载插件并导入HBuilderX
下载插件ZIP
赞赏(0)
下载 3
赞赏 0
下载 12745488
赞赏 1959
赞赏
京公网安备:11010802035340号