POE2 trade 繁体

POE2 trade 繁体化

目前為 2024-12-09 提交的版本,檢視 最新版本

// ==UserScript==
// @name         POE2 trade 繁体
// @namespace    http://tampermonkey.net/
// @version      1.2
// @description  POE2 trade 繁体化
// @author       放课后
// @match        https://www.pathofexile.com/trade2/*
// @grant        GM_xmlhttpRequest
// @license MIT
// ==/UserScript==

(async () => {

    'use strict';


    const urls = [
        'https://pathofexile.tw/api/trade2/data/stats',
        'https://pathofexile.tw/api/trade2/data/static',
        // 'https://pathofexile.tw/api/trade2/data/items',
        'https://pathofexile.tw/api/trade2/data/filters'
    ];

    const getResult = (url) => {
        return new Promise(resolve => {
            GM_xmlhttpRequest({
                method: 'GET',
                url: url,
                onload: function(response) {
                    if (response.status === 200) {
                        try {
                            const data = JSON.parse(response.responseText);
                            console.log(`Data from ${url} stored successfully.`);
                            resolve(data.result);
                        } catch (e) {
                            console.error(`Error parsing data from ${url}:`, e);
                            resolve(null);
                        }
                    } else {
                        console.error(`Failed to fetch data from ${url}:`, response.status);
                        resolve(null);
                    }
                },
                onerror: function(error) {
                    console.error(`Request to ${url} failed:`, error);
                    resolve(null);
                }
            });
        });
    };

    for (const url of urls) {
        const result = await getResult(url);
        const key = url.split('/').pop();
        if (result && result.length) {
            if (key === 'static') {
                localStorage.setItem('lscache-trade2data', JSON.stringify(result));
            } else {
                localStorage.setItem('lscache-trade2' + key, JSON.stringify(result));
            }
        }
    }
    const enTradeItems2Tw = await getResult('https://p2.710421059.xyz/enTradeItems2Tw.json');
    const result1 = await getResult('https://www.pathofexile.com/api/trade2/data/items');
    if (result1) {
        for (let i = 0; i < result1.length; i++) {
            try {
                result1[i].label = enTradeItems2Tw[i].label;
            } catch (e) {
                console.error(`Error processing item ${i}:`, e);
            }
            if (result1[i].entries) {
                for (let j = 0; j < result1[i].entries.length; j++) {
                    const find = enTradeItems2Tw[i].entries.find(a => a.type === result1[i].entries[j].type && (result1[i].entries[j].name ? a.name === result1[i].entries[j].name : true));
                    if (find) {
                        result1[i].entries[j].text = find.text;
                    }
                }
            }
        }
        localStorage.setItem('lscache-trade2items', JSON.stringify(result1));
    }
})();

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址