Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
.www.
wechaty
提交
d08c300c
W
wechaty
项目概览
.www.
/
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,发现更多精彩内容 >>
提交
d08c300c
编写于
6月 01, 2018
作者:
Huan (李卓桓)
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
lru cache storage for RawMessagePayload etc (#1253)
上级
15919af7
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
42 addition
and
2 deletion
+42
-2
src/puppet-padchat/puppet-padchat.ts
src/puppet-padchat/puppet-padchat.ts
+42
-2
未找到文件。
src/puppet-padchat/puppet-padchat.ts
浏览文件 @
d08c300c
...
...
@@ -21,9 +21,11 @@
// import * as fs from 'fs'
// import * as cuid from 'cuid'
import
*
as
LRU
from
'
lru-cache
'
import
{
FileBox
,
}
from
'
file-box
'
}
from
'
file-box
'
import
{
MessagePayload
,
...
...
@@ -81,6 +83,13 @@ import * as WebSocket from 'ws'
const
TOKEN
=
'
padchattest
'
export
class
PuppetPadchat
extends
Puppet
{
public
readonly
cachePadchatContactRawPayload
:
LRU
.
Cache
<
string
,
PadchatContactRawPayload
>
// public readonly cachePadchatFriendRequestRawPayload : LRU.Cache<string, FriendRequestRawPayload>
public
readonly
cachePadchatMessageRawPayload
:
LRU
.
Cache
<
string
,
PadchatMessageRawPayload
>
public
readonly
cachePadchatRoomRawPayload
:
LRU
.
Cache
<
string
,
PadchatRoomRawPayload
>
public
bridge
:
Bridge
// public botWs: WebSocket
...
...
@@ -89,6 +98,20 @@ export class PuppetPadchat extends Puppet {
)
{
super
(
options
)
const
lruOptions
:
LRU
.
Options
=
{
max
:
1000
,
// length: function (n) { return n * 2},
dispose
:
function
(
key
:
string
,
val
:
Object
)
{
log
.
silly
(
'
Puppet
'
,
'
constructor() lruOptions.dispose(%s, %s)
'
,
key
,
JSON
.
stringify
(
val
))
},
maxAge
:
1000
*
60
*
60
,
}
this
.
cachePadchatContactRawPayload
=
new
LRU
<
string
,
PadchatContactRawPayload
>
(
lruOptions
)
// this.cacheFriendRequestPayload = new LRU<string, FriendRequestPayload>(lruOptions)
this
.
cachePadchatMessageRawPayload
=
new
LRU
<
string
,
PadchatMessageRawPayload
>
(
lruOptions
)
this
.
cachePadchatRoomRawPayload
=
new
LRU
<
string
,
PadchatRoomRawPayload
>
(
lruOptions
)
this
.
bridge
=
new
Bridge
({
userId
:
TOKEN
,
autoData
:
{},
...
...
@@ -597,7 +620,24 @@ export class PuppetPadchat extends Puppet {
}
public
async
messageRawPayload
(
id
:
string
):
Promise
<
PadchatMessageRawPayload
>
{
throw
Error
(
'
should not call messageRawPayload:
'
+
id
)
// throw Error('should not call messageRawPayload: ' + id)
/**
* Issue #1249
*/
this
.
cachePadchatMessageRawPayload
.
set
(
id
,
{
id
:
'
xxx
'
,
data
:
'
xxx
'
,
}
as
any
)
const
rawPayload
=
this
.
cachePadchatMessageRawPayload
.
get
(
id
)
if
(
!
rawPayload
)
{
throw
new
Error
(
'
no rawPayload
'
)
}
return
rawPayload
// log.verbose('PuppetPadchat', 'messageRawPayload(%s)', id)
// const rawPayload: PadchatMessageRawPayload = {
// content: '',
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录