Commit 984989c0 authored by 赵啸非's avatar 赵啸非

Merge remote-tracking branch 'origin/master'

parents c592cbd0 83f9aa39
......@@ -238,8 +238,8 @@
<span v-else>--</span>
</template>
<!-- 所属窗口 -->
<template slot="windowName" slot-scope="text">
{{ text.windowName ? text.windowName : "--" }}
<template slot="windowId" slot-scope="text">
{{ text.windowId ? filterWindow(text.windowId) : "--" }}
</template>
<!-- 创建时间 -->
<template slot="time" slot-scope="text">
......@@ -357,7 +357,7 @@ const columns = [
{
title: "所属窗口",
scopedSlots: {
customRender: "windowName",
customRender: "windowId",
},
},
{
......@@ -637,6 +637,10 @@ export default {
});
return name;
},
// 过滤窗口
filterWindow(id) {
return this.windowData.find((v) => v.id == id).fromnum;
},
},
};
</script>
......
......@@ -38,7 +38,6 @@
"@vue/cli-service": "~5.0.0",
"browserslist": "^4.21.4",
"caniuse-lite": "^1.0.30001442",
"filemanager-webpack-plugin": "^8.0.0",
"less": "^4.0.0",
"less-loader": "^8.0.0",
"postcss": "^8.4.12",
......
......@@ -553,4 +553,5 @@
.addclass {
background: linear-gradient(90deg, #5ab6ff 0%, #2e9aff 100%) !important;
color: #fff !important;
border:none !important
}
......@@ -17,7 +17,7 @@
<a-form-item label="联系电话:">{{ formState.phone || '--' }}</a-form-item>
<a-form-item label="身份证号:">{{ formState.idcard_IDCardNo || '--' }}</a-form-item>
<a-form-item label="注册时间:">{{ formState.update_time || '--' }}</a-form-item>
<a-form-item label="注册来源:">{{ regType[formState.register_type] || '--' }}</a-form-item>
<a-form-item label="注册来源:">{{ regType[formState.register_type] || '现场注册' }}</a-form-item>
<a-form-item label="户籍地址:">{{ formState.idcard_Address || '--' }}</a-form-item>
</a-form>
</div>
......@@ -57,7 +57,7 @@
{{ formState.idcard_Name }}<a-tag color="green" class="info_tag">实名认证</a-tag>
</div>
<a-row>
<a-col :span="8">年龄:{{ formState.idcard_Name }}</a-col>
<a-col :span="8">年龄:{{ formState.age }}岁</a-col>
<a-col :span="8">性别:{{ formState.idcard_Sex || '--' }}</a-col>
<a-col :span="8">民族:{{ formState.idcard_Nation }}</a-col>
</a-row>
......
......@@ -45,6 +45,7 @@
<div
class="list flex aic jcb"
v-for="(i, j) in listArr[active].curInfo"
:key="j"
>
<div class="app-name">{{ i.appName }}</div>
<img
......
<template>
<div class="menuMgmt">
<div class="header_box">
<a-button type="primary" class="addclass" @click="showEditModal(1)">新增</a-button>
<a-button type="primary" class="addclass" @click="showEditModal(1)"
>新增</a-button
>
<span>
<a-input v-model="searchForm.name" placeholder="请输入菜单名称搜索">
<a-icon slot="prefix" type="search" />
......@@ -13,7 +15,9 @@
</a-select-option>
</a-select>
<a-button type="primary" class="addclass" @click="searchData">搜索</a-button>
<a-button type="primary" class="addclass" @click="searchData"
>搜索</a-button
>
<a-button @click="resetSearch">重置</a-button>
</span>
</div>
......@@ -89,7 +93,7 @@ export default {
api: process.env.VUE_APP_API_IMG_URL,
EditModalVisible: false,
searchForm: {
name: undefined,
name: "",
parentId: "",
},
tableLoading: false,
......@@ -218,8 +222,8 @@ export default {
// 搜索
async searchData() {
if (this.searchForm.parentId || this.searchForm.name) {
let obj = {...this.searchForm}
obj.name = '%'+this.searchForm.name+'%'
let obj = { ...this.searchForm };
obj.name = "%" + this.searchForm.name + "%";
let res = await menuList({
page: this.tablePagination.current,
size: -1,
......
......@@ -51,7 +51,7 @@
:columns="tableHeaders"
:dataSource="tableSourceData"
>
<template slot="network" slot-scope="text, record, index">
<template slot="network" slot-scope="text">
<span
v-for="(item, idx) of dict.network"
v-show="text.indexOf(idx) != -1"
......@@ -61,7 +61,7 @@
</span>
</template>
<template slot="operation" slot-scope="text, record, index">
<template slot="operation" slot-scope="text, record">
<a-button type="link" @click="openDetails(record)">编辑</a-button>
<a-popconfirm
title="确定要删除此应用吗?"
......@@ -163,7 +163,7 @@ export default {
},
],
query: {
interfaceName: undefined,
interfaceName: "",
interfaceSource: "",
interfaceTag: "",
productId: this.$route.query.id,
......@@ -188,6 +188,7 @@ export default {
page: this.tablePagination.current,
size: this.tablePagination.pageSize,
...this.query,
interfaceName: `%${this.query.interfaceName}%`,
}).then((res) => {
if (res.code == 1) {
let { data, total, dict } = res.data;
......
<template>
<a-drawer :destroyOnClose="true" :title="modalInfo.title" :width="modalInfo.width" :visible="modalInfo.visible"
@close="resetForm">
<a-form-model ref="ruleForm" :model="detailsForm" :rules="detailsRules" :label-col="{ span: 4 }"
:wrapper-col="{ span: 20 }">
<a-drawer
:destroyOnClose="true"
:title="modalInfo.title"
:width="modalInfo.width"
:visible="modalInfo.visible"
@close="resetForm"
>
<a-form-model
ref="ruleForm"
:model="detailsForm"
:rules="detailsRules"
:label-col="{ span: 4 }"
:wrapper-col="{ span: 20 }"
>
<a-row :gutter="16">
<a-col :span="12">
<a-form-model-item label="接口名称" prop="interfaceName">
<a-input v-model="detailsForm.interfaceName" placeholder="请输入" allowClear />
<a-input
v-model="detailsForm.interfaceName"
placeholder="请输入"
allowClear
/>
</a-form-model-item>
</a-col>
<a-col :span="12">
<a-form-model-item label="版本号" prop="versionNumber">
<a-input v-model="detailsForm.versionNumber" placeholder="请输入" allowClear />
<a-input
v-model="detailsForm.versionNumber"
placeholder="请输入"
allowClear
/>
</a-form-model-item>
</a-col>
<a-col :span="12">
<a-form-model-item label="请求类型" prop="requestType">
<a-select v-model="detailsForm.requestType" placeholder="请选择" allowClear>
<a-select
v-model="detailsForm.requestType"
placeholder="请选择"
allowClear
>
<a-select-option value="1"> POST </a-select-option>
<a-select-option value="2"> GET </a-select-option>
</a-select>
......@@ -24,7 +46,11 @@
</a-col>
<a-col :span="12">
<a-form-model-item label="请求协议" prop="requestProtocol">
<a-select v-model="detailsForm.requestProtocol" placeholder="请选择" allowClear>
<a-select
v-model="detailsForm.requestProtocol"
placeholder="请选择"
allowClear
>
<a-select-option value="1"> HTTP </a-select-option>
<a-select-option value="2"> HTTPS </a-select-option>
</a-select>
......@@ -33,36 +59,65 @@
<a-col :span="12">
<a-form-model-item label="content-type" prop="contentType">
<a-select v-model="detailsForm.contentType" placeholder="请选择" allowClear>
<a-select-option v-for="item, index in ctList" :key="index" :value="item">{{ item
}}</a-select-option>
<a-select
v-model="detailsForm.contentType"
placeholder="请选择"
allowClear
>
<a-select-option
v-for="(item, index) in ctList"
:key="index"
:value="item"
>{{ item }}</a-select-option
>
</a-select>
</a-form-model-item>
</a-col>
<a-col :span="12">
<a-form-model-item label="超时时长" prop="timeoutValue">
<a-input v-model="detailsForm.timeoutValue" placeholder="请输入" allowClear>
<a-input
v-model="detailsForm.timeoutValue"
placeholder="请输入"
allowClear
>
<template slot="suffix"></template>
</a-input>
</a-form-model-item>
</a-col>
<a-col :span="12">
<a-form-model-item label="限流策略" prop="limitStrategy">
<a-select v-model="detailsForm.limitStrategy" placeholder="请选择" allowClear>
<a-select-option value="1"> 分钟 </a-select-option>
<a-select-option value="2"> 小时 </a-select-option>
<a-select
v-model="detailsForm.limitStrategy"
placeholder="请选择"
allowClear
showSearch
optionFilterProp="label"
>
<a-select-option value="1" label="分钟"> 分钟 </a-select-option>
<a-select-option value="2" label="小时"> 小时 </a-select-option>
</a-select>
</a-form-model-item>
</a-col>
<a-col :span="12">
<a-form-model-item label="访问网络" prop="network">
<a-checkbox-group v-model="detailsForm.network" :options="options" />
<a-checkbox-group
v-model="detailsForm.network"
:options="options"
/>
</a-form-model-item>
</a-col>
<a-col :span="12">
<a-form-model-item label="接口标签" prop="interfaceTag">
<a-select v-model="detailsForm.interfaceTag" placeholder="请选择" allowClear>
<a-select-option v-for="(item, index) of dict.interfaceTag" :key="index" :value="index">
<a-select
v-model="detailsForm.interfaceTag"
placeholder="请选择"
allowClear
>
<a-select-option
v-for="(item, index) of dict.interfaceTag"
:key="index"
:value="index"
>
{{ item }}
</a-select-option>
</a-select>
......@@ -71,7 +126,11 @@
<a-col :span="12">
<a-form-model-item label="接口来源" prop="interfaceSource">
<a-select v-model="detailsForm.interfaceSource" placeholder="请选择" allowClear>
<a-select
v-model="detailsForm.interfaceSource"
placeholder="请选择"
allowClear
>
<a-select-option value="1"> 自建发布 </a-select-option>
<a-select-option value="2"> 对接转化 </a-select-option>
</a-select>
......@@ -79,20 +138,31 @@
</a-col>
<a-col :span="12">
<a-form-model-item label="请求路径" prop="requestUrl">
<a-input v-model="detailsForm.requestUrl" placeholder="请输入" allowClear />
<a-input
v-model="detailsForm.requestUrl"
placeholder="请输入"
allowClear
/>
</a-form-model-item>
</a-col>
<a-col :span="12">
<a-form-model-item label="描述" prop="description">
<a-textarea v-model="detailsForm.description" placeholder="请输入" :rows="4" />
<a-textarea
v-model="detailsForm.description"
placeholder="请输入"
:rows="4"
/>
</a-form-model-item>
</a-col>
</a-row>
<h1 class="title_">请求参数</h1>
<div class="flex aic jcb mb10">
<a-radio-group v-model="requestPam.type" button-style="solid" @change="onReqType('new')">
<a-radio-group
v-model="requestPam.type"
button-style="solid"
@change="onReqType('new')"
>
<a-radio-button value="path"> 路径参数 </a-radio-button>
<a-radio-button value="headers"> headers </a-radio-button>
<a-radio-button value="query"> query </a-radio-button>
......@@ -107,13 +177,25 @@
</div>
</div>
<a-table size="middle" bordered :row-key="(record) => record.id" :locale="{ emptyText: '无' }"
:pagination="false" :columns="table_columns" :dataSource="requestPam.table">
<template slot="参数名" slot-scope="text, record, index">
<a-table
size="middle"
bordered
:row-key="(record) => record.id"
:locale="{ emptyText: '无' }"
:pagination="false"
:columns="table_columns"
:dataSource="requestPam.table"
>
<template slot="参数名" slot-scope="text, record">
<a-input v-model="record.name" placeholder="请输入" allowClear />
</template>
<template slot="参数值类型" slot-scope="text, record, index">
<a-select v-model="record.type" placeholder="请选择" allowClear :disabled="record.isType">
<template slot="参数值类型" slot-scope="text, record">
<a-select
v-model="record.type"
placeholder="请选择"
allowClear
:disabled="record.isType"
>
<a-select-option value="String"> String </a-select-option>
<a-select-option value="Int"> Int </a-select-option>
<a-select-option value="Object"> Object </a-select-option>
......@@ -122,25 +204,32 @@
<a-select-option value="[Object]"> [Object] </a-select-option>
</a-select>
</template>
<template slot="默认值" slot-scope="text, record, index">
<template slot="默认值" slot-scope="text, record">
<a-input v-model="record.default" placeholder="请输入" allowClear />
</template>
<template slot="是否必填" slot-scope="text, record, index">
<template slot="是否必填" slot-scope="text, record">
<a-select v-model="record.isMust" placeholder="请选择" allowClear>
<a-select-option value="1"></a-select-option>
<a-select-option value="0"></a-select-option>
</a-select>
</template>
<template slot="描述" slot-scope="text, record, index">
<template slot="描述" slot-scope="text, record">
<a-input v-model="record.describe" placeholder="请输入" allowClear />
</template>
<template slot="operation" slot-scope="text, record, index">
<a-button type="link" @click="delTabRow('requestPam', index)" style="color: #ff4420">删除</a-button>
<a-button
type="link"
@click="delTabRow('requestPam', index)"
style="color: #ff4420"
>删除</a-button
>
</template>
</a-table>
<div class="table_footer" v-if="requestPam.type != 'path'">
<a-button type="primary" class="addclass" @click="onReqType('add')"> 添加参数 </a-button>
<a-button type="primary" class="addclass" @click="onReqType('add')">
添加参数
</a-button>
</div>
<div class="flex aic jcb mt20">
......@@ -154,12 +243,19 @@
</div>
</div>
<a-table size="middle" bordered :row-key="(record) => record.id" :locale="{ emptyText: '无' }"
:pagination="false" :columns="table_columns" :dataSource="responsePam.table">
<template slot="参数名" slot-scope="text, record, index">
<a-table
size="middle"
bordered
:row-key="(record) => record.id"
:locale="{ emptyText: '无' }"
:pagination="false"
:columns="table_columns"
:dataSource="responsePam.table"
>
<template slot="参数名" slot-scope="text, record">
<a-input v-model="record.name" placeholder="请输入" allowClear />
</template>
<template slot="参数值类型" slot-scope="text, record, index">
<template slot="参数值类型" slot-scope="text, record">
<a-select v-model="record.type" placeholder="请选择" allowClear>
<a-select-option value="String"> String </a-select-option>
<a-select-option value="Int"> Int </a-select-option>
......@@ -169,28 +265,37 @@
<a-select-option value="[Object]"> [Object] </a-select-option>
</a-select>
</template>
<template slot="默认值" slot-scope="text, record, index">
<template slot="默认值" slot-scope="text, record">
<a-input v-model="record.default" placeholder="请输入" allowClear />
</template>
<template slot="是否必填" slot-scope="text, record, index">
<template slot="是否必填" slot-scope="text, record">
<a-select v-model="record.isMust" placeholder="请选择" allowClear>
<a-select-option value="1"></a-select-option>
<a-select-option value="0"></a-select-option>
</a-select>
</template>
<template slot="描述" slot-scope="text, record, index">
<template slot="描述" slot-scope="text, record">
<a-input v-model="record.describe" placeholder="请输入" allowClear />
</template>
<template slot="operation" slot-scope="text, record, index">
<a-button type="link" @click="delTabRow('responsePam', index)" style="color: #ff4420">删除</a-button>
<a-button
type="link"
@click="delTabRow('responsePam', index)"
style="color: #ff4420"
>删除</a-button
>
</template>
</a-table>
<div class="table_footer">
<a-button type="primary" class="addclass" @click="addResPam"> 添加参数 </a-button>
<a-button type="primary" class="addclass" @click="addResPam">
添加参数
</a-button>
</div>
<div class="drawer_footer">
<a-button type="primary" class="addclass" @click="modalSubmit"> 保存 </a-button>
<a-button type="primary" class="addclass" @click="modalSubmit">
保存
</a-button>
<a-button @click="resetForm"> 取消 </a-button>
</div>
</a-form-model>
......@@ -199,9 +304,7 @@
<script>
import modal from "../mixins/modal";
import {
getInterfaceSave, getInterfaceInfo
} from '@/api/thePlatformIsSet.js'
import { getInterfaceSave, getInterfaceInfo } from "@/api/thePlatformIsSet.js";
export default {
mixins: [modal],
name: "PortalAdminVuePicWorks",
......@@ -224,17 +327,20 @@ export default {
contentType: undefined,
interfaceTag: undefined,
inEncrypt: 0,
outEncrypt: 0
outEncrypt: 0,
},
detailsRules: {
interfaceName: [{ required: true, message: "请输入", trigger: "blur" }],
versionNumber: [{ required: true, message: "请输入", trigger: "blur" }],
requestType: [{ required: true, message: "请选择", trigger: "change" }],
requestProtocol: [{ required: true, message: "请选择", trigger: "change" }],
requestProtocol: [
{ required: true, message: "请选择", trigger: "change" },
],
requestUrl: [{ required: true, message: "请输入", trigger: "blur" }],
timeoutValue: [{ required: true, message: "请输入", trigger: "blur" }],
},
options: [{
options: [
{
label: "互联网",
value: "1",
},
......@@ -243,7 +349,8 @@ export default {
value: "2",
},
],
table_columns: [{
table_columns: [
{
title: "参数名",
align: "center",
dataIndex: "name",
......@@ -282,7 +389,7 @@ export default {
scopedSlots: {
customRender: "描述",
},
width: 200
width: 200,
},
{
......@@ -296,25 +403,28 @@ export default {
},
],
requestPam: {
type: 'path',
table: []
type: "path",
table: [],
},
responsePam: {
table: [{
table: [
{
name: ``,
type: undefined,
default: ``,
isMust: undefined,
describe: ``,
}]
},
errorCode_columns: [{
],
},
errorCode_columns: [
{
title: "Http Code",
align: "center",
dataIndex: "httpCode",
scopedSlots: {
customRender: "Http Code",
}
},
},
{
title: "Error Code",
......@@ -340,20 +450,23 @@ export default {
scopedSlots: {
customRender: "operation",
},
}
},
],
errorCode: [{
errorCode: [
{
httpCode: ``,
errorCode: ``,
errorMessage: ``
}],
changeHistory_columns: [{
errorMessage: ``,
},
],
changeHistory_columns: [
{
title: "变更时间",
align: "center",
dataIndex: "time",
scopedSlots: {
customRender: "变更时间",
}
},
},
{
title: "变更内容概要",
......@@ -362,45 +475,54 @@ export default {
scopedSlots: {
customRender: "变更内容概要",
},
}
},
],
changeHistory: [
{
time: "",
content: "",
},
],
ctList: [
"text/html",
"text/xml",
"application/json",
"application/xml",
"application/x-www-form-urlencoded",
"multipart/form-data",
],
changeHistory: [{
time: '',
content: ''
}],
ctList: ["text/html", "text/xml", "application/json", "application/xml", "application/x-www-form-urlencoded", "multipart/form-data"]
};
},
mounted() { },
mounted() {},
methods: {
getInfo(id) {
getInterfaceInfo({ id: id }).then(res => {
res.data.network = res.data.network.split(',')
this.detailsForm = res.data
this.requestPam = JSON.parse(res.data.requestParameters)
this.responsePam = JSON.parse(res.data.responseParameters)
})
getInterfaceInfo({ id: id }).then((res) => {
res.data.network = res.data.network.split(",");
this.detailsForm = res.data;
this.requestPam = JSON.parse(res.data.requestParameters);
this.responsePam = JSON.parse(res.data.responseParameters);
});
},
modalSubmit() {
this.$refs.ruleForm.validate(valid => {
this.$refs.ruleForm.validate((valid) => {
if (valid) {
let json = JSON.parse(JSON.stringify(this.detailsForm))
if (json.network.length) json.network = json.network.join(',')
json.requestParameters = JSON.stringify(this.requestPam)
json.responseParameters = JSON.stringify(this.responsePam)
getInterfaceSave(json).then(res => {
let { code, msg } = res
let json = JSON.parse(JSON.stringify(this.detailsForm));
if (json.network.length) json.network = json.network.join(",");
json.requestParameters = JSON.stringify(this.requestPam);
json.responseParameters = JSON.stringify(this.responsePam);
getInterfaceSave(json).then((res) => {
let { code, msg } = res;
if (code == 1) {
this.$message.success('保存成功');
this.$message.success("保存成功");
this.resetForm();
this.modalInfo.visible = false
this.$parent.getList()
this.modalInfo.visible = false;
this.$parent.getList();
} else {
this.$message.error(msg);
}
})
});
} else {
return false;
}
......@@ -408,25 +530,25 @@ export default {
},
//type
onReqType(type) {
let index = this.requestPam.type
if (index == 'path') {
this.requestPam.table = []
let index = this.requestPam.type;
if (index == "path") {
this.requestPam.table = [];
} else {
let obj = {
name: ``,
type: 'String',
type: "String",
default: ``,
isMust: undefined,
describe: ``,
isType: true
}
if (index == 'body') {
obj.isType = false
isType: true,
};
if (index == "body") {
obj.isType = false;
}
if (type == 'new') {
this.requestPam.table = [obj]
if (type == "new") {
this.requestPam.table = [obj];
} else {
this.requestPam.table.push(obj)
this.requestPam.table.push(obj);
}
}
},
......@@ -437,31 +559,33 @@ export default {
default: ``,
isMust: undefined,
describe: ``,
})
});
},
delTabRow(key, index) {
this[key].table.splice(index, 1)
this[key].table.splice(index, 1);
},
resetForm() {
this.$nextTick(() => {
this.$refs.ruleForm.resetFields();
this.detailsForm.id=""
this.detailsForm.id = "";
this.requestPam = {
type: 'path',
table: []
}
type: "path",
table: [],
};
this.responsePam = {
table: [{
table: [
{
name: ``,
type: undefined,
default: ``,
isMust: undefined,
describe: ``,
}]
}
},
],
};
this.modalInfo.visible = false;
});
}
},
},
};
</script>
......
......@@ -2,11 +2,7 @@
<div class="PoliticsShow-Container">
<div class="header_box">
<div>
<a-button
type="primary"
class="addclass"
@click="openDetails()"
>
<a-button type="primary" class="addclass" @click="openDetails()">
<span>新增</span>
</a-button>
</div>
......@@ -30,10 +26,7 @@
</a-select-option>
</a-select>
<a-button
type="primary"
class="addclass"
@click="getList()"
<a-button type="primary" class="addclass" @click="getList()"
>搜索</a-button
>
</span>
......@@ -50,11 +43,11 @@
:columns="tableHeaders"
:dataSource="tableSourceData"
>
<template slot="operation" slot-scope="text, record, index">
<template slot="operation" slot-scope="text, record">
<a-button
type="link"
v-if="record.appFileUrl"
@click="handleDowload(record.appFileUrl)"
@click="handleDowload(record.appFileUrl, record.appName)"
>下载应用</a-button
>
<a-button type="link" @click="openDetails(record)">编辑</a-button>
......@@ -83,6 +76,7 @@ export default {
name: "PortalAdminVueAlerting",
data() {
return {
api: process.env.VUE_APP_API_IMG_URL,
tableHeaders: [
{
title: "序号",
......@@ -194,11 +188,12 @@ export default {
}
});
},
handleDowload(url) {
let arr = url.split("/");
handleDowload(url, fileName) {
let index = url.lastIndexOf(".");
let suffix = url.slice(index);
const a = document.createElement("a");
a.href = process.env.VUE_APP_API_BASE_URL + "/" + url;
a.download = arr[arr.length - 1];
a.href = this.api + url;
a.download = fileName + suffix;
a.click();
},
openDetails(item) {
......
......@@ -31,11 +31,11 @@
:columns="tableHeaders"
:dataSource="tableSourceData"
>
<template slot="operation" slot-scope="text, record, index">
<template slot="operation" slot-scope="text, record">
<a-button
type="link"
v-if="record.docFileUrl"
@click="handleDowload(record.docFileUrl)"
@click="handleDowload(record.docFileUrl, record.docName)"
>下载</a-button
>
<a-button type="link" @click="openDetails(record)">编辑</a-button>
......@@ -63,6 +63,7 @@ export default {
name: "PortalAdminVueAlerting",
data() {
return {
api: process.env.VUE_APP_API_IMG_URL,
tableHeaders: [
{
title: "序号",
......@@ -159,11 +160,12 @@ export default {
}
});
},
handleDowload(url) {
let arr = url.split("/");
handleDowload(url, fileName) {
let index = url.lastIndexOf(".");
let suffix = url.slice(index);
const a = document.createElement("a");
a.href = process.env.VUE_APP_API_BASE_URL + "/" + url;
a.download = arr[arr.length - 1];
a.href = this.api + url;
a.download = fileName + suffix;
a.click();
},
openDetails(item) {
......
const { defineConfig } = require("@vue/cli-service");
const FileManagerPlugin = require("filemanager-webpack-plugin"); // 压缩文件夹
const isDev = process.env.NODE_ENV === "development";
let plugins = [];
// 避免打本地启项目时自动打zip包
if (!isDev) {
plugins.push(
new FileManagerPlugin({
events: {
onEnd: {
// mkdir: ["./dist"],
delete: ["./zip/"],
copy: [{ source: "./dist", destination: "./zip/dist" }],
archive: [{ source: "./zip", destination: "./zip/门户系统.zip" }],
},
},
})
);
}
module.exports = defineConfig({
transpileDependencies: true,
lintOnSave: false,
// 打包目录
outputDir: "dist",
configureWebpack: {
plugins: [...plugins],
plugins: [],
},
devServer: {
proxy: {
......
This source diff could not be displayed because it is too large. You can view the blob instead.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment