Compare commits

...

18 Commits

Author SHA1 Message Date
GitHub Action
f84a5282db chore: update idJson to 2.3.0 2025-10-06 07:01:24 +00:00
66acb3e4dc ci: fix GH_TOKEN 2025-10-06 14:59:36 +08:00
b10a11b177 ci: fix can't trigger release 2025-10-06 14:50:03 +08:00
db587f3537 ci: update script and add workflow 2025-10-06 14:38:55 +08:00
afb06390c0 chore: bump version to 1.1.12 2025-06-07 06:55:22 +08:00
6b84fe8670 chore: update idJson 2025-06-07 06:53:30 +08:00
e74f561ce5 chore: bump version to 1.1.11 2025-01-26 07:40:03 +08:00
9738b41372 chore: update idJson 2025-01-26 07:39:15 +08:00
2d0a5d38bb docs: Stargazers over time 2025-01-05 10:41:22 +08:00
16e01b7a13 chore: bump version to 1.1.10 2024-12-07 16:02:00 +08:00
8f492376a0 chore: update idJson 2024-12-07 16:01:20 +08:00
0642c52db2 chore: bump version to 1.1.9 2024-09-27 21:15:19 +08:00
af256fba7d chore: update idJson 2024-09-27 21:14:44 +08:00
6599fbe6d3 chore: bump version to 1.1.8 2024-09-08 12:23:13 +08:00
a99959e6e5 chore: update idJson 2024-09-08 12:22:27 +08:00
c9c92da926 chore: bump version to 1.1.7 2024-08-21 12:27:56 +08:00
fcff120657 chore: update idJson and add display for idJson version 2024-08-21 12:27:19 +08:00
0ec7cb7c4f fix: winreg compatibility issues
sync with upstream
2024-08-07 17:17:54 +08:00
11 changed files with 1625 additions and 122 deletions

91
.github/workflows/idmap.yml vendored Normal file
View File

@@ -0,0 +1,91 @@
name: Update ID Map and Version
on:
schedule:
- cron: '0 0 * * *'
workflow_dispatch:
jobs:
update-idmap:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
token: ${{ secrets.GH_TOKEN }}
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: '3.x'
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install requests opencc
- name: Run getIdMap.py
run: |
python tools/getIdMap.py
- name: Check if idJson.json changed
id: check_changes
run: |
git add -A
if git diff --staged --quiet -- src/idJson.json; then
echo "changes=false" >> $GITHUB_OUTPUT
echo "No changes detected in src/idJson.json"
else
echo "changes=true" >> $GITHUB_OUTPUT
echo "Changes detected in src/idJson.json"
fi
- name: Get current version from idJson
if: steps.check_changes.outputs.changes == 'true'
id: get_version
run: |
VERSION=$(python -c "import json; print(json.load(open('src/idJson.json', encoding='utf-8'))['version'])")
echo "version=$VERSION" >> $GITHUB_OUTPUT
echo "Current version in idJson: $VERSION"
- name: Bump package.json version
if: steps.check_changes.outputs.changes == 'true'
id: bump_version
run: |
CURRENT_VERSION=$(node -p "require('./package.json').version")
echo "Current package.json version: $CURRENT_VERSION"
IFS='.' read -ra VERSION_PARTS <<< "$CURRENT_VERSION"
MAJOR=${VERSION_PARTS[0]}
MINOR=${VERSION_PARTS[1]}
PATCH=${VERSION_PARTS[2]}
NEW_PATCH=$((PATCH + 1))
NEW_VERSION="$MAJOR.$MINOR.$NEW_PATCH"
echo "New package.json version: $NEW_VERSION"
echo "new_version=$NEW_VERSION" >> $GITHUB_OUTPUT
node -e "
const fs = require('fs');
const packageJson = JSON.parse(fs.readFileSync('./package.json', 'utf8'));
packageJson.version = '$NEW_VERSION';
fs.writeFileSync('./package.json', JSON.stringify(packageJson, null, 2) + '\n');
"
- name: Create and push tag
if: steps.check_changes.outputs.changes == 'true'
run: |
git config --local user.email "action@github.com"
git config --local user.name "GitHub Action"
git add src/idJson.json package.json
git commit -m "chore: update idJson to ${{ steps.get_version.outputs.version }}"
TAG_NAME="v${{ steps.bump_version.outputs.new_version }}"
git tag $TAG_NAME
git push
git push origin $TAG_NAME
echo "Created and pushed tag: $TAG_NAME"

View File

