主要利用 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: '' });
1
p1gd0g 95 天前
golang 转 ts 有点意思啊,写起来有什么感受?
|
2
wenerme OP @p1gd0g 开发时间和精力有限,转 node 后速度快了很多,这里有心路历程 https://www.wener.tech/story/crm-trails
|
3
wenerme OP @p1gd0g 整理下发到了这里 https://v2ex.com/t/1067291
|