Commit cebea70f authored by 赵啸非's avatar 赵啸非

更改上传文件大小限制

parent bdc01737
...@@ -7,8 +7,6 @@ ...@@ -7,8 +7,6 @@
<format>tar.gz</format> <format>tar.gz</format>
</formats> </formats>
<!-- <includeBaseDirectory>false</includeBaseDirectory>-->
<!-- 需要打包的文件集 --> <!-- 需要打包的文件集 -->
<fileSets> <fileSets>
<fileSet> <fileSet>
......
...@@ -7,18 +7,9 @@ ...@@ -7,18 +7,9 @@
<format>tar.gz</format> <format>tar.gz</format>
</formats> </formats>
<!-- <includeBaseDirectory>false</includeBaseDirectory>-->
<!-- <files>-->
<!-- <file>-->
<!-- <source>${project.parent.basedir}/dist/${project.parent.artifactId}</source>-->
<!-- <destName>XXX-webdemo-2.0.0.jar</destName>-->
<!-- </file>-->
<!-- </files>-->
<fileSets> <fileSets>
<fileSet> <fileSet>
<directory>${project.parent.basedir}/dist/${project.parent.artifactId}/bin</directory> <directory>target/bin</directory>
<outputDirectory>bin</outputDirectory> <outputDirectory>bin</outputDirectory>
<fileMode>0755</fileMode> <fileMode>0755</fileMode>
</fileSet> </fileSet>
...@@ -28,9 +19,19 @@ ...@@ -28,9 +19,19 @@
<fileMode>0755</fileMode> <fileMode>0755</fileMode>
</fileSet> </fileSet>
<fileSet> <fileSet>
<directory>${project.parent.basedir}/dist/${project.parent.artifactId}/db</directory> <directory>./db</directory>
<includes>
<include>*.sql</include>
</includes>
<outputDirectory>db</outputDirectory> <outputDirectory>db</outputDirectory>
<fileMode>0755</fileMode> <fileMode>0755</fileMode>
</fileSet> </fileSet>
</fileSets> </fileSets>
<files>
<file>
<source>target/${project.artifactId}-${project.version}.jar</source>
<outputDirectory>boot</outputDirectory>
</file>
</files>
</assembly> </assembly>
\ No newline at end of file
# 测试环境配置 # 测试环境配置
NODE_ENV = 'production' NODE_ENV = 'test'
# 地址 # 地址
VUE_APP_BASE_API = http://192.168.0.98:11091/m VUE_APP_BASE_API = http://192.168.0.98:11091/m
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
"scripts": { "scripts": {
"dev": "vue-cli-service serve", "dev": "vue-cli-service serve",
"build": "vue-cli-service build", "build": "vue-cli-service build",
"stage": "vue-cli-service build --mode stage", "test": "vue-cli-service build --mode test",
"build:prod": "vue-cli-service build --model prod" "build:prod": "vue-cli-service build --model prod"
}, },
"dependencies": { "dependencies": {
......
<template>
<!-- 弹出框表单 -->
<el-dialog :title="title" :visible.sync="open" width="90%" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<el-row>
<Field label="站点名称" prop="siteName" v-model="form.siteName" placeholder="请输入站点名称"/>
<!-- <Field label="站点编号" prop="siteCode" v-model="form.siteCode" placeholder="请输入站点编号"/> -->
<Field label="区域编号" disabled prop="areaCode" v-model="form.areaCode" />
<Field label="区域名称" disabled prop="areaName" v-model="form.areaName" />
<Field label="省编码" prop="proCode" v-model="form.proCode" placeholder="请输入省编码"/>
<Field label="市编码" prop="cityCode" v-model="form.cityCode" placeholder="请输入市编码"/>
<Field label="区编码" prop="districtCode" v-model="form.districtCode" placeholder="请输入区编码"/>
<Field label="站点服务器ip" prop="siteIp" v-model="form.siteIp" placeholder="请输入站点服务器ip"/>
<Field label="站点服务器端口" prop="sitePort" v-model="form.sitePort" placeholder="请输入站点服务器端口"/>
<Field label="经度" prop="longitude" v-model="form.longitude" placeholder="请输入经度"/>
<Field label="纬度" prop="latitude" v-model="form.latitude" placeholder="请输入纬度"/>
<Field label="中心联系电话" prop="siteTel" v-model="form.siteTel" placeholder="请输入中心联系电话"/>
<Field label="中心详细地址" prop="detailAddress" v-model="form.detailAddress" type="textarea" placeholder="请输入中心详细地址"/>
<Field label="中心介绍" prop="siteRemark" v-model="form.siteRemark" type="textarea" placeholder="请输入中心介绍"/>
<Field label="上午上班开始时间" prop="amWorkStartTime" v-model="form.amWorkStartTime" type="date" />
<Field label="上午上班结束时间" prop="amWorkEndTime" v-model="form.amWorkEndTime" type="date" />
<Field label="下午上班开始时间" prop="pmWorkStartTime" mo-model="form.pmWorkStartTime" type="date" />
<Field label="下午上班结束时间" prop="pmWorkEndTime" v-model="form.pmWorkEndTime" type="date" />
<Field label="周一 " prop="workday1" v-model="form.workday1" type="select" :enumData="dict.workday1" placeholder="请选择周一 "/>
<Field label="周二 " prop="workday2" v-model="form.workday2" type="select" :enumData="dict.workday2" placeholder="请选择周二 "/>
<Field label="周三 " prop="workday3" v-model="form.workday3" type="select" :enumData="dict.workday3" placeholder="请选择周三 "/>
<Field label="周四 " prop="workday4" v-model="form.workday4" type="select" :enumData="dict.workday4" placeholder="请选择周四 "/>
<Field label="周五 " prop="workday5" v-model="form.workday5" type="select" :enumData="dict.workday5" placeholder="请选择周五 "/>
<Field label="周六 " prop="workday6" v-model="form.workday6" type="select" :enumData="dict.workday6" placeholder="请选择周六 "/>
<Field label="周日 " prop="workday7" v-model="form.workday7" type="select" :enumData="dict.workday7" placeholder="请选择周日 "/>
<Field label="楼层" prop="level" v-model="form.level" placeholder="请输入楼层"/>
<Field label="楼栋" prop="building" v-model="form.building" placeholder="请输入楼栋"/>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" v-if="pageInfo.type !== 'view'" @click="submitForm">确 定</el-button>
<el-button @click="cancel">取 消</el-button>
</div>
</el-dialog>
</template>
<script>
import form from "@/assets/mixins/formdialog";
import dialogShow from "./dialogshow";
export default {
mixins: [form],
components: {
dialogShow ,
},
data() {
return {
// 遮罩层
loading: true,
// 弹出层标题
title: "站点",
// 是否显示弹出层
open: false,
toString:[
"workday1",
"workday2",
"workday3",
"workday4",
"workday5",
"workday6",
"workday7",
],
// 表单校验
rules: {
}
};
},
methods: {
/** 编辑 */
edit(row) {
this.reset()
this.query = { id: row.id };
this.urls.currUrl =this.pageInfo.editUrl;;
this.getData();
this.pageInfo.type="edit"
this.title = "修改站点";
},
/** 新增 */
add(row) {
this.reset()
this.query = { id: row.id };
this.urls.currUrl = this.pageInfo.addUrl;
this.form.areaCode=row.areaCode
this.form.areaName=row.areaName
this.getData();
this.pageInfo.type="add"
this.title = "新增站点";
},
/** 查看*/
view(row) {
this.reset()
this.query = { id: row.id };
this.urls.currUrl =this.pageInfo.viewUrl;;
this.getData();
this.pageInfo.type="view"
this.title = "站点详细";
},
/**取消按钮 */
cancel() {
this.open = false;
},
/**获取数据后弹框 */
afterRender(data) {
this.open = true;
},
afterSubmit(data) {
this.open = false;
this.$emit("ok");
},
// 表单重置
reset() {
this.form = {
siteName : null,
siteCode : null,
areaID : null,
areaCode : null,
areaName : null,
proCode : null,
cityCode : null,
districtCode : null,
siteIp : null,
sitePort : null,
longitude : null,
latitude : null,
siteTel : null,
detailAddress : null,
siteRemark : null,
amWorkStartTime : null,
amWorkEndTime : null,
pmWorkStartTime : null,
pmWorkEndTime : null,
workday1 : 1,
workday2 : 1,
workday3 : 1,
workday4 : 1,
workday5 : 1,
workday6 : 0,
workday7 : 0,
level : 1,
building : 1,
};
this.resetForm("form");
},
resetForm(refName) {
if (this.$refs[refName]) {
this.$refs[refName].resetFields();
}
},
},
};
</script>
<template>
<div class="page">
<el-row :gutter="20" style="margin-top:5px">
<el-col :span="8" :xs="12" class="mytree">
<el-card>
<div slot="header">
<span>站点结构</span>
</div>
<el-scrollbar style="height: 100%">
<el-tree
size="mini"
ref="areaTree"
:data="areaData"
id="el-tree"
node-key="id"
indent="2"
:props="treeProps"
:load="loadNode"
highlight-current
lazy
:render-content="renderContent"
@node-click="handleNodeClick"
>
</el-tree>
</el-scrollbar>
</el-card>
</el-col>
<el-col :span="16" :xs="12">
<el-card>
<el-row>
<el-tooltip effect="light" content="新增站点">
<el-button
circle
@click="toAdd"
icon="el-icon-plus"
size="mini"
></el-button>
</el-tooltip>
<el-tooltip effect="light" content="编辑当前产品">
<el-button
circle
@click="toEdit"
icon="el-icon-edit"
size="mini"
></el-button>
</el-tooltip>
</el-row>
<el-divider></el-divider>
<!-- <view-show ref="viewform" /> -->
</el-card>
</el-col>
</el-row>
<!-- <LayoutTable :data="tableData" :config="tableConfig"> </LayoutTable> -->
<dialog-show ref="dialogform" @ok="refreshNodeBy" />
</div>
</template>
<script>
/** 表单弹出框模式需引入 */
import dialogShow from "./dialogshow";
import viewShow from "./view";
import tree from "@/assets/mixins/tree";
export default {
name: "Site",
components: {dialogShow, viewShow },
mixins: [tree],
created() {
this.$get("/area/getListByParentId", {
parentId: 0,
}).then(({ data }) => {
this.areaData=data.data
});
},
methods: {
/** 重写新增方法 */
toAdd(row) {
if(Object.keys(this.currentNode).length === 0){
this.$message.info("请选择区域后新增站点!")
return
}
if(this.currentNode.type !== 'area'){
this.$message.info("请选择区域后新增站点!")
return
}
row.areaCode=this.currentNode.areaCode
row.areaName=this.currentNode.label
this.$refs.dialogform.add(row);
},
/** 重写编辑方法 */
toEdit(row) {
if(Object.keys(this.currentNode).length === 0){
this.$message.info("请选择站点后再编辑!")
return
}
if(this.currentNode.type !== 'site'){
this.$message.info("请选择站点后再编辑!")
return
}
row.id=this.currentNode.id
this.$refs.dialogform.edit(row);
},
toView(row) {
//console.log("toView", this.$refs.viewform);
// console.log("dialogform", this.$refs.dialogform);
this.$refs.viewform.handleView(row);
},
handleNodeClick(node) {
this.currentNode=node
if(node.type=='site'){
this.toView(this.currentNode);
}
},
renderContent: function (h, { node, data, store }) {
return (
<span>
<i style="font-size:16px;color:#409EFF" class={data.icon}></i>
<span style="padding-left: 2px;font-size:14px">{node.label}</span>
</span>
);
},
refreshNodeBy(id) {
let node = this.$refs.areaTree.getNode(this.currentNode.id); // 通过节点id找到对应树节点对象
node.loaded = false;
node.expand(); // 主动调用展开节点方法,重新查询该节点下的所有子节点
this.toView(this.currentNode);
},
async loadNode(node, resolve) {
if (node.level === 0) {
return;
}
this.$get("/area/getListByParentId", {
parentId: node.data.id,
}).then(({ data }) => {
resolve(data.data);
});
},
},
data() {
return {
treeProps: {
id: "id",
label: "label",
areaCode:"areaCode",
type: "type",
isLeaf: "isLeaf",
children: "children",
icon: "icon",
},
areaData:[],
currentNode:{},
};
},
};
</script>
<style>
.el-card__body {
padding: 10px;
}
.el-calendar-table .el-calendar-day {
height: 70px;
}
.is-selected {
color: #fa3b19;
}
</style>
<style lang="scss" scoped>
.mytree ::v-deep {
.el-tree--highlight-current
::v-deep
.el-tree-node.is-checked
> .el-tree-node__content {
background-color: rgb(255, 255, 255);
color: rgb(64, 158, 255);
}
.el-tree--highlight-current
::v-deep
.el-tree-node.is-current
> .el-tree-node__content {
background-color: rgb(255, 255, 255);
color: rgb(64, 158, 255);
}
.el-tree > .el-tree-node:after {
border-top: none;
}
.el-tree-node {
position: relative;
padding-left: 16px;
}
//节点有间隙,隐藏掉展开按钮就好了,如果觉得空隙没事可以删掉
.el-tree-node__expand-icon.is-leaf {
display: none;
}
.el-tree-node__children {
padding-left: 16px;
}
.el-tree-node :last-child:before {
height: 38px;
}
.el-tree > .el-tree-node:before {
border-left: none;
}
.el-tree > .el-tree-node:after {
border-top: none;
}
.el-tree-node:before {
content: "";
left: -4px;
position: absolute;
right: auto;
border-width: 1px;
}
.el-tree-node:after {
content: "";
left: -4px;
position: absolute;
right: auto;
border-width: 1px;
}
.el-tree-node:before {
border-left: 1px dashed #4386c6;
bottom: 0px;
height: 100%;
top: -26px;
width: 1px;
}
.el-tree-node:after {
border-top: 1px dashed #4386c6;
height: 20px;
top: 12px;
width: 24px;
}
}
</style>
\ No newline at end of file
<template>
<layout-form>
<el-form :model="form" :loading="loading" :rules="rules" size='small' style="width:100%" label-width='120px' ref="form">
<el-row>
<Field label="站点名称" prop="siteName" v-model="form.siteName" type="textarea" placeholder="请输入站点名称"/>
<Field label="站点编号" prop="siteCode" v-model="form.siteCode" placeholder="请输入站点编号"/>
<Field label="区域编号" prop="areaCode" v-model="form.areaCode" placeholder="请输入区域编号"/>
<Field label="区域名称" prop="areaName" v-model="form.areaName" placeholder="请输入区域名称"/>
<Field label="省编码" prop="proCode" v-model="form.proCode" placeholder="请输入省编码"/>
<Field label="市编码" prop="cityCode" v-model="form.cityCode" placeholder="请输入市编码"/>
<Field label="区编码" prop="districtCode" v-model="form.districtCode" placeholder="请输入区编码"/>
<Field label="站点服务器ip" prop="siteIp" v-model="form.siteIp" placeholder="请输入站点服务器ip"/>
<Field label="站点服务器端口" prop="sitePort" v-model="form.sitePort" placeholder="请输入站点服务器端口"/>
<Field label="经度" prop="longitude" v-model="form.longitude" placeholder="请输入经度"/>
<Field label="纬度" prop="latitude" v-model="form.latitude" placeholder="请输入纬度"/>
<Field label="中心联系电话" prop="siteTel" v-model="form.siteTel" placeholder="请输入中心联系电话"/>
<Field label="中心详细地址" prop="detailAddress" v-model="form.detailAddress" type="textarea" placeholder="请输入中心详细地址"/>
<Field label="中心介绍" prop="siteRemark" v-model="form.siteRemark" type="textarea" placeholder="请输入中心介绍"/>
<Field label="上午上班开始时间" prop="amWorkStartTime" v-model="form.amWorkStartTime" type="date" />
<Field label="上午上班结束时间" prop="amWorkEndTime" v-model="form.amWorkEndTime" type="date" />
<Field label="下午上班开始时间" prop="pmWorkStartTime" v-model="form.pmWorkStartTime" type="date" />
<Field label="下午上班结束时间" prop="pmWorkEndTime" v-model="form.pmWorkEndTime" type="date" />
<Field label="周一 " prop="workday1" v-model="form.workday1" type="select" :enumData="dict.workday1" placeholder="请选择周一 "/>
<Field label="周二 " prop="workday2" v-model="form.workday2" type="select" :enumData="dict.workday2" placeholder="请选择周二 "/>
<Field label="周三 " prop="workday3" v-model="form.workday3" type="select" :enumData="dict.workday3" placeholder="请选择周三 "/>
<Field label="周四 " prop="workday4" v-model="form.workday4" type="select" :enumData="dict.workday4" placeholder="请选择周四 "/>
<Field label="周五 " prop="workday5" v-model="form.workday5" type="select" :enumData="dict.workday5" placeholder="请选择周五 "/>
<Field label="周六 " prop="workday6" v-model="form.workday6" type="select" :enumData="dict.workday6" placeholder="请选择周六 "/>
<Field label="周日 " prop="workday7" v-model="form.workday7" type="select" :enumData="dict.workday7" placeholder="请选择周日 "/>
<Field label="楼层" prop="level" v-model="form.level" placeholder="请输入楼层"/>
<Field label="楼栋" prop="building" v-model="form.building" placeholder="请输入楼栋"/>
</el-row>
<form-buttons @submit='submitForm' :noSaveBtn="pageInfo.type === 'view'"/>
</el-form>
</layout-form>
</template>
<script>
import form from "@/assets/mixins/form";
export default {
mixins: [form],
components: {
},
methods: {
},
data() {
return {
toString:[
"workday1",
"workday2",
"workday3",
"workday4",
"workday5",
"workday6",
"workday7",
],
rules: {
}
};
}
};
</script>
\ No newline at end of file
<template>
<div v-if="form.id">
<el-descriptions class="descClass" :title="title" :column="column" :size="size" :colon="false" border>
<template slot="title">
<i class="el-icon-tickets"></i>
基本信息
</template>
<el-descriptions-item label="站点名称" label-class-name="labelClass" content-class-name="contentClass">
{{form.siteName}}
</el-descriptions-item>
<el-descriptions-item label="区域编号" label-class-name="labelClass" content-class-name="contentClass">
{{form.areaCode}}
</el-descriptions-item>
<el-descriptions-item label="区域名称" label-class-name="labelClass" content-class-name="contentClass">
{{form.areaName}}
</el-descriptions-item>
<el-descriptions-item label="站点编号" label-class-name="labelClass" content-class-name="contentClass">
{{form.siteCode}}
</el-descriptions-item>
<el-descriptions-item label="省编码" label-class-name="labelClass" content-class-name="contentClass">
{{form.proCode}}
</el-descriptions-item>
<el-descriptions-item label="区编码" label-class-name="labelClass" content-class-name="contentClass">
{{form.areaCode}}
</el-descriptions-item>
<el-descriptions-item label="市编码" label-class-name="labelClass" content-class-name="contentClass">
{{form.cityCode}}
</el-descriptions-item>
<el-descriptions-item label="站点服务器ip" label-class-name="labelClass" content-class-name="contentClass">
{{form.siteIp}}
</el-descriptions-item>
<el-descriptions-item label="站点服务器端口" label-class-name="labelClass" content-class-name="contentClass">
{{form.sitePort}}
</el-descriptions-item>
<el-descriptions-item label="经度" label-class-name="labelClass" content-class-name="contentClass">
{{form.longitude}}
</el-descriptions-item>
<el-descriptions-item label="纬度" label-class-name="labelClass" content-class-name="contentClass">
{{form.latitude}}
</el-descriptions-item>
<el-descriptions-item label="中心联系电话" label-class-name="labelClass" content-class-name="contentClass">
{{form.siteTel}}
</el-descriptions-item>
<el-descriptions-item label="中心详细地址" label-class-name="labelClass" content-class-name="contentClass">
{{form.detailAddress}}
</el-descriptions-item>
<el-descriptions-item label="中心介绍" label-class-name="labelClass" content-class-name="contentClass">
{{form.siteRemark}}
</el-descriptions-item>
<el-descriptions-item label="楼层" label-class-name="labelClass" content-class-name="contentClass">
{{form.level}}
</el-descriptions-item>
<el-descriptions-item label="楼栋" label-class-name="labelClass" content-class-name="contentClass">
{{form.building}}
</el-descriptions-item>
</el-descriptions>
<el-descriptions class="descClass" :title="title" :column="column" :size="size" :colon="false" border>
<template slot="title">
<i class="el-icon-tickets"></i>
办公信息
</template>
<el-descriptions-item label="上午上班开始时间" label-class-name="labelClass" content-class-name="contentClass">
{{form.amWorkStartTime}}
</el-descriptions-item>
<el-descriptions-item label="上午上班结束时间" label-class-name="labelClass" content-class-name="contentClass">
{{form.amWorkEndTime}}
</el-descriptions-item>
<el-descriptions-item label="下午上班开始时间" label-class-name="labelClass" content-class-name="contentClass">
{{form.pmWorkStartTime}}
</el-descriptions-item>
<el-descriptions-item label="下午上班结束时间" label-class-name="labelClass" content-class-name="contentClass">
{{form.pmWorkEndTime}}
</el-descriptions-item>
<el-descriptions-item label="周一 " label-class-name="labelClass" content-class-name="contentClass">
{{ util_formatters("workday1", form.workday1) }}
</el-descriptions-item>
<el-descriptions-item label="周二 " label-class-name="labelClass" content-class-name="contentClass">
{{ util_formatters("workday2", form.workday2) }}
</el-descriptions-item>
<el-descriptions-item label="周三 " label-class-name="labelClass" content-class-name="contentClass">
{{ util_formatters("workday3", form.workday3) }}
</el-descriptions-item>
<el-descriptions-item label="周四 " label-class-name="labelClass" content-class-name="contentClass">
{{ util_formatters("workday4", form.workday4) }}
</el-descriptions-item>
<el-descriptions-item label="周五 " label-class-name="labelClass" content-class-name="contentClass">
{{ util_formatters("workday5", form.workday5) }}
</el-descriptions-item>
<el-descriptions-item label="周六 " label-class-name="labelClass" content-class-name="contentClass">
{{ util_formatters("workday6", form.workday6) }}
</el-descriptions-item>
<el-descriptions-item label="周日 " label-class-name="labelClass" content-class-name="contentClass">
{{ util_formatters("workday7", form.workday7) }}
</el-descriptions-item>
</el-descriptions>
<el-descriptions class="descClass" :title="title" :column="column" :size="size" :colon="false" border>
<template slot="title">
<i class="el-icon-tickets"></i>
部署模块
</template>
<el-descriptions-item label="模块" label-class-name="labelClass" content-class-name="contentClass">
{{ util_formatters("modelIds", form.modelIds) }}
</el-descriptions-item>
</el-descriptions>
</div>
</template>
<script>
import view from "@/assets/mixins/view";
export default {
mixins: [view],
components: {
},
methods: {
/** 查看*/
handleView(row) {
this.query = { id: row.id };
this.urls.currUrl =this.pageInfo.viewUrl;;
this.getData();
},
},
data() {
return {
size:"small",
column:2,
toString:[
"workday1",
"workday2",
"workday3",
"workday4",
"workday5",
"workday6",
"workday7",
],
toArrays: [
],
toDate: [
]
}
}
}
</script>
<style lang="less">
.descClass{
margin-top:5px;
margin-bottom:5px
}
.labelClass{
width: 200px;
}
.el-descriptions__body{
margin-left: 5px;
margin-right: 5px;
color: #606266;
background-color: #FFF;
}
.contentClass{
width: 600px;
}
</style>
\ No newline at end of file
...@@ -50,7 +50,6 @@ ...@@ -50,7 +50,6 @@
<profiles.log.level>DEBUG</profiles.log.level> <profiles.log.level>DEBUG</profiles.log.level>
<profiles.log.path>/logs</profiles.log.path> <profiles.log.path>/logs</profiles.log.path>
<profiles.data.path>/data</profiles.data.path> <profiles.data.path>/data</profiles.data.path>
<profiles.nacos.server-addr>127.0.0.1:8848</profiles.nacos.server-addr> <profiles.nacos.server-addr>127.0.0.1:8848</profiles.nacos.server-addr>
<profiles.nacos.group>DEFAULT_GROUP</profiles.nacos.group> <profiles.nacos.group>DEFAULT_GROUP</profiles.nacos.group>
<profiles.nacos.namespace>smart-gov</profiles.nacos.namespace> <profiles.nacos.namespace>smart-gov</profiles.nacos.namespace>
...@@ -62,9 +61,12 @@ ...@@ -62,9 +61,12 @@
<id>test</id> <id>test</id>
<properties> <properties>
<profiles.active>test</profiles.active> <profiles.active>test</profiles.active>
<profiles.server.ip>192.168.0.98</profiles.server.ip>
<profiles.server.port>18222</profiles.server.port> <profiles.server.port>18222</profiles.server.port>
<profiles.nginx.port>11091</profiles.nginx.port>
<profiles.server.path>/sampleform</profiles.server.path>
<profiles.publish.path>/home/publish</profiles.publish.path>
<profiles.platform.type>cloud</profiles.platform.type> <profiles.platform.type>cloud</profiles.platform.type>
<profiles.queue.type>rabbitmq</profiles.queue.type>
<profiles.datasource.uri> <profiles.datasource.uri>
<![CDATA[jdbc:mysql://192.168.0.98:3306/device-new-platform?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=Hongkong]]></profiles.datasource.uri> <![CDATA[jdbc:mysql://192.168.0.98:3306/device-new-platform?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=Hongkong]]></profiles.datasource.uri>
<profiles.datasource.username>root</profiles.datasource.username> <profiles.datasource.username>root</profiles.datasource.username>
...@@ -74,8 +76,6 @@ ...@@ -74,8 +76,6 @@
<profiles.redis.username></profiles.redis.username> <profiles.redis.username></profiles.redis.username>
<profiles.redis.password>hotel@2020</profiles.redis.password> <profiles.redis.password>hotel@2020</profiles.redis.password>
<profiles.redis.database>6</profiles.redis.database> <profiles.redis.database>6</profiles.redis.database>
<profiles.kafka.brokers>192.168.0.251:9092</profiles.kafka.brokers>
<profiles.queue.type>rabbitmq</profiles.queue.type>
<profiles.rabbitmq.host>192.168.0.98</profiles.rabbitmq.host> <profiles.rabbitmq.host>192.168.0.98</profiles.rabbitmq.host>
<profiles.rabbitmq.port>5672</profiles.rabbitmq.port> <profiles.rabbitmq.port>5672</profiles.rabbitmq.port>
<profiles.rabbitmq.username>taxi_mq</profiles.rabbitmq.username> <profiles.rabbitmq.username>taxi_mq</profiles.rabbitmq.username>
...@@ -91,8 +91,8 @@ ...@@ -91,8 +91,8 @@
<profiles.nacos.server-addr>192.168.0.252:8848</profiles.nacos.server-addr> <profiles.nacos.server-addr>192.168.0.252:8848</profiles.nacos.server-addr>
<profiles.nacos.group>DEFAULT_GROUP</profiles.nacos.group> <profiles.nacos.group>DEFAULT_GROUP</profiles.nacos.group>
<profiles.nacos.namespace>smart-gov</profiles.nacos.namespace> <profiles.nacos.namespace>smart-gov</profiles.nacos.namespace>
<profiles.log.path>/mortals/app/logs</profiles.log.path> <profiles.log.path>/home/mortals/app/logs</profiles.log.path>
<package.environment>stage</package.environment> <package.environment>test</package.environment>
<skipDeploy>false</skipDeploy> <skipDeploy>false</skipDeploy>
</properties> </properties>
</profile> </profile>
...@@ -100,6 +100,11 @@ ...@@ -100,6 +100,11 @@
<id>product</id> <id>product</id>
<properties> <properties>
<profiles.active>product</profiles.active> <profiles.active>product</profiles.active>
<profiles.server.ip>192.168.0.251</profiles.server.ip>
<profiles.server.port>17002</profiles.server.port>
<profiles.nginx.port>11099</profiles.nginx.port>
<profiles.server.path>/sampleform</profiles.server.path>
<profiles.publish.path>/home/publish</profiles.publish.path>
<profiles.server.port>18222</profiles.server.port> <profiles.server.port>18222</profiles.server.port>
<profiles.platform.type>cloud</profiles.platform.type> <profiles.platform.type>cloud</profiles.platform.type>
<profiles.queue.type>rabbitmq</profiles.queue.type> <profiles.queue.type>rabbitmq</profiles.queue.type>
...@@ -223,11 +228,6 @@ ...@@ -223,11 +228,6 @@
<plugin> <plugin>
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId> <artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<jvmArguments>-Dfile.encoding=UTF-8</jvmArguments>
<outputDirectory>${project.parent.basedir}/dist/${project.parent.artifactId}/boot</outputDirectory>
<layout>ZIP</layout>
</configuration>
</plugin> </plugin>
<plugin> <plugin>
<groupId>org.apache.maven.plugins</groupId> <groupId>org.apache.maven.plugins</groupId>
...@@ -251,28 +251,36 @@ ...@@ -251,28 +251,36 @@
</goals> </goals>
<configuration> <configuration>
<encoding>UTF-8</encoding> <encoding>UTF-8</encoding>
<outputDirectory>${project.parent.basedir}/dist/${project.parent.artifactId}/bin</outputDirectory> <outputDirectory>target/bin
</outputDirectory>
<resources> <resources>
<resource> <resource>
<directory>src/main/bin/</directory> <directory>src/main/bin/</directory>
<excludes>
<exclude>deploy.sh</exclude>
</excludes>
<filtering>true</filtering> <filtering>true</filtering>
</resource> </resource>
</resources> </resources>
</configuration> </configuration>
</execution> </execution>
<execution> <execution>
<id>copy-db</id> <id>copy-deploy</id>
<phase>package</phase> <phase>package</phase>
<goals> <goals>
<goal>copy-resources</goal> <goal>copy-resources</goal>
</goals> </goals>
<configuration> <configuration>
<skip>${skipDeploy}</skip>
<encoding>UTF-8</encoding> <encoding>UTF-8</encoding>
<outputDirectory>${project.parent.basedir}/dist/${project.parent.artifactId}/db</outputDirectory> <outputDirectory>${project.parent.basedir}/dist/${project.artifactId}/
</outputDirectory>
<resources> <resources>
<resource> <resource>
<directory>../db/</directory> <directory>src/main/bin</directory>
<includes>
<include>deploy.sh</include>
</includes>
<filtering>true</filtering> <filtering>true</filtering>
</resource> </resource>
</resources> </resources>
...@@ -296,9 +304,9 @@ ...@@ -296,9 +304,9 @@
<goal>exec</goal> <goal>exec</goal>
</goals> </goals>
<configuration> <configuration>
<executable>npm</executable> <executable>yarn</executable>
<arguments> <arguments>
<argument>install</argument> <argument></argument>
</arguments> </arguments>
<workingDirectory>${project.parent.basedir}/device-manager-ui/admin</workingDirectory> <workingDirectory>${project.parent.basedir}/device-manager-ui/admin</workingDirectory>
</configuration> </configuration>
...@@ -311,7 +319,7 @@ ...@@ -311,7 +319,7 @@
<goal>exec</goal> <goal>exec</goal>
</goals> </goals>
<configuration> <configuration>
<executable>npm</executable> <executable>yarn</executable>
<arguments> <arguments>
<argument>run</argument> <argument>run</argument>
<arguments>${package.environment}</arguments> <arguments>${package.environment}</arguments>
...@@ -322,7 +330,6 @@ ...@@ -322,7 +330,6 @@
</executions> </executions>
</plugin> </plugin>
<plugin> <plugin>
<artifactId>maven-assembly-plugin</artifactId> <artifactId>maven-assembly-plugin</artifactId>
<version>3.3.0</version> <version>3.3.0</version>
...@@ -337,12 +344,12 @@ ...@@ -337,12 +344,12 @@
<goal>single</goal> <goal>single</goal>
</goals> </goals>
<configuration> <configuration>
<finalName>device-platform</finalName> <finalName>${project.artifactId}</finalName>
<appendAssemblyId>false</appendAssemblyId> <appendAssemblyId>false</appendAssemblyId>
<descriptors> <descriptors>
<descriptor>../assembly/assembly.xml</descriptor> <descriptor>../assembly/assembly.xml</descriptor>
</descriptors> </descriptors>
<outputDirectory>${project.parent.basedir}/dist/device-platform</outputDirectory> <outputDirectory>${project.parent.basedir}/dist/${project.artifactId}</outputDirectory>
</configuration> </configuration>
</execution> </execution>
<execution> <execution>
...@@ -352,12 +359,12 @@ ...@@ -352,12 +359,12 @@
<goal>single</goal> <goal>single</goal>
</goals> </goals>
<configuration> <configuration>
<finalName>device-platform-ui</finalName> <finalName>${project.artifactId}-ui</finalName>
<appendAssemblyId>false</appendAssemblyId> <appendAssemblyId>false</appendAssemblyId>
<descriptors> <descriptors>
<descriptor>../assembly/assembly-ui.xml</descriptor> <descriptor>../assembly/assembly-manager-ui.xml</descriptor>
</descriptors> </descriptors>
<outputDirectory>${project.parent.basedir}/dist/device-platform</outputDirectory> <outputDirectory>${project.parent.basedir}/dist/${project.artifactId}</outputDirectory>
</configuration> </configuration>
</execution> </execution>
</executions> </executions>
......
#!/bin/sh
RETVAL=$?
SHELL_NAME=$0
BASEDIR=$(dirname $0)
BASEDIR=$( (
cd "$BASEDIR"
pwd
))
LOCK_FILE="/tmp/deploy.lock"
# 时间变量
LOG_DATE='date "+%Y-%m-%d"'
LOG_TIME='date "+%H-%M-%S"'
PUBLISH_PATH="@profiles.publish.path@"
PROJECT_NAME="@project.artifactId@"
IP="@profiles.server.ip@"
PORT="@profiles.server.port@"
SHELL_LOG="${BASEDIR}/${SHELL_NAME}.log"
SERVICE_PATH="/usr/lib/systemd/system"
JAVA_HOME="/usr/local/java/jdk1.8"
NGINX_CONF_PATH="/etc/nginx/conf.d/"
NGINX_PORT="@profiles.nginx.port@"
NGINX_SERVER_PATH="@profiles.server.path@/"
PROJECT_EXECPATH="${PUBLISH_PATH}/${PROJECT_NAME}"
PROJECT_UI_EXECPATH="${PUBLISH_PATH}/${PROJECT_NAME}-ui"
PROJECT_FILENAME="${PROJECT_NAME}.tar.gz"
PROJECT_UI_FILENAME="${PROJECT_NAME}-ui.tar.gz"
PROJECT_SERVICE="${SERVICE_PATH}/${PROJECT_NAME}.service"
PROJECT_NGINX_CONF="${NGINX_CONF_PATH}/${PROJECT_NAME}.conf"
#加锁
shell_lock() {
touch ${LOCK_FILE}
}
#删除锁
shell_unlock() {
rm -f ${LOCK_FILE}
}
#写日志
writelog() {
LOGINFO=$1
echo "${CDATE} ${CTIME}: ${SHELL_NAME} : ${LOGINFO}" >>${SHELL_LOG}
echo ${LOGINFO}
}
#清理目标
clear_deploy() {
SERVICE=$1
EXECPATH=$2
#清理后台自启服务
rm -rf ${SERVICE}
#清理执行文件目录
rm -rf ${EXECPATH}
#清理nginx服务配置文件
rm -f ${NGINX_CONF_PATH}/${PROJECT_NAME}.conf
mkdir -p ${EXECPATH}
}
#清理ui
clear_ui_deploy() {
EXEC_UI_PATH=$1
rm -rf ${EXEC_UI_PATH}
mkdir -p ${EXEC_UI_PATH}
}
build_service() {
SERVICE=$1
EXECPATH=$2
echo "" >${SERVICE}
echo "[Unit]" >>${SERVICE}
echo "Description=${PROJECT_NAME}" >>${SERVICE}
echo "After=network.target" >>${SERVICE}
echo "" >>${SERVICE}
echo "[Service]" >>${SERVICE}
echo "Environment=\"JAVA_HOME=$JAVA_HOME\"" >>${SERVICE}
echo "Type=forking" >>${SERVICE}
echo "ExecStart=${EXECPATH}/bin/start.sh" >>${SERVICE}
echo "ExecStop=${EXECPATH}/bin/shutdown.sh" >>${SERVICE}
echo "PrivateTmp=true" >>${SERVICE}
echo "" >>${SERVICE}
echo "[Install]" >>${SERVICE}
echo "WantedBy=multi-user.target" >>${SERVICE}
writelog "${PROJECT_NAME}服务创建完成!"
}
build_nginx() {
echo "server{
gzip on;
gzip_min_length 1k;
gzip_buffers 4 16k;
#gzip_http_version 1.0;
gzip_comp_level 2;
gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;
gzip_vary off;
gzip_disable \"MSIE [1-6]\.\";
listen ${NGINX_PORT};
server_name localhost;
location / {
root ${PROJECT_UI_EXECPATH}/dist;
index index.html index.htm;
}
location ${NGINX_SERVER_PATH} {
proxy_pass http://${IP}:${PORT};
proxy_set_header Host \$host;
proxy_set_header X-Real-IP \$remote_addr;
proxy_set_header X-Forwarded-For \$proxy_add_x_forwarded_for;
}
location /doc/ {
root ${PROJECT_EXECPATH};
index api.html;
}
location /file/fileupload/ {
alias /mortals/app/data/file/fileupload/;
autoindex on;
autoindex_exact_size off;
}
location /file/uploadfile/ {
alias /mortals/app/data/file/uploadfile/;
autoindex on;
autoindex_exact_size off;
}
location /file/preview/ {
alias /mortals/app/data/file/preview/;
autoindex on;
autoindex_exact_size off;
}
}
" >${PROJECT_NGINX_CONF}
}
#启动服务与nginx
start_service_and_nginx() {
writelog "${PROJECT_NAME}服务启动..."
systemctl enable ${PROJECT_NAME}
systemctl daemon-reload
systemctl stop ${PROJECT_NAME}
systemctl start ${PROJECT_NAME}
nginx -t
nginx -s reload
jcpid=$(ps -ef | grep -v "grep" | grep "${PROJECT_NAME} " | awk '{print $2}')
writelog "${PROJECT_NAME}服务启动,PID is ${jcpid}"
}
#部署后台服务
project_deploy() {
writelog "${PROJECT_NAME}_deploy"
clear_deploy ${PROJECT_SERVICE} ${PROJECT_EXECPATH}
writelog "${PROJECT_NAME}_clear_finish"
tar -zvxf ./${PROJECT_FILENAME} -C ${PUBLISH_PATH}
build_service ${PROJECT_SERVICE} ${PROJECT_EXECPATH}
build_nginx
start_service_and_nginx
writelog "${PROJECT_NAME}_deploy_finish"
}
#部署前台服务
project_ui_deploy() {
writelog "${PROJECT_NAME}_ui_deploy"
clear_ui_deploy ${PROJECT_UI_EXECPATH}
tar -zvxf ./${PROJECT_UI_FILENAME} -C ${PUBLISH_PATH}
writelog "${PROJECT_NAME}_ui_deploy_finish"
}
#主函数
main() {
echo "后台服务部署"
project_deploy
echo "前端服务部署"
project_ui_deploy
exit ${RETVAL}
}
main $1
#! /bin/sh #! /bin/sh
PORT="17211" PORT="@profiles.server.port@"
BASEDIR=`dirname $0` BASEDIR=$(dirname $0)
BASEDIR=`(cd "$BASEDIR"; pwd)` BASEDIR=$( (
cd "$BASEDIR"
pwd
))
PROJECT_NAME="@project.artifactId@" PROJECT_NAME="@project.artifactId@"
MAIN_CLASS="$PROJECT_NAME"; MAIN_CLASS="$PROJECT_NAME"
if [ ! -n "$PORT" ]; then if [ ! -n "$PORT" ]; then
echo $"Usage: $0 {port}" echo $"Usage: $0 {port}"
exit $FAIL exit $FAIL
fi fi
pid=$(ps ax | grep -i "$MAIN_CLASS" | grep java | grep -v grep | awk '{print $1}')
pid=`ps ax | grep -i "$MAIN_CLASS" | grep java | grep -v grep | awk '{print $1}'` if [ -z "$pid" ]; then
if [ -z "$pid" ] ; then
echo "No Server running." echo "No Server running."
exit -1; exit 1
fi fi
echo "stoping application $PROJECT_NAME......" echo "stoping application $PROJECT_NAME......"
kill -9 ${pid} kill -15 ${pid}
echo "Send shutdown request to Server $PROJECT_NAME OK" echo "Send shutdown request to Server $PROJECT_NAME OK"
#! /bin/sh
PORT="@profiles.server.port@"
BASEDIR=`dirname $0`
BASEDIR=`(cd "$BASEDIR"; pwd)`
PROJECT_NAME="@project.artifactId@"
MAIN_CLASS="$PROJECT_NAME";
if [ ! -n "$PORT" ]; then
echo $"Usage: $0 {port}"
exit $FAIL
fi
echo "stoping application $PROJECT_NAME......"
jcpid=`ps -ef | grep -v "grep" | grep "$MAIN_CLASS" | grep "app.port=$PORT" | sed -n '1P' | awk '{print $2}'`
if [ -z $jcpid ]; then
echo "$PROJECT_NAME is not started or has been stopped!"
else
curl -X POST -i -u $SECURITY_USERNAME:$SECURITY_PASSWORD http://127.0.0.1:$PORT/xxx_manager/shutdown
for i in {1..60}
do
jcpid=`ps -ef | grep -v "grep" | grep "$MAIN_CLASS" | grep "app.port=$PORT" | sed -n '1P' | awk '{print $2}'`
if [ -z $jcpid ]; then
echo "$PROJECT_NAME has been stopped!"
break
else
echo "stoping the application .. $i"
sleep 1
fi
done
jcpid=`ps -ef | grep -v "grep" | grep "$MAIN_CLASS" | grep "app.port=$PORT" | sed -n '1P' | awk '{print $2}'`
if [ $jcpid ]; then
[ -z $jcpid ] || kill -15 $jcpid
for i in {1..30}
do
jcpid=`ps -ef | grep -v "grep" | grep "$MAIN_CLASS" | grep "app.port=$PORT" | sed -n '1P' | awk '{print $2}'`
if [ -z $jcpid ]; then
echo "$PROJECT_NAME has been stopped!"
break
else
echo "stoping the application .. $i"
sleep 1
fi
done
fi
jcpid=`ps -ef | grep -v "grep" | grep "$MAIN_CLASS" | grep "app.port=$PORT" | sed -n '1P' | awk '{print $2}'`
if [ $jcpid ]; then
[ -z $jcpid ] || kill -9 $jcpid
[ $? -eq 0 ] && echo "Stop $PROJECT_NAME OK!" || echo "Stop $PROJECT_NAME Fail!"
fi
fi
###登录
POST {{baseUrl}}/login/login
Content-Type: application/json
{
"loginName":"admin",
"password":"admin",
"securityCode":"8888"
}
> {%
client.global.set("SmsSet_id", JSON.parse(response.body).data.id);
client.global.set("authToken", JSON.parse(response.body).data.token);
%}
###人脸识别信息列表
POST {{baseUrl}}/face/list
Authorization: {{authToken}}
Content-Type: application/json
{
"page":1,
"size":10
}
###人脸识别信息更新与保存
POST {{baseUrl}}/face/save
Authorization: {{authToken}}
Content-Type: application/json
{
"placeName":"h4w1jo",
"placeId":"zituyj",
"idCard":"0"
}
> {%
client.global.set("Face_id", JSON.parse(response.body).data.id);
%}
###人脸识别信息查看
GET {{baseUrl}}/face/info?id={{Face_id}}
Authorization: {{authToken}}
Accept: application/json
###人脸识别信息编辑
GET {{baseUrl}}/face/edit?id={{Face_id}}
Authorization: {{authToken}}
Accept: application/json
###人脸识别信息删除
GET {{baseUrl}}/face/delete?id={{Face_id}}
Authorization: {{authToken}}
Accept: application/json
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