@@ -28,7 +28,7 @@ jobs:
id: create_release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.TOKEN }}
GITHUB_TOKEN: ${{ secrets.GH_TOKEN }}
with:
tag_name: ${{ github.ref }}
release_name: ZzzSignalSearchExport ${{ github.ref }}
@@ -39,7 +39,7 @@ jobs:
id: upload-release-asset
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.TOKEN }}
GITHUB_TOKEN: ${{ secrets.GH_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }} # This pulls from the CREATE RELEASE step above, referencing it's ID to get its outputs object, which include a `upload_url`. See this blog post for more info: https://jasonet.co/posts/new-features-of-github-actions/#passing-data-to-future-steps
asset_path: ./build/app.zip
@@ -52,4 +52,4 @@ jobs:
commit_message: Update app
build_dir: ./build/update
env:
GITHUB_TOKEN: ${{ secrets.TOKEN }}
GITHUB_TOKEN: ${{ secrets.GH_TOKEN }}

View File

@@ -36,6 +36,10 @@
然后游戏切换的新账号,再打开调频历史记录,工具再点击“加载数据”按钮。
## Stargazers over time
[![Stargazers over time](https://starchart.cc/earthjasonlin/zzz-signal-search-export.svg)](https://starchart.cc/earthjasonlin/zzz-signal-search-export)
## Devlopment
```bash

View File

@@ -1,6 +1,6 @@
{
"name": "zzz-signal-search-export",
"version": "1.1.6",
"version": "1.1.13",
"autoUpdateActive": true,
"autoUpdateFrom": "1.1.0",
"main": "./dist/electron/main/main.js",
@@ -110,7 +110,7 @@
"tailwindcss": "^3.0.16",
"vite": "2.7.13",
"vue": "^3.2.29",
"winreg": "^1.2.4",
"winreg": "1.2.4",
"yauzl": "^2.10.0"
},
"keywords": [

View File

@@ -57,6 +57,7 @@
"ui.setting.fetchFullHistoryHint": "When this option is enabled, click the \"Update Data\" button to get all the card draw records within 6 months. When there are incorrect data within 6 months, this function can be used to repair.",
"ui.setting.closeProxy": "Disable system proxy",
"ui.setting.closeProxyHint": "When you choose proxy mode, if the program crashes it can cause unwanted results that may affect your system. You can click this button to clear the system proxy settings.",
"ui.setting.idVersion": "ID database version",
"ui.about.title": "About",
"ui.about.license": "This software is opensource using MIT license.",
"ui.urlDialog.title": "Input URL manually",

View File

@@ -56,6 +56,7 @@
"ui.setting.fetchFullHistoryHint": "开启时点击“更新数据”按钮会完整获取6个月内所有的抽卡记录当记录里有6个月范围以内的错误数据时可以通过这个功能修复。",
"ui.setting.closeProxy": "关闭系统代理",
"ui.setting.closeProxyHint": "如果使用过代理模式时工具非正常关闭,可能导致系统代理设置没能清除,可以通过这个按钮来清除设置过的系统代理。",
"ui.setting.idVersion": "ID 数据库版本",
"ui.about.title": "关于",
"ui.about.license": "本工具为开源软件,源代码使用 MIT 协议授权",
"ui.urlDialog.title": "手动输入URL",

View File

@@ -55,6 +55,7 @@
"ui.setting.fetchFullHistoryHint": "開啟時點擊「更新數據」按鈕會完整獲取6個月內所有的抽卡記錄當記錄裏有6個月範圍以內的錯誤數據時可以通過這個功能修復。",
"ui.setting.closeProxy": "關閉系統代理",
"ui.setting.closeProxyHint": "如果使用過代理模式時工具非正常關閉,可能導致系統代理設置沒能清除,可以通過這個按鈕來清除設置過的系統代理。",
"ui.setting.idVersion": "ID 數據庫版本",
"ui.about.title": "關於",
"ui.about.license": "本工具為開源軟件,源代碼使用 MIT 協議授權",
"ui.urlDialog.title": "手動輸入URL",

File diff suppressed because it is too large Load Diff

View File

@@ -47,6 +47,7 @@
</el-form-item>
</el-form>
<h3 class="text-lg my-4">{{about.title}}</h3>
<p class="text-gray-600 text-xs mt-1">{{text.idVersion}} {{idJson.version}}</p>
<p class="text-gray-600 text-xs mt-1">{{about.license}}</p>
<p class="text-gray-600 text-xs mt-1">GitHub: <a @click="openGithub" class="cursor-pointer text-blue-400">https://github.com/earthjasonlin/zzz-signal-search-export</a></p>
<p class="text-gray-600 text-xs mt-1 pb-6">UIGF: <a @click="openUIGF" class="cursor-pointer text-blue-400">https://uigf.org/</a></p>
@@ -82,6 +83,7 @@
<script setup>
const { ipcRenderer, shell } = require('electron')
import idJson from '../../idJson.json'
import { reactive, onMounted, computed } from 'vue'
const emit = defineEmits(['close', 'changeLang', 'refreshData'])

View File

@@ -6,12 +6,7 @@ import requests
from opencc import OpenCC
# 初始化 OpenCC 转换器
cc = OpenCC('s2t')
# 获取 JSON 数据
weapon_url = 'https://api.hakush.in/zzz/data/weapon.json'
character_url = 'https://api.hakush.in/zzz/data/character.json'
bangboo_url = 'https://api.hakush.in/zzz/data/bangboo.json'
cc = OpenCC("s2t")
# 语言映射配置
language_map = {
@@ -19,43 +14,74 @@ language_map = {
"zh-tw": "CHS", # 简体转繁体
"en-us": "EN",
"ja-jp": "JA",
"ko-kr": "KO"
"ko-kr": "KO",
}
# 类型映射配置
type_map = {
"weapon": {"zh-cn": "音擎", "zh-tw": "音擎", "en-us": "W-Engines", "ja-jp": "音動機", "ko-kr": "W-엔진"},
"character": {"zh-cn": "代理人", "zh-tw": "代理人", "en-us": "Agents",
"ja-jp": "エージェント", "ko-kr": "에이전트"},
"bangboo": {"zh-cn": "邦布", "zh-tw": "邦布", "en-us": "Bangboo",
"ja-jp": "ボンプ", "ko-kr": "「Bangboo」"}
"weapon": {
"zh-cn": "音擎",
"zh-tw": "音擎",
"en-us": "W-Engines",
"ja-jp": "音動機",
"ko-kr": "W-엔진",
},
"character": {
"zh-cn": "代理人",
"zh-tw": "代理人",
"en-us": "Agents",
"ja-jp": "エージェント",
"ko-kr": "에이전트",
},
"bangboo": {
"zh-cn": "邦布",
"zh-tw": "邦布",
"en-us": "Bangboo",
"ja-jp": "ボンプ",
"ko-kr": "「Bangboo」",
},
}
def fetch_json(url):
response = requests.get(url, timeout=10)
response.raise_for_status()
return response.json()
def transform_data(data, item_type):
transformed = {lang: {} for lang in language_map.keys()}
for id_, item in data.items():
for lang, key in language_map.items():
name = item[key] if lang != 'zh-tw' else cc.convert(item['CHS'])
name = item[key] if lang != "zh-tw" else cc.convert(item["CHS"])
transformed[lang][id_] = {
"name": name,
"item_type": type_map[item_type][lang],
"rank_type": item['rank']
"rank_type": item["rank"],
}
return transformed
def main():
try:
version_url = "https://api.hakush.in/zzz/new.json"
version_data = fetch_json(version_url)
latest_version = (
version_data.get("previous")[0] if version_data.get("previous") else "data"
)
weapon_url = f"https://api.hakush.in/zzz/{latest_version}/weapon.json"
character_url = f"https://api.hakush.in/zzz/{latest_version}/character.json"
bangboo_url = f"https://api.hakush.in/zzz/{latest_version}/bangboo.json"
weapon_data = fetch_json(weapon_url)
character_data = fetch_json(character_url)
bangboo_data = fetch_json(bangboo_url)
transformed_data = {lang: {} for lang in language_map.keys()}
transformed_data["version"] = latest_version
weapon_transformed = transform_data(weapon_data, "weapon")
character_transformed = transform_data(character_data, "character")
bangboo_transformed = transform_data(bangboo_data, "bangboo")
@@ -65,7 +91,7 @@ def main():
transformed_data[lang].update(character_transformed[lang])
transformed_data[lang].update(bangboo_transformed[lang])
with open('./src/idJson.json', 'w', encoding='utf-8') as f:
with open("./src/idJson.json", "w", encoding="utf-8") as f:
json.dump(transformed_data, f, ensure_ascii=False, indent=2)
print("Data successfully transformed and saved")
@@ -73,5 +99,6 @@ def main():
except requests.RequestException as e:
print(f"Error fetching data: {e}")
if __name__ == "__main__":
main()

View File

@@ -5205,10 +5205,10 @@ window-size@^1.1.1:
define-property "^1.0.0"
is-number "^3.0.0"
winreg@^1.2.4:
winreg@1.2.4:
version "1.2.4"
resolved "https://registry.yarnpkg.com/winreg/-/winreg-1.2.4.tgz#ba065629b7a925130e15779108cf540990e98d1b"
integrity sha1-ugZWKbepJRMOFXeRCM9UCZDpjRs=
integrity sha512-IHpzORub7kYlb8A43Iig3reOvlcBJGX9gZ0WycHhghHtA65X0LYnMRuJs+aH1abVnMJztQkvQNlltnbPi5aGIA==
"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0":
version "7.0.0"
@@ -5326,4 +5326,4 @@ zrender@5.2.1:
resolved "https://registry.npmmirror.com/zrender/download/zrender-5.2.1.tgz#5f4bbda915ba6d412b0b19dc2431beaad05417bb"
integrity sha1-X0u9qRW6bUErCxncJDG+qtBUF7s=
dependencies:
tslib "2.3.0"
tslib "2.3.0"