风过空庭,字句正徐来。
关于主页自述隐私政策版权声明
更多时间线友链
联系写留言发邮件
© 2021-2026 Jui-Ch'i Lau. | RSS 订阅 | 站点地图 | | Stay hungry. Stay foolish.
Powered by Mix Space&
白い
.
| 蜀 ICP 备 2021022497 号 |
正在被0人看爆
纸白微明,未成篇章。

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

(已编辑)
27
这篇文章上次修改于,可能部分内容已经不适用,如有疑问可询问作者。

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

  • Loading...
  • Loading...
  • Loading...
  • Loading...
  • Loading...
  • 支持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

    CodeBlock Loading...
    PYTHON
    # -*- 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)
    #以此类推,可以设置多个地方天气推送