Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
weixin_46011646
wechaty
提交
eff375e5
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,体验更适合开发者的 AI 搜索 >>
提交
eff375e5
编写于
10月 11, 2016
作者:
Huan (李卓桓)
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix Contact/Room filter func
上级
922b8717
变更
8
隐藏空白更改
内联
并排
Showing
8 changed file
with
29 addition
and
20 deletion
+29
-20
src/config.ts
src/config.ts
+0
-1
src/contact.ts
src/contact.ts
+6
-1
src/io-client.ts
src/io-client.ts
+3
-2
src/puppet-web/bridge.ts
src/puppet-web/bridge.ts
+6
-6
src/puppet-web/browser.ts
src/puppet-web/browser.ts
+3
-1
src/puppet-web/puppet-web.ts
src/puppet-web/puppet-web.ts
+6
-6
src/puppet.ts
src/puppet.ts
+2
-2
src/room.ts
src/room.ts
+3
-1
未找到文件。
src/config.ts
浏览文件 @
eff375e5
...
...
@@ -125,7 +125,6 @@ type WatchdogFood = {
,
timeout
?:
number
// millisecond
}
// module.exports = Config.default = Config.Config = Config
export
default
Config
export
{
Config
...
...
src/contact.ts
浏览文件 @
eff375e5
...
...
@@ -135,7 +135,12 @@ class Contact {
throw
new
Error
(
'
name not found
'
)
}
let
filterFunction
/**
* must be string because we need inject variable value
* into code as variable name
*/
let
filterFunction
:
string
if
(
name
instanceof
RegExp
)
{
filterFunction
=
`c =>
${
name
.
toString
()}
.test(c)`
}
else
if
(
typeof
name
===
'
string
'
)
{
...
...
src/io-client.ts
浏览文件 @
eff375e5
...
...
@@ -134,8 +134,9 @@ class IoClient {
this
.
log
.
verbose
(
'
IoClient
'
,
'
initIo() with token %s
'
,
this
.
token
)
if
(
this
.
targetState
()
!==
'
connected
'
)
{
this
.
log
.
warn
(
'
IoClient
'
,
'
initIo() targetState is not `connected`, skipped
'
)
return
Promise
.
resolve
()
const
errMsg
=
'
initIo() targetState is not `connected`, skipped
'
this
.
log
.
warn
(
'
IoClient
'
,
errMsg
)
return
Promise
.
reject
(
errMsg
)
}
if
(
!
this
.
wechaty
)
{
...
...
src/puppet-web/bridge.ts
浏览文件 @
eff375e5
...
...
@@ -150,23 +150,23 @@ class Bridge {
})
}
public
contactFind
(
filterFunc
tion
):
Promise
<
string
[]
>
{
return
this
.
proxyWechaty
(
'
contactFindAsync
'
,
filterFunc
tion
)
public
contactFind
(
filterFunc
:
string
):
Promise
<
string
[]
>
{
return
this
.
proxyWechaty
(
'
contactFindAsync
'
,
filterFunc
)
.
catch
(
e
=>
{
log
.
error
(
'
PuppetWebBridge
'
,
'
contactFindAsync() exception: %s
'
,
e
.
message
)
throw
e
})
}
public
roomFind
(
filterFunc
tion
):
Promise
<
string
[]
>
{
return
this
.
proxyWechaty
(
'
roomFind
'
,
filterFunc
tion
)
public
roomFind
(
filterFunc
:
string
):
Promise
<
string
[]
>
{
return
this
.
proxyWechaty
(
'
roomFind
'
,
filterFunc
)
.
catch
(
e
=>
{
log
.
error
(
'
PuppetWebBridge
'
,
'
roomFind() exception: %s
'
,
e
.
message
)
throw
e
})
}
public
roomDelMember
(
roomId
,
contactId
):
Promise
<
void
>
{
public
roomDelMember
(
roomId
,
contactId
):
Promise
<
number
>
{
if
(
!
roomId
||
!
contactId
)
{
throw
new
Error
(
'
no roomId or contactId
'
)
}
...
...
@@ -178,7 +178,7 @@ class Bridge {
})
}
public
roomAddMember
(
roomId
,
contactId
):
Promise
<
void
>
{
public
roomAddMember
(
roomId
,
contactId
):
Promise
<
number
>
{
log
.
verbose
(
'
PuppetWebBridge
'
,
'
roomAddMember(%s, %s)
'
,
roomId
,
contactId
)
if
(
!
roomId
||
!
contactId
)
{
...
...
src/puppet-web/browser.ts
浏览文件 @
eff375e5
...
...
@@ -114,11 +114,13 @@ class Browser extends EventEmitter {
}
}
public
open
(
url
:
string
=
'
https://wx.qq.com
'
):
Promise
<
void
>
{
public
open
(
url
:
string
=
'
https://wx.qq.com
'
):
Promise
<
any
>
{
log
.
verbose
(
'
PuppetWebBrowser
'
,
`open(
${
url
}
)`
)
// TODO: set a timer to guard driver.get timeout, then retry 3 times 201607
return
new
Promise
((
resolve
,
reject
)
=>
{
// wrap another Promise is because selenium use another Promise library,
// which is incompatible with node typescript types
this
.
driver
.
get
(
url
)
.
then
(
_
=>
resolve
())
.
catch
(
e
=>
{
...
...
src/puppet-web/puppet-web.ts
浏览文件 @
eff375e5
...
...
@@ -368,26 +368,26 @@ class PuppetWeb extends Puppet {
})
}
public
contactFind
(
filterFunc
tion
:
Function
):
Promise
<
Contact
[]
>
{
public
contactFind
(
filterFunc
:
string
):
Promise
<
Contact
[]
>
{
if
(
!
this
.
bridge
)
{
return
Promise
.
reject
(
new
Error
(
'
contactFind fail: no bridge(yet)!
'
))
}
return
this
.
bridge
.
contactFind
(
filterFunc
tion
)
return
this
.
bridge
.
contactFind
(
filterFunc
)
.
then
(
idList
=>
idList
.
map
(
id
=>
Contact
.
load
(
id
)))
.
catch
(
e
=>
{
log
.
warn
(
'
PuppetWeb
'
,
'
contactFind(%s) rejected: %s
'
,
filterFunc
tion
,
e
.
message
)
log
.
warn
(
'
PuppetWeb
'
,
'
contactFind(%s) rejected: %s
'
,
filterFunc
,
e
.
message
)
throw
e
})
}
public
roomFind
(
filterFunc
tion
:
Function
):
Promise
<
Room
[]
>
{
public
roomFind
(
filterFunc
:
string
):
Promise
<
Room
[]
>
{
if
(
!
this
.
bridge
)
{
return
Promise
.
reject
(
new
Error
(
'
findRoom fail: no bridge(yet)!
'
))
}
return
this
.
bridge
.
roomFind
(
filterFunc
tion
)
return
this
.
bridge
.
roomFind
(
filterFunc
)
.
then
(
idList
=>
idList
.
map
(
id
=>
Room
.
load
(
id
)))
.
catch
(
e
=>
{
log
.
warn
(
'
PuppetWeb
'
,
'
roomFind(%s) rejected: %s
'
,
filterFunc
tion
,
e
.
message
)
log
.
warn
(
'
PuppetWeb
'
,
'
roomFind(%s) rejected: %s
'
,
filterFunc
,
e
.
message
)
throw
e
})
}
...
...
src/puppet.ts
浏览文件 @
eff375e5
...
...
@@ -86,9 +86,9 @@ abstract class Puppet extends EventEmitter {
public
abstract
roomDel
(
room
:
Room
,
contact
:
Contact
):
Promise
<
number
>
public
abstract
roomTopic
(
room
:
Room
,
topic
:
string
):
Promise
<
string
>
public
abstract
roomCreate
(
contactList
:
Contact
[],
topic
?:
string
):
Promise
<
Room
>
public
abstract
roomFind
(
filter
:
Function
):
Promise
<
Room
[]
>
public
abstract
roomFind
(
filter
Func
:
string
):
Promise
<
Room
[]
>
public
abstract
contactFind
(
filter
:
Function
):
Promise
<
Contact
[]
>
public
abstract
contactFind
(
filter
Func
:
string
):
Promise
<
Contact
[]
>
}
export
default
Puppet
...
...
src/room.ts
浏览文件 @
eff375e5
...
...
@@ -341,7 +341,9 @@ class Room extends EventEmitter {
throw
new
Error
(
'
topic not found
'
)
}
let
filterFunction
// see also Contact.findAll
let
filterFunction
:
string
if
(
topic
instanceof
RegExp
)
{
filterFunction
=
`c =>
${
topic
.
toString
()}
.test(c)`
}
else
if
(
typeof
topic
===
'
string
'
)
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录