提交 63e8d2c3 编写于 作者: ibizdev's avatar ibizdev

lab_qyk 部署微服务应用

上级 ab66aee9
......@@ -319,7 +319,7 @@ export default class AppFormDRUIPart extends Vue {
}
// 表单保存之前
if (Object.is($event.type, 'beforesave')) {
if(Object.is(this.refviewtype,'DEMEDITVIEW9') || Object.is(this.refviewtype,'DEGRIDVIEW9')){
if(Object.is(this.refviewtype,'DEMEDITVIEW9') || Object.is(this.refviewtype,'DEGRIDVIEW9') || Object.is(this.refviewtype,'DEGRIDVIEW')){
this.formDruipart.next({action:'save',data:$event.data});
} else {
// 不需要保存的界面也要抛出事件,供计数器计算
......
......@@ -6,6 +6,8 @@ export default {
memo: "备注",
createdate: "建立时间",
updatedate: "更新时间",
proleid: "父角色标识",
prolename: "父角色名称",
},
views: {
pickupgridview: {
......@@ -55,8 +57,10 @@ export default {
srfdeid: "",
srfsourcekey: "",
sys_rolename: "角色名称",
prolename: "父角色名称",
memo: "备注",
sys_roleid: "角色标识",
proleid: "父角色标识",
},
uiactions: {
},
......@@ -67,6 +71,8 @@ export default {
sys_rolename: "角色名称",
memo: "备注",
updatedate: "更新时间",
proleid: "父角色标识",
prolename: "父角色名称",
},
uiactions: {
},
......@@ -79,6 +85,32 @@ export default {
uiactions: {
},
},
editviewtoolbar_toolbar: {
tbitem3: {
caption: "Save",
tip: "Save",
},
tbitem5: {
caption: "Save And Close",
tip: "Save And Close Window",
},
tbitem6: {
caption: "-",
tip: "",
},
tbitem12: {
caption: "New",
tip: "New",
},
tbitem13: {
caption: "-",
tip: "",
},
tbitem14: {
caption: "Copy",
tip: "Copy {0}",
},
},
gridviewtoolbar_toolbar: {
tbitem3: {
caption: "New",
......@@ -117,32 +149,6 @@ export default {
tip: "Filter",
},
},
editviewtoolbar_toolbar: {
tbitem3: {
caption: "Save",
tip: "Save",
},
tbitem5: {
caption: "Save And Close",
tip: "Save And Close Window",
},
tbitem6: {
caption: "-",
tip: "",
},
tbitem12: {
caption: "New",
tip: "New",
},
tbitem13: {
caption: "-",
tip: "",
},
tbitem14: {
caption: "Copy",
tip: "Copy {0}",
},
},
editview2toolbar_toolbar: {
tbitem3: {
caption: "Save",
......
......@@ -5,6 +5,8 @@ export default {
memo: "备注",
createdate: "建立时间",
updatedate: "更新时间",
proleid: "父角色标识",
prolename: "父角色名称",
},
views: {
pickupgridview: {
......@@ -54,8 +56,10 @@ export default {
srfdeid: "",
srfsourcekey: "",
sys_rolename: "角色名称",
prolename: "父角色名称",
memo: "备注",
sys_roleid: "角色标识",
proleid: "父角色标识",
},
uiactions: {
},
......@@ -66,6 +70,8 @@ export default {
sys_rolename: "角色名称",
memo: "备注",
updatedate: "更新时间",
proleid: "父角色标识",
prolename: "父角色名称",
},
uiactions: {
},
......@@ -78,6 +84,32 @@ export default {
uiactions: {
},
},
editviewtoolbar_toolbar: {
tbitem3: {
caption: "保存",
tip: "保存",
},
tbitem5: {
caption: "保存并关闭",
tip: "保存并关闭",
},
tbitem6: {
caption: "-",
tip: "",
},
tbitem12: {
caption: "新建",
tip: "新建",
},
tbitem13: {
caption: "-",
tip: "",
},
tbitem14: {
caption: "拷贝",
tip: "拷贝",
},
},
gridviewtoolbar_toolbar: {
tbitem3: {
caption: "新建",
......@@ -116,32 +148,6 @@ export default {
tip: "过滤",
},
},
editviewtoolbar_toolbar: {
tbitem3: {
caption: "保存",
tip: "保存",
},
tbitem5: {
caption: "保存并关闭",
tip: "保存并关闭",
},
tbitem6: {
caption: "-",
tip: "",
},
tbitem12: {
caption: "新建",
tip: "新建",
},
tbitem13: {
caption: "-",
tip: "",
},
tbitem14: {
caption: "拷贝",
tip: "拷贝",
},
},
editview2toolbar_toolbar: {
tbitem3: {
caption: "保存",
......
export const PageComponents = {
install(Vue: any, opt: any) {
Vue.component('sys-app-grid-view', () => import('@pages/uaa/sys-app-grid-view/sys-app-grid-view.vue'));
Vue.component('sys-rolepickup-view', () => import('@pages/uaa/sys-rolepickup-view/sys-rolepickup-view.vue'));
Vue.component('sys-app-edit-view', () => import('@pages/uaa/sys-app-edit-view/sys-app-edit-view.vue'));
Vue.component('sys-rolepickup-view', () => import('@pages/uaa/sys-rolepickup-view/sys-rolepickup-view.vue'));
Vue.component('sys-usermpickup-view', () => import('@pages/uaa/sys-usermpickup-view/sys-usermpickup-view.vue'));
Vue.component('sys-role-permission-custom-view', () => import('@pages/uaa/sys-role-permission-custom-view/sys-role-permission-custom-view.vue'));
Vue.component('sys-userpickup-grid-view', () => import('@pages/uaa/sys-userpickup-grid-view/sys-userpickup-grid-view.vue'));
......
......@@ -50,32 +50,32 @@ const router = new Router({
component: () => import('@pages/uaa/sys-app-grid-view/sys-app-grid-view.vue'),
},
{
path: 'sysroles/:sysrole?/pickupview/:pickupview?',
path: 'sysapps/:sysapp?/editview/:editview?',
meta: {
caption: 'entities.sysrole.views.pickupview.title',
caption: 'entities.sysapp.views.editview.title',
info:'',
parameters: [
{ pathName: 'index', parameterName: 'index' },
{ pathName: 'sysroles', parameterName: 'sysrole' },
{ pathName: 'pickupview', parameterName: 'pickupview' },
{ pathName: 'sysapps', parameterName: 'sysapp' },
{ pathName: 'editview', parameterName: 'editview' },
],
requireAuth: true,
},
component: () => import('@pages/uaa/sys-rolepickup-view/sys-rolepickup-view.vue'),
component: () => import('@pages/uaa/sys-app-edit-view/sys-app-edit-view.vue'),
},
{
path: 'sysapps/:sysapp?/editview/:editview?',
path: 'sysroles/:sysrole?/pickupview/:pickupview?',
meta: {
caption: 'entities.sysapp.views.editview.title',
caption: 'entities.sysrole.views.pickupview.title',
info:'',
parameters: [
{ pathName: 'index', parameterName: 'index' },
{ pathName: 'sysapps', parameterName: 'sysapp' },
{ pathName: 'editview', parameterName: 'editview' },
{ pathName: 'sysroles', parameterName: 'sysrole' },
{ pathName: 'pickupview', parameterName: 'pickupview' },
],
requireAuth: true,
},
component: () => import('@pages/uaa/sys-app-edit-view/sys-app-edit-view.vue'),
component: () => import('@pages/uaa/sys-rolepickup-view/sys-rolepickup-view.vue'),
},
{
path: 'sysusers/:sysuser?/mpickupview/:mpickupview?',
......
......@@ -120,6 +120,7 @@ export const viewstate: any = {
viewaction: '',
viewdatachange: false,
refviews: [
'8a32be8cf2c1e224867a93bb5fc90b67',
'e791be173ed0f4bbe9cce942b6edde63',
'fb89f9af95f2caf92ccc1249025c9a1b',
],
......@@ -172,6 +173,7 @@ export const viewstate: any = {
viewaction: '',
viewdatachange: false,
refviews: [
'8a32be8cf2c1e224867a93bb5fc90b67',
'e791be173ed0f4bbe9cce942b6edde63',
'fb89f9af95f2caf92ccc1249025c9a1b',
],
......
......@@ -1469,8 +1469,8 @@ export default class MainBase extends Vue implements ControlInterface {
}
const arg: any = { ...opt };
const data = this.getValues();
Object.assign(arg, data);
Object.assign(arg, this.context);
Object.assign(arg, data);
if (ifStateNext) {
this.drcounter = 0;
if(this.drcounter !== 0){
......
......@@ -1264,8 +1264,8 @@ export default class MainBase extends Vue implements ControlInterface {
}
const arg: any = { ...opt };
const data = this.getValues();
Object.assign(arg, data);
Object.assign(arg, this.context);
Object.assign(arg, data);
if (ifStateNext) {
this.drcounter = 0;
if(this.drcounter !== 0){
......
......@@ -1388,8 +1388,8 @@ export default class MainBase extends Vue implements ControlInterface {
}
const arg: any = { ...opt };
const data = this.getValues();
Object.assign(arg, data);
Object.assign(arg, this.context);
Object.assign(arg, data);
if (ifStateNext) {
this.drcounter = 0;
if(this.drcounter !== 0){
......
......@@ -30,6 +30,12 @@ export default class DefaultModel {
{
name: 'updatedate',
},
{
name: 'proleid',
},
{
name: 'prolename',
},
]
}
......
......@@ -13,7 +13,34 @@
</app-form-item>
</i-col>
<i-col v-show="detailsModel.memo.visible" :style="{}" :md="{ span: 12, offset: 0 }" :lg="{ span: 24, offset: 0 }" :xl="{ span: 12, offset: 0 }">
<i-col v-show="detailsModel.prolename.visible" :style="{}" :md="{ span: 12, offset: 0 }" :lg="{ span: 12, offset: 0 }" :xl="{ span: 12, offset: 0 }">
<app-form-item name='prolename' :itemRules="this.rules().prolename" class='' :caption="$t('entities.sysrole.main_form.details.prolename')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.prolename.error" :isEmptyCaption="false" labelPos="LEFT">
<app-picker
:formState="formState"
:data="data"
:context="context"
:viewparams="viewparams"
:localContext ='{ }'
:localParam ='{ }'
:disabled="detailsModel.prolename.disabled"
name='prolename'
deMajorField='rolename'
deKeyField='sysrole'
:service="service"
:acParams="{ serviceName: 'SysRoleService', interfaceName: 'FetchDefault'}"
valueitem='proleid'
:value="data.prolename"
editortype=""
:pickupView="{ viewname: 'sys-rolepickup-view', title: $t('entities.sysrole.views.pickupview.title'), deResParameters: [], parameters: [{ pathName: 'sysroles', parameterName: 'sysrole' }, { pathName: 'pickupview', parameterName: 'pickupview' } ], placement:'' }"
style=""
@formitemvaluechange="onFormItemValueChange">
</app-picker>
</app-form-item>
</i-col>
<i-col v-show="detailsModel.memo.visible" :style="{}" :md="{ span: 24, offset: 0 }" :lg="{ span: 24, offset: 0 }" :xl="{ span: 24, offset: 0 }">
<app-form-item name='memo' :itemRules="this.rules().memo" class='' :caption="$t('entities.sysrole.main_form.details.memo')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.memo.error" :isEmptyCaption="false" labelPos="LEFT">
<input-box v-model="data.memo" @enter="onEnter($event)" unit="" :disabled="detailsModel.memo.disabled" type='text' style=""></input-box>
......@@ -446,8 +473,10 @@ export default class MainBase extends Vue implements ControlInterface {
srfdeid: null,
srfsourcekey: null,
sys_rolename: null,
prolename: null,
memo: null,
sys_roleid: null,
proleid: null,
sysrole:null,
};
......@@ -545,6 +574,12 @@ export default class MainBase extends Vue implements ControlInterface {
{ required: false, type: 'string', message: '角色名称 值不能为空', trigger: 'change' },
{ required: false, type: 'string', message: '角色名称 值不能为空', trigger: 'blur' },
],
prolename: [
{ type: 'string', message: '父角色名称 值必须为字符串类型', trigger: 'change' },
{ type: 'string', message: '父角色名称 值必须为字符串类型', trigger: 'blur' },
{ required: false, type: 'string', message: '父角色名称 值不能为空', trigger: 'change' },
{ required: false, type: 'string', message: '父角色名称 值不能为空', trigger: 'blur' },
],
memo: [
{ type: 'string', message: '备注 值必须为字符串类型', trigger: 'change' },
{ type: 'string', message: '备注 值必须为字符串类型', trigger: 'blur' },
......@@ -557,6 +592,12 @@ export default class MainBase extends Vue implements ControlInterface {
{ required: false, type: 'string', message: '角色标识 值不能为空', trigger: 'change' },
{ required: false, type: 'string', message: '角色标识 值不能为空', trigger: 'blur' },
],
proleid: [
{ type: 'string', message: '父角色标识 值必须为字符串类型', trigger: 'change' },
{ type: 'string', message: '父角色标识 值必须为字符串类型', trigger: 'blur' },
{ required: false, type: 'string', message: '父角色标识 值不能为空', trigger: 'change' },
{ required: false, type: 'string', message: '父角色标识 值不能为空', trigger: 'blur' },
],
}
}
......@@ -642,10 +683,14 @@ export default class MainBase extends Vue implements ControlInterface {
srfsourcekey: new FormItemModel({ caption: '', detailType: 'FORMITEM', name: 'srfsourcekey', visible: true, isShowCaption: true, form: this, isControlledContent: false , disabled: false, enableCond: 3 })
,
sys_rolename: new FormItemModel({ caption: '角色名称', detailType: 'FORMITEM', name: 'sys_rolename', visible: true, isShowCaption: true, form: this, isControlledContent: false , disabled: false, enableCond: 3 })
,
prolename: new FormItemModel({ caption: '父角色名称', detailType: 'FORMITEM', name: 'prolename', visible: true, isShowCaption: true, form: this, isControlledContent: false , disabled: false, enableCond: 3 })
,
memo: new FormItemModel({ caption: '备注', detailType: 'FORMITEM', name: 'memo', visible: true, isShowCaption: true, form: this, isControlledContent: false , disabled: false, enableCond: 3 })
,
sys_roleid: new FormItemModel({ caption: '角色标识', detailType: 'FORMITEM', name: 'sys_roleid', visible: true, isShowCaption: true, form: this, isControlledContent: false , disabled: false, enableCond: 3 })
,
proleid: new FormItemModel({ caption: '父角色标识', detailType: 'FORMITEM', name: 'proleid', visible: true, isShowCaption: true, form: this, isControlledContent: false , disabled: false, enableCond: 3 })
,
};
......@@ -757,6 +802,18 @@ export default class MainBase extends Vue implements ControlInterface {
this.formDataChange({ name: 'sys_rolename', newVal: newVal, oldVal: oldVal });
}
/**
* 监控表单属性 prolename 值
*
* @param {*} newVal
* @param {*} oldVal
* @memberof MainBase
*/
@Watch('data.prolename')
onProlenameChange(newVal: any, oldVal: any) {
this.formDataChange({ name: 'prolename', newVal: newVal, oldVal: oldVal });
}
/**
* 监控表单属性 memo 值
*
......@@ -781,6 +838,18 @@ export default class MainBase extends Vue implements ControlInterface {
this.formDataChange({ name: 'sys_roleid', newVal: newVal, oldVal: oldVal });
}
/**
* 监控表单属性 proleid 值
*
* @param {*} newVal
* @param {*} oldVal
* @memberof MainBase
*/
@Watch('data.proleid')
onProleidChange(newVal: any, oldVal: any) {
this.formDataChange({ name: 'proleid', newVal: newVal, oldVal: oldVal });
}
/**
* 显示更多模式切换操作
......@@ -852,6 +921,8 @@ export default class MainBase extends Vue implements ControlInterface {
}
......@@ -1400,8 +1471,8 @@ export default class MainBase extends Vue implements ControlInterface {
}
const arg: any = { ...opt };
const data = this.getValues();
Object.assign(arg, data);
Object.assign(arg, this.context);
Object.assign(arg, data);
if (ifStateNext) {
this.drcounter = 2;
if(this.drcounter !== 0){
......
......@@ -60,6 +60,11 @@ export default class MainModel {
prop: 'rolename',
dataType: 'TEXT',
},
{
name: 'prolename',
prop: 'prolename',
dataType: 'PICKUPTEXT',
},
{
name: 'memo',
prop: 'memo',
......@@ -70,6 +75,11 @@ export default class MainModel {
prop: 'roleid',
dataType: 'GUID',
},
{
name: 'proleid',
prop: 'proleid',
dataType: 'PICKUP',
},
{
name: 'sysrole',
prop: 'roleid',
......
......@@ -82,6 +82,9 @@ export default class MainService extends ControlService {
public getItems(serviceName: string, interfaceName: string, context: any = {}, data: any, isloading?: boolean): Promise<any[]> {
data.page = data.page ? data.page : 0;
data.size = data.size ? data.size : 1000;
if (Object.is(serviceName, 'SysRoleService') && Object.is(interfaceName, 'FetchDefault')) {
return this.doItems(this.appEntityService.FetchDefault(JSON.parse(JSON.stringify(context)), data, isloading), 'roleid', 'sysrole');
}
return Promise.reject([])
}
......
......@@ -69,6 +69,37 @@
</template>
</el-table-column>
</template>
<template v-if="getColumnState('proleid')">
<el-table-column show-overflow-tooltip :prop="'proleid'" :label="$t('entities.sysrole.main_grid.columns.proleid')" :width="100" :align="'left'" :sortable="'custom'">
<template v-slot:header="{column}">
<span class="column-header ">
{{$t('entities.sysrole.main_grid.columns.proleid')}}
</span>
</template>
<template v-slot="{row,column,$index}">
<span>{{row.proleid}}</span>
</template>
</el-table-column>
</template>
<template v-if="getColumnState('prolename')">
<el-table-column show-overflow-tooltip :prop="'prolename'" :label="$t('entities.sysrole.main_grid.columns.prolename')" :width="250" :align="'left'" :sortable="'custom'">
<template v-slot:header="{column}">
<span class="column-header ">
{{$t('entities.sysrole.main_grid.columns.prolename')}}
</span>
</template>
<template v-slot="{row,column,$index}">
<app-column-link deKeyField='sysrole' :context="JSON.parse(JSON.stringify(context))" :viewparams="JSON.parse(JSON.stringify(viewparams))" :data="row" :linkview="{viewname: 'sys-roleredirect-view', height: 0,width: 0,title: $t('entities.sysrole.views.redirectview.title'),placement: '', isRedirectView: true,deResParameters: [
]
,parameters: [
{ pathName: 'sysroles', parameterName: 'sysrole' },
{ pathName: 'redirectview', parameterName: 'redirectview' }
]}" valueitem="proleid">
<span>{{row.prolename}}</span>
</app-column-link >
</template>
</el-table-column>
</template>
<template v-if="adaptiveState">
<el-table-column></el-table-column>
</template>
......@@ -625,6 +656,22 @@ export default class MainBase extends Vue implements ControlInterface {
util: 'px',
isEnableRowEdit: false,
},
{
name: 'proleid',
label: '父角色标识',
langtag: 'entities.sysrole.main_grid.columns.proleid',
show: true,
util: 'PX',
isEnableRowEdit: false,
},
{
name: 'prolename',
label: '父角色名称',
langtag: 'entities.sysrole.main_grid.columns.prolename',
show: true,
util: 'PX',
isEnableRowEdit: false,
},
]
/**
......
......@@ -41,11 +41,21 @@ export default class MainModel {
prop: 'roleid',
dataType: 'GUID',
},
{
name: 'proleid',
prop: 'proleid',
dataType: 'PICKUP',
},
{
name: 'updatedate',
prop: 'updatedate',
dataType: 'DATETIME',
},
{
name: 'prolename',
prop: 'prolename',
dataType: 'PICKUPTEXT',
},
{
name: 'srfmajortext',
prop: 'rolename',
......
......@@ -30,6 +30,12 @@ export default class MPickupViewpickupviewpanelModel {
{
name: 'updatedate',
},
{
name: 'proleid',
},
{
name: 'prolename',
},
]
}
......
......@@ -30,6 +30,12 @@ export default class PickupViewpickupviewpanelModel {
{
name: 'updatedate',
},
{
name: 'proleid',
},
{
name: 'prolename',
},
]
}
......
......@@ -1406,8 +1406,8 @@ export default class MainBase extends Vue implements ControlInterface {
}
const arg: any = { ...opt };
const data = this.getValues();
Object.assign(arg, data);
Object.assign(arg, this.context);
Object.assign(arg, data);
if (ifStateNext) {
this.drcounter = 0;
if(this.drcounter !== 0){
......
......@@ -1395,8 +1395,8 @@ export default class MainBase extends Vue implements ControlInterface {
}
const arg: any = { ...opt };
const data = this.getValues();
Object.assign(arg, data);
Object.assign(arg, this.context);
Object.assign(arg, data);
if (ifStateNext) {
this.drcounter = 1;
if(this.drcounter !== 0){
......
......@@ -37,11 +37,11 @@
git clone -b master $para2 ibzuaa/
export NODE_OPTIONS=--max-old-space-size=4096
cd ibzuaa/
mvn clean package -Papi
cd ibzuaa-provider/ibzuaa-provider-api
mvn -Papi docker:build
mvn -Papi docker:push
docker -H $para1 stack deploy --compose-file=src/main/docker/ibzuaa-provider-api.yaml ibzlab-rt --with-registry-auth
mvn clean package -Pweb
cd ibzuaa-app/ibzuaa-app-web
mvn -Pweb docker:build
mvn -Pweb docker:push
docker -H $para1 stack deploy --compose-file=src/main/docker/ibzuaa-app-web.yaml ibzlab-rt --with-registry-auth
</command>
</hudson.tasks.Shell>
</builders>
......
......@@ -12,6 +12,6 @@ CMD echo "The application will start in ${IBIZ_SLEEP}s..." && \
sleep ${IBIZ_SLEEP} && \
java ${JAVA_OPTS} -Djava.security.egd=file:/dev/./urandom -jar /ibzuaa-app-web.jar
EXPOSE 8080
EXPOSE 30002
ADD ibzuaa-app-web.jar /ibzuaa-app-web.jar
......@@ -3,9 +3,24 @@ services:
ibzuaa-app-web:
image: registry.cn-shanghai.aliyuncs.com/ibizsys/ibzuaa-app-web:latest
ports:
- "8080:8080"
- "30002:30002"
networks:
- agent_network
environment:
- SPRING_CLOUD_NACOS_DISCOVERY_IP=172.16.180.237
- SERVER_PORT=30002
- SPRING_CLOUD_NACOS_DISCOVERY_SERVER-ADDR=172.16.102.211:8848
- SPRING_REDIS_HOST=172.16.100.243
- SPRING_REDIS_PORT=6379
- SPRING_REDIS_DATABASE=0
- SPRING_DATASOURCE_USERNAME=a_A_5d9d78509
- SPRING_DATASOURCE_PASSWORD=@6dEfb3@
- SPRING_DATASOURCE_URL=jdbc:mysql://172.16.180.232:3306/a_A_5d9d78509?autoReconnect=true&useUnicode=true&characterEncoding=UTF-8&useOldAliasMetadataBehavior=true
- SPRING_DATASOURCE_DRIVER-CLASS-NAME=com.mysql.jdbc.Driver
- SPRING_DATASOURCE_DEFAULTSCHEMA=a_A_5d9d78509
- ABC=1
- DEC=3
- NACOS=172.16.102.211:8848
deploy:
resources:
limits:
......
......@@ -12,6 +12,6 @@ CMD echo "The application will start in ${IBIZ_SLEEP}s..." && \
sleep ${IBIZ_SLEEP} && \
java ${JAVA_OPTS} -Djava.security.egd=file:/dev/./urandom -jar /ibzuaa-provider-api.jar
EXPOSE 40002
EXPOSE 8081
ADD ibzuaa-provider-api.jar /ibzuaa-provider-api.jar
......@@ -3,22 +3,9 @@ services:
ibzuaa-provider-api:
image: registry.cn-shanghai.aliyuncs.com/ibizsys/ibzuaa-provider-api:latest
ports:
- "40002:40002"
- "8081:8081"
networks:
- agent_network
environment:
- SPRING_CLOUD_NACOS_DISCOVERY_IP=172.16.180.237
- SERVER_PORT=40002
- SPRING_CLOUD_NACOS_DISCOVERY_SERVER-ADDR=172.16.102.211:8848
- SPRING_REDIS_HOST=172.16.100.243
- SPRING_REDIS_PORT=6379
- SPRING_REDIS_DATABASE=0
- SPRING_DATASOURCE_USERNAME=a_A_5d9d78509
- SPRING_DATASOURCE_PASSWORD=@6dEfb3@
- SPRING_DATASOURCE_URL=jdbc:mysql://172.16.180.232:3306/a_A_5d9d78509?autoReconnect=true&useUnicode=true&characterEncoding=UTF-8&useOldAliasMetadataBehavior=true
- SPRING_DATASOURCE_DRIVER-CLASS-NAME=com.mysql.jdbc.Driver
- SPRING_DATASOURCE_DEFAULTSCHEMA=a_A_5d9d78509
- NACOS=172.16.102.211:8848
deploy:
resources:
limits:
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册