Thund1R / wpush

用云函数搭建私人企业微信推送服务,支持 Vercel 或 腾讯云

Home Page:wpush.vercel.app

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

phone2

WPush

使用云函数搭建属于自己的推送服务

Feature

  • 🎉 超长消息持久化储存
  • 🎉 简单易用的 API 接口
  • 🎉 支持多种类型消息推送
  • 🎉 可选的多数据库(MongoDB/MySQL)支持
  • 🎉 免维护,一次部署稳定使用

Get Started

发送消息

GET请求可能会因消息内容过长而无法全部显示,如需长文推送请使用POST方法
配置数据库可以进一步提升消息内容长度

POST请求时使用JSON格式,接口路径均为 /send ,参数字段名称与GET请求一致

更多细节说明请参考企业微信API

  • 参数说明

    参数 说明 是否必填
    type 消息类型,无标题时默认text
    有标题时默认textcard
    有图片时默认news
    title 消息标题,在textcard、news类型中必填 视情况
    content 消息内容
    summary 消息摘要,默认消息内容前128个字节内容
    url 跳转链接,默认展示消息页面
    仅textcard、news类型中有效
    填写时请确保包含协议头(http/https)
    pic 图片链接,默认Bing每日一图
    仅news类型中显示
    填写时请确保包含协议头(http/https)
    user 指定接收消息的成员,成员ID列表
    默认向该企业应用的全部成员发送
    tag 指定接收消息的标签,标签ID列表
    party 指定接收消息的部门,部门ID列表
    type参数 说明
    text 文本消息
    textcard 文本卡片消息
    markdown markdown消息
    news 图文消息

    发送文本消息

    • GET

      https://你的云函数地址/send?secret=你配置的密钥&type=text&content=这是消息的内容blablablabla
      
    • POST

      {
          "secret": "你配置的密钥",
          "type":"text",
          "content": "这是消息的内容blablablabla"
      }

    发送文本卡片消息

    • GET

      https://你的云函数地址/send?secret=你配置的密钥&type=textcard&title=这是标题&summary=这是摘要&content=这是消息的内容blablablabla
      
    • POST

      {
          "secret": "你配置的密钥",
          "type":"textcard",
          "title":"这是标题",
          "summary":"这是摘要",
          "content": "这是消息的内容blablablabla"
      }

    发送Markdown消息

    • GET

      https://你的云函数地址/send?secret=你配置的密钥&type=markdown&content=这是消息的内容blablablabla
      

      使用GET方法传输markdown语法内容可能会导致content参数无法获取,建议使用POST方法

    • POST

      {
          "secret": "你配置的密钥",
          "type": "markdown",
          "content": "# 消息标题\n## 二级标题\n> 引用测试\n\n[baidu](https://baidu.com)"
      }

    发送图文消息

    • GET

      https://你的云函数地址/send?secret=你配置的密钥&type=news&title=这是标题&summary=这是摘要&content=这是消息的内容blablablabla&pic=https://cn.bing.com/th?id=OHR.YosemiteNightSky_ZH-CN5864740024_1920x1080.jpg&url=https://www.baidu.com
      
    • POST

      {
          "secret": "你配置的密钥",
          "type": "news",
          "title": "这是标题",
          "summary":"这是摘要",
          "content": "这是消息的内容blablablabla",
          "pic": "https://cn.bing.com/th?id=OHR.YosemiteNightSky_ZH-CN5864740024_1920x1080.jpg",
          "url":"https://www.baidu.com"
      }

      暂时只支持单个图文消息推送

      跳转链接url可能因微信官方限制而无法访问

    推送给指定成员

    • 你可以添加 user tag party 参数来筛选发送的企业成员

      {
          "user": "USER_ID1|USER_ID2",
          "tag": "TAG_ID1|TAG_ID2",
          "party": "PARTY_ID",
          "secret": "你配置的密钥",
          "type":"textcard",
          "title":"这是标题",
          "content": "这是消息的内容blablablabla"
      }
    • 这些参数也可以是数组:

      {
          "user": ["USER_ID1", "USER_ID2"],
          "tag": ["TAG_ID1", "TAG_ID2"],
          "party": ["PARTY_ID1", "PARTY_ID2"],
          "secret": "你配置的密钥",
          "type":"textcard",
          "title":"这是标题",
          "content": "这是消息的内容blablablabla"
      }

展示消息

目前仅提供对卡片消息、图文消息进行展示

  • 使用数据库: https://你的云函数地址/show/消息ID
  • 未使用数据库: https://你的云函数地址/show?t=TIME&h=TITLE&c=CONTENT

Deployment

2022-05-03 更新
新增首页发送消息,新增对 MongoDB 的支持
修改环境变量中数据库相关参数,请务必修改环境变量再部署

2022-04-23 更新: 因为腾讯云函数 5 月 23 日后不再提供免费额度,不建议再使用 腾讯云函数搭建
推荐使用 Vercel 作为替代,目前已添加对 Vercel 的支持

  • 参数说明

    参数 说明 是否必填
    SYS_URL 系统访问地址
    Vercel示例:https://[你起的仓库名]-[你的vercel用户名].vercel.app
    API_SECRET API访问密钥,随意设置
    发起请求时作为secret属性值携带
    CORP_ID 企业微信公司ID
    CORP_SECRET 企业微信应用Secret
    AGENT_ID 企业微信应用ID
    DB_LINK 数据库完整连接地址
    mysql示例:mysql+mysqlconnector://[数据库用户名]:[数据库密码]@[数据库地址]:3306/[数据库名]?charset=utf8mb4
    mongodb示例:mongodb+srv://[数据库用户名]:[数据库密码]@[数据库地址]/[数据库名]?retryWrites=true&w=majority
  • 建议右键点击下方按钮新页面打开链接完成部署

Deploy with Vercel

About

用云函数搭建私人企业微信推送服务,支持 Vercel 或 腾讯云

wpush.vercel.app

License:MIT License


Languages

Language:Python 100.0%