Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
wechaty
wechaty
提交
4cc52f1a
W
wechaty
项目概览
wechaty
/
wechaty
上一次同步 大约 3 年
通知
304
Star
10499
Fork
6
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
152
列表
看板
标记
里程碑
合并请求
1
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
W
wechaty
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
152
Issue
152
列表
看板
标记
里程碑
合并请求
1
合并请求
1
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
4cc52f1a
编写于
8月 17, 2018
作者:
Huan (李卓桓)
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix sync for contact; add roomMemberPayloadDirty for sync; prepare for
#1552
上级
42faaf66
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
42 addition
and
29 deletion
+42
-29
src/user/contact.ts
src/user/contact.ts
+11
-5
src/user/room.ts
src/user/room.ts
+31
-24
未找到文件。
src/user/contact.ts
浏览文件 @
4cc52f1a
...
...
@@ -632,30 +632,36 @@ export class Contact extends Accessory implements Sayable {
}
/**
* Force reload
(re-ready()) data for Contact,
* Force reload
data for Contact, Sync data from lowlevel API again.
*
* @returns {Promise<this>}
* @example
* await contact.sync()
* @private
*/
public
async
sync
():
Promise
<
void
>
{
await
this
.
ready
(
true
)
}
/**
* `ready()` is For FrameWork ONLY!
*
* Please not to use `ready()` at the user land.
* If you want to sync data, uyse `sync()` instead.
*
* @private
*/
public
async
ready
(
noCache
=
false
):
Promise
<
void
>
{
public
async
ready
(
forceSync
=
false
,
):
Promise
<
void
>
{
log
.
silly
(
'
Contact
'
,
'
ready() @ %s
'
,
this
.
puppet
)
if
(
this
.
isReady
())
{
// already ready
if
(
!
forceSync
&&
this
.
isReady
())
{
// already ready
log
.
silly
(
'
Contact
'
,
'
ready() isReady() true
'
)
return
}
try
{
if
(
noCache
)
{
if
(
forceSync
)
{
await
this
.
puppet
.
contactPayloadDirty
(
this
.
id
)
}
this
.
payload
=
await
this
.
puppet
.
contactPayload
(
this
.
id
)
...
...
src/user/room.ts
浏览文件 @
4cc52f1a
...
...
@@ -315,19 +315,45 @@ export class Room extends Accessory implements Sayable {
}
/**
* @ignore
* @private
* @deprecated: Use `sync()` instead
*/
public
async
refresh
():
Promise
<
void
>
{
await
this
.
sync
()
}
/**
* Force reload data for Room, Sync data from lowlevel API again.
*
* @returns {Promise<void>}
* @example
* await room.sync()
*/
public
async
sync
():
Promise
<
void
>
{
await
this
.
ready
(
true
)
}
/**
* `ready()` is For FrameWork ONLY!
*
* Please not to use `ready()` at the user land.
* If you want to sync data, uyse `sync()` instead.
*
* @private
*/
public
async
ready
(
dirty
=
false
,
forceSync
=
false
,
):
Promise
<
void
>
{
log
.
verbose
(
'
Room
'
,
'
ready()
'
)
if
(
!
dirty
&&
this
.
isReady
())
{
if
(
!
forceSync
&&
this
.
isReady
())
{
return
}
if
(
dirty
)
{
if
(
forceSync
)
{
await
this
.
puppet
.
roomPayloadDirty
(
this
.
id
)
await
this
.
puppet
.
roomMemberPayloadDirty
(
this
.
id
)
}
this
.
payload
=
await
this
.
puppet
.
roomPayload
(
this
.
id
)
...
...
@@ -342,8 +368,8 @@ export class Room extends Accessory implements Sayable {
.
map
(
id
=>
this
.
wechaty
.
Contact
.
load
(
id
))
.
map
(
contact
=>
{
contact
.
ready
()
.
catch
(
()
=>
{
//
.
catch
(
e
=>
{
log
.
verbose
(
'
Room
'
,
'
ready() member.ready() rejection: %s
'
,
e
)
})
}),
)
...
...
@@ -932,25 +958,6 @@ export class Room extends Accessory implements Sayable {
return
contactList
}
/**
* @ignore
*/
public
async
refresh
():
Promise
<
void
>
{
return
this
.
sync
()
}
/**
* Force reload data for Room, Sync data for Room
*
* @returns {Promise<void>}
* @example
* await room.sync()
* @private
*/
public
async
sync
():
Promise
<
void
>
{
await
this
.
ready
(
true
)
}
/**
* Get room's owner from the room.
* > Tips:
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录