微信公众号服务器
用于微信公众号的后端,提供登录验证功能
功能
- Access Token 自动刷新 & 提供外部访问接口
- 自定义菜单(需要你的公众号有此权限)
- 登录验证
- 自定义回复
展示
部署
手动部署
- 从 GitHub Releases 下载可执行文件或从源码编译:
git clone https://github.com/songquanpeng/wechat-server.git go mod download go build -ldflags "-s -w" -o wechat-server
- 运行:
chmod u+x wechat-server ./wechat-server --port 3000 --log-dir ./logs
- 访问 http://localhost:3000/ 并登录。初始账号用户名为
root
,密码为123456
。
更详细的部署教程请参见此处。
基于 Docker 进行部署
执行:docker run -d --restart always -p 3000:3000 -v /home/ubuntu/data/wechat-server:/data justsong/wechat-server
数据将保存在宿主机的 /home/ubuntu/data/wechat-server
目录。
配置
- 从 GitHub Releases 下载可执行文件。
- 系统开箱即用,可通过以下环境变量进行配置:
REDIS_CONN_STRING
: 设置后将启用 Redis。- 例如:
REDIS_CONN_STRING=redis://default:redispw@localhost:49153
- 例如:
SESSION_SECRET
: 设置后将使用给定会话密钥。- 例如:
SESSION_SECRET=random_string
- 例如:
SQL_DSN
: 设置后将使用目标数据库而非 SQLite。- 例如:
SQL_DSN=root:123456@tcp(localhost:3306)/gofile
- 例如:
- 运行:
chmod u+x wechat-server
./wechat-server --port 3000
- 初始账户用户名为
root
,密码为123456
,请登录后立即修改密码。 - 前往微信公众号配置页面 -> 设置与开发 -> 基本配置获取 AppID 和 AppSecret,并在我们的配置页面填入这些信息,还需配置 IP 白名单,按页面提示完成即可。
- 前往微信公众号配置页面 -> 设置与开发 -> 基本配置填写以下配置:
URL
填:https://<your.domain>/api/wechat
Token
先在我们的配置页面随意填写一个 Token,然后在微信公众号配置页面填入相同的 Token。EncodingAESKey
点击随机生成,然后在我们的配置页面填入该值。- 消息加解密方式选择明文模式。
- 保存设置并启用。
- 当前版本需要重启服务才能应用配置信息,请重启服务。
API
获取 Access Token
- 请求方法:
GET
- URL:
/api/wechat/access_token
- 无参数,但需设置 HTTP 头部:
Authorization: <token>
通过验证码查询用户 ID
- 请求方法:
GET
- URL:
/api/wechat/user?code=<code>
- 需设置 HTTP 头部:
Authorization: <token>
注意
请将 <token>
和 <code>
替换为实际内容。