mirror of
https://gitee.com/HuLaSpark/HuLa.git
synced 2024-11-29 18:28:30 +08:00
✨ feat(custom): 新增动态页面
This commit is contained in:
parent
b11593d0e1
commit
196d2d12a8
@ -7,7 +7,7 @@
|
||||
<title>Tauri + Vue + TS</title>
|
||||
|
||||
<!--引入iconpark图标库-->
|
||||
<script defer src="https://lf1-cdn-tos.bytegoofy.com/obj/iconpark/svg_30895_60.ef088f300e3d0423bcf60157db474d1d.js"></script>
|
||||
<script defer src="https://lf1-cdn-tos.bytegoofy.com/obj/iconpark/svg_30895_61.f6c25d2ccb13bf96747417c789d6c0f4.js"></script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
@ -38,7 +38,7 @@
|
||||
"dayjs": "^1.11.10",
|
||||
"lodash-es": "^4.17.21",
|
||||
"mitt": "^3.0.1",
|
||||
"naive-ui": "^2.38.0",
|
||||
"naive-ui": "^2.38.1",
|
||||
"pinia": "^2.1.7",
|
||||
"pinia-plugin-persistedstate": "^3.2.1",
|
||||
"vue": "^3.4.19",
|
||||
|
227
pnpm-lock.yaml
227
pnpm-lock.yaml
@ -21,8 +21,8 @@ dependencies:
|
||||
specifier: ^3.0.1
|
||||
version: 3.0.1
|
||||
naive-ui:
|
||||
specifier: ^2.38.0
|
||||
version: 2.38.0(vue@3.4.19)
|
||||
specifier: ^2.38.1
|
||||
version: 2.38.1(vue@3.4.19)
|
||||
pinia:
|
||||
specifier: ^2.1.7
|
||||
version: 2.1.7(typescript@5.3.3)(vue@3.4.19)
|
||||
@ -42,7 +42,7 @@ dependencies:
|
||||
devDependencies:
|
||||
'@babel/eslint-parser':
|
||||
specifier: ^7.23.3
|
||||
version: 7.23.9(@babel/core@7.23.9)(eslint@8.56.0)
|
||||
version: 7.23.9(@babel/core@7.24.0)(eslint@8.56.0)
|
||||
'@tauri-apps/cli':
|
||||
specifier: ^1.5.7
|
||||
version: 1.5.9
|
||||
@ -198,14 +198,37 @@ packages:
|
||||
- supports-color
|
||||
dev: true
|
||||
|
||||
/@babel/eslint-parser@7.23.9(@babel/core@7.23.9)(eslint@8.56.0):
|
||||
/@babel/core@7.24.0:
|
||||
resolution: {integrity: sha512-fQfkg0Gjkza3nf0c7/w6Xf34BW4YvzNfACRLmmb7XRLa6XHdR+K9AlJlxneFfWYf6uhOzuzZVTjF/8KfndZANw==}
|
||||
engines: {node: '>=6.9.0'}
|
||||
dependencies:
|
||||
'@ampproject/remapping': 2.2.1
|
||||
'@babel/code-frame': 7.23.5
|
||||
'@babel/generator': 7.23.6
|
||||
'@babel/helper-compilation-targets': 7.23.6
|
||||
'@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.0)
|
||||
'@babel/helpers': 7.24.0
|
||||
'@babel/parser': 7.24.0
|
||||
'@babel/template': 7.24.0
|
||||
'@babel/traverse': 7.24.0
|
||||
'@babel/types': 7.24.0
|
||||
convert-source-map: 2.0.0
|
||||
debug: 4.3.4
|
||||
gensync: 1.0.0-beta.2
|
||||
json5: 2.2.3
|
||||
semver: 6.3.1
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
dev: true
|
||||
|
||||
/@babel/eslint-parser@7.23.9(@babel/core@7.24.0)(eslint@8.56.0):
|
||||
resolution: {integrity: sha512-xPndlO7qxiJbn0ATvfXQBjCS7qApc9xmKHArgI/FTEFxXas5dnjC/VqM37lfZun9dclRYcn+YQAr6uDFy0bB2g==}
|
||||
engines: {node: ^10.13.0 || ^12.13.0 || >=14.0.0}
|
||||
peerDependencies:
|
||||
'@babel/core': ^7.11.0
|
||||
eslint: ^7.5.0 || ^8.0.0
|
||||
dependencies:
|
||||
'@babel/core': 7.23.9
|
||||
'@babel/core': 7.24.0
|
||||
'@nicolo-ribaudo/eslint-scope-5-internals': 5.1.1-v1
|
||||
eslint: 8.56.0
|
||||
eslint-visitor-keys: 2.1.0
|
||||
@ -306,6 +329,20 @@ packages:
|
||||
'@babel/helper-validator-identifier': 7.22.20
|
||||
dev: true
|
||||
|
||||
/@babel/helper-module-transforms@7.23.3(@babel/core@7.24.0):
|
||||
resolution: {integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==}
|
||||
engines: {node: '>=6.9.0'}
|
||||
peerDependencies:
|
||||
'@babel/core': ^7.0.0
|
||||
dependencies:
|
||||
'@babel/core': 7.24.0
|
||||
'@babel/helper-environment-visitor': 7.22.20
|
||||
'@babel/helper-module-imports': 7.22.15
|
||||
'@babel/helper-simple-access': 7.22.5
|
||||
'@babel/helper-split-export-declaration': 7.22.6
|
||||
'@babel/helper-validator-identifier': 7.22.20
|
||||
dev: true
|
||||
|
||||
/@babel/helper-optimise-call-expression@7.22.5:
|
||||
resolution: {integrity: sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==}
|
||||
engines: {node: '>=6.9.0'}
|
||||
@ -375,6 +412,17 @@ packages:
|
||||
- supports-color
|
||||
dev: true
|
||||
|
||||
/@babel/helpers@7.24.0:
|
||||
resolution: {integrity: sha512-ulDZdc0Aj5uLc5nETsa7EPx2L7rM0YJM8r7ck7U73AXi7qOV44IHHRAYZHY6iU1rr3C5N4NtTmMRUJP6kwCWeA==}
|
||||
engines: {node: '>=6.9.0'}
|
||||
dependencies:
|
||||
'@babel/template': 7.24.0
|
||||
'@babel/traverse': 7.24.0
|
||||
'@babel/types': 7.24.0
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
dev: true
|
||||
|
||||
/@babel/highlight@7.23.4:
|
||||
resolution: {integrity: sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==}
|
||||
engines: {node: '>=6.9.0'}
|
||||
@ -391,6 +439,14 @@ packages:
|
||||
dependencies:
|
||||
'@babel/types': 7.23.9
|
||||
|
||||
/@babel/parser@7.24.0:
|
||||
resolution: {integrity: sha512-QuP/FxEAzMSjXygs8v4N9dvdXzEHN4W1oF3PxuWAtPo08UdM17u89RDMgjLn/mlc56iM0HlLmVkO/wgR+rDgHg==}
|
||||
engines: {node: '>=6.0.0'}
|
||||
hasBin: true
|
||||
dependencies:
|
||||
'@babel/types': 7.24.0
|
||||
dev: true
|
||||
|
||||
/@babel/plugin-syntax-jsx@7.23.3(@babel/core@7.23.9):
|
||||
resolution: {integrity: sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg==}
|
||||
engines: {node: '>=6.9.0'}
|
||||
@ -440,6 +496,15 @@ packages:
|
||||
'@babel/types': 7.23.9
|
||||
dev: true
|
||||
|
||||
/@babel/template@7.24.0:
|
||||
resolution: {integrity: sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==}
|
||||
engines: {node: '>=6.9.0'}
|
||||
dependencies:
|
||||
'@babel/code-frame': 7.23.5
|
||||
'@babel/parser': 7.24.0
|
||||
'@babel/types': 7.24.0
|
||||
dev: true
|
||||
|
||||
/@babel/traverse@7.23.9:
|
||||
resolution: {integrity: sha512-I/4UJ9vs90OkBtY6iiiTORVMyIhJ4kAVmsKo9KFc8UOxMeUfi2hvtIBsET5u9GizXE6/GFSuKCTNfgCswuEjRg==}
|
||||
engines: {node: '>=6.9.0'}
|
||||
@ -458,6 +523,24 @@ packages:
|
||||
- supports-color
|
||||
dev: true
|
||||
|
||||
/@babel/traverse@7.24.0:
|
||||
resolution: {integrity: sha512-HfuJlI8qq3dEDmNU5ChzzpZRWq+oxCZQyMzIMEqLho+AQnhMnKQUzH6ydo3RBl/YjPCuk68Y6s0Gx0AeyULiWw==}
|
||||
engines: {node: '>=6.9.0'}
|
||||
dependencies:
|
||||
'@babel/code-frame': 7.23.5
|
||||
'@babel/generator': 7.23.6
|
||||
'@babel/helper-environment-visitor': 7.22.20
|
||||
'@babel/helper-function-name': 7.23.0
|
||||
'@babel/helper-hoist-variables': 7.22.5
|
||||
'@babel/helper-split-export-declaration': 7.22.6
|
||||
'@babel/parser': 7.24.0
|
||||
'@babel/types': 7.24.0
|
||||
debug: 4.3.4
|
||||
globals: 11.12.0
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
dev: true
|
||||
|
||||
/@babel/types@7.23.9:
|
||||
resolution: {integrity: sha512-dQjSq/7HaSjRM43FFGnv5keM2HsxpmyV1PfaSVm0nzzjwwTmjOe6J4bC8e3+pTEIgHaHj+1ZlLThRJ2auc/w1Q==}
|
||||
engines: {node: '>=6.9.0'}
|
||||
@ -466,65 +549,74 @@ packages:
|
||||
'@babel/helper-validator-identifier': 7.22.20
|
||||
to-fast-properties: 2.0.0
|
||||
|
||||
/@commitlint/config-validator@18.6.1:
|
||||
resolution: {integrity: sha512-05uiToBVfPhepcQWE1ZQBR/Io3+tb3gEotZjnI4tTzzPk16NffN6YABgwFQCLmzZefbDcmwWqJWc2XT47q7Znw==}
|
||||
/@babel/types@7.24.0:
|
||||
resolution: {integrity: sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==}
|
||||
engines: {node: '>=6.9.0'}
|
||||
dependencies:
|
||||
'@babel/helper-string-parser': 7.23.4
|
||||
'@babel/helper-validator-identifier': 7.22.20
|
||||
to-fast-properties: 2.0.0
|
||||
dev: true
|
||||
|
||||
/@commitlint/config-validator@19.0.3:
|
||||
resolution: {integrity: sha512-2D3r4PKjoo59zBc2auodrSCaUnCSALCx54yveOFwwP/i2kfEAQrygwOleFWswLqK0UL/F9r07MFi5ev2ohyM4Q==}
|
||||
engines: {node: '>=v18'}
|
||||
requiresBuild: true
|
||||
dependencies:
|
||||
'@commitlint/types': 18.6.1
|
||||
'@commitlint/types': 19.0.3
|
||||
ajv: 8.12.0
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/@commitlint/execute-rule@18.6.1:
|
||||
resolution: {integrity: sha512-7s37a+iWyJiGUeMFF6qBlyZciUkF8odSAnHijbD36YDctLhGKoYltdvuJ/AFfRm6cBLRtRk9cCVPdsEFtt/2rg==}
|
||||
/@commitlint/execute-rule@19.0.0:
|
||||
resolution: {integrity: sha512-mtsdpY1qyWgAO/iOK0L6gSGeR7GFcdW7tIjcNFxcWkfLDF5qVbPHKuGATFqRMsxcO8OUKNj0+3WOHB7EHm4Jdw==}
|
||||
engines: {node: '>=v18'}
|
||||
requiresBuild: true
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/@commitlint/load@18.6.1(@types/node@20.11.7)(typescript@5.3.3):
|
||||
resolution: {integrity: sha512-p26x8734tSXUHoAw0ERIiHyW4RaI4Bj99D8YgUlVV9SedLf8hlWAfyIFhHRIhfPngLlCe0QYOdRKYFt8gy56TA==}
|
||||
/@commitlint/load@19.0.3(@types/node@20.11.7)(typescript@5.3.3):
|
||||
resolution: {integrity: sha512-18Tk/ZcDFRKIoKfEcl7kC+bYkEQ055iyKmGsYDoYWpKf6FUvBrP9bIWapuy/MB+kYiltmP9ITiUx6UXtqC9IRw==}
|
||||
engines: {node: '>=v18'}
|
||||
requiresBuild: true
|
||||
dependencies:
|
||||
'@commitlint/config-validator': 18.6.1
|
||||
'@commitlint/execute-rule': 18.6.1
|
||||
'@commitlint/resolve-extends': 18.6.1
|
||||
'@commitlint/types': 18.6.1
|
||||
chalk: 4.1.2
|
||||
'@commitlint/config-validator': 19.0.3
|
||||
'@commitlint/execute-rule': 19.0.0
|
||||
'@commitlint/resolve-extends': 19.0.3
|
||||
'@commitlint/types': 19.0.3
|
||||
chalk: 5.3.0
|
||||
cosmiconfig: 8.3.6(typescript@5.3.3)
|
||||
cosmiconfig-typescript-loader: 5.0.0(@types/node@20.11.7)(cosmiconfig@8.3.6)(typescript@5.3.3)
|
||||
lodash.isplainobject: 4.0.6
|
||||
lodash.merge: 4.6.2
|
||||
lodash.uniq: 4.5.0
|
||||
resolve-from: 5.0.0
|
||||
transitivePeerDependencies:
|
||||
- '@types/node'
|
||||
- typescript
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/@commitlint/resolve-extends@18.6.1:
|
||||
resolution: {integrity: sha512-ifRAQtHwK+Gj3Bxj/5chhc4L2LIc3s30lpsyW67yyjsETR6ctHAHRu1FSpt0KqahK5xESqoJ92v6XxoDRtjwEQ==}
|
||||
/@commitlint/resolve-extends@19.0.3:
|
||||
resolution: {integrity: sha512-18BKmta8OC8+Ub+Q3QGM9l27VjQaXobloVXOrMvu8CpEwJYv62vC/t7Ka5kJnsW0tU9q1eMqJFZ/nN9T/cOaIA==}
|
||||
engines: {node: '>=v18'}
|
||||
requiresBuild: true
|
||||
dependencies:
|
||||
'@commitlint/config-validator': 18.6.1
|
||||
'@commitlint/types': 18.6.1
|
||||
import-fresh: 3.3.0
|
||||
'@commitlint/config-validator': 19.0.3
|
||||
'@commitlint/types': 19.0.3
|
||||
global-directory: 4.0.1
|
||||
import-meta-resolve: 4.0.0
|
||||
lodash.mergewith: 4.6.2
|
||||
resolve-from: 5.0.0
|
||||
resolve-global: 1.0.0
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/@commitlint/types@18.6.1:
|
||||
resolution: {integrity: sha512-gwRLBLra/Dozj2OywopeuHj2ac26gjGkz2cZ+86cTJOdtWfiRRr4+e77ZDAGc6MDWxaWheI+mAV5TLWWRwqrFg==}
|
||||
/@commitlint/types@19.0.3:
|
||||
resolution: {integrity: sha512-tpyc+7i6bPG9mvaBbtKUeghfyZSDgWquIDfMgqYtTbmZ9Y9VzEm2je9EYcQ0aoz5o7NvGS+rcDec93yO08MHYA==}
|
||||
engines: {node: '>=v18'}
|
||||
requiresBuild: true
|
||||
dependencies:
|
||||
chalk: 4.1.2
|
||||
'@types/conventional-commits-parser': 5.0.0
|
||||
chalk: 5.3.0
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
@ -830,7 +922,7 @@ packages:
|
||||
resolution: {integrity: sha512-Oud2QPM5dHviZNn4y/WhhYKSXksv+1xLEIsNrAbGcFzUN3ubqWRFT5gwPchNc5NuzILOU4tPBDTZ4VwhL8Y7cw==}
|
||||
engines: {node: '>=6.0.0'}
|
||||
dependencies:
|
||||
'@jridgewell/set-array': 1.1.2
|
||||
'@jridgewell/set-array': 1.2.1
|
||||
'@jridgewell/sourcemap-codec': 1.4.15
|
||||
'@jridgewell/trace-mapping': 0.3.23
|
||||
dev: true
|
||||
@ -850,6 +942,11 @@ packages:
|
||||
engines: {node: '>=6.0.0'}
|
||||
dev: true
|
||||
|
||||
/@jridgewell/set-array@1.2.1:
|
||||
resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==}
|
||||
engines: {node: '>=6.0.0'}
|
||||
dev: true
|
||||
|
||||
/@jridgewell/source-map@0.3.5:
|
||||
resolution: {integrity: sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==}
|
||||
dependencies:
|
||||
@ -1221,15 +1318,23 @@ packages:
|
||||
'@tauri-apps/cli-win32-x64-msvc': 1.5.9
|
||||
dev: true
|
||||
|
||||
/@types/conventional-commits-parser@5.0.0:
|
||||
resolution: {integrity: sha512-loB369iXNmAZglwWATL+WRe+CRMmmBPtpolYzIebFaX4YA3x+BEfLqhUAV9WanycKI3TG1IMr5bMJDajDKLlUQ==}
|
||||
requiresBuild: true
|
||||
dependencies:
|
||||
'@types/node': 20.11.7
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/@types/eslint-scope@3.7.7:
|
||||
resolution: {integrity: sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==}
|
||||
dependencies:
|
||||
'@types/eslint': 8.56.3
|
||||
'@types/eslint': 8.56.5
|
||||
'@types/estree': 1.0.5
|
||||
dev: true
|
||||
|
||||
/@types/eslint@8.56.3:
|
||||
resolution: {integrity: sha512-PvSf1wfv2wJpVIFUMSb+i4PvqNYkB9Rkp9ZDO3oaWzq4SKhsQk4mrMBr3ZH06I0hKrVGLBacmgl8JM4WVjb9dg==}
|
||||
/@types/eslint@8.56.5:
|
||||
resolution: {integrity: sha512-u5/YPJHo1tvkSF2CE0USEkxon82Z5DBy2xR+qfyYNszpX9qcs4sT6uq2kBbj4BXY1+DBGDPnrhMZV3pKWGNukw==}
|
||||
dependencies:
|
||||
'@types/estree': 1.0.5
|
||||
'@types/json-schema': 7.0.15
|
||||
@ -1259,8 +1364,8 @@ packages:
|
||||
/@types/lodash@4.14.202:
|
||||
resolution: {integrity: sha512-OvlIYQK9tNneDlS0VN54LLd5uiPCBOp7gS5Z0f1mjoJYBrtStzgmJBxONW3U6OZqdtNzZPmn9BS/7WI7BFFcFQ==}
|
||||
|
||||
/@types/node@20.11.20:
|
||||
resolution: {integrity: sha512-7/rR21OS+fq8IyHTgtLkDK949uzsa6n8BkziAKtPVpugIkO6D+/ooXMvzXxDnZrmtXVfjb1bKQafYpb8s89LOg==}
|
||||
/@types/node@20.11.22:
|
||||
resolution: {integrity: sha512-/G+IxWxma6V3E+pqK1tSl2Fo1kl41pK1yeCyDsgkF9WlVAme4j5ISYM2zR11bgLFJGLN5sVK40T4RJNuiZbEjA==}
|
||||
dependencies:
|
||||
undici-types: 5.26.5
|
||||
dev: true
|
||||
@ -2167,8 +2272,8 @@ packages:
|
||||
engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
|
||||
hasBin: true
|
||||
dependencies:
|
||||
caniuse-lite: 1.0.30001589
|
||||
electron-to-chromium: 1.4.681
|
||||
caniuse-lite: 1.0.30001591
|
||||
electron-to-chromium: 1.4.687
|
||||
node-releases: 2.0.14
|
||||
update-browserslist-db: 1.0.13(browserslist@4.23.0)
|
||||
dev: true
|
||||
@ -2212,8 +2317,8 @@ packages:
|
||||
resolution: {integrity: sha512-mtj5ur2FFPZcCEpXFy8ADXbDACuNFXg6mxVDqp7tqooX6l3zwm+d8EPoeOSIFRDvHs8qu7/SLFOGniULkcH2iA==}
|
||||
dev: true
|
||||
|
||||
/caniuse-lite@1.0.30001589:
|
||||
resolution: {integrity: sha512-vNQWS6kI+q6sBlHbh71IIeC+sRwK2N3EDySc/updIGhIee2x5z00J4c1242/5/d6EpEMdOnk/m+6tuk4/tcsqg==}
|
||||
/caniuse-lite@1.0.30001591:
|
||||
resolution: {integrity: sha512-PCzRMei/vXjJyL5mJtzNiUCKP59dm8Apqc3PH8gJkMnMXZGox93RbE76jHsmLwmIo6/3nsYIpJtx0O7u5PqFuQ==}
|
||||
dev: true
|
||||
|
||||
/chalk@2.4.2:
|
||||
@ -2609,7 +2714,7 @@ packages:
|
||||
longest: 2.0.1
|
||||
word-wrap: 1.2.5
|
||||
optionalDependencies:
|
||||
'@commitlint/load': 18.6.1(@types/node@20.11.7)(typescript@5.3.3)
|
||||
'@commitlint/load': 19.0.3(@types/node@20.11.7)(typescript@5.3.3)
|
||||
transitivePeerDependencies:
|
||||
- '@types/node'
|
||||
- typescript
|
||||
@ -2769,8 +2874,8 @@ packages:
|
||||
resolution: {integrity: sha512-EmFMarXeqJp9cUKu/QEciEApn0S/xRcpZWuAm32U7NgoZCimjsilKXHRO9saeEW55eHZagIDg6XTUOv32w9pjg==}
|
||||
dev: true
|
||||
|
||||
/electron-to-chromium@1.4.681:
|
||||
resolution: {integrity: sha512-1PpuqJUFWoXZ1E54m8bsLPVYwIVCRzvaL+n5cjigGga4z854abDnFRc+cTa2th4S79kyGqya/1xoR7h+Y5G5lg==}
|
||||
/electron-to-chromium@1.4.687:
|
||||
resolution: {integrity: sha512-Ic85cOuXSP6h7KM0AIJ2hpJ98Bo4hyTUjc4yjMbkvD+8yTxEhfK9+8exT2KKYsSjnCn2tGsKVSZwE7ZgTORQCw==}
|
||||
dev: true
|
||||
|
||||
/emoji-regex@10.3.0:
|
||||
@ -2781,8 +2886,8 @@ packages:
|
||||
resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==}
|
||||
dev: true
|
||||
|
||||
/enhanced-resolve@5.15.0:
|
||||
resolution: {integrity: sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==}
|
||||
/enhanced-resolve@5.15.1:
|
||||
resolution: {integrity: sha512-3d3JRbwsCLJsYgvb6NuWEG44jjPSOMuS73L/6+7BZuoKm3W+qXnSoIYVHi8dG7Qcg4inAY4jbzkZ7MnskePeDg==}
|
||||
engines: {node: '>=10.13.0'}
|
||||
dependencies:
|
||||
graceful-fs: 4.2.11
|
||||
@ -3472,12 +3577,12 @@ packages:
|
||||
path-is-absolute: 1.0.1
|
||||
dev: true
|
||||
|
||||
/global-dirs@0.1.1:
|
||||
resolution: {integrity: sha512-NknMLn7F2J7aflwFOlGdNIuCDpN3VGoSoB+aap3KABFWbHVn1TCgFC+np23J8W2BiZbjfEw3BFBycSMv1AFblg==}
|
||||
engines: {node: '>=4'}
|
||||
/global-directory@4.0.1:
|
||||
resolution: {integrity: sha512-wHTUcDUoZ1H5/0iVqEudYW4/kAlN5cZ3j/bXn0Dpbizl9iaUVeWSHqiOjsgk6OW2bkLclbBjzewBz6weQ1zA2Q==}
|
||||
engines: {node: '>=18'}
|
||||
requiresBuild: true
|
||||
dependencies:
|
||||
ini: 1.3.8
|
||||
ini: 4.1.1
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
@ -3672,6 +3777,12 @@ packages:
|
||||
resolve-from: 4.0.0
|
||||
dev: true
|
||||
|
||||
/import-meta-resolve@4.0.0:
|
||||
resolution: {integrity: sha512-okYUR7ZQPH+efeuMJGlq4f8ubUgO50kByRPyt/Cy1Io4PSRsPjxME+YlVaCOx+NIToW7hCsZNFJyTPFFKepRSA==}
|
||||
requiresBuild: true
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/imurmurhash@0.1.4:
|
||||
resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==}
|
||||
engines: {node: '>=0.8.19'}
|
||||
@ -3692,6 +3803,13 @@ packages:
|
||||
resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==}
|
||||
dev: true
|
||||
|
||||
/ini@4.1.1:
|
||||
resolution: {integrity: sha512-QQnnxNyfvmHFIsj7gkPcYymR8Jdw/o7mp5ZFihxn6h8Ci6fh3Dx4E1gPjpQEpIuPo9XVNY/ZUwh4BPMjGyL01g==}
|
||||
engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
|
||||
requiresBuild: true
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/inquirer@6.5.2:
|
||||
resolution: {integrity: sha512-cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ==}
|
||||
engines: {node: '>=6.0.0'}
|
||||
@ -3938,7 +4056,7 @@ packages:
|
||||
resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==}
|
||||
engines: {node: '>= 10.13.0'}
|
||||
dependencies:
|
||||
'@types/node': 20.11.20
|
||||
'@types/node': 20.11.22
|
||||
merge-stream: 2.0.0
|
||||
supports-color: 8.1.1
|
||||
dev: true
|
||||
@ -4328,8 +4446,8 @@ packages:
|
||||
resolution: {integrity: sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==}
|
||||
dev: true
|
||||
|
||||
/naive-ui@2.38.0(vue@3.4.19):
|
||||
resolution: {integrity: sha512-Sa1hPUSTaOBvFy5hBcdQ6ajGVqt59QHN4p6wcsC5stVo6JjQPnbRTUvWtNG3gAsLhCvHQBm9NXeJG5Ne1OFQ4Q==}
|
||||
/naive-ui@2.38.1(vue@3.4.19):
|
||||
resolution: {integrity: sha512-AnU1FQ7K/CbhguAX++V4kCFjk7h7RvWt4nvZPRjORMpq+fUIlzD+EcQ5Cv1VqDloNF8+eMv4Akc2Ogacc9S+5A==}
|
||||
peerDependencies:
|
||||
vue: ^3.0.0
|
||||
dependencies:
|
||||
@ -4816,15 +4934,6 @@ packages:
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/resolve-global@1.0.0:
|
||||
resolution: {integrity: sha512-zFa12V4OLtT5XUX/Q4VLvTfBf+Ok0SPc1FNGM/z9ctUdiU618qwKpWnd0CHs3+RqROfyEg/DhuHbMWYqcgljEw==}
|
||||
engines: {node: '>=8'}
|
||||
requiresBuild: true
|
||||
dependencies:
|
||||
global-dirs: 0.1.1
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/resolve@1.22.8:
|
||||
resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==}
|
||||
hasBin: true
|
||||
@ -5877,7 +5986,7 @@ packages:
|
||||
acorn-import-assertions: 1.9.0(acorn@8.11.3)
|
||||
browserslist: 4.23.0
|
||||
chrome-trace-event: 1.0.3
|
||||
enhanced-resolve: 5.15.0
|
||||
enhanced-resolve: 5.15.1
|
||||
es-module-lexer: 1.4.1
|
||||
eslint-scope: 5.1.1
|
||||
events: 3.3.0
|
||||
|
@ -1,5 +1,5 @@
|
||||
// 跨标签页处理
|
||||
const channel = new BroadcastChannel('cross-tab-msg')
|
||||
|
||||
/**
|
||||
* 发送消息
|
||||
* @param type 类型
|
||||
|
@ -4,17 +4,15 @@
|
||||
class="wh-full relative z-10 bg-[--right-bg-color] color-[--icon-color]"
|
||||
style="box-shadow: 0 -4px 4px var(--box-shadow-color)">
|
||||
<!-- 输入框顶部选项栏 -->
|
||||
<nav class="flex-between-center p-[10px_22px] select-none">
|
||||
<nav class="flex-between-center p-[10px_22px_5px] select-none">
|
||||
<nav class="input-options flex-y-center">
|
||||
<n-popover
|
||||
trigger="hover"
|
||||
:show-arrow="false"
|
||||
placement="bottom"
|
||||
style="padding: 5px; border: 1px solid rgba(90, 90, 90, 0.3); margin-right: 16px">
|
||||
style="padding: 5px; border: 1px solid rgba(90, 90, 90, 0.3)">
|
||||
<template #trigger>
|
||||
<div class="flex-center">
|
||||
<svg class="mr-18px"><use href="#smiling-face"></use></svg>
|
||||
</div>
|
||||
<svg class="mr-18px"><use href="#smiling-face"></use></svg>
|
||||
</template>
|
||||
<span>表情</span>
|
||||
</n-popover>
|
||||
@ -22,7 +20,7 @@
|
||||
trigger="hover"
|
||||
:show-arrow="false"
|
||||
placement="bottom"
|
||||
style="padding: 5px; border: 1px solid rgba(90, 90, 90, 0.3); margin-right: 16px">
|
||||
style="padding: 5px; border: 1px solid rgba(90, 90, 90, 0.3)">
|
||||
<template #trigger>
|
||||
<div class="flex-center gap-2px mr-12px">
|
||||
<svg><use href="#screenshot"></use></svg>
|
||||
@ -35,7 +33,7 @@
|
||||
trigger="hover"
|
||||
:show-arrow="false"
|
||||
placement="bottom"
|
||||
style="padding: 5px; border: 1px solid rgba(90, 90, 90, 0.3); margin-right: 16px">
|
||||
style="padding: 5px; border: 1px solid rgba(90, 90, 90, 0.3)">
|
||||
<template #trigger>
|
||||
<div class="flex-center gap-2px mr-12px">
|
||||
<svg><use href="#file2"></use></svg>
|
||||
@ -48,11 +46,9 @@
|
||||
trigger="hover"
|
||||
:show-arrow="false"
|
||||
placement="bottom"
|
||||
style="padding: 5px; border: 1px solid rgba(90, 90, 90, 0.3); margin-right: 16px">
|
||||
style="padding: 5px; border: 1px solid rgba(90, 90, 90, 0.3)">
|
||||
<template #trigger>
|
||||
<div class="flex-center">
|
||||
<svg class="mr-18px"><use href="#photo"></use></svg>
|
||||
</div>
|
||||
<svg class="mr-18px"><use href="#photo"></use></svg>
|
||||
</template>
|
||||
<span>图片</span>
|
||||
</n-popover>
|
||||
@ -60,11 +56,9 @@
|
||||
trigger="hover"
|
||||
:show-arrow="false"
|
||||
placement="bottom"
|
||||
style="padding: 5px; border: 1px solid rgba(90, 90, 90, 0.3); margin-right: 16px">
|
||||
style="padding: 5px; border: 1px solid rgba(90, 90, 90, 0.3)">
|
||||
<template #trigger>
|
||||
<div class="flex-center">
|
||||
<svg class="mr-18px"><use href="#shake"></use></svg>
|
||||
</div>
|
||||
<svg class="mr-18px"><use href="#shake"></use></svg>
|
||||
</template>
|
||||
<span>窗口抖动</span>
|
||||
</n-popover>
|
||||
@ -72,11 +66,9 @@
|
||||
trigger="hover"
|
||||
:show-arrow="false"
|
||||
placement="bottom"
|
||||
style="padding: 5px; border: 1px solid rgba(90, 90, 90, 0.3); margin-right: 16px">
|
||||
style="padding: 5px; border: 1px solid rgba(90, 90, 90, 0.3)">
|
||||
<template #trigger>
|
||||
<div class="flex-center">
|
||||
<svg class="mr-18px"><use href="#red-packet"></use></svg>
|
||||
</div>
|
||||
<svg class="mr-18px"><use href="#red-packet"></use></svg>
|
||||
</template>
|
||||
<span>红包</span>
|
||||
</n-popover>
|
||||
@ -84,11 +76,9 @@
|
||||
trigger="hover"
|
||||
:show-arrow="false"
|
||||
placement="bottom"
|
||||
style="padding: 5px; border: 1px solid rgba(90, 90, 90, 0.3); margin-right: 16px">
|
||||
style="padding: 5px; border: 1px solid rgba(90, 90, 90, 0.3)">
|
||||
<template #trigger>
|
||||
<div class="flex-center">
|
||||
<svg class="mr-18px"><use href="#voice"></use></svg>
|
||||
</div>
|
||||
<svg class="mr-18px"><use href="#voice"></use></svg>
|
||||
</template>
|
||||
<span>语音信息</span>
|
||||
</n-popover>
|
||||
@ -100,9 +90,7 @@
|
||||
placement="bottom"
|
||||
style="padding: 5px; border: 1px solid rgba(90, 90, 90, 0.3)">
|
||||
<template #trigger>
|
||||
<div>
|
||||
<svg class="w-22px h-22px cursor-pointer"><use href="#history"></use></svg>
|
||||
</div>
|
||||
<svg class="w-22px h-22px cursor-pointer outline-none"><use href="#history"></use></svg>
|
||||
</template>
|
||||
<span>聊天记录</span>
|
||||
</n-popover>
|
||||
@ -123,6 +111,7 @@
|
||||
width: 22px;
|
||||
height: 22px;
|
||||
cursor: pointer;
|
||||
outline: none;
|
||||
&:hover {
|
||||
color: #059669;
|
||||
}
|
||||
|
@ -13,9 +13,7 @@
|
||||
placement="bottom"
|
||||
style="padding: 5px; border: 1px solid rgba(90, 90, 90, 0.3)">
|
||||
<template #trigger>
|
||||
<div>
|
||||
<svg @click="handleClick"><use href="#phone-telephone"></use></svg>
|
||||
</div>
|
||||
<svg @click="handleClick"><use href="#phone-telephone"></use></svg>
|
||||
</template>
|
||||
<span>语言通话</span>
|
||||
</n-popover>
|
||||
@ -28,9 +26,7 @@
|
||||
placement="bottom"
|
||||
style="padding: 5px; border: 1px solid rgba(90, 90, 90, 0.3)">
|
||||
<template #trigger>
|
||||
<div>
|
||||
<svg><use href="#video-one"></use></svg>
|
||||
</div>
|
||||
<svg><use href="#video-one"></use></svg>
|
||||
</template>
|
||||
<span>视频通话</span>
|
||||
</n-popover>
|
||||
@ -43,9 +39,7 @@
|
||||
placement="bottom"
|
||||
style="padding: 5px; border: 1px solid rgba(90, 90, 90, 0.3)">
|
||||
<template #trigger>
|
||||
<div>
|
||||
<svg><use href="#screen-sharing"></use></svg>
|
||||
</div>
|
||||
<svg><use href="#screen-sharing"></use></svg>
|
||||
</template>
|
||||
<span>屏幕共享</span>
|
||||
</n-popover>
|
||||
@ -58,9 +52,7 @@
|
||||
placement="bottom"
|
||||
style="padding: 5px; border: 1px solid rgba(90, 90, 90, 0.3)">
|
||||
<template #trigger>
|
||||
<div>
|
||||
<svg><use href="#remote-control"></use></svg>
|
||||
</div>
|
||||
<svg><use href="#remote-control"></use></svg>
|
||||
</template>
|
||||
<span>远程协助</span>
|
||||
</n-popover>
|
||||
@ -73,9 +65,7 @@
|
||||
placement="bottom"
|
||||
style="padding: 5px; border: 1px solid rgba(90, 90, 90, 0.3)">
|
||||
<template #trigger>
|
||||
<div>
|
||||
<svg><use href="#launch"></use></svg>
|
||||
</div>
|
||||
<svg><use href="#launch"></use></svg>
|
||||
</template>
|
||||
<span>发起群聊</span>
|
||||
</n-popover>
|
||||
@ -198,6 +188,7 @@ onUnmounted(() => {
|
||||
svg {
|
||||
width: 22px;
|
||||
height: 22px;
|
||||
outline: none;
|
||||
}
|
||||
&:hover svg {
|
||||
color: #059669;
|
||||
|
@ -42,21 +42,22 @@ export const useWindow = () => {
|
||||
fileDropEnabled: isDrag
|
||||
})
|
||||
|
||||
await webview.once('tauri://created', async () => {
|
||||
console.log('创建成功')
|
||||
await invoke('reset_set_window', { label }).catch((error) => {
|
||||
console.error('设置窗口阴影失败:', error)
|
||||
// 首先检查是否已经存在同名窗口
|
||||
const isExistsWinds = WebviewWindow.getByLabel(label)
|
||||
if (isExistsWinds) {
|
||||
// 如果窗口已存在,则给它焦点,使其置顶
|
||||
await webview.setFocus()
|
||||
} else {
|
||||
await webview.once('tauri://created', async () => {
|
||||
await invoke('reset_set_window', { label }).catch((error) => {
|
||||
console.error('设置窗口阴影失败:', error)
|
||||
})
|
||||
if (wantCloseWindow) {
|
||||
await autoCloseWindow(wantCloseWindow)
|
||||
}
|
||||
})
|
||||
if (wantCloseWindow) {
|
||||
await autoCloseWindow(wantCloseWindow)
|
||||
}
|
||||
})
|
||||
|
||||
await webview.once('tauri://error', (e) => {
|
||||
console.error(e)
|
||||
})
|
||||
|
||||
return webview
|
||||
return webview
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -1,6 +0,0 @@
|
||||
<template>
|
||||
<main class="flex-1 bg-[--right-bg-color] h-full w-100vw">
|
||||
<ActionBar />
|
||||
<RouterView />
|
||||
</main>
|
||||
</template>
|
@ -1,9 +1,8 @@
|
||||
<template>
|
||||
<div class="flex wh-full min-h-540px min-w-310px">
|
||||
<Left />
|
||||
<Combine v-if="isCombine" />
|
||||
<Center v-else />
|
||||
<Right v-if="!shrinkStatus && !isCombine" />
|
||||
<Center />
|
||||
<Right v-if="!shrinkStatus" />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@ -11,16 +10,10 @@
|
||||
import Center from './center/index.vue'
|
||||
import Left from './left/index.vue'
|
||||
import Right from './right/index.vue'
|
||||
import Combine from './combine/index.vue'
|
||||
import Mitt from '@/utils/Bus'
|
||||
import router from '@/router'
|
||||
|
||||
/* todo home窗口创建的时候已经设置了resizable: true,可以调整大小了,但是还是不可以调整大小 */
|
||||
const shrinkStatus = ref(false)
|
||||
// 判断是否是组合页面
|
||||
const isCombine = computed(() => {
|
||||
return router.currentRoute.value.path.includes('/space')
|
||||
})
|
||||
/**
|
||||
* event默认如果没有传递值就为true,所以shrinkStatus的值为false就会发生值的变化
|
||||
* 因为shrinkStatus的值为false,所以v-if="!shrinkStatus" 否则right组件刚开始渲染的时候不会显示
|
||||
|
@ -24,7 +24,7 @@
|
||||
<div
|
||||
v-for="(item, index) in itemsBottom"
|
||||
:key="index"
|
||||
@click="openContent(item.label, item.title)"
|
||||
@click="openContent(item.title, item.label)"
|
||||
class="bottom-action">
|
||||
<svg class="w-22px h-22px">
|
||||
<use :href="`#${item.icon}`"></use>
|
||||
@ -89,7 +89,7 @@ const itemsTop = ref<TopActive>([
|
||||
iconAction: 'avatar-action'
|
||||
},
|
||||
{
|
||||
url: 'space',
|
||||
url: 'dynamic',
|
||||
icon: 'fire',
|
||||
iconAction: 'fire-action'
|
||||
}
|
||||
@ -174,15 +174,22 @@ watchEffect(() => {
|
||||
* */
|
||||
const pageJumps = (url: string) => {
|
||||
activeItem.value = url
|
||||
router.push(`/${url}`)
|
||||
// 判断是否是动态页面
|
||||
if (url === 'dynamic') {
|
||||
delay(async () => {
|
||||
await createWebviewWindow('动态', 'dynamic', 840, 800)
|
||||
}, 300)
|
||||
} else {
|
||||
router.push(`/${url}`)
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 打开内容对应窗口
|
||||
* @param label 窗口的标识
|
||||
* @param title 窗口的标题
|
||||
* @param label 窗口的标识
|
||||
* */
|
||||
const openContent = (label: string, title: string) => {
|
||||
const openContent = (title: string, label: string) => {
|
||||
delay(async () => {
|
||||
await createWebviewWindow(title, label, 840, 600)
|
||||
}, 300)
|
||||
|
@ -30,3 +30,19 @@ export const MockList = ref<MockItem[]>(
|
||||
}
|
||||
})
|
||||
)
|
||||
|
||||
/* 模拟照片墙 */
|
||||
const imgList = Array.from({ length: 10 }, (_, i) => {
|
||||
return {
|
||||
url: `${avatars}?${i}`
|
||||
}
|
||||
})
|
||||
/* 模拟动态内容 */
|
||||
export const dynamicList = Array.from({ length: 10 }, (_, i) => {
|
||||
return {
|
||||
id: i,
|
||||
avatar: `${avatars}?${i}`,
|
||||
user: `泰勒斯威夫特 ${i}`,
|
||||
img: imgList
|
||||
}
|
||||
})
|
||||
|
@ -28,11 +28,6 @@ const routes: Array<RouteRecordRaw> = [
|
||||
name: 'friendsList',
|
||||
component: () => import('@/views/home-window/FriendsList.vue')
|
||||
},
|
||||
{
|
||||
path: '/space',
|
||||
name: 'space',
|
||||
component: () => import('@/views/home-window/Space.vue')
|
||||
},
|
||||
{
|
||||
path: '/searchDetails',
|
||||
name: 'searchDetails',
|
||||
@ -45,6 +40,11 @@ const routes: Array<RouteRecordRaw> = [
|
||||
name: 'mail',
|
||||
component: () => import('@/views/home-window/Mail.vue')
|
||||
},
|
||||
{
|
||||
path: '/dynamic',
|
||||
name: 'dynamic',
|
||||
component: () => import('@/views/home-window/Dynamic.vue')
|
||||
},
|
||||
{
|
||||
path: '/about',
|
||||
name: 'about',
|
||||
|
66
src/views/home-window/Dynamic.vue
Normal file
66
src/views/home-window/Dynamic.vue
Normal file
@ -0,0 +1,66 @@
|
||||
<template>
|
||||
<!-- TODO 项目初次启动然后初次打开窗口时候这个页面的样式没有渲染出来 (nyh -> 2024-03-04 05:30:15) -->
|
||||
<!-- TODO 我需要点击最左边侧边栏时候的选中样式(如果是淡出弹出窗口就把图标点亮但是不用设置背景颜色,然后如果关闭了对应窗口就把图标恢复原来的样式) (nyh -> 2024-03-04 05:32:03) -->
|
||||
<main class="wh-full bg-[--right-bg-color]">
|
||||
<ActionBar :shrink="false" :max-w="false" />
|
||||
<article class="flex flex-col items-center text-color-[--text-color] wh-full bg-[--right-bg-color]">
|
||||
<n-scrollbar
|
||||
style="max-height: 100vh"
|
||||
class="w-650px bg-[--center-bg-color] h-full p-[10px_0] box-border rounded-4px">
|
||||
<n-flex justify="center">
|
||||
<!-- 动态内容框 -->
|
||||
<n-space
|
||||
vertical
|
||||
v-for="item in dynamicList"
|
||||
:key="item.id"
|
||||
class="w-450px h-fit rounded-8px bg-[--right-bg-color] p-10px box-border">
|
||||
<n-flex>
|
||||
<!-- 用户的头像和用户名以及个签 -->
|
||||
<img class="w-45px h-45px bg-#ccc rounded-50% select-none" :src="item.avatar" alt="" />
|
||||
<n-space vertical style="flex: 1">
|
||||
<n-flex justify="space-between" align="center">
|
||||
<label class="text-14px flex items-center gap-5px">
|
||||
<span>泰勒斯威夫特</span>
|
||||
<n-popover trigger="hover">
|
||||
<template #trigger>
|
||||
<svg class="w-20px h-20px color-#059669 select-none outline-none"><use href="#auth"></use></svg>
|
||||
</template>
|
||||
<span>著名歌手</span>
|
||||
</n-popover>
|
||||
</label>
|
||||
|
||||
<span class="text-12px color-#707070">发布于:2021-01-01</span>
|
||||
</n-flex>
|
||||
|
||||
<span class="text-12px color-#707070">个性签名</span>
|
||||
</n-space>
|
||||
|
||||
<!-- 个签照片墙 -->
|
||||
<n-space vertical>
|
||||
<n-scrollbar style="max-height: 240px; user-select: none">
|
||||
<n-image-group>
|
||||
<n-flex>
|
||||
<n-image
|
||||
v-for="i in item.img"
|
||||
:key="i.url"
|
||||
:src="i.url"
|
||||
alt=""
|
||||
width="134px"
|
||||
height="120px"
|
||||
class="rounded-6px" />
|
||||
</n-flex>
|
||||
</n-image-group>
|
||||
</n-scrollbar>
|
||||
|
||||
<n-input />
|
||||
</n-space>
|
||||
</n-flex>
|
||||
</n-space>
|
||||
</n-flex>
|
||||
</n-scrollbar>
|
||||
</article>
|
||||
</main>
|
||||
</template>
|
||||
<script setup lang="ts">
|
||||
import { dynamicList } from '@/mock/index.ts'
|
||||
</script>
|
@ -1,6 +0,0 @@
|
||||
<template>
|
||||
<div>空间</div>
|
||||
</template>
|
||||
<script setup lang="ts"></script>
|
||||
|
||||
<style scoped></style>
|
@ -41,7 +41,7 @@
|
||||
<n-scrollbar style="max-height: 120px" trigger="none">
|
||||
<n-flex
|
||||
vertical
|
||||
v-for="item in accountOption"
|
||||
v-for="(item, index) in accountOption"
|
||||
:key="item.account"
|
||||
@click="giveAccount(item.account, item.password)"
|
||||
class="p-8px cursor-pointer hover:bg-#f3f3f3 hover: rounded-6px">
|
||||
|
Loading…
Reference in New Issue
Block a user