Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
weixin_46011646
wechaty
提交
f0c0a40c
W
wechaty
项目概览
weixin_46011646
/
wechaty
与 Fork 源项目一致
Fork自
wechaty / wechaty
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
W
wechaty
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
f0c0a40c
编写于
10月 11, 2016
作者:
Huan (李卓桓)
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
add this.obj safety check
上级
b49f08fb
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
12 addition
and
12 deletion
+12
-12
src/contact.ts
src/contact.ts
+1
-1
src/room.ts
src/room.ts
+11
-11
未找到文件。
src/contact.ts
浏览文件 @
f0c0a40c
...
...
@@ -94,7 +94,7 @@ class Contact {
return
Promise
.
resolve
(
this
)
}
if
(
this
.
obj
.
id
)
{
// already ready
if
(
this
.
obj
&&
this
.
obj
.
id
)
{
// already ready
return
Promise
.
resolve
(
this
)
}
...
...
src/room.ts
浏览文件 @
f0c0a40c
...
...
@@ -63,11 +63,11 @@ class Room extends EventEmitter {
}
public
toString
()
{
return
this
.
id
}
public
toStringEx
()
{
return
`Room(
${
this
.
obj
.
topic
}
[
${
this
.
id
}
])`
}
public
toStringEx
()
{
return
`Room(
${
this
.
obj
&&
this
.
obj
.
topic
}
[
${
this
.
id
}
])`
}
// @private
public
isReady
():
boolean
{
return
!!
(
this
.
obj
.
memberList
&&
this
.
obj
.
memberList
.
length
)
return
!!
(
this
.
obj
&&
this
.
obj
.
memberList
&&
this
.
obj
.
memberList
.
length
)
}
public
refresh
():
Promise
<
Room
>
{
...
...
@@ -86,7 +86,7 @@ class Room extends EventEmitter {
return
Promise
.
reject
(
e
)
}
else
if
(
this
.
isReady
())
{
return
Promise
.
resolve
(
this
)
}
else
if
(
this
.
obj
.
id
)
{
}
else
if
(
this
.
obj
&&
this
.
obj
.
id
)
{
log
.
warn
(
'
Room
'
,
'
ready() has obj.id but memberList empty in room %s. reloading
'
,
this
.
obj
.
topic
)
}
...
...
@@ -150,7 +150,7 @@ class Room extends EventEmitter {
.
send
(
m
)
}
public
get
(
prop
):
string
{
return
this
.
obj
[
prop
]
||
this
.
dirtyObj
[
prop
]
}
public
get
(
prop
):
string
{
return
(
this
.
obj
&&
this
.
obj
[
prop
])
||
(
this
.
dirtyObj
&&
this
.
dirtyObj
[
prop
])
}
private
parse
(
rawObj
:
RoomRawObj
):
RoomObj
{
if
(
!
rawObj
)
{
...
...
@@ -226,7 +226,7 @@ class Room extends EventEmitter {
private
delLocal
(
contact
:
Contact
):
number
{
log
.
verbose
(
'
Room
'
,
'
delLocal(%s)
'
,
contact
)
const
memberList
=
this
.
obj
.
memberList
const
memberList
=
this
.
obj
&&
this
.
obj
.
memberList
if
(
!
memberList
||
memberList
.
length
===
0
)
{
return
0
// already in refreshing
}
...
...
@@ -259,18 +259,18 @@ class Room extends EventEmitter {
return
newTopic
}
// return this.get('topic')
return
UtilLib
.
plainText
(
this
.
obj
.
topic
)
return
UtilLib
.
plainText
(
this
.
obj
&&
this
.
obj
.
topic
)
}
public
nick
(
contact
:
Contact
):
string
{
if
(
!
this
.
obj
.
nickMap
)
{
if
(
!
this
.
obj
||
!
this
.
obj
.
nickMap
)
{
return
''
}
return
this
.
obj
.
nickMap
[
contact
.
id
]
}
public
has
(
contact
:
Contact
):
boolean
{
if
(
!
this
.
obj
.
memberList
)
{
if
(
!
this
.
obj
||
!
this
.
obj
.
memberList
)
{
return
false
}
return
this
.
obj
.
memberList
...
...
@@ -279,8 +279,8 @@ class Room extends EventEmitter {
}
public
owner
():
Contact
{
const
ownerUin
=
this
.
obj
.
ownerUin
let
memberList
=
this
.
obj
.
memberList
||
[]
const
ownerUin
=
this
.
obj
&&
this
.
obj
.
ownerUin
let
memberList
=
(
this
.
obj
&&
this
.
obj
.
memberList
)
||
[]
let
user
=
Config
.
puppetInstance
()
.
user
...
...
@@ -300,7 +300,7 @@ class Room extends EventEmitter {
public
member
(
name
):
Contact
{
log
.
verbose
(
'
Room
'
,
'
member(%s)
'
,
name
)
if
(
!
this
.
obj
.
memberList
)
{
if
(
!
this
.
obj
||
!
this
.
obj
.
memberList
)
{
log
.
warn
(
'
Room
'
,
'
member() not ready
'
)
return
null
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录