Skip to content

Commit

Permalink
优化Server酱Key相关的逻辑 (#2538)
Browse files Browse the repository at this point in the history
* 优化sendkey的兼容

* 对title和desp encode
  • Loading branch information
easychen authored Oct 22, 2024
1 parent 185fd2f commit ecc5588
Show file tree
Hide file tree
Showing 3 changed files with 17 additions and 9 deletions.
8 changes: 5 additions & 3 deletions back/services/notify.ts
Original file line number Diff line number Diff line change
Expand Up @@ -152,14 +152,16 @@ export default class NotificationService {

private async serverChan() {
const { serverChanKey } = this.params;
const url = serverChanKey.startsWith('sctp')
? `https://${serverChanKey}.push.ft07.com/send`
const matchResult = serverChanKey.match(/^sctp(\d+)t/i);
const url = matchResult && matchResult[1]
? `https://${matchResult[1]}.push.ft07.com/send/${serverChanKey}.send`
: `https://sctapi.ftqq.com/${serverChanKey}.send`;

try {
const res: any = await got
.post(url, {
...this.gotOption,
body: `title=${this.title}&desp=${this.content}`,
body: `title=${encodeURIComponent(this.title)}&desp=${encodeURIComponent(this.content)}`,
headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
})
.json();
Expand Down
10 changes: 6 additions & 4 deletions sample/notify.js
Original file line number Diff line number Diff line change
Expand Up @@ -228,11 +228,13 @@ function serverNotify(text, desp) {
if (PUSH_KEY) {
// 微信server酱推送通知一个\n不会换行,需要两个\n才能换行,故做此替换
desp = desp.replace(/[\n\r]/g, '\n\n');

const matchResult = PUSH_KEY.match(/^sctp(\d+)t/i);
const options = {
url: PUSH_KEY.startsWith('sctp')
? `https://${PUSH_KEY}.push.ft07.com/send`
: `https://sctapi.ftqq.com/${PUSH_KEY}.send`,
body: `text=${text}&desp=${desp}`,
url: matchResult && matchResult[1]
? `https://${matchResult[1]}.push.ft07.com/send/${PUSH_KEY}.send`
: `https://sctapi.ftqq.com/${PUSH_KEY}.send`,
body: `text=${encodeURIComponent(text)}&desp=${encodeURIComponent(desp)}`,
headers: {
'Content-Type': 'application/x-www-form-urlencoded',
},
Expand Down
8 changes: 6 additions & 2 deletions sample/notify.py
Original file line number Diff line number Diff line change
Expand Up @@ -302,10 +302,14 @@ def serverJ(title: str, content: str) -> None:
print("serverJ 服务启动")

data = {"text": title, "desp": content.replace("\n", "\n\n")}
if push_config.get("PUSH_KEY").startswith("sctp"):
url = f'https://{push_config.get("PUSH_KEY")}.push.ft07.com/send'

match = re.match(r'sctp(\d+)t', push_config.get("PUSH_KEY"))
if match:
num = match.group(1)
url = f'https://{num}.push.ft07.com/send/{push_config.get("PUSH_KEY")}.send'
else:
url = f'https://sctapi.ftqq.com/{push_config.get("PUSH_KEY")}.send'

response = requests.post(url, data=data).json()

if response.get("errno") == 0 or response.get("code") == 0:
Expand Down

0 comments on commit ecc5588

Please sign in to comment.