支持Vercel部署的企业微信推送服务
支持Vercel部署的企业微信推送服务
用惯了 Server 酱,觉得的确方便,但是方便之余,又无奈于学生党,每天5条的限额,于是在 GitHub 寻找一个微信推送的开源项目,于是找到了 MrZhang1899/WxWork_Push,使用后发现功能能满足我的需求,不过天气推送不完整,于是想修修补补来使用。
WxWork Push是什么
利用企业微信的Api,实现推送消息到微信上
是一款类似于server酱Turbo版的一款「程序员」和「服务器」之间的通信软件
注:不需要使用到企业微信,只需要获取 cropid
secret
agentid
三个值即可
使用方式
PHP 部署
在index.php
文件中填入 cropid
secret
agentid
三个值,用GET参数请求
访问方式1(消息推送):http://你的域名/?msg=推送测试 访问方式2(实时天气推送):http://你的域名/?type=weather&loc=guangzhou
可删除 vercel.json 和 api 文件夹。
Vercel 部署
填入你的仓库名字,保持 Create private Git Repository
勾选,然后进自己克隆的仓库,编辑 /index.php
,填写 cropid
secret
agentid
三个值即可。
如果仓库未设置请设置为 Private ,防止你的企业微信参数被滥用。
参数说明
参数 | 必须 | 说明 |
---|---|---|
cropid(已填写在文件中) | 是 | 企业ID |
secret(已填写在文件中) | 是 | 应用的凭证密钥 |
agentid(已填写在文件中) | 是 | 应用ID |
msg (二选一) | 是 | 推送内容,最长不超过2048个字节,否则截断 |
type=weather&loc=(二选一) | 是 | 推送天气,loc后接地区参数 |
注:loc
默认 广州天河,可在 weather.php
中修改,参数可在 https://www.tianqi.com/ 中查看
部署效果
http://你的域名/?msg=这是用于推送测试的一行字
http://你的域名/?type=weather
定时通知天气
使用云函数等 Severless 服务,或者自己的电脑、服务器设置定时任务
Cron 每天8,12,16点触发(如果在非 UTC+8 时区请善用加减法)
cron :0 0 8,12,16 * * * *
比如在 UTC 标准时区,请设置为:
cron :0 0 0,4,8 * * * *
例如用 Python GET
# -*- coding: UTF-8 -*-
from urllib import parse,request
textmod={'type':'weather','loc':'tianhequ'}
#loc参数修改为你自己的
textmod = parse.urlencode(textmod)
url='https://wxpush.vercel.app/'
req = request.Request(url='%s%s%s' % (url,'?',textmod))
res = request.urlopen(req)
res = res.read()
print(res)
textmod={'type':'weather','loc':'haidian'}
#loc参数修改为你自己的
textmod = parse.urlencode(textmod)
req = request.Request(url='%s%s%s' % (url,'?',textmod))
res = request.urlopen(req)
res = res.read()
print(res)
#以此类推,可以设置多个地方天气推送