mirror of
https://github.com/BTMuli/TeyvatGuide.git
synced 2026-05-21 05:25:45 +08:00
🚸 右键复制链接
This commit is contained in:
20
package.json
20
package.json
@@ -89,9 +89,9 @@
|
|||||||
"echarts": "^6.0.0",
|
"echarts": "^6.0.0",
|
||||||
"html2canvas": "^1.4.1",
|
"html2canvas": "^1.4.1",
|
||||||
"js-md5": "^0.8.3",
|
"js-md5": "^0.8.3",
|
||||||
"jsencrypt": "^3.3.2",
|
"jsencrypt": "^3.5.4",
|
||||||
"pinia": "^3.0.3",
|
"pinia": "^3.0.3",
|
||||||
"pinia-plugin-persistedstate": "^4.4.1",
|
"pinia-plugin-persistedstate": "^4.5.0",
|
||||||
"qrcode.vue": "^3.6.0",
|
"qrcode.vue": "^3.6.0",
|
||||||
"sass-embedded": "^1.90.0",
|
"sass-embedded": "^1.90.0",
|
||||||
"uuid": "^11.1.0",
|
"uuid": "^11.1.0",
|
||||||
@@ -99,7 +99,7 @@
|
|||||||
"vue-echarts": "^7.0.3",
|
"vue-echarts": "^7.0.3",
|
||||||
"vue-json-pretty": "^2.5.0",
|
"vue-json-pretty": "^2.5.0",
|
||||||
"vue-router": "^4.5.1",
|
"vue-router": "^4.5.1",
|
||||||
"vuetify": "^3.9.4",
|
"vuetify": "^3.9.5",
|
||||||
"wcag-color": "^1.1.1",
|
"wcag-color": "^1.1.1",
|
||||||
"xml-js": "^1.6.11"
|
"xml-js": "^1.6.11"
|
||||||
},
|
},
|
||||||
@@ -111,10 +111,10 @@
|
|||||||
"@types/color-convert": "^2.0.4",
|
"@types/color-convert": "^2.0.4",
|
||||||
"@types/fs-extra": "^11.0.4",
|
"@types/fs-extra": "^11.0.4",
|
||||||
"@types/js-md5": "^0.8.0",
|
"@types/js-md5": "^0.8.0",
|
||||||
"@types/node": "^24.2.1",
|
"@types/node": "^24.3.0",
|
||||||
"@types/uuid": "^10.0.0",
|
"@types/uuid": "^10.0.0",
|
||||||
"@typescript-eslint/parser": "^8.39.0",
|
"@typescript-eslint/parser": "^8.39.1",
|
||||||
"@typescript/native-preview": "7.0.0-dev.20250808.1",
|
"@typescript/native-preview": "7.0.0-dev.20250816.1",
|
||||||
"@vitejs/plugin-vue": "^6.0.1",
|
"@vitejs/plugin-vue": "^6.0.1",
|
||||||
"concurrently": "^9.2.0",
|
"concurrently": "^9.2.0",
|
||||||
"eslint": "^9.33.0",
|
"eslint": "^9.33.0",
|
||||||
@@ -128,7 +128,7 @@
|
|||||||
"husky": "^9.1.7",
|
"husky": "^9.1.7",
|
||||||
"jsonc-eslint-parser": "^2.4.0",
|
"jsonc-eslint-parser": "^2.4.0",
|
||||||
"lint-staged": "^16.1.5",
|
"lint-staged": "^16.1.5",
|
||||||
"oxlint": "^1.11.0",
|
"oxlint": "^1.12.0",
|
||||||
"prettier": "3.6.2",
|
"prettier": "3.6.2",
|
||||||
"stylelint": "^16.23.1",
|
"stylelint": "^16.23.1",
|
||||||
"stylelint-config-idiomatic-order": "^10.0.0",
|
"stylelint-config-idiomatic-order": "^10.0.0",
|
||||||
@@ -139,10 +139,10 @@
|
|||||||
"stylelint-order": "^7.0.0",
|
"stylelint-order": "^7.0.0",
|
||||||
"stylelint-prettier": "^5.0.3",
|
"stylelint-prettier": "^5.0.3",
|
||||||
"stylelint-scss": "^6.12.1",
|
"stylelint-scss": "^6.12.1",
|
||||||
"tsx": "^4.20.3",
|
"tsx": "^4.20.4",
|
||||||
"typescript": "^5.9.2",
|
"typescript": "^5.9.2",
|
||||||
"typescript-eslint": "^8.39.0",
|
"typescript-eslint": "^8.39.1",
|
||||||
"vite": "^7.1.1",
|
"vite": "^7.1.2",
|
||||||
"vite-plugin-vue-devtools": "^8.0.0",
|
"vite-plugin-vue-devtools": "^8.0.0",
|
||||||
"vite-plugin-vuetify": "^2.1.2",
|
"vite-plugin-vuetify": "^2.1.2",
|
||||||
"vue-eslint-parser": "^10.2.0",
|
"vue-eslint-parser": "^10.2.0",
|
||||||
|
|||||||
1057
pnpm-lock.yaml
generated
1057
pnpm-lock.yaml
generated
File diff suppressed because it is too large
Load Diff
366
src-tauri/Cargo.lock
generated
366
src-tauri/Cargo.lock
generated
File diff suppressed because it is too large
Load Diff
@@ -3,6 +3,7 @@
|
|||||||
v-if="mode == 'link'"
|
v-if="mode == 'link'"
|
||||||
class="tp-text-link"
|
class="tp-text-link"
|
||||||
@click="toLink()"
|
@click="toLink()"
|
||||||
|
@contextmenu="copyLink()"
|
||||||
:title="props.data.attributes?.link"
|
:title="props.data.attributes?.link"
|
||||||
:style="getTextStyle()"
|
:style="getTextStyle()"
|
||||||
>
|
>
|
||||||
@@ -110,6 +111,19 @@ async function toLink(): Promise<void> {
|
|||||||
await openUrl(res);
|
await openUrl(res);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 复制链接
|
||||||
|
async function copyLink(): Promise<void> {
|
||||||
|
if (!props.data.attributes) return;
|
||||||
|
if (!props.data.attributes.link) return;
|
||||||
|
const link = props.data.attributes.link;
|
||||||
|
try {
|
||||||
|
await navigator.clipboard.writeText(link);
|
||||||
|
showSnackbar.success("链接已复制到剪贴板");
|
||||||
|
} catch (e) {
|
||||||
|
showSnackbar.error(`复制链接失败: ${e}`, 3000);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// 解析表情链接
|
// 解析表情链接
|
||||||
function getEmojiUrl(): string {
|
function getEmojiUrl(): string {
|
||||||
if (localEmojis.value === null || !JSON.parse(localEmojis.value)[getEmojiName()]) {
|
if (localEmojis.value === null || !JSON.parse(localEmojis.value)[getEmojiName()]) {
|
||||||
|
|||||||
Reference in New Issue
Block a user