Skip to content

Commit 8596c26

Browse files
committed
feat(boxjs): 新增 /api/deleteAppSub 删除订阅
1 parent 84d579e commit 8596c26

File tree

4 files changed

+86
-50
lines changed

4 files changed

+86
-50
lines changed

box/chavy.boxjs.js

Lines changed: 31 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ const $ = new Env('BoxJs')
33
// 为 eval 准备的上下文环境
44
const $eval_env = {}
55

6-
$.version = '0.19.10'
6+
$.version = '0.19.11'
77
$.versionType = 'beta'
88

99
// 发出的请求需要需要 Surge、QuanX 的 rewrite
@@ -277,30 +277,27 @@ async function handleQuery() {
277277
async function handleApi() {
278278
const [, api] = $.path.split('/api')
279279

280-
if (api === '/save' || api.startsWith('/save?')) {
281-
await apiSave()
282-
} else if (api === '/addAppSub') {
283-
await apiAddAppSub()
284-
} else if (api === '/reloadAppSub') {
285-
await apiReloadAppSub()
286-
} else if (api === '/delGlobalBak') {
287-
await apiDelGlobalBak()
288-
} else if (api === '/updateGlobalBak') {
289-
await apiUpdateGlobalBak()
290-
} else if (api === '/saveGlobalBak') {
291-
await apiSaveGlobalBak()
292-
} else if (api === '/impGlobalBak') {
293-
await apiImpGlobalBak()
294-
} else if (api === '/revertGlobalBak') {
295-
await apiRevertGlobalBak()
296-
} else if (api === '/runScript') {
297-
await apiRunScript()
298-
} else if (api === '/saveData') {
299-
await apiSaveData()
300-
} else if (api === '/surge') {
301-
await apiSurge()
302-
} else if (api === '/update') {
303-
await apiUpdate()
280+
const apiHandlers = {
281+
'/save': apiSave,
282+
'/addAppSub': apiAddAppSub,
283+
'/deleteAppSub': apiDeleteAppSub,
284+
'/reloadAppSub': apiReloadAppSub,
285+
'/delGlobalBak': apiDelGlobalBak,
286+
'/updateGlobalBak': apiUpdateGlobalBak,
287+
'/saveGlobalBak': apiSaveGlobalBak,
288+
'/impGlobalBak': apiImpGlobalBak,
289+
'/revertGlobalBak': apiRevertGlobalBak,
290+
'/runScript': apiRunScript,
291+
'/saveData': apiSaveData,
292+
'/surge': apiSurge,
293+
'/update': apiUpdate,
294+
}
295+
296+
for (const [key, handler] of Object.entries(apiHandlers)) {
297+
if (api === key || api.startsWith(`${key}?`)) {
298+
await handler()
299+
break
300+
}
304301
}
305302
}
306303

@@ -739,6 +736,15 @@ async function apiAddAppSub() {
739736
$.json = getBoxData()
740737
}
741738

739+
async function apiDeleteAppSub() {
740+
const sub = $.toObj($request.body)
741+
// 添加订阅
742+
const usercfgs = getUserCfgs()
743+
usercfgs.appsubs = usercfgs.appsubs.filter(e => e.url !== sub.url)
744+
$.setjson(usercfgs, $.KEY_usercfgs)
745+
$.json = getBoxData()
746+
}
747+
742748
async function apiReloadAppSub() {
743749
const sub = $.toObj($request.body)
744750
if (sub) {

box/release/box.release.json

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,17 @@
11
{
22
"releases": [
3+
{
4+
"version": "0.19.11",
5+
"tags": ["beta"],
6+
"author": "@GideonSenku",
7+
"msg": "feat(boxjs): 新增 /api/deleteAppSub 删除订阅",
8+
"notes": [
9+
{
10+
"name": "新增 API",
11+
"descs": ["本次更新主要面向开发者"]
12+
}
13+
]
14+
},
315
{
416
"version": "0.19.10",
517
"tags": ["beta"],

box/release/box.release.tf.json

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,17 @@
11
{
22
"releases": [
3+
{
4+
"version": "0.19.11",
5+
"tags": ["beta"],
6+
"author": "@GideonSenku",
7+
"msg": "feat(boxjs): 新增 /api/deleteAppSub 删除订阅",
8+
"notes": [
9+
{
10+
"name": "新增 API",
11+
"descs": ["本次更新主要面向开发者"]
12+
}
13+
]
14+
},
315
{
416
"version": "0.19.10",
517
"tags": ["beta"],

chavy.box.js

Lines changed: 31 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ const $ = new Env('BoxJs')
33
// 为 eval 准备的上下文环境
44
const $eval_env = {}
55

6-
$.version = '0.19.10'
6+
$.version = '0.19.11'
77
$.versionType = 'beta'
88

99
// 发出的请求需要需要 Surge、QuanX 的 rewrite
@@ -277,30 +277,27 @@ async function handleQuery() {
277277
async function handleApi() {
278278
const [, api] = $.path.split('/api')
279279

280-
if (api === '/save' || api.startsWith('/save?')) {
281-
await apiSave()
282-
} else if (api === '/addAppSub') {
283-
await apiAddAppSub()
284-
} else if (api === '/reloadAppSub') {
285-
await apiReloadAppSub()
286-
} else if (api === '/delGlobalBak') {
287-
await apiDelGlobalBak()
288-
} else if (api === '/updateGlobalBak') {
289-
await apiUpdateGlobalBak()
290-
} else if (api === '/saveGlobalBak') {
291-
await apiSaveGlobalBak()
292-
} else if (api === '/impGlobalBak') {
293-
await apiImpGlobalBak()
294-
} else if (api === '/revertGlobalBak') {
295-
await apiRevertGlobalBak()
296-
} else if (api === '/runScript') {
297-
await apiRunScript()
298-
} else if (api === '/saveData') {
299-
await apiSaveData()
300-
} else if (api === '/surge') {
301-
await apiSurge()
302-
} else if (api === '/update') {
303-
await apiUpdate()
280+
const apiHandlers = {
281+
'/save': apiSave,
282+
'/addAppSub': apiAddAppSub,
283+
'/deleteAppSub': apiDeleteAppSub,
284+
'/reloadAppSub': apiReloadAppSub,
285+
'/delGlobalBak': apiDelGlobalBak,
286+
'/updateGlobalBak': apiUpdateGlobalBak,
287+
'/saveGlobalBak': apiSaveGlobalBak,
288+
'/impGlobalBak': apiImpGlobalBak,
289+
'/revertGlobalBak': apiRevertGlobalBak,
290+
'/runScript': apiRunScript,
291+
'/saveData': apiSaveData,
292+
'/surge': apiSurge,
293+
'/update': apiUpdate,
294+
}
295+
296+
for (const [key, handler] of Object.entries(apiHandlers)) {
297+
if (api === key || api.startsWith(`${key}?`)) {
298+
await handler()
299+
break
300+
}
304301
}
305302
}
306303

@@ -739,6 +736,15 @@ async function apiAddAppSub() {
739736
$.json = getBoxData()
740737
}
741738

739+
async function apiDeleteAppSub() {
740+
const sub = $.toObj($request.body)
741+
// 添加订阅
742+
const usercfgs = getUserCfgs()
743+
usercfgs.appsubs = usercfgs.appsubs.filter(e => e.url !== sub.url)
744+
$.setjson(usercfgs, $.KEY_usercfgs)
745+
$.json = getBoxData()
746+
}
747+
742748
async function apiReloadAppSub() {
743749
const sub = $.toObj($request.body)
744750
if (sub) {

0 commit comments

Comments
 (0)