支持Vercel部署的企业微信推送服务

由 Kurococ Liu 发布

用惯了 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

image-20210915143652574
image-20210915143652574

定时通知天气

使用云函数等 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)
#以此类推,可以设置多个地方天气推送

仅有一条评论

  1. 提莫酱
    提莫酱 · 2021-09-15 23:09

    过来看看。。

发表评论