Compare commits

..

5 Commits

Author SHA1 Message Date
GitHub Action
553b8bde01 chore: update idJson to 2.8.0+14441350 2026-03-25 16:20:33 +00:00
9e59a4e96e Update version assignment to use latest_version 2026-03-26 00:19:27 +08:00
GitHub Action
bb71cca2e4 chore: update idJson to 2.6 2026-03-25 16:13:13 +00:00
1ff37d2e71 Update version retrieval to use live_version 2026-03-26 00:11:46 +08:00
GitHub Action
34f40341ea chore: update idJson to 2.6 2026-03-15 02:33:22 +00:00
10 changed files with 28 additions and 89 deletions

View File

@@ -51,7 +51,7 @@
"ui.setting.logTypeHint": "Choose which server generated logs to be used first when acquiring URL from game logs", "ui.setting.logTypeHint": "Choose which server generated logs to be used first when acquiring URL from game logs",
"ui.setting.dataManagerHint": "Unnecessary data can be deleted", "ui.setting.dataManagerHint": "Unnecessary data can be deleted",
"ui.setting.autoUpdate": "Auto update", "ui.setting.autoUpdate": "Auto update",
"ui.setting.hideStandard": "Hide Standard Banner", "ui.setting.hideNovice": "Hide Starter Warp",
"ui.setting.proxyMode": "Proxy mode", "ui.setting.proxyMode": "Proxy mode",
"ui.setting.proxyModeHint": "When we fail to get the URL from system logs, use the system proxy", "ui.setting.proxyModeHint": "When we fail to get the URL from system logs, use the system proxy",
"ui.setting.fetchFullHistory": "Get complete data", "ui.setting.fetchFullHistory": "Get complete data",

View File

@@ -51,7 +51,6 @@
"ui.setting.logTypeHint": "使用游戏日志获取URL时优先选择哪种服务器生成的日志文件。", "ui.setting.logTypeHint": "使用游戏日志获取URL时优先选择哪种服务器生成的日志文件。",
"ui.setting.dataManagerHint": "可以删除不需要的数据。", "ui.setting.dataManagerHint": "可以删除不需要的数据。",
"ui.setting.autoUpdate": "自动更新", "ui.setting.autoUpdate": "自动更新",
"ui.setting.hideStandard": "隐藏常驻池",
"ui.setting.proxyMode": "代理模式", "ui.setting.proxyMode": "代理模式",
"ui.setting.proxyModeHint": "通过设置系统代理来获取URL无法从日志中获取到有效的URL时才会启动代理服务器。", "ui.setting.proxyModeHint": "通过设置系统代理来获取URL无法从日志中获取到有效的URL时才会启动代理服务器。",
"ui.setting.fetchFullHistory": "获取完整数据", "ui.setting.fetchFullHistory": "获取完整数据",

View File

@@ -50,7 +50,6 @@
"ui.setting.logTypeHint": "使用遊戲日誌獲取URL時優先選擇哪種服務器生成的日誌文件。", "ui.setting.logTypeHint": "使用遊戲日誌獲取URL時優先選擇哪種服務器生成的日誌文件。",
"ui.setting.dataManagerHint": "可以刪除不需要的數據。", "ui.setting.dataManagerHint": "可以刪除不需要的數據。",
"ui.setting.autoUpdate": "自動更新", "ui.setting.autoUpdate": "自動更新",
"ui.setting.hideStandard": "隱藏常駐池",
"ui.setting.proxyMode": "代理模式", "ui.setting.proxyMode": "代理模式",
"ui.setting.proxyModeHint": "通過設置系統代理來獲取URL無法從日誌中獲取到有效的URL時才會啟動代理服務器。", "ui.setting.proxyModeHint": "通過設置系統代理來獲取URL無法從日誌中獲取到有效的URL時才會啟動代理服務器。",
"ui.setting.fetchFullHistory": "獲取完整數據", "ui.setting.fetchFullHistory": "獲取完整數據",

