WeChat SDK for Rust 🚀
一个功能完整、类型安全、易于使用的Rust微信开发SDK,支持微信公众号和小程序APIs。
✨ 特性
- 🏗️ 模块化架构:独立的公众号和小程序模块,按需使用
- 🔒 类型安全:完整的类型定义,编译期错误检查
- ⚡ 异步优先:基于Tokio的异步实现,支持高并发
- 🛡️ 错误处理:统一的错误类型和优雅的错误处理
- 🔧 易于配置:多种配置方式,支持环境变量和配置文件
- 📖 丰富文档:完整的API文档和使用示例
- 🧪 测试覆盖:全面的单元测试和集成测试
🚀 快速开始
添加依赖
[]
= "0.1.0"
= { = "1.0", = ["full"] }
基础使用
use WeChat;
async
📦 功能模块
模块 | 功能 | 特性标志 |
---|---|---|
wechat-core | 核心功能 | - |
wechat-official | 公众号API | official |
wechat-miniapp | 小程序API | miniapp |
wechat-crypto | 加密解密 | - |
wechat-types | 类型定义 | - |
按需使用
# 只使用公众号功能
= { = "0.1.0", = false, = ["official"] }
# 只使用小程序功能
= { = "0.1.0", = false, = ["miniapp"] }
# 添加缓存支持
= { = "0.1.0", = ["cache"] }
🏗️ 架构设计
┌─────────────────────────────────────────┐
│ 用户API层 (Public API) │
├─────────────────────────────────────────┤
│ 业务逻辑层 (Business Logic) │
├─────────────────────────────────────────┤
│ 协议层 (Protocol Layer) │
├─────────────────────────────────────────┤
│ 传输层 (Transport Layer) │
└─────────────────────────────────────────┘
📚 文档
🌟 使用场景
公众号开发
- ✅ 消息接收和自动回复
- ✅ 自定义菜单管理
- ✅ 用户管理和标签操作
- ✅ 模板消息推送
- ✅ 素材管理
- ✅ 网页授权
小程序开发
- ✅ 登录凭证校验
- ✅ 用户信息解密
- ✅ 手机号获取
- ✅ 订阅消息推送
- ✅ 数据统计
Web框架集成
- 🌐 Axum - 现代异步Web框架
- 🌐 Actix-web - 高性能Actor模型框架
- 🌐 Warp - 轻量级Web框架
- 🌐 Rocket - 类型安全Web框架
📖 示例
查看 examples 目录获取更多示例:
运行示例
# 设置环境变量
# 运行基础示例
# 运行Web服务器示例
🛠️ 开发环境
环境要求
- Rust 1.70+
- Tokio runtime
构建项目
运行测试
# 运行所有测试
# 运行特定模块测试
🤝 贡献
欢迎贡献代码!请阅读 CONTRIBUTING.md 了解贡献指南。
开发流程
- Fork 项目
- 创建特性分支 (
git checkout -b feature/amazing-feature
) - 提交更改 (
git commit -m 'Add amazing feature'
) - 推送分支 (
git push origin feature/amazing-feature
) - 创建 Pull Request
📄 许可证
本项目采用 MIT 或 Apache-2.0 双许可证。详见:
🙏 致谢
感谢所有贡献者和以下项目的灵感:
🔗 相关链接
📞 支持
如果你在使用过程中遇到问题:
用Rust构建更好的微信应用 🦀💪