├── .github └── workflows │ └── autoDeploy.yml ├── .gitignore ├── .gitmodules ├── .gitpod.yml ├── .vscode └── extensions.json ├── Dockerfile ├── README.md ├── autoUpdate.py ├── exec.js ├── gameDataHash ├── index.html ├── item_table.json ├── package.json ├── postcss.config.js ├── public ├── assets │ └── index.png ├── data │ ├── Items.json │ └── Stage.json └── favicon.ico ├── src ├── App.vue ├── assets │ ├── index.css │ └── style.css ├── components │ ├── MapItem.vue │ ├── element │ │ ├── Modal.vue │ │ └── Select.vue │ ├── layout │ │ ├── BaseLayout.vue │ │ └── Header.vue │ └── loading.vue ├── env.d.ts ├── main.ts ├── plugins │ ├── axios.ts │ ├── common.ts │ ├── function.js │ ├── gt.js │ └── theme.ts ├── router │ └── router.ts ├── store │ ├── config.ts │ ├── data.ts │ ├── index.ts │ └── user.ts ├── type.ts └── views │ ├── Account.vue │ ├── Admin.vue │ ├── Cron.vue │ ├── DashBoard.vue │ ├── Details.vue │ ├── Home.vue │ ├── Landing.vue │ ├── Login.vue │ ├── Register.vue │ └── test.vue ├── stage_table.json ├── tailwind.config.js ├── tsconfig.json ├── tsconfig.node.json ├── vercel.json └── vite.config.ts /.github/workflows/autoDeploy.yml: -------------------------------------------------------------------------------- 1 | name: Node.js CI 2 | 3 | on: 4 | push: 5 | branches: [ vue3 ] 6 | 7 | 8 | jobs: 9 | build: 10 | 11 | runs-on: ubuntu-latest 12 | 13 | steps: 14 | - uses: actions/checkout@v2 15 | 16 | - name: Set up Node.js 17 | uses: actions/setup-node@v1 18 | with: 19 | node-version: '20' 20 | 21 | - name: Install dependencies 22 | run: npm install 23 | 24 | - name: Build 25 | run: npm run build 26 | 27 | - name: Log in to Docker Hub 28 | uses: docker/login-action@f4ef78c080cd8ba55a85445d5b36e214a81df20a 29 | with: 30 | username: ${{ secrets.DOCKER_USERNAME }} 31 | password: ${{ secrets.DOCKER_PASSWORD }} 32 | 33 | - name: Extract metadata (tags, labels) for Docker 34 | id: meta 35 | uses: docker/metadata-action@9ec57ed1fcdbf14dcef7dfbe97b2010124a938b7 36 | with: 37 | images: jackjieyyy/closure-front 38 | 39 | - name: Build and push Docker image 40 | uses: docker/build-push-action@3b5e8027fcad23fda98b2e3ac259d8d67585f671 41 | with: 42 | context: . 43 | file: ./Dockerfile 44 | push: true 45 | tags: ${{ steps.meta.outputs.tags }} 46 | labels: ${{ steps.meta.outputs.labels }} 47 | 48 | - name: SSH and Deploy 49 | uses: appleboy/ssh-action@master 50 | with: 51 | host: ${{ secrets.SERVER_HOST }} 52 | username: ${{ secrets.SERVER_USERNAME }} 53 | password: ${{ secrets.SERVER_PASSWORD }} 54 | port: ${{ secrets.SERVER_SSH_PORT }} 55 | script: | 56 | ${{ secrets.SERVER_DEPLOY_COMMAND }} -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | npm-debug.log* 5 | yarn-debug.log* 6 | yarn-error.log* 7 | pnpm-debug.log* 8 | lerna-debug.log* 9 | 10 | node_modules 11 | dist 12 | dist-ssr 13 | *.local 14 | 15 | # Editor directories and files 16 | .vscode/* 17 | !.vscode/extensions.json 18 | .idea 19 | .DS_Store 20 | *.suo 21 | *.ntvs* 22 | *.njsproj 23 | *.sln 24 | *.sw? 25 | -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "src/assets/data/ArknightsGameData"] 2 | path = src/assets/data/ArknightsGameData 3 | url = https://github.com/Kengxxiao/ArknightsGameData 4 | -------------------------------------------------------------------------------- /.gitpod.yml: -------------------------------------------------------------------------------- 1 | # This configuration file was automatically generated by Gitpod. 2 | # Please adjust to your needs (see https://www.gitpod.io/docs/introduction/learn-gitpod/gitpod-yaml) 3 | # and commit this file to your remote git repository to share the goodness with others. 4 | 5 | # Learn more from ready-to-use templates: https://www.gitpod.io/docs/introduction/getting-started/quickstart 6 | 7 | tasks: 8 | - init: pnpm install && pnpm run build 9 | command: pnpm run dev 10 | 11 | 12 | -------------------------------------------------------------------------------- /.vscode/extensions.json: -------------------------------------------------------------------------------- 1 | { 2 | "recommendations": ["Vue.volar"] 3 | } 4 | -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- 1 | # 使用 distroless base 镜像,因为它很小且为了安全没有包含不必要的程序或库 2 | FROM joseluisq/static-web-server:2-alpine 3 | 4 | # 设置工作目录 5 | WORKDIR /app 6 | 7 | # 从构建上下文中复制构建好的静态文件 8 | # 假设 npm run build 生成的静态文件在 /dist 目录下 9 | COPY dist/ /app/ 10 | 11 | # 设置静态文件服务器的环境变量 12 | ENV PORT=80 \ 13 | SERVER_ROOT=/app 14 | 15 | # 暴露 80 端口 16 | EXPOSE 80 17 | 18 | # 当容器启动时运行 static-web-server 19 | ENTRYPOINT ["/usr/local/bin/static-web-server"] 20 | CMD ["-p", "80"] 21 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # 可露希尔工作室 明日方舟云端托管平台 2 | -------------------------------------------------------------------------------- /autoUpdate.py: -------------------------------------------------------------------------------- 1 | 2 | import http 3 | import json 4 | import os 5 | import urllib.request 6 | import sys 7 | 8 | def qqbot(msg): 9 | conn = http.client.HTTPConnection("mc.mesord.com", 8098) 10 | payload = json.dumps({ 11 | "token": str(sys.argv[1]), 12 | "msg": "【Action】" + msg, 13 | "uid": sys.argv[3], 14 | "toImg": False 15 | }) 16 | headers = { 17 | 'Content-Type': 'application/json' 18 | } 19 | conn.request("POST", "/api/send_msg_auto", payload, headers) 20 | res = conn.getresponse() 21 | data = res.read() 22 | print(data.decode("utf-8")) 23 | 24 | 25 | 26 | # check gameDataHash is exist? 27 | if not os.path.exists("gameDataHash"): 28 | with open("gameDataHash", "w") as f: 29 | f.write("") 30 | 31 | file = open("gameDataHash", "r") 32 | # read the commit hash 33 | commitHash = file.readline() 34 | 35 | # get the latest commit hash from https://api.github.com/repos/Kengxxiao/ArknightsGameData/git/refs/heads/master 36 | url = "https://api.github.com/repos/Kengxxiao/ArknightsGameData/git/refs/heads/master" 37 | hdr = { "Authorization" : "Bearer "+ str(sys.argv[2]),"accept": "application/vnd.github+json" } 38 | 39 | req = urllib.request.Request(url, headers=hdr) 40 | response = urllib.request.urlopen(req) 41 | latestCommitHash = json.loads(response.read().decode('utf-8'))["object"]["sha"] 42 | 43 | if commitHash != latestCommitHash: 44 | pass 45 | # download the latest game data 46 | # https://raw.githubusercontent.com/Kengxxiao/ArknightsGameData/master/zh_CN/gamedata/excel/stage_table.json 47 | # https://raw.githubusercontent.com/Kengxxiao/ArknightsGameData/master/zh_CN/gamedata/excel/item_table.json 48 | 49 | r = urllib.request.urlopen("https://raw.githubusercontent.com/Kengxxiao/ArknightsGameData/master/zh_CN/gamedata/excel/stage_table.json") 50 | # save the stage_table.json 51 | with open("stage_table.json", "wb") as f: 52 | f.write(r.read()) 53 | r = urllib.request.urlopen("https://raw.githubusercontent.com/Kengxxiao/ArknightsGameData/master/zh_CN/gamedata/excel/item_table.json") 54 | with open("item_table.json", "wb") as f: 55 | f.write(r.read()) 56 | # write the latest commit hash to gameDataHash 57 | with open("gameDataHash", "w") as f: 58 | f.write(latestCommitHash) 59 | 60 | # run the command 'node exec.js' to update the data 61 | os.system("node exec.js") 62 | 63 | 64 | # remove the old stage_table.json and item_table.json 65 | os.remove("stage_table.json") 66 | os.remove("item_table.json") 67 | qqbot("前端数据stage_table item_table 更新成功 commit hash: " + latestCommitHash) 68 | else: 69 | print("Already the latest version") 70 | 71 | 72 | 73 | 74 | print(latestCommitHash) 75 | -------------------------------------------------------------------------------- /exec.js: -------------------------------------------------------------------------------- 1 | const fs = require("fs") 2 | fs.readFile("./stage_table.json", "utf8", (err, dataStr) => { 3 | const data = JSON.parse(dataStr) 4 | const stageTable = {} 5 | for (let k in data['stages']) { 6 | if (!k.includes('camp') && !k.includes('#f#') && !k.includes('bossrush') && !k.includes('act1lock_a') && !k.includes('act17d7_01') && !k.includes('lt_') && !k.includes('tr_')) { 7 | if (data['stages'][k]['apCost'] > 0) { 8 | let items = [] 9 | for (let item of data['stages'][k]['stageDropInfo']['displayRewards']) { 10 | if (item['dropType'] === 2 || item['dropType'] === 3) { 11 | items.push(item['id']) 12 | } 13 | } 14 | if (items.length > 0 || k.includes('act24side')) { 15 | stageTable[k] = { 16 | name: data['stages'][k]['name'], 17 | code: data['stages'][k]['code'], 18 | ap: data['stages'][k]['apCost'], 19 | items: items 20 | } 21 | } 22 | } 23 | } 24 | } 25 | console.log('analysis done') 26 | fs.writeFile("./public/data/Stage.json", JSON.stringify(stageTable), (err) => { 27 | if (err) { 28 | console.log(err) 29 | } 30 | }) 31 | }) 32 | 33 | fs.readFile("./item_table.json", "utf8", (err, dataStr) => { 34 | const data = JSON.parse(dataStr) 35 | const items = {} 36 | for (let k in data['items']) { 37 | items[k] = { 38 | name: data['items'][k]['name'], 39 | icon: data['items'][k]['iconId'] 40 | } 41 | } 42 | console.log('analysis done') 43 | fs.writeFile("./public/data/Items.json", JSON.stringify(items), (err) => { 44 | if (err) { 45 | console.log(err) 46 | } 47 | }) 48 | }) -------------------------------------------------------------------------------- /gameDataHash: -------------------------------------------------------------------------------- 1 | 5cb4624e0c3e967e3cd1615cea059390db401184 -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 可露希尔工作室 8 | 9 | 10 |
11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "arkhost-frontend", 3 | "private": true, 4 | "version": "0.0.0", 5 | "scripts": { 6 | "dev": "vite", 7 | "build": "vite build", 8 | "preview": "vite preview", 9 | "prettier": "prettier --write ." 10 | }, 11 | "dependencies": { 12 | "@tailwindcss/typography": "^0.5.7", 13 | "axios": "^1.1.3", 14 | "daisyui": "^2.38.0", 15 | "mosha-vue-toastify": "^1.0.23", 16 | "pinia": "^2.0.23", 17 | "pinia-persists": "^1.2.0", 18 | "prettier": "^2.7.1", 19 | "vite-plugin-compression": "^0.5.1", 20 | "vue": "^3.2.41", 21 | "vue-router": "^4.1.6", 22 | "vue3-click-away": "^1.2.4" 23 | }, 24 | "devDependencies": { 25 | "@vitejs/plugin-vue": "^3.2.0", 26 | "autoprefixer": "^10.4.13", 27 | "postcss": "^8.4.18", 28 | "tailwindcss": "^3.2.1", 29 | "typescript": "^4.8.4", 30 | "vite": "^3.2.2", 31 | "vite-plugin-pwa": "^0.13.1", 32 | "vue-tsc": "^1.0.9" 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /postcss.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | plugins: { 3 | tailwindcss: {}, 4 | autoprefixer: {}, 5 | }, 6 | }; 7 | -------------------------------------------------------------------------------- /public/assets/index.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/closure-studio/arkHost-frontend/c7567ab76cfcd51fa98ca560adebd4efe36913c8/public/assets/index.png -------------------------------------------------------------------------------- /public/data/Items.json: -------------------------------------------------------------------------------- 1 | {"2001":{"name":"基础作战记录","icon":"sprite_exp_card_t1"},"2002":{"name":"初级作战记录","icon":"sprite_exp_card_t2"},"2003":{"name":"中级作战记录","icon":"sprite_exp_card_t3"},"2004":{"name":"高级作战记录","icon":"sprite_exp_card_t4"},"3003":{"name":"赤金","icon":"MTL_GOLD3"},"3105":{"name":"龙骨","icon":"MTL_BASE_ESS"},"3112":{"name":"碳","icon":"MTL_BASE_SL1"},"3113":{"name":"碳素","icon":"MTL_BASE_SL2"},"3114":{"name":"碳素组","icon":"MTL_BASE_SL3"},"3131":{"name":"基础加固建材","icon":"MTL_BASE_SYNTH1"},"3132":{"name":"进阶加固建材","icon":"MTL_BASE_SYNTH2"},"3133":{"name":"高级加固建材","icon":"MTL_BASE_SYNTH3"},"3141":{"name":"源石碎片","icon":"MTL_DIAMOND_SHD"},"3211":{"name":"先锋芯片","icon":"MTL_ASC_PIO1"},"3212":{"name":"先锋芯片组","icon":"MTL_ASC_PIO2"},"3213":{"name":"先锋双芯片","icon":"MTL_ASC_PIO3"},"3221":{"name":"近卫芯片","icon":"MTL_ASC_GRD1"},"3222":{"name":"近卫芯片组","icon":"MTL_ASC_GRD2"},"3223":{"name":"近卫双芯片","icon":"MTL_ASC_GRD3"},"3231":{"name":"重装芯片","icon":"MTL_ASC_TNK1"},"3232":{"name":"重装芯片组","icon":"MTL_ASC_TNK2"},"3233":{"name":"重装双芯片","icon":"MTL_ASC_TNK3"},"3241":{"name":"狙击芯片","icon":"MTL_ASC_SNP1"},"3242":{"name":"狙击芯片组","icon":"MTL_ASC_SNP2"},"3243":{"name":"狙击双芯片","icon":"MTL_ASC_SNP3"},"3251":{"name":"术师芯片","icon":"MTL_ASC_CST1"},"3252":{"name":"术师芯片组","icon":"MTL_ASC_CST2"},"3253":{"name":"术师双芯片","icon":"MTL_ASC_CST3"},"3261":{"name":"医疗芯片","icon":"MTL_ASC_MED1"},"3262":{"name":"医疗芯片组","icon":"MTL_ASC_MED2"},"3263":{"name":"医疗双芯片","icon":"MTL_ASC_MED3"},"3271":{"name":"辅助芯片","icon":"MTL_ASC_SUP1"},"3272":{"name":"辅助芯片组","icon":"MTL_ASC_SUP2"},"3273":{"name":"辅助双芯片","icon":"MTL_ASC_SUP3"},"3281":{"name":"特种芯片","icon":"MTL_ASC_SPC1"},"3282":{"name":"特种芯片组","icon":"MTL_ASC_SPC2"},"3283":{"name":"特种双芯片","icon":"MTL_ASC_SPC3"},"3301":{"name":"技巧概要·卷1","icon":"MTL_SKILL1"},"3302":{"name":"技巧概要·卷2","icon":"MTL_SKILL2"},"3303":{"name":"技巧概要·卷3","icon":"MTL_SKILL3"},"3401":{"name":"家具零件","icon":"COIN_FURN"},"4001":{"name":"龙门币","icon":"GOLD"},"4002":{"name":"至纯源石","icon":"DIAMOND"},"4003":{"name":"合成玉","icon":"DIAMOND_SHD"},"4004":{"name":"高级凭证","icon":"HGG_SHD"},"4005":{"name":"资质凭证","icon":"LGG_SHD"},"4006":{"name":"采购凭证","icon":"EXGG_SHD"},"5001":{"name":"声望","icon":"EXP_PLAYER"},"6001":{"name":"演习券","icon":"TKT_TRY"},"7001":{"name":"招聘许可","icon":"TKT_RECRUIT"},"7002":{"name":"加急许可","icon":"TKT_INST_FIN"},"7003":{"name":"寻访凭证","icon":"TKT_GACHA"},"7004":{"name":"十连寻访凭证","icon":"TKT_GACHA_10"},"30011":{"name":"源岩","icon":"MTL_SL_G1"},"30012":{"name":"固源岩","icon":"MTL_SL_G2"},"30013":{"name":"固源岩组","icon":"MTL_SL_G3"},"30014":{"name":"提纯源岩","icon":"MTL_SL_G4"},"30021":{"name":"代糖","icon":"MTL_SL_STRG1"},"30022":{"name":"糖","icon":"MTL_SL_STRG2"},"30023":{"name":"糖组","icon":"MTL_SL_STRG3"},"30024":{"name":"糖聚块","icon":"MTL_SL_STRG4"},"30031":{"name":"酯原料","icon":"MTL_SL_RUSH1"},"30032":{"name":"聚酸酯","icon":"MTL_SL_RUSH2"},"30033":{"name":"聚酸酯组","icon":"MTL_SL_RUSH3"},"30034":{"name":"聚酸酯块","icon":"MTL_SL_RUSH4"},"30041":{"name":"异铁碎片","icon":"MTL_SL_IRON1"},"30042":{"name":"异铁","icon":"MTL_SL_IRON2"},"30043":{"name":"异铁组","icon":"MTL_SL_IRON3"},"30044":{"name":"异铁块","icon":"MTL_SL_IRON4"},"30051":{"name":"双酮","icon":"MTL_SL_KETONE1"},"30052":{"name":"酮凝集","icon":"MTL_SL_KETONE2"},"30053":{"name":"酮凝集组","icon":"MTL_SL_KETONE3"},"30054":{"name":"酮阵列","icon":"MTL_SL_KETONE4"},"30061":{"name":"破损装置","icon":"MTL_SL_BOSS1"},"30062":{"name":"装置","icon":"MTL_SL_BOSS2"},"30063":{"name":"全新装置","icon":"MTL_SL_BOSS3"},"30064":{"name":"改量装置","icon":"MTL_SL_BOSS4"},"30073":{"name":"扭转醇","icon":"MTL_SL_ALCOHOL1"},"30074":{"name":"白马醇","icon":"MTL_SL_ALCOHOL2"},"30083":{"name":"轻锰矿","icon":"MTL_SL_MANGANESE1"},"30084":{"name":"三水锰矿","icon":"MTL_SL_MANGANESE2"},"30093":{"name":"研磨石","icon":"MTL_SL_PG1"},"30094":{"name":"五水研磨石","icon":"MTL_SL_PG2"},"30103":{"name":"RMA70-12","icon":"MTL_SL_RMA7012"},"30104":{"name":"RMA70-24","icon":"MTL_SL_RMA7024"},"30115":{"name":"聚合剂","icon":"MTL_SL_PP"},"30125":{"name":"双极纳米片","icon":"MTL_SL_BN"},"30135":{"name":"D32钢","icon":"MTL_SL_DS"},"30145":{"name":"晶体电子单元","icon":"MTL_SL_OEU"},"30155":{"name":"烧结核凝晶","icon":"MTL_SL_SHJ"},"31013":{"name":"凝胶","icon":"MTL_SL_PGEL3"},"31014":{"name":"聚合凝胶","icon":"MTL_SL_PGEL4"},"31023":{"name":"炽合金","icon":"MTL_SL_IAM3"},"31024":{"name":"炽合金块","icon":"MTL_SL_IAM4"},"31033":{"name":"晶体元件","icon":"MTL_SL_OC3"},"31034":{"name":"晶体电路","icon":"MTL_SL_OC4"},"31043":{"name":"半自然溶剂","icon":"MTL_SL_SS"},"31044":{"name":"精炼溶剂","icon":"MTL_SL_RS"},"31053":{"name":"化合切削液","icon":"MTL_SL_CCF"},"31054":{"name":"切削原液","icon":"MTL_SL_PLCF"},"31063":{"name":"转质盐组","icon":"MTL_SL_ZY"},"31064":{"name":"转质盐聚块","icon":"MTL_SL_ZYK"},"32001":{"name":"芯片助剂","icon":"MTL_ASC_DI"},"SOCIAL_PT":{"name":"信用","icon":"SOCIAL_PT"},"AP_GAMEPLAY":{"name":"理智","icon":"AP_GAMEPLAY"},"base_ap":{"name":"无人机","icon":"AP_BASE"},"bilibili001":{"name":"预约干员随机4选1","icon":"bilibili001"},"LMTGS_COIN_601":{"name":"寻访数据契约","icon":"LMTGS_COIN_601"},"LMTGS_COIN_903":{"name":"寻访数据契约","icon":"LMTGS_COIN_903"},"LMTGS_COIN_1401":{"name":"寻访数据契约","icon":"LMTGS_COIN_1401"},"LMTGS_COIN_1601":{"name":"寻访数据契约","icon":"LMTGS_COIN_1601"},"LMTGS_COIN_1803":{"name":"寻访数据契约","icon":"LMTGS_COIN_1803"},"LMTGS_COIN_2101":{"name":"寻访数据契约","icon":"LMTGS_COIN_2101"},"LMTGS_COIN_2301":{"name":"寻访数据契约","icon":"LMTGS_COIN_2301"},"LMTGS_COIN_2501":{"name":"寻访数据契约","icon":"LMTGS_COIN_2501"},"LMTGS_COIN_2701":{"name":"寻访数据契约","icon":"LMTGS_COIN_2701"},"LMTGS_COIN_3001":{"name":"寻访数据契约","icon":"LMTGS_COIN_3001"},"LMTGS_COIN_3301":{"name":"寻访数据契约","icon":"LMTGS_COIN_3301"},"LMTGS_COIN_3501":{"name":"寻访数据契约","icon":"LMTGS_COIN_3501"},"LMTGS_COIN_3801":{"name":"寻访数据契约","icon":"LMTGS_COIN_3801"},"LMTGS_COIN_4101":{"name":"寻访数据契约","icon":"LMTGS_COIN_4101"},"EPGS_COIN":{"name":"寻访参数模型","icon":"EPGS_COIN"},"REP_COIN":{"name":"情报凭证","icon":"REP_COIN"},"CRISIS_SHOP_COIN":{"name":"合约赏金","icon":"CRISIS_SHOP_COIN"},"STORY_REVIEW_COIN":{"name":"事相碎片","icon":"STORY_REVIEW_COIN"},"RETRO_COIN":{"name":"事相结晶","icon":"RETRO_COIN"},"renamingCard":{"name":"ID信息更新卡","icon":"renamingCard"},"renamingCard_0_018":{"name":"ID信息更新卡","icon":"renamingCard"},"renamingCard_30_018":{"name":"ID信息更新卡","icon":"renamingCard"},"renamingCard_0_023":{"name":"ID信息更新卡","icon":"renamingCard"},"renamingCard_30_023":{"name":"ID信息更新卡","icon":"renamingCard"},"renamingCard_0_027":{"name":"ID信息更新卡","icon":"renamingCard"},"renamingCard_30_027":{"name":"ID信息更新卡","icon":"renamingCard"},"renamingCard_0_033":{"name":"ID信息更新卡","icon":"renamingCard"},"renamingCard_30_033":{"name":"ID信息更新卡","icon":"renamingCard"},"renamingCard_0_038":{"name":"ID信息更新卡","icon":"renamingCard"},"renamingCard_30_038":{"name":"ID信息更新卡","icon":"renamingCard"},"ap_supply_lt_100":{"name":"应急理智顶液","icon":"ap_supply_lt_100"},"ap_supply_lt_60":{"name":"应急理智合剂","icon":"ap_supply_lt_60"},"ap_supply_lt_010":{"name":"应急理智小样","icon":"ap_supply_lt_10"},"ap_supply_lt_100_2022_1":{"name":"青菜萝卜罐头","icon":"ap_supply_lt_100_2022_1"},"ap_supply_lt_100_2022_2":{"name":"速冻宫保羽兽丁","icon":"ap_supply_lt_100_2022_2"},"ap_supply_lt_100_2022_3":{"name":"喀兰炭烤肉排佐松露酱","icon":"ap_supply_lt_100_2022_3"},"ap_supply_lt_100_2022_4":{"name":"可食用立方体","icon":"ap_supply_lt_100_2022_4"},"ap_supply_lt_100_2022_5":{"name":"雷姆必拓西瓜蛋糕","icon":"ap_supply_lt_100_2022_5"},"ap_supply_lt_120":{"name":"应急理智浓缩液","icon":"ap_supply_lt_120"},"ap_supply_lt_80":{"name":"应急理智加强剂","icon":"ap_supply_lt_80"},"ap_supply_lt_120_2022_1":{"name":"满颜色","icon":"ap_supply_lt_120_2022_1"},"ap_supply_lt_120_2022_2":{"name":"正圆月","icon":"ap_supply_lt_120_2022_2"},"ap_supply_lt_120_2022_3":{"name":"笑靥开","icon":"ap_supply_lt_120_2022_3"},"ap_supply_lt_120_2022_4":{"name":"桂子落","icon":"ap_supply_lt_120_2022_4"},"ap_supply_lt_100_2023_1":{"name":"摘自画卷的柿子","icon":"ap_supply_lt_100_2023_1"},"ap_supply_lt_100_2023_2":{"name":"香脆桃酥饼","icon":"ap_supply_lt_100_2023_2"},"ap_supply_lt_100_2023_3":{"name":"香辣火炉","icon":"ap_supply_lt_100_2023_3"},"ap_supply_lt_100_2023_4":{"name":"金糖年糕","icon":"ap_supply_lt_100_2023_4"},"ap_supply_lt_100_2023_5":{"name":"木瓜叶馅饼","icon":"ap_supply_lt_100_2023_5"},"EXTERMINATION_AGENT":{"name":"PRTS剿灭代理卡","icon":"EXTERMINATION_AGENT"},"LIMITED_TKT_GACHA_10_903":{"name":"苏醒纪念寻访凭证","icon":"LIMITED_TKT_GACHA_10_903"},"LIMITED_TKT_GACHA_10_1401":{"name":"只为铭记寻访凭证","icon":"LIMITED_TKT_GACHA_10_1401"},"LIMITED_TKT_GACHA_10_1601":{"name":"日落潮来寻访凭证","icon":"LIMITED_TKT_GACHA_10_1601"},"LINKAGE_TKT_GACHA_10_1701":{"name":"特勤专家寻访凭证","icon":"LINKAGE_TKT_GACHA_10_1701"},"LIMITED_TKT_GACHA_10_1803":{"name":"幽海歌谣寻访凭证","icon":"LIMITED_TKT_GACHA_10_1803"},"LIMITED_TKT_GACHA_10_2101":{"name":"乘风破浪寻访凭证","icon":"LIMITED_TKT_GACHA_10_2101"},"LIMITED_TKT_GACHA_10_2301":{"name":"唤曦炽焰寻访凭证","icon":"LIMITED_TKT_GACHA_10_2301"},"LIMITED_TKT_GACHA_10_2501":{"name":"对酒当歌寻访凭证","icon":"LIMITED_TKT_GACHA_10_2501"},"LIMITED_TKT_GACHA_10_2701":{"name":"晨雾灯塔寻访凭证","icon":"LIMITED_TKT_GACHA_10_2701"},"LIMITED_TKT_GACHA_10_3001":{"name":"淬火成诗寻访凭证","icon":"LIMITED_TKT_GACHA_10_3001"},"LIMITED_TKT_GACHA_10_3301":{"name":"归狼踏影寻访凭证","icon":"LIMITED_TKT_GACHA_10_3301"},"LIMITED_TKT_GACHA_10_3501":{"name":"长风万里寻访凭证","icon":"LIMITED_TKT_GACHA_10_3501"},"LINKAGE_TKT_GACHA_10_3601":{"name":"指引明路寻访凭证","icon":"LINKAGE_TKT_GACHA_10_3601"},"LIMITED_TKT_GACHA_10_3801":{"name":"未来序曲寻访凭证","icon":"LIMITED_TKT_GACHA_10_3801"},"LIMITED_TKT_GACHA_10_4101":{"name":"云过天空寻访凭证","icon":"LIMITED_TKT_GACHA_10_4101"},"voucher_item_4pick1":{"name":"干员兑换券","icon":"voucher_item_4pick1"},"voucher_item_4pick1_1803":{"name":"干员兑换券","icon":"voucher_item_4pick1"},"voucher_recruitR5_pick2":{"name":"火神因陀罗招募券","icon":"voucher_recruitR5_pick2"},"voucher_recruitR5_pick1803":{"name":"资深干员调用凭证","icon":"voucher_recruitR5_g"},"voucher_item_pick601":{"name":"高级干员调用凭证","icon":"voucher_item_pick601"},"voucher_item_pick1401":{"name":"感谢庆典干员凭证","icon":"voucher_recruitR6_g"},"voucher_item_pick1803":{"name":"周年庆典干员凭证","icon":"voucher_recruitR6_g"},"voucher_item_pick2301":{"name":"感谢庆典干员凭证","icon":"voucher_recruitR6_g"},"voucher_item_pick2701":{"name":"周年庆典干员凭证","icon":"voucher_recruitR6_g"},"voucher_recruitR5_pick2701":{"name":"资深干员调用凭证","icon":"voucher_recruitR5_g"},"voucher_item_pick3301":{"name":"感谢庆典干员凭证","icon":"voucher_recruitR6_g"},"voucher_item_pick3801":{"name":"周年庆典干员凭证","icon":"voucher_recruitR6_g"},"voucher_recruitR5_pick3801":{"name":"资深干员调用凭证","icon":"voucher_recruitR5_g"},"voucher_levelmax_6":{"name":"高级资深干员特训装置","icon":"voucher_levelmax_6"},"voucher_levelmax_5":{"name":"资深干员特训装置","icon":"voucher_levelmax_5"},"voucher_elite_II_6":{"name":"高级资深干员特训邀请函","icon":"voucher_elite_II_6"},"voucher_elite_II_5":{"name":"资深干员特训邀请函","icon":"voucher_elite_II_5"},"voucher_skin":{"name":"时装自选凭证","icon":"voucher_skin"},"2020recruitment10_1":{"name":"α类新年寻访凭证","icon":"2020recruitment10_1"},"2020recruitment10_2":{"name":"β类新年寻访凭证","icon":"2020recruitment10_2"},"2020recruitment10_3":{"name":"γ类新年寻访凭证","icon":"2020recruitment10_3"},"2021recruitment10_1":{"name":"α类新年寻访凭证","icon":"2021recruitment10_1"},"2021recruitment10_2":{"name":"β类新年寻访凭证","icon":"2021recruitment10_2"},"2021recruitment10_3":{"name":"γ类新年寻访凭证","icon":"2021recruitment10_3"},"2022recruitment10_1":{"name":"α类新年寻访凭证","icon":"2022recruitment10_1"},"2022recruitment10_2":{"name":"β类新年寻访凭证","icon":"2022recruitment10_2"},"2022recruitment10_3":{"name":"γ类新年寻访凭证","icon":"2022recruitment10_3"},"2023recruitment10_1":{"name":"α类新年寻访凭证","icon":"2023recruitment10_1"},"2023recruitment10_2":{"name":"β类新年寻访凭证","icon":"2023recruitment10_2"},"2023recruitment10_3":{"name":"γ类新年寻访凭证","icon":"2023recruitment10_3"},"voucher_recruitR4_1":{"name":"公开招募★4兑换券·I","icon":"voucher_recruitR4_1"},"voucher_recruitR3_1":{"name":"公开招募★3兑换券·I","icon":"voucher_recruitR3_1"},"voucher_chipPack":{"name":"芯片组自助打印盒","icon":"voucher_chipPack"},"voucher_chip":{"name":"芯片自助打印盒","icon":"voucher_chip"},"voucher_chipPackage":{"name":"自助芯片组印刻仪","icon":"voucher_chipPackage"},"voucher_5chipPackage":{"name":"自助芯片印刻仪","icon":"voucher_5chipPackage"},"itempack_mod_7":{"name":"先锋芯片组印刻仪","icon":"itempack_mod_7"},"itempack_mod_8":{"name":"近卫芯片组印刻仪","icon":"itempack_mod_8"},"itempack_mod_9":{"name":"重装芯片组印刻仪","icon":"itempack_mod_9"},"itempack_mod_10":{"name":"狙击芯片组印刻仪","icon":"itempack_mod_10"},"itempack_mod_11":{"name":"术师芯片组印刻仪","icon":"itempack_mod_11"},"itempack_mod_12":{"name":"医疗芯片组印刻仪","icon":"itempack_mod_12"},"itempack_mod_13":{"name":"辅助芯片组印刻仪","icon":"itempack_mod_13"},"itempack_mod_14":{"name":"特种芯片组印刻仪","icon":"itempack_mod_14"},"randomMaterialRune_0":{"name":"荒芜行动物资补给","icon":"randomMaterialRune_0"},"randomMaterialRune_1":{"name":"黄铁行动物资补给","icon":"randomMaterialRune_1"},"randomMaterialRune_2":{"name":"利刃行动物资补给","icon":"randomMaterialRune_2"},"randomMaterialRune_3":{"name":"燃灰行动物资补给","icon":"randomMaterialRune_3"},"randomMaterialRune_4":{"name":"铅封行动物资补给","icon":"randomMaterialRune_4"},"randomMaterialRune_5":{"name":"光谱行动物资补给","icon":"randomMaterialRune_5"},"randomMaterialRune_6":{"name":"蛮鳞行动物资补给","icon":"randomMaterialRune_6"},"randomMaterialRune_7":{"name":"松烟行动物资补给","icon":"randomMaterialRune_7"},"randomMaterialRune_8":{"name":"寻昼行动物资补给","icon":"randomMaterialRune_8"},"randomMaterialRune_9":{"name":"渊默行动物资补给","icon":"randomMaterialRune_9"},"randomMaterialRune_10":{"name":"尘环行动物资补给","icon":"randomMaterialRune_10"},"randomMaterialRune_11":{"name":"赝波行动物资补给","icon":"randomMaterialRune_11"},"randomMaterialRune_12":{"name":"起源行动物资补给","icon":"randomMaterialRune_12"},"randomMaterial_1":{"name":"罗德岛物资补给","icon":"randomMaterial_1"},"randomMaterial_2":{"name":"岁过华灯","icon":"randomMaterial_2"},"randomMaterial_3":{"name":"32h战略配给","icon":"randomMaterial_3"},"randomMaterial_4":{"name":"感谢庆典物资补给","icon":"randomMaterial_4"},"randomMaterial_5":{"name":"罗德岛物资补给II","icon":"randomMaterial_1"},"randomMaterial_6":{"name":"罗德岛物资补给III","icon":"randomMaterial_1"},"randomMaterial_7":{"name":"罗德岛物资补给IV","icon":"randomMaterial_1"},"randomMaterial_8":{"name":"罗德岛物资补给V","icon":"randomMaterial_1"},"randomMaterial_rhine2":{"name":"技术调查补给","icon":"randomMaterial_rhine2"},"randomDiamondShd_1":{"name":"罗德岛迎春红包","icon":"randomDiamondShd_1"},"randomDiamondShd_2":{"name":"庆典礼盒","icon":"randomDiamondShd_2"},"randomMaterial_siesta2":{"name":"峯联贸易物流补给","icon":"randomMaterial_siesta2"},"mod_unlock_token":{"name":"模组数据块","icon":"mod_unlock_token"},"mod_update_token_2":{"name":"数据增补仪","icon":"mod_update_token_2"},"mod_update_token_1":{"name":"数据增补条","icon":"mod_update_token_1"},"tier1_pioneer":{"name":"先锋信物复制品","icon":"tier1_pioneer"},"tier1_guard":{"name":"近卫信物复制品","icon":"tier1_guard"},"tier1_tank":{"name":"重装信物复制品","icon":"tier1_tank"},"tier1_sniper":{"name":"狙击信物复制品","icon":"tier1_sniper"},"tier1_caster":{"name":"术师信物复制品","icon":"tier1_caster"},"tier1_medic":{"name":"医疗信物复制品","icon":"tier1_medic"},"tier1_supporter":{"name":"辅助信物复制品","icon":"tier1_supporter"},"tier1_special":{"name":"特种信物复制品","icon":"tier1_special"},"tier2_pioneer":{"name":"先锋信物原件","icon":"tier2_pioneer"},"tier2_guard":{"name":"近卫信物原件","icon":"tier2_guard"},"tier2_tank":{"name":"重装信物原件","icon":"tier2_tank"},"tier2_sniper":{"name":"狙击信物原件","icon":"tier2_sniper"},"tier2_caster":{"name":"术师信物原件","icon":"tier2_caster"},"tier2_medic":{"name":"医疗信物原件","icon":"tier2_medic"},"tier2_supporter":{"name":"辅助信物原件","icon":"tier2_supporter"},"tier2_special":{"name":"特种信物原件","icon":"tier2_special"},"tier3_pioneer":{"name":"先锋信物藏品","icon":"tier3_pioneer"},"tier3_guard":{"name":"近卫信物藏品","icon":"tier3_guard"},"tier3_tank":{"name":"重装信物藏品","icon":"tier3_tank"},"tier3_sniper":{"name":"狙击信物藏品","icon":"tier3_sniper"},"tier3_caster":{"name":"术师信物藏品","icon":"tier3_caster"},"tier3_medic":{"name":"医疗信物藏品","icon":"tier3_medic"},"tier3_supporter":{"name":"辅助信物藏品","icon":"tier3_supporter"},"tier3_special":{"name":"特种信物藏品","icon":"tier3_special"},"tier4_pioneer":{"name":"先锋传承信物","icon":"tier4_pioneer"},"tier4_guard":{"name":"近卫传承信物","icon":"tier4_guard"},"tier4_tank":{"name":"重装传承信物","icon":"tier4_tank"},"tier4_sniper":{"name":"狙击传承信物","icon":"tier4_sniper"},"tier4_caster":{"name":"术师传承信物","icon":"tier4_caster"},"tier4_medic":{"name":"医疗传承信物","icon":"tier4_medic"},"tier4_supporter":{"name":"辅助传承信物","icon":"tier4_supporter"},"tier4_special":{"name":"特种传承信物","icon":"tier4_special"},"tier5_pioneer":{"name":"先锋遗产信物","icon":"tier5_pioneer"},"tier5_guard":{"name":"近卫遗产信物","icon":"tier5_guard"},"tier5_tank":{"name":"重装遗产信物","icon":"tier5_tank"},"tier5_sniper":{"name":"狙击遗产信物","icon":"tier5_sniper"},"tier5_caster":{"name":"术师遗产信物","icon":"tier5_caster"},"tier5_medic":{"name":"医疗遗产信物","icon":"tier5_medic"},"tier5_supporter":{"name":"辅助遗产信物","icon":"tier5_supporter"},"tier5_special":{"name":"特种遗产信物","icon":"tier5_special"},"tier6_pioneer":{"name":"先锋皇家信物","icon":"tier6_pioneer"},"tier6_guard":{"name":"近卫皇家信物","icon":"tier6_guard"},"tier6_tank":{"name":"重装皇家信物","icon":"tier6_tank"},"tier6_sniper":{"name":"狙击皇家信物","icon":"tier6_sniper"},"tier6_caster":{"name":"术师皇家信物","icon":"tier6_caster"},"tier6_medic":{"name":"医疗皇家信物","icon":"tier6_medic"},"tier6_supporter":{"name":"辅助皇家信物","icon":"tier6_supporter"},"tier6_special":{"name":"特种皇家信物","icon":"tier6_special"},"p_char_285_medic2":{"name":"Lancet-2的信物","icon":"p_char_285_medic2"},"p_char_286_cast3":{"name":"Castle-3的信物","icon":"p_char_286_cast3"},"p_char_376_therex":{"name":"THRM-EX的信物","icon":"p_char_376_therex"},"p_char_4000_jnight":{"name":"正义骑士号的信物","icon":"p_char_4000_jnight"},"p_char_4077_palico":{"name":"泰拉大陆调查团的信物","icon":"p_char_4077_palico"},"p_char_4093_frston":{"name":"Friston-3的信物","icon":"p_char_4093_frston"},"p_char_502_nblade":{"name":"夜刀的信物","icon":"p_char_502_nblade"},"p_char_500_noirc":{"name":"黑角的信物","icon":"p_char_500_noirc"},"p_char_503_rang":{"name":"巡林者的信物","icon":"p_char_503_rang"},"p_char_501_durin":{"name":"杜林的信物","icon":"p_char_501_durin"},"p_char_009_12fce":{"name":"12F的信物","icon":"p_char_009_12fce"},"p_char_123_fang":{"name":"芬的信物","icon":"p_char_123_fang"},"p_char_240_wyvern":{"name":"香草的信物","icon":"p_char_240_wyvern"},"p_char_192_falco":{"name":"翎羽的信物","icon":"p_char_192_falco"},"p_char_208_melan":{"name":"玫兰莎的信物","icon":"p_char_208_melan"},"p_char_209_ardign":{"name":"卡缇的信物","icon":"p_char_209_ardign"},"p_char_122_beagle":{"name":"米格鲁的信物","icon":"p_char_122_beagle"},"p_char_124_kroos":{"name":"克洛丝的信物","icon":"p_char_124_kroos"},"p_char_211_adnach":{"name":"安德切尔的信物","icon":"p_char_211_adnach"},"p_char_121_lava":{"name":"炎熔的信物","icon":"p_char_121_lava"},"p_char_120_hibisc":{"name":"芙蓉的信物","icon":"p_char_120_hibisc"},"p_char_212_ansel":{"name":"安赛尔的信物","icon":"p_char_212_ansel"},"p_char_210_stward":{"name":"史都华德的信物","icon":"p_char_210_stward"},"p_char_278_orchid":{"name":"梓兰的信物","icon":"p_char_278_orchid"},"p_char_282_catap":{"name":"空爆的信物","icon":"p_char_282_catap"},"p_char_283_midn":{"name":"月见夜的信物","icon":"p_char_283_midn"},"p_char_284_spot":{"name":"斑点的信物","icon":"p_char_284_spot"},"p_char_281_popka":{"name":"泡普卡的信物","icon":"p_char_281_popka"},"p_char_141_nights":{"name":"夜烟的信物","icon":"p_char_141_nights"},"p_char_109_fmout":{"name":"远山的信物","icon":"p_char_109_fmout"},"p_char_235_jesica":{"name":"杰西卡的信物","icon":"p_char_235_jesica"},"p_char_126_shotst":{"name":"流星的信物","icon":"p_char_126_shotst"},"p_char_118_yuki":{"name":"白雪的信物","icon":"p_char_118_yuki"},"p_char_198_blackd":{"name":"讯使的信物","icon":"p_char_198_blackd"},"p_char_149_scave":{"name":"清道夫的信物","icon":"p_char_149_scave"},"p_char_290_vigna":{"name":"红豆的信物","icon":"p_char_290_vigna"},"p_char_130_doberm":{"name":"杜宾的信物","icon":"p_char_130_doberm"},"p_char_289_gyuki":{"name":"缠丸的信物","icon":"p_char_289_gyuki"},"p_char_193_frostl":{"name":"霜叶的信物","icon":"p_char_193_frostl"},"p_char_127_estell":{"name":"艾丝黛尔的信物","icon":"p_char_127_estell"},"p_char_185_frncat":{"name":"慕斯的信物","icon":"p_char_185_frncat"},"p_char_237_gravel":{"name":"砾的信物","icon":"p_char_237_gravel"},"p_char_236_rope":{"name":"暗索的信物","icon":"p_char_236_rope"},"p_char_117_myrrh":{"name":"末药的信物","icon":"p_char_117_myrrh"},"p_char_187_ccheal":{"name":"嘉维尔的信物","icon":"p_char_187_ccheal"},"p_char_181_flower":{"name":"调香师的信物","icon":"p_char_181_flower"},"p_char_199_yak":{"name":"角峰的信物","icon":"p_char_199_yak"},"p_char_150_snakek":{"name":"蛇屠箱的信物","icon":"p_char_150_snakek"},"p_char_196_sunbr":{"name":"古米的信物","icon":"p_char_196_sunbr"},"p_char_110_deepcl":{"name":"深海色的信物","icon":"p_char_110_deepcl"},"p_char_183_skgoat":{"name":"地灵的信物","icon":"p_char_183_skgoat"},"p_char_277_sqrrel":{"name":"阿消的信物","icon":"p_char_277_sqrrel"},"p_char_137_brownb":{"name":"猎蜂的信物","icon":"p_char_137_brownb"},"p_char_253_greyy":{"name":"格雷伊的信物","icon":"p_char_253_greyy"},"p_char_151_myrtle":{"name":"桃金娘的信物","icon":"p_char_151_myrtle"},"p_char_298_susuro":{"name":"苏苏洛的信物","icon":"p_char_298_susuro"},"p_char_260_durnar":{"name":"坚雷的信物","icon":"p_char_260_durnar"},"p_char_355_ethan":{"name":"伊桑的信物","icon":"p_char_355_ethan"},"p_char_190_clour":{"name":"红云的信物","icon":"p_char_190_clour"},"p_char_133_mm":{"name":"梅的信物","icon":"p_char_133_mm"},"p_char_302_glaze":{"name":"安比尔的信物","icon":"p_char_302_glaze"},"p_char_385_finlpp":{"name":"清流的信物","icon":"p_char_385_finlpp"},"p_char_337_utage":{"name":"宴的信物","icon":"p_char_337_utage"},"p_char_301_cutter":{"name":"刻刀的信物","icon":"p_char_301_cutter"},"p_char_258_podego":{"name":"波登可的信物","icon":"p_char_258_podego"},"p_char_328_cammou":{"name":"卡达的信物","icon":"p_char_328_cammou"},"p_char_272_strong":{"name":"孑的信物","icon":"p_char_272_strong"},"p_char_366_acdrop":{"name":"酸糖的信物","icon":"p_char_366_acdrop"},"p_char_271_spikes":{"name":"芳汀的信物","icon":"p_char_271_spikes"},"p_char_381_bubble":{"name":"泡泡的信物","icon":"p_char_381_bubble"},"p_char_347_jaksel":{"name":"杰克的信物","icon":"p_char_347_jaksel"},"p_char_440_pinecn":{"name":"松果的信物","icon":"p_char_440_pinecn"},"p_char_452_bstalk":{"name":"豆苗的信物","icon":"p_char_452_bstalk"},"p_char_469_indigo":{"name":"深靛的信物","icon":"p_char_469_indigo"},"p_char_484_robrta":{"name":"罗比菈塔的信物","icon":"p_char_484_robrta"},"p_char_4004_pudd":{"name":"布丁的信物","icon":"p_char_4004_pudd"},"p_char_4041_chnut":{"name":"褐果的信物","icon":"p_char_4041_chnut"},"p_char_4062_totter":{"name":"铅踝的信物","icon":"p_char_4062_totter"},"p_char_4063_quartz":{"name":"石英的信物","icon":"p_char_4063_quartz"},"p_char_491_humus":{"name":"休谟斯的信物","icon":"p_char_491_humus"},"p_char_128_plosis":{"name":"白面鸮的信物","icon":"p_char_128_plosis"},"p_char_115_headbr":{"name":"凛冬的信物","icon":"p_char_115_headbr"},"p_char_102_texas":{"name":"德克萨斯的信物","icon":"p_char_102_texas"},"p_char_106_franka":{"name":"芙兰卡的信物","icon":"p_char_106_franka"},"p_char_155_tiger":{"name":"因陀罗的信物","icon":"p_char_155_tiger"},"p_char_140_whitew":{"name":"拉普兰德的信物","icon":"p_char_140_whitew"},"p_char_143_ghost":{"name":"幽灵鲨的信物","icon":"p_char_143_ghost"},"p_char_129_bluep":{"name":"蓝毒的信物","icon":"p_char_129_bluep"},"p_char_204_platnm":{"name":"白金的信物","icon":"p_char_204_platnm"},"p_char_219_meteo":{"name":"陨星的信物","icon":"p_char_219_meteo"},"p_char_002_amiya":{"name":"阿米娅的信物","icon":"p_char_002_amiya"},"p_char_166_skfire":{"name":"天火的信物","icon":"p_char_166_skfire"},"p_char_242_otter":{"name":"梅尔的信物","icon":"p_char_242_otter"},"p_char_108_silent":{"name":"赫默的信物","icon":"p_char_108_silent"},"p_char_171_bldsk":{"name":"华法琳的信物","icon":"p_char_171_bldsk"},"p_char_148_nearl":{"name":"临光的信物","icon":"p_char_148_nearl"},"p_char_144_red":{"name":"红的信物","icon":"p_char_144_red"},"p_char_107_liskam":{"name":"雷蛇的信物","icon":"p_char_107_liskam"},"p_char_201_moeshd":{"name":"可颂的信物","icon":"p_char_201_moeshd"},"p_char_163_hpsts":{"name":"火神的信物","icon":"p_char_163_hpsts"},"p_char_145_prove":{"name":"普罗旺斯的信物","icon":"p_char_145_prove"},"p_char_158_milu":{"name":"守林人的信物","icon":"p_char_158_milu"},"p_char_173_slchan":{"name":"崖心的信物","icon":"p_char_173_slchan"},"p_char_174_slbell":{"name":"初雪的信物","icon":"p_char_174_slbell"},"p_char_195_glassb":{"name":"真理的信物","icon":"p_char_195_glassb"},"p_char_101_sora":{"name":"空的信物","icon":"p_char_101_sora"},"p_char_215_mantic":{"name":"狮蝎的信物","icon":"p_char_215_mantic"},"p_char_241_panda":{"name":"食铁兽的信物","icon":"p_char_241_panda"},"p_char_220_grani":{"name":"格拉尼的信物","icon":"p_char_220_grani"},"p_char_164_nightm":{"name":"夜魔的信物","icon":"p_char_164_nightm"},"p_char_308_swire":{"name":"诗怀雅的信物","icon":"p_char_308_swire"},"p_char_274_astesi":{"name":"星极的信物","icon":"p_char_274_astesi"},"p_char_348_ceylon":{"name":"锡兰的信物","icon":"p_char_348_ceylon"},"p_char_326_glacus":{"name":"格劳克斯的信物","icon":"p_char_326_glacus"},"p_char_275_breeze":{"name":"微风的信物","icon":"p_char_275_breeze"},"p_char_131_flameb":{"name":"炎客的信物","icon":"p_char_131_flameb"},"p_char_279_excu":{"name":"送葬人的信物","icon":"p_char_279_excu"},"p_char_261_sddrag":{"name":"苇草的信物","icon":"p_char_261_sddrag"},"p_char_356_broca":{"name":"布洛卡的信物","icon":"p_char_356_broca"},"p_char_243_waaifu":{"name":"槐琥的信物","icon":"p_char_243_waaifu"},"p_char_325_bison":{"name":"拜松的信物","icon":"p_char_325_bison"},"p_char_367_swllow":{"name":"灰喉的信物","icon":"p_char_367_swllow"},"p_char_226_hmau":{"name":"吽的信物","icon":"p_char_226_hmau"},"p_char_383_snsant":{"name":"雪雉的信物","icon":"p_char_383_snsant"},"p_char_306_leizi":{"name":"惊蛰的信物","icon":"p_char_306_leizi"},"p_char_379_sesa":{"name":"慑砂的信物","icon":"p_char_379_sesa"},"p_char_252_bibeak":{"name":"柏喙的信物","icon":"p_char_252_bibeak"},"p_char_230_savage":{"name":"暴行的信物","icon":"p_char_230_savage"},"p_char_254_vodfox":{"name":"巫恋的信物","icon":"p_char_254_vodfox"},"p_char_333_sidero":{"name":"铸铁的信物","icon":"p_char_333_sidero"},"p_char_401_elysm":{"name":"极境的信物","icon":"p_char_401_elysm"},"p_char_378_asbest":{"name":"石棉的信物","icon":"p_char_378_asbest"},"p_char_343_tknogi":{"name":"月禾的信物","icon":"p_char_343_tknogi"},"p_char_405_absin":{"name":"苦艾的信物","icon":"p_char_405_absin"},"p_char_373_lionhd":{"name":"莱恩哈特的信物","icon":"p_char_373_lionhd"},"p_char_294_ayer":{"name":"断崖的信物","icon":"p_char_294_ayer"},"p_char_345_folnic":{"name":"亚叶的信物","icon":"p_char_345_folnic"},"p_char_344_beewax":{"name":"蜜蜡的信物","icon":"p_char_344_beewax"},"p_char_349_chiave":{"name":"贾维的信物","icon":"p_char_349_chiave"},"p_char_336_folivo":{"name":"稀音的信物","icon":"p_char_336_folivo"},"p_char_218_cuttle":{"name":"安哲拉的信物","icon":"p_char_218_cuttle"},"p_char_411_tomimi":{"name":"特米米的信物","icon":"p_char_411_tomimi"},"p_char_415_flint":{"name":"燧石的信物","icon":"p_char_415_flint"},"p_char_365_aprl":{"name":"四月的信物","icon":"p_char_365_aprl"},"p_char_388_mint":{"name":"薄绿的信物","icon":"p_char_388_mint"},"p_char_346_aosta":{"name":"奥斯塔的信物","icon":"p_char_346_aosta"},"p_char_265_sophia":{"name":"鞭刃的信物","icon":"p_char_265_sophia"},"p_char_436_whispr":{"name":"絮雨的信物","icon":"p_char_436_whispr"},"p_char_214_kafka":{"name":"卡夫卡的信物","icon":"p_char_214_kafka"},"p_char_451_robin":{"name":"罗宾的信物","icon":"p_char_451_robin"},"p_char_338_iris":{"name":"爱丽丝的信物","icon":"p_char_338_iris"},"p_char_402_tuye":{"name":"图耶的信物","icon":"p_char_402_tuye"},"p_char_455_nothin":{"name":"乌有的信物","icon":"p_char_455_nothin"},"p_char_1011_lava2":{"name":"炎狱炎熔的信物","icon":"p_char_1011_lava2"},"p_char_457_blitz":{"name":"闪击的信物","icon":"p_char_457_blitz"},"p_char_458_rfrost":{"name":"霜华的信物","icon":"p_char_458_rfrost"},"p_char_459_tachak":{"name":"战车的信物","icon":"p_char_459_tachak"},"p_char_363_toddi":{"name":"熔泉的信物","icon":"p_char_363_toddi"},"p_char_304_zebra":{"name":"暴雨的信物","icon":"p_char_304_zebra"},"p_char_475_akafyu":{"name":"赤冬的信物","icon":"p_char_475_akafyu"},"p_char_478_kirara":{"name":"绮良的信物","icon":"p_char_478_kirara"},"p_char_369_bena":{"name":"贝娜的信物","icon":"p_char_369_bena"},"p_char_421_crow":{"name":"羽毛笔的信物","icon":"p_char_421_crow"},"p_char_486_takila":{"name":"龙舌兰的信物","icon":"p_char_486_takila"},"p_char_473_mberry":{"name":"桑葚的信物","icon":"p_char_473_mberry"},"p_char_431_ashlok":{"name":"灰毫的信物","icon":"p_char_431_ashlok"},"p_char_449_glider":{"name":"蜜莓的信物","icon":"p_char_449_glider"},"p_char_496_wildmn":{"name":"野鬃的信物","icon":"p_char_496_wildmn"},"p_char_489_serum":{"name":"蚀清的信物","icon":"p_char_489_serum"},"p_char_422_aurora":{"name":"极光的信物","icon":"p_char_422_aurora"},"p_char_4013_kjera":{"name":"耶拉的信物","icon":"p_char_4013_kjera"},"p_char_4025_aprot2":{"name":"暮落的信物","icon":"p_char_4025_aprot2"},"p_char_476_blkngt":{"name":"夜半的信物","icon":"p_char_476_blkngt"},"p_char_492_quercu":{"name":"夏栎的信物","icon":"p_char_492_quercu"},"p_char_1021_kroos2":{"name":"寒芒克洛丝的信物","icon":"p_char_1021_kroos2"},"p_char_4016_kazema":{"name":"风丸的信物","icon":"p_char_4016_kazema"},"p_char_4036_forcer":{"name":"见行者的信物","icon":"p_char_4036_forcer"},"p_char_4040_rockr":{"name":"洛洛的信物","icon":"p_char_4040_rockr"},"p_char_4045_heidi":{"name":"海蒂的信物","icon":"p_char_4045_heidi"},"p_char_433_windft":{"name":"掠风的信物","icon":"p_char_433_windft"},"p_char_4043_erato":{"name":"埃拉托的信物","icon":"p_char_4043_erato"},"p_char_1024_hbisc2":{"name":"濯尘芙蓉的信物","icon":"p_char_1024_hbisc2"},"p_char_4047_pianst":{"name":"车尔尼的信物","icon":"p_char_4047_pianst"},"p_char_1027_greyy2":{"name":"承曦格雷伊的信物","icon":"p_char_1027_greyy2"},"p_char_135_halo":{"name":"星源的信物","icon":"p_char_135_halo"},"p_char_497_ctable":{"name":"晓歌的信物","icon":"p_char_497_ctable"},"p_char_4054_malist":{"name":"至简的信物","icon":"p_char_4054_malist"},"p_char_4032_provs":{"name":"但书的信物","icon":"p_char_4032_provs"},"p_char_4066_highmo":{"name":"海沫的信物","icon":"p_char_4066_highmo"},"p_char_4071_peper":{"name":"明椒的信物","icon":"p_char_4071_peper"},"p_char_157_dagda":{"name":"达格达的信物","icon":"p_char_157_dagda"},"p_char_466_qanik":{"name":"雪绒的信物","icon":"p_char_466_qanik"},"p_char_4014_lunacu":{"name":"子月的信物","icon":"p_char_4014_lunacu"},"p_char_297_hamoni":{"name":"和弦的信物","icon":"p_char_297_hamoni"},"p_char_4017_puzzle":{"name":"谜图的信物","icon":"p_char_4017_puzzle"},"p_char_4078_bdhkgt":{"name":"截云的信物","icon":"p_char_4078_bdhkgt"},"p_char_493_firwhl":{"name":"火哨的信物","icon":"p_char_493_firwhl"},"p_char_4083_chimes":{"name":"铎铃的信物","icon":"p_char_4083_chimes"},"p_char_1030_noirc2":{"name":"火龙S黑角的信物","icon":"p_char_1030_noirc2"},"p_char_154_morgan":{"name":"摩根的信物","icon":"p_char_154_morgan"},"p_char_464_cement":{"name":"洋灰的信物","icon":"p_char_464_cement"},"p_char_4006_melnte":{"name":"玫拉的信物","icon":"p_char_4006_melnte"},"p_char_498_inside":{"name":"隐现的信物","icon":"p_char_498_inside"},"p_char_4015_spuria":{"name":"空构的信物","icon":"p_char_4015_spuria"},"p_char_341_sntlla":{"name":"寒檀的信物","icon":"p_char_341_sntlla"},"p_char_4102_threye":{"name":"凛视的信物","icon":"p_char_4102_threye"},"p_char_4106_bryota":{"name":"苍苔的信物","icon":"p_char_4106_bryota"},"p_char_488_buildr":{"name":"青枳的信物","icon":"p_char_488_buildr"},"p_char_4105_almond":{"name":"杏仁的信物","icon":"p_char_4105_almond"},"p_char_4104_coldst":{"name":"冰酿的信物","icon":"p_char_4104_coldst"},"p_char_103_angel":{"name":"能天使的信物","icon":"p_char_103_angel"},"p_char_112_siege":{"name":"推进之王的信物","icon":"p_char_112_siege"},"p_char_134_ifrit":{"name":"伊芙利特的信物","icon":"p_char_134_ifrit"},"p_char_180_amgoat":{"name":"艾雅法拉的信物","icon":"p_char_180_amgoat"},"p_char_291_aglina":{"name":"安洁莉娜的信物","icon":"p_char_291_aglina"},"p_char_147_shining":{"name":"闪灵的信物","icon":"p_char_147_shining"},"p_char_179_cgbird":{"name":"夜莺的信物","icon":"p_char_179_cgbird"},"p_char_136_hsguma":{"name":"星熊的信物","icon":"p_char_136_hsguma"},"p_char_202_demkni":{"name":"塞雷娅的信物","icon":"p_char_202_demkni"},"p_char_172_svrash":{"name":"银灰的信物","icon":"p_char_172_svrash"},"p_char_263_skadi":{"name":"斯卡蒂的信物","icon":"p_char_263_skadi"},"p_char_010_chen":{"name":"陈的信物","icon":"p_char_010_chen"},"p_char_340_shwaz":{"name":"黑的信物","icon":"p_char_340_shwaz"},"p_char_188_helage":{"name":"赫拉格的信物","icon":"p_char_188_helage"},"p_char_248_mgllan":{"name":"麦哲伦的信物","icon":"p_char_248_mgllan"},"p_char_213_mostma":{"name":"莫斯提马的信物","icon":"p_char_213_mostma"},"p_char_225_haak":{"name":"阿的信物","icon":"p_char_225_haak"},"p_char_2014_nian":{"name":"年的信物","icon":"p_char_2014_nian"},"p_char_017_huang":{"name":"煌的信物","icon":"p_char_017_huang"},"p_char_2013_cerber":{"name":"刻俄柏的信物","icon":"p_char_2013_cerber"},"p_char_222_bpipe":{"name":"风笛的信物","icon":"p_char_222_bpipe"},"p_char_250_phatom":{"name":"傀影的信物","icon":"p_char_250_phatom"},"p_char_400_weedy":{"name":"温蒂的信物","icon":"p_char_400_weedy"},"p_char_113_cqbw":{"name":"W的信物","icon":"p_char_113_cqbw"},"p_char_197_poca":{"name":"早露的信物","icon":"p_char_197_poca"},"p_char_358_lisa":{"name":"铃兰的信物","icon":"p_char_358_lisa"},"p_char_293_thorns":{"name":"棘刺的信物","icon":"p_char_293_thorns"},"p_char_416_zumama":{"name":"森蚺的信物","icon":"p_char_416_zumama"},"p_char_350_surtr":{"name":"史尔特尔的信物","icon":"p_char_350_surtr"},"p_char_423_blemsh":{"name":"瑕光的信物","icon":"p_char_423_blemsh"},"p_char_391_rosmon":{"name":"迷迭香的信物","icon":"p_char_391_rosmon"},"p_char_311_mudrok":{"name":"泥岩的信物","icon":"p_char_311_mudrok"},"p_char_264_f12yin":{"name":"山的信物","icon":"p_char_264_f12yin"},"p_char_332_archet":{"name":"空弦的信物","icon":"p_char_332_archet"},"p_char_2015_dusk":{"name":"夕的信物","icon":"p_char_2015_dusk"},"p_char_362_saga":{"name":"嵯峨的信物","icon":"p_char_362_saga"},"p_char_456_ash":{"name":"灰烬的信物","icon":"p_char_456_ash"},"p_char_472_pasngr":{"name":"异客的信物","icon":"p_char_472_pasngr"},"p_char_1012_skadi2":{"name":"浊心斯卡蒂的信物","icon":"p_char_1012_skadi2"},"p_char_003_kalts":{"name":"凯尔希的信物","icon":"p_char_003_kalts"},"p_char_474_glady":{"name":"歌蕾蒂娅的信物","icon":"p_char_474_glady"},"p_char_426_billro":{"name":"卡涅利安的信物","icon":"p_char_426_billro"},"p_char_485_pallas":{"name":"帕拉斯的信物","icon":"p_char_485_pallas"},"p_char_1013_chen2":{"name":"假日威龙陈的信物","icon":"p_char_1013_chen2"},"p_char_437_mizuki":{"name":"水月的信物","icon":"p_char_437_mizuki"},"p_char_430_fartth":{"name":"远牙的信物","icon":"p_char_430_fartth"},"p_char_479_sleach":{"name":"琴柳的信物","icon":"p_char_479_sleach"},"p_char_1014_nearl2":{"name":"耀骑士临光的信物","icon":"p_char_1014_nearl2"},"p_char_420_flamtl":{"name":"焰尾的信物","icon":"p_char_420_flamtl"},"p_char_206_gnosis":{"name":"灵知的信物","icon":"p_char_206_gnosis"},"p_char_322_lmlee":{"name":"老鲤的信物","icon":"p_char_322_lmlee"},"p_char_377_gdglow":{"name":"澄闪的信物","icon":"p_char_377_gdglow"},"p_char_2023_ling":{"name":"令的信物","icon":"p_char_2023_ling"},"p_char_300_phenxi":{"name":"菲亚梅塔的信物","icon":"p_char_300_phenxi"},"p_char_4039_horn":{"name":"号角的信物","icon":"p_char_4039_horn"},"p_char_1023_ghost2":{"name":"归溟幽灵鲨的信物","icon":"p_char_1023_ghost2"},"p_char_4009_irene":{"name":"艾丽妮的信物","icon":"p_char_4009_irene"},"p_char_4042_lumen":{"name":"流明的信物","icon":"p_char_4042_lumen"},"p_char_4046_ebnhlz":{"name":"黑键的信物","icon":"p_char_4046_ebnhlz"},"p_char_4048_doroth":{"name":"多萝西的信物","icon":"p_char_4048_doroth"},"p_char_1026_gvial2":{"name":"百炼嘉维尔的信物","icon":"p_char_1026_gvial2"},"p_char_4055_bgsnow":{"name":"鸿雪的信物","icon":"p_char_4055_bgsnow"},"p_char_4064_mlynar":{"name":"玛恩纳的信物","icon":"p_char_4064_mlynar"},"p_char_4072_ironmn":{"name":"白铁的信物","icon":"p_char_4072_ironmn"},"p_char_1028_texas2":{"name":"缄默德克萨斯的信物","icon":"p_char_1028_texas2"},"p_char_4065_judge":{"name":"斥罪的信物","icon":"p_char_4065_judge"},"p_char_1020_reed2":{"name":"焰影苇草的信物","icon":"p_char_1020_reed2"},"p_char_4080_lin":{"name":"林的信物","icon":"p_char_4080_lin"},"p_char_2024_chyue":{"name":"重岳的信物","icon":"p_char_2024_chyue"},"p_char_4082_qiubai":{"name":"仇白的信物","icon":"p_char_4082_qiubai"},"p_char_1029_yato2":{"name":"麒麟R夜刀的信物","icon":"p_char_1029_yato2"},"p_char_4087_ines":{"name":"伊内丝的信物","icon":"p_char_4087_ines"},"p_char_249_mlyss":{"name":"缪尔赛思的信物","icon":"p_char_249_mlyss"},"p_char_4027_heyak":{"name":"霍尔海雅的信物","icon":"p_char_4027_heyak"},"p_char_1031_slent2":{"name":"淬羽赫默的信物","icon":"p_char_1031_slent2"},"p_char_1032_excu2":{"name":"圣约送葬人的信物","icon":"p_char_1032_excu2"},"p_char_2012_typhon":{"name":"提丰的信物","icon":"p_char_2012_typhon"},"p_char_1033_swire2":{"name":"琳琅诗怀雅的信物","icon":"p_char_1033_swire2"},"p_char_1016_agoat2":{"name":"纯烬艾雅法拉的信物","icon":"p_char_1016_agoat2"},"p_char_1034_jesca2":{"name":"涤火杰西卡的信物","icon":"p_char_1034_jesca2"},"class_p_char_123_fang":{"name":"芬的中坚信物","icon":"class_p_char_123_fang"},"class_p_char_240_wyvern":{"name":"香草的中坚信物","icon":"class_p_char_240_wyvern"},"class_p_char_192_falco":{"name":"翎羽的中坚信物","icon":"class_p_char_192_falco"},"class_p_char_208_melan":{"name":"玫兰莎的中坚信物","icon":"class_p_char_208_melan"},"class_p_char_209_ardign":{"name":"卡缇的中坚信物","icon":"class_p_char_209_ardign"},"class_p_char_122_beagle":{"name":"米格鲁的中坚信物","icon":"class_p_char_122_beagle"},"class_p_char_124_kroos":{"name":"克洛丝的中坚信物","icon":"class_p_char_124_kroos"},"class_p_char_121_lava":{"name":"炎熔的中坚信物","icon":"class_p_char_121_lava"},"class_p_char_120_hibisc":{"name":"芙蓉的中坚信物","icon":"class_p_char_120_hibisc"},"class_p_char_212_ansel":{"name":"安赛尔的中坚信物","icon":"class_p_char_212_ansel"},"class_p_char_210_stward":{"name":"史都华德的中坚信物","icon":"class_p_char_210_stward"},"class_p_char_278_orchid":{"name":"梓兰的中坚信物","icon":"class_p_char_278_orchid"},"class_p_char_282_catap":{"name":"空爆的中坚信物","icon":"class_p_char_282_catap"},"class_p_char_283_midn":{"name":"月见夜的中坚信物","icon":"class_p_char_283_midn"},"class_p_char_284_spot":{"name":"斑点的中坚信物","icon":"class_p_char_284_spot"},"class_p_char_281_popka":{"name":"泡普卡的中坚信物","icon":"class_p_char_281_popka"},"class_p_char_141_nights":{"name":"夜烟的中坚信物","icon":"class_p_char_141_nights"},"class_p_char_109_fmout":{"name":"远山的中坚信物","icon":"class_p_char_109_fmout"},"class_p_char_235_jesica":{"name":"杰西卡的中坚信物","icon":"class_p_char_235_jesica"},"class_p_char_126_shotst":{"name":"流星的中坚信物","icon":"class_p_char_126_shotst"},"class_p_char_118_yuki":{"name":"白雪的中坚信物","icon":"class_p_char_118_yuki"},"class_p_char_149_scave":{"name":"清道夫的中坚信物","icon":"class_p_char_149_scave"},"class_p_char_290_vigna":{"name":"红豆的中坚信物","icon":"class_p_char_290_vigna"},"class_p_char_130_doberm":{"name":"杜宾的中坚信物","icon":"class_p_char_130_doberm"},"class_p_char_289_gyuki":{"name":"缠丸的中坚信物","icon":"class_p_char_289_gyuki"},"class_p_char_193_frostl":{"name":"霜叶的中坚信物","icon":"class_p_char_193_frostl"},"class_p_char_185_frncat":{"name":"慕斯的中坚信物","icon":"class_p_char_185_frncat"},"class_p_char_237_gravel":{"name":"砾的中坚信物","icon":"class_p_char_237_gravel"},"class_p_char_236_rope":{"name":"暗索的中坚信物","icon":"class_p_char_236_rope"},"class_p_char_117_myrrh":{"name":"末药的中坚信物","icon":"class_p_char_117_myrrh"},"class_p_char_181_flower":{"name":"调香师的中坚信物","icon":"class_p_char_181_flower"},"class_p_char_199_yak":{"name":"角峰的中坚信物","icon":"class_p_char_199_yak"},"class_p_char_150_snakek":{"name":"蛇屠箱的中坚信物","icon":"class_p_char_150_snakek"},"class_p_char_196_sunbr":{"name":"古米的中坚信物","icon":"class_p_char_196_sunbr"},"class_p_char_110_deepcl":{"name":"深海色的中坚信物","icon":"class_p_char_110_deepcl"},"class_p_char_183_skgoat":{"name":"地灵的中坚信物","icon":"class_p_char_183_skgoat"},"class_p_char_277_sqrrel":{"name":"阿消的中坚信物","icon":"class_p_char_277_sqrrel"},"class_p_char_137_brownb":{"name":"猎蜂的中坚信物","icon":"class_p_char_137_brownb"},"class_p_char_253_greyy":{"name":"格雷伊的中坚信物","icon":"class_p_char_253_greyy"},"class_p_char_298_susuro":{"name":"苏苏洛的中坚信物","icon":"class_p_char_298_susuro"},"class_p_char_151_myrtle":{"name":"桃金娘的中坚信物","icon":"class_p_char_151_myrtle"},"class_p_char_190_clour":{"name":"红云的中坚信物","icon":"class_p_char_190_clour"},"class_p_char_133_mm":{"name":"梅的中坚信物","icon":"class_p_char_133_mm"},"class_p_char_302_glaze":{"name":"安比尔的中坚信物","icon":"class_p_char_302_glaze"},"class_p_char_337_utage":{"name":"宴的中坚信物","icon":"class_p_char_337_utage"},"class_p_char_301_cutter":{"name":"刻刀的中坚信物","icon":"class_p_char_301_cutter"},"class_p_char_258_podego":{"name":"波登可的中坚信物","icon":"class_p_char_258_podego"},"class_p_char_328_cammou":{"name":"卡达的中坚信物","icon":"class_p_char_328_cammou"},"class_p_char_272_strong":{"name":"孑的中坚信物","icon":"class_p_char_272_strong"},"class_p_char_366_acdrop":{"name":"酸糖的中坚信物","icon":"class_p_char_366_acdrop"},"class_p_char_271_spikes":{"name":"芳汀的中坚信物","icon":"class_p_char_271_spikes"},"class_p_char_381_bubble":{"name":"泡泡的中坚信物","icon":"class_p_char_381_bubble"},"class_p_char_347_jaksel":{"name":"杰克的中坚信物","icon":"class_p_char_347_jaksel"},"class_p_char_440_pinecn":{"name":"松果的中坚信物","icon":"class_p_char_440_pinecn"},"class_p_char_452_bstalk":{"name":"豆苗的中坚信物","icon":"class_p_char_452_bstalk"},"class_p_char_469_indigo":{"name":"深靛的中坚信物","icon":"class_p_char_469_indigo"},"class_p_char_484_robrta":{"name":"罗比菈塔的中坚信物","icon":"class_p_char_484_robrta"},"class_p_char_4041_chnut":{"name":"褐果的中坚信物","icon":"class_p_char_4041_chnut"},"class_p_char_4062_totter":{"name":"铅踝的中坚信物","icon":"class_p_char_4062_totter"},"class_p_char_491_humus":{"name":"休谟斯的中坚信物","icon":"class_p_char_491_humus"},"class_p_char_128_plosis":{"name":"白面鸮的中坚信物","icon":"class_p_char_128_plosis"},"class_p_char_115_headbr":{"name":"凛冬的中坚信物","icon":"class_p_char_115_headbr"},"class_p_char_102_texas":{"name":"德克萨斯的中坚信物","icon":"class_p_char_102_texas"},"class_p_char_106_franka":{"name":"芙兰卡的中坚信物","icon":"class_p_char_106_franka"},"class_p_char_140_whitew":{"name":"拉普兰德的中坚信物","icon":"class_p_char_140_whitew"},"class_p_char_143_ghost":{"name":"幽灵鲨的中坚信物","icon":"class_p_char_143_ghost"},"class_p_char_129_bluep":{"name":"蓝毒的中坚信物","icon":"class_p_char_129_bluep"},"class_p_char_204_platnm":{"name":"白金的中坚信物","icon":"class_p_char_204_platnm"},"class_p_char_219_meteo":{"name":"陨星的中坚信物","icon":"class_p_char_219_meteo"},"class_p_char_166_skfire":{"name":"天火的中坚信物","icon":"class_p_char_166_skfire"},"class_p_char_242_otter":{"name":"梅尔的中坚信物","icon":"class_p_char_242_otter"},"class_p_char_108_silent":{"name":"赫默的中坚信物","icon":"class_p_char_108_silent"},"class_p_char_171_bldsk":{"name":"华法琳的中坚信物","icon":"class_p_char_171_bldsk"},"class_p_char_148_nearl":{"name":"临光的中坚信物","icon":"class_p_char_148_nearl"},"class_p_char_144_red":{"name":"红的中坚信物","icon":"class_p_char_144_red"},"class_p_char_107_liskam":{"name":"雷蛇的中坚信物","icon":"class_p_char_107_liskam"},"class_p_char_201_moeshd":{"name":"可颂的中坚信物","icon":"class_p_char_201_moeshd"},"class_p_char_145_prove":{"name":"普罗旺斯的中坚信物","icon":"class_p_char_145_prove"},"class_p_char_158_milu":{"name":"守林人的中坚信物","icon":"class_p_char_158_milu"},"class_p_char_173_slchan":{"name":"崖心的中坚信物","icon":"class_p_char_173_slchan"},"class_p_char_174_slbell":{"name":"初雪的中坚信物","icon":"class_p_char_174_slbell"},"class_p_char_195_glassb":{"name":"真理的中坚信物","icon":"class_p_char_195_glassb"},"class_p_char_101_sora":{"name":"空的中坚信物","icon":"class_p_char_101_sora"},"class_p_char_215_mantic":{"name":"狮蝎的中坚信物","icon":"class_p_char_215_mantic"},"class_p_char_241_panda":{"name":"食铁兽的中坚信物","icon":"class_p_char_241_panda"},"class_p_char_164_nightm":{"name":"夜魔的中坚信物","icon":"class_p_char_164_nightm"},"class_p_char_308_swire":{"name":"诗怀雅的中坚信物","icon":"class_p_char_308_swire"},"class_p_char_326_glacus":{"name":"格劳克斯的中坚信物","icon":"class_p_char_326_glacus"},"class_p_char_274_astesi":{"name":"星极的中坚信物","icon":"class_p_char_274_astesi"},"class_p_char_279_excu":{"name":"送葬人的中坚信物","icon":"class_p_char_279_excu"},"class_p_char_243_waaifu":{"name":"槐琥的中坚信物","icon":"class_p_char_243_waaifu"},"class_p_char_261_sddrag":{"name":"苇草的中坚信物","icon":"class_p_char_261_sddrag"},"class_p_char_356_broca":{"name":"布洛卡的中坚信物","icon":"class_p_char_356_broca"},"class_p_char_367_swllow":{"name":"灰喉的中坚信物","icon":"class_p_char_367_swllow"},"class_p_char_226_hmau":{"name":"吽的中坚信物","icon":"class_p_char_226_hmau"},"class_p_char_306_leizi":{"name":"惊蛰的中坚信物","icon":"class_p_char_306_leizi"},"class_p_char_379_sesa":{"name":"慑砂的中坚信物","icon":"class_p_char_379_sesa"},"class_p_char_254_vodfox":{"name":"巫恋的中坚信物","icon":"class_p_char_254_vodfox"},"class_p_char_103_angel":{"name":"能天使的中坚信物","icon":"class_p_char_103_angel"},"class_p_char_112_siege":{"name":"推进之王的中坚信物","icon":"class_p_char_112_siege"},"class_p_char_134_ifrit":{"name":"伊芙利特的中坚信物","icon":"class_p_char_134_ifrit"},"class_p_char_180_amgoat":{"name":"艾雅法拉的中坚信物","icon":"class_p_char_180_amgoat"},"class_p_char_291_aglina":{"name":"安洁莉娜的中坚信物","icon":"class_p_char_291_aglina"},"class_p_char_147_shining":{"name":"闪灵的中坚信物","icon":"class_p_char_147_shining"},"class_p_char_179_cgbird":{"name":"夜莺的中坚信物","icon":"class_p_char_179_cgbird"},"class_p_char_136_hsguma":{"name":"星熊的中坚信物","icon":"class_p_char_136_hsguma"},"class_p_char_202_demkni":{"name":"塞雷娅的中坚信物","icon":"class_p_char_202_demkni"},"class_p_char_172_svrash":{"name":"银灰的中坚信物","icon":"class_p_char_172_svrash"},"class_p_char_263_skadi":{"name":"斯卡蒂的中坚信物","icon":"class_p_char_263_skadi"},"class_p_char_010_chen":{"name":"陈的中坚信物","icon":"class_p_char_010_chen"},"class_p_char_340_shwaz":{"name":"黑的中坚信物","icon":"class_p_char_340_shwaz"},"class_p_char_188_helage":{"name":"赫拉格的中坚信物","icon":"class_p_char_188_helage"},"class_p_char_248_mgllan":{"name":"麦哲伦的中坚信物","icon":"class_p_char_248_mgllan"},"class_p_char_213_mostma":{"name":"莫斯提马的中坚信物","icon":"class_p_char_213_mostma"},"class_p_char_017_huang":{"name":"煌的中坚信物","icon":"class_p_char_017_huang"},"class_p_char_225_haak":{"name":"阿的中坚信物","icon":"class_p_char_225_haak"},"class_p_char_2013_cerber":{"name":"刻俄柏的中坚信物","icon":"class_p_char_2013_cerber"},"class_p_char_222_bpipe":{"name":"风笛的中坚信物","icon":"class_p_char_222_bpipe"},"class_p_char_250_phatom":{"name":"傀影的中坚信物","icon":"class_p_char_250_phatom"},"voucher_full_ceylon":{"name":"锡兰的私人信件","icon":"voucher_full_ceylon"},"voucher_full_grani":{"name":"格拉尼的私人信件","icon":"voucher_full_grani"},"voucher_full_flameb":{"name":"炎客的私人信件","icon":"voucher_full_flameb"},"voucher_full_bison":{"name":"拜松的私人信件","icon":"voucher_full_bison"},"voucher_full_snsant":{"name":"雪雉的私人信件","icon":"voucher_full_snsant"},"voucher_full_sidero":{"name":"铸铁的私人信件","icon":"voucher_full_sidero"},"voucher_full_absin":{"name":"苦艾的私人信件","icon":"voucher_full_absin"},"voucher_full_folnic":{"name":"亚叶的私人信件","icon":"voucher_full_folnic"},"voucher_full_mint":{"name":"薄绿的私人信件","icon":"voucher_full_mint"},"voucher_full_tomimi":{"name":"特米米的私人信件","icon":"voucher_full_tomimi"},"voucher_full_sophia":{"name":"鞭刃的私人信件","icon":"voucher_full_sophia"},"voucher_full_bena":{"name":"贝娜的私人信件","icon":"voucher_full_bena"},"voucher_full_robin":{"name":"罗宾的私人信件","icon":"voucher_full_robin"},"voucher_full_lava2":{"name":"炎狱炎熔的私人信件","icon":"voucher_full_lava2"},"voucher_full_zebra":{"name":"暴雨的私人信件","icon":"voucher_full_zebra"},"voucher_full_glady":{"name":"歌蕾蒂娅的私人信件","icon":"voucher_full_glady"},"voucher_full_takila":{"name":"龙舌兰的私人信件","icon":"voucher_full_takila"},"uni_set_guitar":{"name":"火蓝之心家具收藏包","icon":"uni_set_guitar"},"uni_set_pizza":{"name":"骑兵与猎人家具收藏包","icon":"uni_set_pizza"},"uni_set_penguin":{"name":"喧闹法则家具收藏包","icon":"uni_set_penguin"},"ap_item_amiya":{"name":"阿米娅的烧烤味饼干","icon":"ap_item_amiya"},"ap_item_chen":{"name":"陈的烧烤味饼干","icon":"ap_item_chen"},"ap_item_texas":{"name":"德克萨斯的烧烤味饼干","icon":"ap_item_texas"},"ap_item_doberm":{"name":"杜宾的烧烤味饼干","icon":"ap_item_doberm"},"ap_item_jesica":{"name":"杰西卡的烧烤味饼干","icon":"ap_item_jesica"},"ap_item_cast3":{"name":"Castle-3的烧烤味饼干","icon":"ap_item_cast3"},"ap_item_closure":{"name":"可露希尔的烧烤味饼干","icon":"ap_item_closure"},"ap_item_catap":{"name":"空爆的烧烤味饼干","icon":"ap_item_catap"},"ap_item_blackd":{"name":"讯使的烧烤味饼干","icon":"ap_item_blackd"},"ap_item_slchan":{"name":"崖心的烧烤味饼干","icon":"ap_item_slchan"},"ap_item_SEC_60":{"name":"咸蛋黄味巧克力","icon":"ap_item_SEC_60"},"ap_item_CaH_200":{"name":"双人汉堡餐","icon":"ap_item_CaH_200"},"CRISIS_RUNE_COIN":{"name":"行动协议","icon":"CRISIS_RUNE_COIN"},"1stact":{"name":"赏金猎人金币","icon":"1stact"},"act1d0_token_gold_rep_1":{"name":"赏金猎人金币","icon":"1stact"},"token_Wristband":{"name":"黑曜石节手环","icon":"token_Wristband"},"et_ObsidianPass":{"name":"黑曜石节门票","icon":"et_ObsidianPass"},"token_Obsidian":{"name":"汐斯塔的黑曜石","icon":"token_Obsidian"},"token_ObsidianCoin":{"name":"黑曜石节抽奖代币","icon":"token_ObsidianCoin"},"clue_Heavymetal_1":{"name":"重金属动态1","icon":"clue_Heavymetal_1"},"clue_Heavymetal_2":{"name":"重金属动态2","icon":"clue_Heavymetal_2"},"clue_Heavymetal_3":{"name":"重金属动态3","icon":"clue_Heavymetal_3"},"clue_Heavymetal_4":{"name":"重金属动态4","icon":"clue_Heavymetal_4"},"clue_Heavymetal_5":{"name":"重金属动态5","icon":"clue_Heavymetal_5"},"clue_EDM_1":{"name":"电音动态1","icon":"clue_EDM_1"},"clue_EDM_2":{"name":"电音动态2","icon":"clue_EDM_2"},"clue_EDM_3":{"name":"电音动态3","icon":"clue_EDM_3"},"clue_EDM_4":{"name":"电音动态4","icon":"clue_EDM_4"},"clue_EDM_5":{"name":"电音动态5","icon":"clue_EDM_5"},"clue_Rap_1":{"name":"说唱动态1","icon":"clue_Rap_1"},"clue_Rap_2":{"name":"说唱动态2","icon":"clue_Rap_2"},"clue_Rap_3":{"name":"说唱动态3","icon":"clue_Rap_3"},"clue_Rap_4":{"name":"说唱动态4","icon":"clue_Rap_4"},"clue_Rap_5":{"name":"说唱动态5","icon":"clue_Rap_5"},"et_ObsidianPass_rep_1":{"name":"黑曜石节门票","icon":"et_ObsidianPass"},"token_Obsidian_rep_1":{"name":"汐斯塔的黑曜石","icon":"token_Obsidian"},"token_ObsidianCoin_rep_1":{"name":"黑曜石节抽奖代币","icon":"token_ObsidianCoin"},"clue_Heavymetal_1_rep_1":{"name":"重金属动态1","icon":"clue_Heavymetal_1"},"clue_Heavymetal_2_rep_1":{"name":"重金属动态2","icon":"clue_Heavymetal_2"},"clue_Heavymetal_3_rep_1":{"name":"重金属动态3","icon":"clue_Heavymetal_3"},"clue_Heavymetal_4_rep_1":{"name":"重金属动态4","icon":"clue_Heavymetal_4"},"clue_Heavymetal_5_rep_1":{"name":"重金属动态5","icon":"clue_Heavymetal_5"},"clue_EDM_1_rep_1":{"name":"电音动态1","icon":"clue_EDM_1"},"clue_EDM_2_rep_1":{"name":"电音动态2","icon":"clue_EDM_2"},"clue_EDM_3_rep_1":{"name":"电音动态3","icon":"clue_EDM_3"},"clue_EDM_4_rep_1":{"name":"电音动态4","icon":"clue_EDM_4"},"clue_EDM_5_rep_1":{"name":"电音动态5","icon":"clue_EDM_5"},"clue_Rap_1_rep_1":{"name":"说唱动态1","icon":"clue_Rap_1"},"clue_Rap_2_rep_1":{"name":"说唱动态2","icon":"clue_Rap_2"},"clue_Rap_3_rep_1":{"name":"说唱动态3","icon":"clue_Rap_3"},"clue_Rap_4_rep_1":{"name":"说唱动态4","icon":"clue_Rap_4"},"clue_Rap_5_rep_1":{"name":"说唱动态5","icon":"clue_Rap_5"},"act4d0_intelligencepoint":{"name":"有效情报值","icon":"act4d0_intelligencepoint"},"act4d5_point_kfc":{"name":"KFC积分","icon":"act4d5_point_kfc"},"act5d0_point_medal":{"name":"终极企鹅勋章","icon":"act5d0_point_medal"},"act5d0_point_medal_rep_1":{"name":"终极企鹅勋章","icon":"act5d0_point_medal"},"act5d1_point_conbounty":{"name":"合约赏金","icon":"act5d1_point_conbounty"},"act5d1_point_opagrt":{"name":"行动协议","icon":"act5d1_point_opagrt"},"act6d5_point_firecracker":{"name":"量子二踢脚","icon":"act6d5_point_firecracker"},"act6d8_point_token":{"name":"元宵通宝","icon":"act6d8_point_token"},"act7d5_point_coupon":{"name":"食堂汤点券","icon":"act7d5_point_coupon"},"act9d0_token_dogTag":{"name":"无名的识别牌","icon":"act9d0_token_dogTag"},"act9d0_token_dogTag_rep_1":{"name":"无名的识别牌","icon":"act9d0_token_dogTag"},"act9d4_point_token":{"name":"游击队员徽章","icon":"act9d4_point_token"},"act10d5_token_biscuit":{"name":"彼得海姆热销饼干","icon":"act10d5_token_biscuit"},"act11d0_token_currency":{"name":"老旧贵族领铸币","icon":"act11d0_token_currency"},"act11d0_token_currency_rep_1":{"name":"老旧贵族领铸币","icon":"act11d0_token_currency"},"act11d0_token_warrant":{"name":"沃伦姆德搜查令","icon":"act11d0_token_warrant"},"act12d0_token_components":{"name":"机械零件","icon":"act12d0_token_components"},"act12d0_token_components_rep_1":{"name":"机械零件","icon":"act12d0_token_components"},"act12d6_token_mushroom":{"name":"好看的蘑菇","icon":"act12d6_token_mushroom"},"act12d6_token_pancake":{"name":"美味的蜜饼","icon":"act12d6_token_pancake"},"act13d0_token_dial":{"name":"废弃时钟表盘","icon":"act13d0_token_dial"},"act13d5_token_securities":{"name":"梅什科竞技证券","icon":"act13d5_token_securities"},"act13d5_token_securities_rep_1":{"name":"梅什科竞技证券","icon":"act13d5_token_securities"},"act15d0_token_ironSheet":{"name":"工厂铁片","icon":"act15d0_token_ironSheet"},"act15d0_token_ironSheet_rep_1":{"name":"工厂铁片","icon":"act15d0_token_ironSheet"},"act15d5_token_postcard":{"name":"奇景明信片","icon":"act15d5_token_postcard"},"act16d5_token_inker":{"name":"夕墨","icon":"act16d5_token_inker"},"act16d5_token_inker_rep_1":{"name":"夕墨","icon":"act16d5_token_inker"},"act17d0_token_form":{"name":"罗德岛物资配给证书","icon":"act17d0_token_form"},"act18d0_token_page":{"name":"手绘标本残页","icon":"act18d0_token_page"},"act18d0_token_page_rep_1":{"name":"手绘标本残页","icon":"act18d0_token_page"},"act18d3_token_record":{"name":"腐蚀的伊比利亚唱片","icon":"act18d3_token_record"},"act18d3_token_record_rep_1":{"name":"腐蚀的伊比利亚唱片","icon":"act18d3_token_record"},"act7mini_token_permit":{"name":"通关票券","icon":"act7mini_token_permit"},"act1lock_point_reward":{"name":"赛事奖章","icon":"act1lock_point_reward"},"act8mini_token_vigilo":{"name":"“印象”","icon":"act8mini_token_vigilo"},"act12side_token_coupon":{"name":"约翰老妈代金券","icon":"act12side_token_coupon"},"act12side_token_coupon_rep_1":{"name":"约翰老妈代金券","icon":"act12side_token_coupon"},"act12side_point_cmemomedal":{"name":"陈小姐纪念奖牌","icon":"act12side_point_cmemomedal"},"act12side_point_cmemomedal_rep_1":{"name":"陈小姐纪念奖牌","icon":"act12side_point_cmemomedal"},"act12side_token_key01":{"name":"《鬼虎双星》","icon":"act12side_token_key01"},"act12side_token_key02":{"name":"《龙鼠相争》","icon":"act12side_token_key02"},"act12side_token_key03":{"name":"《“黄金拍档”》","icon":"act12side_token_key03"},"act12side_token_key04":{"name":"《假日终结》","icon":"act12side_token_key04"},"act9mini_token_ticket":{"name":"红松叶彩券","icon":"act9mini_token_ticket"},"act13side_token_model":{"name":"骑士领纪念模型","icon":"act13side_token_model"},"act13side_token_model_rep_1":{"name":"骑士领纪念模型","icon":"act13side_token_model"},"act13side_token_key":{"name":"卷宗管理员的钥匙","icon":"act13side_token_key"},"act13side_token_card":{"name":"联合会ID卡","icon":"act13side_token_card"},"act13side_prestige_kazimierz":{"name":"监正会声望","icon":"act13side_token_model"},"act13side_prestige_commerce":{"name":"商业联合会声望","icon":"act13side_token_model"},"act13side_prestige_armorless":{"name":"无胄盟声望","icon":"act13side_token_model"},"act14side_token_stone":{"name":"耶拉冈德之石","icon":"act14side_token_stone"},"act14side_token_stone_rep_1":{"name":"耶拉冈德之石","icon":"act14side_token_stone"},"rogue_1_token_bp":{"name":"蜡烛","icon":"rogue_1_token_bp"},"rogue_1_token_grow":{"name":"昏暗的灵感","icon":"rogue_1_token_grow"},"uni_set_castle_1":{"name":"古堡印象家具收藏包一","icon":"uni_set_castle_1"},"uni_set_castle_2":{"name":"古堡印象家具收藏包二","icon":"uni_set_castle_2"},"act10mini_token_ticket":{"name":"薪水票","icon":"act10mini_token_ticket"},"act15side_token_tea":{"name":"罐装晌午茶","icon":"act15side_token_tea"},"act15side_token_tea_rep_1":{"name":"罐装晌午茶","icon":"act15side_token_tea"},"uni_set_act7d5":{"name":"午间逸话家具收藏包","icon":"uni_set_act7d5"},"return_credit_token":{"name":"二次认证徽记","icon":"return_credit_token"},"return_credit_token2":{"name":"二次认证徽记","icon":"return_credit_token2"},"act16side_token_bolt":{"name":"蚀刻弹弹壳","icon":"act16side_token_bolt"},"act16side_token_bolt_rep_1":{"name":"蚀刻弹弹壳","icon":"act16side_token_bolt"},"medal_activity_15side_01":{"name":"“诗酒乘兴”","icon":"medal_activity_15side_01"},"medal_activity_15side_03":{"name":"“寒芒新淬”","icon":"medal_activity_15side_03"},"medal_activity_15side_04":{"name":"“豪爽之人”","icon":"medal_activity_15side_04"},"medal_activity_15side_05":{"name":"“遍访群山”","icon":"medal_activity_15side_05"},"uni_set_act10d5":{"name":"乌萨斯的孩子们家具收藏包","icon":"uni_set_act10d5"},"act17side_token_compass":{"name":"锈蚀的罗盘","icon":"act17side_token_compass"},"act17side_token_compass_rep_1":{"name":"锈蚀的罗盘","icon":"act17side_token_compass"},"uni_set_beerhouse":{"name":"生于黑夜家具收藏包","icon":"uni_set_beerhouse"},"act18side_token_pieces":{"name":"乐谱草稿","icon":"act18side_token_pieces"},"act19side_token_reagents":{"name":"神秘试剂","icon":"act19side_token_reagents"},"act11mini_token_card":{"name":"借阅证","icon":"act11mini_token_card"},"uni_set_nightView":{"name":"沃伦姆德的薄暮家具收藏包","icon":"uni_set_nightView"},"uni_set_bolivar":{"name":"密林悍将归来家具收藏包","icon":"uni_set_forest"},"act20side_token_book":{"name":"《奇谈怪论》复印本","icon":"act20side_token_book"},"act1bossrush_milestone_point":{"name":"试炼经验","icon":"act1bossrush_milestone_point"},"act1bossrush_token_relic":{"name":"数据黑盒","icon":"act1bossrush_token_relic"},"act1bossrush_relic_01":{"name":"模块复用","icon":"act1bossrush_relic_01"},"act1bossrush_relic_02":{"name":"迅捷处理","icon":"act1bossrush_relic_02"},"act1bossrush_relic_03":{"name":"超级闪存","icon":"act1bossrush_relic_03"},"act1bossrush_relic_04":{"name":"推斥管控","icon":"act1bossrush_relic_04"},"act12mini_token_component":{"name":"制式器械零件","icon":"act12mini_token_component"},"act13mini_token_can":{"name":"宠物营养罐头","icon":"act13mini_token_can"},"rogue_2_token_bp":{"name":"生机细胞","icon":"rogue_2_token_bp"},"rogue_2_token_grow":{"name":"主观想象","icon":"rogue_2_token_grow"},"uni_set_fNearl":{"name":"玛莉娅·临光家具收藏包","icon":"uni_set_fNearl"},"uni_set_outdoor_1":{"name":"海滨印象家具收藏包一","icon":"uni_set_outdoor_1"},"uni_set_outdoor_2":{"name":"海滨印象家具收藏包二","icon":"uni_set_outdoor_2"},"act21side_token_permesso":{"name":"进货通行证","icon":"act21side_token_permesso"},"voucher_vigil":{"name":"伺夜的文件夹","icon":"voucher_vigil"},"itempack_mod_6":{"name":"模组数据整合箱","icon":"itempack_mod_6"},"itempack_mod_4":{"name":"模组数据整合块","icon":"itempack_mod_4"},"uni_set_prison":{"name":"孤岛风云家具收藏包","icon":"uni_set_prison"},"act22side_token_manuscript":{"name":"手抄歌谣集","icon":"act22side_token_manuscript"},"act2bossrush_milestone_point":{"name":"试炼经验","icon":"act1bossrush_milestone_point"},"act2bossrush_token_relic":{"name":"数据黑盒","icon":"act1bossrush_token_relic"},"act2bossrush_relic_01":{"name":"修复套件","icon":"act2bossrush_relic_01"},"act2bossrush_relic_02":{"name":"维续补丁","icon":"act2bossrush_relic_02"},"act2bossrush_relic_03":{"name":"减退模块","icon":"act2bossrush_relic_03"},"act2bossrush_relic_04":{"name":"调优重载","icon":"act2bossrush_relic_04"},"uni_set_inkArt":{"name":"画中人家具收藏包","icon":"uni_set_inkArt"},"uni_set_reception":{"name":"龙门风情茶室家具收藏包","icon":"uni_set_prison"},"uni_set_icu":{"name":"遗尘漫步家具收藏包","icon":"uni_set_icu"},"uni_set_abyssal":{"name":"覆潮之下家具收藏包","icon":"uni_set_abyssal"},"uni_set_westCoast":{"name":"多索雷斯假日家具收藏包","icon":"uni_set_westCoast"},"act23side_token_spirit":{"name":"新酿烈刀子","icon":"act23side_token_spirit"},"act1sandbox_milestone_point":{"name":"繁荣证章","icon":"act1sandbox_milestone_point"},"act14mini_token_fu":{"name":"平安符","icon":"act14mini_token_fu"},"voucher_ulika":{"name":"U-Official的文件夹","icon":"voucher_ulika"},"favor_add_ulika":{"name":"主播U的直播切片","icon":"favor_add_ulika"},"act24side_melding_1":{"name":"破碎的骨片","icon":"act24side_melding_1"},"act24side_melding_2":{"name":"源石虫的硬壳","icon":"act24side_melding_2"},"act24side_melding_3":{"name":"鬣犄兽的尖锐齿","icon":"act24side_melding_3"},"act24side_melding_4":{"name":"凶豕兽的厚实皮","icon":"act24side_melding_4"},"act24side_melding_5":{"name":"“兽之泪”","icon":"act24side_melding_5"},"act24side_melding_6":{"name":"火龙的红玉","icon":"act24side_melding_6"},"LINKAGE_TKT_GACHA_10_3602":{"name":"合作限定十连寻访凭证","icon":"LINKAGE_TKT_GACHA_10_3602"},"itempack_gacha_1":{"name":"福运鼓鼓礼袋","icon":"itempack_gacha_1"},"classic_normal_ticket":{"name":"通用凭证","icon":"classic_normal_ticket"},"classic_gacha":{"name":"中坚寻访凭证","icon":"classic_gacha"},"classic_gacha_10":{"name":"十连中坚寻访凭证","icon":"classic_gacha_10"},"Logistics_Special_Permit":{"name":"后勤特别许可证","icon":"Logistics_Special_Permit"},"classic_fes_pick_tier_5_3801":{"name":"中坚甄选5星干员","icon":"classic_fes_pick_tier_5"},"classic_fes_pick_tier_6_3801":{"name":"中坚甄选6星干员","icon":"classic_fes_pick_tier_6"},"act25side_token_fdrchips":{"name":"飞行数据记录芯片","icon":"act25side_token_fdrchips"},"act25side_token_key01":{"name":"特殊作战许可·α","icon":"act12side_token_key01"},"act25side_token_key02":{"name":"特殊作战许可·β","icon":"act12side_token_key02"},"act38d1_token_coin":{"name":"晶化源石","icon":"act38d1_token_coin"},"act26side_token_fragmenta":{"name":"圣像碎片","icon":"act26side_token_fragmenta"},"act18side_token_pieces_rep_1":{"name":"乐谱草稿","icon":"act18side_token_pieces"},"act15mini_token_figurine":{"name":"指木雕刻","icon":"act15mini_token_figurine"},"rogue_3_token_bp":{"name":"生态标本","icon":"rogue_3_token_bp"},"rogue_3_token_grow":{"name":"理性视阈","icon":"rogue_3_token_grow"},"return_progress":{"name":"回流累登券","icon":"return_progress_1"},"new_progress":{"name":"开服累登券","icon":"new_progress_1"},"mcardVoucher":{"name":"月卡","icon":"mcardVoucher"},"act19side_token_reagents_rep_1":{"name":"神秘试剂","icon":"act19side_token_reagents"},"premium_material_issue_voucher":{"name":"特级材料提货券","icon":"premium_material_issue_voucher"},"advanced_material_issue_voucher":{"name":"高级材料提货券","icon":"advanced_material_issue_voucher"},"classic_fes_pick_tier_5_4101":{"name":"中坚甄选5星干员","icon":"classic_fes_pick_tier_5"},"classic_fes_pick_tier_6_4101":{"name":"中坚甄选6星干员","icon":"classic_fes_pick_tier_6"},"act27side_token_fur":{"name":"毛绒绒生物的毛","icon":"act27side_token_fur"},"act3bossrush_milestone_point":{"name":"试炼经验","icon":"act1bossrush_milestone_point"},"act3bossrush_token_relic":{"name":"数据黑盒","icon":"act1bossrush_token_relic"},"act3bossrush_relic_01":{"name":"恢复增幅","icon":"act3bossrush_relic_01"},"act3bossrush_relic_02":{"name":"扩大化战略","icon":"act3bossrush_relic_02"},"act3bossrush_relic_03":{"name":"经验习得","icon":"act3bossrush_relic_03"},"act3bossrush_relic_04":{"name":"过热运转","icon":"act3bossrush_relic_04"},"act20side_token_book_rep_1":{"name":"《奇谈怪论》复印本","icon":"act20side_token_book"},"uni_set_samiRoom_1":{"name":"萨米印象家具收藏包一","icon":"uni_set_samiRoom_1"},"act28side_token_box":{"name":"劣质燃料","icon":"act28side_token_box"}} -------------------------------------------------------------------------------- /public/data/Stage.json: -------------------------------------------------------------------------------- 1 | {"main_00-01":{"name":"坍塌","code":"0-1","ap":6,"items":["2001"]},"main_00-02":{"name":"守卫","code":"0-2","ap":6,"items":["2001"]},"main_00-03":{"name":"追击","code":"0-3","ap":6,"items":["2001"]},"main_00-04":{"name":"混战","code":"0-4","ap":6,"items":["2001"]},"main_00-05":{"name":"腐化","code":"0-5","ap":6,"items":["2001"]},"main_00-06":{"name":"强击","code":"0-6","ap":6,"items":["2001"]},"main_00-07":{"name":"感染","code":"0-7","ap":6,"items":["30021"]},"main_00-08":{"name":"狩猎","code":"0-8","ap":6,"items":["2001"]},"main_00-09":{"name":"临光","code":"0-9","ap":6,"items":["30011"]},"main_00-10":{"name":"困境","code":"0-10","ap":6,"items":["2001"]},"main_00-11":{"name":"突围","code":"0-11","ap":6,"items":["30031"]},"main_01-01":{"name":"孤岛","code":"1-1","ap":6,"items":["4001"]},"main_01-03":{"name":"狂奔","code":"1-3","ap":6,"items":["30041"]},"main_01-04":{"name":"先兆","code":"1-4","ap":6,"items":["furni_dropN001_vineColumn_01"]},"main_01-05":{"name":"麻痹","code":"1-5","ap":6,"items":["30061"]},"main_01-06":{"name":"灾难","code":"1-6","ap":6,"items":["30051"]},"main_01-07":{"name":"暴君","code":"1-7","ap":6,"items":["30012"]},"main_01-08":{"name":"意志","code":"1-8","ap":9,"items":["30032"]},"main_01-09":{"name":"溃散","code":"1-9","ap":9,"items":["3112"]},"main_01-10":{"name":"残留","code":"1-10","ap":9,"items":["3301"]},"main_01-12":{"name":"代价","code":"1-12","ap":9,"items":["30062"]},"main_02-01":{"name":"龙门之行","code":"2-1","ap":9,"items":["30042"]},"sub_02-01":{"name":"迟缓-1","code":"S2-1","ap":9,"items":["30052"]},"main_02-02":{"name":"兵不接刃","code":"2-2","ap":9,"items":["30022"]},"sub_02-02":{"name":"迟缓-2","code":"S2-2","ap":9,"items":["4001"]},"sub_02-03":{"name":"封锁-1","code":"S2-3","ap":9,"items":["2001"]},"sub_02-04":{"name":"封锁-2","code":"S2-4","ap":9,"items":["furni_dropN001_sculptureColumn_01"]},"main_02-03":{"name":"无罪推定","code":"2-3","ap":12,"items":["30061"]},"main_02-04":{"name":"企鹅物流","code":"2-4","ap":12,"items":["30013"]},"sub_02-05":{"name":"术师-1","code":"S2-5","ap":12,"items":["30011"]},"sub_02-06":{"name":"术师-2","code":"S2-6","ap":12,"items":["30021"]},"sub_02-07":{"name":"术师-3","code":"S2-7","ap":12,"items":["30031"]},"main_02-05":{"name":"高空坠物","code":"2-5","ap":12,"items":["30023"]},"main_02-06":{"name":"握紧扶手","code":"2-6","ap":12,"items":["30033"]},"main_02-07":{"name":"注意卫生","code":"2-7","ap":12,"items":["4001"]},"sub_02-08":{"name":"陷阱-1","code":"S2-8","ap":12,"items":["30041"]},"sub_02-09":{"name":"陷阱-2","code":"S2-9","ap":12,"items":["30051"]},"main_02-08":{"name":"不做约定","code":"2-8","ap":12,"items":["30043"]},"main_02-09":{"name":"操作暗箱","code":"2-9","ap":12,"items":["30073"]},"sub_02-10":{"name":"窒息-1","code":"S2-10","ap":12,"items":["2002"]},"sub_02-11":{"name":"窒息-2","code":"S2-11","ap":12,"items":["furni_dropN001_generator_03"]},"sub_02-12":{"name":"窒息-3","code":"S2-12","ap":15,"items":["30012"]},"main_02-10":{"name":"病入膏肓","code":"2-10","ap":15,"items":["30103"]},"main_03-01":{"name":"会合","code":"3-1","ap":15,"items":["30053"]},"main_03-02":{"name":"记忆","code":"3-2","ap":15,"items":["30083"]},"main_03-03":{"name":"回旋","code":"3-3","ap":15,"items":["30093"]},"main_03-04":{"name":"龟裂","code":"3-4","ap":15,"items":["30063"]},"main_03-05":{"name":"呼叫","code":"3-5","ap":15,"items":["2002"]},"main_03-06":{"name":"决定","code":"3-6","ap":15,"items":["4001"]},"main_03-07":{"name":"轰鸣","code":"3-7","ap":15,"items":["30052"]},"main_03-08":{"name":"黄昏","code":"3-8","ap":18,"items":["30033","30034"]},"sub_03-1-1":{"name":"潜伏-1","code":"S3-1","ap":15,"items":["30022"]},"sub_03-1-2":{"name":"潜伏-2","code":"S3-2","ap":15,"items":["30032"]},"sub_03-2-1":{"name":"侦察-1","code":"S3-3","ap":15,"items":["30042"]},"sub_03-2-2":{"name":"侦察-2","code":"S3-4","ap":15,"items":["30062"]},"sub_03-2-3":{"name":"侦察-3","code":"S3-5","ap":15,"items":["furni_dropN001_generator_02"]},"sub_03-3-1":{"name":"集火-1","code":"S3-6","ap":15,"items":["31023"]},"sub_03-3-2":{"name":"隐匿-1","code":"S3-7","ap":18,"items":["31033"]},"main_04-01":{"name":"免费拥抱","code":"4-1","ap":18,"items":["4001"]},"main_04-02":{"name":"雨中漫步","code":"4-2","ap":18,"items":["30023","30024"]},"main_04-03":{"name":"人工制冷","code":"4-3","ap":18,"items":["2003"]},"main_04-04":{"name":"不要恐慌","code":"4-4","ap":18,"items":["30073","30074"]},"main_04-05":{"name":"官僚主义","code":"4-5","ap":18,"items":["30053","30054"]},"main_04-06":{"name":"少见多怪","code":"4-6","ap":18,"items":["30013","30014"]},"main_04-07":{"name":"各取所需","code":"4-7","ap":18,"items":["30083","30084"]},"main_04-08":{"name":"应激反应","code":"4-8","ap":21,"items":["30093","30094"]},"main_04-09":{"name":"彻入骨髓","code":"4-9","ap":21,"items":["30103","30104"]},"main_04-10":{"name":"灯火将熄","code":"4-10","ap":21,"items":["30063","30064"]},"main_05-01":{"name":"冤家易结","code":"5-1","ap":18,"items":["30013"]},"main_05-02":{"name":"有口难言","code":"5-2","ap":18,"items":["30023","30024"]},"main_05-03":{"name":"义胆凡躯","code":"5-3","ap":18,"items":["30033"]},"main_05-04":{"name":"没人在家","code":"5-4","ap":18,"items":["30073"]},"main_05-05":{"name":"连绵战火","code":"5-5","ap":18,"items":["30043","30044"]},"main_05-06":{"name":"疑兵之计","code":"5-6","ap":18,"items":["30083"]},"main_05-07":{"name":"生死与共","code":"5-7","ap":21,"items":["30093"]},"main_05-08":{"name":"了如指掌","code":"5-8","ap":18,"items":["30053","30054"]},"main_05-09":{"name":"孽生恶物","code":"5-9","ap":18,"items":["30103"]},"main_05-10":{"name":"长夜终尽","code":"5-10","ap":21,"items":["30063"]},"main_06-01":{"name":"僵局","code":"6-1","ap":18,"items":["30042","4001"]},"main_06-02":{"name":"一些误会","code":"6-2","ap":18,"items":["30083","30084"]},"main_06-03":{"name":"同时走失","code":"6-3","ap":18,"items":["30023"]},"main_06-04":{"name":"溃烂的疮疤","code":"6-4","ap":18,"items":["30033","30034"]},"main_06-05":{"name":"解决谁?","code":"6-5","ap":18,"items":["30013"]},"main_06-07":{"name":"只是从天而降!","code":"6-8","ap":18,"items":["30053"]},"main_06-08":{"name":"换一个角度","code":"6-9","ap":18,"items":["30032","2003"]},"main_06-09":{"name":"解开铃铛","code":"6-10","ap":18,"items":["30043"]},"main_06-10":{"name":"“这种事”","code":"6-11","ap":21,"items":["30073"]},"main_06-11":{"name":"冰原之雪","code":"6-12","ap":18,"items":["31023","31024"]},"main_06-12":{"name":"冰原之霜","code":"6-14","ap":18,"items":["30093"]},"main_06-13":{"name":"不错的回忆","code":"6-15","ap":18,"items":["30103","30104"]},"main_06-14":{"name":"黑兔子,白兔子","code":"6-16","ap":21,"items":["30063"]},"main_07-01":{"name":"别离之夜","code":"7-2","ap":18,"items":["30013","30014"]},"main_07-02":{"name":"变节之刃","code":"7-3","ap":18,"items":["30022","4001"]},"main_07-03":{"name":"并肩之约-1","code":"7-4","ap":18,"items":["30033"]},"main_07-04":{"name":"并肩之约-2","code":"7-5","ap":18,"items":["30073","30074"]},"main_07-05":{"name":"遗忘之地","code":"7-6","ap":18,"items":["30013"]},"main_07-06":{"name":"沉默者之怒-1","code":"7-8","ap":18,"items":["31013","31014"]},"main_07-07":{"name":"沉默者之怒-2","code":"7-9","ap":21,"items":["30063","30064"]},"main_07-08":{"name":"暗淡者之火","code":"7-10","ap":18,"items":["30103"]},"main_07-09":{"name":"浸染-1","code":"7-11","ap":18,"items":["30042","2003"]},"main_07-10":{"name":"浸染-2","code":"7-12","ap":18,"items":["30023"]},"main_07-11":{"name":"感染者之盾-1","code":"7-13","ap":18,"items":["2003"]},"main_07-12":{"name":"游击-1","code":"7-14","ap":18,"items":["30053"]},"main_07-13":{"name":"游击-2","code":"7-15","ap":18,"items":["30063"]},"main_07-14":{"name":"无匹","code":"7-16","ap":18,"items":["30083"]},"main_07-15":{"name":"感染者之盾-2","code":"7-17","ap":21,"items":["30093","30094"]},"main_07-16":{"name":"爱国者之死","code":"7-18","ap":21,"items":["30043"]},"main_08-01":{"name":"昨日,谷壳将裂","code":"R8-1","ap":18,"items":["4001"]},"main_08-02":{"name":"无辜的血肉","code":"R8-2","ap":18,"items":["30073","30074"]},"main_08-03":{"name":"麦秆,极易燃烧","code":"R8-3","ap":18,"items":["30013","30014"]},"main_08-04":{"name":"火种,一触即灭","code":"R8-4","ap":18,"items":["30032","4001"]},"main_08-05":{"name":"寒冷,来自知觉","code":"R8-5","ap":18,"items":["30022","2003"]},"main_08-06":{"name":"战场,蔓延不止","code":"R8-6","ap":18,"items":["2003"]},"main_08-07":{"name":"牵引的炮火","code":"R8-7","ap":18,"items":["31023","31024"]},"main_08-08":{"name":"人心,向背无常","code":"R8-8","ap":18,"items":["31013"]},"main_08-09":{"name":"再见,只为再见","code":"M8-6","ap":18,"items":["30062","2003"]},"main_08-10":{"name":"相逢,总是离别","code":"R8-9","ap":18,"items":["30103"]},"main_08-11":{"name":"沉默的屠夫","code":"R8-10","ap":18,"items":["30083","30084"]},"main_08-12":{"name":"恶言,报应不爽","code":"M8-7","ap":21,"items":["30023"]},"main_08-13":{"name":"落雪,浸黑国土","code":"R8-11","ap":21,"items":["31033","31034"]},"main_08-14":{"name":"苏醒,浮出梦乡","code":"M8-8","ap":18,"items":["30063"]},"main_08-16":{"name":"睁眼,便是日暮","code":"JT8-2","ap":21,"items":["31013","31014"]},"main_08-17":{"name":"昂首,足践烈焰","code":"JT8-3","ap":18,"items":["30053"]},"sub_04-1-1":{"name":"晶簇-1","code":"S4-1","ap":18,"items":["30043","30044"]},"sub_04-1-2":{"name":"晶簇-2","code":"S4-2","ap":18,"items":["furni_dropN001_generator_01"]},"sub_04-1-3":{"name":"晶簇-3","code":"S4-3","ap":18,"items":["furni_single001_letterLight_1_01"]},"sub_04-2-1":{"name":"多足-1","code":"S4-4","ap":18,"items":["furni_single001_letterLight_0_01"]},"sub_04-2-2":{"name":"多足-2","code":"S4-5","ap":18,"items":["furni_dropN001_box_03"]},"sub_04-2-3":{"name":"多足-3","code":"S4-6","ap":21,"items":["4001"]},"sub_04-3-1":{"name":"狂怒-1","code":"S4-7","ap":18,"items":["furni_dropN001_box_02"]},"sub_04-3-2":{"name":"狂怒-2","code":"S4-8","ap":18,"items":["furni_dropN001_box_01"]},"sub_04-3-3":{"name":"狂怒-3","code":"S4-9","ap":21,"items":["2003"]},"sub_04-4-1":{"name":"坚守-1","code":"S4-10","ap":18,"items":["31013"]},"sub_05-1-1":{"name":"盘踞-1","code":"S5-1","ap":18,"items":["30012","2003"]},"sub_05-1-2":{"name":"盘踞-2","code":"S5-2","ap":18,"items":["4001"]},"sub_05-2-1":{"name":"恶寒-1","code":"S5-3","ap":18,"items":["30032","4001"]},"sub_05-2-2":{"name":"恶寒-2","code":"S5-4","ap":18,"items":["30022","2003"]},"sub_05-3-1":{"name":"恐慌-1","code":"S5-5","ap":18,"items":["30062","4001"]},"sub_05-3-2":{"name":"恐慌-2","code":"S5-6","ap":18,"items":["2003"]},"sub_05-4-1":{"name":"盘旋-1","code":"S5-7","ap":18,"items":["31013","31014"]},"sub_05-4-2":{"name":"盘旋-2","code":"S5-8","ap":18,"items":["31023","31024"]},"sub_05-4-3":{"name":"异状-1","code":"S5-9","ap":18,"items":["31033","31034"]},"sub_06-1-1":{"name":"凝结-1","code":"S6-1","ap":18,"items":["2003"]},"sub_06-1-2":{"name":"凝结-2","code":"S6-2","ap":18,"items":["30012","4001"]},"sub_06-2-1":{"name":"霜冻-1","code":"S6-3","ap":18,"items":["30052","2003"]},"sub_06-2-2":{"name":"霜冻-2","code":"S6-4","ap":18,"items":["4001"]},"sub_07-1-1":{"name":"埋伏-1","code":"S7-1","ap":18,"items":["4001"]},"sub_07-1-2":{"name":"埋伏-2","code":"S7-2","ap":18,"items":["30052","4001"]},"main_09-01":{"name":"鬼魂危机","code":"9-2","ap":18,"items":["4001"]},"main_09-02":{"name":"牌局","code":"9-3","ap":18,"items":["30062","4001"]},"main_09-03":{"name":"暗火四起","code":"9-4","ap":18,"items":["31043","31044"]},"main_09-04":{"name":"临界值","code":"9-5","ap":18,"items":["30023","30024"]},"main_09-05":{"name":"深池","code":"9-6","ap":18,"items":["31053","31054"]},"main_09-06":{"name":"捉迷藏","code":"9-7","ap":18,"items":["30033","30034"]},"main_09-07":{"name":"无辜者","code":"9-9","ap":18,"items":["30073","30074"]},"main_09-08":{"name":"雷声轰鸣","code":"9-10","ap":18,"items":["30063"]},"main_09-09":{"name":"拉锯","code":"9-11","ap":18,"items":["2003"]},"main_09-10":{"name":"鬼影如潮","code":"9-12","ap":18,"items":["31023","31024"]},"main_09-11":{"name":"战地救援","code":"9-13","ap":18,"items":["30013","30014"]},"main_09-12":{"name":"风中旗帜","code":"9-14","ap":21,"items":["31033"]},"main_09-13":{"name":"大地滚烫","code":"9-15","ap":18,"items":["30083","30084"]},"main_09-14":{"name":"突围","code":"9-16","ap":18,"items":["30093"]},"main_09-15":{"name":"维多利亚士兵","code":"9-17","ap":18,"items":["30043","30044"]},"main_09-16":{"name":"“破晓”","code":"9-18","ap":21,"items":["31043","31044"]},"main_09-17":{"name":"长夜枪火","code":"9-19","ap":21,"items":["30103"]},"main_10-01":{"name":"抢夺目标","code":"10-2","ap":21,"items":["2003"]},"tough_10-01":{"name":"抢夺目标","code":"10-2","ap":21,"items":["2003"]},"main_10-02":{"name":"低下头","code":"10-3","ap":21,"items":["31013","31014"]},"tough_10-02":{"name":"低下头","code":"10-3","ap":21,"items":["31013","31014"]},"main_10-03":{"name":"鸣铳示警","code":"10-4","ap":21,"items":["30053"]},"tough_10-03":{"name":"鸣铳示警","code":"10-4","ap":21,"items":["30053"]},"main_10-04":{"name":"城市的呼吸","code":"10-5","ap":21,"items":["30103","30104"]},"tough_10-04":{"name":"城市的呼吸","code":"10-5","ap":21,"items":["30103","30104"]},"main_10-05":{"name":"虽非同族","code":"10-6","ap":21,"items":["30013"]},"tough_10-05":{"name":"虽非同族","code":"10-6","ap":21,"items":["30013"]},"main_10-06":{"name":"痛觉相连","code":"10-7","ap":24,"items":["30083","30084"]},"tough_10-06":{"name":"痛觉相连","code":"10-7","ap":24,"items":["30083","30084"]},"main_10-07":{"name":"无暇哀悼","code":"10-8","ap":21,"items":["4001"]},"tough_10-07":{"name":"无暇哀悼","code":"10-8","ap":21,"items":["4001"]},"main_10-08":{"name":"他乡故知","code":"10-9","ap":21,"items":["30052"]},"tough_10-08":{"name":"他乡故知","code":"10-9","ap":21,"items":["30052"]},"main_10-09":{"name":"旧日之影","code":"10-10","ap":21,"items":["30023","30024"]},"tough_10-09":{"name":"旧日之影","code":"10-10","ap":21,"items":["30023","30024"]},"main_10-10":{"name":"千疮百孔","code":"10-11","ap":24,"items":["30043","30044"]},"tough_10-10":{"name":"千疮百孔","code":"10-11","ap":24,"items":["30043","30044"]},"main_10-11":{"name":"仇怨的尽头","code":"10-12","ap":21,"items":["30093"]},"tough_10-11":{"name":"仇怨的尽头","code":"10-12","ap":21,"items":["30093"]},"main_10-12":{"name":"瞄准","code":"10-14","ap":21,"items":["31023","31024"]},"tough_10-12":{"name":"瞄准","code":"10-14","ap":21,"items":["31023","31024"]},"main_10-13":{"name":"逃离炮火","code":"10-15","ap":24,"items":["30073","30074"]},"tough_10-13":{"name":"逃离炮火","code":"10-15","ap":24,"items":["30073","30074"]},"main_10-14":{"name":"血刃高悬","code":"10-16","ap":21,"items":["30083"]},"tough_10-14":{"name":"血刃高悬","code":"10-16","ap":21,"items":["30083"]},"main_10-15":{"name":"坚城高墙","code":"10-17","ap":24,"items":["31053"]},"tough_10-15":{"name":"坚城高墙","code":"10-17","ap":24,"items":["31053"]},"main_11-01":{"name":"维护荣耀","code":"11-1","ap":21,"items":["2003"]},"tough_11-01":{"name":"维护荣耀","code":"11-1","ap":21,"items":["2003"]},"main_11-02":{"name":"一丝光亮","code":"11-2","ap":21,"items":["31023"]},"tough_11-02":{"name":"一丝光亮","code":"11-2","ap":21,"items":["31023"]},"main_11-03":{"name":"蒸汽升腾","code":"11-3","ap":21,"items":["31063","31064"]},"tough_11-03":{"name":"蒸汽升腾","code":"11-3","ap":21,"items":["31063","31064"]},"main_11-04":{"name":"等价交换","code":"11-5","ap":21,"items":["30103","30104"]},"tough_11-04":{"name":"等价交换","code":"11-5","ap":21,"items":["30103","30104"]},"main_11-05":{"name":"演绎文明","code":"11-6","ap":21,"items":["30023"]},"tough_11-05":{"name":"演绎文明","code":"11-6","ap":21,"items":["30023"]},"main_11-06":{"name":"卷入洪流","code":"11-7","ap":21,"items":["30063"]},"tough_11-06":{"name":"卷入洪流","code":"11-7","ap":21,"items":["30063"]},"main_11-07":{"name":"停滞","code":"11-8","ap":24,"items":["31043","31044"]},"tough_11-07":{"name":"停滞","code":"11-8","ap":24,"items":["31043","31044"]},"main_11-08":{"name":"以命换命","code":"11-9","ap":21,"items":["4001"]},"tough_11-08":{"name":"以命换命","code":"11-9","ap":21,"items":["4001"]},"main_11-09":{"name":"立场不同","code":"11-11","ap":21,"items":["30043","30044"]},"tough_11-09":{"name":"立场不同","code":"11-11","ap":21,"items":["30043","30044"]},"main_11-10":{"name":"汹涌而来","code":"11-12","ap":24,"items":["31013","31014"]},"tough_11-10":{"name":"汹涌而来","code":"11-12","ap":24,"items":["31013","31014"]},"main_11-11":{"name":"无法停止","code":"11-13","ap":21,"items":["30073","30074"]},"tough_11-11":{"name":"无法停止","code":"11-13","ap":21,"items":["30073","30074"]},"main_11-12":{"name":"一场相见","code":"11-14","ap":21,"items":["31023","31024"]},"tough_11-12":{"name":"一场相见","code":"11-14","ap":21,"items":["31023","31024"]},"main_11-13":{"name":"土地震颤","code":"11-15","ap":24,"items":["31063","31064"]},"tough_11-13":{"name":"土地震颤","code":"11-15","ap":24,"items":["31063","31064"]},"main_11-14":{"name":"荣光猎场","code":"11-16","ap":21,"items":["31053","31054"]},"tough_11-14":{"name":"荣光猎场","code":"11-16","ap":21,"items":["31053","31054"]},"main_11-16":{"name":"非我所愿","code":"11-18","ap":21,"items":["30013","30014"]},"tough_11-16":{"name":"非我所愿","code":"11-18","ap":21,"items":["30013","30014"]},"main_11-18":{"name":"最后的蒸汽骑士","code":"11-20","ap":24,"items":["30063","30064"]},"tough_11-18":{"name":"最后的蒸汽骑士","code":"11-20","ap":24,"items":["30063","30064"]},"main_12-01":{"name":"静候驾临","code":"12-2","ap":21,"items":["4001"]},"tough_12-01":{"name":"静候驾临","code":"12-2","ap":21,"items":["4001"]},"main_12-02":{"name":"善意背叛","code":"12-3","ap":21,"items":["31033","31034"]},"tough_12-02":{"name":"善意背叛","code":"12-3","ap":21,"items":["31033","31034"]},"main_12-03":{"name":"团结就是奢望","code":"12-4","ap":21,"items":["30053","30054"]},"tough_12-03":{"name":"团结就是奢望","code":"12-4","ap":21,"items":["30053","30054"]},"main_12-04":{"name":"脆钢","code":"12-5","ap":21,"items":["31013","31014"]},"tough_12-04":{"name":"脆钢","code":"12-5","ap":21,"items":["31013","31014"]},"main_12-05":{"name":"谁的战争","code":"12-6","ap":21,"items":["30073","30074"]},"tough_12-05":{"name":"谁的战争","code":"12-6","ap":21,"items":["30073","30074"]},"main_12-06":{"name":"平议生死","code":"12-7","ap":24,"items":["30103","30104"]},"tough_12-06":{"name":"平议生死","code":"12-7","ap":24,"items":["30103","30104"]},"main_12-07":{"name":"火线重逢","code":"12-8","ap":21,"items":["30093","30094"]},"tough_12-07":{"name":"火线重逢","code":"12-8","ap":21,"items":["30093","30094"]},"main_12-08":{"name":"热血年华","code":"12-9","ap":21,"items":["2003"]},"tough_12-08":{"name":"热血年华","code":"12-9","ap":21,"items":["2003"]},"main_12-09":{"name":"广播热线正繁忙","code":"12-10","ap":21,"items":["31043","31044"]},"tough_12-09":{"name":"广播热线正繁忙","code":"12-10","ap":21,"items":["31043","31044"]},"main_12-10":{"name":"脱帽致敬","code":"12-12","ap":21,"items":["31023","31024"]},"tough_12-10":{"name":"脱帽致敬","code":"12-12","ap":21,"items":["31023","31024"]},"main_12-11":{"name":"逆光阴影","code":"12-13","ap":24,"items":["31063","31064"]},"tough_12-11":{"name":"逆光阴影","code":"12-13","ap":24,"items":["31063","31064"]},"main_12-12":{"name":"捂住耳朵","code":"12-14","ap":21,"items":["30023","30024"]},"tough_12-12":{"name":"捂住耳朵","code":"12-14","ap":21,"items":["30023","30024"]},"main_12-13":{"name":"千疮百孔","code":"12-15","ap":21,"items":["30013","30014"]},"tough_12-13":{"name":"千疮百孔","code":"12-15","ap":21,"items":["30013","30014"]},"main_12-15":{"name":"被弃之人","code":"12-17","ap":21,"items":["31053","31054"]},"tough_12-15":{"name":"被弃之人","code":"12-17","ap":21,"items":["31053","31054"]},"main_12-16":{"name":"晚安","code":"12-18","ap":21,"items":["30033","30034"]},"tough_12-16":{"name":"晚安","code":"12-18","ap":21,"items":["30033","30034"]},"main_12-17":{"name":"飞跃,烟火","code":"12-19","ap":24,"items":["31033","31034"]},"tough_12-17":{"name":"飞跃,烟火","code":"12-19","ap":24,"items":["31033","31034"]},"main_12-18":{"name":"诚挚邀请","code":"12-20","ap":24,"items":["30053","30054"]},"tough_12-18":{"name":"诚挚邀请","code":"12-20","ap":24,"items":["30053","30054"]},"sub_09-1-1":{"name":"废墟坚守","code":"S9-1","ap":18,"items":["30053","30054"]},"sub_09-1-2":{"name":"背向火灼","code":"S9-2","ap":18,"items":["31063"]},"wk_melee_1":{"name":"私人家具押运","code":"CE-1","ap":10,"items":["4001"]},"wk_melee_2":{"name":"工业设备押运","code":"CE-2","ap":15,"items":["4001"]},"wk_melee_3":{"name":"珍贵原料押运","code":"CE-3","ap":20,"items":["4001"]},"wk_melee_4":{"name":"国际重犯押运","code":"CE-4","ap":25,"items":["4001"]},"wk_melee_5":{"name":"机密情报押运","code":"CE-5","ap":30,"items":["4001"]},"wk_melee_6":{"name":"实验原件押运","code":"CE-6","ap":36,"items":["4001"]},"wk_armor_1":{"name":"废墟清剿","code":"SK-1","ap":10,"items":["3112","3401"]},"wk_armor_2":{"name":"窝点清剿","code":"SK-2","ap":15,"items":["3112","3401"]},"wk_armor_3":{"name":"哨所清剿","code":"SK-3","ap":20,"items":["3113","3112","3401"]},"wk_armor_4":{"name":"据地清剿","code":"SK-4","ap":25,"items":["3114","3113","3401"]},"wk_armor_5":{"name":"要塞清剿","code":"SK-5","ap":30,"items":["3114","3113","3401"]},"wk_kc_1":{"name":"遭遇战演习","code":"LS-1","ap":10,"items":["2002","2001"]},"wk_kc_2":{"name":"游击战演习","code":"LS-2","ap":15,"items":["2002","2001"]},"wk_kc_3":{"name":"阵地战演习","code":"LS-3","ap":20,"items":["2003","2002","2001"]},"wk_kc_4":{"name":"特种战演习","code":"LS-4","ap":25,"items":["2004","2003","2002"]},"wk_kc_5":{"name":"歼灭战演习","code":"LS-5","ap":30,"items":["2004","2003","2002"]},"wk_kc_6":{"name":"运动战演习","code":"LS-6","ap":36,"items":["2004","2003"]},"wk_toxic_1":{"name":"源石开采保全","code":"AP-1","ap":10,"items":["4006"]},"wk_toxic_2":{"name":"源石运输保全","code":"AP-2","ap":15,"items":["4006"]},"wk_toxic_3":{"name":"精炼器材保全","code":"AP-3","ap":20,"items":["4006"]},"wk_toxic_4":{"name":"矿材仓库保全","code":"AP-4","ap":25,"items":["4006"]},"wk_toxic_5":{"name":"精炼工厂保全","code":"AP-5","ap":30,"items":["4006"]},"wk_fly_1":{"name":"疗养用地净空","code":"CA-1","ap":10,"items":["3301"]},"wk_fly_2":{"name":"勘探基点净空","code":"CA-2","ap":15,"items":["3301"]},"wk_fly_3":{"name":"巡逻路线净空","code":"CA-3","ap":20,"items":["3302","3301"]},"wk_fly_4":{"name":"任务区域净空","code":"CA-4","ap":25,"items":["3303","3302","3301"]},"wk_fly_5":{"name":"战略要道净空","code":"CA-5","ap":30,"items":["3303","3302","3301"]},"pro_a_1":{"name":"防守","code":"PR-A-1","ap":18,"items":["3231","3261"]},"pro_a_2":{"name":"据守","code":"PR-A-2","ap":36,"items":["3232","3262"]},"pro_b_1":{"name":"干涉","code":"PR-B-1","ap":18,"items":["3241","3251"]},"pro_b_2":{"name":"打击","code":"PR-B-2","ap":36,"items":["3242","3252"]},"pro_c_1":{"name":"急行","code":"PR-C-1","ap":18,"items":["3211","3271"]},"pro_c_2":{"name":"冲锋","code":"PR-C-2","ap":36,"items":["3212","3272"]},"pro_d_1":{"name":"突破","code":"PR-D-1","ap":18,"items":["3221","3281"]},"pro_d_2":{"name":"猛攻","code":"PR-D-2","ap":36,"items":["3222","3282"]},"act28side_01":{"name":"孤独之地","code":"CV-1","ap":9,"items":["act28side_token_box","30031","30061","30041","30051","30021","30011"]},"act28side_02":{"name":"双重保险","code":"CV-2","ap":9,"items":["act28side_token_box","30031","30061","30041","30051","30021","30011"]},"act28side_03":{"name":"圈套","code":"CV-3","ap":9,"items":["act28side_token_box","30031","30061","30041","30051","30021","30011"]},"act28side_04":{"name":"缺席的人","code":"CV-4","ap":12,"items":["act28side_token_box","30012","30032"]},"act28side_05":{"name":"疑惑之影","code":"CV-5","ap":12,"items":["act28side_token_box","30042","30062"]},"act28side_06":{"name":"猎人之夜","code":"CV-6","ap":21,"items":["act28side_token_box","30023"]},"act28side_07":{"name":"白热","code":"CV-7","ap":21,"items":["act28side_token_box","30093"]},"act28side_08":{"name":"告别往昔","code":"CV-8","ap":21,"items":["act28side_token_box","31063"]},"act27side_01":{"name":"你的耳朵长不长?","code":"SL-1","ap":9,"items":["act27side_token_fur","30031","30061","30041","30051","30021","30011"]},"act27side_02":{"name":"小蓝孩","code":"SL-2","ap":9,"items":["act27side_token_fur","30031","30061","30041","30051","30021","30011"]},"act27side_03":{"name":"手指之家","code":"SL-3","ap":9,"items":["act27side_token_fur","30031","30061","30041","30051","30021","30011"]},"act27side_04":{"name":"一个水手出海了","code":"SL-4","ap":12,"items":["act27side_token_fur","30032","30022"]},"act27side_05":{"name":"我会唱一首彩虹","code":"SL-5","ap":12,"items":["act27side_token_fur","30052","30042"]},"act27side_06":{"name":"林中小木屋","code":"SL-6","ap":21,"items":["act27side_token_fur","30053"]},"act27side_07":{"name":"靠着我的肩膀哭泣","code":"SL-7","ap":21,"items":["act27side_token_fur","31033"]},"act27side_08":{"name":"爱之歌","code":"SL-8","ap":21,"items":["act27side_token_fur","30083"]},"act15mini_01":{"name":"繁荣滋长","code":"FD-1","ap":9,"items":["act15mini_token_figurine","30031","30061","30041","30051","30021","30011"]},"act15mini_02":{"name":"边境巡逻","code":"FD-2","ap":9,"items":["act15mini_token_figurine","30031","30061","30041","30051","30021","30011"]},"act15mini_03":{"name":"无序礼炮","code":"FD-3","ap":12,"items":["act15mini_token_figurine","30031","30061","30041","30051","30021","30011"]},"act15mini_04":{"name":"暗中摸索","code":"FD-4","ap":12,"items":["act15mini_token_figurine","30031","30061","30041","30051","30021","30011"]},"act15mini_05":{"name":"冻结痛觉","code":"FD-5","ap":15,"items":["act15mini_token_figurine","30012"]},"act15mini_06":{"name":"古老歌谣","code":"FD-6","ap":15,"items":["act15mini_token_figurine","30032"]},"act15mini_07":{"name":"背离法则","code":"FD-7","ap":21,"items":["act15mini_token_figurine","30043"]},"act15mini_08":{"name":"向光探寻","code":"FD-8","ap":21,"items":["act15mini_token_figurine","30063"]},"act26side_01":{"name":"我有一个荣美家乡","code":"HE-1","ap":9,"items":["act26side_token_fragmenta","30031","30061","30041","30051","30021","30011"]},"act26side_02":{"name":"生命运河","code":"HE-2","ap":9,"items":["act26side_token_fragmenta","30031","30061","30041","30051","30021","30011"]},"act26side_03":{"name":"岂可空手回天府?","code":"HE-3","ap":9,"items":["act26side_token_fragmenta","30031","30061","30041","30051","30021","30011"]},"act26side_04":{"name":"我曾舍命为你","code":"HE-4","ap":12,"items":["act26side_token_fragmenta","30032","30052"]},"act26side_05":{"name":"主在圣殿中","code":"HE-5","ap":12,"items":["act26side_token_fragmenta","30022","30062"]},"act26side_06":{"name":"夜半歌声","code":"HE-6","ap":21,"items":["act26side_token_fragmenta","30013"]},"act26side_07":{"name":"以爱相连","code":"HE-7","ap":21,"items":["act26side_token_fragmenta","31013"]},"act26side_08":{"name":"愿跟随主","code":"HE-8","ap":21,"items":["act26side_token_fragmenta","30103"]},"act25side_01":{"name":"迷雾重重","code":"CW-1","ap":9,"items":["act25side_token_fdrchips","30031","30061","30041","30051","30021","30011"]},"act25side_02":{"name":"无迹可寻","code":"CW-2","ap":9,"items":["act25side_token_fdrchips","30031","30061","30041","30051","30021","30011"]},"act25side_03":{"name":"台前幕后","code":"CW-3","ap":9,"items":["act25side_token_fdrchips","30031","30061","30041","30051","30021","30011"]},"act25side_04":{"name":"一波又起","code":"CW-4","ap":12,"items":["act25side_token_fdrchips","30032","30062"]},"act25side_05":{"name":"柳暗花明","code":"CW-5","ap":12,"items":["act25side_token_fdrchips","30042","30052"]},"act25side_06":{"name":"群英荟萃","code":"CW-6","ap":15,"items":["act25side_token_fdrchips","30022","30012"]},"act25side_07":{"name":"空中楼阁","code":"CW-7","ap":15,"items":["act25side_token_fdrchips","30042","30062"]},"act25side_08":{"name":"过去与现在的交会","code":"CW-8","ap":21,"items":["act25side_token_fdrchips","30053"]},"act25side_09":{"name":"恩怨纠葛","code":"CW-9","ap":21,"items":["act25side_token_fdrchips","31043"]},"act25side_10":{"name":"散于星辰之间","code":"CW-10","ap":21,"items":["act25side_token_fdrchips","31023"]},"act24side_01":{"name":"森林里的麻烦家伙","code":"CF-1","ap":9,"items":[]},"act24side_02":{"name":"坚硬磐石","code":"CF-2","ap":9,"items":[]},"act24side_03":{"name":"迎头痛击","code":"CF-3","ap":9,"items":[]},"act24side_04":{"name":"破空的飞羽","code":"CF-4","ap":15,"items":[]},"act24side_05":{"name":"野蛮肇事者","code":"CF-5","ap":15,"items":[]},"act24side_06":{"name":"禁飞区","code":"CF-6","ap":21,"items":[]},"act24side_07":{"name":"锥心之刺","code":"CF-7","ap":21,"items":[]},"act24side_08":{"name":"奸诈者必自食恶果","code":"CF-8","ap":21,"items":[]},"act24side_09":{"name":"决战!燃烧的狩魂!","code":"CF-9","ap":10,"items":[]},"act24side_ex01":{"name":"山地的震颤","code":"CF-EX-1","ap":10,"items":[]},"act24side_ex02":{"name":"深林大大大暴乱","code":"CF-EX-2","ap":10,"items":[]},"act24side_ex03":{"name":"对对碰,硬邦邦","code":"CF-EX-3","ap":15,"items":[]},"act24side_ex04":{"name":"当心坠落","code":"CF-EX-4","ap":15,"items":[]},"act24side_ex05":{"name":"此路不通","code":"CF-EX-5","ap":15,"items":[]},"act24side_ex06":{"name":"登高必经险途","code":"CF-EX-6","ap":15,"items":[]},"act24side_ex07":{"name":"英雄的诞生","code":"CF-EX-7","ap":20,"items":[]},"act24side_ex08":{"name":"炬火燎原","code":"CF-EX-8","ap":20,"items":[]},"act24side_s01":{"name":"终极斗技之战","code":"CF-S-1","ap":10,"items":[]},"act14mini_01":{"name":"未竟长路","code":"DC-1","ap":9,"items":["act14mini_token_fu","30031","30061","30041","30051","30021","30011"]},"act14mini_02":{"name":"奔突难止","code":"DC-2","ap":9,"items":["act14mini_token_fu","30031","30061","30041","30051","30021","30011"]},"act14mini_03":{"name":"水涨池深","code":"DC-3","ap":12,"items":["act14mini_token_fu","30031","30061","30041","30051","30021","30011"]},"act14mini_04":{"name":"无从逃逸","code":"DC-4","ap":12,"items":["act14mini_token_fu","30031","30061","30041","30051","30021","30011"]},"act14mini_05":{"name":"且停且行","code":"DC-5","ap":15,"items":["act14mini_token_fu","30032"]},"act14mini_06":{"name":"枯生","code":"DC-6","ap":15,"items":["act14mini_token_fu","30012"]},"act14mini_07":{"name":"冻土坚石","code":"DC-7","ap":21,"items":["act14mini_token_fu","30033"]},"act14mini_08":{"name":"硝烟四起","code":"DC-8","ap":21,"items":["act14mini_token_fu","30093"]},"act23side_01":{"name":"塞上春来","code":"WB-1","ap":9,"items":["act23side_token_spirit","30031","30061","30041","30051","30021","30011"]},"act23side_02":{"name":"沙海黄尘","code":"WB-2","ap":9,"items":["act23side_token_spirit","30031","30061","30041","30051","30021","30011"]},"act23side_03":{"name":"树犹如此","code":"WB-3","ap":9,"items":["act23side_token_spirit","30031","30061","30041","30051","30021","30011"]},"act23side_04":{"name":"不念往昔","code":"WB-4","ap":12,"items":["act23side_token_spirit","30042","30022"]},"act23side_05":{"name":"风雨欲来","code":"WB-5","ap":12,"items":["act23side_token_spirit","30052","30062"]},"act23side_06":{"name":"瑟瑟秋华","code":"WB-6","ap":12,"items":["act23side_token_spirit","30062","30022"]},"act23side_07":{"name":"“屏风卫”","code":"WB-7","ap":21,"items":["act23side_token_spirit","30053"]},"act23side_08":{"name":"旷古之晤","code":"WB-8","ap":21,"items":["act23side_token_spirit","30083"]},"act23side_09":{"name":"“冬藏”","code":"WB-9","ap":21,"items":["act23side_token_spirit","31033"]},"act22side_01":{"name":"逃离与追逐","code":"FC-1","ap":9,"items":["act22side_token_manuscript","30031","30061","30041","30051","30021","30011"]},"act22side_02":{"name":"不幸重逢","code":"FC-2","ap":9,"items":["act22side_token_manuscript","30031","30061","30041","30051","30021","30011"]},"act22side_03":{"name":"引燃草垛","code":"FC-3","ap":12,"items":["act22side_token_manuscript","30032","30022"]},"act22side_04":{"name":"热灼梦","code":"FC-4","ap":12,"items":["act22side_token_manuscript","30052","30042"]},"act22side_05":{"name":"祝福的歌谣","code":"FC-5","ap":21,"items":["act22side_token_manuscript","30023"]},"act22side_06":{"name":"无人知晓","code":"FC-6","ap":21,"items":["act22side_token_manuscript","30043"]},"act22side_07":{"name":"生灵火花","code":"FC-7","ap":21,"items":["act22side_token_manuscript","31043"]},"act22side_08":{"name":"她的影子","code":"FC-8","ap":10,"items":["act22side_token_manuscript"]},"act21side_01":{"name":"雨落无声","code":"IS-1","ap":9,"items":["act21side_token_permesso","30031","30061","30041","30051","30021","30011"]},"act21side_02":{"name":"荣誉之人","code":"IS-2","ap":9,"items":["act21side_token_permesso","30031","30061","30041","30051","30021","30011"]},"act21side_03":{"name":"万箭所指","code":"IS-3","ap":9,"items":["act21side_token_permesso","30031","30061","30041","30051","30021","30011"]},"act21side_04":{"name":"苦夜惊雷","code":"IS-4","ap":12,"items":["act21side_token_permesso","30012","30042"]},"act21side_05":{"name":"恒久法则","code":"IS-5","ap":12,"items":["act21side_token_permesso","30052","30032"]},"act21side_06":{"name":"旧日碾轧","code":"IS-6","ap":15,"items":["act21side_token_permesso","30032","30022"]},"act21side_07":{"name":"何以忘却","code":"IS-7","ap":15,"items":["act21side_token_permesso","30062","30052"]},"act21side_08":{"name":"危如累卵","code":"IS-8","ap":21,"items":["act21side_token_permesso","30013"]},"act21side_09":{"name":"文明的谎言","code":"IS-9","ap":21,"items":["act21side_token_permesso","31053"]},"act21side_10":{"name":"“狼之主”","code":"IS-10","ap":21,"items":["act21side_token_permesso","31023"]},"act13mini_01":{"name":"危楼渐溃","code":"BW-1","ap":9,"items":["act13mini_token_can","30031","30061","30041","30051","30021","30011"]},"act13mini_02":{"name":"冷箭炙弹","code":"BW-2","ap":9,"items":["act13mini_token_can","30031","30061","30041","30051","30021","30011"]},"act13mini_03":{"name":"歧路彷徨","code":"BW-3","ap":12,"items":["act13mini_token_can","30031","30061","30041","30051","30021","30011"]},"act13mini_04":{"name":"霓虹之夜","code":"BW-4","ap":12,"items":["act13mini_token_can","30031","30061","30041","30051","30021","30011"]},"act13mini_05":{"name":"一夫当关","code":"BW-5","ap":15,"items":["act13mini_token_can","30052"]},"act13mini_06":{"name":"雨中蜃景","code":"BW-6","ap":15,"items":["act13mini_token_can","30022"]},"act13mini_07":{"name":"雪天路滑","code":"BW-7","ap":21,"items":["act13mini_token_can","30033"]},"act13mini_08":{"name":"凌空而过","code":"BW-8","ap":21,"items":["act13mini_token_can","30093"]},"act12mini_01":{"name":"迂回狭道","code":"AW-1","ap":9,"items":["act12mini_token_component","30031","30061","30041","30051","30021","30011"]},"act12mini_02":{"name":"圆心徘徊","code":"AW-2","ap":9,"items":["act12mini_token_component","30031","30061","30041","30051","30021","30011"]},"act12mini_03":{"name":"苦笑灯光","code":"AW-3","ap":12,"items":["act12mini_token_component","30031","30061","30041","30051","30021","30011"]},"act12mini_04":{"name":"凭空出现","code":"AW-4","ap":12,"items":["act12mini_token_component","30031","30061","30041","30051","30021","30011"]},"act12mini_05":{"name":"比比皆是","code":"AW-5","ap":15,"items":["act12mini_token_component","30062"]},"act12mini_06":{"name":"请君入瓮","code":"AW-6","ap":15,"items":["act12mini_token_component","30042"]},"act12mini_07":{"name":"篡改前路","code":"AW-7","ap":21,"items":["act12mini_token_component","31033"]},"act12mini_08":{"name":"夹缝生存","code":"AW-8","ap":21,"items":["act12mini_token_component","30063"]},"act20side_01":{"name":"沉浸式游览","code":"IC-1","ap":9,"items":["act20side_token_book_rep_1","30031","30061","30041","30051","30021","30011"]},"act20side_02":{"name":"下坠","code":"IC-2","ap":9,"items":["act20side_token_book_rep_1","30031","30061","30041","30051","30021","30011"]},"act20side_03":{"name":"奇谈怪论","code":"IC-3","ap":12,"items":["act20side_token_book_rep_1","30012","30032"]},"act20side_04":{"name":"“大水坑”","code":"IC-4","ap":12,"items":["act20side_token_book_rep_1","30022","30062"]},"act20side_05":{"name":"加速冲线","code":"IC-5","ap":15,"items":["act20side_token_book_rep_1","30052","30012"]},"act20side_06":{"name":"战逃反应","code":"IC-6","ap":15,"items":["act20side_token_book_rep_1","30062","30042"]},"act20side_07":{"name":"生活之道","code":"IC-7","ap":21,"items":["act20side_token_book_rep_1","30053"]},"act20side_08":{"name":"金属气味","code":"IC-8","ap":21,"items":["act20side_token_book_rep_1","31013"]},"act20side_09":{"name":"穹顶之上","code":"IC-9","ap":21,"items":["act20side_token_book_rep_1","30103"]},"act11mini_01":{"name":"雪地冰天","code":"TC-1","ap":9,"items":["act11mini_token_card","30031","30061"]},"act11mini_02":{"name":"看一场戏","code":"TC-2","ap":9,"items":["act11mini_token_card","30041","30051"]},"act11mini_03":{"name":"飞沙走石","code":"TC-3","ap":12,"items":["act11mini_token_card","30031","30021"]},"act11mini_04":{"name":"最后的青金","code":"TC-4","ap":12,"items":["act11mini_token_card","30041","30011"]},"act11mini_05":{"name":"去度假","code":"TC-5","ap":15,"items":["act11mini_token_card","30062"]},"act11mini_06":{"name":"跋山涉水","code":"TC-6","ap":15,"items":["act11mini_token_card","30012"]},"act11mini_07":{"name":"事到如今","code":"TC-7","ap":21,"items":["act11mini_token_card","30053"]},"act11mini_08":{"name":"万众瞩目","code":"TC-8","ap":21,"items":["act11mini_token_card","30103"]},"act19side_01":{"name":"特里蒙街道","code":"DV-1","ap":9,"items":["act19side_token_reagents_rep_1","30031","30061","30041","30051","30021","30011"]},"act19side_02":{"name":"拓荒者小屋","code":"DV-2","ap":9,"items":["act19side_token_reagents_rep_1","30031","30061","30041","30051","30021","30011"]},"act19side_03":{"name":"动力装甲","code":"DV-3","ap":12,"items":["act19side_token_reagents_rep_1","30062","30032"]},"act19side_04":{"name":"无人的小巷","code":"DV-4","ap":12,"items":["act19side_token_reagents_rep_1","30022","30042"]},"act19side_05":{"name":"多萝西的承诺","code":"DV-5","ap":15,"items":["act19side_token_reagents_rep_1","30052","30062"]},"act19side_06":{"name":"挣脱美梦","code":"DV-6","ap":21,"items":["act19side_token_reagents_rep_1","30033"]},"act19side_07":{"name":"疯狂的信号","code":"DV-7","ap":21,"items":["act19side_token_reagents_rep_1","30073"]},"act19side_08":{"name":"连接内心","code":"DV-8","ap":21,"items":["act19side_token_reagents_rep_1","31023"]},"act18side_01":{"name":"闲聊波尔卡","code":"LE-1","ap":9,"items":["act18side_token_pieces_rep_1","30031","30061","30041","30051","30021","30011"]},"act18side_02":{"name":"热情,或悲怆","code":"LE-2","ap":9,"items":["act18side_token_pieces_rep_1","30031","30061","30041","30051","30021","30011"]},"act18side_03":{"name":"自由射手","code":"LE-3","ap":12,"items":["act18side_token_pieces_rep_1","30062","30012"]},"act18side_04":{"name":"惊愕","code":"LE-4","ap":12,"items":["act18side_token_pieces_rep_1","30042","30022"]},"act18side_05":{"name":"月光","code":"LE-5","ap":18,"items":["act18side_token_pieces_rep_1","30023"]},"act18side_06":{"name":"骷髅之舞","code":"LE-6","ap":21,"items":["act18side_token_pieces_rep_1","30093"]},"act18side_07":{"name":"升华之夜","code":"LE-7","ap":21,"items":["act18side_token_pieces_rep_1","31043"]},"act18side_08":{"name":"命运","code":"LE-8","ap":10,"items":["act18side_token_pieces_rep_1"]},"act17side_01":{"name":"中心广场","code":"SN-1","ap":9,"items":["act17side_token_compass_rep_1","30031","30061","30041","30051","30021","30011"]},"act17side_02":{"name":"广场南路","code":"SN-2","ap":9,"items":["act17side_token_compass_rep_1","30031","30061","30041","30051","30021","30011"]},"act17side_03":{"name":"安静的步道","code":"SN-3","ap":9,"items":["act17side_token_compass_rep_1","30031","30061","30041","30051","30021","30011"]},"act17side_04":{"name":"灯塔入口","code":"SN-4","ap":12,"items":["act17side_token_compass_rep_1","30032","30062"]},"act17side_05":{"name":"灯塔控制室","code":"SN-5","ap":12,"items":["act17side_token_compass_rep_1","30042","30052"]},"act17side_06":{"name":"中央通道","code":"SN-6","ap":15,"items":["act17side_token_compass_rep_1","30022","30012"]},"act17side_07":{"name":"黄金回廊","code":"SN-7","ap":15,"items":["act17side_token_compass_rep_1","30062","30042"]},"act17side_08":{"name":"观测所","code":"SN-8","ap":21,"items":["act17side_token_compass_rep_1","30043"]},"act17side_09":{"name":"信号灯组","code":"SN-9","ap":21,"items":["act17side_token_compass_rep_1","30083"]},"act17side_10":{"name":"礼仪广场","code":"SN-10","ap":21,"items":["act17side_token_compass_rep_1","31053"]},"act16side_01":{"name":"灯下黑","code":"GA-1","ap":9,"items":["act16side_token_bolt_rep_1","30031","30061","30041","30051","30021","30011"]},"act16side_02":{"name":"散步时光","code":"GA-2","ap":9,"items":["act16side_token_bolt_rep_1","30031","30061","30041","30051","30021","30011"]},"act16side_03":{"name":"混血儿","code":"GA-3","ap":9,"items":["act16side_token_bolt_rep_1","30031","30061","30041","30051","30021","30011"]},"act16side_04":{"name":"安魂教堂","code":"GA-4","ap":12,"items":["act16side_token_bolt_rep_1","30062","30012"]},"act16side_05":{"name":"葬礼","code":"GA-5","ap":12,"items":["act16side_token_bolt_rep_1","30042","30022"]},"act16side_06":{"name":"安魂曲","code":"GA-6","ap":18,"items":["act16side_token_bolt_rep_1","30023"]},"act16side_07":{"name":"光与影","code":"GA-7","ap":21,"items":["act16side_token_bolt_rep_1","30073"]},"act16side_08":{"name":"影与灰","code":"GA-8","ap":21,"items":["act16side_token_bolt_rep_1","31013"]},"act10mini_01":{"name":"废旧通道","code":"TB-1","ap":9,"items":["act10mini_token_ticket","30031","30061","30041","30051","30021","30011"]},"act10mini_02":{"name":"秘密仓库","code":"TB-2","ap":9,"items":["act10mini_token_ticket","30031","30061","30041","30051","30021","30011"]},"act10mini_03":{"name":"沸腾俱乐部","code":"TB-3","ap":12,"items":["act10mini_token_ticket","30031","30061","30041","30051","30021","30011"]},"act10mini_04":{"name":"流寇帮","code":"TB-4","ap":12,"items":["act10mini_token_ticket","30031","30061","30041","30051","30021","30011"]},"act10mini_05":{"name":"排骨汤巷","code":"TB-5","ap":15,"items":["act10mini_token_ticket","30042"]},"act10mini_06":{"name":"贝西林商会","code":"TB-6","ap":15,"items":["act10mini_token_ticket","30052"]},"act10mini_07":{"name":"巴塔耶夫酒厂","code":"TB-7","ap":21,"items":["act10mini_token_ticket","30033"]},"act10mini_08":{"name":"塔西会","code":"TB-8","ap":21,"items":["act10mini_token_ticket","31033"]},"act15side_01":{"name":"化物","code":"IW-1","ap":9,"items":["act15side_token_tea_rep_1","30031","30061","30041","30051","30021","30011"]},"act15side_02":{"name":"无寻处","code":"IW-2","ap":9,"items":["act15side_token_tea_rep_1","30031","30061","30041","30051","30021","30011"]},"act15side_03":{"name":"光与影","code":"IW-3","ap":9,"items":["act15side_token_tea_rep_1","30031","30061","30041","30051","30021","30011"]},"act15side_04":{"name":"秉烛","code":"IW-4","ap":12,"items":["act15side_token_tea_rep_1","30052","30012"]},"act15side_05":{"name":"货与人","code":"IW-5","ap":12,"items":["act15side_token_tea_rep_1","30032","30022"]},"act15side_06":{"name":"传说","code":"IW-6","ap":18,"items":["act15side_token_tea_rep_1","30063"]},"act15side_07":{"name":"乱局","code":"IW-7","ap":21,"items":["act15side_token_tea_rep_1","30013"]},"act15side_08":{"name":"执念","code":"IW-8","ap":21,"items":["act15side_token_tea_rep_1","30103"]},"act15side_09":{"name":"岁相","code":"IW-9","ap":10,"items":["act15side_token_tea_rep_1"]},"act14side_01":{"name":"不欢而聚","code":"BI-1","ap":9,"items":["act14side_token_stone_rep_1","30031","30061","30041","30051","30021","30011"]},"act14side_02":{"name":"息事宁人","code":"BI-2","ap":9,"items":["act14side_token_stone_rep_1","30031","30061","30041","30051","30021","30011"]},"act14side_03":{"name":"人心难测","code":"BI-3","ap":9,"items":["act14side_token_stone_rep_1","30031","30061","30041","30051","30021","30011"]},"act14side_04":{"name":"立雪求道","code":"BI-4","ap":12,"items":["act14side_token_stone_rep_1","30052","30012"]},"act14side_05":{"name":"猎场","code":"BI-5","ap":12,"items":["act14side_token_stone_rep_1","30032","30022"]},"act14side_06":{"name":"歧路","code":"BI-6","ap":15,"items":["act14side_token_stone_rep_1","31023"]},"act14side_07":{"name":"破冰","code":"BI-7","ap":18,"items":["act14side_token_stone_rep_1","30033"]},"act14side_08":{"name":"将军","code":"BI-8","ap":18,"items":["act14side_token_stone_rep_1","30093"]},"act13side_01":{"name":"金盏花","code":"NL-1","ap":9,"items":["act13side_token_model_rep_1","30031","30061","30041","30051","30021","30011"]},"act13side_02":{"name":"垂死的刺","code":"NL-2","ap":9,"items":["act13side_token_model_rep_1","30031","30061","30041","30051","30021","30011"]},"act13side_03":{"name":"筹备着","code":"NL-3","ap":9,"items":["act13side_token_model_rep_1","30031","30061","30041","30051","30021","30011"]},"act13side_04":{"name":"诗的容貌","code":"NL-4","ap":12,"items":["act13side_token_model_rep_1","30032","30012"]},"act13side_05":{"name":"人言可畏","code":"NL-5","ap":12,"items":["act13side_token_model_rep_1","30052","30022"]},"act13side_06":{"name":"被包围者","code":"NL-6","ap":15,"items":["act13side_token_model_rep_1","30042","30012"]},"act13side_07":{"name":"梦的余韵","code":"NL-7","ap":15,"items":["act13side_token_model_rep_1","30062","30042"]},"act13side_08":{"name":"最后的怯薛","code":"NL-8","ap":18,"items":["act13side_token_model_rep_1","30023"]},"act13side_09":{"name":"叹息","code":"NL-9","ap":18,"items":["act13side_token_model_rep_1","31033"]},"act13side_10":{"name":"耀骑士","code":"NL-10","ap":18,"items":["act13side_token_model_rep_1","30073"]},"act9mini_01":{"name":"旁敲侧击","code":"PS-1","ap":6,"items":["act9mini_token_ticket","30011"]},"act9mini_02":{"name":"风口浪尖","code":"PS-2","ap":6,"items":["act9mini_token_ticket","30021"]},"act9mini_03":{"name":"磨刀","code":"PS-3","ap":9,"items":["act9mini_token_ticket","30062"]},"act9mini_04":{"name":"自取灭亡","code":"PS-4","ap":12,"items":["act9mini_token_ticket","30022"]},"act9mini_05":{"name":"竞赛","code":"PS-5","ap":15,"items":["act9mini_token_ticket","31033"]},"act9mini_06":{"name":"双人赛","code":"PS-6","ap":18,"items":["act9mini_token_ticket","30043"]},"act12side_01":{"name":"意外入选","code":"DH-1","ap":9,"items":["charm_coin_1"]},"act12side_02":{"name":"首轮竞赛","code":"DH-2","ap":9,"items":["charm_coin_1"]},"act12side_03":{"name":"拔铳相助","code":"DH-3","ap":9,"items":["charm_coin_1"]},"act12side_04":{"name":"铁人三项","code":"DH-4","ap":12,"items":["charm_coin_2"]},"act12side_05":{"name":"曲径求胜","code":"DH-5","ap":12,"items":["charm_coin_2"]},"act12side_06":{"name":"紧追猛赶","code":"DH-6","ap":12,"items":["charm_coin_2"]},"act12side_07":{"name":"沙滩阻击","code":"DH-7","ap":18,"items":["charm_coin_3"]},"act12side_08":{"name":"抢滩登陆","code":"DH-8","ap":18,"items":["charm_coin_3"]},"act12side_09":{"name":"鼠胆龙威","code":"DH-9","ap":18,"items":["charm_coin_3"]},"act8mini_01":{"name":"侧面作战","code":"VI-1","ap":6,"items":["act8mini_token_vigilo","30061"]},"act8mini_02":{"name":"从天而降","code":"VI-2","ap":6,"items":["act8mini_token_vigilo","30021"]},"act8mini_03":{"name":"亲子聚会","code":"VI-3","ap":9,"items":["act8mini_token_vigilo","30062"]},"act8mini_04":{"name":"整装列队","code":"VI-4","ap":9,"items":["act8mini_token_vigilo","30022"]},"act8mini_05":{"name":"倒带","code":"VI-5","ap":12,"items":["act8mini_token_vigilo","30013"]},"act8mini_06":{"name":"昨日","code":"VI-6","ap":15,"items":["act8mini_token_vigilo","31033"]},"act8mini_07":{"name":"分解和弦","code":"VI-7","ap":18,"items":["act8mini_token_vigilo","30073"]},"act1lock_c-01":{"name":"黄昏秘境","code":"FIN-TS","ap":15,"items":["act1lock_point_reward"]},"act7mini_01":{"name":"深入敌阵","code":"PL-1","ap":6,"items":["act7mini_token_permit","30061"]},"act7mini_02":{"name":"混淆焦点","code":"PL-2","ap":9,"items":["act7mini_token_permit","30022"]},"act7mini_03":{"name":"据守","code":"PL-3","ap":12,"items":["act7mini_token_permit","30062"]},"act7mini_04":{"name":"喋血","code":"PL-4","ap":15,"items":["act7mini_token_permit","30013"]},"act7mini_05":{"name":"盟军","code":"PL-5","ap":18,"items":["act7mini_token_permit","30103"]},"act18d3_01":{"name":"闯入者","code":"SV-1","ap":12,"items":["act18d3_token_record_rep_1","30031","30061","30041","30051","30021","30011"]},"act18d3_02":{"name":"歌手","code":"SV-2","ap":12,"items":["act18d3_token_record_rep_1","30031","30061","30041","30051","30021","30011"]},"act18d3_03":{"name":"外来者","code":"SV-3","ap":12,"items":["act18d3_token_record_rep_1","30022","30011"]},"act18d3_04":{"name":"海洋","code":"SV-4","ap":12,"items":["act18d3_token_record_rep_1","30052","30012"]},"act18d3_05":{"name":"遭弃者","code":"SV-5","ap":12,"items":["act18d3_token_record_rep_1","30032","30022"]},"act18d3_06":{"name":"厌食","code":"SV-6","ap":12,"items":["act18d3_token_record_rep_1","30042","30012"]},"act18d3_07":{"name":"守护者","code":"SV-7","ap":15,"items":["act18d3_token_record_rep_1","30013"]},"act18d3_08":{"name":"亲族","code":"SV-8","ap":18,"items":["act18d3_token_record_rep_1","31033"]},"act18d3_09":{"name":"笃信者","code":"SV-9","ap":18,"items":["act18d3_token_record_rep_1","30063"]},"act18d0_01":{"name":"赤角小镇之围","code":"WD-1","ap":12,"items":["act18d0_token_page_rep_1","30031","30061"]},"act18d0_02":{"name":"绿洲惊雷","code":"WD-2","ap":12,"items":["act18d0_token_page_rep_1","30041","30051"]},"act18d0_03":{"name":"仙人掌沙丘","code":"WD-3","ap":12,"items":["act18d0_token_page_rep_1","30052","30022"]},"act18d0_04":{"name":"鸣沙阻击战","code":"WD-4","ap":12,"items":["act18d0_token_page_rep_1","30042","30012"]},"act18d0_05":{"name":"沁礁之地","code":"WD-5","ap":12,"items":["act18d0_token_page_rep_1","30062","30022"]},"act18d0_06":{"name":"帕夏的梦","code":"WD-6","ap":15,"items":["act18d0_token_page_rep_1","30033"]},"act18d0_07":{"name":"家园","code":"WD-7","ap":18,"items":["act18d0_token_page_rep_1","30053"]},"act18d0_08":{"name":"大雪将至","code":"WD-8","ap":18,"items":["act18d0_token_page_rep_1","30103"]},"act17d0_01":{"name":"外勤记录","code":"OD-1","ap":12,"items":["act17d0_token_form","30031","30061","30041","30051","30021","30011"]},"act17d0_02":{"name":"扩大防守范围","code":"OD-2","ap":12,"items":["act17d0_token_form","30031","30061","30041","30051","30021","30011"]},"act17d0_03":{"name":"安全屋攻防战","code":"OD-3","ap":12,"items":["act17d0_token_form","30022","30011"]},"act17d0_04":{"name":"场地清理","code":"OD-4","ap":12,"items":["act17d0_token_form","30052","30012"]},"act17d0_05":{"name":"物资回收计划","code":"OD-5","ap":12,"items":["act17d0_token_form","30032","30022"]},"act17d0_06":{"name":"领主宅邸攻防战","code":"OD-6","ap":12,"items":["act17d0_token_form","30062","30012"]},"act17d0_07":{"name":"地堡防线","code":"OD-7","ap":18,"items":["act17d0_token_form","30083"]},"act17d0_08":{"name":"渗透作战","code":"OD-8","ap":18,"items":["act17d0_token_form","30093"]},"act16d5_01":{"name":"初醒","code":"WR-1","ap":9,"items":["act16d5_token_inker_rep_1","30021","30061"]},"act16d5_02":{"name":"墨魉","code":"WR-2","ap":9,"items":["act16d5_token_inker_rep_1","30031","30051"]},"act16d5_03":{"name":"向阳","code":"WR-3","ap":12,"items":["act16d5_token_inker_rep_1","30041","30011"]},"act16d5_04":{"name":"掌柜","code":"WR-4","ap":12,"items":["act16d5_token_inker_rep_1","30032","30012"]},"act16d5_05":{"name":"拙山","code":"WR-5","ap":12,"items":["act16d5_token_inker_rep_1","30052","30062"]},"act16d5_06":{"name":"画中","code":"WR-6","ap":12,"items":["act16d5_token_inker_rep_1","30012","30051"]},"act16d5_07":{"name":"好坏","code":"WR-7","ap":12,"items":["act16d5_token_inker_rep_1","30042","30022"]},"act16d5_08":{"name":"大梦","code":"WR-8","ap":15,"items":["act16d5_token_inker_rep_1","31023"]},"act16d5_09":{"name":"观花","code":"WR-9","ap":18,"items":["act16d5_token_inker_rep_1","30033"]},"act16d5_10":{"name":" 夕","code":"WR-10","ap":18,"items":["act16d5_token_inker_rep_1","30013"]},"act15d5_01":{"name":"异常集聚","code":"BH-1","ap":6,"items":["act15d5_token_postcard","30061"]},"act15d5_02":{"name":"强风","code":"BH-2","ap":6,"items":["act15d5_token_postcard","30011"]},"act15d5_03":{"name":"致命失误","code":"BH-3","ap":9,"items":["act15d5_token_postcard","30021"]},"act15d5_04":{"name":"战术配合","code":"BH-4","ap":9,"items":["act15d5_token_postcard","30032"]},"act15d5_05":{"name":"齐唱","code":"BH-5","ap":12,"items":["act15d5_token_postcard","30062"]},"act15d5_06":{"name":"光荣援助","code":"BH-6","ap":12,"items":["act15d5_token_postcard","30073"]},"act15d5_07":{"name":"坚守阵地","code":"BH-7","ap":15,"items":["act15d5_token_postcard","30033"]},"act15d5_08":{"name":"堵不如疏","code":"BH-8","ap":18,"items":["act15d5_token_postcard","30103"]},"act15d0_01":{"name":"密会","code":"MB-1","ap":9,"items":["act15d0_token_ironSheet_rep_1","30021","30061"]},"act15d0_02":{"name":"另一个视角","code":"MB-2","ap":9,"items":["act15d0_token_ironSheet_rep_1","30031","30051"]},"act15d0_03":{"name":"首次遇袭","code":"MB-3","ap":12,"items":["act15d0_token_ironSheet_rep_1","30041","30011"]},"act15d0_04":{"name":"勇敢,莽撞","code":"MB-4","ap":12,"items":["act15d0_token_ironSheet_rep_1","30032","30012"]},"act15d0_05":{"name":"危险交易","code":"MB-5","ap":15,"items":["act15d0_token_ironSheet_rep_1","30052","30062"]},"act15d0_06":{"name":"制定计划","code":"MB-6","ap":15,"items":["act15d0_token_ironSheet_rep_1","30023"]},"act15d0_07":{"name":"背叛","code":"MB-7","ap":18,"items":["act15d0_token_ironSheet_rep_1","30053"]},"act15d0_08":{"name":"激战之末","code":"MB-8","ap":18,"items":["act15d0_token_ironSheet_rep_1","30043"]},"act13d5_01":{"name":"艾伦精选","code":"MN-1","ap":9,"items":["act13d5_token_securities_rep_1","30041","30021"]},"act13d5_02":{"name":"呼啸守卫","code":"MN-2","ap":9,"items":["act13d5_token_securities_rep_1","30061","30011"]},"act13d5_03":{"name":"玫瑰报业","code":"MN-3","ap":12,"items":["act13d5_token_securities_rep_1","30052","30031"]},"act13d5_04":{"name":"辉煌盾工业","code":"MN-4","ap":12,"items":["act13d5_token_securities_rep_1","30022","30062"]},"act13d5_05":{"name":"斯沃玛视频","code":"MN-5","ap":15,"items":["act13d5_token_securities_rep_1","30042","30012"]},"act13d5_06":{"name":"蓝耳酒窖","code":"MN-6","ap":15,"items":["act13d5_token_securities_rep_1","31013"]},"act13d5_07":{"name":"梅什科集团","code":"MN-7","ap":18,"items":["act13d5_token_securities_rep_1","30033"]},"act13d5_08":{"name":"商业联合","code":"MN-8","ap":18,"items":["act13d5_token_securities_rep_1","30083"]},"act13d0_01":{"name":"慢性熬煮","code":"FA-1","ap":6,"items":["act13d0_token_dial","30061"]},"act13d0_02":{"name":"有勇无谋","code":"FA-2","ap":6,"items":["act13d0_token_dial","30011"]},"act13d0_03":{"name":"梦想赛道","code":"FA-3","ap":9,"items":["act13d0_token_dial","30021"]},"act13d0_04":{"name":"障眼法","code":"FA-4","ap":9,"items":["act13d0_token_dial","30032"]},"act13d0_05":{"name":"迷幻热情","code":"FA-5","ap":12,"items":["act13d0_token_dial","30062"]},"act13d0_06":{"name":"燎原","code":"FA-6","ap":12,"items":["act13d0_token_dial","30073"]},"act13d0_07":{"name":"蜂拥而至","code":"FA-7","ap":15,"items":["act13d0_token_dial","30053"]},"act13d0_08":{"name":"隘口难攻","code":"FA-8","ap":18,"items":["act13d0_token_dial","30043"]},"act12d0_01":{"name":"高空坠物","code":"RI-1","ap":9,"items":["act12d0_token_components_rep_1","30041","30011"]},"act12d0_02":{"name":"粗细有别","code":"RI-2","ap":9,"items":["act12d0_token_components_rep_1","30061","30031"]},"act12d0_03":{"name":"往昔","code":"RI-3","ap":12,"items":["act12d0_token_components_rep_1","30051","30021"]},"act12d0_04":{"name":"机兽咆哮","code":"RI-4","ap":12,"items":["act12d0_token_components_rep_1","30032","30012"]},"act12d0_05":{"name":"各有所长","code":"RI-5","ap":15,"items":["act12d0_token_components_rep_1","30042","30062"]},"act12d0_06":{"name":"邂逅","code":"RI-6","ap":15,"items":["act12d0_token_components_rep_1","30013"]},"act12d0_07":{"name":"有客先来","code":"RI-7","ap":18,"items":["act12d0_token_components_rep_1","30023"]},"act12d0_08":{"name":"嘉维尔之拳","code":"RI-8","ap":18,"items":["act12d0_token_components_rep_1","30103"]},"act11d0_01":{"name":"缄默不言","code":"TW-1","ap":9,"items":["act11d0_token_currency_rep_1","30021","30061"]},"act11d0_02":{"name":"叛乱前哨","code":"TW-2","ap":9,"items":["act11d0_token_currency_rep_1","30031","30051"]},"act11d0_03":{"name":"高塔烟火","code":"TW-3","ap":12,"items":["act11d0_token_currency_rep_1","30041","30011"]},"act11d0_04":{"name":"复仇之魂","code":"TW-4","ap":12,"items":["act11d0_token_currency_rep_1","30032","30012"]},"act11d0_05":{"name":"冬灵挽歌","code":"TW-5","ap":15,"items":["act11d0_token_currency_rep_1","30052","30062"]},"act11d0_06":{"name":"怒意漫延","code":"TW-6","ap":15,"items":["act11d0_token_currency_rep_1","31023"]},"act11d0_07":{"name":"群峦崩塌","code":"TW-7","ap":18,"items":["act11d0_token_currency_rep_1","30053"]},"act11d0_08":{"name":"月光沉沦","code":"TW-8","ap":18,"items":["act11d0_token_currency_rep_1","30093"]},"act10d5_01":{"name":"四面埋伏","code":"SV-1","ap":6,"items":["act10d5_token_biscuit","30021"]},"act10d5_02":{"name":"平行线","code":"SV-2","ap":9,"items":["act10d5_token_biscuit","30011"]},"act10d5_03":{"name":"浪潮","code":"SV-3","ap":9,"items":["act10d5_token_biscuit","30052"]},"act10d5_04":{"name":"百米冲刺","code":"SV-4","ap":12,"items":["act10d5_token_biscuit","30042"]},"act10d5_05":{"name":"突破口","code":"SV-5","ap":15,"items":["act10d5_token_biscuit","30033"]},"act10d5_06":{"name":"衣衫褴褛","code":"SV-6","ap":15,"items":["act10d5_token_biscuit","30043"]},"act10d5_07":{"name":"空中来客","code":"SV-7","ap":18,"items":["act10d5_token_biscuit","31013"]},"act9d0_01":{"name":"埋藏","code":"DM-1","ap":9,"items":["act9d0_token_dogTag_rep_1","30021","30011"]},"act9d0_02":{"name":"偶然","code":"DM-2","ap":9,"items":["act9d0_token_dogTag_rep_1","30031","30061"]},"act9d0_03":{"name":"挤压","code":"DM-3","ap":12,"items":["act9d0_token_dogTag_rep_1","30041","30051"]},"act9d0_04":{"name":"进军","code":"DM-4","ap":12,"items":["act9d0_token_dogTag_rep_1","30012","30042"]},"act9d0_05":{"name":"旗帜","code":"DM-5","ap":15,"items":["act9d0_token_dogTag_rep_1","30022","30062"]},"act9d0_06":{"name":"远遁","code":"DM-6","ap":15,"items":["act9d0_token_dogTag_rep_1","30023"]},"act9d0_07":{"name":"龟裂","code":"DM-7","ap":18,"items":["act9d0_token_dogTag_rep_1","30073"]},"act9d0_08":{"name":"离散","code":"DM-8","ap":18,"items":["act9d0_token_dogTag_rep_1","30043"]},"act7d5_01":{"name":"捷径","code":"SA-1","ap":6,"items":["act7d5_point_coupon","30061"]},"act7d5_02":{"name":"交叉口","code":"SA-2","ap":9,"items":["act7d5_point_coupon","30051"]},"act7d5_03":{"name":"峡道","code":"SA-3","ap":12,"items":["act7d5_point_coupon","30032"]},"act7d5_04":{"name":"四面楚歌","code":"SA-4","ap":15,"items":["act7d5_point_coupon","30042"]},"act7d5_05":{"name":"因地制宜","code":"SA-5","ap":18,"items":["act7d5_point_coupon","30073"]},"act7d5_06":{"name":"福祸相依","code":"SA-6","ap":18,"items":["act7d5_point_coupon","31023"]},"act6d5_01":{"name":"喜从天降","code":"AF-1","ap":6,"items":["act6d5_point_firecracker","30031"]},"act6d5_02":{"name":"福禄临门","code":"AF-2","ap":9,"items":["act6d5_point_firecracker","30041"]},"act6d5_03":{"name":"新年扫除","code":"AF-3","ap":12,"items":["act6d5_point_firecracker","30012"]},"act6d5_04":{"name":"故友重逢","code":"AF-4","ap":12,"items":["act6d5_point_firecracker","30022"]},"act6d5_05":{"name":"润物无声","code":"AF-5","ap":15,"items":["act6d5_point_firecracker","30062"]},"act6d5_06":{"name":"三折优惠","code":"AF-6","ap":15,"items":["act6d5_point_firecracker","30053"]},"act6d5_07":{"name":"辞旧迎新","code":"AF-7","ap":15,"items":["act6d5_point_firecracker","30073"]},"act6d5_08":{"name":"恭贺新禧","code":"AF-8","ap":18,"items":["act6d5_point_firecracker","30093"]},"act5d0_01":{"name":"6:44P.M.","code":"CB-1","ap":10,"items":["4001"]},"act5d0_02":{"name":"7:15P.M.","code":"CB-2","ap":10,"items":["2002"]},"act5d0_03":{"name":"7:22P.M.","code":"CB-3","ap":10,"items":["4001"]},"act5d0_04":{"name":"7:59P.M.","code":"CB-4","ap":10,"items":["2002"]},"act5d0_05":{"name":"8:31P.M.","code":"CB-5","ap":15,"items":["4001"]},"act5d0_06":{"name":"10:26P.M.","code":"CB-6","ap":15,"items":["2002"]},"act5d0_07":{"name":"11:08P.M.","code":"CB-7","ap":15,"items":["4001"]},"act5d0_08":{"name":"11:41P.M.","code":"CB-8","ap":15,"items":["2002"]},"act5d0_09":{"name":"0:01A.M.","code":"CB-9","ap":20,"items":["4001"]},"act5d0_10":{"name":"1:11A.M.","code":"CB-10","ap":20,"items":["2003","2002"]},"act4d0_01":{"name":"引爆","code":"SW-EV-1","ap":6,"items":["act4d0_intelligencepoint","30021"]},"act4d0_02":{"name":"聚集","code":"SW-EV-2","ap":9,"items":["act4d0_intelligencepoint","30011"]},"act4d0_03":{"name":"斑驳","code":"SW-EV-3","ap":12,"items":["act4d0_intelligencepoint","30052"]},"act4d0_04":{"name":"狡诈戏法","code":"SW-EV-4","ap":15,"items":["act4d0_intelligencepoint","30042"]},"act4d0_05":{"name":"延时毁灭","code":"SW-EV-5","ap":18,"items":["act4d0_intelligencepoint","30033"]},"a003_01":{"name":"火山制造","code":"OF-1","ap":12,"items":["token_Obsidian_rep_1","et_ObsidianPass_rep_1"]},"a003_02":{"name":"演出继续","code":"OF-2","ap":16,"items":["token_Obsidian_rep_1","et_ObsidianPass_rep_1"]},"a003_03":{"name":"竞走赛","code":"OF-3","ap":24,"items":["token_Obsidian_rep_1","et_ObsidianPass_rep_1"]},"a003_04":{"name":"他是将军","code":"OF-4","ap":24,"items":["token_Obsidian_rep_1"]},"a003_05":{"name":"别阻止我","code":"OF-5","ap":24,"items":["et_ObsidianPass_rep_1"]},"a003_06":{"name":"杀手女皇","code":"OF-6","ap":28,"items":["token_Obsidian_rep_1","et_ObsidianPass_rep_1"]},"a003_07":{"name":"一锤定音","code":"OF-7","ap":30,"items":["token_Obsidian_rep_1"]},"a003_08":{"name":"汐斯塔狂想曲","code":"OF-8","ap":30,"items":["et_ObsidianPass_rep_1"]},"a001_01":{"name":"日正当中","code":"GT-1","ap":9,"items":["act1d0_token_gold_rep_1","30031","30011"]},"a001_02":{"name":"察言观色","code":"GT-2","ap":9,"items":["act1d0_token_gold_rep_1","30021","30061"]},"a001_03":{"name":"意外之旅","code":"GT-3","ap":12,"items":["act1d0_token_gold_rep_1","30042","30022"]},"a001_04":{"name":"污点证人","code":"GT-4","ap":12,"items":["act1d0_token_gold_rep_1","30052","30032"]},"a001_05":{"name":"各抒己见","code":"GT-5","ap":15,"items":["act1d0_token_gold_rep_1","30073"]},"a001_06":{"name":"黄金三角","code":"GT-6","ap":15,"items":["act1d0_token_gold_rep_1","30093"]}} -------------------------------------------------------------------------------- /public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/closure-studio/arkHost-frontend/c7567ab76cfcd51fa98ca560adebd4efe36913c8/public/favicon.ico -------------------------------------------------------------------------------- /src/App.vue: -------------------------------------------------------------------------------- 1 | 6 | 29 | -------------------------------------------------------------------------------- /src/assets/index.css: -------------------------------------------------------------------------------- 1 | @tailwind base; 2 | @tailwind components; 3 | @tailwind utilities; 4 | @layer utilities { 5 | .ark-pro { 6 | background-image: repeating-linear-gradient(-45deg,#262626,#262626 .2rem,hsl(0deg 0% 0% / 0%) 0,hsl(0deg 0% 0% / 0%) .4rem) 7 | } 8 | .ark-cardItem { 9 | @apply hover:-translate-y-2 hover:border-info duration-500 hover:ark-pro 10 | } 11 | .shadow-md { 12 | box-shadow: 0 3px 3px -2px rgba(0,0,0,.2),0 3px 4px 0 rgba(0,0,0,.14),0 1px 8px 0 rgba(0,0,0,.12) 13 | } 14 | .shadow-lg { 15 | box-shadow: 0 3px 5px -1px rgba(0,0,0,.2),0 6px 10px 0 rgba(0,0,0,.14),0 1px 18px 0 rgba(0,0,0,.12) 16 | } 17 | .shadow-xl { 18 | box-shadow: 0 5px 6px -3px rgba(0,0,0,.2),0 9px 12px 1px rgba(0,0,0,.14),0 3px 16px 2px rgba(0,0,0,.12) 19 | } 20 | .shadow-3xl { 21 | box-shadow: 0 11px 15px -7px rgba(0,0,0,.2),0 24px 38px 3px rgba(0,0,0,.14),0 9px 46px 8px rgba(0,0,0,.12) 22 | } 23 | .ark-card { 24 | @apply card w-full bg-base-100 shadow-lg p-5 rounded-md h-fit 25 | } 26 | .float-input { 27 | @apply input px-2.5 pb-3.5 pt-4 w-full text-xl text-info bg-transparent rounded-lg border-gray-400 focus:border-info focus:outline-none focus:ring-0 28 | } 29 | .float-input-text { 30 | @apply absolute text-xl text-gray-400 duration-200 -translate-y-4 31 | scale-75 top-1.5 z-10 origin-[0] bg-base-100 ark-pro px-1 32 | peer-focus:text-info peer-placeholder-shown:scale-100 33 | peer-placeholder-shown:-translate-y-1/2 peer-placeholder-shown:top-1/2 peer-focus:top-1 34 | peer-focus:scale-90 peer-focus:-translate-y-4 left-2 35 | } 36 | .ark-mapItem { 37 | width: 10rem; 38 | right: -3.5rem; 39 | bottom: -3.5rem; 40 | transform: rotate(-20deg); 41 | opacity: 0.2; 42 | color: hsl(var(--p) / var(--tw-bg-opacity)); 43 | } 44 | .ark-mapItem-md { 45 | width: 13rem; 46 | right: -5rem; 47 | bottom: -5rem; 48 | } 49 | .ark-mapItem-lg { 50 | width: 15rem; 51 | right: -6rem; 52 | bottom: -6rem; 53 | } 54 | .ark-mapItem-click { 55 | width: 10rem; 56 | right: -2.4rem; 57 | bottom: -3rem; 58 | transform: rotate(-24deg); 59 | opacity: 0.2; 60 | color: hsl(var(--p) / var(--tw-bg-opacity)); 61 | } 62 | .ark-mapItem-click-md { 63 | width: 12rem; 64 | right: -3rem; 65 | bottom: -3.5rem; 66 | } 67 | .ark-mapItem-click-lg { 68 | width: 15rem; 69 | right: -4rem; 70 | bottom: -4.5rem; 71 | } 72 | } -------------------------------------------------------------------------------- /src/assets/style.css: -------------------------------------------------------------------------------- 1 | ::-webkit-scrollbar { 2 | width: 6px; 3 | height: 10px; 4 | } 5 | ::-webkit-scrollbar-track:hover { 6 | background: rgba(79, 111, 127, 0.05); 7 | } 8 | ::-webkit-scrollbar-thumb { 9 | background-color: #b4c7d0; 10 | 11 | background-clip: padding-box; 12 | border-radius: 5px; 13 | } 14 | ::-webkit-scrollbar-thumb:hover { 15 | background-color: #4f6f7f; 16 | } 17 | ::-webkit-scrollbar-thumb { 18 | background-color: #3a5169; 19 | } 20 | input:-webkit-autofill { 21 | -webkit-box-shadow: 0 0 0 100px rgb(33, 33, 33) inset !important; 22 | -webkit-text-fill-color: #fff !important; 23 | } 24 | td, th { 25 | white-space: nowrap !important; 26 | @apply px-3 27 | } 28 | .nav-inactive { 29 | @apply border-gray-900 text-gray-500 hover:bg-gray-600 hover:bg-opacity-25 hover:text-gray-100; 30 | } 31 | .nav-active { 32 | @apply bg-gray-600 bg-opacity-25 text-gray-100 border-gray-100; 33 | } 34 | .nav-side { 35 | @apply fixed inset-y-0 left-0 z-30 w-64 transition duration-300 transform bg-gray-900 lg:translate-x-0 lg:static lg:inset-0; 36 | } 37 | .ark-input { 38 | @apply input border-primary w-full focus:outline-none focus:border-info hover:border-info; 39 | } 40 | .ark-grid { 41 | grid-template-columns: repeat(auto-fill, minmax(18rem, 1fr)) 42 | } 43 | .ark-itemGrid { 44 | grid-template-columns: repeat(auto-fill, minmax(4rem, 1fr)) 45 | } 46 | -------------------------------------------------------------------------------- /src/components/MapItem.vue: -------------------------------------------------------------------------------- 1 | 36 | -------------------------------------------------------------------------------- /src/components/element/Modal.vue: -------------------------------------------------------------------------------- 1 | 22 | 23 | -------------------------------------------------------------------------------- /src/components/element/Select.vue: -------------------------------------------------------------------------------- 1 | 72 | 73 | 99 | -------------------------------------------------------------------------------- /src/components/layout/BaseLayout.vue: -------------------------------------------------------------------------------- 1 | 15 | 19 | -------------------------------------------------------------------------------- /src/components/layout/Header.vue: -------------------------------------------------------------------------------- 1 | 54 | 55 | 74 | -------------------------------------------------------------------------------- /src/components/loading.vue: -------------------------------------------------------------------------------- 1 | 9 | -------------------------------------------------------------------------------- /src/env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | 3 | declare module "*.vue" { 4 | import type { DefineComponent } from "vue"; 5 | // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/ban-types 6 | const component: DefineComponent<{}, {}, any>; 7 | export default component; 8 | } 9 | -------------------------------------------------------------------------------- /src/main.ts: -------------------------------------------------------------------------------- 1 | import { createApp } from "vue"; 2 | import { createPinia } from "pinia"; 3 | import { persist } from "pinia-persists"; 4 | import { router } from "./router/router"; 5 | import VueClickAway from "vue3-click-away"; 6 | import service from "./plugins/axios"; 7 | import App from "./App.vue"; 8 | import "mosha-vue-toastify/dist/style.css"; 9 | import BaseLayout from "./components/layout/BaseLayout.vue"; 10 | import "./assets/index.css"; 11 | import "./assets/style.css"; 12 | import "/src/plugins/gt.js" 13 | 14 | const app = createApp(App); 15 | const pinia = createPinia(); 16 | pinia.use( 17 | persist({ 18 | prefix: "arkhost", 19 | }) 20 | ); 21 | app.use(VueClickAway); 22 | app.component("layout", BaseLayout); 23 | app.config.globalProperties.$axios = service; 24 | app.use(router).use(pinia).mount("#app"); 25 | -------------------------------------------------------------------------------- /src/plugins/axios.ts: -------------------------------------------------------------------------------- 1 | import axios from "axios"; 2 | import { createToast } from "mosha-vue-toastify"; 3 | import { userStore } from "../store/user"; 4 | import { useRouter } from "vue-router"; 5 | 6 | function FindBetterHost() { 7 | // define a array to store the host 8 | 9 | const apiHost : { [key: string]: number } = { 10 | 'https://api-a.arknights.host': -1, 11 | 'https://api-b.arknights.host': -1, 12 | 'https://api-c.arknights.host': -1, 13 | 'https://devapi.arknights.host':-1, 14 | } 15 | const path = '/Nodes'; 16 | const promiseArray = []; 17 | 18 | // go through the apiHost, apiHost is dict 19 | for (let key in apiHost) { 20 | // using axios and async to get the data 21 | const ping = async (url: string) => { 22 | try { 23 | let startTime = Date.now(); 24 | const response = await axios.get(url + path, { timeout: 2000 }); 25 | apiHost[url] = Date.now() - startTime; 26 | } catch (error) { 27 | console.error(error); 28 | } 29 | }; 30 | // push the promise to promiseArray 31 | promiseArray.push(ping(key)); 32 | } 33 | Promise.all(promiseArray).then(() => { 34 | // go through the apiHost, apiHost is dict 35 | // find the fastest host, ignore the host which is -1 36 | let fastestHost = ''; 37 | let fastestTime = 999999; 38 | for (let key in apiHost) { 39 | if (apiHost[key] != -1 && apiHost[key] < fastestTime) { 40 | fastestHost = key; 41 | fastestTime = apiHost[key]; 42 | } 43 | } 44 | // if the fastestHost is not empty, set the host to localStorage 45 | if (fastestHost != '') { 46 | localStorage.setItem('host', fastestHost); 47 | } 48 | }); 49 | } 50 | FindBetterHost() 51 | 52 | const service = axios.create({ 53 | baseURL: localStorage.getItem('host') || "https://devapi.arknights.host/", 54 | }); 55 | service.interceptors.response.use( 56 | (response) => { 57 | return response.data; 58 | }, 59 | (err) => { 60 | if (err.response.status == 401) { 61 | createToast("登录过期,请重新登录", { 62 | showIcon: true, 63 | type: "danger", 64 | transition: "bounce", 65 | }); 66 | userStore().logout(); 67 | const router = useRouter(); 68 | router.push({ path: "/login" }).catch(() => { }); 69 | return; 70 | } 71 | createToast("网络故障,请稍后重试", { 72 | showIcon: true, 73 | type: "danger", 74 | transition: "bounce", 75 | }); 76 | console.log(err); 77 | } 78 | ); 79 | function post(url: string, params: object) { 80 | return new Promise((resolve) => { 81 | service.post(url, params).then((res) => { 82 | resolve(res); 83 | }); 84 | }); 85 | } 86 | function get(url: string) { 87 | return new Promise((resolve) => { 88 | service.get(url).then((res) => { 89 | resolve(res); 90 | }); 91 | }); 92 | } 93 | function del(url: string, params: any) { 94 | return new Promise((resolve) => { 95 | service.delete(url, { data: params }).then((res) => { 96 | resolve(res); 97 | }); 98 | }); 99 | } 100 | function load(fileName: string) { 101 | return new Promise((resolve) => { 102 | axios.get(`/data/${fileName}.json`).then((res) => { 103 | resolve(res.data); 104 | }); 105 | }); 106 | } 107 | export default service; 108 | export const apiRegister = (params: any) => post("Auth", params); // Register 109 | export const apiLogin = (params: string) => get(`Auth/${params}`); // Login 110 | export const apiReLogin = (token: string) => get(`Auth/${token}`); // ReLogin 111 | export const apiCron = () => get("Nodes"); // Cron 112 | export const apiAnnounce = () => get("Common/Announcement"); // Announce 113 | export const apiAddGame = (params: any) => post("Game", params); // GameCreate 114 | export const apiGameLogin = (params: any) => post("Game/Login", params); // GameLogin 115 | export const apiGameLog = (account: string, platform: string) => get(`Game/Log/${account}/${platform}/0`); // GameLog 116 | export const apiListGame = () => get("Game"); // GameList 117 | export const apiDelGame = (params: any) => del("Game", params); // Del 118 | export const apiScreen = (account: string, platform: string) => 119 | get(`Game/Screenshot/${account}/${platform}`); // GetScreen 120 | export const apiDetails = (account: string, platform: string) => 121 | get(`Game/${account}/${platform}`); // GetDetails 122 | export const apiConf = (account: string, platform: string) => 123 | get(`Game/Config/${account}/${platform}`); // GetConf 124 | export const apiConfEdit = (account: string, platform: number, params: GameCfg) => 125 | post(`Game/Config/${account}/${platform}`, params); // UpdateConfig 126 | export const apiLog = (account: string, platform: number, index: string) => 127 | get(`Log/${account}/${platform}/${index}`); // Log 128 | export const apiScreenshots = (account: string, platform: string) => 129 | get(`Game/Screenshots/${account}/${platform}`); // GetScreen 130 | export const apiGetMapList = () => get("System/Maps"); // GetMapList 131 | 132 | export const apiGetLog = () => get("System/LogFile"); // GetLog 133 | export const apiGameDataUpdate = () => post("System/GameDataUpdate", {}); // UpdateData 134 | export const apiEditAnnounce = (params: any) => 135 | post("Common/Announcement", params); // EditAnnounce 136 | export const apiStatus = () => get("System/Status"); // Status 137 | export const TableStage = () => load("Stage"); 138 | export const TableStage_ = () => load("stage_table"); 139 | export const TableItems_ = () => load("item_table"); 140 | export const TableItems = () => load("Items"); 141 | 142 | export const adminResetPasswd = (account: string, password: string) => 143 | post(`System/Password/${account}/${password}`, {}); // ResetPasswd 144 | export const adminBan = (account: string, code: string) => 145 | post(`System/Account/Status/${account}/${code}`, {}); // Ban 146 | export const apiGeetestSet = (account: string, platform: number, params: any) => post(`Game/Captcha/${account}/${platform}`, params) // Geetest 147 | export const apiReqOCR = (account: string, platform: string) => post(`Game/Ocr/${account}/${platform}`, {}) // OCR 148 | export const apiBingQQ = () => get('Auth/QQBind') // 绑定 QQ 149 | 150 | -------------------------------------------------------------------------------- /src/plugins/common.ts: -------------------------------------------------------------------------------- 1 | import { ref } from "vue"; 2 | export const isLarge = ref(false); 3 | -------------------------------------------------------------------------------- /src/plugins/function.js: -------------------------------------------------------------------------------- 1 | export function formatDate(value, details = false) { 2 | let date = new Date(value * 1000); 3 | let y = date.getFullYear().toString(), 4 | m = date.getMonth() + 1, 5 | d = date.getDate(); 6 | let h, min, sec; 7 | if (details) { 8 | h = date.getHours(); 9 | min = date.getMinutes(); 10 | sec = date.getSeconds(); 11 | if (h < 10) h = "0" + h; 12 | if (min < 10) min = "0" + min; 13 | if (sec < 10) sec = "0" + sec; 14 | } 15 | if (m < 10) m = "0" + m; 16 | if (d < 10) d = "0" + d; 17 | let str = y + "-" + m + "-" + d + " "; 18 | return details ? str + h + ":" + min + ":" + sec : str; 19 | } 20 | 21 | export function validate(...args) { 22 | for (let k of args) { 23 | console.log(k) 24 | if (k.length === 0) { 25 | return false; 26 | } 27 | } 28 | return true; 29 | } 30 | -------------------------------------------------------------------------------- /src/plugins/gt.js: -------------------------------------------------------------------------------- 1 | "v0.4.8 Geetest Inc."; 2 | 3 | (function (window) { 4 | "use strict"; 5 | if (typeof window === 'undefined') { 6 | throw new Error('Geetest requires browser environment'); 7 | } 8 | 9 | var document = window.document; 10 | var Math = window.Math; 11 | var head = document.getElementsByTagName("head")[0]; 12 | 13 | function _Object(obj) { 14 | this._obj = obj; 15 | } 16 | 17 | _Object.prototype = { 18 | _each: function (process) { 19 | var _obj = this._obj; 20 | for (var k in _obj) { 21 | if (_obj.hasOwnProperty(k)) { 22 | process(k, _obj[k]); 23 | } 24 | } 25 | return this; 26 | } 27 | }; 28 | 29 | function Config(config) { 30 | var self = this; 31 | new _Object(config)._each(function (key, value) { 32 | self[key] = value; 33 | }); 34 | } 35 | 36 | Config.prototype = { 37 | api_server: 'api.geetest.com', 38 | protocol: 'http://', 39 | typePath: '/gettype.php', 40 | fallback_config: { 41 | slide: { 42 | static_servers: ["static.geetest.com", "dn-staticdown.qbox.me"], 43 | type: 'slide', 44 | slide: '/static/js/geetest.0.0.0.js' 45 | }, 46 | fullpage: { 47 | static_servers: ["static.geetest.com", "dn-staticdown.qbox.me"], 48 | type: 'fullpage', 49 | fullpage: '/static/js/fullpage.0.0.0.js' 50 | } 51 | }, 52 | _get_fallback_config: function () { 53 | var self = this; 54 | if (isString(self.type)) { 55 | return self.fallback_config[self.type]; 56 | } else if (self.new_captcha) { 57 | return self.fallback_config.fullpage; 58 | } else { 59 | return self.fallback_config.slide; 60 | } 61 | }, 62 | _extend: function (obj) { 63 | var self = this; 64 | new _Object(obj)._each(function (key, value) { 65 | self[key] = value; 66 | }) 67 | } 68 | }; 69 | var isNumber = function (value) { 70 | return (typeof value === 'number'); 71 | }; 72 | var isString = function (value) { 73 | return (typeof value === 'string'); 74 | }; 75 | var isBoolean = function (value) { 76 | return (typeof value === 'boolean'); 77 | }; 78 | var isObject = function (value) { 79 | return (typeof value === 'object' && value !== null); 80 | }; 81 | var isFunction = function (value) { 82 | return (typeof value === 'function'); 83 | }; 84 | var MOBILE = /Mobi/i.test(navigator.userAgent); 85 | var pt = MOBILE ? 3 : 0; 86 | 87 | var callbacks = {}; 88 | var status = {}; 89 | 90 | var nowDate = function () { 91 | var date = new Date(); 92 | var year = date.getFullYear(); 93 | var month = date.getMonth() + 1; 94 | var day = date.getDate(); 95 | var hours = date.getHours(); 96 | var minutes = date.getMinutes(); 97 | var seconds = date.getSeconds(); 98 | 99 | if (month >= 1 && month <= 9) { 100 | month = '0' + month; 101 | } 102 | if (day >= 0 && day <= 9) { 103 | day = '0' + day; 104 | } 105 | if (hours >= 0 && hours <= 9) { 106 | hours = '0' + hours; 107 | } 108 | if (minutes >= 0 && minutes <= 9) { 109 | minutes = '0' + minutes; 110 | } 111 | if (seconds >= 0 && seconds <= 9) { 112 | seconds = '0' + seconds; 113 | } 114 | var currentdate = year + '-' + month + '-' + day + " " + hours + ":" + minutes + ":" + seconds; 115 | return currentdate; 116 | } 117 | 118 | var random = function () { 119 | return parseInt(Math.random() * 10000) + (new Date()).valueOf(); 120 | }; 121 | 122 | var loadScript = function (url, cb) { 123 | var script = document.createElement("script"); 124 | script.charset = "UTF-8"; 125 | script.async = true; 126 | 127 | // 对geetest的静态资源添加 crossOrigin 128 | if ( /static\.geetest\.com/g.test(url)) { 129 | script.crossOrigin = "anonymous"; 130 | } 131 | 132 | script.onerror = function () { 133 | cb(true); 134 | }; 135 | var loaded = false; 136 | script.onload = script.onreadystatechange = function () { 137 | if (!loaded && 138 | (!script.readyState || 139 | "loaded" === script.readyState || 140 | "complete" === script.readyState)) { 141 | 142 | loaded = true; 143 | setTimeout(function () { 144 | cb(false); 145 | }, 0); 146 | } 147 | }; 148 | script.src = url; 149 | head.appendChild(script); 150 | }; 151 | 152 | var normalizeDomain = function (domain) { 153 | // special domain: uems.sysu.edu.cn/jwxt/geetest/ 154 | // return domain.replace(/^https?:\/\/|\/.*$/g, ''); uems.sysu.edu.cn 155 | return domain.replace(/^https?:\/\/|\/$/g, ''); // uems.sysu.edu.cn/jwxt/geetest 156 | }; 157 | var normalizePath = function (path) { 158 | path = path.replace(/\/+/g, '/'); 159 | if (path.indexOf('/') !== 0) { 160 | path = '/' + path; 161 | } 162 | return path; 163 | }; 164 | var normalizeQuery = function (query) { 165 | if (!query) { 166 | return ''; 167 | } 168 | var q = '?'; 169 | new _Object(query)._each(function (key, value) { 170 | if (isString(value) || isNumber(value) || isBoolean(value)) { 171 | q = q + encodeURIComponent(key) + '=' + encodeURIComponent(value) + '&'; 172 | } 173 | }); 174 | if (q === '?') { 175 | q = ''; 176 | } 177 | return q.replace(/&$/, ''); 178 | }; 179 | var makeURL = function (protocol, domain, path, query) { 180 | domain = normalizeDomain(domain); 181 | 182 | var url = normalizePath(path) + normalizeQuery(query); 183 | if (domain) { 184 | url = protocol + domain + url; 185 | } 186 | 187 | return url; 188 | }; 189 | 190 | var load = function (config, send, protocol, domains, path, query, cb) { 191 | var tryRequest = function (at) { 192 | 193 | var url = makeURL(protocol, domains[at], path, query); 194 | loadScript(url, function (err) { 195 | if (err) { 196 | if (at >= domains.length - 1) { 197 | cb(true); 198 | // report gettype error 199 | if (send) { 200 | config.error_code = 508; 201 | var url = protocol + domains[at] + path; 202 | reportError(config, url); 203 | } 204 | } else { 205 | tryRequest(at + 1); 206 | } 207 | } else { 208 | cb(false); 209 | } 210 | }); 211 | }; 212 | tryRequest(0); 213 | }; 214 | 215 | 216 | var jsonp = function (domains, path, config, callback) { 217 | if (isObject(config.getLib)) { 218 | config._extend(config.getLib); 219 | callback(config); 220 | return; 221 | } 222 | if (config.offline) { 223 | callback(config._get_fallback_config()); 224 | return; 225 | } 226 | 227 | var cb = "geetest_" + random(); 228 | window[cb] = function (data) { 229 | if (data.status == 'success') { 230 | callback(data.data); 231 | } else if (!data.status) { 232 | callback(data); 233 | } else { 234 | callback(config._get_fallback_config()); 235 | } 236 | window[cb] = undefined; 237 | try { 238 | delete window[cb]; 239 | } catch (e) { 240 | } 241 | }; 242 | load(config, true, config.protocol, domains, path, { 243 | gt: config.gt, 244 | callback: cb 245 | }, function (err) { 246 | if (err) { 247 | callback(config._get_fallback_config()); 248 | } 249 | }); 250 | }; 251 | 252 | var reportError = function (config, url) { 253 | load(config, false, config.protocol, ['monitor.geetest.com'], '/monitor/send', { 254 | time: nowDate(), 255 | captcha_id: config.gt, 256 | challenge: config.challenge, 257 | pt: pt, 258 | exception_url: url, 259 | error_code: config.error_code 260 | }, function (err) {}) 261 | } 262 | 263 | var throwError = function (errorType, config) { 264 | var errors = { 265 | networkError: '网络错误', 266 | gtTypeError: 'gt字段不是字符串类型' 267 | }; 268 | if (typeof config.onError === 'function') { 269 | config.onError(errors[errorType]); 270 | } else { 271 | throw new Error(errors[errorType]); 272 | } 273 | }; 274 | 275 | var detect = function () { 276 | return window.Geetest || document.getElementById("gt_lib"); 277 | }; 278 | 279 | if (detect()) { 280 | status.slide = "loaded"; 281 | } 282 | 283 | window.initGeetest = function (userConfig, callback, vm) { 284 | var config = new Config(userConfig); 285 | if (userConfig.https) { 286 | config.protocol = 'https://'; 287 | } else if (!userConfig.protocol) { 288 | config.protocol = window.location.protocol + '//'; 289 | } 290 | if(userConfig.gt){ 291 | window.GeeGT = userConfig.gt 292 | } 293 | 294 | if(userConfig.challenge){ 295 | window.GeeChallenge = userConfig.challenge 296 | } 297 | 298 | if (isObject(userConfig.getType)) { 299 | config._extend(userConfig.getType); 300 | } 301 | jsonp([config.api_server || config.apiserver], config.typePath, config, function (newConfig) { 302 | var type = newConfig.type; 303 | var init = function () { 304 | config._extend(newConfig); 305 | callback(new window.Geetest(config), vm); 306 | }; 307 | 308 | callbacks[type] = callbacks[type] || []; 309 | var s = status[type] || 'init'; 310 | if (s === 'init') { 311 | status[type] = 'loading'; 312 | 313 | callbacks[type].push(init); 314 | 315 | load(config, true, config.protocol, newConfig.static_servers || newConfig.domains, newConfig[type] || newConfig.path, null, function (err) { 316 | if (err) { 317 | status[type] = 'fail'; 318 | throwError('networkError', config); 319 | } else { 320 | status[type] = 'loaded'; 321 | var cbs = callbacks[type]; 322 | for (var i = 0, len = cbs.length; i < len; i = i + 1) { 323 | var cb = cbs[i]; 324 | if (isFunction(cb)) { 325 | cb(); 326 | } 327 | } 328 | callbacks[type] = []; 329 | } 330 | }); 331 | } else if (s === "loaded") { 332 | init(); 333 | } else if (s === "fail") { 334 | throwError('networkError', config); 335 | } else if (s === "loading") { 336 | callbacks[type].push(init); 337 | } 338 | }); 339 | 340 | }; 341 | 342 | 343 | })(window); 344 | 345 | -------------------------------------------------------------------------------- /src/plugins/theme.ts: -------------------------------------------------------------------------------- 1 | export function load() { 2 | const theme = localStorage.getItem("theme") || "halloween"; 3 | document.documentElement.setAttribute("data-theme", theme); 4 | } 5 | export function set(name: string) { 6 | localStorage.setItem("theme", name); 7 | document.documentElement.setAttribute("data-theme", name); 8 | } 9 | export function get() { 10 | return localStorage.getItem("theme"); 11 | } 12 | -------------------------------------------------------------------------------- /src/router/router.ts: -------------------------------------------------------------------------------- 1 | import { createRouter, createWebHistory } from "vue-router"; 2 | import { createToast } from "mosha-vue-toastify"; 3 | 4 | export const router = createRouter({ 5 | history: createWebHistory(), 6 | routes: [ 7 | { 8 | path: "/", 9 | name: "", 10 | component: () => import("../views/Landing.vue"), 11 | meta: { title: "平台首页", noAuth: true }, 12 | },{ 13 | path: "/Login", 14 | name: "Login", 15 | component: () => import("../views/Login.vue"), 16 | meta: { title: "账号登录", noAuth: true }, 17 | },{ 18 | path: "/home", 19 | name: "home", 20 | component: () => import("../views/Home.vue"), 21 | meta: { title: "主页" }, 22 | },{ 23 | path: "/details/:account/:platform", 24 | name: "details", 25 | component: () => import("../views/Details.vue"), 26 | meta: { title: "账号信息" }, 27 | },{ 28 | path: "/Register", 29 | name: "Register", 30 | component: () => import("../views/Register.vue"), 31 | meta: { title: "账号注册", noAuth: true }, 32 | },{ 33 | path: "/test", 34 | name: "test", 35 | component: () => import("../views/test.vue"), 36 | meta: { title: "test", noAuth: true }, 37 | },{ 38 | path: "/cron", 39 | name: "cron", 40 | component: () => import("../views/Cron.vue"), 41 | meta: { title: "状态监控"}, 42 | },{ 43 | path: "/admin", 44 | name: "admin", 45 | component: () => import("../views/Admin.vue"), 46 | meta: { title: "后台管理"}, 47 | },{ 48 | path: "/dashboard/:account/:platform", 49 | name: "dashboard", 50 | component: () => import("../views/DashBoard.vue"), 51 | meta: { title: "仓库统计V2"}, 52 | },{ 53 | path: "/account", 54 | name: "account", 55 | component: () => import("../views/Account.vue"), 56 | meta: { title: "账号认证"}, 57 | } 58 | ], 59 | }); 60 | router.beforeEach((to, from, next) => { 61 | const udata = JSON.parse(localStorage.getItem("arkhost_user") || "{}"); 62 | if ( 63 | to.matched.some((record) => !record.meta.noAuth) && 64 | !udata?.["user"]?.["isLogin"] 65 | ) { 66 | createToast("请先登录", { 67 | showIcon: true, 68 | type: "info", 69 | transition: "bounce", 70 | }); 71 | next({ 72 | path: "/login", 73 | query: { redirect: to.fullPath }, 74 | }); 75 | } 76 | next(); 77 | }); 78 | -------------------------------------------------------------------------------- /src/store/config.ts: -------------------------------------------------------------------------------- 1 | import { defineStore } from "pinia"; 2 | 3 | export const configStore = defineStore("config", { 4 | state: () => ({ 5 | config: { 6 | url: "", 7 | }, 8 | }), 9 | actions: { 10 | setUrl(url: string) { 11 | this.config.url = url; 12 | }, 13 | }, 14 | }); 15 | -------------------------------------------------------------------------------- /src/store/data.ts: -------------------------------------------------------------------------------- 1 | import {ref} from "vue"; 2 | import {TableItems, TableItems_, TableStage, TableStage_} from "../plugins/axios"; 3 | 4 | const stageTable = ref({}) 5 | const items = ref({} as Items) 6 | 7 | TableStage().then((resp: any) => { 8 | stageTable.value = resp 9 | }) 10 | // TableStage_().then((resp: any) => { 11 | // for (let k in resp.stages) { 12 | // if (!k.includes('camp') && !k.includes('#f#') && !k.includes('bossrush') && !k.includes('act1lock_a') && !k.includes('act17d7_01') && !k.includes('lt_') && !k.includes('tr_')) { 13 | // if (resp.stages[k]['apCost'] > 0) { 14 | // let items = [] 15 | // for (let item of resp.stages[k]['stageDropInfo']['displayRewards']) { 16 | // if (item['dropType'] === 2 || item['dropType'] === 3) { 17 | // items.push(item['id']) 18 | // } 19 | // } 20 | // if (items.length > 0) { 21 | // stageTable.value[k] = { 22 | // name: resp.stages[k]['name'], 23 | // code: resp.stages[k]['code'], 24 | // ap: resp.stages[k]['apCost'], 25 | // items: items 26 | // } 27 | // } 28 | // } 29 | // } 30 | // } 31 | // console.log(JSON.stringify(stageTable.value)) 32 | // }) 33 | 34 | TableItems().then((resp: any) => { 35 | items.value = resp 36 | }) 37 | // TableItems_().then((resp: any) => { 38 | // let items = {} as any 39 | // for (let k in resp.items) { 40 | // items[k] = { 41 | // name: resp.items[k]['name'], 42 | // icon: resp.items[k]['iconId'] 43 | // } 44 | // } 45 | // console.log(JSON.stringify(items)) 46 | // }) 47 | export { stageTable, items } -------------------------------------------------------------------------------- /src/store/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/closure-studio/arkHost-frontend/c7567ab76cfcd51fa98ca560adebd4efe36913c8/src/store/index.ts -------------------------------------------------------------------------------- /src/store/user.ts: -------------------------------------------------------------------------------- 1 | import { defineStore } from "pinia"; 2 | 3 | export const userStore = defineStore("user", { 4 | state: () => ({ 5 | user: { 6 | isLogin: false, 7 | token: "", 8 | }, 9 | }), 10 | actions: { 11 | login(token: string) { 12 | this.user.isLogin = true; 13 | this.user.token = token; 14 | }, 15 | logout() { 16 | this.$reset(); 17 | }, 18 | }, 19 | }); 20 | -------------------------------------------------------------------------------- /src/type.ts: -------------------------------------------------------------------------------- 1 | // @ts-ignore 2 | interface GameCfg { 3 | isAutoBattle: boolean, 4 | isStopped: boolean, 5 | keepingAP: number, 6 | mapId: string, 7 | battleMaps: string[], 8 | recruitIgnoreRobot: boolean, 9 | recruitReserve: number, 10 | enableBuildingArrange: boolean 11 | } 12 | interface GameInfo { 13 | config: { 14 | account: string 15 | platform: number 16 | isPause: boolean 17 | }, 18 | status: { 19 | code: number 20 | text: string 21 | }, 22 | captcha_info: { 23 | captcha_type: string, 24 | challenge: string, 25 | created: number, 26 | gt: string 27 | }, 28 | game_config: GameCfg 29 | } 30 | interface Details { 31 | consumable: object, 32 | inventory: object, 33 | status: { 34 | androidDiamond: number, 35 | ap: number, 36 | avatar: { 37 | type: string, 38 | id: string 39 | }, 40 | diamondShard: number, 41 | gachaTicket: number, 42 | gold: number, 43 | lastApAddTime: number, 44 | lastOnlineTs: number, 45 | level: number, 46 | maxAp: number, 47 | nickName: string, 48 | recruitLicense: number, 49 | secretary: string, 50 | secretarySkinId: string, 51 | socialPoint: number, 52 | tenGachaTicket: number, 53 | }, 54 | troop: { 55 | chars: { 56 | [key: string]: { 57 | charId: string, 58 | currentEquip: null, 59 | currentTmpl: string, 60 | defaultSkillIndex: number, 61 | equip: {} 62 | evolvePhase: number, 63 | exp: number, 64 | favorPoint: number, 65 | gainTime: number, 66 | instId: number, 67 | level: number, 68 | mainSkillLvl: number, 69 | potentialRank: number, 70 | skills: [] 71 | skin: string 72 | } 73 | }, 74 | squads: object, 75 | } 76 | lastFreshTs: number 77 | } 78 | interface Log{ 79 | info: string 80 | ts: number 81 | } 82 | interface Stage { 83 | id: string 84 | name: string 85 | code: string 86 | ap: number 87 | items: number[] 88 | } 89 | interface Items { 90 | name: string 91 | icon: string 92 | } 93 | interface Node { 94 | name: string 95 | number: number, 96 | cpu: number 97 | cpuAvg: number 98 | update_UTCTime: number 99 | boot_UTCTime: number 100 | } -------------------------------------------------------------------------------- /src/views/Account.vue: -------------------------------------------------------------------------------- 1 | 21 | 22 | -------------------------------------------------------------------------------- /src/views/Admin.vue: -------------------------------------------------------------------------------- 1 | 11 | -------------------------------------------------------------------------------- /src/views/Cron.vue: -------------------------------------------------------------------------------- 1 | 22 | 23 | 35 | -------------------------------------------------------------------------------- /src/views/DashBoard.vue: -------------------------------------------------------------------------------- 1 | 26 | -------------------------------------------------------------------------------- /src/views/Details.vue: -------------------------------------------------------------------------------- 1 | 158 | -------------------------------------------------------------------------------- /src/views/Home.vue: -------------------------------------------------------------------------------- 1 | 92 | 93 | 319 | -------------------------------------------------------------------------------- /src/views/Landing.vue: -------------------------------------------------------------------------------- 1 | 70 | 76 | -------------------------------------------------------------------------------- /src/views/Login.vue: -------------------------------------------------------------------------------- 1 | 50 | 136 | -------------------------------------------------------------------------------- /src/views/Register.vue: -------------------------------------------------------------------------------- 1 | 49 | 111 | -------------------------------------------------------------------------------- /src/views/test.vue: -------------------------------------------------------------------------------- 1 | 51 | -------------------------------------------------------------------------------- /tailwind.config.js: -------------------------------------------------------------------------------- 1 | // this function handles the opacity of color 2 | function withOpacityValue(variable) { 3 | return ({ opacityValue }) => { 4 | if (opacityValue === undefined) { 5 | return `hsl(var(${variable}))`; 6 | } 7 | return `hsl(var(${variable}) / ${opacityValue})`; 8 | }; 9 | } 10 | module.exports = { 11 | content: ["./index.html", "./src/**/*.{vue,js,ts,jsx,tsx}"], 12 | theme: { 13 | extend: { 14 | keyframes: { 15 | watermark: { 16 | '0%': { opacity: 0 }, 17 | '50%': { opacity: 50 }, 18 | '100%': { opacity: 100 }, 19 | } 20 | }, 21 | colors: { 22 | card: withOpacityValue("--c"), 23 | title: withOpacityValue("--t"), 24 | }, 25 | animation: { 26 | "spin-slow": "spin 3.5s linear infinite", 27 | "water-mark": "watermark 0.5s linear 1", 28 | }, 29 | boxShadow: { 30 | 'md': '0 3px 3px -2px rgba(0,0,0,0.2),0 3px 4px 0 rgba(0,0,0,0.14),0 1px 8px 0 rgba(0,0,0,0.12)', 31 | 'lg': '0 3px 5px -1px rgba(0,0,0,0.2),0 6px 10px 0 rgba(0,0,0,0.14),0 1px 18px 0 rgba(0,0,0,0.12)', 32 | 'xl': '0 5px 6px -3px rgba(0,0,0,0.2),0 9px 12px 1px rgba(0,0,0,0.14),0 3px 16px 2px rgba(0,0,0,0.12)', 33 | '3xl': '0 11px 15px -7px rgba(0,0,0,0.2),0 24px 38px 3px rgba(0,0,0,0.14),0 9px 46px 8px rgba(0,0,0,0.12)' 34 | } 35 | }, 36 | }, 37 | plugins: [require("@tailwindcss/typography"), require("daisyui")], 38 | daisyui: { 39 | darkTheme: "halloween", 40 | themes: [ 41 | { 42 | cmyk: { 43 | ...require("daisyui/src/colors/themes")["[data-theme=cmyk]"], 44 | info: "#7E57C2", 45 | "--c": "212 96% 78%", 46 | "--t": "262 83% 58%", 47 | }, 48 | }, 49 | { 50 | halloween: { 51 | ...require("daisyui/src/colors/themes")["[data-theme=halloween]"], 52 | info: "#F48A00", 53 | primary: "#8AB4F8", 54 | success: "#22c55e", 55 | "base-300": '#303030', 56 | "base-100": '#202020', 57 | "--c": "215 14% 34%", 58 | "--t": "25 95% 53%", 59 | }, 60 | }, 61 | ], 62 | }, 63 | }; 64 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "declaration": false, 4 | "target": "esnext", 5 | "useDefineForClassFields": true, 6 | "module": "esnext", 7 | "moduleResolution": "node", 8 | "strict": true, 9 | "jsx": "preserve", 10 | "sourceMap": true, 11 | "resolveJsonModule": true, 12 | "isolatedModules": true, 13 | "esModuleInterop": true, 14 | "lib": ["esnext", "dom"], 15 | "skipLibCheck": true 16 | }, 17 | "include": ["src/**/*.ts", "src/**/*.d.ts", "src/**/*.tsx", "src/**/*.vue"], 18 | "references": [{ "path": "./tsconfig.node.json" }] 19 | } 20 | -------------------------------------------------------------------------------- /tsconfig.node.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "composite": true, 4 | "module": "esnext", 5 | "moduleResolution": "node" 6 | }, 7 | "include": ["vite.config.ts"] 8 | } 9 | -------------------------------------------------------------------------------- /vercel.json: -------------------------------------------------------------------------------- 1 | { 2 | "rewrites": [{ "source": "/(.*)", "destination": "/index.html" }] 3 | } 4 | -------------------------------------------------------------------------------- /vite.config.ts: -------------------------------------------------------------------------------- 1 | import { defineConfig } from "vite"; 2 | import vue from "@vitejs/plugin-vue"; 3 | import { VitePWA } from "vite-plugin-pwa"; 4 | import viteCompression from "vite-plugin-compression"; 5 | 6 | // https://vitejs.dev/config/ 7 | export default defineConfig({ 8 | define: { 9 | __VUE_PROD_DEVTOOLS__: false, 10 | __VUE_OPTIONS_API__: false 11 | }, 12 | plugins: [ 13 | vue({ 14 | isProduction: true, 15 | }), 16 | VitePWA({ 17 | registerType: "autoUpdate", 18 | }), 19 | viteCompression({ 20 | verbose: true, 21 | disable: false, 22 | threshold: 10240, 23 | algorithm: "gzip", 24 | ext: ".gz", 25 | }), 26 | ], 27 | server: { 28 | //host: '192.168.8.180', 29 | //host: '192.168.195.169' 30 | }, 31 | build: { 32 | rollupOptions: { 33 | output: { 34 | chunkFileNames: "static/js/[hash].js", 35 | entryFileNames: "static/js/[hash].js", 36 | assetFileNames: "static/[ext]/[hash].[ext]", 37 | }, 38 | }, 39 | }, 40 | }); 41 | --------------------------------------------------------------------------------