View File

@@ -435,13 +435,8 @@
"item_type": "音擎", "item_type": "音擎",
"rank_type": 4 "rank_type": 4
}, },
"14153": {
"name": "辉骑面铠",
"item_type": "音擎",
"rank_type": 4
},
"14154": { "14154": {
"name": "朔月裁霜", "name": "(Test1)普罗米娅测试音擎",
"item_type": "音擎", "item_type": "音擎",
"rank_type": 4 "rank_type": 4
}, },
@@ -700,11 +695,6 @@
"item_type": "代理人", "item_type": "代理人",
"rank_type": 4 "rank_type": 4
}, },
"1531": {
"name": "星徽·比利",
"item_type": "代理人",
"rank_type": 4
},
"1541": { "1541": {
"name": "普罗米娅", "name": "普罗米娅",
"item_type": "代理人", "item_type": "代理人",
@@ -801,9 +791,9 @@
"rank_type": 3 "rank_type": 3
}, },
"53021": { "53021": {
"name": "幽浮布", "name": "(Test1)幽浮布",
"item_type": "邦布", "item_type": "邦布",
"rank_type": 3 "rank_type": 4
}, },
"54001": { "54001": {
"name": "鲨牙布", "name": "鲨牙布",
@@ -1342,13 +1332,8 @@
"item_type": "音擎", "item_type": "音擎",
"rank_type": 4 "rank_type": 4
}, },
"14153": {
"name": "輝騎面鎧",
"item_type": "音擎",
"rank_type": 4
},
"14154": { "14154": {
"name": "朔月裁霜", "name": "(Test1)普羅米婭測試音擎",
"item_type": "音擎", "item_type": "音擎",
"rank_type": 4 "rank_type": 4
}, },
@@ -1607,11 +1592,6 @@
"item_type": "代理人", "item_type": "代理人",
"rank_type": 4 "rank_type": 4
}, },
"1531": {
"name": "星徽·比利",
"item_type": "代理人",
"rank_type": 4
},
"1541": { "1541": {
"name": "普羅米婭", "name": "普羅米婭",
"item_type": "代理人", "item_type": "代理人",
@@ -1708,9 +1688,9 @@
"rank_type": 3 "rank_type": 3
}, },
"53021": { "53021": {
"name": "幽浮布", "name": "(Test1)幽浮布",
"item_type": "邦布", "item_type": "邦布",
"rank_type": 3 "rank_type": 4
}, },
"54001": { "54001": {
"name": "鯊牙布", "name": "鯊牙布",
@@ -2249,13 +2229,8 @@
"item_type": "W-Engines", "item_type": "W-Engines",
"rank_type": 4 "rank_type": 4
}, },
"14153": {
"name": "Starlight Rider Faceplate",
"item_type": "W-Engines",
"rank_type": 4
},
"14154": { "14154": {
"name": "Frostfall Sickle", "name": "Item_Weapon_S_1541_Name",
"item_type": "W-Engines", "item_type": "W-Engines",
"rank_type": 4 "rank_type": 4
}, },
@@ -2514,13 +2489,8 @@
"item_type": "Agents", "item_type": "Agents",
"rank_type": 4 "rank_type": 4
}, },
"1531": {
"name": "Starlight - Billy",
"item_type": "Agents",
"rank_type": 4
},
"1541": { "1541": {
"name": "Promeia", "name": "Avatar_Female_Size03_Promeia",
"item_type": "Agents", "item_type": "Agents",
"rank_type": 4 "rank_type": 4
}, },
@@ -2615,9 +2585,9 @@
"rank_type": 3 "rank_type": 3
}, },
"53021": { "53021": {
"name": "Booltergeist", "name": "Bangboo_Name_53021",
"item_type": "Bangboo", "item_type": "Bangboo",
"rank_type": 3 "rank_type": 4
}, },
"54001": { "54001": {
"name": "Sharkboo", "name": "Sharkboo",
@@ -3156,13 +3126,8 @@
"item_type": "音動機", "item_type": "音動機",
"rank_type": 4 "rank_type": 4
}, },
"14153": {
"name": "スターライトバイザー",
"item_type": "音動機",
"rank_type": 4
},
"14154": { "14154": {
"name": "フロスト・クレセント", "name": "Item_Weapon_S_1541_Name",
"item_type": "音動機", "item_type": "音動機",
"rank_type": 4 "rank_type": 4
}, },
@@ -3307,7 +3272,7 @@
"rank_type": 4 "rank_type": 4
}, },
"1301": { "1301": {
"name": "オルペウス&「鬼火」", "name": "オルペウス「鬼火」",
"item_type": "エージェント", "item_type": "エージェント",
"rank_type": 4 "rank_type": 4
}, },
@@ -3421,13 +3386,8 @@
"item_type": "エージェント", "item_type": "エージェント",
"rank_type": 4 "rank_type": 4
}, },
"1531": {
"name": "スターライト・ビリー",
"item_type": "エージェント",
"rank_type": 4
},
"1541": { "1541": {
"name": "プロメイア", "name": "Avatar_Female_Size03_Promeia",
"item_type": "エージェント", "item_type": "エージェント",
"rank_type": 4 "rank_type": 4
}, },
@@ -3522,9 +3482,9 @@
"rank_type": 3 "rank_type": 3
}, },
"53021": { "53021": {
"name": "ユウレイボンプ", "name": "Bangboo_Name_53021",
"item_type": "ボンプ", "item_type": "ボンプ",
"rank_type": 3 "rank_type": 4
}, },
"54001": { "54001": {
"name": "ガブットボンプ", "name": "ガブットボンプ",
@@ -4063,13 +4023,8 @@
"item_type": "W-엔진", "item_type": "W-엔진",
"rank_type": 4 "rank_type": 4
}, },
"14153": {
"name": "별빛 기사의 가면",
"item_type": "W-엔진",
"rank_type": 4
},
"14154": { "14154": {
"name": "삭월에 끊어지는 서리", "name": "Item_Weapon_S_1541_Name",
"item_type": "W-엔진", "item_type": "W-엔진",
"rank_type": 4 "rank_type": 4
}, },
@@ -4328,13 +4283,8 @@
"item_type": "에이전트", "item_type": "에이전트",
"rank_type": 4 "rank_type": 4
}, },
"1531": {
"name": "스타라이트·빌리",
"item_type": "에이전트",
"rank_type": 4
},
"1541": { "1541": {
"name": "프로미아", "name": "Avatar_Female_Size03_Promeia",
"item_type": "에이전트", "item_type": "에이전트",
"rank_type": 4 "rank_type": 4
}, },
@@ -4429,9 +4379,9 @@
"rank_type": 3 "rank_type": 3
}, },
"53021": { "53021": {
"name": "유령부", "name": "Bangboo_Name_53021",
"item_type": "「Bangboo」", "item_type": "「Bangboo」",
"rank_type": 3 "rank_type": 4
}, },
"54001": { "54001": {
"name": "샤크부", "name": "샤크부",
@@ -4534,5 +4484,5 @@
"rank_type": 4 "rank_type": 4
} }
}, },
"version": "2.8" "version": "2.8.0+14441350"
} }

