diff --git a/frontend/components.d.ts b/frontend/components.d.ts index 9b87c58..f49431f 100644 --- a/frontend/components.d.ts +++ b/frontend/components.d.ts @@ -67,18 +67,26 @@ declare module 'vue' { ElCard: typeof import('element-plus/es')['ElCard'] ElCarousel: typeof import('element-plus/es')['ElCarousel'] ElCarouselItem: typeof import('element-plus/es')['ElCarouselItem'] + ElCheckbox: typeof import('element-plus/es')['ElCheckbox'] ElCol: typeof import('element-plus/es')['ElCol'] ElColorPicker: typeof import('element-plus/es')['ElColorPicker'] ElContainer: typeof import('element-plus/es')['ElContainer'] ElDialog: typeof import('element-plus/es')['ElDialog'] ElDrawer: typeof import('element-plus/es')['ElDrawer'] + ElDropdown: typeof import('element-plus/es')['ElDropdown'] + ElDropdownItem: typeof import('element-plus/es')['ElDropdownItem'] + ElDropdownMenu: typeof import('element-plus/es')['ElDropdownMenu'] ElEmpty: typeof import('element-plus/es')['ElEmpty'] + ElFooter: typeof import('element-plus/es')['ElFooter'] ElForm: typeof import('element-plus/es')['ElForm'] ElFormItem: typeof import('element-plus/es')['ElFormItem'] ElHeader: typeof import('element-plus/es')['ElHeader'] ElIcon: typeof import('element-plus/es')['ElIcon'] ElImage: typeof import('element-plus/es')['ElImage'] ElInput: typeof import('element-plus/es')['ElInput'] + ElMain: typeof import('element-plus/es')['ElMain'] + ElMenu: typeof import('element-plus/es')['ElMenu'] + ElMenuItem: typeof import('element-plus/es')['ElMenuItem'] ElOption: typeof import('element-plus/es')['ElOption'] ElPageHeader: typeof import('element-plus/es')['ElPageHeader'] ElPagination: typeof import('element-plus/es')['ElPagination'] @@ -97,6 +105,8 @@ declare module 'vue' { ElTag: typeof import('element-plus/es')['ElTag'] ElText: typeof import('element-plus/es')['ElText'] ElTooltip: typeof import('element-plus/es')['ElTooltip'] + ElTransfer: typeof import('element-plus/es')['ElTransfer'] + ElTree: typeof import('element-plus/es')['ElTree'] Error: typeof import('./src/components/taskbar/Error.vue')['default'] FileIcon: typeof import('./src/components/builtin/FileIcon.vue')['default'] FileIconImg: typeof import('./src/components/builtin/FileIconImg.vue')['default'] @@ -106,7 +116,6 @@ declare module 'vue' { FilePwd: typeof import('./src/components/oa/FilePwd.vue')['default'] FileTree: typeof import('./src/components/builtin/FileTree.vue')['default'] FileViewer: typeof import('./src/components/builtin/FileViewer.vue')['default'] - GithubNext: typeof import('./src/components/desktop/GithubNext.vue')['default'] IframeFile: typeof import('./src/components/window/IframeFile.vue')['default'] ImageViewer: typeof import('./src/components/builtin/ImageViewer.vue')['default'] Install: typeof import('./src/components/install/Install.vue')['default'] diff --git a/frontend/package.json b/frontend/package.json index d4dd0ff..22879ee 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -19,6 +19,7 @@ "jszip": "^3.10.1", "lunar-typescript": "^1.7.6", "moment": "^2.30.1", + "nanoid": "^5.0.9", "pinia": "^2.1.7", "pinia-plugin-persist": "^1.0.0", "vite-plugin-svg-icons": "^2.0.1", @@ -31,6 +32,7 @@ }, "devDependencies": { "@types/file-saver": "^2.0.7", + "@types/nanoid": "^3.0.0", "@types/node": "^20.14.10", "@vitejs/plugin-vue": "^5.0.5", "sass": "^1.77.8", diff --git a/frontend/pnpm-lock.yaml b/frontend/pnpm-lock.yaml index 41b4d5b..1e4f202 100644 --- a/frontend/pnpm-lock.yaml +++ b/frontend/pnpm-lock.yaml @@ -33,11 +33,14 @@ importers: specifier: ^3.10.1 version: 3.10.1 lunar-typescript: - specifier: ^1.7.5 - version: 1.7.5 + specifier: ^1.7.6 + version: 1.7.6 moment: specifier: ^2.30.1 version: 2.30.1 + nanoid: + specifier: ^5.0.9 + version: 5.0.9 pinia: specifier: ^2.1.7 version: 2.2.4(typescript@5.6.3)(vue@3.5.12(typescript@5.6.3)) @@ -69,6 +72,9 @@ importers: '@types/file-saver': specifier: ^2.0.7 version: 2.0.7 + '@types/nanoid': + specifier: ^3.0.0 + version: 3.0.0 '@types/node': specifier: ^20.14.10 version: 20.16.13 @@ -534,6 +540,10 @@ packages: '@types/lodash@4.17.12': resolution: {integrity: sha512-sviUmCE8AYdaF/KIHLDJBQgeYzPBI0vf/17NaYehBJfYD1j6/L95Slh07NlyK2iNyBNaEkb3En2jRt+a8y3xZQ==} + '@types/nanoid@3.0.0': + resolution: {integrity: sha512-UXitWSmXCwhDmAKe7D3hNQtQaHeHt5L8LO1CB8GF8jlYVzOv5cBWDNqiJ+oPEWrWei3i3dkZtHY/bUtd0R/uOQ==} + deprecated: This is a stub types definition. nanoid provides its own type definitions, so you do not need this installed. + '@types/node@20.16.13': resolution: {integrity: sha512-GjQ7im10B0labo8ZGXDGROUl9k0BNyDgzfGpb4g/cl+4yYDWVKcozANF4FGr4/p0O/rAkQClM6Wiwkije++1Tg==} @@ -2040,8 +2050,8 @@ packages: lottie-web@5.12.2: resolution: {integrity: sha512-uvhvYPC8kGPjXT3MyKMrL3JitEAmDMp30lVkuq/590Mw9ok6pWcFCwXJveo0t5uqYw1UREQHofD+jVpdjBv8wg==} - lunar-typescript@1.7.5: - resolution: {integrity: sha512-AlOwYrxHRCR9Plba5TlZY0NVv6aFobmR1gxfiAE1KxjDzBXoDtT2KrsBYCVaErGokiL8qLMS1FNwGPiPRX2a4g==} + lunar-typescript@1.7.6: + resolution: {integrity: sha512-vrNRgzJ6UgK++P81jaOykV7YBCLemC8l/XDbsXE7MinojXolOKiIHm6sOZg5wdDMbJxCWP1ERAaqcBV9mhw2Bg==} magic-string@0.30.12: resolution: {integrity: sha512-Ea8I3sQMVXr8JhN4z+H/d8zwo+tYDgHE9+5G4Wnrwhs0gaK9fXTKx0Tw5Xwsd/bCPTTZNRAdpyzvoeORe9LYpw==} @@ -2145,6 +2155,11 @@ packages: engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true + nanoid@5.0.9: + resolution: {integrity: sha512-Aooyr6MXU6HpvvWXKoVoXwKMs/KyVakWwg7xQfv5/S/RIgJMy0Ifa45H9qqYy7pTCszrHzP21Uk4PZq2HpEM8Q==} + engines: {node: ^18 || >=20} + hasBin: true + nanomatch@1.2.13: resolution: {integrity: sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==} engines: {node: '>=0.10.0'} @@ -3356,6 +3371,10 @@ snapshots: '@types/lodash@4.17.12': {} + '@types/nanoid@3.0.0': + dependencies: + nanoid: 5.0.9 + '@types/node@20.16.13': dependencies: undici-types: 6.19.8 @@ -5330,7 +5349,7 @@ snapshots: lottie-web@5.12.2: {} - lunar-typescript@1.7.5: {} + lunar-typescript@1.7.6: {} magic-string@0.30.12: dependencies: @@ -5481,6 +5500,8 @@ snapshots: nanoid@3.3.7: {} + nanoid@5.0.9: {} + nanomatch@1.2.13(supports-color@3.2.3): dependencies: arr-diff: 4.0.0 diff --git a/frontend/public/image/login/新浪微博.png b/frontend/public/image/login/sina.png similarity index 100% rename from frontend/public/image/login/新浪微博.png rename to frontend/public/image/login/sina.png diff --git a/frontend/public/image/login/微信.png b/frontend/public/image/login/wechat.png similarity index 100% rename from frontend/public/image/login/微信.png rename to frontend/public/image/login/wechat.png diff --git a/frontend/src/assets/login/GitHub.png b/frontend/src/assets/login/GitHub.png new file mode 100644 index 0000000..451a5e2 Binary files /dev/null and b/frontend/src/assets/login/GitHub.png differ diff --git a/frontend/src/assets/login/QQ.png b/frontend/src/assets/login/QQ.png new file mode 100644 index 0000000..715df9b Binary files /dev/null and b/frontend/src/assets/login/QQ.png differ diff --git a/frontend/src/assets/login/gitee.png b/frontend/src/assets/login/gitee.png new file mode 100644 index 0000000..8d8c122 Binary files /dev/null and b/frontend/src/assets/login/gitee.png differ diff --git a/frontend/src/assets/login/sina.png b/frontend/src/assets/login/sina.png new file mode 100644 index 0000000..7653ece Binary files /dev/null and b/frontend/src/assets/login/sina.png differ diff --git a/frontend/src/assets/login/wechat.png b/frontend/src/assets/login/wechat.png new file mode 100644 index 0000000..e0c0b23 Binary files /dev/null and b/frontend/src/assets/login/wechat.png differ diff --git a/frontend/src/components/computer/Computer.vue b/frontend/src/components/computer/Computer.vue index 77fabff..8fc9a70 100644 --- a/frontend/src/components/computer/Computer.vue +++ b/frontend/src/components/computer/Computer.vue @@ -154,6 +154,8 @@ turnLocalPath, } from "@/util/sharePath.ts"; + import { useChooseStore } from "@/stores/choose"; + const { choseStart, chosing, choseEnd, getRect, Chosen } = useRectChosen(); const browserWindow: BrowserWindow | undefined = inject("browserWindow"); @@ -171,11 +173,15 @@ const props = defineProps({ translateSavePath: { type: Function + }, + componentID:{ + } }) const setRouter = function (path: string) { - if (props.translateSavePath) { + if (props.translateSavePath && props.componentID) { props.translateSavePath(path) + // router_url_history.value.push(path); } router_url.value = path; if ( @@ -190,6 +196,8 @@ router_url_history_index.value = router_url_history.value.length; router_url_history.value.push(path); }; + const choose = useChooseStore() + const { refersh, createFolder, backFolder, openFolder, onComputerMount } = useComputer({ setRouter: setRouter, @@ -355,6 +363,18 @@ shareShow.value = system.getConfig("userType") === "member" ? true : false; // console.log('配置信息:', system.getConfig('userInfo').id); + // 生成新文件时,设置默认路径 + if (props.translateSavePath && choose.saveFileContent.length > 0) { + // setRouter(choose.saveFileContent.defaultPath) + let pos = -1 + choose.saveFileContent.forEach((item, index) => { + if (item.componentID == props.componentID) { + pos = index + } + }) + if (pos !== -1) onTreeOpen(choose.saveFileContent[pos].defaultPath) + // console.log('默认路径:',pos, choose.saveFileContent); + } }); function handleOuterClick() { diff --git a/frontend/src/components/desktop/LockDesktop.vue b/frontend/src/components/desktop/LockDesktop.vue index f3023a8..a49b9cb 100644 --- a/frontend/src/components/desktop/LockDesktop.vue +++ b/frontend/src/components/desktop/LockDesktop.vue @@ -48,54 +48,17 @@