Compare commits
139 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
9bd9f60699 | ||
|
|
070ab01b22 | ||
|
|
11bf4fea9b | ||
|
|
0b8fa6d8f6 | ||
|
|
8917deb5db | ||
|
|
065019cdc6 | ||
|
|
f802ee9a68 | ||
|
|
971526d6ed | ||
|
|
2c2914a028 | ||
|
|
214b828b10 | ||
|
|
ada6f5b15a | ||
|
|
2aa0df5246 | ||
|
|
d9cdea9670 | ||
|
|
98541e1b49 | ||
|
|
f50398f6e3 | ||
|
|
74eb612d72 | ||
|
|
956634767a | ||
|
|
ee078bbcf2 | ||
|
|
044ec32069 | ||
|
|
19ac8e90e0 | ||
|
|
d1bfa49bd7 | ||
|
|
d78c541c87 | ||
|
|
ab9eb3c827 | ||
|
|
36c9cd69e6 | ||
|
|
914cddafc1 | ||
|
|
33edb3c33a | ||
|
|
8f322eae45 | ||
|
|
96aec27752 | ||
|
|
ca46b8813d | ||
|
|
6bf24bd8c2 | ||
|
|
623d137457 | ||
|
|
54e941504d | ||
|
|
e5ff294080 | ||
|
|
44e968592d | ||
|
|
983be395fa | ||
|
|
e5b30af48f | ||
|
|
5aba7bcecc | ||
|
|
4985bcde29 | ||
|
|
d8ade955b4 | ||
|
|
d9bbe4e7fe | ||
|
|
ff0dc6d08c | ||
|
|
6a0749f234 | ||
|
|
6b2ef079ca | ||
|
|
eaf2245e38 | ||
|
|
c75858ceab | ||
|
|
fabf9de03e | ||
|
|
9e030c976b | ||
|
|
55671ab22d | ||
|
|
7f872787f1 | ||
|
|
0cd3b6072f | ||
|
|
17c5d879cd | ||
|
|
417e98a99c | ||
|
|
b5a81503a8 | ||
|
|
1405b544be | ||
|
|
8707a8288e | ||
|
|
d9cb95e225 | ||
|
|
27f4e026b0 | ||
|
|
5fb24387ca | ||
|
|
88879dd4ec | ||
|
|
5d59245761 | ||
|
|
66c6d3a3a5 | ||
|
|
8996c1bce1 | ||
|
|
c5587211fd | ||
|
|
43232548bb | ||
|
|
3501590fb4 | ||
|
|
2b227ea333 | ||
|
|
2f32f4e2c1 | ||
|
|
3ec13b7510 | ||
|
|
cc1167fc42 | ||
|
|
a3f4156ba8 | ||
|
|
094f7b69fe | ||
|
|
af989dddda | ||
|
|
6bdf95d9fd | ||
|
|
8e01a44b88 | ||
|
|
d0f21eca75 | ||
|
|
16e550ee40 | ||
|
|
cb8d12cc84 | ||
|
|
c450c5ab34 | ||
|
|
ec4480e386 | ||
|
|
351c86589e | ||
|
|
8bf745948c | ||
|
|
29b8bf84a6 | ||
|
|
7de0b73e6d | ||
|
|
4729fc7d4a | ||
|
|
e9d46b2ea3 | ||
|
|
c22a454551 | ||
|
|
44699308b7 | ||
|
|
e168a341ef | ||
|
|
5b93c1cdfd | ||
|
|
e1a5b20d9d | ||
|
|
ddba583bdf | ||
|
|
fdd3b44378 | ||
|
|
e8cf6b297a | ||
|
|
37de85b62c | ||
|
|
07cef027db | ||
|
|
d1eea688e8 | ||
|
|
5eca2b63fd | ||
|
|
e96cdfc809 | ||
|
|
bd05e222e1 | ||
|
|
49d7994ef3 | ||
|
|
5bcd2202b6 | ||
|
|
ac44f19d35 | ||
|
|
16b3a9d1a7 | ||
|
|
4a41a00243 | ||
|
|
0a54841585 | ||
|
|
3f483293f5 | ||
|
|
edf0917a09 | ||
|
|
b21e2a9021 | ||
|
|
d56a438662 | ||
|
|
553c1e1bba | ||
|
|
2509b488d2 | ||
|
|
c9fbddcf5d | ||
|
|
bf66b4eee0 | ||
|
|
a73b49a2c6 | ||
|
|
8e5cbbbd58 | ||
|
|
f11aa3e726 | ||
|
|
ee8afa2e75 | ||
|
|
56077eceb8 | ||
|
|
eaa9b20544 | ||
|
|
23e45e66a3 | ||
|
|
b9b44cb8d1 | ||
|
|
82cdee00e7 | ||
|
|
fa891a6884 | ||
|
|
530ccf2165 | ||
|
|
7c34d08466 | ||
|
|
91fac5f2e4 | ||
|
|
7120745211 | ||
|
|
8f8056622c | ||
|
|
e9244f6352 | ||
|
|
bc63201b02 | ||
|
|
1e6fd0acba | ||
|
|
4d3e030174 | ||
|
|
0377d1fe2a | ||
|
|
02d875115f | ||
|
|
1cf29d0750 | ||
|
|
24fc93b34b | ||
|
|
ac25685fbd | ||
|
|
619bc9d3a3 | ||
|
|
8cfe4d4f34 |
@@ -1,10 +0,0 @@
|
||||
# Build
|
||||
dist
|
||||
src-tauri/target
|
||||
# Package files
|
||||
pnpm-lock.yaml
|
||||
# data
|
||||
src/data/**/*.json
|
||||
# lint files
|
||||
!.prettierrc.yml
|
||||
!.stylelintrc.yml
|
||||
133
.eslintrc.yml
@@ -1,133 +0,0 @@
|
||||
root: true
|
||||
env:
|
||||
browser: true
|
||||
es2021: true
|
||||
extends:
|
||||
- plugin:vue/vue3-essential
|
||||
- prettier
|
||||
- plugin:prettier/recommended
|
||||
- plugin:yml/standard
|
||||
- plugin:jsonc/recommended-with-json
|
||||
parserOptions:
|
||||
ecmaVersion: latest
|
||||
sourceType: module
|
||||
tsconfigRootDir: .
|
||||
project: ./tsconfig.json
|
||||
globals:
|
||||
TGApp: readonly
|
||||
window: readonly
|
||||
rules:
|
||||
vue/multi-word-component-names: off
|
||||
vue/valid-template-root: off
|
||||
overrides:
|
||||
- files: ["*.ts"]
|
||||
extends: standard-with-typescript
|
||||
# 将此处规则 copy 到下面的 .vue 文件的 rules 中
|
||||
rules: &typescript-rules
|
||||
import/order:
|
||||
- error
|
||||
- groups:
|
||||
- builtin
|
||||
- external
|
||||
- [internal, parent, sibling, index]
|
||||
- unknown
|
||||
newlines-between: always
|
||||
alphabetize:
|
||||
order: asc
|
||||
caseInsensitive: true
|
||||
"@typescript-eslint/indent": off
|
||||
"@typescript-eslint/quotes":
|
||||
- error
|
||||
- double
|
||||
"@typescript-eslint/semi":
|
||||
- error
|
||||
- always
|
||||
"@typescript-eslint/comma-dangle":
|
||||
- error
|
||||
- always-multiline
|
||||
"@typescript-eslint/space-before-function-paren":
|
||||
- error
|
||||
- anonymous: always
|
||||
named: never
|
||||
asyncArrow: always
|
||||
"@typescript-eslint/member-delimiter-style":
|
||||
- error
|
||||
- multiline:
|
||||
delimiter: semi
|
||||
requireLast: true
|
||||
"@typescript-eslint/no-import-type-side-effects": error
|
||||
"@typescript-eslint/strict-boolean-expressions": off
|
||||
"@typescript-eslint/consistent-type-assertions":
|
||||
- warn
|
||||
- assertionStyle: angle-bracket # 使用尖括号
|
||||
"@typescript-eslint/naming-convention":
|
||||
- warn
|
||||
- selector: variableLike
|
||||
format: [camelCase, UPPER_CASE, PascalCase, snake_case]
|
||||
leadingUnderscore: allow
|
||||
trailingUnderscore: allow
|
||||
"@typescript-eslint/no-non-null-assertion": warn
|
||||
"@typescript-eslint/no-misused-promises": off
|
||||
"@typescript-eslint/restrict-template-expressions": warn
|
||||
- files: ["*.vue"]
|
||||
parser: vue-eslint-parser
|
||||
parserOptions:
|
||||
parser: "@typescript-eslint/parser"
|
||||
extraFileExtensions: [.vue]
|
||||
rules:
|
||||
<<: *typescript-rules
|
||||
- files: [package.json, tsconfig.json]
|
||||
parser: jsonc-eslint-parser
|
||||
rules:
|
||||
jsonc/sort-array-values:
|
||||
- error
|
||||
- pathPattern: .*
|
||||
order:
|
||||
type: asc
|
||||
jsonc/sort-keys:
|
||||
- error
|
||||
- pathPattern: ^$
|
||||
order:
|
||||
- name
|
||||
- version
|
||||
- description
|
||||
- private
|
||||
- packageManager
|
||||
- scripts
|
||||
- lint-staged
|
||||
- keywords
|
||||
- author
|
||||
- license
|
||||
- repository
|
||||
- homepage
|
||||
- bugs
|
||||
- dependencies
|
||||
- devDependencies
|
||||
- files: ["*.yaml", "*.yml"]
|
||||
parser: yaml-eslint-parser
|
||||
parserOptions:
|
||||
defaultYAMLVersion: "1.2"
|
||||
rules:
|
||||
yml/indent:
|
||||
- error
|
||||
- 2
|
||||
yml/no-multiple-empty-lines: error
|
||||
yml/key-spacing: error
|
||||
yml/quotes:
|
||||
- error
|
||||
- prefer: double
|
||||
avoidEscape: true
|
||||
yml/sort-keys:
|
||||
- error
|
||||
- pathPattern: ^$
|
||||
order:
|
||||
- root
|
||||
- env
|
||||
- extends
|
||||
- parserOptions
|
||||
- globals
|
||||
- rules
|
||||
- overrides
|
||||
- pathPattern: ^rules$
|
||||
order:
|
||||
type: asc
|
||||
44
.github/ISSUE_TEMPLATE/source_update.yml
vendored
Normal file
@@ -0,0 +1,44 @@
|
||||
name: 原神游戏资源更新(仅供开发者使用)
|
||||
description: 版本前瞻后的例行资源更新
|
||||
title: "[Update] "
|
||||
labels:
|
||||
- 资源
|
||||
body:
|
||||
- type: checkboxes
|
||||
attributes:
|
||||
label: Issue Check
|
||||
options:
|
||||
- label: 个人明确了解该模板仅供开发者使用
|
||||
required: true
|
||||
- type: input
|
||||
id: version
|
||||
attributes:
|
||||
label: 游戏版本
|
||||
description: 请填写游戏版本
|
||||
placeholder: 如 4.6
|
||||
- type: checkboxes
|
||||
id: resources
|
||||
attributes:
|
||||
label: 包括的资源
|
||||
options:
|
||||
- label: 角色&名片,有新角色时选择
|
||||
required: false
|
||||
- label: 武器,有新武器时选择
|
||||
required: false
|
||||
- label: 成就,有新成就时选择
|
||||
required: false
|
||||
- label: 卡牌,有新卡牌时选择
|
||||
required: false
|
||||
- label: 材料,有新材料时选择
|
||||
required: false
|
||||
- type: textarea
|
||||
id: detail
|
||||
attributes:
|
||||
label: 详情
|
||||
description: 对上述内容进行详细说明
|
||||
- type: textarea
|
||||
id: additional
|
||||
attributes:
|
||||
label: 其他信息
|
||||
description: 请填写其他信息
|
||||
placeholder: 请填写其他信息
|
||||
7
.github/workflows/build.yml
vendored
@@ -26,7 +26,10 @@ jobs:
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v3
|
||||
- name: Add Rust targets(macOS)
|
||||
- name: Add Rust targets(macOS Intel)
|
||||
if: matrix.settings.target == 'macos-intel'
|
||||
run: rustup target add x86_64-apple-darwin
|
||||
- name: Add Rust targets(macOS ARM)
|
||||
if: matrix.settings.target == 'macos-arm'
|
||||
run: rustup target add aarch64-apple-darwin
|
||||
|
||||
@@ -44,7 +47,7 @@ jobs:
|
||||
- name: setup pnpm
|
||||
uses: pnpm/action-setup@v2
|
||||
with:
|
||||
version: 8.14.1
|
||||
version: 9.0.5
|
||||
- name: remove lockfile
|
||||
run: rm pnpm-lock.yaml
|
||||
- name: Install frontend dependencies
|
||||
|
||||
2
.github/workflows/qodana_code_quality.yml
vendored
@@ -18,7 +18,7 @@ jobs:
|
||||
- name: setup pnpm
|
||||
uses: pnpm/action-setup@v2
|
||||
with:
|
||||
version: 8.14.1
|
||||
version: 9.0.5
|
||||
- name: remove lockfile
|
||||
run: rm -f pnpm-lock.yaml
|
||||
- name: Install dependencies
|
||||
|
||||
105
CHANGELOG.md
@@ -2,12 +2,113 @@
|
||||
Author: 目棃
|
||||
Description: CHANGELOG
|
||||
Date: 2024-01-15
|
||||
Update: 2024-01-30
|
||||
Update: 2024-04-24
|
||||
---
|
||||
|
||||
> 本文档 [`Frontmatter`](https://github.com/BTMuli/MuCli#Frontmatter) 由 [MuCli](https://github.com/BTMuli/Mucli) 自动生成于 `2024-01-15 17:29:15`
|
||||
>
|
||||
> 更新于 `2024-01-30 13:33:39`
|
||||
> 更新于 `2024-04-24 15:36:42`
|
||||
|
||||
## [0.4.6](https://github.com/BTMuli/TeyvatGuide/releases/v0.4.6) (2024-04-24)
|
||||
|
||||
### Feat
|
||||
|
||||
- 帖子:重构文本解析,现在更加贴近应用内的渲染效果
|
||||
- 应用:侧边栏点击咨讯时的参数也支持记忆了
|
||||
- 应用:更新 4.6 版本的游戏资源
|
||||
|
||||
### Fix
|
||||
|
||||
- 留影叙佳期:修复侧边栏点击时初始画片数异常
|
||||
- 首页:修复特定情况下日历组件左侧切换日期按钮点击无效
|
||||
- 帖子:修复 `align:right` 不生效的问题
|
||||
- 首页:修复特定情况下首页卡池渲染异常
|
||||
|
||||
### Change
|
||||
|
||||
- 应用:数据库更新后弹出更新日志
|
||||
|
||||
## [0.4.5](https://github.com/BTMuli/TeyvatGuide/releases/v0.4.5) (2024-04-05)
|
||||
|
||||
### Feat
|
||||
|
||||
- 添加收藏页面,支持导入用户收藏 [`#100`](https://github.com/BTMuli/TeyvatGuide/issues/100)
|
||||
- 设置页添加更新日志跳转
|
||||
- 首页:组件样式迭代
|
||||
- 帖子:替换默认封面
|
||||
- 帖子:支持关键词搜索 [`#103`](https://github.com/BTMuli/TeyvatGuide/issues/103)
|
||||
|
||||
### Fix
|
||||
|
||||
- 成就:修正部分成就版本信息 [`3501590f`](https://github.com/BTMuli/TeyvatGuide/commit/3501590f)
|
||||
- 帖子:链接卡片添加间距
|
||||
- 图鉴:修复埃洛伊背景渲染异常
|
||||
- 留影叙佳期:补充遗漏数据,支持特定日期查看
|
||||
|
||||
### Change
|
||||
|
||||
- 帖子:微调解析逻辑
|
||||
- 重构:通用帖子卡片抽离作为组件,添加 `select` 状态
|
||||
- 帖子:抽奖详情改为 `overlay`
|
||||
- 应用:调整默认颜色
|
||||
|
||||
## [0.4.4](https://github.com/BTMuli/TeyvatGuide/releases/v0.4.4) (2024-03-13)
|
||||
|
||||
### Feat
|
||||
|
||||
- 咨讯:优化咨讯版块切换&页面跳转体验
|
||||
- 公告:在可能的情况下根据公告内容获取对应时间 [`#94`](https://github.com/BTMuli/TeyvatGuide/issues/94)
|
||||
- 帖子:添加转载声明,支持图片浮窗
|
||||
- 祈愿:添加 `祈愿历史` 页面,支持查看历史祈愿记录及对应信息
|
||||
- 祈愿:添加集录祈愿支持,更新 UIGF 版本至 3.0 [`#96`](https://github.com/BTMuli/TeyvatGuide/issues/96)
|
||||
- 应用:版本更新弹窗确认后将直接更新数据库
|
||||
- 应用:添加 `留影叙佳期` 页面,汇聚三年间的相关信息
|
||||
- 应用:再次支持米游社扫码登录,网页登录自动检测数据并刷新 [`#99`](https://github.com/BTMuli/TeyvatGuide/issues/99)
|
||||
- 应用:添加 4.5 版本的游戏资源 [`#95`](https://github.com/BTMuli/TeyvatGuide/issues/95)
|
||||
- 祈愿:支持增量更新祈愿数据
|
||||
|
||||
### Fix
|
||||
|
||||
- 图鉴:修复武器图鉴左侧列表高度异常
|
||||
- 日志:修正过期日志判断逻辑
|
||||
- 帖子:修复动图渲染异常
|
||||
- 深渊:当期不存在9层及以上的数据时进行提示
|
||||
- JSBridge: 修复特定页面的分享图渲染错误
|
||||
- 帖子:完善文本样式解析,修复特定情况下文本异常渲染为图片
|
||||
- 应用:修复侧边栏及设置页面用户信息响应式异常
|
||||
|
||||
### Change
|
||||
|
||||
- 公告:调整样式,顶部添加相关信息
|
||||
- 设置:数据路径采用系统命令而非文件选择器打开
|
||||
- 日志:调试模式下不将日志写入文件
|
||||
- 帖子:移除大别野组件
|
||||
- 首页:素材日历移除留影叙佳期入口及生日提醒
|
||||
- 深渊:胡桃数据库角色持有页面重构
|
||||
- 首页:卡池组件样式重构
|
||||
|
||||
## [0.4.3](https://github.com/BTMuli/TeyvatGuide/releases/v0.4.3) (2024-02-09)
|
||||
|
||||
### Feat
|
||||
|
||||
- 公告:支持服务器&语言的切换 [`#81`](https://github.com/BTMuli/TeyvatGuide/issues/81)
|
||||
- 战绩:世界探索部分数据结构调整,合并同类数据(如沉玉谷)[`#91`](https://github.com/BTMuli/TeyvatGuide/issues/91)
|
||||
- 图鉴:角色/武器图鉴支持条件筛选(武器类型、星级等) [`#87`](https://github.com/BTMuli/TeyvatGuide/issues/87)
|
||||
|
||||
### Fix
|
||||
|
||||
- 应用:完善 UID 与服务器的对应关系 [`#90`](https://github.com/BTMuli/TeyvatGuide/issues/81)
|
||||
- 应用:修正扫码登录,增加网页登录 [`#89`](https://github.com/BTMuli/TeyvatGuide/issues/89)
|
||||
- 祈愿:修复 `authkey` 获取失败后无限加载的问题
|
||||
- 图鉴:修复部分文本错误,增加遗漏数据
|
||||
- 应用:修复外部唤起失效,**不保证*应用商店版本*的唤起可用性**
|
||||
- 日志:修复过时日志检测逻辑错误
|
||||
|
||||
### Change
|
||||
|
||||
- 设置:平台图标跟随平台变更,调整图标样式 [`#88`](https://github.com/BTMuli/TeyvatGuide/issues/88)
|
||||
- 深渊:调整深渊样式,完善上传错误处理
|
||||
- 应用:后端代码重构,修复窗口创建时的 `error` 问题
|
||||
|
||||
## [0.4.2](https://github.com/BTMuli/TeyvatGuide/releases/v0.4.2) (2024-01-30)
|
||||
|
||||
|
||||
14
README.md
@@ -2,16 +2,16 @@
|
||||
Author: 目棃
|
||||
Description: 说明文档
|
||||
Date: 2023-03-05
|
||||
Update: 2024-01-30
|
||||
Update: 2024-04-05
|
||||
---
|
||||
|
||||
> 本文档 [`Frontmatter`](https://github.com/BTMuli/MuCli#Frontmatter) 由 [MuCli](https://github.com/BTMuli/Mucli) 自动生成于 `2023-03-05 14:41:55`
|
||||
>
|
||||
> 更新于 `2024-01-30 13:25:48`
|
||||
> 更新于 `2024-04-05 14:25:24`
|
||||
|
||||
 
|
||||
|
||||
  
|
||||
  
|
||||
|
||||
<div style="width: 100%; text-align: center; margin: 0 auto;">
|
||||
<img alt="icon" src="https://s2.loli.net/2023/10/19/Y5DpBQRy3usLHEb.png" />
|
||||
@@ -47,8 +47,10 @@ Game Tool for Genshin Impact player, supports Windows and macOS.
|
||||
- [x] 游戏内公告&活动获取
|
||||
- [x] 米游社官方帖获取(支持通过 ID 获取)
|
||||
- [x] 米游社各分区帖子获取(支持通过 ID 获取)
|
||||
- [x] 成就管理(UIAF),支持 [`YaeAchievement`](https://github.com/HolographicHat/YaeAchievement) 导入
|
||||
- [x] 祈愿管理(UIGF)
|
||||
- [x] 成就管理(UIAF v1.1),支持 [`YaeAchievement`](https://github.com/HolographicHat/YaeAchievement) 导入
|
||||
- [x] 祈愿管理(UIGF v3.0)
|
||||
- [x] 留影叙佳期画片查看
|
||||
- [x] 帖子收藏
|
||||
|
||||
- 登陆功能:
|
||||
|
||||
@@ -88,7 +90,7 @@ Game Tool for Genshin Impact player, supports Windows and macOS.
|
||||
- Changelog: [CHANGELOG](CHANGELOG.md)
|
||||
- 资源来源:[项目资源说明](docs/项目资源说明.md)
|
||||
- UIAF:[UIAF v1.1](docs/UIAF.md)
|
||||
- UIGF:[UIGF v2.4](docs/UIGF.md)
|
||||
- UIGF:[UIGF v3.0](docs/UIGF.md)
|
||||
|
||||
## 特定项目 / Special Project
|
||||
|
||||
|
||||
181
docs/UIGF.md
@@ -2,23 +2,23 @@
|
||||
Author: 目棃
|
||||
Description: UIGF v2.4 Backup
|
||||
Date: 2023-11-15
|
||||
Update: 2023-11-15
|
||||
Update: 2024-03-13
|
||||
---
|
||||
|
||||
> 本文档 [`Frontmatter`](https://github.com/BTMuli/MuCli#Frontmatter) 由 [MuCli](https://github.com/BTMuli/Mucli) 自动生成于 `2023-11-15 20:58:36`
|
||||
>
|
||||
> 更新于 `2023-11-15 20:58:36`
|
||||
>
|
||||
> 本文档为 [UIGF v2.4](https://github.com/UIGF-org/UIGF-org.github.io/blob/main/docs/zh/standards/UIGF.md) 的备份,仅供参考。
|
||||
> 更新于 `2024-03-13 15:50:36`
|
||||
|
||||
# 统一可交换抽卡记录标准 v2.4
|
||||
> 本文档为 [UIGF v3.0](https://github.com/UIGF-org/UIGF-org.github.io/blob/main/docs/zh/standards/UIGF.md) 的备份,仅供参考。
|
||||
|
||||
> Uniformed Interchangeable GachaLog Format standard (UIGF) v2.4 <Badge text="Current" type="message" />
|
||||
# 统一可交换抽卡记录标准 v3.0
|
||||
|
||||
> Uniformed Interchangeable GachaLog Format standard (UIGF) v3.0 <Badge text="Current" type="message" />
|
||||
>
|
||||
> ::: warning UIGF 标准使用声明
|
||||
> 应用必须在同时支持 UIGF 数据格式**导入**和**导出**功能并在相关功能区域或文档中提供跳转至 [UIGF-Org](https://uigf.org) 的超链接后声明支持 UIGF 格式
|
||||
|
||||
仅包含导入功能降低了用户数据可流通性,且将数据至于用户不可控的风险中,不符合 UIGF-Org 设计的初衷。
|
||||
仅包含导入或导出功能降低了用户数据可流通性,且将数据至于用户不可控的风险中,不符合 UIGF-Org 设计的初衷。
|
||||
:::
|
||||
|
||||
## 更新记录
|
||||
@@ -29,12 +29,13 @@ Update: 2023-11-15
|
||||
| `v2.1` | 简化了部分语言表述,与 v2.0在数据格式上完全一致 | v2.1 and lower |
|
||||
| [`v2.2`](UIGF-legacy-v2.2.md) | 新增 `info.export_timestamp` 填充 UNIX 时间戳 | v2.2 and lower |
|
||||
| [`v2.3`](UIGF-legacy-v2.3.md) | 扩充至非中文语境,使用 Json Schema 表述。移除了 Excel 格式 | v2.3 and lower |
|
||||
| `v2.4` | 新增 `info.region_time_zone` 支持时区处理 | v2.4 and lower |
|
||||
| [`v2.4`](UIGF-legacy-v2.4.md) | 新增 `info.region_time_zone` 支持时区处理 | v2.4 and lower |
|
||||
| `v3.0` | 新增 集录祈愿类型支持 | v3.0 and lower |
|
||||
|
||||
### v2.4 更新内容
|
||||
### v3.0 更新内容
|
||||
|
||||
- 国际化兼容性增强
|
||||
- 在 `info` 对象中新增了 `region_time_zone` 字段
|
||||
- `gacha_type` 增加新枚举项
|
||||
- 在 `gacha_type` 枚举新增值为 `500` 的项,用于表示集录祈愿类型
|
||||
|
||||
## `info` 字段说明
|
||||
|
||||
@@ -79,6 +80,7 @@ App 不应假定 `region_time_zone` 的值为上表中给出的值,应具有
|
||||
| `200` | `200` |
|
||||
| `301` | `301` or `400` |
|
||||
| `302` | `302` |
|
||||
| `500` | `500` |
|
||||
|
||||
### `item_id`
|
||||
|
||||
@@ -90,102 +92,99 @@ App 不应假定 `region_time_zone` 的值为上表中给出的值,应具有
|
||||
|
||||
```json
|
||||
{
|
||||
"root": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"info": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"info": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"uid": {
|
||||
"type": "string",
|
||||
"title": "导出记录的 UID"
|
||||
},
|
||||
"lang": {
|
||||
"type": "string",
|
||||
"title": "语言 languagecode2-country/regioncode2"
|
||||
},
|
||||
"export_timestamp": {
|
||||
"type": "number",
|
||||
"title": "导出 UNIX 时间戳(秒)"
|
||||
},
|
||||
"export_time": {
|
||||
"type": "string",
|
||||
"title": "导出时间",
|
||||
"description": "yyyy-MM-dd HH:mm:ss"
|
||||
},
|
||||
"export_app": {
|
||||
"type": "string",
|
||||
"title": "导出 App 名称"
|
||||
},
|
||||
"export_app_version": {
|
||||
"type": "string",
|
||||
"title": "导出 App 版本"
|
||||
},
|
||||
"uigf_version": {
|
||||
"type": "string",
|
||||
"title": "UIGF 版本号",
|
||||
"pattern": "v\\d+\\.\\d+"
|
||||
},
|
||||
"region_time_zone": {
|
||||
"type": "number",
|
||||
"title": "区域时区偏移"
|
||||
}
|
||||
},
|
||||
"required": ["uid", "uigf_version"],
|
||||
"title": "UIGF 导出信息"
|
||||
},
|
||||
"list": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"uid": {
|
||||
"uigf_gacha_type": {
|
||||
"type": "string",
|
||||
"title": "导出记录的 UID"
|
||||
"title": "UIGF 卡池类型",
|
||||
"description": "用于区分卡池类型不同,但卡池保底计算相同的物品"
|
||||
},
|
||||
"lang": {
|
||||
"gacha_type": {
|
||||
"type": "string",
|
||||
"title": "语言 languagecode2-country/regioncode2"
|
||||
"title": "卡池类型"
|
||||
},
|
||||
"export_timestamp": {
|
||||
"type": "number",
|
||||
"title": "导出 UNIX 时间戳(秒)"
|
||||
},
|
||||
"export_time": {
|
||||
"item_id": {
|
||||
"type": "string",
|
||||
"title": "导出时间",
|
||||
"description": "yyyy-MM-dd HH:mm:ss"
|
||||
"title": "物品的内部 ID"
|
||||
},
|
||||
"export_app": {
|
||||
"count": {
|
||||
"type": "string",
|
||||
"title": "导出 App 名称"
|
||||
"title": "个数,一般为1"
|
||||
},
|
||||
"export_app_version": {
|
||||
"time": {
|
||||
"type": "string",
|
||||
"title": "导出 App 版本"
|
||||
"title": "获取物品的时间"
|
||||
},
|
||||
"uigf_version": {
|
||||
"name": {
|
||||
"type": "string",
|
||||
"title": "UIGF 版本号",
|
||||
"pattern": "v\\d+\\.\\d+"
|
||||
"title": "物品名称"
|
||||
},
|
||||
"region_time_zone": {
|
||||
"type": "number",
|
||||
"title": "区域时区偏移"
|
||||
"item_type": {
|
||||
"type": "string",
|
||||
"title": "物品类型"
|
||||
},
|
||||
"rank_type": {
|
||||
"type": "string",
|
||||
"title": "物品等级"
|
||||
},
|
||||
"id": {
|
||||
"type": "string",
|
||||
"title": "记录内部 ID"
|
||||
}
|
||||
},
|
||||
"required": ["uid", "uigf_version"],
|
||||
"title": "UIGF 导出信息"
|
||||
"required": ["uigf_gacha_type", "gacha_type", "id", "item_id", "time"],
|
||||
"title": "UIGF 物品"
|
||||
},
|
||||
"list": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"uigf_gacha_type": {
|
||||
"type": "string",
|
||||
"title": "UIGF 卡池类型",
|
||||
"description": "用于区分卡池类型不同,但卡池保底计算相同的物品"
|
||||
},
|
||||
"gacha_type": {
|
||||
"type": "string",
|
||||
"title": "卡池类型"
|
||||
},
|
||||
"item_id": {
|
||||
"type": "string",
|
||||
"title": "物品的内部 ID"
|
||||
},
|
||||
"count": {
|
||||
"type": "string",
|
||||
"title": "个数",
|
||||
"description": "一般为1"
|
||||
},
|
||||
"time": {
|
||||
"type": "string",
|
||||
"title": "获取物品的时间"
|
||||
},
|
||||
"name": {
|
||||
"type": "string",
|
||||
"title": "物品名称"
|
||||
},
|
||||
"item_type": {
|
||||
"type": "string",
|
||||
"title": "物品类型"
|
||||
},
|
||||
"rank_type": {
|
||||
"type": "string",
|
||||
"title": "物品等级"
|
||||
},
|
||||
"id": {
|
||||
"type": "string",
|
||||
"title": "记录内部 ID"
|
||||
}
|
||||
},
|
||||
"required": ["uigf_gacha_type", "gacha_type", "id", "item_id", "time"],
|
||||
"title": "UIGF 物品"
|
||||
},
|
||||
"title": "物品列表"
|
||||
}
|
||||
},
|
||||
"required": ["info", "list"],
|
||||
"title": "UIGF 根对象"
|
||||
}
|
||||
"title": "物品列表"
|
||||
}
|
||||
},
|
||||
"required": ["info", "list"],
|
||||
"title": "UIGF 根对象"
|
||||
}
|
||||
```
|
||||
|
||||
23
eslint.config.js
Normal file
@@ -0,0 +1,23 @@
|
||||
import { jsonEslintConfig } from "./eslint/jsonEslint.js";
|
||||
import { vueEslintConfig } from "./eslint/vueEslint.js";
|
||||
import ymlEslintConfig from "./eslint/ymlEslint.js";
|
||||
|
||||
export default [
|
||||
...jsonEslintConfig,
|
||||
ymlEslintConfig,
|
||||
...vueEslintConfig,
|
||||
{
|
||||
ignores: [
|
||||
"dist",
|
||||
"src-tauri/target",
|
||||
"pnpm-lock.yaml",
|
||||
"src/data/**/*.json",
|
||||
"src-tauri/tauri.conf.json",
|
||||
"qodana.yaml",
|
||||
".github",
|
||||
".vscode",
|
||||
".prettierrc.yml",
|
||||
".stylelintrc.yml",
|
||||
],
|
||||
},
|
||||
];
|
||||
95
eslint/jsonEslint.js
Normal file
@@ -0,0 +1,95 @@
|
||||
import eslint_jsonc from "eslint-plugin-jsonc";
|
||||
import jsonc_parser from "jsonc-eslint-parser";
|
||||
|
||||
const pkgJsonConfig = {
|
||||
files: ["package.json"],
|
||||
plugins: {
|
||||
jsonc: eslint_jsonc,
|
||||
},
|
||||
languageOptions: {
|
||||
parser: jsonc_parser,
|
||||
},
|
||||
rules: {
|
||||
"jsonc/comma-dangle": ["error", "never"],
|
||||
"jsonc/sort-keys": [
|
||||
"error",
|
||||
{
|
||||
pathPattern: "^$",
|
||||
order: [
|
||||
"name",
|
||||
"version",
|
||||
"description",
|
||||
"type",
|
||||
"packageManager",
|
||||
"scripts",
|
||||
"lint-staged",
|
||||
"keywords",
|
||||
"author",
|
||||
"license",
|
||||
"repository",
|
||||
"homepage",
|
||||
"bugs",
|
||||
"dependencies",
|
||||
"devDependencies",
|
||||
],
|
||||
},
|
||||
],
|
||||
},
|
||||
};
|
||||
|
||||
const tscJsonConfig = {
|
||||
files: ["tsconfig.json"],
|
||||
plugins: {
|
||||
jsonc: eslint_jsonc,
|
||||
},
|
||||
languageOptions: {
|
||||
parser: jsonc_parser,
|
||||
},
|
||||
rules: {
|
||||
"jsonc/comma-dangle": ["error", "never"],
|
||||
"jsonc/sort-keys": [
|
||||
"error",
|
||||
{
|
||||
pathPattern: "^$",
|
||||
order: [
|
||||
"compilerOptions",
|
||||
"include",
|
||||
"exclude",
|
||||
"extends",
|
||||
"files",
|
||||
"references",
|
||||
"typeAcquisition",
|
||||
],
|
||||
},
|
||||
],
|
||||
},
|
||||
};
|
||||
|
||||
const jsoncConfig = {
|
||||
files: ["source/data/out/**/*.json", ".vscode/**/*.json"],
|
||||
plugins: {
|
||||
jsonc: eslint_jsonc,
|
||||
},
|
||||
languageOptions: {
|
||||
parser: jsonc_parser,
|
||||
},
|
||||
rules: {
|
||||
"jsonc/comma-dangle": ["error", "never"],
|
||||
"jsonc/sort-keys": [
|
||||
"error",
|
||||
{
|
||||
pathPattern: "^$",
|
||||
order: {
|
||||
type: "asc",
|
||||
},
|
||||
},
|
||||
],
|
||||
},
|
||||
};
|
||||
|
||||
export const jsonEslintConfig = [
|
||||
...eslint_jsonc.configs["flat/recommended-with-json"],
|
||||
pkgJsonConfig,
|
||||
tscJsonConfig,
|
||||
jsoncConfig,
|
||||
];
|
||||
87
eslint/vueEslint.js
Normal file
@@ -0,0 +1,87 @@
|
||||
import eslint_js from "@eslint/js";
|
||||
import eslint_import from "eslint-plugin-import";
|
||||
import eslint_prettier from "eslint-plugin-prettier";
|
||||
import eslint_vue from "eslint-plugin-vue";
|
||||
import pluginVue from "eslint-plugin-vue";
|
||||
import globals from "globals";
|
||||
import eslint_ts from "typescript-eslint";
|
||||
import vue_parser from "vue-eslint-parser";
|
||||
|
||||
const tsConfigRules = {
|
||||
"@typescript-eslint/consistent-type-assertions": [
|
||||
"error",
|
||||
{
|
||||
assertionStyle: "angle-bracket",
|
||||
},
|
||||
],
|
||||
"@typescript-eslint/no-import-type-side-effects": "error",
|
||||
"@typescript-eslint/strict-boolean-expressions": "off",
|
||||
"@typescript-eslint/no-explicit-any": "off",
|
||||
"import/order": [
|
||||
"error",
|
||||
{
|
||||
groups: ["builtin", "external", "internal", "parent", "sibling", "index", "unknown"],
|
||||
"newlines-between": "always",
|
||||
alphabetize: {
|
||||
order: "asc",
|
||||
caseInsensitive: true,
|
||||
},
|
||||
},
|
||||
],
|
||||
"prettier/prettier": "error",
|
||||
};
|
||||
|
||||
const tsConfig = {
|
||||
files: ["*.ts"],
|
||||
plugins: {
|
||||
typescript: eslint_ts,
|
||||
import: eslint_import,
|
||||
prettier: eslint_prettier,
|
||||
},
|
||||
languageOptions: {
|
||||
parser: eslint_ts.parser,
|
||||
parserOptions: {
|
||||
project: "tsconfig.json",
|
||||
tsconfigRootDir: ".",
|
||||
},
|
||||
},
|
||||
rules: tsConfigRules,
|
||||
};
|
||||
|
||||
const vueConfig = {
|
||||
plugins: {
|
||||
vue: eslint_vue,
|
||||
import: eslint_import,
|
||||
prettier: eslint_prettier,
|
||||
},
|
||||
languageOptions: {
|
||||
globals: {
|
||||
...globals.browser,
|
||||
...globals.es2021,
|
||||
TGApp: "readonly",
|
||||
window: "readonly",
|
||||
},
|
||||
ecmaVersion: "latest",
|
||||
sourceType: "module",
|
||||
parser: vue_parser,
|
||||
parserOptions: {
|
||||
project: "tsconfig.json",
|
||||
parser: eslint_ts.parser,
|
||||
extraFileExtensions: [".vue"],
|
||||
tsconfigRootDir: ".",
|
||||
},
|
||||
},
|
||||
rules: {
|
||||
...tsConfigRules,
|
||||
"vue/multi-word-component-names": "off",
|
||||
},
|
||||
};
|
||||
|
||||
export const vueEslintConfig = [
|
||||
eslint_js.configs.recommended,
|
||||
...eslint_ts.configs.recommended,
|
||||
...eslint_vue.configs["flat/essential"],
|
||||
...pluginVue.configs["flat/essential"],
|
||||
tsConfig,
|
||||
vueConfig,
|
||||
];
|
||||
30
eslint/ymlEslint.js
Normal file
@@ -0,0 +1,30 @@
|
||||
import eslint_yml from "eslint-plugin-yml";
|
||||
import yml_parser from "yaml-eslint-parser";
|
||||
|
||||
const ymlEslintConfig = {
|
||||
files: ["**/*.yml", "**/*.yaml"],
|
||||
plugins: {
|
||||
yml: eslint_yml,
|
||||
},
|
||||
languageOptions: {
|
||||
parser: yml_parser,
|
||||
parserOptions: {
|
||||
defaultYAMLVersion: "1.2",
|
||||
extraFileExtensions: [".yaml", ".yml"],
|
||||
},
|
||||
},
|
||||
rules: {
|
||||
"yml/indent": ["error", 2],
|
||||
"yml/key-spacing": ["error"],
|
||||
"yml/quotes": [
|
||||
"error",
|
||||
{
|
||||
prefer: "double",
|
||||
avoidEscape: true,
|
||||
},
|
||||
],
|
||||
"yml/sort-keys": ["error", "asc"],
|
||||
},
|
||||
};
|
||||
|
||||
export default ymlEslintConfig;
|
||||
66
package.json
@@ -1,9 +1,10 @@
|
||||
{
|
||||
"name": "TeyvatGuide",
|
||||
"version": "0.4.2",
|
||||
"version": "0.4.6",
|
||||
"description": "Game Tool for Genshin Impact player",
|
||||
"private": true,
|
||||
"packageManager": "pnpm@8.14.1",
|
||||
"packageManager": "pnpm@9.0.5",
|
||||
"type": "module",
|
||||
"scripts": {
|
||||
"build": "tauri build",
|
||||
"debug": "tauri build --debug",
|
||||
@@ -66,11 +67,11 @@
|
||||
},
|
||||
"dependencies": {
|
||||
"@mdi/font": "7.4.47",
|
||||
"@tauri-apps/api": "^1.5.3",
|
||||
"@tauri-apps/api": "^1.5.4",
|
||||
"artplayer": "^5.1.1",
|
||||
"clipboard": "^2.0.11",
|
||||
"color-convert": "^2.0.1",
|
||||
"echarts": "^5.4.3",
|
||||
"echarts": "^5.5.0",
|
||||
"html2canvas": "^1.4.1",
|
||||
"js-md5": "^0.8.3",
|
||||
"pinia": "^2.1.7",
|
||||
@@ -79,49 +80,54 @@
|
||||
"tauri-plugin-log-api": "github:tauri-apps/tauri-plugin-log#v1",
|
||||
"tauri-plugin-sql-api": "github:tauri-apps/tauri-plugin-sql#v1",
|
||||
"uuid": "^9.0.1",
|
||||
"vue": "^3.4.15",
|
||||
"vue-echarts": "^6.6.8",
|
||||
"vue": "^3.4.24",
|
||||
"vue-echarts": "^6.7.0",
|
||||
"vue-json-viewer": "^3.0.4",
|
||||
"vue-router": "^4.2.5",
|
||||
"vuetify": "^3.5.0",
|
||||
"wcag-color": "^1.1.1"
|
||||
"vue-router": "^4.3.2",
|
||||
"vuetify": "^3.5.16",
|
||||
"wcag-color": "^1.1.1",
|
||||
"xml-js": "^1.6.11"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@tauri-apps/cli": "^1.5.9",
|
||||
"@eslint/eslintrc": "^3.0.2",
|
||||
"@eslint/js": "^9.1.1",
|
||||
"@tauri-apps/cli": "^1.5.11",
|
||||
"@types/color-convert": "^2.0.3",
|
||||
"@types/js-md5": "^0.7.2",
|
||||
"@types/node": "^20.11.5",
|
||||
"@types/uuid": "^9.0.7",
|
||||
"@typescript-eslint/eslint-plugin": "^6.19.0",
|
||||
"@typescript-eslint/parser": "^6.19.0",
|
||||
"@vitejs/plugin-vue": "^5.0.3",
|
||||
"@types/node": "^20.12.7",
|
||||
"@types/uuid": "^9.0.8",
|
||||
"@typescript-eslint/parser": "^7.7.1",
|
||||
"@vitejs/plugin-vue": "^5.0.4",
|
||||
"concurrently": "^8.2.2",
|
||||
"eslint": "^8.56.0",
|
||||
"eslint": "^9.1.1",
|
||||
"eslint-config-love": "^47.0.0",
|
||||
"eslint-config-prettier": "^9.1.0",
|
||||
"eslint-config-standard-with-typescript": "^43.0.0",
|
||||
"eslint-plugin-import": "^2.29.1",
|
||||
"eslint-plugin-jsonc": "^2.12.2",
|
||||
"eslint-plugin-n": "^16.6.2",
|
||||
"eslint-plugin-jsonc": "^2.15.1",
|
||||
"eslint-plugin-n": "^17.2.1",
|
||||
"eslint-plugin-prettier": "^5.1.3",
|
||||
"eslint-plugin-promise": "^6.1.1",
|
||||
"eslint-plugin-vue": "^9.20.1",
|
||||
"eslint-plugin-yml": "^1.12.2",
|
||||
"husky": "^8.0.3",
|
||||
"eslint-plugin-vue": "^9.25.0",
|
||||
"eslint-plugin-yml": "^1.14.0",
|
||||
"globals": "^15.0.0",
|
||||
"husky": "^9.0.11",
|
||||
"jsonc-eslint-parser": "^2.4.0",
|
||||
"lint-staged": "^15.2.0",
|
||||
"oxlint": "^0.2.1",
|
||||
"prettier": "3.2.4",
|
||||
"stylelint": "^16.2.0",
|
||||
"lint-staged": "^15.2.2",
|
||||
"oxlint": "^0.3.1",
|
||||
"prettier": "3.2.5",
|
||||
"stylelint": "^16.3.1",
|
||||
"stylelint-config-idiomatic-order": "^10.0.0",
|
||||
"stylelint-config-standard-vue": "^1.0.0",
|
||||
"stylelint-declaration-block-no-ignored-properties": "^2.8.0",
|
||||
"stylelint-high-performance-animation": "^1.10.0",
|
||||
"stylelint-order": "^6.0.4",
|
||||
"stylelint-prettier": "^5.0.0",
|
||||
"typescript": "^5.3.3",
|
||||
"vite": "^5.0.12",
|
||||
"vite-plugin-vue-devtools": "^7.0.11",
|
||||
"vite-plugin-vuetify": "^2.0.1",
|
||||
"typescript": "^5.4.5",
|
||||
"typescript-eslint": "^7.7.1",
|
||||
"vite": "^5.2.10",
|
||||
"vite-plugin-vue-devtools": "^7.0.27",
|
||||
"vite-plugin-vuetify": "^2.0.3",
|
||||
"vue-eslint-parser": "^9.4.2",
|
||||
"yaml-eslint-parser": "^1.2.2"
|
||||
}
|
||||
}
|
||||
|
||||
7368
pnpm-lock.yaml
generated
BIN
public/WIKI/GCG/normal/万世流涌大典.webp
Normal file
|
After Width: | Height: | Size: 60 KiB |
BIN
public/WIKI/GCG/normal/久岐忍.webp
Normal file
|
After Width: | Height: | Size: 55 KiB |
BIN
public/WIKI/GCG/normal/以有趣相关为要义.webp
Normal file
|
After Width: | Height: | Size: 37 KiB |
BIN
public/WIKI/GCG/normal/公义的酬报.webp
Normal file
|
After Width: | Height: | Size: 48 KiB |
BIN
public/WIKI/GCG/normal/割舍软弱之心.webp
Normal file
|
After Width: | Height: | Size: 41 KiB |
BIN
public/WIKI/GCG/normal/压制特化型机关.webp
Normal file
|
After Width: | Height: | Size: 64 KiB |
BIN
public/WIKI/GCG/normal/古海孑遗的权柄.webp
Normal file
|
After Width: | Height: | Size: 70 KiB |
BIN
public/WIKI/GCG/normal/可控性去危害化式定向爆破.webp
Normal file
|
After Width: | Height: | Size: 51 KiB |
BIN
public/WIKI/GCG/normal/嗜雷·兽境猎犬.webp
Normal file
|
After Width: | Height: | Size: 52 KiB |
BIN
public/WIKI/GCG/normal/夏洛蒂.webp
Normal file
|
After Width: | Height: | Size: 53 KiB |
BIN
public/WIKI/GCG/normal/大型冰史莱姆.webp
Normal file
|
After Width: | Height: | Size: 41 KiB |
BIN
public/WIKI/GCG/normal/太郎丸.webp
Normal file
|
After Width: | Height: | Size: 28 KiB |
BIN
public/WIKI/GCG/normal/妙道合真.webp
Normal file
|
After Width: | Height: | Size: 36 KiB |
BIN
public/WIKI/GCG/normal/愚人众·雷萤术士.webp
Normal file
|
After Width: | Height: | Size: 74 KiB |
BIN
public/WIKI/GCG/normal/抗争之日·碎梦之时.webp
Normal file
|
After Width: | Height: | Size: 50 KiB |
BIN
public/WIKI/GCG/normal/攻坚特化型机关.webp
Normal file
|
After Width: | Height: | Size: 64 KiB |
BIN
public/WIKI/GCG/normal/暗流涌动.webp
Normal file
|
After Width: | Height: | Size: 68 KiB |
BIN
public/WIKI/GCG/normal/梅洛彼得堡.webp
Normal file
|
After Width: | Height: | Size: 57 KiB |
BIN
public/WIKI/GCG/normal/沿途百景会心.webp
Normal file
|
After Width: | Height: | Size: 39 KiB |
BIN
public/WIKI/GCG/normal/流明石触媒.webp
Normal file
|
After Width: | Height: | Size: 35 KiB |
BIN
public/WIKI/GCG/normal/海中寻宝.webp
Normal file
|
After Width: | Height: | Size: 39 KiB |
BIN
public/WIKI/GCG/normal/深渊使徒·激流.webp
Normal file
|
After Width: | Height: | Size: 69 KiB |
BIN
public/WIKI/GCG/normal/清籁岛.webp
Normal file
|
After Width: | Height: | Size: 55 KiB |
BIN
public/WIKI/GCG/normal/熔火铁甲.webp
Normal file
|
After Width: | Height: | Size: 59 KiB |
BIN
public/WIKI/GCG/normal/珐露珊.webp
Normal file
|
After Width: | Height: | Size: 56 KiB |
BIN
public/WIKI/GCG/normal/白手套和渔夫.webp
Normal file
|
After Width: | Height: | Size: 46 KiB |
BIN
public/WIKI/GCG/normal/紫晶的花冠.webp
Normal file
|
After Width: | Height: | Size: 56 KiB |
BIN
public/WIKI/GCG/normal/绮良良.webp
Normal file
|
After Width: | Height: | Size: 57 KiB |
BIN
public/WIKI/GCG/normal/缤纷马卡龙.webp
Normal file
|
After Width: | Height: | Size: 54 KiB |
BIN
public/WIKI/GCG/normal/那维莱特.webp
Normal file
|
After Width: | Height: | Size: 76 KiB |
BIN
public/WIKI/GCG/normal/铁甲熔火帝皇.webp
Normal file
|
After Width: | Height: | Size: 79 KiB |
BIN
public/WIKI/GCG/normal/雷萤浮闪.webp
Normal file
|
After Width: | Height: | Size: 77 KiB |
BIN
public/WIKI/GCG/normal/黄金剧团的奖赏.webp
Normal file
|
After Width: | Height: | Size: 51 KiB |
BIN
public/WIKI/character/10000094.webp
Normal file
|
After Width: | Height: | Size: 16 KiB |
BIN
public/WIKI/character/10000096.webp
Normal file
|
After Width: | Height: | Size: 15 KiB |
BIN
public/WIKI/weapon/11514.webp
Normal file
|
After Width: | Height: | Size: 7.8 KiB |
BIN
public/WIKI/weapon/13426.webp
Normal file
|
After Width: | Height: | Size: 9.5 KiB |
BIN
public/WIKI/weapon/13512.webp
Normal file
|
After Width: | Height: | Size: 10 KiB |
BIN
public/icon/achievement/UI_AchievementIcon_A018.webp
Normal file
|
After Width: | Height: | Size: 21 KiB |
BIN
public/icon/achievement/UI_AchievementIcon_B004_Part9.webp
Normal file
|
After Width: | Height: | Size: 26 KiB |
BIN
public/icon/constellations/UI_Talent_S_Arlecchino_01.webp
Normal file
|
After Width: | Height: | Size: 2.5 KiB |
BIN
public/icon/constellations/UI_Talent_S_Arlecchino_02.webp
Normal file
|
After Width: | Height: | Size: 2.9 KiB |
BIN
public/icon/constellations/UI_Talent_S_Arlecchino_03.webp
Normal file
|
After Width: | Height: | Size: 3.2 KiB |
BIN
public/icon/constellations/UI_Talent_S_Arlecchino_04.webp
Normal file
|
After Width: | Height: | Size: 2.9 KiB |
BIN
public/icon/constellations/UI_Talent_S_Chiori_01.webp
Normal file
|
After Width: | Height: | Size: 1.9 KiB |
BIN
public/icon/constellations/UI_Talent_S_Chiori_02.webp
Normal file
|
After Width: | Height: | Size: 2.8 KiB |
BIN
public/icon/constellations/UI_Talent_S_Chiori_03.webp
Normal file
|
After Width: | Height: | Size: 3.4 KiB |
BIN
public/icon/constellations/UI_Talent_S_Chiori_04.webp
Normal file
|
After Width: | Height: | Size: 2.7 KiB |
BIN
public/icon/constellations/UI_Talent_U_Arlecchino_01.webp
Normal file
|
After Width: | Height: | Size: 2.6 KiB |
BIN
public/icon/constellations/UI_Talent_U_Arlecchino_02.webp
Normal file
|
After Width: | Height: | Size: 2.8 KiB |
BIN
public/icon/constellations/UI_Talent_U_Chiori_01.webp
Normal file
|
After Width: | Height: | Size: 3.6 KiB |
BIN
public/icon/constellations/UI_Talent_U_Chiori_02.webp
Normal file
|
After Width: | Height: | Size: 3.0 KiB |
BIN
public/icon/material/101322.webp
Normal file
|
After Width: | Height: | Size: 7.7 KiB |
BIN
public/icon/material/112098.webp
Normal file
|
After Width: | Height: | Size: 4.5 KiB |
BIN
public/icon/material/112099.webp
Normal file
|
After Width: | Height: | Size: 5.8 KiB |
BIN
public/icon/material/112100.webp
Normal file
|
After Width: | Height: | Size: 7.2 KiB |
BIN
public/icon/material/113059.webp
Normal file
|
After Width: | Height: | Size: 10 KiB |
BIN
public/icon/material/113060.webp
Normal file
|
After Width: | Height: | Size: 14 KiB |
BIN
public/icon/material/113061.webp
Normal file
|
After Width: | Height: | Size: 10 KiB |
BIN
public/icon/material/113062.webp
Normal file
|
After Width: | Height: | Size: 14 KiB |
BIN
public/icon/material/120791.webp
Normal file
|
After Width: | Height: | Size: 8.9 KiB |
BIN
public/icon/material/129001.webp
Normal file
|
After Width: | Height: | Size: 13 KiB |
BIN
public/icon/material/140001.webp
Normal file
|
After Width: | Height: | Size: 7.5 KiB |
BIN
public/icon/material/140002.webp
Normal file
|
After Width: | Height: | Size: 9.8 KiB |
BIN
public/icon/material/140003.webp
Normal file
|
After Width: | Height: | Size: 10 KiB |
BIN
public/icon/material/140004.webp
Normal file
|
After Width: | Height: | Size: 11 KiB |
BIN
public/icon/material/140005.webp
Normal file
|
After Width: | Height: | Size: 13 KiB |
BIN
public/icon/material/140006.webp
Normal file
|
After Width: | Height: | Size: 10 KiB |
BIN
public/icon/material/140007.webp
Normal file
|
After Width: | Height: | Size: 13 KiB |
BIN
public/icon/material/140008.webp
Normal file
|
After Width: | Height: | Size: 16 KiB |
BIN
public/icon/material/140009.webp
Normal file
|
After Width: | Height: | Size: 12 KiB |
BIN
public/icon/material/140010.webp
Normal file
|
After Width: | Height: | Size: 12 KiB |
BIN
public/icon/material/140011.webp
Normal file
|
After Width: | Height: | Size: 13 KiB |
BIN
public/icon/material/140012.webp
Normal file
|
After Width: | Height: | Size: 15 KiB |
BIN
public/icon/material/140013.webp
Normal file
|
After Width: | Height: | Size: 11 KiB |
BIN
public/icon/material/220097.webp
Normal file
|
After Width: | Height: | Size: 9.7 KiB |
BIN
public/icon/material/220098.webp
Normal file
|
After Width: | Height: | Size: 8.0 KiB |
BIN
public/icon/talents/Skill_E_Arlecchino_01.webp
Normal file
|
After Width: | Height: | Size: 2.1 KiB |
BIN
public/icon/talents/Skill_E_Chiori_01.webp
Normal file
|
After Width: | Height: | Size: 2.1 KiB |
BIN
public/icon/talents/Skill_S_Arlecchino_01.webp
Normal file
|
After Width: | Height: | Size: 3.8 KiB |
BIN
public/icon/talents/Skill_S_Chiori_01.webp
Normal file
|
After Width: | Height: | Size: 3.6 KiB |
BIN
public/icon/talents/UI_Talent_S_Arlecchino_05.webp
Normal file
|
After Width: | Height: | Size: 2.8 KiB |
BIN
public/icon/talents/UI_Talent_S_Arlecchino_06.webp
Normal file
|
After Width: | Height: | Size: 2.2 KiB |
BIN
public/icon/talents/UI_Talent_S_Arlecchino_07.webp
Normal file
|
After Width: | Height: | Size: 2.3 KiB |
BIN
public/icon/talents/UI_Talent_S_Chiori_05.webp
Normal file
|
After Width: | Height: | Size: 2.7 KiB |
BIN
public/icon/talents/UI_Talent_S_Chiori_06.webp
Normal file
|
After Width: | Height: | Size: 3.1 KiB |