修复BUG

This commit is contained in:
杨志
2026-01-20 15:13:21 +08:00
parent 871aefc33e
commit 7aa5ce365a
2 changed files with 103 additions and 24 deletions

View File

@@ -243,10 +243,22 @@
<div class="form-section">
<h2>第一步:填写基础信息</h2>
<div class="form-group">
<label for="cookie-jsessionid">JSESSIONID</label>
<input type="text" id="cookie-jsessionid" placeholder="示例9E592C9CC752F8552F0D746D91958475">
<small>推荐直接填写避免粘贴JSON出错</small>
</div>
<div class="form-group">
<label for="cookie-serverid">SERVERID</label>
<input type="text" id="cookie-serverid" placeholder="示例546762930bd4e5dda968e40edd43fb6a|1768878822|1768878621">
<small>推荐直接填写避免粘贴JSON出错</small>
</div>
<div class="form-group">
<label for="cookies">Cookie数据JSON格式</label>
<textarea id="cookies" placeholder='{"请求 Cookie": {"JSESSIONID": "xxx", "SERVERID": "xxx"}}'></textarea>
<small>填写完整Cookie数据格式为JSON</small>
<small>可选若上面已填写两个字段此处可留空否则请按JSON格式填写完整Cookie</small>
</div>
<div class="form-group">
@@ -335,11 +347,16 @@
const examid = document.getElementById('examid').value.trim();
const bmid = document.getElementById('bmid').value.trim();
const userid = document.getElementById('userid').value.trim();
const cookieData = buildCookiesPayload('dsdm-message');
if (!examid || !bmid || !userid) {
showMessage('dsdm-message', '请先填写examid、bmid和userid', 'error');
return;
}
if (!cookieData) {
return;
}
showMessage('dsdm-message', '正在获取地区选项...', 'info');
@@ -348,7 +365,7 @@
headers: {
'Content-Type': 'application/x-www-form-urlencoded',
},
body: `examid=${encodeURIComponent(examid)}&bmid=${encodeURIComponent(bmid)}&userid=${encodeURIComponent(userid)}`
body: `examid=${encodeURIComponent(examid)}&bmid=${encodeURIComponent(bmid)}&userid=${encodeURIComponent(userid)}&cookies=${encodeURIComponent(JSON.stringify(cookieData))}`
})
.then(response => response.json())
.then(data => {
@@ -376,23 +393,14 @@
// 获取职位代码列表
function getZwdmList() {
const dsdm = document.getElementById('dsdm').value;
const cookies = document.getElementById('cookies').value.trim();
const cookieData = buildCookiesPayload('zwdm-message');
if (!dsdm) {
showMessage('zwdm-message', '请先选择地区', 'error');
return;
}
if (!cookies) {
showMessage('zwdm-message', '请先填写Cookie数据', 'error');
return;
}
let cookieData;
try {
cookieData = JSON.parse(cookies);
} catch (e) {
showMessage('zwdm-message', 'Cookie数据格式错误请检查JSON格式', 'error');
if (!cookieData) {
return;
}
@@ -439,6 +447,44 @@
});
}
// 组装Cookie数据支持单独填写和JSON
function buildCookiesPayload(messageContainerId) {
const raw = document.getElementById('cookies').value.trim();
const jsessionid = document.getElementById('cookie-jsessionid').value.trim();
const serverid = document.getElementById('cookie-serverid').value.trim();
let cookies = { "请求 Cookie": {} };
if (raw) {
try {
const parsed = JSON.parse(raw);
cookies = parsed;
} catch (e) {
showMessage(messageContainerId, 'Cookie数据格式错误请检查JSON格式', 'error');
return null;
}
}
// 确保存在“请求 Cookie”层级
if (!cookies['请求 Cookie'] || typeof cookies['请求 Cookie'] !== 'object') {
cookies['请求 Cookie'] = {};
}
if (jsessionid) {
cookies['请求 Cookie']['JSESSIONID'] = jsessionid;
}
if (serverid) {
cookies['请求 Cookie']['SERVERID'] = serverid;
}
if (Object.keys(cookies['请求 Cookie']).length === 0) {
showMessage(messageContainerId, '请填写Cookie数据', 'error');
return null;
}
return cookies;
}
// 全选/取消全选
function toggleAllZwdm() {
const selectAll = document.getElementById('select-all-zwdm').checked;
@@ -451,23 +497,14 @@
// 批量获取职位信息
function batchGetPositionInfo() {
const examid = document.getElementById('examid').value.trim();
const cookies = document.getElementById('cookies').value.trim();
const cookieData = buildCookiesPayload('result-message');
if (!examid) {
showMessage('result-message', '请先填写examid', 'error');
return;
}
if (!cookies) {
showMessage('result-message', '请先填写Cookie数据', 'error');
return;
}
let cookieData;
try {
cookieData = JSON.parse(cookies);
} catch (e) {
showMessage('result-message', 'Cookie数据格式错误请检查JSON格式', 'error');
if (!cookieData) {
return;
}