View File

@@ -9,7 +9,7 @@ const config = {
proxyMode: false, proxyMode: false,
autoUpdate: true, autoUpdate: true,
fetchFullHistory: false, fetchFullHistory: false,
hideStandard: false hideNovice: false
} }
const getLocalConfig = async () => { const getLocalConfig = async () => {

View File

@@ -12,6 +12,7 @@ const { mergeData } = require('./utils/mergeData')
const gachaTypeRaw = require('../gachaType.json') const gachaTypeRaw = require('../gachaType.json')
const dataMap = new Map() const dataMap = new Map()
const order = ['2', '3', '1', '5']
let apiDomain = 'https://public-operation-nap.mihoyo.com' let apiDomain = 'https://public-operation-nap.mihoyo.com'
const saveData = async (data, url) => { const saveData = async (data, url) => {

View File

@@ -139,7 +139,7 @@
class="gap-4 grid grid-cols-1 sm:grid-cols-2 md:grid-cols-3 2xl:grid-cols-4" class="gap-4 grid grid-cols-1 sm:grid-cols-2 md:grid-cols-3 2xl:grid-cols-4"
> >
<div class="mb-4" v-for="(item, i) of detail" :key="i"> <div class="mb-4" v-for="(item, i) of detail" :key="i">
<div :class="{ hidden: state.config.hideStandard && item[0] === '1' }"> <div :class="{ hidden: state.config.hideNovice && item[0] === '2' }">
<p class="text-center text-gray-600 my-2"> <p class="text-center text-gray-600 my-2">
{{ typeMap.get(item[0]) }} {{ typeMap.get(item[0]) }}
</p> </p>

View File

@@ -29,12 +29,6 @@
v-model="settingForm.autoUpdate"> v-model="settingForm.autoUpdate">
</el-switch> </el-switch>
</el-form-item> </el-form-item>
<el-form-item :label="text.hideStandard">
<el-switch
@change="saveSetting"
v-model="settingForm.hideStandard">
</el-switch>
</el-form-item>
<el-form-item :label="text.fetchFullHistory"> <el-form-item :label="text.fetchFullHistory">
<el-switch <el-switch
@change="saveSetting" @change="saveSetting"
@@ -109,7 +103,6 @@ const settingForm = reactive({
proxyMode: true, proxyMode: true,
autoUpdate: true, autoUpdate: true,
fetchFullHistory: false, fetchFullHistory: false,
hideStandard: true
}) })
const state = reactive({ const state = reactive({
@@ -122,7 +115,7 @@ const text = computed(() => props.i18n.ui.setting)
const about = computed(() => props.i18n.ui.about) const about = computed(() => props.i18n.ui.about)
const saveSetting = async () => { const saveSetting = async () => {
const keys = ['lang', 'logType', 'proxyMode', 'autoUpdate', 'fetchFullHistory', 'hideStandard'] const keys = ['lang', 'logType', 'proxyMode', 'autoUpdate', 'fetchFullHistory']
for (let key of keys) { for (let key of keys) {
await ipcRenderer.invoke('SAVE_CONFIG', [key, settingForm[key]]) await ipcRenderer.invoke('SAVE_CONFIG', [key, settingForm[key]])
} }

View File

@@ -8,13 +8,9 @@ const itemCount = (map, name) => {
} }
} }
const order = ['2', '3', '5', '102', '103', '1']
const gachaDetail = (data) => { const gachaDetail = (data) => {
const detailMap = new Map() const detailMap = new Map()
for (let key of order) { for (let [key, value] of data) {
if (!data.has(key)) continue
let value = data.get(key)
let detail = { let detail = {
count2: 0, count3: 0, count4: 0, count2: 0, count3: 0, count4: 0,
count2w: 0, count3w: 0, count4w: 0, count3c: 0, count4c: 0, count3b: 0, count4b: 0, count2w: 0, count3w: 0, count4w: 0, count3c: 0, count4c: 0, count3b: 0, count4b: 0,

View File

@@ -67,7 +67,8 @@ def main():
version_url = "https://static.nanoka.cc/manifest.json" version_url = "https://static.nanoka.cc/manifest.json"
version_data = fetch_json(version_url) version_data = fetch_json(version_url)
latest_version = version_data['zzz']['live'] latest_version = version_data['zzz']['latest']
live_version = version_data['zzz']['live']
print(f"Latest version: {latest_version}") print(f"Latest version: {latest_version}")
weapon_url = f"https://static.nanoka.cc/zzz/{latest_version}/weapon.json" weapon_url = f"https://static.nanoka.cc/zzz/{latest_version}/weapon.json"