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