mirror of
https://git.mirrors.martin98.com/https://github.com/sub-store-org/Sub-Store.git
synced 2025-06-04 11:13:59 +08:00
feat: 文件接口
This commit is contained in:
parent
c51f3511dd
commit
d0acf49b83
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "sub-store",
|
"name": "sub-store",
|
||||||
"version": "2.14.143",
|
"version": "2.14.144",
|
||||||
"description": "Advanced Subscription Manager for QX, Loon, Surge, Stash and ShadowRocket.",
|
"description": "Advanced Subscription Manager for QX, Loon, Surge, Stash and ShadowRocket.",
|
||||||
"main": "src/main.js",
|
"main": "src/main.js",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
@ -12,7 +12,10 @@ export default function register($app) {
|
|||||||
.patch(updateFile)
|
.patch(updateFile)
|
||||||
.delete(deleteFile);
|
.delete(deleteFile);
|
||||||
|
|
||||||
|
$app.route('/api/wholeFile/:name').get(getWholeFile);
|
||||||
|
|
||||||
$app.route('/api/files').get(getAllFiles).post(createFile).put(replaceFile);
|
$app.route('/api/files').get(getAllFiles).post(createFile).put(replaceFile);
|
||||||
|
$app.route('/api/wholeFiles').get(getAllWholeFiles);
|
||||||
}
|
}
|
||||||
|
|
||||||
// file API
|
// file API
|
||||||
@ -43,7 +46,25 @@ function getFile(req, res) {
|
|||||||
const allFiles = $.read(FILES_KEY);
|
const allFiles = $.read(FILES_KEY);
|
||||||
const file = findByName(allFiles, name);
|
const file = findByName(allFiles, name);
|
||||||
if (file) {
|
if (file) {
|
||||||
res.status(200).json(file.content);
|
res.set('Content-Type', 'text/plain; charset=utf-8').send(file.content);
|
||||||
|
} else {
|
||||||
|
failed(
|
||||||
|
res,
|
||||||
|
new ResourceNotFoundError(
|
||||||
|
`FILE_NOT_FOUND`,
|
||||||
|
`File ${name} does not exist`,
|
||||||
|
404,
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
function getWholeFile(req, res) {
|
||||||
|
let { name } = req.params;
|
||||||
|
name = decodeURIComponent(name);
|
||||||
|
const allFiles = $.read(FILES_KEY);
|
||||||
|
const file = findByName(allFiles, name);
|
||||||
|
if (file) {
|
||||||
|
success(res, file);
|
||||||
} else {
|
} else {
|
||||||
failed(
|
failed(
|
||||||
res,
|
res,
|
||||||
@ -102,6 +123,11 @@ function getAllFiles(req, res) {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function getAllWholeFiles(req, res) {
|
||||||
|
const allFiles = $.read(FILES_KEY);
|
||||||
|
success(res, allFiles);
|
||||||
|
}
|
||||||
|
|
||||||
function replaceFile(req, res) {
|
function replaceFile(req, res) {
|
||||||
const allFiles = req.body;
|
const allFiles = req.body;
|
||||||
$.write(allFiles, FILES_KEY);
|
$.write(allFiles, FILES_KEY);
|
||||||
|
@ -47,7 +47,9 @@ function getModule(req, res) {
|
|||||||
const allModules = $.read(MODULES_KEY);
|
const allModules = $.read(MODULES_KEY);
|
||||||
const module = findByName(allModules, name);
|
const module = findByName(allModules, name);
|
||||||
if (module) {
|
if (module) {
|
||||||
res.status(200).json(module.content);
|
res.set('Content-Type', 'text/plain; charset=utf-8').send(
|
||||||
|
module.content,
|
||||||
|
);
|
||||||
} else {
|
} else {
|
||||||
failed(
|
failed(
|
||||||
res,
|
res,
|
||||||
|
@ -1,4 +1,9 @@
|
|||||||
import { ARTIFACTS_KEY, COLLECTIONS_KEY, SUBS_KEY } from '@/constants';
|
import {
|
||||||
|
ARTIFACTS_KEY,
|
||||||
|
COLLECTIONS_KEY,
|
||||||
|
SUBS_KEY,
|
||||||
|
FILES_KEY,
|
||||||
|
} from '@/constants';
|
||||||
import $ from '@/core/app';
|
import $ from '@/core/app';
|
||||||
import { success } from '@/restful/response';
|
import { success } from '@/restful/response';
|
||||||
|
|
||||||
@ -6,6 +11,7 @@ export default function register($app) {
|
|||||||
$app.post('/api/sort/subs', sortSubs);
|
$app.post('/api/sort/subs', sortSubs);
|
||||||
$app.post('/api/sort/collections', sortCollections);
|
$app.post('/api/sort/collections', sortCollections);
|
||||||
$app.post('/api/sort/artifacts', sortArtifacts);
|
$app.post('/api/sort/artifacts', sortArtifacts);
|
||||||
|
$app.post('/api/sort/files', sortFiles);
|
||||||
}
|
}
|
||||||
|
|
||||||
function sortSubs(req, res) {
|
function sortSubs(req, res) {
|
||||||
@ -33,3 +39,11 @@ function sortArtifacts(req, res) {
|
|||||||
$.write(allArtifacts, ARTIFACTS_KEY);
|
$.write(allArtifacts, ARTIFACTS_KEY);
|
||||||
success(res, allArtifacts);
|
success(res, allArtifacts);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function sortFiles(req, res) {
|
||||||
|
const orders = req.body;
|
||||||
|
const allFiles = $.read(FILES_KEY);
|
||||||
|
allFiles.sort((a, b) => orders.indexOf(a.name) - orders.indexOf(b.name));
|
||||||
|
$.write(allFiles, FILES_KEY);
|
||||||
|
success(res, allFiles);
|
||||||
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user