diff --git a/.env.development b/.env.development index ab6bc5b..ed78b96 100644 --- a/.env.development +++ b/.env.development @@ -3,16 +3,16 @@ VITE_BASE = '/' # 主服务 VITE_API_PREFIX = '/api' -VITE_API_BASE_URL = 'http://43.248.131.153:8001' # http://huanda.xueai.art http://106.54.11.219/api 43.248.131.153:8003 -VITE_API_WS_URL = 'ws://huanda.xueai.art/api' +VITE_API_BASE_URL = 'http://test.xueai.art/api' # http://huanda.xueai.art http://106.54.11.219/api 43.248.131.153:8003 +VITE_API_WS_URL = 'ws://test.xueai.art/api' # 支付服务 VITE_API_PAY_PREFIX = '/pay' -VITE_API_PAY_TARGET = 'http://43.248.131.153:8091' # http://43.248.133.202 test.xueai.art +VITE_API_PAY_TARGET = 'http://test.xueai.art' # http://43.248.133.202 test.xueai.art -# AI Music后端服务 -VITE_API_WORKFLOW_UPLOAD = 'http://43.248.131.153:8060/workflow/file/upload' # https://sxwz.xueai.art/workflow https://designtools.xueai.art/workflow -VITE_API_WORKFLOW_WS = 'ws://43.248.97.19:4000/huanda' # 43.248.131.153 43.248.131.153:8084 +# 任务处理模块 +VITE_API_WORKFLOW_UPLOAD = 'http://aipaint.xueai.art/aigc/workflow/file/upload' # https://sxwz.xueai.art/workflow https://designtools.xueai.art/workflow +VITE_API_WORKFLOW_WS = 'wss://aipaint.xueai.art/testworkflow' # 是否开启开发者工具 VITE_OPEN_DEVTOOLS = false diff --git a/.env.production b/.env.production index f9569a2..15d4d43 100644 --- a/.env.production +++ b/.env.production @@ -6,16 +6,16 @@ VITE_BUILD_MOCK = false # 主服务 VITE_API_PREFIX = '/api' -VITE_API_BASE_URL = 'https://huanda.xueai.art/api' -VITE_API_WS_URL = 'wss://huanda.xueai.art/api' +VITE_API_BASE_URL = 'https://sxwz.xueai.art/api' +VITE_API_WS_URL = 'wss://sxwz.xueai.art/api' # 支付服务 VITE_API_PAY_PREFIX = '/pay' -VITE_API_PAY_TARGET = 'https://huanda.xueai.art' # http://43.248.133.202 +VITE_API_PAY_TARGET = 'https://sxwz.xueai.art' # http://43.248.133.202 # 任务处理模块 -VITE_API_WORKFLOW_UPLOAD = 'https://huanda.xueai.art/huandaCallback/workflow/file/upload' # https://sxwz.xueai.art/workflow https://designtools.xueai.art/workflow -VITE_API_WORKFLOW_WS = 'wss://huanda.xueai.art/task' +VITE_API_WORKFLOW_UPLOAD = 'https://aipaint.xueai.art/aigc/workflow/file/upload' # https://sxwz.xueai.art/workflow https://designtools.xueai.art/workflow +VITE_API_WORKFLOW_WS = 'wss://aipaint.xueai.art/testworkflow' # 是否开启KKFileView FILE_OPEN_PREVIEW = false diff --git a/components.d.ts b/components.d.ts index aca1359..115c908 100644 --- a/components.d.ts +++ b/components.d.ts @@ -43,6 +43,7 @@ declare module 'vue' { IEpArrow: typeof import('~icons/ep/arrow')['default'] IEpArrowDown: typeof import('~icons/ep/arrow-down')['default'] IEpBack: typeof import('~icons/ep/back')['default'] + IEpCalendar: typeof import('~icons/ep/calendar')['default'] IEpCirclePlusFilled: typeof import('~icons/ep/circle-plus-filled')['default'] IEpClose: typeof import('~icons/ep/close')['default'] IEpDelete: typeof import('~icons/ep/delete')['default'] @@ -54,6 +55,7 @@ declare module 'vue' { IEpRefresh: typeof import('~icons/ep/refresh')['default'] IEpRefreshRight: typeof import('~icons/ep/refresh-right')['default'] IEpRight: typeof import('~icons/ep/right')['default'] + IEpStar: typeof import('~icons/ep/star')['default'] IEpStarFilled: typeof import('~icons/ep/star-filled')['default'] IEpTop: typeof import('~icons/ep/top')['default'] IEpUploadFilled: typeof import('~icons/ep/upload-filled')['default'] diff --git a/config/plugins.js b/config/plugins.js index bd369c5..4229a55 100644 --- a/config/plugins.js +++ b/config/plugins.js @@ -1,6 +1,8 @@ import AutoImport from 'unplugin-auto-import/vite' import Components from 'unplugin-vue-components/vite' import { ElementPlusResolver } from 'unplugin-vue-components/resolvers' +import Icons from 'unplugin-icons/vite' +import IconsResolver from 'unplugin-icons/resolver' export const autoImportConfig = AutoImport({ imports: [ @@ -9,11 +11,11 @@ export const autoImportConfig = AutoImport({ 'pinia' ], dts: './auto-imports.d.ts', - resolvers: [ElementPlusResolver()] + resolvers: [ElementPlusResolver(), IconsResolver({ prefix: 'i' })] }) export const componentsConfig = Components({ dts: './components.d.ts', dirs: ['src/components'], - resolvers: [ElementPlusResolver()] + resolvers: [ElementPlusResolver(), IconsResolver({ enabledCollections: 'ep' })] }) diff --git a/package.json b/package.json index d24f105..92cfb66 100644 --- a/package.json +++ b/package.json @@ -7,6 +7,7 @@ "preview": "vite preview" }, "devDependencies": { + "@iconify-json/ep": "^1.2.4", "@vitejs/plugin-vue": "^6.0.4", "eslint": "^10.0.3", "less": "^4.5.1", @@ -16,6 +17,7 @@ "vite": "^7.3.1" }, "dependencies": { + "@element-plus/icons-vue": "^2.3.2", "axios": "^1.13.6", "element-plus": "^2.13.5", "pinia": "^3.0.4", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 4c6d5e6..bbfb1b3 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -8,6 +8,9 @@ importers: .: dependencies: + '@element-plus/icons-vue': + specifier: ^2.3.2 + version: 2.3.2(vue@3.5.29) axios: specifier: ^1.13.6 version: 1.13.6 @@ -30,6 +33,9 @@ importers: specifier: 2.0.0-beta.8 version: 2.0.0-beta.8(vue@3.5.29) devDependencies: + '@iconify-json/ep': + specifier: ^1.2.4 + version: 1.2.4 '@vitejs/plugin-vue': specifier: ^6.0.4 version: 6.0.4(vite@7.3.1(less@4.5.1)(yaml@2.8.2))(vue@3.5.29) @@ -316,6 +322,9 @@ packages: resolution: {integrity: sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==} engines: {node: '>=18.18'} + '@iconify-json/ep@1.2.4': + resolution: {integrity: sha512-dtKOueYp1CRxAUW+GayIiuHqOlELfO0W3QiHOH4NjvKtBn2uxZbByIKQ+7B1Hj+AgZrhWTie3QKYkZn+VQVZrw==} + '@iconify/types@2.0.0': resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==} @@ -2386,6 +2395,10 @@ snapshots: '@humanwhocodes/retry@0.4.3': {} + '@iconify-json/ep@1.2.4': + dependencies: + '@iconify/types': 2.0.0 + '@iconify/types@2.0.0': {} '@iconify/utils@3.1.0': diff --git a/src/assets/dialog/image4-1-1-BZWQeEAk.png b/src/assets/dialog/image4-1-1-BZWQeEAk.png deleted file mode 100644 index 703921c..0000000 Binary files a/src/assets/dialog/image4-1-1-BZWQeEAk.png and /dev/null differ diff --git a/src/assets/dialog/lock.svg b/src/assets/dialog/lock.svg new file mode 100644 index 0000000..bba9c97 --- /dev/null +++ b/src/assets/dialog/lock.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/src/assets/dialog/model.svg b/src/assets/dialog/model.svg new file mode 100644 index 0000000..3e9cde6 --- /dev/null +++ b/src/assets/dialog/model.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/assets/dialog/proportion.svg b/src/assets/dialog/proportion.svg new file mode 100644 index 0000000..f4f75f0 --- /dev/null +++ b/src/assets/dialog/proportion.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/assets/dialog/quantity.svg b/src/assets/dialog/quantity.svg new file mode 100644 index 0000000..453bdc7 --- /dev/null +++ b/src/assets/dialog/quantity.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/assets/display/againGenerate.svg b/src/assets/display/againGenerate.svg new file mode 100644 index 0000000..2e5257d --- /dev/null +++ b/src/assets/display/againGenerate.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/assets/display/deleteImage.svg b/src/assets/display/deleteImage.svg new file mode 100644 index 0000000..ca6d4e2 --- /dev/null +++ b/src/assets/display/deleteImage.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/assets/display/reEdit.svg b/src/assets/display/reEdit.svg new file mode 100644 index 0000000..a648350 --- /dev/null +++ b/src/assets/display/reEdit.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/assets/display/search.svg b/src/assets/display/search.svg new file mode 100644 index 0000000..66732f0 --- /dev/null +++ b/src/assets/display/search.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/components/Select/index.vue b/src/components/Select/index.vue index a272520..2d53a00 100644 --- a/src/components/Select/index.vue +++ b/src/components/Select/index.vue @@ -9,7 +9,7 @@ > {{ selectedOption || placeholder }} -
+ @@ -154,7 +158,7 @@ onBeforeUnmount(() => { .select-header { width: v-bind(width); - height: 36px; + height: 28px; background-color: v-bind(background); border-radius: 10px; display: flex; @@ -178,7 +182,7 @@ onBeforeUnmount(() => { .select-text { font-family: 'Microsoft YaHei'; - font-size: 14px; + font-size: 12px; color: #333333; white-space: nowrap; overflow: hidden; @@ -202,16 +206,30 @@ onBeforeUnmount(() => { .dropdown-menu { position: absolute; background-color: #FFFFFF; - border-radius: 20px; - box-shadow: 0px 0px 15px 0px rgba(0, 0, 0, 0.1); - padding: 20px 0; + border-radius: 16px; + box-shadow: 0 8px 30px rgba(0, 0, 0, 0.08); + padding: 10px 8px; z-index: 1000; display: flex; flex-direction: column; - align-items: center; - gap: 20px; left: 50%; transform: translateX(-50%); + min-width: 50px; + width: max-content; + border: 1px solid #e8e8e8; + animation: fadeIn 0.2s ease; + gap: 10px; +} + +@keyframes fadeIn { + from { + opacity: 0; + transform: translateX(-50%) translateY(-8px); + } + to { + opacity: 1; + transform: translateX(-50%) translateY(0); + } } .dropdown-menu.bottom { @@ -243,32 +261,60 @@ onBeforeUnmount(() => { .dropdown-item { font-family: 'Microsoft YaHei'; font-size: 14px; - color: #666666; + color: #999999; cursor: pointer; - transition: all 0.3s ease; + transition: all 0.2s ease; position: relative; - padding: 0 20px; - min-width: 80px; - text-align: center; + padding: 0px 20px; + min-width: 120px; + text-align: left; + white-space: nowrap; + width: 100%; + box-sizing: border-box; + border-radius: 5px; + height: 36px; + display: flex; + align-items: center; } .dropdown-item:hover { - color: #000F33; + color: #333333; } .dropdown-item.selected { - color: #000F33; + color: #333333; font-weight: 400; + background-color: #F8F9FA; + border-radius: 10px; } -.dropdown-item:not(:last-child)::after { - content: ''; - position: absolute; - bottom: -10px; - left: 50%; - transform: translateX(-50%); - width: 28px; - height: 1px; - background-color: rgba(0, 0, 0, 0.1); +.option-content { + display: flex; + align-items: center; + justify-content: space-between; + width: 100%; +} + +.option-label { + flex: 1; +} + +.option-check { + color: #333333; + font-weight: bold; + font-size: 16px; + margin-left: 12px; + animation: checkIn 0.2s ease; +} + +@keyframes checkIn { + from { + opacity: 0; + transform: scale(0.5); + } + to { + opacity: 1; + transform: scale(1); + } } diff --git a/src/components/dialogBox/index.vue b/src/components/dialogBox/index.vue index 74f44c1..341651a 100644 --- a/src/components/dialogBox/index.vue +++ b/src/components/dialogBox/index.vue @@ -1,7 +1,10 @@