添加完整的微信插件测试框架,包含: - 微信插件源码(weixin-plugin/) - TypeScript 类型定义(types.ts) - 插件编译脚本(scripts/build-weixin-plugin.sh) - 简化测试脚本(scripts/test-weixin-simple.js) - 完整测试脚本(scripts/test-weixin-plugin.js) - 项目配置和依赖管理(package.json) - 使用说明文档(README.md) 主要功能: - 支持二维码登录认证 - HTTP 长轮询消息接收 - 文本、图片、视频、文件消息收发 - 自动回复测试 - 运行状态统计 Generated with [Claude Code](https://claude.com/code) via [Happy](https://happy.engineering) Co-Authored-By: Claude <noreply@anthropic.com> Co-Authored-By: Happy <yesreply@happy.engineering>
18 lines
562 B
TypeScript
18 lines
562 B
TypeScript
import crypto from "node:crypto";
|
|
|
|
/**
|
|
* Generate a prefixed unique ID using timestamp + crypto random bytes.
|
|
* Format: `{prefix}:{timestamp}-{8-char hex}`
|
|
*/
|
|
export function generateId(prefix: string): string {
|
|
return `${prefix}:${Date.now()}-${crypto.randomBytes(4).toString("hex")}`;
|
|
}
|
|
|
|
/**
|
|
* Generate a temporary file name with random suffix.
|
|
* Format: `{prefix}-{timestamp}-{8-char hex}{ext}`
|
|
*/
|
|
export function tempFileName(prefix: string, ext: string): string {
|
|
return `${prefix}-${Date.now()}-${crypto.randomBytes(4).toString("hex")}${ext}`;
|
|
}
|