這是一個 Chrome / Edge 擴充功能,協助你在 新北市再生家具拍賣網 上更高效地管理資料,提供以下功能:
⬇️
點我下載工具(ZIP 檔)
chrome://extensionsedge://extensions📢 功能異動通知
官方系統已內建 CSV 匯出功能(輕量版與完整版),本工具的「輕量匯出」和「全部匯出」按鈕已移除。
如需 CSV 匯出,請使用官方內建功能。本工具專注於提供官方尚未支援的進階功能(統計分析、批次操作、JSON 匯入匯出等)。
按鈕樣式更新:所有按鈕已改為純文字樣式,不再使用 emoji 圖標。
chrome://extensions 或 edge://extensions 點「重新載入」。AutoID 和 Name,格式需與匯出一致(建議使用本工具匯出的 JSON)。CategoryName 或 DistName 不符,可能無法填充。
.vxe-table 對應的 __vue__ 開始往上找。console.log(tableFullData[0]) 看到的都是 getter,請用
JSON.parse(JSON.stringify(...)) 才能解包。property。row.User.Name 要自己拆。Set() 把所有出現過的 key 統整出來。2025-04-15T16:15:07.927,要手動砍掉時間段。document.body,找個具體的容器(像
.vxe-modal--wrapper)效率更高。CategoryName 和 DistName 是中文,別傻傻用 ID 去設
select.value,要遍歷 options 找 textContent。onclick 的 JSON.stringify 會讓你懷疑人生,直接用
addEventListener 傳物件,乾淨又安全。AutoID 和 Name 存在,否則表單填充會爆,失敗時別忘了跳錯誤提示。EndDate 比較當前時間來判斷「競標中」vs「已結束」,不能只看 HasBids。setTimeout 延遲展開大量項目,避免一次渲染太多 DOM 造成卡頓。BID_STATUS_SYSTEM 和 ITEM_STATUS_SYSTEM 統一管理狀態,避免到處散落判斷邏輯。
(() => {
const el = document.querySelector('.vxe-table');
let vue = el && el.__vue__;
let safety = 20;
while (vue && !vue.tableFullData && safety-- > 0) vue = vue.$parent;
if (!vue || !vue.tableFullData || !vue.tableFullData.length) {
console.warn('❌ 找不到 tableFullData 或沒有資料');
return;
}
const raw = JSON.parse(JSON.stringify(vue.tableFullData[0]));
console.log('✅ 第一筆資料(已解 Proxy):', raw);
console.log('🧠 可用欄位列表:', Object.keys(raw));
})();
(() => {
const panel = document.getElementById('furniture-panel');
if (!panel) {
console.warn('❌ 資料面板未開啟');
return;
}
const firstItem = panel.querySelector('div > div > span > strong');
if (!firstItem) {
console.warn('❌ 找不到資料項');
return;
}
const index = 0; // 改成你想檢查的項目索引
const vue = document.querySelector('.vxe-table')?.__vue__;
let safety = 20;
while (vue && !vue.tableFullData && safety-- > 0) vue = vue.$parent;
const photos = vue?.tableFullData?.[index]?.Photos;
console.log('✅ 第', index + 1, '筆資料的 Photos:', JSON.parse(JSON.stringify(photos || [])));
})();
(() => {
const form = document.querySelector('.vxe-modal--box .el-form');
if (!form) {
console.warn('❌ 未找到編輯視窗表單');
return;
}
const labels = Array.from(form.querySelectorAll('.el-form-item__label')).map(label => label.textContent.trim());
console.log('✅ 表單欄位標籤:', labels);
const categoryOptions = Array.from(form.querySelector('label[for="CategoryID"]')?.closest('.el-form-item')?.querySelector('select')?.options || []).map(opt => ({ value: opt.value, text: opt.textContent.trim() }));
console.log('✅ 類別選項:', categoryOptions);
})();
「Vue 不會讓你失望,只會讓你懷疑人生。」
從 tableFullData 到 MutationObserver,再到圖片預覽的 CORS 地獄,每個功能都是一場與 Vue 的搏鬥。
列印表格的競標狀態判斷、統計樹狀圖的延遲載入優化、批次操作的安全機制,每一個細節都是從無數次除錯中淬煉出來的。
不要再用套件開發公家網站了,版本一更新過不了弱掃就要被叫去拉正了。
—— 從最初的圖片預覽到現在的 v4.1,每個凌晨都在與程式碼對話