字
字节笔记本
2026年2月22日
PowerWechatTutorial:Go 语言微信开发完整示例教程
PowerWechatTutorial 是一个基于 Go 语言的开源项目,由 ArtisanCloud 团队开发维护。该项目提供了 PowerWeChat SDK 的完整使用示例,涵盖了微信支付、小程序、企业微信、公众号等所有 API 的调试代码,帮助开发者快速上手 Golang 微信开发。截至目前,该项目在 GitHub 上已获得 100+ stars。
项目简介
PowerWechatTutorial 是 PowerWeChat SDK 的官方示例教程项目,旨在帮助开发者:
- 快速理解 PowerWeChat SDK 的架构设计
- 掌握微信支付、小程序、企业微信等模块的 API 调用方式
- 通过实际代码示例学习微信生态开发
项目采用模块化设计,每个微信平台的接口都独立封装,便于开发者按需学习和使用。
核心特性
- 完整覆盖:涵盖微信支付、小程序、企业微信、公众号、开放平台等全部 API
- 即开即用:提供完整的配置文件模板和启动代码,下载即可运行
- 调试友好:内置 Insomnia 配置文件,支持 API 接口快速调试
- 文档完善:每个模块都有详细的官方文档链接和配置说明
- 生产就绪:代码经过实际项目验证,可直接用于生产环境
技术栈
- Go (99.2%) - 主要开发语言
- Gin - Web 框架,用于提供 HTTP API 服务
- Redis - 缓存存储,用于 Token 等数据缓存
- Swagger - API 文档自动生成
安装指南
前置要求
- Go >= 1.18
- Redis 服务(用于缓存)
- 微信开发者账号(用于获取 AppID 等配置)
安装步骤
bash
# 克隆项目
git clone https://github.com/ArtisanCloud/PowerWechatTutorial.git
cd PowerWechatTutorial
# 安装依赖
go mod download
# 复制配置文件
cp config-example.yml config.yaml
# 编辑配置文件,填入你的微信配置
vim config.yaml
# 启动服务
go run main.go服务启动后,访问 http://localhost:8888 会返回 Hello, PowerWechat,表示运行成功。
项目结构
text
PowerwechatTutorial/
├── config/ # 配置文件处理
├── controllers/ # HTTP 控制器
├── docs/ # 文档
├── resource/ # 静态资源
├── routes/ # 路由定义
├── services/ # 业务逻辑服务
├── templates/ # 模板文件
├── config-example.yml # 配置示例
├── go.mod # Go 模块定义
├── go.sum # 依赖校验
├── Insomnia.json # Insomnia 调试配置
└── main.go # 入口文件配置说明
项目使用 YAML 配置文件,主要包含以下模块:
微信支付配置
yaml
payment:
appid: xxxxx # 公众号/小程序/企业微信的 appid
mchid: 100000 # 商户号
certpath: certs/apiclient_cert.pem # 证书路径
keypath: certs/apiclient_key.pem # 证书私钥路径
serialno: xxxxx # 证书序列号
key: xxxxx # API 密钥
mchapiv3key: xxxxx # APIv3 密钥
notifyurl: https://example.com/notify # 支付回调地址
redisaddr: localhost:6379 # Redis 地址小程序配置
yaml
miniprogram:
appid: xxxxx
secret: xxxxx
redisaddr: localhost:6379
messagetoken: xxxxx # 消息推送 Token
messageaeskey: xxxxx # 消息加密密钥企业微信配置
yaml
wecom:
corpid: xxxxx # 企业 ID
agent_id: 1000000 # 应用 ID
secret: xxxxx # 应用密钥
messagetoken: xxxxx # 消息 Token
messageaeskey: xxxxx # 消息加密密钥
messagecallback: https://example.com/message/callback
oauthcallback: https://example.com/oauth/callback公众号配置
yaml
offiaccount:
appid: xxxxx
appsecret: xxxxx
redisaddr: localhost:6379
messagetoken: xxxxx
messageaeskey: xxxxx使用示例
初始化服务
go
package main
import (
"github.com/gin-gonic/gin"
"log"
"power-wechat-tutorial/config"
"power-wechat-tutorial/routes"
"power-wechat-tutorial/services"
)
func main() {
conf := config.Get()
var err error
// 初始化微信支付
services.PaymentApp, err = services.NewWXPaymentApp(conf)
if err != nil {
panic(err)
}
// 初始化小程序
services.MiniProgramApp, err = services.NewMiniMiniProgramService(conf)
if err != nil {
panic(err)
}
// 初始化公众号
services.OfficialAccountApp, err = services.NewOfficialAccountAppService(conf)
if err != nil {
panic(err)
}
// 初始化企业微信
services.WeComApp, err = services.NewWeComService(conf)
if err != nil {
panic(err)
}
// 初始化路由
r := gin.Default()
routes.InitializeRoutes(r)
// 启动服务
log.Fatalln(r.Run(":8888"))
}使用 Insomnia 调试
项目提供了 Insomnia.json 配置文件,导入后即可快速调试所有 API 接口:
- 下载并安装 Insomnia
- 导入
Insomnia.json配置文件 - 修改环境变量中的 base_url 和各类微信配置
- 开始调试接口
API 文档
项目集成了 Swagger,启动服务后访问 http://localhost:8888/swagger/index.html 即可查看完整的 API 文档。
相关资源
- GitHub 仓库: https://github.com/ArtisanCloud/PowerWechatTutorial
- PowerWeChat 主仓库: https://github.com/ArtisanCloud/PowerWeChat
- 官方文档: https://powerwechat.artisan-cloud.com
- 微信支付文档: https://powerwechat.artisan-cloud.com/zh/payment/
- 小程序文档: https://powerwechat.artisan-cloud.com/zh/mini-program/
- 企业微信文档: https://powerwechat.artisan-cloud.com/zh/wecom/
- 公众号文档: https://powerwechat.artisan-cloud.com/zh/official-account/
贡献与支持
- 项目采用 MIT 开源协议
- 欢迎提交 Issue 和 Pull Request
- 如有问题可联系 support@artisan-cloud.com
分享: