suke`s Notice
hexo博客
UniApp Push检测 👂

使用

1
2
import push from './push
let checkPush = new push()

代码

这里class用处不大,只是觉得看起来很舒服,拆分模块也方便后续扩展

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
export default class push{

// 初始化
constructor(){
this.init()
}

init(){
// 开启推送
uni.subscribePush({
provider: "unipush",
success: function(res) {
console.log("success:" + JSON.stringify(res));
}
});

this.onPush()
}


onPush(){
// 分客户端不同方案监听
let osname = plus.os.name
console.log(osname,'unipush')

if (osname == 'Android') {
uni.onPush({
provider: "unipush",
success: function() {
console.log("监听透传成功");
},
callback: function(data) {
console.log("接收到透传数据:" + JSON.stringify(data));
plus.push.createMessage(data.data, {});
}
});
}
// 监听在线消息事件
if (osname == 'iOS') {
plus.push.addEventListener('receive', function(msg) {
console.log(msg)
plus.push.createMessage(msg.content, "LocalMSG", {
cover: false
});
setTimeout(() => {
// plus.push.clear();
}, 3000)
}, false);
}

this.onMessage()
}
// 点击消息处理
onMessage(){
plus.push.addEventListener(
"click",
function(data) {
console.log(data);
},
false
);
}
}