wqmh
(个人推送xxtui_api)
1
絮絮念
由于之前对规则不熟悉,帖子被移除,第一次是因为没有加上推广标签,后来添加了标签后在始皇的帮助下得以恢复,第二次是始皇说是因为未接入LINUX DO Connect被举报移除。现在完成了LINUX DO Connect的接入,我新开一篇重新整理下,希望能够遵守论坛的规则。
在此非常感谢所有管理者对于论坛的辛勤付出,也理解大佬们面对海量信息的巡查和对违规内容的处理,这需要非常多的精力和耐心。我会尽量让自己的内容合规,不给大家添麻烦。
再次感谢始皇的耐心指引,如果内容又不妥之处或者需要调整,请告诉我,我第一时间调整。
真的是纯公益且无间接引流,希望各位佬友手下留情。
以下正文
如果你有接收消息的需求又不想折腾的话可以试试,xxtui是我个人闲暇之余的一个产物,免费给大家使用。
更新记录
2025年3月5日
- 新增:关联账号可以解除绑定
- 新增页面:常见问题
- 优化部分提示信息
2025年3月3 日
- 新增页面:账号管理
- 接入LINUX DO Connect
2025年3月2日
2025年2 月15日
2025年1月13日
2025年1月10日
2025年1月1日
就佬友们关心的一些问题,我尝试解释一下
- 是否开源
暂无打算
- 用户隐私
微信扫码登录时平台仅获取openid作为用户唯一标识,未获取也未存储其它信息
- 数据安全
因为个人使用,消息内容只能自己查看,查看消息的url也可分享,消息id由消息内容加盐之后的md5,url不泄露,消息数据就安全(服务器被攻击除外)
- 数据有效期
目前永久有效,服务器有成本我大概率不会升级它,会选择定期删除并在记录页展示当前的过期规则
- 服务稳定性
单机部署,并发不高,去年上线第一版后除日常优化升级之外,没有崩溃过
还在持续优化和构思新的功能,欢迎各位佬友提出宝贵意见~
29 个赞
挺好的,之前一直在用wxpusher,试试这个效果怎么样
9 个赞
佬,有个问题如果之前注册了账号绑定会提示已注册无法绑定
8 个赞
MaiKaDe
(BaZhaHei)
5
老哥,这。。。不是打击你,有个项目叫做青龙,你去他那找两个notify文件,比你这个功能还多。
这功能甚至都不是他的功能点
7 个赞
大佬,可否加个提醒模板,可否直接显示内容,使人一目了然的那种(省去点进去的步骤,或者说感兴趣再点进去)
13 个赞
wqmh
(个人推送xxtui_api)
10
这种账号统一,需要有一个主账号的体系做唯一标识,比如授权完成后还需要再次绑定账号或者手机号才能继续使用。
13 个赞
可以使用当前登录渠道为主账号,待绑定账号为辅助,提示账号已存在,是否覆盖,如果是直接删除那个账号或者把两个账号合并
wqmh
(个人推送xxtui_api)
13
外层加信息太多容易被风控,我再找找合适的模版
from 参数可以自定义,在模版上会显示,目前是限制20字符内
钩子其实没什么大用途
addEventListener('fetch', event => {
event.respondWith(handleRequest(event.request))
})
async function handleRequest(request) {
const securityKey = 'aaaaaa'; // 密钥
// 获取access_token
async function getAccessToken(corpId, appSecret) {
const url = `https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=${corpId}&corpsecret=${appSecret}`;
const response = await fetch(url);
const data = await response.json();
return data.access_token;
}
// 构造图文消息
function buildNewsMessage(agentId, toUser, title, description, picUrl, url) {
return JSON.stringify({
"touser": toUser,
"msgtype": "news",
"agentid": agentId,
"news": {
"articles": [
{
"title": title,
"description": description,
"url": url,
"picurl": picUrl
}
]
},
"safe": 0
});
}
// 发送消息
async function sendMessage(accessToken, data) {
const url = `https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=${accessToken}`;
const response = await fetch(url, {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: data
});
const result = await response.json();
if (result.errcode === 0) {
return '消息发送成功';
} else {
return '消息发送失败,错误码:' + result.errcode + ',错误信息:' + result.errmsg;
}
}
// 解析请求体
const {corpId, appSecret, agentId, toUser, key, ...otherData} = await request.json();
// 验证密钥
if (!key || key !== securityKey) {
return new Response('密钥验证失败', {status: 403});
}
// 获取access_token
const accessToken = await getAccessToken(corpId, appSecret);
// 初始化消息内容
let content = '';
// 预处理参数并拼接内容
for (const [key, value] of Object.entries(otherData)) {
content += `${key}: ${value}\n`;
}
// 设置标题和内容
const title = '推送消息';
const description = content.trim();
const picUrl = 'https://webhook.png'; // 根据实际情况替换
const url = ''; // 根据实际情况替换
// 构造并发送消息
const messageData = buildNewsMessage(agentId, toUser || '@all', title, description, picUrl, url);
const sendMessageResult = await sendMessage(accessToken, messageData);
return new Response(sendMessageResult);
}
3 个赞
账号生成一个唯一id就好了,别用用户名或者邮箱作为唯一标识
可否加大字数的限制,我想用你这个工具发一些会议类、活动类的汇总提醒,谢谢
wqmh
(个人推送xxtui_api)
17
目前是LINUX DO Connect登录和微信扫码登录注册的用户体系共存,各自独立
缺点是需要用户自己在登录好一方的情况下绑定未注册的另一方
还有更简单的办法就是做账号注销,想绑定注销一个就行
1 个赞
wqmh
(个人推送xxtui_api)
20
我也是准备上一版注销,用来给有合并绑定账号的佬友使用