Compare commits

..

No commits in common. "bfbab6be5dce8b9c9a05996255384ddbc720b244" and "339383f852b03facbd9d5f720aa88b0c1fa226c0" have entirely different histories.

4 changed files with 17 additions and 48 deletions

2
.gitignore vendored
View File

@ -1,3 +1,3 @@
# 忽略UserDataDir文件夹 # 忽略UserDataDir文件夹
UserDataDir UserDataDir
.vscode .vscode/settings.json

View File

@ -41,7 +41,7 @@
"mapstock": { "mapstock": {
"tab": { "tab": {
"index": 2, "index": 2,
"label": "存入Stock", "label": "🗺存入Stock",
"description": "保存 99km Stocks 到账户" "description": "保存 99km Stocks 到账户"
}, },
"endpoint": "/mapstock", "endpoint": "/mapstock",
@ -55,18 +55,13 @@
"required": true "required": true
} }
], ],
"confirmBeforeSubmit": true, "confirmBeforeSubmit": true
"confirmCount": 2,
"confirmMessages": [
"警告(1/2)\n\n这将修改ID={music.musicId}账号内的数据",
"警告(2/2)\n\n您是否确认修改这些数据?"
]
}, },
"map": { "map": {
"tab": { "tab": {
"index": 3, "index": 3,
"label": "🏃‍➡️一键跑图", "label": "🗺️领取宝物",
"description": "## 一键完成区域\n\n可以领取的地图列表:\n-\n\n输入地图ID和用户ID即可一键领取该区域所有收藏品。" "description": "## 地图宝物领取\n\n可以领取的地图列表:\n- 新手教程(ID: 10001)\n- 樱之林(ID: 10002)\n- 海底遗迹(ID: 10003)\n\n输入地图ID和用户ID即可一键领取该地图所有宝物。"
}, },
"endpoint": "/map", "endpoint": "/map",
"method": "GET", "method": "GET",
@ -86,13 +81,7 @@
"placeholder": "10001" "placeholder": "10001"
} }
], ],
"confirmBeforeSubmit": true, "confirmBeforeSubmit": true
"confirmCount": 3,
"confirmMessages": [
"警告(1/3)\n\n这将永久修改ID={music.musicId}账号内的数据",
"警告(2/3)\n\n即将修改的数据:\n地图ID: {mapid}\n\n原始请求:\n{rawData}",
"警告(3/3)\n\n您是否确认修改这些数据?"
]
}, },
"unlock": { "unlock": {
"tab": { "tab": {
@ -111,12 +100,7 @@
"required": true "required": true
} }
], ],
"confirmBeforeSubmit": true, "confirmBeforeSubmit": true
"confirmCount": 2,
"confirmMessages": [
"警告(1/2)\n\n这将永久修改ID={music.musicId}账号内的数据",
"警告(2/2)\n\n您是否确认修改这些数据?"
]
}, },
"bonus": { "bonus": {
"tab": { "tab": {
@ -221,12 +205,7 @@
} }
], ],
"confirmBeforeSubmit": true, "confirmBeforeSubmit": true,
"confirmCount": 3, "confirmTemplate": "即将发送的数据:\nUserID: {userId}\n歌曲ID: {music.musicId}\nachievement: {music.achievement}\n难度: {music.level}\nFC状态: {music.comboStatus}\nsyncStatus: {music.syncStatus}\nFS状态:{music.syncStatus}\n\n原始请求:\n{rawData}"
"confirmMessages": [
"警告(1/3)\n\n这将永久修改ID={music.musicId}账号内的数据",
"警告(2/3)\n\n即将修改的数据:\nUserID: {userId}\n歌曲ID: {music.musicId}\n分数: {music.achievement}\n难度: {music.level}\nFC状态: {music.comboStatus}\nFS状态:{music.syncStatus}\n\n原始请求:\n{rawData}",
"警告(3/3)\n\n您是否确认修改这些数据?"
]
} }
} }
} }

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 MiB

View File

@ -13,9 +13,7 @@
<!-- OpenGraph 标签 --> <!-- OpenGraph 标签 -->
<meta property="og:title" content="TsumugiBoshi|纺星"> <meta property="og:title" content="TsumugiBoshi|纺星">
<meta property="og:description" content="神秘API调试工具"> <meta property="og:description" content="神秘API调试工具">
<meta property="og:image" content="https://s2.loli.net/2025/01/29/1KPvmysVrAdLW3C.png" /> <meta property="og:image" content="image/og-image.png">
<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:image" content="https://s2.loli.net/2025/01/29/1KPvmysVrAdLW3C.png" />
<meta property="og:type" content="website"> <meta property="og:type" content="website">
<title>TsumugiBoshi|纺星</title> <title>TsumugiBoshi|纺星</title>
@ -336,22 +334,14 @@
const handleSubmit = async () => { const handleSubmit = async () => {
if (formConfig.confirmBeforeSubmit) { if (formConfig.confirmBeforeSubmit) {
const confirmCount = formConfig.confirmCount || 1; let confirmMessage = formConfig.confirmTemplate || "确认提交数据?";
const messages = formConfig.confirmMessages || Array(confirmCount).fill("确认提交数据?"); if (formConfig.confirmTemplate) {
confirmMessage = confirmMessage.replace(/\{([^}]+)\}/g, (_, key) => {
for (let i = 0; i < confirmCount; i++) { return key === 'rawData' ? JSON.stringify(formData, null, 2) :
let confirmMessage = messages[i] || "确认提交数据?"; key.split('.').reduce((obj, k) => obj && obj[k], formData) || '';
if (confirmMessage) { });
confirmMessage = confirmMessage.replace(/\{([^}]+)\}/g, (_, key) => {
return key === 'rawData' ? JSON.stringify(formData, null, 2) :
key.split('.').reduce((obj, k) => obj && obj[k], formData) || '';
});
}
if (!confirm(confirmMessage)) {
return;
}
} }
if (!confirm(confirmMessage)) return;
} }
onSubmit(formData); onSubmit(formData);
}; };
@ -715,7 +705,7 @@
{/* 移动后端选择器到底部 */} {/* 移动后端选择器到底部 */}
<Paper elevation={3} className="backend-selector"> <Paper elevation={3} className="backend-selector">
<Typography variant="h6" gutterBottom> <Typography variant="h6" gutterBottom>
⚙️ 后端设置 后端设置
</Typography> </Typography>
<FormControl fullWidth> <FormControl fullWidth>
<InputLabel>选择后端地址</InputLabel> <InputLabel>选择后端地址</InputLabel>