Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
ripplebb
uni-app
提交
00ee5811
U
uni-app
项目概览
ripplebb
/
uni-app
与 Fork 源项目一致
Fork自
DCloud / uni-app
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
U
uni-app
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
00ee5811
编写于
8月 23, 2022
作者:
fxy060608
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
refactor(push): getPushClientId
上级
55c673a7
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
113 addition
and
8 deletion
+113
-8
packages/vue-cli-plugin-uni/packages/uni-push/dist/uni-push.es.js
.../vue-cli-plugin-uni/packages/uni-push/dist/uni-push.es.js
+32
-0
packages/vue-cli-plugin-uni/packages/uni-push/dist/uni-push.plus.es.js
...cli-plugin-uni/packages/uni-push/dist/uni-push.plus.es.js
+53
-7
src/core/service/api/plugin/push.js
src/core/service/api/plugin/push.js
+28
-1
未找到文件。
packages/vue-cli-plugin-uni/packages/uni-push/dist/uni-push.es.js
浏览文件 @
00ee5811
...
...
@@ -103,6 +103,36 @@ var GtPush = /*@__PURE__*/getDefaultExportFromCjs(gtpushMin);
function
initPushNotification
()
{
// 仅 App 端
if
(
typeof
plus
!==
'
undefined
'
&&
plus
.
push
)
{
plus
.
globalEvent
.
addEventListener
(
'
newPath
'
,
({
path
})
=>
{
if
(
!
path
)
{
return
;
}
// 指定的页面为当前页面
const
pages
=
getCurrentPages
();
const
currentPage
=
pages
[
pages
.
length
-
1
];
if
(
currentPage
&&
currentPage
.
$page
&&
currentPage
.
$page
.
fullPath
===
path
)
{
return
;
}
// 简单起见,先尝试 navigateTo 跳转,失败后,再尝试 tabBar 跳转
uni
.
navigateTo
({
url
:
path
,
fail
(
res
)
{
if
(
res
.
errMsg
.
indexOf
(
'
tabbar
'
)
>
-
1
)
{
uni
.
switchTab
({
url
:
path
,
fail
(
res
)
{
console
.
error
(
res
.
errMsg
);
},
});
}
else
{
console
.
error
(
res
.
errMsg
);
}
},
});
});
plus
.
push
.
addEventListener
(
'
click
'
,
(
result
)
=>
{
// @ts-expect-error
uni
.
invokePushCallback
({
...
...
@@ -141,7 +171,9 @@ if (!appid) {
});
}
else
{
// #ifdef APP
initPushNotification
();
// #endif
GtPush
.
init
({
appid
,
onError
:
(
res
)
=>
{
...
...
packages/vue-cli-plugin-uni/packages/uni-push/dist/uni-push.plus.es.js
浏览文件 @
00ee5811
function
initPushNotification
()
{
// 仅 App 端
if
(
typeof
plus
!==
'
undefined
'
&&
plus
.
push
)
{
plus
.
globalEvent
.
addEventListener
(
'
newPath
'
,
({
path
})
=>
{
if
(
!
path
)
{
return
;
}
// 指定的页面为当前页面
const
pages
=
getCurrentPages
();
const
currentPage
=
pages
[
pages
.
length
-
1
];
if
(
currentPage
&&
currentPage
.
$page
&&
currentPage
.
$page
.
fullPath
===
path
)
{
return
;
}
// 简单起见,先尝试 navigateTo 跳转,失败后,再尝试 tabBar 跳转
uni
.
navigateTo
({
url
:
path
,
fail
(
res
)
{
if
(
res
.
errMsg
.
indexOf
(
'
tabbar
'
)
>
-
1
)
{
uni
.
switchTab
({
url
:
path
,
fail
(
res
)
{
console
.
error
(
res
.
errMsg
);
},
});
}
else
{
console
.
error
(
res
.
errMsg
);
}
},
});
});
plus
.
push
.
addEventListener
(
'
click
'
,
(
result
)
=>
{
// @ts-expect-error
uni
.
invokePushCallback
({
type
:
'
click
'
,
message
:
result
,
});
});
uni
.
onPushMessage
((
res
)
=>
{
if
(
res
.
type
===
'
receive
'
&&
res
.
data
&&
res
.
data
.
force_notification
)
{
// 创建通知栏
uni
.
createPushMessage
(
res
.
data
);
res
.
stopped
=
true
;
}
});
}
}
// @ts-expect-error
uni
.
invokePushCallback
({
type
:
'
enabled
'
,
offline
:
true
,
});
Promise
.
resolve
().
then
(()
=>
{
initPushNotification
();
plus
.
push
.
setAutoNotification
&&
plus
.
push
.
setAutoNotification
(
false
);
plus
.
push
.
addEventListener
(
'
click
'
,
(
result
)
=>
{
// @ts-expect-error
uni
.
invokePushCallback
({
type
:
'
click
'
,
message
:
result
,
});
});
plus
.
push
.
addEventListener
(
'
receive
'
,
(
result
)
=>
{
// @ts-expect-error
uni
.
invokePushCallback
({
...
...
src/core/service/api/plugin/push.js
浏览文件 @
00ee5811
...
...
@@ -9,6 +9,7 @@ import {
let
cid
let
cidErrMsg
let
enabled
let
offline
function
normalizePushMessage
(
message
)
{
try
{
...
...
@@ -22,6 +23,9 @@ export function invokePushCallback (
)
{
if
(
args
.
type
===
'
enabled
'
)
{
enabled
=
true
if
(
__PLATFORM__
===
'
app
'
)
{
offline
=
args
.
offline
}
}
else
if
(
args
.
type
===
'
clientId
'
)
{
cid
=
args
.
cid
cidErrMsg
=
args
.
errMsg
...
...
@@ -70,11 +74,34 @@ export function getPushClientId (args) {
const
hasSuccess
=
isFn
(
success
)
const
hasFail
=
isFn
(
fail
)
const
hasComplete
=
isFn
(
complete
)
// App 端且启用离线时,使用 getClientInfoAsync 来调用
if
(
__PLATFORM__
===
'
app
'
&&
offline
)
{
plus
.
push
.
getClientInfoAsync
(
(
info
)
=>
{
const
res
=
{
errMsg
:
'
getPushClientId:ok
'
,
cid
}
hasSuccess
&&
success
(
res
)
hasComplete
&&
complete
(
res
)
},
(
res
)
=>
{
res
=
{
errMsg
:
'
getPushClientId:fail
'
+
(
res
.
code
+
'
:
'
+
res
.
message
)
}
hasFail
&&
fail
(
res
)
hasComplete
&&
complete
(
res
)
}
)
return
}
Promise
.
resolve
().
then
(()
=>
{
if
(
typeof
enabled
===
'
undefined
'
)
{
enabled
=
false
cid
=
''
cidErrMsg
=
'
uni
p
ush is not enabled
'
cidErrMsg
=
'
uni
P
ush is not enabled
'
}
getPushCidCallbacks
.
push
((
cid
,
errMsg
)
=>
{
let
res
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录