Compare commits

...

15 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
6 changed files with 1504 additions and 86 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 id: create_release
uses: actions/create-release@v1 uses: actions/create-release@v1
env: env:
GITHUB_TOKEN: ${{ secrets.TOKEN }} GITHUB_TOKEN: ${{ secrets.GH_TOKEN }}
with: with:
tag_name: ${{ github.ref }} tag_name: ${{ github.ref }}
release_name: ZzzSignalSearchExport ${{ github.ref }} release_name: ZzzSignalSearchExport ${{ github.ref }}
@@ -39,7 +39,7 @@ jobs:
id: upload-release-asset id: upload-release-asset
uses: actions/upload-release-asset@v1 uses: actions/upload-release-asset@v1
env: env:
GITHUB_TOKEN: ${{ secrets.TOKEN }} GITHUB_TOKEN: ${{ secrets.GH_TOKEN }}
with: 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 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 asset_path: ./build/app.zip
@@ -52,4 +52,4 @@ jobs:
commit_message: Update app commit_message: Update app
build_dir: ./build/update build_dir: ./build/update
env: 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 ## Devlopment
```bash ```bash

View File

@@ -1,6 +1,6 @@
{ {
"name": "zzz-signal-search-export", "name": "zzz-signal-search-export",
"version": "1.1.7", "version": "1.1.13",
"autoUpdateActive": true, "autoUpdateActive": true,
"autoUpdateFrom": "1.1.0", "autoUpdateFrom": "1.1.0",
"main": "./dist/electron/main/main.js", "main": "./dist/electron/main/main.js",

File diff suppressed because it is too large Load Diff

View File

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