fix: 基础配置自测及优化

This commit is contained in:
easy 2023-03-10 10:49:13 +08:00
parent 7f3978fe17
commit 0c80efe6d2
4 changed files with 42 additions and 70 deletions

View File

@ -12,7 +12,6 @@
<j-form-item label="系统名称" name="title"> <j-form-item label="系统名称" name="title">
<j-input <j-input
v-model:value="formValue.title" v-model:value="formValue.title"
:maxlength="64"
placeholder="请输入系统名称" placeholder="请输入系统名称"
/> />
</j-form-item> </j-form-item>
@ -43,7 +42,7 @@
placeholder="请输入高德API Key" placeholder="请输入高德API Key"
/> />
</j-form-item> </j-form-item>
<j-form-item name="'base-path'"> <j-form-item name="base-path">
<template #label> <template #label>
<span>base-path</span> <span>base-path</span>
<j-tooltip title="系统后台访问的url"> <j-tooltip title="系统后台访问的url">
@ -221,7 +220,7 @@
:action="action" :action="action"
:headers="headers" :headers="headers"
:beforeUpload=" :beforeUpload="
uploader.beforeBackUpload uploader.beforeLogoUpload
" "
:showUploadList="false" :showUploadList="false"
@change="uploader.changeBackUpload" @change="uploader.changeBackUpload"
@ -286,7 +285,7 @@
</template> </template>
<script setup lang="ts" name="Basis"> <script setup lang="ts" name="Basis">
import { formType, uploaderType } from './index'; import { formType, uploaderType } from './typing';
import { getImage } from '@/utils/comm.ts'; import { getImage } from '@/utils/comm.ts';
import { message } from 'ant-design-vue'; import { message } from 'ant-design-vue';
import { BASE_API_PATH, TOKEN_KEY } from '@/utils/variable'; import { BASE_API_PATH, TOKEN_KEY } from '@/utils/variable';
@ -312,7 +311,16 @@ const form = reactive<formType>({
title: [ title: [
{ {
required: true, required: true,
message: '请选择本地地址', message: '名称必填',
trigger: 'blur',
},
{
max: 64,
message: '最多可输入64个字符',
},
{
max: 64,
message: '最多可输入64个字符',
trigger: 'blur', trigger: 'blur',
}, },
], ],
@ -411,21 +419,34 @@ const form = reactive<formType>({
const { formValue, rulesFrom } = toRefs(form); const { formValue, rulesFrom } = toRefs(form);
const uploader: uploaderType = { const uploader: uploaderType = {
imageTypes: ['image/jpeg', 'image/png'], imageTypes: ['jpg', 'jpeg', 'png', 'jfif', 'pjp', 'pjpeg'],
iconTypes: ['image/x-icon'], iconTypes: ['image/x-icon'],
// logo // logo
beforeLogoUpload: (file) => { beforeLogoUpload: ({ size, type }: File) => {
const isType = uploader.imageTypes.includes(file.type); const typeBool =
if (!isType) { uploader.imageTypes.filter((typeStr) => type.includes(typeStr))
.length > 0;
const sizeBool = size / 1024 / 1024 < 4;
if (!typeBool) {
message.error(`请上传.jpg.png.jfif.pjp.pjpeg.jpeg格式的图片`); message.error(`请上传.jpg.png.jfif.pjp.pjpeg.jpeg格式的图片`);
return false; } else if (!sizeBool) {
message.error(`图片大小必须小于4M`);
} }
const isSize = file.size / 1024 / 1024 < 4; return typeBool && sizeBool;
if (!isSize) {
message.error(`图片大小必须小于${4}M`);
}
return isType && isSize;
}, },
//
beforeIconUpload: (file) => {
const typeBool = uploader.iconTypes.includes(file.type);
const sizeBool = file.size / 1024 / 1024 < 1;
if (!typeBool) {
message.error(`请上传ico格式的图片`);
} else if (!sizeBool) {
message.error(`图片大小必须小于${1}M`);
}
return typeBool && sizeBool;
},
// logo // logo
handleChangeLogo: (info) => { handleChangeLogo: (info) => {
if (info.file.status === 'uploading') { if (info.file.status === 'uploading') {
@ -435,63 +456,32 @@ const uploader: uploaderType = {
form.logoLoading = false; form.logoLoading = false;
form.formValue.logo = info.file.response?.result; form.formValue.logo = info.file.response?.result;
} else if (info.file.status === 'error') { } else if (info.file.status === 'error') {
console.log(info.file);
form.logoLoading = false; form.logoLoading = false;
message.error('系统logo上传失败请稍后再试'); message.error('系统logo上传失败请稍后再试');
} }
}, },
// //
beforeBackUpload: (file) => {
const isType = uploader.imageTypes.includes(file.type);
if (!isType) {
message.error(`请上传.jpg.png.jfif.pjp.pjpeg.jpeg格式的图片`);
return false;
}
const isSize = file.size / 1024 / 1024 < 4;
if (!isSize) {
message.error(`图片大小必须小于${4}M`);
}
return isType && isSize;
},
//
changeBackUpload: (info) => { changeBackUpload: (info) => {
if (info.file.status === 'uploading') { if (info.file.status === 'uploading') {
form.backLoading = true; form.backLoading = true;
} else if (info.file.status === 'done') { } else if (info.file.status === 'done') {
console.log(info);
info.file.url = info.file.response?.result; info.file.url = info.file.response?.result;
form.backLoading = false; form.backLoading = false;
form.formValue.backgroud = info.file.response?.result; form.formValue.backgroud = info.file.response?.result;
} else if (info.file.status === 'error') { } else if (info.file.status === 'error') {
console.log(info.file);
form.logoLoading = false; form.logoLoading = false;
message.error('背景图上传失败,请稍后再试'); message.error('背景图上传失败,请稍后再试');
} }
}, },
// //
beforeIconUpload: (file) => {
const isType = uploader.iconTypes.includes(file.type);
if (!isType) {
message.error(`请上传ico格式的图片`);
return false;
}
const isSize = file.size / 1024 / 1024 < 1;
if (!isSize) {
message.error(`图片大小必须小于${1}M`);
}
return isType && isSize;
},
//
changeIconUpload: (info) => { changeIconUpload: (info) => {
if (info.file.status === 'uploading') { if (info.file.status === 'uploading') {
form.iconLoading = true; form.iconLoading = true;
} else if (info.file.status === 'done') { } else if (info.file.status === 'done') {
info.file.url = info.file.response?.result; info.file.url = info.file.response?.result;
form.iconLoading = true; form.iconLoading = false;
form.formValue.ico = info.file.response?.result; form.formValue.ico = info.file.response?.result;
} else if (info.file.status === 'error') { } else if (info.file.status === 'error') {
console.log(info.file);
form.logoLoading = false; form.logoLoading = false;
message.error('浏览器页签上传失败,请稍后再试'); message.error('浏览器页签上传失败,请稍后再试');
} }

View File

@ -1,18 +0,0 @@
import BaseService from '@/utils/BaseService';
import { request } from 'umi';
import SystemConst from '@/utils/const';
class Service extends BaseService<ReationItem> {
getTypes = () =>
request(`/${SystemConst.API_BASE}/relation/types`, {
method: 'GET',
});
validator = (params: any) =>
request(`/${SystemConst.API_BASE}/relation/_validate?`, {
method: 'GET',
params,
});
}
export default Service;

View File

@ -30,7 +30,7 @@ export interface uploaderType {
iconTypes: Array<string>, iconTypes: Array<string>,
beforeLogoUpload: (file: UploadProps['beforeUpload']) => void beforeLogoUpload: (file: UploadProps['beforeUpload']) => void
handleChangeLogo: (info: UploadChangeParam) => void handleChangeLogo: (info: UploadChangeParam) => void
beforeBackUpload: (file: UploadProps['beforeUpload']) => void beforeBackUpload?: (file: UploadProps['beforeUpload']) => void
changeBackUpload: (info: UploadChangeParam) => void changeBackUpload: (info: UploadChangeParam) => void
beforeIconUpload: (file: UploadProps['beforeUpload']) => void beforeIconUpload: (file: UploadProps['beforeUpload']) => void
changeIconUpload: (info: UploadChangeParam) => void changeIconUpload: (info: UploadChangeParam) => void

View File

@ -3695,8 +3695,8 @@ jetlinks-store@^0.0.3:
jetlinks-ui-components@^1.0.4: jetlinks-ui-components@^1.0.4:
version "1.0.4" version "1.0.4"
resolved "https://registry.jetlinks.cn/jetlinks-ui-components/-/jetlinks-ui-components-1.0.4.tgz#34b70f75dcc4ea679f0da6674a3f372dfc4acab4" resolved "https://registry.jetlinks.cn/jetlinks-ui-components/-/jetlinks-ui-components-1.0.4.tgz#cd080b2d8320c7a03ed20f4c4c22e9a5c920a3c8"
integrity sha512-ffDi9NyD51hPzu6iRBhibxlI36In5igUciMugm+Lui2LxnYdGbXGvB0i4y6xKaGg4jRDJ/lDX+b6AvuIrlb1lg== integrity sha512-8xzDFH6jSGNrkbCMb+/FL/g9vB0c2GdsDq6QPUzgKFwzPiS+cPbpSxL0RNHez9MF7/NSSuY8wL4VaujiVXTpfg==
dependencies: dependencies:
"@vueuse/core" "^9.12.0" "@vueuse/core" "^9.12.0"
ant-design-vue "^3.2.15" ant-design-vue "^3.2.15"