mirror of
https://github.com/BTMuli/TeyvatGuide.git
synced 2026-03-16 04:03:17 +08:00
🚨 解决Qodana报错
This commit is contained in:
@@ -99,7 +99,7 @@
|
||||
"devDependencies": {
|
||||
"@eslint/eslintrc": "^3.1.0",
|
||||
"@eslint/js": "^9.9.1",
|
||||
"@tauri-apps/cli": "2.0.0-beta.21",
|
||||
"@tauri-apps/cli": "2.0.0-rc.11",
|
||||
"@types/color-convert": "^2.0.3",
|
||||
"@types/js-md5": "^0.7.2",
|
||||
"@types/node": "^22.5.4",
|
||||
|
||||
1203
pnpm-lock.yaml
generated
1203
pnpm-lock.yaml
generated
File diff suppressed because it is too large
Load Diff
@@ -701,6 +701,7 @@
|
||||
"identifier": "default",
|
||||
"description": "Default permissions for the plugin.",
|
||||
"permissions": [
|
||||
"allow-get-all-webviews",
|
||||
"allow-webview-position",
|
||||
"allow-webview-size",
|
||||
"allow-internal-toggle-devtools"
|
||||
@@ -717,6 +718,11 @@
|
||||
"description": "Enables the create_webview_window command without any pre-configured scope.",
|
||||
"commands": { "allow": ["create_webview_window"], "deny": [] }
|
||||
},
|
||||
"allow-get-all-webviews": {
|
||||
"identifier": "allow-get-all-webviews",
|
||||
"description": "Enables the get_all_webviews command without any pre-configured scope.",
|
||||
"commands": { "allow": ["get_all_webviews"], "deny": [] }
|
||||
},
|
||||
"allow-internal-toggle-devtools": {
|
||||
"identifier": "allow-internal-toggle-devtools",
|
||||
"description": "Enables the internal_toggle_devtools command without any pre-configured scope.",
|
||||
@@ -777,6 +783,11 @@
|
||||
"description": "Denies the create_webview_window command without any pre-configured scope.",
|
||||
"commands": { "allow": [], "deny": ["create_webview_window"] }
|
||||
},
|
||||
"deny-get-all-webviews": {
|
||||
"identifier": "deny-get-all-webviews",
|
||||
"description": "Denies the get_all_webviews command without any pre-configured scope.",
|
||||
"commands": { "allow": [], "deny": ["get_all_webviews"] }
|
||||
},
|
||||
"deny-internal-toggle-devtools": {
|
||||
"identifier": "deny-internal-toggle-devtools",
|
||||
"description": "Denies the internal_toggle_devtools command without any pre-configured scope.",
|
||||
@@ -836,6 +847,7 @@
|
||||
"identifier": "default",
|
||||
"description": "Default permissions for the plugin.",
|
||||
"permissions": [
|
||||
"allow-get-all-windows",
|
||||
"allow-scale-factor",
|
||||
"allow-inner-position",
|
||||
"allow-outer-position",
|
||||
@@ -897,6 +909,11 @@
|
||||
"description": "Enables the destroy command without any pre-configured scope.",
|
||||
"commands": { "allow": ["destroy"], "deny": [] }
|
||||
},
|
||||
"allow-get-all-windows": {
|
||||
"identifier": "allow-get-all-windows",
|
||||
"description": "Enables the get_all_windows command without any pre-configured scope.",
|
||||
"commands": { "allow": ["get_all_windows"], "deny": [] }
|
||||
},
|
||||
"allow-hide": {
|
||||
"identifier": "allow-hide",
|
||||
"description": "Enables the hide command without any pre-configured scope.",
|
||||
@@ -1222,6 +1239,11 @@
|
||||
"description": "Denies the destroy command without any pre-configured scope.",
|
||||
"commands": { "allow": [], "deny": ["destroy"] }
|
||||
},
|
||||
"deny-get-all-windows": {
|
||||
"identifier": "deny-get-all-windows",
|
||||
"description": "Denies the get_all_windows command without any pre-configured scope.",
|
||||
"commands": { "allow": [], "deny": ["get_all_windows"] }
|
||||
},
|
||||
"deny-hide": {
|
||||
"identifier": "deny-hide",
|
||||
"description": "Denies the hide command without any pre-configured scope.",
|
||||
@@ -1989,451 +2011,451 @@
|
||||
"identifier": "scope-app",
|
||||
"description": "This scope permits access to all files and list content of top level directories in the `$APP`folder.",
|
||||
"commands": { "allow": [], "deny": [] },
|
||||
"scope": { "allow": [{ "path": "$APP/*" }] }
|
||||
"scope": { "allow": [{ "path": "$APP" }, { "path": "$APP/*" }] }
|
||||
},
|
||||
"scope-app-index": {
|
||||
"identifier": "scope-app-index",
|
||||
"description": "This scope permits to list all files and folders in the `$APP`folder.",
|
||||
"commands": { "allow": [], "deny": [] },
|
||||
"scope": { "allow": [{ "path": "$APP/" }] }
|
||||
"scope": { "allow": [{ "path": "$APP" }] }
|
||||
},
|
||||
"scope-app-recursive": {
|
||||
"identifier": "scope-app-recursive",
|
||||
"description": "This scope permits recursive access to the complete `$APP` folder, including sub directories and files.",
|
||||
"commands": { "allow": [], "deny": [] },
|
||||
"scope": { "allow": [{ "path": "$APP/**" }] }
|
||||
"scope": { "allow": [{ "path": "$APP" }, { "path": "$APP/**" }] }
|
||||
},
|
||||
"scope-appcache": {
|
||||
"identifier": "scope-appcache",
|
||||
"description": "This scope permits access to all files and list content of top level directories in the `$APPCACHE`folder.",
|
||||
"commands": { "allow": [], "deny": [] },
|
||||
"scope": { "allow": [{ "path": "$APPCACHE/*" }] }
|
||||
"scope": { "allow": [{ "path": "$APPCACHE" }, { "path": "$APPCACHE/*" }] }
|
||||
},
|
||||
"scope-appcache-index": {
|
||||
"identifier": "scope-appcache-index",
|
||||
"description": "This scope permits to list all files and folders in the `$APPCACHE`folder.",
|
||||
"commands": { "allow": [], "deny": [] },
|
||||
"scope": { "allow": [{ "path": "$APPCACHE/" }] }
|
||||
"scope": { "allow": [{ "path": "$APPCACHE" }] }
|
||||
},
|
||||
"scope-appcache-recursive": {
|
||||
"identifier": "scope-appcache-recursive",
|
||||
"description": "This scope permits recursive access to the complete `$APPCACHE` folder, including sub directories and files.",
|
||||
"commands": { "allow": [], "deny": [] },
|
||||
"scope": { "allow": [{ "path": "$APPCACHE/**" }] }
|
||||
"scope": { "allow": [{ "path": "$APPCACHE" }, { "path": "$APPCACHE/**" }] }
|
||||
},
|
||||
"scope-appconfig": {
|
||||
"identifier": "scope-appconfig",
|
||||
"description": "This scope permits access to all files and list content of top level directories in the `$APPCONFIG`folder.",
|
||||
"commands": { "allow": [], "deny": [] },
|
||||
"scope": { "allow": [{ "path": "$APPCONFIG/*" }] }
|
||||
"scope": { "allow": [{ "path": "$APPCONFIG" }, { "path": "$APPCONFIG/*" }] }
|
||||
},
|
||||
"scope-appconfig-index": {
|
||||
"identifier": "scope-appconfig-index",
|
||||
"description": "This scope permits to list all files and folders in the `$APPCONFIG`folder.",
|
||||
"commands": { "allow": [], "deny": [] },
|
||||
"scope": { "allow": [{ "path": "$APPCONFIG/" }] }
|
||||
"scope": { "allow": [{ "path": "$APPCONFIG" }] }
|
||||
},
|
||||
"scope-appconfig-recursive": {
|
||||
"identifier": "scope-appconfig-recursive",
|
||||
"description": "This scope permits recursive access to the complete `$APPCONFIG` folder, including sub directories and files.",
|
||||
"commands": { "allow": [], "deny": [] },
|
||||
"scope": { "allow": [{ "path": "$APPCONFIG/**" }] }
|
||||
"scope": { "allow": [{ "path": "$APPCONFIG" }, { "path": "$APPCONFIG/**" }] }
|
||||
},
|
||||
"scope-appdata": {
|
||||
"identifier": "scope-appdata",
|
||||
"description": "This scope permits access to all files and list content of top level directories in the `$APPDATA`folder.",
|
||||
"commands": { "allow": [], "deny": [] },
|
||||
"scope": { "allow": [{ "path": "$APPDATA/*" }] }
|
||||
"scope": { "allow": [{ "path": "$APPDATA" }, { "path": "$APPDATA/*" }] }
|
||||
},
|
||||
"scope-appdata-index": {
|
||||
"identifier": "scope-appdata-index",
|
||||
"description": "This scope permits to list all files and folders in the `$APPDATA`folder.",
|
||||
"commands": { "allow": [], "deny": [] },
|
||||
"scope": { "allow": [{ "path": "$APPDATA/" }] }
|
||||
"scope": { "allow": [{ "path": "$APPDATA" }] }
|
||||
},
|
||||
"scope-appdata-recursive": {
|
||||
"identifier": "scope-appdata-recursive",
|
||||
"description": "This scope permits recursive access to the complete `$APPDATA` folder, including sub directories and files.",
|
||||
"commands": { "allow": [], "deny": [] },
|
||||
"scope": { "allow": [{ "path": "$APPDATA/**" }] }
|
||||
"scope": { "allow": [{ "path": "$APPDATA" }, { "path": "$APPDATA/**" }] }
|
||||
},
|
||||
"scope-applocaldata": {
|
||||
"identifier": "scope-applocaldata",
|
||||
"description": "This scope permits access to all files and list content of top level directories in the `$APPLOCALDATA`folder.",
|
||||
"commands": { "allow": [], "deny": [] },
|
||||
"scope": { "allow": [{ "path": "$APPLOCALDATA/*" }] }
|
||||
"scope": { "allow": [{ "path": "$APPLOCALDATA" }, { "path": "$APPLOCALDATA/*" }] }
|
||||
},
|
||||
"scope-applocaldata-index": {
|
||||
"identifier": "scope-applocaldata-index",
|
||||
"description": "This scope permits to list all files and folders in the `$APPLOCALDATA`folder.",
|
||||
"commands": { "allow": [], "deny": [] },
|
||||
"scope": { "allow": [{ "path": "$APPLOCALDATA/" }] }
|
||||
"scope": { "allow": [{ "path": "$APPLOCALDATA" }] }
|
||||
},
|
||||
"scope-applocaldata-recursive": {
|
||||
"identifier": "scope-applocaldata-recursive",
|
||||
"description": "This scope permits recursive access to the complete `$APPLOCALDATA` folder, including sub directories and files.",
|
||||
"commands": { "allow": [], "deny": [] },
|
||||
"scope": { "allow": [{ "path": "$APPLOCALDATA/**" }] }
|
||||
"scope": { "allow": [{ "path": "$APPLOCALDATA" }, { "path": "$APPLOCALDATA/**" }] }
|
||||
},
|
||||
"scope-applog": {
|
||||
"identifier": "scope-applog",
|
||||
"description": "This scope permits access to all files and list content of top level directories in the `$APPLOG`folder.",
|
||||
"commands": { "allow": [], "deny": [] },
|
||||
"scope": { "allow": [{ "path": "$APPLOG/*" }] }
|
||||
"scope": { "allow": [{ "path": "$APPLOG" }, { "path": "$APPLOG/*" }] }
|
||||
},
|
||||
"scope-applog-index": {
|
||||
"identifier": "scope-applog-index",
|
||||
"description": "This scope permits to list all files and folders in the `$APPLOG`folder.",
|
||||
"commands": { "allow": [], "deny": [] },
|
||||
"scope": { "allow": [{ "path": "$APPLOG/" }] }
|
||||
"scope": { "allow": [{ "path": "$APPLOG" }] }
|
||||
},
|
||||
"scope-applog-recursive": {
|
||||
"identifier": "scope-applog-recursive",
|
||||
"description": "This scope permits recursive access to the complete `$APPLOG` folder, including sub directories and files.",
|
||||
"commands": { "allow": [], "deny": [] },
|
||||
"scope": { "allow": [{ "path": "$APPLOG/**" }] }
|
||||
"scope": { "allow": [{ "path": "$APPLOG" }, { "path": "$APPLOG/**" }] }
|
||||
},
|
||||
"scope-audio": {
|
||||
"identifier": "scope-audio",
|
||||
"description": "This scope permits access to all files and list content of top level directories in the `$AUDIO`folder.",
|
||||
"commands": { "allow": [], "deny": [] },
|
||||
"scope": { "allow": [{ "path": "$AUDIO/*" }] }
|
||||
"scope": { "allow": [{ "path": "$AUDIO" }, { "path": "$AUDIO/*" }] }
|
||||
},
|
||||
"scope-audio-index": {
|
||||
"identifier": "scope-audio-index",
|
||||
"description": "This scope permits to list all files and folders in the `$AUDIO`folder.",
|
||||
"commands": { "allow": [], "deny": [] },
|
||||
"scope": { "allow": [{ "path": "$AUDIO/" }] }
|
||||
"scope": { "allow": [{ "path": "$AUDIO" }] }
|
||||
},
|
||||
"scope-audio-recursive": {
|
||||
"identifier": "scope-audio-recursive",
|
||||
"description": "This scope permits recursive access to the complete `$AUDIO` folder, including sub directories and files.",
|
||||
"commands": { "allow": [], "deny": [] },
|
||||
"scope": { "allow": [{ "path": "$AUDIO/**" }] }
|
||||
"scope": { "allow": [{ "path": "$AUDIO" }, { "path": "$AUDIO/**" }] }
|
||||
},
|
||||
"scope-cache": {
|
||||
"identifier": "scope-cache",
|
||||
"description": "This scope permits access to all files and list content of top level directories in the `$CACHE`folder.",
|
||||
"commands": { "allow": [], "deny": [] },
|
||||
"scope": { "allow": [{ "path": "$CACHE/*" }] }
|
||||
"scope": { "allow": [{ "path": "$CACHE" }, { "path": "$CACHE/*" }] }
|
||||
},
|
||||
"scope-cache-index": {
|
||||
"identifier": "scope-cache-index",
|
||||
"description": "This scope permits to list all files and folders in the `$CACHE`folder.",
|
||||
"commands": { "allow": [], "deny": [] },
|
||||
"scope": { "allow": [{ "path": "$CACHE/" }] }
|
||||
"scope": { "allow": [{ "path": "$CACHE" }] }
|
||||
},
|
||||
"scope-cache-recursive": {
|
||||
"identifier": "scope-cache-recursive",
|
||||
"description": "This scope permits recursive access to the complete `$CACHE` folder, including sub directories and files.",
|
||||
"commands": { "allow": [], "deny": [] },
|
||||
"scope": { "allow": [{ "path": "$CACHE/**" }] }
|
||||
"scope": { "allow": [{ "path": "$CACHE" }, { "path": "$CACHE/**" }] }
|
||||
},
|
||||
"scope-config": {
|
||||
"identifier": "scope-config",
|
||||
"description": "This scope permits access to all files and list content of top level directories in the `$CONFIG`folder.",
|
||||
"commands": { "allow": [], "deny": [] },
|
||||
"scope": { "allow": [{ "path": "$CONFIG/*" }] }
|
||||
"scope": { "allow": [{ "path": "$CONFIG" }, { "path": "$CONFIG/*" }] }
|
||||
},
|
||||
"scope-config-index": {
|
||||
"identifier": "scope-config-index",
|
||||
"description": "This scope permits to list all files and folders in the `$CONFIG`folder.",
|
||||
"commands": { "allow": [], "deny": [] },
|
||||
"scope": { "allow": [{ "path": "$CONFIG/" }] }
|
||||
"scope": { "allow": [{ "path": "$CONFIG" }] }
|
||||
},
|
||||
"scope-config-recursive": {
|
||||
"identifier": "scope-config-recursive",
|
||||
"description": "This scope permits recursive access to the complete `$CONFIG` folder, including sub directories and files.",
|
||||
"commands": { "allow": [], "deny": [] },
|
||||
"scope": { "allow": [{ "path": "$CONFIG/**" }] }
|
||||
"scope": { "allow": [{ "path": "$CONFIG" }, { "path": "$CONFIG/**" }] }
|
||||
},
|
||||
"scope-data": {
|
||||
"identifier": "scope-data",
|
||||
"description": "This scope permits access to all files and list content of top level directories in the `$DATA`folder.",
|
||||
"commands": { "allow": [], "deny": [] },
|
||||
"scope": { "allow": [{ "path": "$DATA/*" }] }
|
||||
"scope": { "allow": [{ "path": "$DATA" }, { "path": "$DATA/*" }] }
|
||||
},
|
||||
"scope-data-index": {
|
||||
"identifier": "scope-data-index",
|
||||
"description": "This scope permits to list all files and folders in the `$DATA`folder.",
|
||||
"commands": { "allow": [], "deny": [] },
|
||||
"scope": { "allow": [{ "path": "$DATA/" }] }
|
||||
"scope": { "allow": [{ "path": "$DATA" }] }
|
||||
},
|
||||
"scope-data-recursive": {
|
||||
"identifier": "scope-data-recursive",
|
||||
"description": "This scope permits recursive access to the complete `$DATA` folder, including sub directories and files.",
|
||||
"commands": { "allow": [], "deny": [] },
|
||||
"scope": { "allow": [{ "path": "$DATA/**" }] }
|
||||
"scope": { "allow": [{ "path": "$DATA" }, { "path": "$DATA/**" }] }
|
||||
},
|
||||
"scope-desktop": {
|
||||
"identifier": "scope-desktop",
|
||||
"description": "This scope permits access to all files and list content of top level directories in the `$DESKTOP`folder.",
|
||||
"commands": { "allow": [], "deny": [] },
|
||||
"scope": { "allow": [{ "path": "$DESKTOP/*" }] }
|
||||
"scope": { "allow": [{ "path": "$DESKTOP" }, { "path": "$DESKTOP/*" }] }
|
||||
},
|
||||
"scope-desktop-index": {
|
||||
"identifier": "scope-desktop-index",
|
||||
"description": "This scope permits to list all files and folders in the `$DESKTOP`folder.",
|
||||
"commands": { "allow": [], "deny": [] },
|
||||
"scope": { "allow": [{ "path": "$DESKTOP/" }] }
|
||||
"scope": { "allow": [{ "path": "$DESKTOP" }] }
|
||||
},
|
||||
"scope-desktop-recursive": {
|
||||
"identifier": "scope-desktop-recursive",
|
||||
"description": "This scope permits recursive access to the complete `$DESKTOP` folder, including sub directories and files.",
|
||||
"commands": { "allow": [], "deny": [] },
|
||||
"scope": { "allow": [{ "path": "$DESKTOP/**" }] }
|
||||
"scope": { "allow": [{ "path": "$DESKTOP" }, { "path": "$DESKTOP/**" }] }
|
||||
},
|
||||
"scope-document": {
|
||||
"identifier": "scope-document",
|
||||
"description": "This scope permits access to all files and list content of top level directories in the `$DOCUMENT`folder.",
|
||||
"commands": { "allow": [], "deny": [] },
|
||||
"scope": { "allow": [{ "path": "$DOCUMENT/*" }] }
|
||||
"scope": { "allow": [{ "path": "$DOCUMENT" }, { "path": "$DOCUMENT/*" }] }
|
||||
},
|
||||
"scope-document-index": {
|
||||
"identifier": "scope-document-index",
|
||||
"description": "This scope permits to list all files and folders in the `$DOCUMENT`folder.",
|
||||
"commands": { "allow": [], "deny": [] },
|
||||
"scope": { "allow": [{ "path": "$DOCUMENT/" }] }
|
||||
"scope": { "allow": [{ "path": "$DOCUMENT" }] }
|
||||
},
|
||||
"scope-document-recursive": {
|
||||
"identifier": "scope-document-recursive",
|
||||
"description": "This scope permits recursive access to the complete `$DOCUMENT` folder, including sub directories and files.",
|
||||
"commands": { "allow": [], "deny": [] },
|
||||
"scope": { "allow": [{ "path": "$DOCUMENT/**" }] }
|
||||
"scope": { "allow": [{ "path": "$DOCUMENT" }, { "path": "$DOCUMENT/**" }] }
|
||||
},
|
||||
"scope-download": {
|
||||
"identifier": "scope-download",
|
||||
"description": "This scope permits access to all files and list content of top level directories in the `$DOWNLOAD`folder.",
|
||||
"commands": { "allow": [], "deny": [] },
|
||||
"scope": { "allow": [{ "path": "$DOWNLOAD/*" }] }
|
||||
"scope": { "allow": [{ "path": "$DOWNLOAD" }, { "path": "$DOWNLOAD/*" }] }
|
||||
},
|
||||
"scope-download-index": {
|
||||
"identifier": "scope-download-index",
|
||||
"description": "This scope permits to list all files and folders in the `$DOWNLOAD`folder.",
|
||||
"commands": { "allow": [], "deny": [] },
|
||||
"scope": { "allow": [{ "path": "$DOWNLOAD/" }] }
|
||||
"scope": { "allow": [{ "path": "$DOWNLOAD" }] }
|
||||
},
|
||||
"scope-download-recursive": {
|
||||
"identifier": "scope-download-recursive",
|
||||
"description": "This scope permits recursive access to the complete `$DOWNLOAD` folder, including sub directories and files.",
|
||||
"commands": { "allow": [], "deny": [] },
|
||||
"scope": { "allow": [{ "path": "$DOWNLOAD/**" }] }
|
||||
"scope": { "allow": [{ "path": "$DOWNLOAD" }, { "path": "$DOWNLOAD/**" }] }
|
||||
},
|
||||
"scope-exe": {
|
||||
"identifier": "scope-exe",
|
||||
"description": "This scope permits access to all files and list content of top level directories in the `$EXE`folder.",
|
||||
"commands": { "allow": [], "deny": [] },
|
||||
"scope": { "allow": [{ "path": "$EXE/*" }] }
|
||||
"scope": { "allow": [{ "path": "$EXE" }, { "path": "$EXE/*" }] }
|
||||
},
|
||||
"scope-exe-index": {
|
||||
"identifier": "scope-exe-index",
|
||||
"description": "This scope permits to list all files and folders in the `$EXE`folder.",
|
||||
"commands": { "allow": [], "deny": [] },
|
||||
"scope": { "allow": [{ "path": "$EXE/" }] }
|
||||
"scope": { "allow": [{ "path": "$EXE" }] }
|
||||
},
|
||||
"scope-exe-recursive": {
|
||||
"identifier": "scope-exe-recursive",
|
||||
"description": "This scope permits recursive access to the complete `$EXE` folder, including sub directories and files.",
|
||||
"commands": { "allow": [], "deny": [] },
|
||||
"scope": { "allow": [{ "path": "$EXE/**" }] }
|
||||
"scope": { "allow": [{ "path": "$EXE" }, { "path": "$EXE/**" }] }
|
||||
},
|
||||
"scope-font": {
|
||||
"identifier": "scope-font",
|
||||
"description": "This scope permits access to all files and list content of top level directories in the `$FONT`folder.",
|
||||
"commands": { "allow": [], "deny": [] },
|
||||
"scope": { "allow": [{ "path": "$FONT/*" }] }
|
||||
"scope": { "allow": [{ "path": "$FONT" }, { "path": "$FONT/*" }] }
|
||||
},
|
||||
"scope-font-index": {
|
||||
"identifier": "scope-font-index",
|
||||
"description": "This scope permits to list all files and folders in the `$FONT`folder.",
|
||||
"commands": { "allow": [], "deny": [] },
|
||||
"scope": { "allow": [{ "path": "$FONT/" }] }
|
||||
"scope": { "allow": [{ "path": "$FONT" }] }
|
||||
},
|
||||
"scope-font-recursive": {
|
||||
"identifier": "scope-font-recursive",
|
||||
"description": "This scope permits recursive access to the complete `$FONT` folder, including sub directories and files.",
|
||||
"commands": { "allow": [], "deny": [] },
|
||||
"scope": { "allow": [{ "path": "$FONT/**" }] }
|
||||
"scope": { "allow": [{ "path": "$FONT" }, { "path": "$FONT/**" }] }
|
||||
},
|
||||
"scope-home": {
|
||||
"identifier": "scope-home",
|
||||
"description": "This scope permits access to all files and list content of top level directories in the `$HOME`folder.",
|
||||
"commands": { "allow": [], "deny": [] },
|
||||
"scope": { "allow": [{ "path": "$HOME/*" }] }
|
||||
"scope": { "allow": [{ "path": "$HOME" }, { "path": "$HOME/*" }] }
|
||||
},
|
||||
"scope-home-index": {
|
||||
"identifier": "scope-home-index",
|
||||
"description": "This scope permits to list all files and folders in the `$HOME`folder.",
|
||||
"commands": { "allow": [], "deny": [] },
|
||||
"scope": { "allow": [{ "path": "$HOME/" }] }
|
||||
"scope": { "allow": [{ "path": "$HOME" }] }
|
||||
},
|
||||
"scope-home-recursive": {
|
||||
"identifier": "scope-home-recursive",
|
||||
"description": "This scope permits recursive access to the complete `$HOME` folder, including sub directories and files.",
|
||||
"commands": { "allow": [], "deny": [] },
|
||||
"scope": { "allow": [{ "path": "$HOME/**" }] }
|
||||
"scope": { "allow": [{ "path": "$HOME" }, { "path": "$HOME/**" }] }
|
||||
},
|
||||
"scope-localdata": {
|
||||
"identifier": "scope-localdata",
|
||||
"description": "This scope permits access to all files and list content of top level directories in the `$LOCALDATA`folder.",
|
||||
"commands": { "allow": [], "deny": [] },
|
||||
"scope": { "allow": [{ "path": "$LOCALDATA/*" }] }
|
||||
"scope": { "allow": [{ "path": "$LOCALDATA" }, { "path": "$LOCALDATA/*" }] }
|
||||
},
|
||||
"scope-localdata-index": {
|
||||
"identifier": "scope-localdata-index",
|
||||
"description": "This scope permits to list all files and folders in the `$LOCALDATA`folder.",
|
||||
"commands": { "allow": [], "deny": [] },
|
||||
"scope": { "allow": [{ "path": "$LOCALDATA/" }] }
|
||||
"scope": { "allow": [{ "path": "$LOCALDATA" }] }
|
||||
},
|
||||
"scope-localdata-recursive": {
|
||||
"identifier": "scope-localdata-recursive",
|
||||
"description": "This scope permits recursive access to the complete `$LOCALDATA` folder, including sub directories and files.",
|
||||
"commands": { "allow": [], "deny": [] },
|
||||
"scope": { "allow": [{ "path": "$LOCALDATA/**" }] }
|
||||
"scope": { "allow": [{ "path": "$LOCALDATA" }, { "path": "$LOCALDATA/**" }] }
|
||||
},
|
||||
"scope-log": {
|
||||
"identifier": "scope-log",
|
||||
"description": "This scope permits access to all files and list content of top level directories in the `$LOG`folder.",
|
||||
"commands": { "allow": [], "deny": [] },
|
||||
"scope": { "allow": [{ "path": "$LOG/*" }] }
|
||||
"scope": { "allow": [{ "path": "$LOG" }, { "path": "$LOG/*" }] }
|
||||
},
|
||||
"scope-log-index": {
|
||||
"identifier": "scope-log-index",
|
||||
"description": "This scope permits to list all files and folders in the `$LOG`folder.",
|
||||
"commands": { "allow": [], "deny": [] },
|
||||
"scope": { "allow": [{ "path": "$LOG/" }] }
|
||||
"scope": { "allow": [{ "path": "$LOG" }] }
|
||||
},
|
||||
"scope-log-recursive": {
|
||||
"identifier": "scope-log-recursive",
|
||||
"description": "This scope permits recursive access to the complete `$LOG` folder, including sub directories and files.",
|
||||
"commands": { "allow": [], "deny": [] },
|
||||
"scope": { "allow": [{ "path": "$LOG/**" }] }
|
||||
"scope": { "allow": [{ "path": "$LOG" }, { "path": "$LOG/**" }] }
|
||||
},
|
||||
"scope-picture": {
|
||||
"identifier": "scope-picture",
|
||||
"description": "This scope permits access to all files and list content of top level directories in the `$PICTURE`folder.",
|
||||
"commands": { "allow": [], "deny": [] },
|
||||
"scope": { "allow": [{ "path": "$PICTURE/*" }] }
|
||||
"scope": { "allow": [{ "path": "$PICTURE" }, { "path": "$PICTURE/*" }] }
|
||||
},
|
||||
"scope-picture-index": {
|
||||
"identifier": "scope-picture-index",
|
||||
"description": "This scope permits to list all files and folders in the `$PICTURE`folder.",
|
||||
"commands": { "allow": [], "deny": [] },
|
||||
"scope": { "allow": [{ "path": "$PICTURE/" }] }
|
||||
"scope": { "allow": [{ "path": "$PICTURE" }] }
|
||||
},
|
||||
"scope-picture-recursive": {
|
||||
"identifier": "scope-picture-recursive",
|
||||
"description": "This scope permits recursive access to the complete `$PICTURE` folder, including sub directories and files.",
|
||||
"commands": { "allow": [], "deny": [] },
|
||||
"scope": { "allow": [{ "path": "$PICTURE/**" }] }
|
||||
"scope": { "allow": [{ "path": "$PICTURE" }, { "path": "$PICTURE/**" }] }
|
||||
},
|
||||
"scope-public": {
|
||||
"identifier": "scope-public",
|
||||
"description": "This scope permits access to all files and list content of top level directories in the `$PUBLIC`folder.",
|
||||
"commands": { "allow": [], "deny": [] },
|
||||
"scope": { "allow": [{ "path": "$PUBLIC/*" }] }
|
||||
"scope": { "allow": [{ "path": "$PUBLIC" }, { "path": "$PUBLIC/*" }] }
|
||||
},
|
||||
"scope-public-index": {
|
||||
"identifier": "scope-public-index",
|
||||
"description": "This scope permits to list all files and folders in the `$PUBLIC`folder.",
|
||||
"commands": { "allow": [], "deny": [] },
|
||||
"scope": { "allow": [{ "path": "$PUBLIC/" }] }
|
||||
"scope": { "allow": [{ "path": "$PUBLIC" }] }
|
||||
},
|
||||
"scope-public-recursive": {
|
||||
"identifier": "scope-public-recursive",
|
||||
"description": "This scope permits recursive access to the complete `$PUBLIC` folder, including sub directories and files.",
|
||||
"commands": { "allow": [], "deny": [] },
|
||||
"scope": { "allow": [{ "path": "$PUBLIC/**" }] }
|
||||
"scope": { "allow": [{ "path": "$PUBLIC" }, { "path": "$PUBLIC/**" }] }
|
||||
},
|
||||
"scope-resource": {
|
||||
"identifier": "scope-resource",
|
||||
"description": "This scope permits access to all files and list content of top level directories in the `$RESOURCE`folder.",
|
||||
"commands": { "allow": [], "deny": [] },
|
||||
"scope": { "allow": [{ "path": "$RESOURCE/*" }] }
|
||||
"scope": { "allow": [{ "path": "$RESOURCE" }, { "path": "$RESOURCE/*" }] }
|
||||
},
|
||||
"scope-resource-index": {
|
||||
"identifier": "scope-resource-index",
|
||||
"description": "This scope permits to list all files and folders in the `$RESOURCE`folder.",
|
||||
"commands": { "allow": [], "deny": [] },
|
||||
"scope": { "allow": [{ "path": "$RESOURCE/" }] }
|
||||
"scope": { "allow": [{ "path": "$RESOURCE" }] }
|
||||
},
|
||||
"scope-resource-recursive": {
|
||||
"identifier": "scope-resource-recursive",
|
||||
"description": "This scope permits recursive access to the complete `$RESOURCE` folder, including sub directories and files.",
|
||||
"commands": { "allow": [], "deny": [] },
|
||||
"scope": { "allow": [{ "path": "$RESOURCE/**" }] }
|
||||
"scope": { "allow": [{ "path": "$RESOURCE" }, { "path": "$RESOURCE/**" }] }
|
||||
},
|
||||
"scope-runtime": {
|
||||
"identifier": "scope-runtime",
|
||||
"description": "This scope permits access to all files and list content of top level directories in the `$RUNTIME`folder.",
|
||||
"commands": { "allow": [], "deny": [] },
|
||||
"scope": { "allow": [{ "path": "$RUNTIME/*" }] }
|
||||
"scope": { "allow": [{ "path": "$RUNTIME" }, { "path": "$RUNTIME/*" }] }
|
||||
},
|
||||
"scope-runtime-index": {
|
||||
"identifier": "scope-runtime-index",
|
||||
"description": "This scope permits to list all files and folders in the `$RUNTIME`folder.",
|
||||
"commands": { "allow": [], "deny": [] },
|
||||
"scope": { "allow": [{ "path": "$RUNTIME/" }] }
|
||||
"scope": { "allow": [{ "path": "$RUNTIME" }] }
|
||||
},
|
||||
"scope-runtime-recursive": {
|
||||
"identifier": "scope-runtime-recursive",
|
||||
"description": "This scope permits recursive access to the complete `$RUNTIME` folder, including sub directories and files.",
|
||||
"commands": { "allow": [], "deny": [] },
|
||||
"scope": { "allow": [{ "path": "$RUNTIME/**" }] }
|
||||
"scope": { "allow": [{ "path": "$RUNTIME" }, { "path": "$RUNTIME/**" }] }
|
||||
},
|
||||
"scope-temp": {
|
||||
"identifier": "scope-temp",
|
||||
"description": "This scope permits access to all files and list content of top level directories in the `$TEMP`folder.",
|
||||
"commands": { "allow": [], "deny": [] },
|
||||
"scope": { "allow": [{ "path": "$TEMP/*" }] }
|
||||
"scope": { "allow": [{ "path": "$TEMP" }, { "path": "$TEMP/*" }] }
|
||||
},
|
||||
"scope-temp-index": {
|
||||
"identifier": "scope-temp-index",
|
||||
"description": "This scope permits to list all files and folders in the `$TEMP`folder.",
|
||||
"commands": { "allow": [], "deny": [] },
|
||||
"scope": { "allow": [{ "path": "$TEMP/" }] }
|
||||
"scope": { "allow": [{ "path": "$TEMP" }] }
|
||||
},
|
||||
"scope-temp-recursive": {
|
||||
"identifier": "scope-temp-recursive",
|
||||
"description": "This scope permits recursive access to the complete `$TEMP` folder, including sub directories and files.",
|
||||
"commands": { "allow": [], "deny": [] },
|
||||
"scope": { "allow": [{ "path": "$TEMP/**" }] }
|
||||
"scope": { "allow": [{ "path": "$TEMP" }, { "path": "$TEMP/**" }] }
|
||||
},
|
||||
"scope-template": {
|
||||
"identifier": "scope-template",
|
||||
"description": "This scope permits access to all files and list content of top level directories in the `$TEMPLATE`folder.",
|
||||
"commands": { "allow": [], "deny": [] },
|
||||
"scope": { "allow": [{ "path": "$TEMPLATE/*" }] }
|
||||
"scope": { "allow": [{ "path": "$TEMPLATE" }, { "path": "$TEMPLATE/*" }] }
|
||||
},
|
||||
"scope-template-index": {
|
||||
"identifier": "scope-template-index",
|
||||
"description": "This scope permits to list all files and folders in the `$TEMPLATE`folder.",
|
||||
"commands": { "allow": [], "deny": [] },
|
||||
"scope": { "allow": [{ "path": "$TEMPLATE/" }] }
|
||||
"scope": { "allow": [{ "path": "$TEMPLATE" }] }
|
||||
},
|
||||
"scope-template-recursive": {
|
||||
"identifier": "scope-template-recursive",
|
||||
"description": "This scope permits recursive access to the complete `$TEMPLATE` folder, including sub directories and files.",
|
||||
"commands": { "allow": [], "deny": [] },
|
||||
"scope": { "allow": [{ "path": "$TEMPLATE/**" }] }
|
||||
"scope": { "allow": [{ "path": "$TEMPLATE" }, { "path": "$TEMPLATE/**" }] }
|
||||
},
|
||||
"scope-video": {
|
||||
"identifier": "scope-video",
|
||||
"description": "This scope permits access to all files and list content of top level directories in the `$VIDEO`folder.",
|
||||
"commands": { "allow": [], "deny": [] },
|
||||
"scope": { "allow": [{ "path": "$VIDEO/*" }] }
|
||||
"scope": { "allow": [{ "path": "$VIDEO" }, { "path": "$VIDEO/*" }] }
|
||||
},
|
||||
"scope-video-index": {
|
||||
"identifier": "scope-video-index",
|
||||
"description": "This scope permits to list all files and folders in the `$VIDEO`folder.",
|
||||
"commands": { "allow": [], "deny": [] },
|
||||
"scope": { "allow": [{ "path": "$VIDEO/" }] }
|
||||
"scope": { "allow": [{ "path": "$VIDEO" }] }
|
||||
},
|
||||
"scope-video-recursive": {
|
||||
"identifier": "scope-video-recursive",
|
||||
"description": "This scope permits recursive access to the complete `$VIDEO` folder, including sub directories and files.",
|
||||
"commands": { "allow": [], "deny": [] },
|
||||
"scope": { "allow": [{ "path": "$VIDEO/**" }] }
|
||||
"scope": { "allow": [{ "path": "$VIDEO" }, { "path": "$VIDEO/**" }] }
|
||||
},
|
||||
"write-all": {
|
||||
"identifier": "write-all",
|
||||
@@ -3543,8 +3565,13 @@
|
||||
"additionalProperties": false,
|
||||
"description": "A variable that is set while calling the command from the webview API.",
|
||||
"properties": {
|
||||
"raw": {
|
||||
"default": false,
|
||||
"description": "Marks the validator as a raw regex, meaning the plugin should not make any modification at runtime.\n\nThis means the regex will not match on the entire string by default, which might be exploited if your regex allow unexpected input to be considered valid. When using this option, make sure your regex is correct.",
|
||||
"type": "boolean"
|
||||
},
|
||||
"validator": {
|
||||
"description": "[regex] validator to require passed values to conform to an expected input.\n\nThis will require the argument value passed to this variable to match the `validator` regex before it will be executed.\n\n[regex]: https://docs.rs/regex/latest/regex/#syntax",
|
||||
"description": "[regex] validator to require passed values to conform to an expected input.\n\nThis will require the argument value passed to this variable to match the `validator` regex before it will be executed.\n\nThe regex string is by default surrounded by `^...$` to match the full string. For example the `https?://\\w+` regex would be registered as `^https?://\\w+$`.\n\n[regex]: <https://docs.rs/regex/latest/regex/#syntax>",
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
|
||||
@@ -2458,6 +2458,11 @@
|
||||
"type": "string",
|
||||
"enum": ["core:webview:allow-create-webview-window"]
|
||||
},
|
||||
{
|
||||
"description": "core:webview:allow-get-all-webviews -> Enables the get_all_webviews command without any pre-configured scope.",
|
||||
"type": "string",
|
||||
"enum": ["core:webview:allow-get-all-webviews"]
|
||||
},
|
||||
{
|
||||
"description": "core:webview:allow-internal-toggle-devtools -> Enables the internal_toggle_devtools command without any pre-configured scope.",
|
||||
"type": "string",
|
||||
@@ -2518,6 +2523,11 @@
|
||||
"type": "string",
|
||||
"enum": ["core:webview:deny-create-webview-window"]
|
||||
},
|
||||
{
|
||||
"description": "core:webview:deny-get-all-webviews -> Denies the get_all_webviews command without any pre-configured scope.",
|
||||
"type": "string",
|
||||
"enum": ["core:webview:deny-get-all-webviews"]
|
||||
},
|
||||
{
|
||||
"description": "core:webview:deny-internal-toggle-devtools -> Denies the internal_toggle_devtools command without any pre-configured scope.",
|
||||
"type": "string",
|
||||
@@ -2608,6 +2618,11 @@
|
||||
"type": "string",
|
||||
"enum": ["core:window:allow-destroy"]
|
||||
},
|
||||
{
|
||||
"description": "core:window:allow-get-all-windows -> Enables the get_all_windows command without any pre-configured scope.",
|
||||
"type": "string",
|
||||
"enum": ["core:window:allow-get-all-windows"]
|
||||
},
|
||||
{
|
||||
"description": "core:window:allow-hide -> Enables the hide command without any pre-configured scope.",
|
||||
"type": "string",
|
||||
@@ -2933,6 +2948,11 @@
|
||||
"type": "string",
|
||||
"enum": ["core:window:deny-destroy"]
|
||||
},
|
||||
{
|
||||
"description": "core:window:deny-get-all-windows -> Denies the get_all_windows command without any pre-configured scope.",
|
||||
"type": "string",
|
||||
"enum": ["core:window:deny-get-all-windows"]
|
||||
},
|
||||
{
|
||||
"description": "core:window:deny-hide -> Denies the hide command without any pre-configured scope.",
|
||||
"type": "string",
|
||||
@@ -5121,8 +5141,13 @@
|
||||
"type": "object",
|
||||
"required": ["validator"],
|
||||
"properties": {
|
||||
"raw": {
|
||||
"description": "Marks the validator as a raw regex, meaning the plugin should not make any modification at runtime.\n\nThis means the regex will not match on the entire string by default, which might be exploited if your regex allow unexpected input to be considered valid. When using this option, make sure your regex is correct.",
|
||||
"default": false,
|
||||
"type": "boolean"
|
||||
},
|
||||
"validator": {
|
||||
"description": "[regex] validator to require passed values to conform to an expected input.\n\nThis will require the argument value passed to this variable to match the `validator` regex before it will be executed.\n\n[regex]: https://docs.rs/regex/latest/regex/#syntax",
|
||||
"description": "[regex] validator to require passed values to conform to an expected input.\n\nThis will require the argument value passed to this variable to match the `validator` regex before it will be executed.\n\nThe regex string is by default surrounded by `^...$` to match the full string. For example the `https?://\\w+` regex would be registered as `^https?://\\w+$`.\n\n[regex]: <https://docs.rs/regex/latest/regex/#syntax>",
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
|
||||
@@ -2458,6 +2458,11 @@
|
||||
"type": "string",
|
||||
"enum": ["core:webview:allow-create-webview-window"]
|
||||
},
|
||||
{
|
||||
"description": "core:webview:allow-get-all-webviews -> Enables the get_all_webviews command without any pre-configured scope.",
|
||||
"type": "string",
|
||||
"enum": ["core:webview:allow-get-all-webviews"]
|
||||
},
|
||||
{
|
||||
"description": "core:webview:allow-internal-toggle-devtools -> Enables the internal_toggle_devtools command without any pre-configured scope.",
|
||||
"type": "string",
|
||||
@@ -2518,6 +2523,11 @@
|
||||
"type": "string",
|
||||
"enum": ["core:webview:deny-create-webview-window"]
|
||||
},
|
||||
{
|
||||
"description": "core:webview:deny-get-all-webviews -> Denies the get_all_webviews command without any pre-configured scope.",
|
||||
"type": "string",
|
||||
"enum": ["core:webview:deny-get-all-webviews"]
|
||||
},
|
||||
{
|
||||
"description": "core:webview:deny-internal-toggle-devtools -> Denies the internal_toggle_devtools command without any pre-configured scope.",
|
||||
"type": "string",
|
||||
@@ -2608,6 +2618,11 @@
|
||||
"type": "string",
|
||||
"enum": ["core:window:allow-destroy"]
|
||||
},
|
||||
{
|
||||
"description": "core:window:allow-get-all-windows -> Enables the get_all_windows command without any pre-configured scope.",
|
||||
"type": "string",
|
||||
"enum": ["core:window:allow-get-all-windows"]
|
||||
},
|
||||
{
|
||||
"description": "core:window:allow-hide -> Enables the hide command without any pre-configured scope.",
|
||||
"type": "string",
|
||||
@@ -2933,6 +2948,11 @@
|
||||
"type": "string",
|
||||
"enum": ["core:window:deny-destroy"]
|
||||
},
|
||||
{
|
||||
"description": "core:window:deny-get-all-windows -> Denies the get_all_windows command without any pre-configured scope.",
|
||||
"type": "string",
|
||||
"enum": ["core:window:deny-get-all-windows"]
|
||||
},
|
||||
{
|
||||
"description": "core:window:deny-hide -> Denies the hide command without any pre-configured scope.",
|
||||
"type": "string",
|
||||
@@ -5121,8 +5141,13 @@
|
||||
"type": "object",
|
||||
"required": ["validator"],
|
||||
"properties": {
|
||||
"raw": {
|
||||
"description": "Marks the validator as a raw regex, meaning the plugin should not make any modification at runtime.\n\nThis means the regex will not match on the entire string by default, which might be exploited if your regex allow unexpected input to be considered valid. When using this option, make sure your regex is correct.",
|
||||
"default": false,
|
||||
"type": "boolean"
|
||||
},
|
||||
"validator": {
|
||||
"description": "[regex] validator to require passed values to conform to an expected input.\n\nThis will require the argument value passed to this variable to match the `validator` regex before it will be executed.\n\n[regex]: https://docs.rs/regex/latest/regex/#syntax",
|
||||
"description": "[regex] validator to require passed values to conform to an expected input.\n\nThis will require the argument value passed to this variable to match the `validator` regex before it will be executed.\n\nThe regex string is by default surrounded by `^...$` to match the full string. For example the `https?://\\w+` regex would be registered as `^https?://\\w+$`.\n\n[regex]: <https://docs.rs/regex/latest/regex/#syntax>",
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
|
||||
@@ -79,6 +79,7 @@ import { onMounted, ref } from "vue";
|
||||
|
||||
import TGSqlite from "../../plugins/Sqlite/index.js";
|
||||
import { useAchievementsStore } from "../../store/modules/achievements.js";
|
||||
import TGLogger from "../../utils/TGLogger.js";
|
||||
import showSnackbar from "../func/snackbar.js";
|
||||
|
||||
const achievementsStore = useAchievementsStore();
|
||||
@@ -119,6 +120,7 @@ onMounted(async () => {
|
||||
text: "加载数据库错误,请重置数据库!",
|
||||
color: "error",
|
||||
});
|
||||
await TGLogger.Error(`加载数据库错误: ${e}`);
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
@@ -53,6 +53,7 @@
|
||||
</THomeCard>
|
||||
</template>
|
||||
<script lang="ts" setup>
|
||||
import { storeToRefs } from "pinia";
|
||||
import { ref, onMounted, onUnmounted } from "vue";
|
||||
import { useRouter } from "vue-router";
|
||||
|
||||
@@ -66,7 +67,7 @@ import TItembox, { TItemBoxData } from "../main/t-itembox.vue";
|
||||
import THomeCard from "./t-homecard.vue";
|
||||
|
||||
// store
|
||||
const homeStore = useHomeStore();
|
||||
const homeStore = storeToRefs(useHomeStore());
|
||||
|
||||
const router = useRouter();
|
||||
const hasNew = ref<boolean>(false);
|
||||
@@ -122,9 +123,9 @@ onMounted(async () => {
|
||||
coverData[pool.id] = pool.cover;
|
||||
return pool;
|
||||
});
|
||||
homeStore.poolCover = coverData;
|
||||
homeStore.poolCover.value = coverData;
|
||||
} else {
|
||||
poolCards.value = await Mys.Gacha.card(gachaData, homeStore.poolCover);
|
||||
poolCards.value = await Mys.Gacha.card(gachaData, homeStore.poolCover.value);
|
||||
}
|
||||
poolCards.value.map((pool) => {
|
||||
poolTimeGet.value[pool.postId] = stamp2LastTime(pool.time.endStamp - Date.now());
|
||||
|
||||
@@ -7,8 +7,6 @@
|
||||
<script lang="ts" setup>
|
||||
import { computed } from "vue";
|
||||
|
||||
import showSnackbar from "../func/snackbar.js";
|
||||
|
||||
import TurWorldSub from "./tur-world-sub.vue";
|
||||
|
||||
interface TurWorldGridProps {
|
||||
@@ -26,19 +24,8 @@ const theme = computed(() => {
|
||||
});
|
||||
|
||||
function getData(): TGApp.Sqlite.Record.WorldExplore[] {
|
||||
let res: TGApp.Sqlite.Record.WorldExplore[] = JSON.parse(<string>props.modelValue);
|
||||
try {
|
||||
if (res[0].children) {
|
||||
console.log("检测到children字段");
|
||||
}
|
||||
} catch (e) {
|
||||
showSnackbar({
|
||||
text: "数据解析错误,建议刷新页面",
|
||||
color: "error",
|
||||
});
|
||||
res = [];
|
||||
}
|
||||
return res;
|
||||
if (!props.modelValue) return [];
|
||||
return JSON.parse(props.modelValue);
|
||||
}
|
||||
</script>
|
||||
<style lang="css" scoped>
|
||||
|
||||
@@ -102,7 +102,8 @@ function switchMaterial(isNext: boolean) {
|
||||
text: `材料 ${curItem.name} 暂无详细信息`,
|
||||
color: "warn",
|
||||
});
|
||||
isNext ? curIndex.value-- : curIndex.value++;
|
||||
if (isNext) curIndex.value--;
|
||||
else curIndex.value++;
|
||||
}
|
||||
</script>
|
||||
<style lang="css" scoped>
|
||||
|
||||
43
src/plugins/Hutao/types/Abyss.d.ts
vendored
43
src/plugins/Hutao/types/Abyss.d.ts
vendored
@@ -1,7 +1,6 @@
|
||||
/**
|
||||
* @file src plugins Hutao types Abyss.d.ts
|
||||
* @file src/plugins/Hutao/types/Abyss.d.ts
|
||||
* @description Hutao 插件深渊类型定义文件
|
||||
* @author BTMuli <bt-muli@outlook.com>
|
||||
* @since Beta v0.3.0
|
||||
*/
|
||||
|
||||
@@ -24,7 +23,7 @@ declare namespace TGApp.Plugins.Hutao.Abyss {
|
||||
* @property {string} ReservedUserName - 保留用户名
|
||||
* @return RecordUpload
|
||||
*/
|
||||
export interface RecordUpload {
|
||||
interface RecordUpload {
|
||||
Uid: string;
|
||||
Identity: string;
|
||||
SpiralAbyss: RecordData;
|
||||
@@ -52,7 +51,7 @@ declare namespace TGApp.Plugins.Hutao.Abyss {
|
||||
* @property {Floor[]} Floors - 楼层信息
|
||||
* @return RecordData
|
||||
*/
|
||||
export interface RecordData {
|
||||
interface RecordData {
|
||||
ScheduleId: number;
|
||||
TotalBattleTimes: number;
|
||||
TotalWinTimes: number;
|
||||
@@ -88,7 +87,7 @@ declare namespace TGApp.Plugins.Hutao.Abyss {
|
||||
* @property {Level[]} Levels - 楼层关卡信息
|
||||
* @return Floor
|
||||
*/
|
||||
export interface Floor {
|
||||
interface Floor {
|
||||
Index: number;
|
||||
Star: number;
|
||||
Levels: Level[];
|
||||
@@ -104,7 +103,7 @@ declare namespace TGApp.Plugins.Hutao.Abyss {
|
||||
* @property {number[]} Battles[].Avatars - 战斗角色ID
|
||||
* @return Level
|
||||
*/
|
||||
export interface Level {
|
||||
interface Level {
|
||||
Index: number;
|
||||
Star: number;
|
||||
Battles: Array<{
|
||||
@@ -123,7 +122,7 @@ declare namespace TGApp.Plugins.Hutao.Abyss {
|
||||
* @property {number} ActivedConstellationNumber - 已激活命座数量
|
||||
* @return Avatar
|
||||
*/
|
||||
export interface Avatar {
|
||||
interface Avatar {
|
||||
AvatarId: number;
|
||||
WeaponId: number;
|
||||
ReliquarySetIds: number[];
|
||||
@@ -138,7 +137,7 @@ declare namespace TGApp.Plugins.Hutao.Abyss {
|
||||
* @extends TGApp.Plugins.Hutao.Base.Response
|
||||
* @return UploadResponse
|
||||
*/
|
||||
export interface UploadResponse extends TGApp.Plugins.Hutao.Base.Response {}
|
||||
type UploadResponse = TGApp.Plugins.Hutao.Base.Response;
|
||||
|
||||
/**
|
||||
* @description 获取深渊总览数据返回
|
||||
@@ -149,7 +148,7 @@ declare namespace TGApp.Plugins.Hutao.Abyss {
|
||||
* @property {OverviewData} data - 深渊总览数据
|
||||
* @return OverviewResponse
|
||||
*/
|
||||
export interface OverviewResponse extends TGApp.Plugins.Hutao.Base.Response {
|
||||
interface OverviewResponse extends TGApp.Plugins.Hutao.Base.Response {
|
||||
data: OverviewData;
|
||||
}
|
||||
|
||||
@@ -169,7 +168,7 @@ declare namespace TGApp.Plugins.Hutao.Abyss {
|
||||
* @property {number} TimeAverage - 平均耗时
|
||||
* @return OverviewData
|
||||
*/
|
||||
export interface OverviewData {
|
||||
interface OverviewData {
|
||||
ScheduleId: number;
|
||||
RecordTotal: number;
|
||||
SpiralAbyssTotal: number;
|
||||
@@ -191,7 +190,7 @@ declare namespace TGApp.Plugins.Hutao.Abyss {
|
||||
* @property {AvatarUp[]} data - 角色深渊上场率
|
||||
* @return AvatarUpResponse
|
||||
*/
|
||||
export interface AvatarUpResponse extends TGApp.Plugins.Hutao.Base.Response {
|
||||
interface AvatarUpResponse extends TGApp.Plugins.Hutao.Base.Response {
|
||||
data: AvatarUp[];
|
||||
}
|
||||
|
||||
@@ -204,7 +203,7 @@ declare namespace TGApp.Plugins.Hutao.Abyss {
|
||||
* @property {number} Ranks[].Rate - 上场率
|
||||
* @return AvatarUp
|
||||
*/
|
||||
export interface AvatarUp {
|
||||
interface AvatarUp {
|
||||
Floor: number;
|
||||
Ranks: Array<{
|
||||
Item: number;
|
||||
@@ -221,7 +220,7 @@ declare namespace TGApp.Plugins.Hutao.Abyss {
|
||||
* @property {AvatarUse[]} data - 角色深渊使用率
|
||||
* @return AvatarUseResponse
|
||||
*/
|
||||
export interface AvatarUseResponse extends TGApp.Plugins.Hutao.Base.Response {
|
||||
interface AvatarUseResponse extends TGApp.Plugins.Hutao.Base.Response {
|
||||
data: AvatarUse[];
|
||||
}
|
||||
|
||||
@@ -234,7 +233,7 @@ declare namespace TGApp.Plugins.Hutao.Abyss {
|
||||
* @property {number} Ranks[].Rate - 使用率
|
||||
* @return AvatarUse
|
||||
*/
|
||||
export interface AvatarUse {
|
||||
interface AvatarUse {
|
||||
Floor: number;
|
||||
Ranks: Array<{
|
||||
Item: number;
|
||||
@@ -251,7 +250,7 @@ declare namespace TGApp.Plugins.Hutao.Abyss {
|
||||
* @property {AvatarHold[]} data - 角色深渊持有率
|
||||
* @return AvatarHoldResponse
|
||||
*/
|
||||
export interface AvatarHoldResponse extends TGApp.Plugins.Hutao.Base.Response {
|
||||
interface AvatarHoldResponse extends TGApp.Plugins.Hutao.Base.Response {
|
||||
data: AvatarHold[];
|
||||
}
|
||||
|
||||
@@ -265,7 +264,7 @@ declare namespace TGApp.Plugins.Hutao.Abyss {
|
||||
* @property {number} AvatarId - 角色ID
|
||||
* @return AvatarHold
|
||||
*/
|
||||
export interface AvatarHold {
|
||||
interface AvatarHold {
|
||||
HoldingRate: number;
|
||||
Constellations: Array<{
|
||||
Item: number;
|
||||
@@ -283,7 +282,7 @@ declare namespace TGApp.Plugins.Hutao.Abyss {
|
||||
* @property {AvatarCollocation[]} data - 角色搭配
|
||||
* @return AvatarCollocationResponse
|
||||
*/
|
||||
export interface AvatarCollocationResponse extends TGApp.Plugins.Hutao.Base.Response {
|
||||
interface AvatarCollocationResponse extends TGApp.Plugins.Hutao.Base.Response {
|
||||
data: AvatarCollocation[];
|
||||
}
|
||||
|
||||
@@ -300,7 +299,7 @@ declare namespace TGApp.Plugins.Hutao.Abyss {
|
||||
* @property {number} Weapons[].Rate - 武器搭配率
|
||||
* @return AvatarCollocation
|
||||
*/
|
||||
export interface AvatarCollocation {
|
||||
interface AvatarCollocation {
|
||||
AvatarId: number;
|
||||
Avatars: Array<{
|
||||
Item: number;
|
||||
@@ -324,7 +323,7 @@ declare namespace TGApp.Plugins.Hutao.Abyss {
|
||||
* @extends TGApp.Plugins.Hutao.Base.Response
|
||||
* @property {WeaponCollocation[]} data - 武器搭配角色
|
||||
*/
|
||||
export interface WeaponCollocationResponse extends TGApp.Plugins.Hutao.Base.Response {
|
||||
interface WeaponCollocationResponse extends TGApp.Plugins.Hutao.Base.Response {
|
||||
data: WeaponCollocation[];
|
||||
}
|
||||
|
||||
@@ -337,7 +336,7 @@ declare namespace TGApp.Plugins.Hutao.Abyss {
|
||||
* @property {number} Avatars[].Rate - 角色搭配率
|
||||
* @return WeaponCollocation
|
||||
*/
|
||||
export interface WeaponCollocation {
|
||||
interface WeaponCollocation {
|
||||
WeaponId: number;
|
||||
Avatars: Array<{
|
||||
Item: number;
|
||||
@@ -354,7 +353,7 @@ declare namespace TGApp.Plugins.Hutao.Abyss {
|
||||
* @property {TeamCombination[]} data - 队伍搭配
|
||||
* @return TeamCombinationResponse
|
||||
*/
|
||||
export interface TeamCombinationResponse extends TGApp.Plugins.Hutao.Base.Response {
|
||||
interface TeamCombinationResponse extends TGApp.Plugins.Hutao.Base.Response {
|
||||
data: TeamCombination[];
|
||||
}
|
||||
|
||||
@@ -369,7 +368,7 @@ declare namespace TGApp.Plugins.Hutao.Abyss {
|
||||
* @property {number} Down[].Rate - 统计次数
|
||||
* @return TeamCombination
|
||||
*/
|
||||
export interface TeamCombination {
|
||||
interface TeamCombination {
|
||||
Floor: number;
|
||||
Up: Array<{
|
||||
Item: string;
|
||||
|
||||
2
src/types/Plugins/UIGF.d.ts
vendored
2
src/types/Plugins/UIGF.d.ts
vendored
@@ -24,7 +24,7 @@ declare namespace TGApp.Plugins.UIGF {
|
||||
* @since Beta v0.5.0
|
||||
* @interface Schema4
|
||||
* @property {Info4} info - UIGF 头部信息
|
||||
* @property {GachaItem4[]} hk4e - UIGF 祈愿列表,原神数据
|
||||
* @property {GachaHk4e[]} hk4e - UIGF 祈愿列表,原神数据
|
||||
* @return Schema4
|
||||
*/
|
||||
interface Schema4 {
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/**
|
||||
* @file utils/TGShare.ts
|
||||
* @description 生成分享截图并保存到本地
|
||||
* @since Beta v0.5.0
|
||||
* @since Beta v0.5.5
|
||||
*/
|
||||
|
||||
import { path } from "@tauri-apps/api";
|
||||
@@ -86,7 +86,7 @@ function getShareImgBgColor(): string {
|
||||
|
||||
/**
|
||||
* @description 生成分享截图
|
||||
* @since Beta v0.4.2
|
||||
* @since Beta v0.5.5
|
||||
* @param {string} fileName - 文件名
|
||||
* @param {HTMLElement} element - 元素
|
||||
* @param {number} scale - 缩放比例
|
||||
@@ -153,6 +153,7 @@ export async function generateShareImg(
|
||||
});
|
||||
await TGLogger.Info(`[generateShareImg][${fileName}] 已将图像复制到剪贴板`);
|
||||
} catch (e) {
|
||||
await TGLogger.Error(`[generateShareImg][${fileName}] 复制到剪贴板失败 ${e}`);
|
||||
await saveCanvasImg(buffer, fileName);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/**
|
||||
* @file utils/dataBS.ts
|
||||
* @description 用户数据的备份、恢复、迁移
|
||||
* @since Beta v0.5.0
|
||||
* @since Beta v0.5.5
|
||||
*/
|
||||
|
||||
import { path } from "@tauri-apps/api";
|
||||
@@ -45,7 +45,7 @@ export async function backUpUserData(dir: string): Promise<void> {
|
||||
|
||||
/**
|
||||
* @description 恢复用户数据
|
||||
* @since Beta v0.5.0
|
||||
* @since Beta v0.5.5
|
||||
* @param {string} dir 备份目录路径
|
||||
* @returns {Promise<void>}
|
||||
*/
|
||||
@@ -118,6 +118,7 @@ export async function restoreUserData(dir: string): Promise<void> {
|
||||
);
|
||||
await TGSqlite.restoreAbyss(dataAbyss);
|
||||
} catch (e) {
|
||||
await TGLogger.Error(`[DataBS][restoreUserData] 深渊数据恢复失败 ${e}`);
|
||||
showSnackbar({
|
||||
text: "深渊数据恢复失败",
|
||||
color: "error",
|
||||
|
||||
@@ -1,16 +1,17 @@
|
||||
/**
|
||||
* @file src/web/request/getDeviceFp.ts
|
||||
* @description 获取设备指纹
|
||||
* @since Beta v0.5.0
|
||||
* @since Beta v0.5.5
|
||||
*/
|
||||
|
||||
import TGHttp from "../../utils/TGHttp.js";
|
||||
import TGLogger from "../../utils/TGLogger.js";
|
||||
import { getInitDeviceInfo } from "../../utils/toolFunc.js";
|
||||
import TGConstant from "../constant/TGConstant.js";
|
||||
|
||||
/**
|
||||
* @description 获取设备指纹
|
||||
* @since Beta v0.5.0
|
||||
* @since Beta v0.5.5
|
||||
* @param {TGApp.App.Device.DeviceInfo} Info - 设备信息
|
||||
* @returns {Promise<TGApp.App.Device.DeviceInfo>} 设备指纹
|
||||
*/
|
||||
@@ -104,6 +105,7 @@ export async function getDeviceFp(
|
||||
}
|
||||
} catch (error) {
|
||||
info.device_fp = "0000000000000";
|
||||
await TGLogger.Error(`获取设备指纹失败: ${error}`);
|
||||
}
|
||||
return info;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user