
🚀 部署指南
我们提供两种简单的部署方式,您可以根据需求选择其中一种。
方法一:直接粘贴代码到 Cloudflare(最简单)
此方法无需本地开发环境,只需复制粘贴即可完成部署。
-
登录 Cloudflare 仪表板
访问 https://dash.cloudflare.com/ 并登录。 -
创建 Worker 服务
- 在左侧菜单中,选择 Workers 和 Pages。
- 点击 创建应用程序,然后选择 创建 Worker。
- 为 Worker 指定一个全局唯一的名称(例如 my-wxpush-service),然后点击 部署。
-
粘贴代码
- 部署完成后,点击 编辑代码 进入在线编辑器。
- 删除编辑器中所有默认代码。
- 将本项目 src/index.js 文件中的全部内容复制并粘贴到编辑器中。
-
保存并部署
点击编辑器右上角的 保存并部署 按钮。 -
配置环境变量(重要)
- 返回 Worker 主管理页面,进入 设置 > 变量。
- 在 环境变量 部分,点击 添加变量,依次添加以下配置(这些是服务运行所必需的敏感信息):
- API_TOKEN:用于接口调用的访问令牌,请设置一个足够复杂的随机字符串。
- WX_APPID:您的微信公众号 AppID。
- WX_SECRET:您的微信公众号 AppSecret。
- WX_USERID:默认接收消息用户的 OpenID,多个用户请用 | 符号分隔(例如 openid1|openid2)。
- WX_TEMPLATE_ID:您要使用的微信模板消息 ID。
- WX_BASE_URL:(可选)点击模板消息后跳转的基础 URL。
- 注意:添加变量时,请确保勾选 加密 选项,以保护您的凭证安全。
方法二:通过关联 GitHub 仓库自动部署
如果您希望通过 Git 进行版本控制和持续集成,推荐使用此方法。
-
Fork 或克隆项目
将本项目 Fork 到您自己的 GitHub 账户,或者克隆后推送到您自己的新仓库。 -
连接到 GitHub
- 登录 Cloudflare 仪表板,进入 Workers 和 Pages。
- 点击 创建应用程序,切换到 Pages 选项卡,然后点击 连接到 Git。
-
选择仓库
选择您刚刚创建的 GitHub 仓库。 -
配置构建和部署
- 项目名称:为您的项目指定一个名称。
- 生产分支:选择您希望部署的分支(通常是 main 或 master)。
- 框架预设:选择 None。
- 构建设置:将所有构建相关字段(如构建命令、输出目录)留空。
- 根目录:保持默认的 /。
-
添加环境变量
在配置页面的 环境变量 部分,添加与方法一中相同的 API_TOKEN、WX_APPID、WX_SECRET 等变量,并务必为每个变量勾选 加密。 -
保存并部署
点击 保存并部署,Cloudflare 会自动从您的仓库拉取代码并完成部署。此后,每次向指定生产分支推送新代码,Cloudflare 都会自动重新部署。
部署成功后,您的服务访问地址会显示在 Worker 或 Pages 的主页面上。
⚙️ API 使用方法
服务部署成功后,您可以通过构造 URL 发起 GET 请求来推送消息。
请求地址
https://<您的Worker地址>/wxsend
请求参数(GET)
| 参数名 | 类型 | 是否必填 | 描述 |
|---|---|---|---|
| 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 请求
服务也支持 POST 方法,适合用于自动化的 Webhook 集成。
请求地址:https://<您的Worker地址>/wxsend
请求方法:POST
请求头(Headers):
**json
{
"Authorization": "你的token",
"Content-Type": "application/json"
}
请求体(Body):JSON 对象,包含与 GET 请求相同的参数。
**json
{
"title": "Webhook 通知",
"content": "这是一个通过 POST 请求发送的 Webhook 消息。"
}
使用示例(cURL):
**bash
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 状态码和错误信息。