From 54a72ae51d8f17379fe515eb66759ec7de0663d0 Mon Sep 17 00:00:00 2001 From: zhangxiao <898441624@qq.com> Date: 星期一, 12 八月 2024 10:42:51 +0800 Subject: [PATCH] fix: 上传图片优化 --- src/views/dmx/model/index.vue | 22 ++++++---- package.json | 1 src/store/modules/shareModel/index.ts | 23 +++++++++++ src/views/dmx/model/components/addTableName.vue | 7 ++- src/views/dmx/model/components/addPageModel.vue | 12 +++--- src/store/index.ts | 7 +++ src/views/login/components/login-form.vue | 6 ++- 7 files changed, 58 insertions(+), 20 deletions(-) diff --git a/package.json b/package.json index b85599f..ded0088 100644 --- a/package.json +++ b/package.json @@ -42,6 +42,7 @@ "moment": "^2.30.1", "nprogress": "^0.2.0", "pinia": "^2.0.23", + "pinia-plugin-persistedstate": "^3.2.1", "query-string": "^8.0.3", "sass": "^1.77.8", "sortablejs": "^1.15.0", diff --git a/src/store/index.ts b/src/store/index.ts index 1f9ed2d..d3f0dab 100644 --- a/src/store/index.ts +++ b/src/store/index.ts @@ -3,8 +3,13 @@ import useUserStore from './modules/user'; import usePinia from './modules/storeMsg'; import useTabBarStore from './modules/tab-bar'; +import userModelState from './modules/shareModel'; + +import piniaPluginPersistedstate from 'pinia-plugin-persistedstate' //寮曞叆鎸佷箙鍖栨彃浠� const pinia = createPinia(); -export { useAppStore, useUserStore,usePinia, useTabBarStore }; +pinia.use(piniaPluginPersistedstate) //灏嗘彃浠舵坊鍔犲埌 pinia 瀹炰緥涓� + +export { useAppStore, useUserStore,usePinia, useTabBarStore,userModelState }; export default pinia; diff --git a/src/store/modules/shareModel/index.ts b/src/store/modules/shareModel/index.ts new file mode 100644 index 0000000..3ee433a --- /dev/null +++ b/src/store/modules/shareModel/index.ts @@ -0,0 +1,23 @@ +import { defineStore } from 'pinia'; + +const userModelState = defineStore('shareModel', { + persist: true, + state: () => ({ + hrefUrl: '', + }), + + getters: { + getkbObj(state) { + return { ...state }; + }, + }, + + actions: { + + getHrefUrl(url: string) { + this.hrefUrl=url + }, + }, +}); + +export default userModelState ; diff --git a/src/views/dmx/model/components/addPageModel.vue b/src/views/dmx/model/components/addPageModel.vue index 5d6c822..9a4aa7f 100644 --- a/src/views/dmx/model/components/addPageModel.vue +++ b/src/views/dmx/model/components/addPageModel.vue @@ -137,9 +137,9 @@ import { Modal, Message } from '@arco-design/web-vue'; import message from '@arco-design/web-vue/es/message'; import { resolveUnref } from '@vueuse/core'; - import { useUserStore } from '@/store'; + import { userModelState } from '@/store'; - const userStore = useUserStore(); + const modelStore = userModelState(); const addPageModelVisible = defineModel('show'); const loading = ref(false); @@ -185,9 +185,9 @@ multiSelect: ['section one'], treeSelect: '', raptor: false, - addFomList: [], + addFomList: <any[]>[], }); - const form_ref = ref(null); + const form_ref = ref(); const rules = { model_type: [ @@ -224,9 +224,9 @@ const uploadAction = '/api/v1/llm/upload'; // 鏇挎崲涓轰綘鐨勪笂浼燗PI const fileList = ref([]); - const imageUrls = ref([]); + const imageUrls = ref<any[]>([]); const uploadUrl = ref([]); - const httpUrl = localStorage.getItem('httpUrl'); + const httpUrl = modelStore.hrefUrl; const updateFileList = (newFileList) => { fileList.value = newFileList; diff --git a/src/views/dmx/model/components/addTableName.vue b/src/views/dmx/model/components/addTableName.vue index 8578ad7..3b7b9a9 100644 --- a/src/views/dmx/model/components/addTableName.vue +++ b/src/views/dmx/model/components/addTableName.vue @@ -68,10 +68,13 @@ } from 'vue'; import { addLlmFactory, getLlmDetail, editLlmFactory } from '@/api/model'; import { Message } from '@arco-design/web-vue'; + import { userModelState } from '@/store'; + + const modelStore = userModelState(); const addTabVisible = defineModel('tabShow'); - const httpUrl = localStorage.getItem('httpUrl'); + const httpUrl = modelStore.hrefUrl; const loading = ref(false); const props = defineProps({ task_id: { @@ -98,7 +101,7 @@ logo: '', urlS: '', }); - const formRef = ref(null); + const formRef = ref(); const rules = { name: [ diff --git a/src/views/dmx/model/index.vue b/src/views/dmx/model/index.vue index f62f828..bf2602d 100644 --- a/src/views/dmx/model/index.vue +++ b/src/views/dmx/model/index.vue @@ -174,10 +174,11 @@ deleteLlmFactory, } from '@/api/model'; import { Modal, Message } from '@arco-design/web-vue'; - import { useUserStore } from '@/store'; - import pdfImg from '@/assets/images//icon-chart.png'; + import { userModelState } from '@/store'; - const userStore = useUserStore(); + import pdfImg from '@/assets/images/icon-chart.png'; + + const modelStore = userModelState(); let count = 5; const activeKey = ref(1); const data = ref([ @@ -212,7 +213,7 @@ tabKey.value = val; }; - const httpUrl = localStorage.getItem('httpUrl'); + const httpUrl = modelStore.hrefUrl; const show = ref(false); const tabShow = ref(false); const title = ref('娣诲姞妯″紡'); @@ -223,7 +224,7 @@ title.value = '娣诲姞妯″瀷'; editList.value.llm_factory = tabKey.value; }; - const editList = ref({ llm_factory: '' }); + const editList = ref<any>({ llm_factory: '' }); //澧炲姞妯″瀷瀛愮被 const handleAddModel = () => { modelType.value = 2; @@ -283,7 +284,7 @@ } if (key !== 'key') { const res = await deleteLlmFactory(key); - if (res.code == 200) { + if ((res as any).code == 200) { Reflect.deleteProperty(tabData.value, key); queryModel(); } @@ -291,7 +292,7 @@ }; const visible = ref(false); - const formRef = ref(null); + const formRef = ref(); const form = reactive({ size: 'medium', @@ -437,10 +438,13 @@ } .card_content { .card_wrap_box_img { - min-height: 200px; + // min-height: 200px; height: 200px; + width: 100%; img { - max-height: 190px; + width: 100%; /* 鎴栬�呭叾浠栧浐瀹氬搴� */ + height: 100%; /* 鎴栬�呭叾浠栧浐瀹氶珮搴� */ + object-fit: cover; /* 涓嶄細鍙樺舰锛屼絾鍙兘瑁佸壀鍥剧墖 */ } } .card_wrap_box { diff --git a/src/views/login/components/login-form.vue b/src/views/login/components/login-form.vue index f3cb36d..f2a6c15 100644 --- a/src/views/login/components/login-form.vue +++ b/src/views/login/components/login-form.vue @@ -67,7 +67,7 @@ import { ValidatedError } from '@arco-design/web-vue/es/form/interface'; import { useI18n } from 'vue-i18n'; import { useStorage } from '@vueuse/core'; - import { useUserStore } from '@/store'; + import { useUserStore, userModelState } from '@/store'; import useLoading from '@/hooks/loading'; import type { LoginData } from '@/api/user'; import { rsaPsw } from '@/utils/ras'; @@ -77,6 +77,7 @@ const errorMessage = ref(''); const { loading, setLoading } = useLoading(); const userStore = useUserStore(); + const modelStore = userModelState(); const loginConfig = useStorage('login-config', { rememberPassword: true, @@ -115,7 +116,8 @@ const url = window.location.origin; localStorage.setItem('httpUrl', url); - userStore.getHreFurl(url); + debugger; + modelStore.getHrefUrl(url); Message.success(t('鐧诲綍鎴愬姛')); const { rememberPassword } = loginConfig.value; const { email, password } = values; -- Gitblit v1.8.0