feat: 新增游客订阅链接与节点拖动排序
游客链接:可建多个带独立 token 的订阅,按节点名勾选白名单 (抗重新抓取),/surge|/clash|/ssr 复用同一路径回落匹配 guest token,三个 generator 接收可选 whitelist 过滤生成。 节点排序:fetched_nodes 新增 sort_order,重抓时按名保留顺序, 选择/节点面板支持原生拖拽排序,输出按此顺序排列。 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -89,6 +89,14 @@ export const nodes = {
|
||||
staticDelete: (id: number) => request<{ ok: boolean }>(`/nodes/static/${id}`, {
|
||||
method: 'DELETE',
|
||||
}),
|
||||
staticReorder: (ids: number[]) => request<{ ok: boolean }>('/nodes/static/reorder', {
|
||||
method: 'PUT',
|
||||
body: JSON.stringify({ ids }),
|
||||
}),
|
||||
fetchedReorder: (ids: number[]) => request<{ ok: boolean }>('/nodes/fetched/reorder', {
|
||||
method: 'PUT',
|
||||
body: JSON.stringify({ ids }),
|
||||
}),
|
||||
};
|
||||
|
||||
// Rules
|
||||
@@ -118,6 +126,24 @@ export const config = {
|
||||
regenerateSurgeToken: () => request<{ token: string }>('/config/surge-token', { method: 'POST' }),
|
||||
};
|
||||
|
||||
// Guest links
|
||||
export const guests = {
|
||||
list: () => request<any[]>('/guests'),
|
||||
availableNodes: () => request<{ static: any[]; subscriptions: any[] }>('/guests/available-nodes'),
|
||||
create: (name: string) => request<{ id: number; token: string }>('/guests', {
|
||||
method: 'POST',
|
||||
body: JSON.stringify({ name }),
|
||||
}),
|
||||
get: (id: number) => request<any>(`/guests/${id}`),
|
||||
update: (id: number, data: any) => request<{ ok: boolean }>(`/guests/${id}`, {
|
||||
method: 'PUT',
|
||||
body: JSON.stringify(data),
|
||||
}),
|
||||
delete: (id: number) => request<{ ok: boolean }>(`/guests/${id}`, {
|
||||
method: 'DELETE',
|
||||
}),
|
||||
};
|
||||
|
||||
// Stats
|
||||
export const stats = {
|
||||
get: () => request<any>('/stats'),
|
||||
|
||||
Reference in New Issue
Block a user