第一次使用 bun 开发: 企业微信会话内容存档客户端

33 天前
 wenerme

主要利用 bun:ffi 的功能,将以前的 golang 逻辑迁移为新的统一的 ts 代码,增加类型安全,代码一个仓库里方便维护。 目前包里带的 .so 只能在 glibc, amd64,linux 下执行,没测试过 windows 。

代码内测试用例

make run-bun
# 执行测试,会输出 10 条消息 - 注意 IP 白名单,可以增加 WWF_PROXY 环境变量
WWF_CORP_ID=ID WWF_CORP_SECRET=SECRET bun test ./src/wecom/archive/bun/WeWorkFinanceClient.bun.test.ts  

测试代码

if (process.env.WWF_PRIVATE_KEY_FILE) {
  privateKey = await fs.readFile(process.env.WWF_PRIVATE_KEY_FILE, 'utf-8');
}

const client = createWeWorkFinanceClientFromEnv({
  corpId: process.env.WWF_CORP_ID,
  corpSecret: process.env.WWF_CORP_SECRET,
  privateKey,
});
// the original data
const data = client.getChatData({ limit: 10 });
console.log(data);

// the decrypted data
if (privateKey) {
  console.log(client.getMessage({ limit: 10 }));
}

// get file
client.getMediaData({ fileId: '' });
1594 次点击
所在节点    程序员
3 条回复
p1gd0g
33 天前
golang 转 ts 有点意思啊,写起来有什么感受?
wenerme
32 天前
@p1gd0g 开发时间和精力有限,转 node 后速度快了很多,这里有心路历程 https://www.wener.tech/story/crm-trails
wenerme
32 天前
@p1gd0g 整理下发到了这里 https://v2ex.com/t/1067291

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1066980

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX