![图片[1]-wxpush:一个极简且免费的微信消息推送服务-🎉数字奇遇🎉](https://www.freeyong.com/wp-content/uploads/2025/12/568c89edba20251208082827.webp)
在当今数字化时代,信息的及时传递对于个人和企业都至关重要。为了满足这一需求,各种消息推送服务应运而生。其中,wxpush 这个项目以其极简和免费的特点,吸引了众多用户的关注。wxpush 是一个基于 Cloudflare Workers 搭建的轻量级微信公众号模板消息推送服务,它提供了一个简单的 API 接口,让用户能够轻松地通过 HTTP 请求将消息推送到指定的微信用户。本文将详细介绍 wxpush 的特性、部署方法、API 使用方式以及如何贡献代码。
#### 特性
wxpush 项目具有以下显著特性:
1. **快速部署**:只需几分钟即可将服务部署到 Cloudflare 的全球网络上,无需复杂的配置和服务器管理。
2. **无需服务器**:构建于 Serverless 架构之上,用户无需管理自己的服务器,大大降低了运维成本。
3. **高度可定制**:支持通过 URL 参数临时覆盖默认的微信配置,用户可以根据自己的需求灵活调整。
4. **安全**:敏感信息通过 Cloudflare 的 Secrets 进行加密存储,不暴露在代码中,确保了数据的安全性。
5. **成本低廉**:享受 Cloudflare Workers 慷慨的免费套餐(每日 10 万次请求),适合个人和小型企业使用。
#### 部署指南
部署 wxpush 服务非常简单,提供了两种方法供用户选择:
##### 方法一:直接粘贴代码到 Cloudflare
1. **登录 Cloudflare 仪表板**:访问 [https://dash.cloudflare.com/](https://dash.cloudflare.com/) 并登录。
2. **创建 Worker 服务**:在左侧菜单中选择 “Workers 和 Pages”,点击 “创建应用程序”,然后选择 “创建 Worker”。
3. **粘贴代码**:部署完成后,点击 “编辑代码” 进入在线代码编辑器,删除默认代码,将项目 `src/index.js` 文件中的全部内容复制并粘贴到编辑器中。
4. **保存并部署**:点击编辑器右上角的 “保存并部署” 按钮。
5. **配置环境变量**:返回 Worker 的主管理页面,进入 “设置” > “变量”,添加以下配置:
– `API_TOKEN`: 用于接口调用的访问令牌。
– `WX_APPID`: 微信公众号 AppID。
– `WX_SECRET`: 微信公众号 AppSecret。
– `WX_USERID`: 默认接收消息用户的 OpenID。
– `WX_TEMPLATE_ID`: 您要使用的微信模板消息 ID。
– `WX_BASE_URL`: 点击模板消息后跳转的基础 URL。
确保为每个变量勾选 “加密” 选项。
##### 方法二:通过关联 GitHub 仓库自动部署
1. **Fork 或克隆项目**:将本项目 Fork 到您自己的 GitHub 账户,或者克隆后推送到您自己的新仓库。
2. **连接到 GitHub**:登录 Cloudflare 仪表板,进入 “Workers 和 Pages”,点击 “创建应用程序”,切换到 “Pages” 选项卡,然后点击 “连接到 Git”。
3. **选择仓库**:选择您刚刚创建的 GitHub 仓库。
4. **配置构建和部署**:在配置页面的 “环境变量” 部分,添加与 “方法一” 中相同的变量,并确保为每个变量勾选 “加密” 选项。
5. **保存并部署**:点击 “保存并部署”,Cloudflare 会自动从您的仓库拉取代码并完成部署。此后,每当您向指定的生产分支推送新的代码提交时,Cloudflare 都会自动为您重新部署。
#### API 使用方法
服务部署成功后,您可以通过构造 URL 发起 `GET` 请求来推送消息。以下是详细的 API 使用方法:
##### 请求地址
“`
https://<您的Worker地址>/wxsend
“`
##### 请求参数
| 参数名 | 类型 | 是否必填 | 描述 |
|————|——–|———-|—————————-|
| token | String | 是 | 您在 `API_TOKEN` 中设置的访问令牌。 |
| title | String | 是 | 消息的标题。 |
| content | String | 是 | 消息的具体内容。 |
| appid | String | 否 | 临时覆盖默认的微信 AppID。 |
| secret | String | 否 | 临时覆盖默认的微信 AppSecret。 |
| userid | String | 否 | 临时覆盖默认的接收用户 OpenID。 |
| template_id| String | 否 | 临时覆盖默认的模板消息 ID。 |
| base_url | String | 否 | 临时覆盖默认的跳转 URL。 |
##### 使用示例
– **基础推送**:向默认配置的所有用户推送一条消息。
“`
https://<您的Worker地址>/wxsend?title=服务器通知&content=服务已于北京时间%2022:00%20重启&token=your_secret_token
“`
– **临时覆盖用户**:向一个临时指定的用户推送消息。
“`
https://<您的Worker地址>/wxsend?title=私人提醒&content=记得带钥匙&token=your_secret_token&userid=temporary_openid_here
“`
##### Webhook / POST 请求
除了 `GET` 请求,服务也支持 `POST` 方法,更适合用于自动化的 Webhook 集成。
– **请求地址**
“`
https://<您的Worker地址>/wxsend
“`
– **请求方法**
“`
POST
“`
– **请求头 (Headers)**
“`
{
“Authorization”: “你的token”,
“Content-Type”: “application/json”
}
“`
– **请求体 (Body)**
“`
{
“title”: “Webhook 通知”,
“content”: “这是一个通过 POST 请求发送的 Webhook 消息。”
}
“`
– **使用示例 (cURL)**
“`
curl -X POST \
https://<您的Worker地址>/wxsend \
-H ‘Authorization’: ‘你的token’ \
-H ‘Content-Type’: ‘application/json’ \
-d ‘{
“title”: “来自 cURL 的消息”,
“content”: “自动化任务已完成。”
}’
“`
#### 成功响应与失败响应
– **成功响应**:如果消息成功发送给至少一个用户,服务会返回 `HTTP 200` 状态码和类似 `Successfully sent messages to 1 user(s). First response: ok` 的文本。
– **失败响应**:如果发生错误(如 token 错误、缺少参数、微信接口调用失败等),服务会返回相应的 `HTTP 4xx` 或 `5xx` 状态码和错误信息。
#### 贡献
欢迎任何形式的贡献!如果您有好的想法或发现了 Bug,请随时提交 Pull Request 或创建 Issue。
#### 许可证
本项目采用 [MIT License](https://github.com/frankiejun/wxpush/blob/main/LICENSE) 开源许可证。
### SEO 词frankiejun/wxpush: 一个极简且免费的微信消息推送服务
https://github.com/frankiejun/wxpush







暂无评论内容