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

WPush
使ç¨äºå½æ°æ建å±äºèªå·±çæ¨éæå¡
Feature
- :tada: è¶ é¿æ¶æ¯æä¹ åå¨å
- :tada: ç®åæç¨ç API æ¥å£
- :tada: æ¯æå¤ç§ç±»åæ¶æ¯æ¨é
- :tada: å¯éçå¤æ°æ®åºï¼MongoDB/MySQLï¼æ¯æ
- :tada: å ç»´æ¤ï¼ä¸æ¬¡é¨ç½²ç¨³å®ä½¿ç¨
Get Started
åéæ¶æ¯
GET请æ±å¯è½ä¼å æ¶æ¯å 容è¿é¿èæ æ³å ¨é¨æ¾ç¤ºï¼å¦éé¿ææ¨é请使ç¨POSTæ¹æ³
é ç½®æ°æ®åºå¯ä»¥è¿ä¸æ¥æåæ¶æ¯å 容é¿åº¦POST请æ±æ¶ä½¿ç¨JSONæ ¼å¼ï¼æ¥å£è·¯å¾å为 /send ï¼åæ°å段å称ä¸GET请æ±ä¸è´
æ´å¤ç»è说æ请åèä¼ä¸å¾®ä¿¡API
-
åæ°è¯´æ
åæ° è¯´æ æ¯å¦å¿ å¡« type æ¶æ¯ç±»åï¼æ æ é¢åæ°æ¶é»è®¤textï¼ææ é¢åæ°æ¶é»è®¤textcard å¦ title æ¶æ¯æ é¢ï¼å¨textcardãnewsç±»åä¸å¿ å¡« è§æ åµ content æ¶æ¯å 容 å¦ summary æ¶æ¯æè¦ï¼é»è®¤æ¶æ¯å 容å128个åèå 容 å¦ url 跳转é¾æ¥ï¼é»è®¤å±ç¤ºæ¶æ¯é¡µé¢ï¼ä» textcardãnewsç±»åä¸ææ
å¡«åæ¶è¯·ç¡®ä¿å å«å议头ï¼http/httpsï¼å¦ pic å¾çé¾æ¥ï¼é»è®¤Bingæ¯æ¥ä¸å¾ï¼ä» newsç±»åä¸æ¾ç¤º å¦ 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å¦ -
建议å³é®ç¹å»ä¸æ¹æé®æ°é¡µé¢æå¼é¾æ¥å®æé¨ç½²