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