webot-example icon indicating copy to clipboard operation
webot-example copied to clipboard

规则从数据库读取

Open carly1987 opened this issue 10 years ago • 5 comments

require('./rules')(weixin); 这个导入的是静态的一个规则js; 我想要规则从数据库存取,请给个思路把。不晓得js文件如何能动态化

carly1987 avatar Dec 30 '14 06:12 carly1987

一条规则对应一条数据库记录,JS function toString 存到数据库,或者限定死可以提供的 JS function ,数据库里存此 function 的 meta 信息(可以是某个 hash 的键值,也可以是 { module: 'xxx', method: 'xxx' } 这种更结构化的内容)。

一个使用 key-value 做存储的示例: https://github.com/CuriosityChina/curio-api/tree/master/models/responder

ktmud avatar Dec 30 '14 09:12 ktmud

加载规则时类似这样: https://github.com/CuriosityChina/curio-api/blob/master/models/webot/index.js#L37

loop 一下从数据库读到的 rules collection ,然后调用 webot.set(rule)

ktmud avatar Dec 30 '14 09:12 ktmud

我看你只用了weixin-robot, 我用了webot 以及wechat。 github上 或者说 npm上 累死的好多,搞不清应该用哪个好了。我的代码地址:https://github.com/carly1987/cystudio。 我一下子没有看明白你说的,我先摸索下。就是关于这个 weixin robot 不晓得该用哪些了,混淆了要。望指点,非常感激!

carly1987 avatar Dec 31 '14 06:12 carly1987

一般来说直接用 wexin-robot 就够了。https://www.npmjs.com/package/wechat 的部分功能在 wechat-mp 里也实现了,而 weixin-robot 相当于是 webot + wechat-mp 。weixin-robot 里面与微信服务器通讯的部分早前也是用 wechat 的,因为想更精简,就替换成了 wechat-mp 。

wechat 是可以单独使用的。它并不依赖于 webot 。只不过如果做更结构化的规则配置,比如从数据库加载 rules,webot 会更擅长一点。

ktmud avatar Dec 31 '14 09:12 ktmud

请问exampl-本地运行那块make start命令是怎么用啊。我在windows命令行输make start告诉我make不是可执行命令/文件

nightrain-vampire avatar Sep 23 '20 03:09 nightrain-vampire