Compare commits
106 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e4057d96ea | ||
|
|
d3b24d52c9 | ||
|
|
711d35360f | ||
|
|
f0428d0bae | ||
|
|
59a686cace | ||
|
|
b628df5ae9 | ||
|
|
b22d23f663 | ||
|
|
ad3289ec5f | ||
|
|
ec73110a43 | ||
|
|
6dd5c89cd8 | ||
|
|
e79fdf607f | ||
|
|
9c736a0241 | ||
|
|
8fed953df0 | ||
|
|
b1520d8069 | ||
|
|
0c4a688535 | ||
|
|
3ba6584b1e | ||
|
|
a4e0e59172 | ||
|
|
0c561ff98f | ||
|
|
817ae298b1 | ||
|
|
92d2e847bd | ||
|
|
d0f12446a8 | ||
|
|
a07d673776 | ||
|
|
083381f2ec | ||
|
|
040f49a33e | ||
|
|
3cfa00a2f6 | ||
|
|
f6068e5bac | ||
|
|
557d68956e | ||
|
|
2f14405cab | ||
|
|
2803d06418 | ||
|
|
298096858f | ||
|
|
7e11b467d1 | ||
|
|
7cd66ffb2d | ||
|
|
5de9c0a76f | ||
|
|
9a3b2ff9b9 | ||
|
|
afa0ba190b | ||
|
|
6316cc42b2 | ||
|
|
abb0a6e751 | ||
|
|
c89dfae2f7 | ||
|
|
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 |
@@ -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: 请填写其他信息
|
||||
9
.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
|
||||
|
||||
@@ -40,11 +43,11 @@ jobs:
|
||||
- name: setup node
|
||||
uses: actions/setup-node@v3
|
||||
with:
|
||||
node-version: 18.16.0
|
||||
node-version: 22.0.0
|
||||
- name: setup pnpm
|
||||
uses: pnpm/action-setup@v2
|
||||
with:
|
||||
version: 8.14.1
|
||||
version: 9.1.0
|
||||
- name: remove lockfile
|
||||
run: rm pnpm-lock.yaml
|
||||
- name: Install frontend dependencies
|
||||
|
||||
4
.github/workflows/qodana_code_quality.yml
vendored
@@ -14,11 +14,11 @@ jobs:
|
||||
- name: setup node
|
||||
uses: actions/setup-node@v3
|
||||
with:
|
||||
node-version: 21.4.0
|
||||
node-version: 22.0.0
|
||||
- name: setup pnpm
|
||||
uses: pnpm/action-setup@v2
|
||||
with:
|
||||
version: 8.14.1
|
||||
version: 9.1.0
|
||||
- name: remove lockfile
|
||||
run: rm -f pnpm-lock.yaml
|
||||
- name: Install dependencies
|
||||
|
||||
79
CHANGELOG.md
@@ -2,13 +2,84 @@
|
||||
Author: 目棃
|
||||
Description: CHANGELOG
|
||||
Date: 2024-01-15
|
||||
Update: 2024-02-09
|
||||
Update: 2024-06-14
|
||||
---
|
||||
|
||||
> 本文档 [`Frontmatter`](https://github.com/BTMuli/MuCli#Frontmatter) 由 [MuCli](https://github.com/BTMuli/Mucli)
|
||||
> 自动生成于 `2024-01-15 17:29:15`
|
||||
> 本文档 [`Frontmatter`](https://github.com/BTMuli/MuCli#Frontmatter) 由 [MuCli](https://github.com/BTMuli/Mucli) 自动生成于 `2024-01-15 17:29:15`
|
||||
>
|
||||
> 更新于 `2024-02-09 20:30:26`
|
||||
> 更新于 `2024-06-14 22:52:08`
|
||||
|
||||
## [0.4.9](https://github.com/BTMuli/TeyvatGuide/releases/v0.4.9) (2024-06-14)
|
||||
|
||||
- 💄 调整帖子 `tag` 样式
|
||||
- 🐛 修复成就导入异常
|
||||
- ✏️ 修正角色图鉴部分描述
|
||||
- 🍱 更新卡牌资料
|
||||
- ⚡️ 成就查询输入为空时重置结果
|
||||
|
||||
## [0.4.8](https://github.com/BTMuli/TeyvatGuide/releases/v0.4.8) (2024-06-04)
|
||||
|
||||
- 🐛 修复名片解析异常 [`#110`](https://github.com/BTMuli/TeyvatGuide/issues/110)
|
||||
- 💄 调整链接组件样式
|
||||
- 💄 调整首页生日组件样式
|
||||
- 🐛 修复版本搜索失效,未完成成就优先
|
||||
- 🍱 更新 4.7 版本资源 [`#112`](https://github.com/BTMuli/TeyvatGuide/issues/112)
|
||||
|
||||
## [0.4.7](https://github.com/BTMuli/TeyvatGuide/releases/v0.4.7) (2024-05-10)
|
||||
|
||||
- 🐛 修复 mention 类型渲染异常
|
||||
- ⚡️ 对签到链接跳转进行处理,优化部分网页活动打开
|
||||
- ♻️ 重构用户祈愿数据库相关处理
|
||||
- 🔥 隐藏网页登录模块 [`#108`](https://github.com/BTMuli/TeyvatGuide/issues/108)
|
||||
- ✨ 采用 ajv 验证 UIGF [`#109`](https://github.com/BTMuli/TeyvatGuide/issues/109)
|
||||
- 💄 完善公告`table`&`p`部分的渲染
|
||||
- 💄 调整帖子文本部分的样式
|
||||
- ♻️ UIAF重构,支持祈愿备份/恢复
|
||||
- ⚡️ 完善公告正则
|
||||
- ♻️ 名片组件抽离,wiki添加名片信息
|
||||
|
||||
## [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)
|
||||
|
||||
|
||||
@@ -2,16 +2,16 @@
|
||||
Author: 目棃
|
||||
Description: 说明文档
|
||||
Date: 2023-03-05
|
||||
Update: 2024-03-13
|
||||
Update: 2024-04-05
|
||||
---
|
||||
|
||||
> 本文档 [`Frontmatter`](https://github.com/BTMuli/MuCli#Frontmatter) 由 [MuCli](https://github.com/BTMuli/Mucli) 自动生成于 `2023-03-05 14:41:55`
|
||||
>
|
||||
> 更新于 `2024-03-13 15:51:39`
|
||||
> 更新于 `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" />
|
||||
@@ -49,6 +49,8 @@ Game Tool for Genshin Impact player, supports Windows and macOS.
|
||||
- [x] 米游社各分区帖子获取(支持通过 ID 获取)
|
||||
- [x] 成就管理(UIAF v1.1),支持 [`YaeAchievement`](https://github.com/HolographicHat/YaeAchievement) 导入
|
||||
- [x] 祈愿管理(UIGF v3.0)
|
||||
- [x] 留影叙佳期画片查看
|
||||
- [x] 帖子收藏
|
||||
|
||||
- 登陆功能:
|
||||
|
||||
|
||||
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",
|
||||
],
|
||||
},
|
||||
];
|
||||
94
eslint/jsonEslint.js
Normal file
@@ -0,0 +1,94 @@
|
||||
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",
|
||||
"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;
|
||||
65
package.json
@@ -1,9 +1,9 @@
|
||||
{
|
||||
"name": "TeyvatGuide",
|
||||
"version": "0.4.4",
|
||||
"version": "0.4.9",
|
||||
"description": "Game Tool for Genshin Impact player",
|
||||
"private": true,
|
||||
"packageManager": "pnpm@8.15.3",
|
||||
"type": "module",
|
||||
"scripts": {
|
||||
"build": "tauri build",
|
||||
"debug": "tauri build --debug",
|
||||
@@ -66,8 +66,9 @@
|
||||
},
|
||||
"dependencies": {
|
||||
"@mdi/font": "7.4.47",
|
||||
"@tauri-apps/api": "^1.5.3",
|
||||
"artplayer": "^5.1.1",
|
||||
"@tauri-apps/api": "^1.5.6",
|
||||
"ajv": "^8.16.0",
|
||||
"artplayer": "^5.1.5",
|
||||
"clipboard": "^2.0.11",
|
||||
"color-convert": "^2.0.1",
|
||||
"echarts": "^5.5.0",
|
||||
@@ -78,51 +79,55 @@
|
||||
"qrcode.vue": "^3.4.1",
|
||||
"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.19",
|
||||
"vue-echarts": "^6.6.9",
|
||||
"uuid": "^10.0.0",
|
||||
"vue": "^3.4.27",
|
||||
"vue-echarts": "^6.7.3",
|
||||
"vue-json-viewer": "^3.0.4",
|
||||
"vue-router": "^4.3.0",
|
||||
"vuetify": "^3.5.8",
|
||||
"vue-router": "^4.3.3",
|
||||
"vuetify": "^3.6.9",
|
||||
"wcag-color": "^1.1.1",
|
||||
"xml-js": "^1.6.11"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@tauri-apps/cli": "^1.5.10",
|
||||
"@eslint/eslintrc": "^3.1.0",
|
||||
"@eslint/js": "^9.4.0",
|
||||
"@tauri-apps/cli": "^1.5.14",
|
||||
"@types/color-convert": "^2.0.3",
|
||||
"@types/js-md5": "^0.7.2",
|
||||
"@types/node": "^20.11.20",
|
||||
"@types/node": "^20.14.2",
|
||||
"@types/uuid": "^9.0.8",
|
||||
"@typescript-eslint/eslint-plugin": "^7.0.2",
|
||||
"@typescript-eslint/parser": "^7.0.2",
|
||||
"@vitejs/plugin-vue": "^5.0.4",
|
||||
"@typescript-eslint/parser": "^7.13.0",
|
||||
"@vitejs/plugin-vue": "^5.0.5",
|
||||
"concurrently": "^8.2.2",
|
||||
"eslint": "^8.56.0",
|
||||
"eslint": "^9.4.0",
|
||||
"eslint-config-love": "^52.0.0",
|
||||
"eslint-config-prettier": "^9.1.0",
|
||||
"eslint-config-standard-with-typescript": "^43.0.1",
|
||||
"eslint-plugin-import": "^2.29.1",
|
||||
"eslint-plugin-jsonc": "^2.13.0",
|
||||
"eslint-plugin-n": "^16.6.2",
|
||||
"eslint-plugin-jsonc": "^2.16.0",
|
||||
"eslint-plugin-n": "^17.8.1",
|
||||
"eslint-plugin-prettier": "^5.1.3",
|
||||
"eslint-plugin-promise": "^6.1.1",
|
||||
"eslint-plugin-vue": "^9.22.0",
|
||||
"eslint-plugin-yml": "^1.12.2",
|
||||
"eslint-plugin-promise": "^6.2.0",
|
||||
"eslint-plugin-vue": "^9.26.0",
|
||||
"eslint-plugin-yml": "^1.14.0",
|
||||
"globals": "^15.4.0",
|
||||
"husky": "^9.0.11",
|
||||
"jsonc-eslint-parser": "^2.4.0",
|
||||
"lint-staged": "^15.2.2",
|
||||
"oxlint": "^0.2.10",
|
||||
"prettier": "3.2.5",
|
||||
"stylelint": "^16.2.1",
|
||||
"lint-staged": "^15.2.6",
|
||||
"oxlint": "^0.4.3",
|
||||
"prettier": "3.3.2",
|
||||
"stylelint": "^16.6.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.1.4",
|
||||
"vite-plugin-vue-devtools": "^7.0.15",
|
||||
"vite-plugin-vuetify": "^2.0.1",
|
||||
"yaml-eslint-parser": "^1.2.2"
|
||||
"typescript": "^5.4.5",
|
||||
"typescript-eslint": "^7.13.0",
|
||||
"vite": "^5.2.13",
|
||||
"vite-plugin-vue-devtools": "^7.2.1",
|
||||
"vite-plugin-vuetify": "^2.0.3",
|
||||
"vue-eslint-parser": "^9.4.3",
|
||||
"yaml-eslint-parser": "^1.2.3"
|
||||
}
|
||||
}
|
||||
|
||||
7437
pnpm-lock.yaml
generated
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: 68 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: 55 KiB |
BIN
public/WIKI/GCG/normal/乐园遗落之花.webp
Normal file
|
After Width: | Height: | Size: 65 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: 68 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: 65 KiB |
BIN
public/WIKI/GCG/normal/亡风啸卷.webp
Normal file
|
After Width: | Height: | Size: 62 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: 36 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: 54 KiB |
BIN
public/WIKI/GCG/normal/吞星之鲸.webp
Normal file
|
After Width: | Height: | Size: 63 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: 62 KiB |
BIN
public/WIKI/GCG/normal/地狱里摇摆.webp
Normal file
|
After Width: | Height: | Size: 42 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: 35 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/幻戏倒计时:3.webp
Normal file
|
After Width: | Height: | Size: 67 KiB |
BIN
public/WIKI/GCG/normal/庄谐并举.webp
Normal file
|
After Width: | Height: | Size: 43 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: 68 KiB |
BIN
public/WIKI/GCG/normal/机关·算力增幅器.webp
Normal file
|
After Width: | Height: | Size: 42 KiB |
BIN
public/WIKI/GCG/normal/机关·算力增幅器·芒.webp
Normal file
|
After Width: | Height: | Size: 49 KiB |
BIN
public/WIKI/GCG/normal/机关·算力增幅器·荒.webp
Normal file
|
After Width: | Height: | Size: 49 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: 55 KiB |
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: 60 KiB |
BIN
public/WIKI/GCG/normal/水与正义.webp
Normal file
|
After Width: | Height: | Size: 62 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: 53 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: 54 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: 35 KiB |
BIN
public/WIKI/GCG/normal/莱欧斯利.webp
Normal file
|
After Width: | Height: | Size: 63 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: 53 KiB |
BIN
public/WIKI/GCG/normal/逐影猎人.webp
Normal file
|
After Width: | Height: | Size: 58 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: 79 KiB |
BIN
public/WIKI/GCG/normal/阿佩普的绿洲守望者.webp
Normal file
|
After Width: | Height: | Size: 75 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: 54 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: 55 KiB |
BIN
public/WIKI/character/10000095.webp
Normal file
|
After Width: | Height: | Size: 19 KiB |
BIN
public/WIKI/character/10000096.webp
Normal file
|
After Width: | Height: | Size: 15 KiB |
BIN
public/WIKI/character/10000097.webp
Normal file
|
After Width: | Height: | Size: 15 KiB |
BIN
public/WIKI/character/10000098.webp
Normal file
|
After Width: | Height: | Size: 16 KiB |
BIN
public/WIKI/weapon/11515.webp
Normal file
|
After Width: | Height: | Size: 11 KiB |
BIN
public/WIKI/weapon/13512.webp
Normal file
|
After Width: | Height: | Size: 10 KiB |
BIN
public/WIKI/weapon/15426.webp
Normal file
|
After Width: | Height: | Size: 12 KiB |
BIN
public/WIKI/weapon/15513.webp
Normal file
|
After Width: | Height: | Size: 16 KiB |
BIN
public/icon/achievement/UI_AchievementIcon_A018.webp
Normal file
|
After Width: | Height: | Size: 13 KiB |
BIN
public/icon/achievement/UI_AchievementIcon_B004_Part9.webp
Normal file
|
After Width: | Height: | Size: 20 KiB |
BIN
public/icon/achievement/UI_AchievementIcon_B006.webp
Normal file
|
After Width: | Height: | Size: 11 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_Clorinde_01.webp
Normal file
|
After Width: | Height: | Size: 3.2 KiB |
BIN
public/icon/constellations/UI_Talent_S_Clorinde_02.webp
Normal file
|
After Width: | Height: | Size: 3.1 KiB |
BIN
public/icon/constellations/UI_Talent_S_Clorinde_03.webp
Normal file
|
After Width: | Height: | Size: 2.6 KiB |
BIN
public/icon/constellations/UI_Talent_S_Clorinde_04.webp
Normal file
|
After Width: | Height: | Size: 2.5 KiB |
BIN
public/icon/constellations/UI_Talent_S_Sethos_01.webp
Normal file
|
After Width: | Height: | Size: 2.8 KiB |
BIN
public/icon/constellations/UI_Talent_S_Sethos_02.webp
Normal file
|
After Width: | Height: | Size: 2.6 KiB |
BIN
public/icon/constellations/UI_Talent_S_Sethos_03.webp
Normal file
|
After Width: | Height: | Size: 2.8 KiB |
BIN
public/icon/constellations/UI_Talent_S_Sethos_04.webp
Normal file
|
After Width: | Height: | Size: 2.9 KiB |
BIN
public/icon/constellations/UI_Talent_S_Sigewinne_01.webp
Normal file
|
After Width: | Height: | Size: 2.0 KiB |
BIN
public/icon/constellations/UI_Talent_S_Sigewinne_02.webp
Normal file
|
After Width: | Height: | Size: 3.2 KiB |
BIN
public/icon/constellations/UI_Talent_S_Sigewinne_03.webp
Normal file
|
After Width: | Height: | Size: 3.4 KiB |
BIN
public/icon/constellations/UI_Talent_S_Sigewinne_04.webp
Normal file
|
After Width: | Height: | Size: 2.4 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 |