Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
genary
uni-app
提交
04d7ff06
U
uni-app
项目概览
genary
/
uni-app
与 Fork 源项目一致
Fork自
DCloud / uni-app
通知
1
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
U
uni-app
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
04d7ff06
编写于
8月 17, 2022
作者:
fxy060608
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix(push): getPushClientId
上级
66e14eff
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
32 addition
and
36 deletion
+32
-36
packages/uni-api/src/service/plugin/push.ts
packages/uni-api/src/service/plugin/push.ts
+17
-0
packages/uni-app-plus/dist/uni.runtime.esm.js
packages/uni-app-plus/dist/uni.runtime.esm.js
+13
-0
packages/uni-push/dist/uni-push.plus.es.js
packages/uni-push/dist/uni-push.plus.es.js
+1
-16
packages/uni-push/src/plus.ts
packages/uni-push/src/plus.ts
+1
-20
未找到文件。
packages/uni-api/src/service/plugin/push.ts
浏览文件 @
04d7ff06
...
...
@@ -2,6 +2,7 @@ import { defineAsyncApi } from '../../helpers/api'
interface
OnPushEnabledCallback
{
type
:
'
enabled
'
offline
:
boolean
}
interface
OnPushClientIdCallback
{
...
...
@@ -28,6 +29,7 @@ interface OnPushClickCallback {
let
cid
:
string
|
undefined
let
cidErrMsg
:
string
|
undefined
let
enabled
:
boolean
|
undefined
let
offline
:
boolean
|
undefined
function
normalizePushMessage
(
message
:
unknown
)
{
try
{
...
...
@@ -49,6 +51,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
...
...
@@ -89,6 +94,18 @@ const API_GET_PUSH_CLIENT_ID = 'getPushClientId'
export
const
getPushClientId
=
defineAsyncApi
(
API_GET_PUSH_CLIENT_ID
,
(
_
,
{
resolve
,
reject
})
=>
{
// App 端且启用离线时,使用 getClientInfoAsync 来调用
if
(
__PLATFORM__
===
'
app
'
&&
offline
)
{
plus
.
push
.
getClientInfoAsync
(
(
info
)
=>
{
resolve
({
cid
:
info
.
clientid
})
},
(
res
)
=>
{
reject
(
res
.
code
+
'
:
'
+
res
.
message
)
}
)
return
}
Promise
.
resolve
().
then
(()
=>
{
if
(
typeof
enabled
===
'
undefined
'
)
{
enabled
=
false
...
...
packages/uni-app-plus/dist/uni.runtime.esm.js
浏览文件 @
04d7ff06
...
...
@@ -11075,6 +11075,7 @@ const getLaunchOptionsSync = defineSyncApi(API_GET_LAUNCH_OPTIONS_SYNC, () => {
let cid;
let cidErrMsg;
let enabled;
let offline;
function normalizePushMessage(message) {
try {
return JSON.parse(message);
...
...
@@ -11089,6 +11090,9 @@ function normalizePushMessage(message) {
function invokePushCallback(args) {
if (args.type === 'enabled') {
enabled = true;
{
offline = args.offline;
}
}
else if (args.type === 'clientId') {
cid = args.cid;
...
...
@@ -11127,6 +11131,15 @@ function invokeGetPushCidCallbacks(cid, errMsg) {
}
const API_GET_PUSH_CLIENT_ID = 'getPushClientId';
const getPushClientId = defineAsyncApi(API_GET_PUSH_CLIENT_ID, (_, { resolve, reject }) => {
// App 端且启用离线时,使用 getClientInfoAsync 来调用
if (offline) {
plus.push.getClientInfoAsync((info) => {
resolve({ cid: info.clientid });
}, (res) => {
reject(res.code + ': ' + res.message);
});
return;
}
Promise.resolve().then(() => {
if (typeof enabled === 'undefined') {
enabled = false;
...
...
packages/uni-push/dist/uni-push.plus.es.js
浏览文件 @
04d7ff06
// @ts-expect-error
uni
.
invokePushCallback
({
type
:
'
enabled
'
,
offline
:
true
,
});
Promise
.
resolve
().
then
(()
=>
{
plus
.
push
.
setAutoNotification
&&
plus
.
push
.
setAutoNotification
(
false
);
plus
.
push
.
getClientInfoAsync
((
info
)
=>
{
if
(
info
.
clientid
)
{
// @ts-expect-error
uni
.
invokePushCallback
({
type
:
'
clientId
'
,
cid
:
info
.
clientid
,
});
}
},
(
res
)
=>
{
// @ts-expect-error
uni
.
invokePushCallback
({
type
:
'
clientId
'
,
cid
:
''
,
errMsg
:
res
.
code
+
'
:
'
+
res
.
message
,
});
});
plus
.
push
.
addEventListener
(
'
click
'
,
(
result
)
=>
{
// @ts-expect-error
uni
.
invokePushCallback
({
...
...
packages/uni-push/src/plus.ts
浏览文件 @
04d7ff06
// @ts-expect-error
uni
.
invokePushCallback
({
type
:
'
enabled
'
,
offline
:
true
,
})
Promise
.
resolve
().
then
(()
=>
{
plus
.
push
.
setAutoNotification
&&
plus
.
push
.
setAutoNotification
(
false
)
plus
.
push
.
getClientInfoAsync
(
(
info
)
=>
{
if
(
info
.
clientid
)
{
// @ts-expect-error
uni
.
invokePushCallback
({
type
:
'
clientId
'
,
cid
:
info
.
clientid
,
})
}
},
(
res
)
=>
{
// @ts-expect-error
uni
.
invokePushCallback
({
type
:
'
clientId
'
,
cid
:
''
,
errMsg
:
res
.
code
+
'
:
'
+
res
.
message
,
})
}
)
plus
.
push
.
addEventListener
(
'
click
'
,
(
result
)
=>
{
// @ts-expect-error
uni
.
invokePushCallback
({
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录