提交 7a33b7ea 编写于 作者: ibizdev's avatar ibizdev

ibiz4j 发布系统代码

上级 8981fa5b
......@@ -59,6 +59,66 @@
"codename":"Dataset",
"value": "DATASET",
"disabled": false
}
]
},
{
"srfkey": "CLAuthCode",
"emptytext": "未定义",
"codelisttype":"static",
"items": [
{
"id": "200",
"label": "成功",
"text": "成功",
"data":"",
"codename":"Item_200",
"color": "rgba(0, 255, 0, 0)",
"value": "200",
"disabled": false
}
, {
"id": "400",
"label": "用户不存在",
"text": "用户不存在",
"data":"",
"codename":"Item_400",
"value": "400",
"disabled": false
}
, {
"id": "401.1",
"label": "密码错误",
"text": "密码错误",
"data":"",
"codename":"Item_3",
"value": "401.1",
"disabled": false
}
, {
"id": "401.2",
"label": "配置错误",
"text": "配置错误",
"data":"",
"codename":"Item_4",
"color": "rgba(22, 9, 170, 1)",
"value": "401.2",
"disabled": false
}
, {
"id": "403.6",
"label": "地址被拒绝",
"text": "地址被拒绝",
"data":"",
"codename":"Item_5",
"color": "rgba(0, 72, 255, 1)",
"value": "403.6",
"disabled": false
}
]
......
{
"sys_authloggridview": {
"title": "认证日志表格视图",
"caption": "认证日志",
"viewtype": "DEGRIDVIEW",
"viewmodule": "uaa",
"viewname": "SYS_AUTHLOGGridView",
"viewtag": "0134ebf9391cb5f988839332c1352cd9"
},
"index": {
"title": "ibizlab-uaa",
"caption": "ibizlab-uaa",
......
......@@ -65,6 +65,7 @@ export default {
main: {
menuitem3: '用户',
menuitem6: '角色',
menuitem1: '认证日志',
},
},
},
......
......@@ -65,6 +65,7 @@ export default {
main: {
menuitem3: '用户',
menuitem6: '角色',
menuitem1: '认证日志',
},
},
},
......
......@@ -10,4 +10,12 @@ export default {
'DATASET': '数据集合',
empty: '',
},
CLAuthCode: {
'200': '成功',
'400': '用户不存在',
'401.1': '密码错误',
'401.2': '配置错误',
'403.6': '地址被拒绝',
empty: '',
},
};
\ No newline at end of file
......@@ -10,4 +10,12 @@ export default {
'DATASET': '数据集合',
empty: '',
},
CLAuthCode: {
'200': '成功',
'400': '用户不存在',
'401.1': '密码错误',
'401.2': '配置错误',
'403.6': '地址被拒绝',
empty: '',
},
};
\ No newline at end of file
......@@ -11,4 +11,37 @@ export default {
useragent: '客户端',
authcode: '认证结果',
},
views: {
gridview: {
caption: "认证日志",
title: '认证日志',
},
},
main_grid: {
columns: {
username: "用户全局名",
personname: "用户名称",
authtime: "认证时间",
authcode: "认证结果",
ipaddr: "IP地址",
macaddr: "MAC地址",
useragent: "客户端",
domain: "域",
},
uiactions: {
},
},
default_searchform: {
details: {
formpage1: "常规条件",
n_username_like: "用户全局名(文本包含(%))",
n_personname_like: "用户名称(文本包含(%))",
n_authcode_eq: "认证结果(等于(=))",
n_authtime_gtandeq: "认证时间(大于等于(>=))",
n_authtime_ltandeq: "认证时间(小于等于(<=))",
n_domain_like: "域(文本包含(%))",
},
uiactions: {
},
},
};
\ No newline at end of file
......@@ -10,4 +10,37 @@ export default {
useragent: '客户端',
authcode: '认证结果',
},
views: {
gridview: {
caption: '认证日志',
title: '认证日志',
},
},
main_grid: {
columns: {
username: '用户全局名',
personname: '用户名称',
authtime: '认证时间',
authcode: '认证结果',
ipaddr: 'IP地址',
macaddr: 'MAC地址',
useragent: '客户端',
domain: '域',
},
uiactions: {
},
},
default_searchform: {
details: {
formpage1: '常规条件',
n_username_like: '用户全局名(文本包含(%))',
n_personname_like: '用户名称(文本包含(%))',
n_authcode_eq: '认证结果(等于(=))',
n_authtime_gtandeq: '认证时间(大于等于(>=))',
n_authtime_ltandeq: '认证时间(小于等于(<=))',
n_domain_like: '域(文本包含(%))',
},
uiactions: {
},
},
};
\ No newline at end of file
......@@ -45,6 +45,24 @@ mock.onGet('v7/mainappmenu').reply((config: any) => {
textcls: '',
appfunctag: 'Auto10',
resourcetag: '',
},
{
id: 'BCF452A9-F6C1-40C9-B107-1D3E9E8839D3',
name: 'menuitem1',
text: '认证日志',
type: 'MENUITEM',
counterid: '',
tooltip: '认证日志',
expanded: false,
separator: false,
hidden: false,
hidesidebar: false,
opendefault: false,
iconcls: 'log-in',
icon: '',
textcls: '',
appfunctag: '_2',
resourcetag: '',
},
],
}];
......
......@@ -67,6 +67,66 @@ mock.onGet('./assets/json/data-dictionary.json').reply((config: any) => {
"codename":"Dataset",
value: 'DATASET',
disabled: false,
},
]
},
{
srfkey: 'CLAuthCode',
emptytext: '未定义',
"codelisttype":"static",
items: [
{
id: '200',
label: '成功',
text: '成功',
"data":"",
"codename":"Item_200",
"color": "rgba(0, 255, 0, 0)",
value: '200',
disabled: false,
},
{
id: '400',
label: '用户不存在',
text: '用户不存在',
"data":"",
"codename":"Item_400",
value: '400',
disabled: false,
},
{
id: '401.1',
label: '密码错误',
text: '密码错误',
"data":"",
"codename":"Item_3",
value: '401.1',
disabled: false,
},
{
id: '401.2',
label: '配置错误',
text: '配置错误',
"data":"",
"codename":"Item_4",
"color": "rgba(22, 9, 170, 1)",
value: '401.2',
disabled: false,
},
{
id: '403.6',
label: '地址被拒绝',
text: '地址被拒绝',
"data":"",
"codename":"Item_5",
"color": "rgba(0, 72, 255, 1)",
value: '403.6',
disabled: false,
},
]
......
......@@ -7,7 +7,15 @@ import Mock from 'mockjs'
mock.onGet('./assets/json/view-config.json').reply((config: any) => {
let status = MockAdapter.mockStatus(config);
return [status,{
"index": {
"sys_authloggridview": {
"title": "认证日志表格视图",
"caption": "认证日志",
"viewtype": "DEGRIDVIEW",
"viewmodule": "uaa",
"viewname": "SYS_AUTHLOGGridView",
"viewtag": "0134ebf9391cb5f988839332c1352cd9"
},
"index": {
"title": "ibizlab-uaa",
"caption": "ibizlab-uaa",
"viewtype": "APPINDEXVIEW",
......
......@@ -7,6 +7,7 @@ export const PageComponents = {
Vue.component('sys-roleedit-view', () => import('@pages/uaa/sys-roleedit-view/sys-roleedit-view.vue'));
Vue.component('sys-user-roleedit-view', () => import('@pages/uaa/sys-user-roleedit-view/sys-user-roleedit-view.vue'));
Vue.component('sys-rolempickup-view', () => import('@pages/uaa/sys-rolempickup-view/sys-rolempickup-view.vue'));
Vue.component('sys-authloggrid-view', () => import('@pages/uaa/sys-authloggrid-view/sys-authloggrid-view.vue'));
Vue.component('sys-userpickup-view', () => import('@pages/uaa/sys-userpickup-view/sys-userpickup-view.vue'));
Vue.component('sys-rolegrid-view', () => import('@pages/uaa/sys-rolegrid-view/sys-rolegrid-view.vue'));
Vue.component('sys-useredit-view', () => import('@pages/uaa/sys-useredit-view/sys-useredit-view.vue'));
......
......@@ -181,6 +181,19 @@ const router = new Router({
},
component: () => import('@pages/uaa/sys-rolempickup-view/sys-rolempickup-view.vue'),
},
{
path: 'sys_authlogs/:sys_authlog?/gridview/:gridview?',
meta: {
caption: 'entities.sys_authlog.views.gridview.caption',
parameters: [
{ pathName: 'index', parameterName: 'index' },
{ pathName: 'sys_authlogs', parameterName: 'sys_authlog' },
{ pathName: 'gridview', parameterName: 'gridview' },
],
requireAuth: true,
},
component: () => import('@pages/uaa/sys-authloggrid-view/sys-authloggrid-view.vue'),
},
{
path: 'sys_users/:sys_user?/pickupview/:pickupview?',
meta: {
......@@ -345,6 +358,18 @@ const router = new Router({
...indexRoutes,
],
},
{
path: '/sys_authlogs/:sys_authlog?/gridview/:gridview?',
meta: {
caption: 'entities.sys_authlog.views.gridview.caption',
parameters: [
{ pathName: 'sys_authlogs', parameterName: 'sys_authlog' },
{ pathName: 'gridview', parameterName: 'gridview' },
],
requireAuth: true,
},
component: () => import('@pages/uaa/sys-authloggrid-view/sys-authloggrid-view.vue'),
},
{
path: '/sys_roles/:sys_role?/pickupgridview/:pickupgridview?',
meta: {
......
<script lang='tsx'>
import { Component } from 'vue-property-decorator';
import SYS_AUTHLOGGridViewBase from './sys-authloggrid-view-base.vue';
import view_grid from '@widgets/sys-authlog/main-grid/main-grid.vue';
import view_searchform from '@widgets/sys-authlog/default-searchform/default-searchform.vue';
@Component({
components: {
view_grid,
view_searchform,
},
beforeRouteEnter: (to: any, from: any, next: any) => {
next((vm: any) => {
vm.$store.commit('addCurPageViewtag', { fullPath: to.fullPath, viewtag: vm.viewtag });
});
},
})
export default class SYS_AUTHLOGGridView extends SYS_AUTHLOGGridViewBase {
}
</script>
\ No newline at end of file
......@@ -3,6 +3,15 @@
*/
export const viewstate: any = {
appviews: [
{
viewtag: '0134ebf9391cb5f988839332c1352cd9',
viewmodule: 'uaa',
viewname: 'SYS_AUTHLOGGridView',
viewaction: '',
viewdatachange: false,
refviews: [
],
},
{
viewtag: '045e3ba6825a802770d6eca089a6484d',
viewmodule: 'uaa',
......@@ -11,6 +20,7 @@ export const viewstate: any = {
viewdatachange: false,
refviews: [
'9e9a67908b3c85516085fe19e3dd4113',
'0134ebf9391cb5f988839332c1352cd9',
'cb64b5009e70f225a91046314f40977a',
],
},
......
......@@ -79,6 +79,7 @@ export default class SYS_AUTHLOGUIServiceBase extends UIService {
* @memberof SYS_AUTHLOGUIServiceBase
*/
public initViewMap(){
this.allViewMap.set('MDATAVIEW:',{viewname:'gridview',srfappde:'sys_authlogs'});
}
/**
......
......@@ -564,6 +564,9 @@ export default class MainBase extends Vue implements ControlInterface {
case 'Auto5':
this.clickAuto5(item);
return;
case '_2':
this.click_2(item);
return;
default:
console.warn('未指定应用功能');
}
......@@ -606,6 +609,24 @@ export default class MainBase extends Vue implements ControlInterface {
const path: string = this.$viewTool.buildUpRoutePath(this.$route, {}, deResParameters, parameters, [], viewparam);
this.$router.push(path);
}
/**
* 认证日志
*
* @param {*} [item={}]
* @memberof Main
*/
public click_2(item: any = {}) {
const viewparam: any = {};
Object.assign(viewparam, {});
const deResParameters: any[] = [];
const parameters: any[] = [
{ pathName: 'sys_authlogs', parameterName: 'sys_authlog' },
{ pathName: 'gridview', parameterName: 'gridview' },
];
const path: string = this.$viewTool.buildUpRoutePath(this.$route, {}, deResParameters, parameters, [], viewparam);
this.$router.push(path);
}
/**
* 数据加载
......
......@@ -49,6 +49,24 @@ export default class MainModel {
textcls: '',
appfunctag: 'Auto10',
resourcetag: '',
},
{
id: 'BCF452A9-F6C1-40C9-B107-1D3E9E8839D3',
name: 'menuitem1',
text: '认证日志',
type: 'MENUITEM',
counterid: '',
tooltip: '认证日志',
expanded: false,
separator: false,
hidden: false,
hidesidebar: false,
opendefault: false,
iconcls: 'log-in',
icon: '',
textcls: '',
appfunctag: '_2',
resourcetag: '',
},
];
......@@ -84,6 +102,18 @@ export default class MainModel {
{ pathName: 'gridview', parameterName: 'gridview' },
],
},
{
appfunctag: '_2',
appfuncyype: 'APPVIEW',
openmode: '',
codename: 'sys_authloggridview',
deResParameters: [],
routepath: '/index/:index?/sys_authlogs/:sys_authlog?/gridview/:gridview?',
parameters: [
{ pathName: 'sys_authlogs', parameterName: 'sys_authlog' },
{ pathName: 'gridview', parameterName: 'gridview' },
],
},
];
/**
......
/**
* Default 部件模型
*
* @export
* @class DefaultModel
*/
export default class DefaultModel {
/**
* 获取数据项集合
*
* @returns {any[]}
* @memberof DefaultModel
*/
public getDataItems(): any[] {
return [
{
name: 'srfwfmemo',
prop: 'srfwfmemo',
dataType: 'TEXT',
},
// 前端新增修改标识,新增为"0",修改为"1"或未设值
{
name: 'srffrontuf',
prop: 'srffrontuf',
dataType: 'TEXT',
},
{
name: 'n_username_like',
prop: 'username',
dataType: 'TEXT',
},
{
name: 'n_personname_like',
prop: 'personname',
dataType: 'TEXT',
},
{
name: 'n_authcode_eq',
prop: 'authcode',
dataType: 'SSCODELIST',
},
{
name: 'n_authtime_gtandeq',
prop: 'authtime',
dataType: 'DATETIME',
},
{
name: 'n_authtime_ltandeq',
prop: 'authtime',
dataType: 'DATETIME',
},
{
name: 'n_domain_like',
prop: 'domain',
dataType: 'TEXT',
},
]
}
}
\ No newline at end of file
.ivu-tabs-no-animation>.ivu-tabs-content{
padding: 0 16px;
}
.ivu-card-head{
padding: 14px 0;
}
.app-search-form {
padding: 8px 14px 0;
.ivu-form-item{
margin-bottom: 8px;
}
.search_reset {
margin-right: 12px;
margin-bottom: 8px;
}
.search-button{
text-align: right;
}
}
.app-search-form-flex {
height: 100%;
> .ivu-row {
height: 100%;
> .ivu-tabs {
height: 100%;
display: flex;
flex-direction: column;
> .ivu-tabs-content {
flex-grow: 1;
overflow: auto;
> .ivu-tabs-tabpane {
height: 100%;
}
}
}
}
}
.app-tabpanel-flex {
height: 100%;
> .ivu-tabs-content {
height: calc(100% - 52px);
> .ivu-tabs-tabpane {
height: 100%;
}
}
}
// this is less
<script lang='tsx'>
import { Component } from 'vue-property-decorator';
import DefaultBase from './default-searchform-base.vue';
@Component({
components: {
}
})
export default class Default extends DefaultBase {
}
</script>
\ No newline at end of file
/**
* Main 部件模型
*
* @export
* @class MainModel
*/
export default class MainModel {
/**
* 是否是实体数据导出
*
* @returns {any[]}
* @memberof MainGridMode
*/
public isDEExport: boolean = false;
/**
* 获取数据项集合
*
* @returns {any[]}
* @memberof MainGridMode
*/
public getDataItems(): any[] {
if(this.isDEExport){
return [
]
}else{
return [
{
name: 'macaddr',
prop: 'macaddr',
dataType: 'TEXT',
},
{
name: 'authtime',
prop: 'authtime',
dataType: 'DATETIME',
},
{
name: 'username',
prop: 'username',
dataType: 'TEXT',
},
{
name: 'useragent',
prop: 'useragent',
dataType: 'TEXT',
},
{
name: 'ipaddr',
prop: 'ipaddr',
dataType: 'TEXT',
},
{
name: 'authcode',
prop: 'authcode',
dataType: 'SSCODELIST',
},
{
name: 'domain',
prop: 'domain',
dataType: 'TEXT',
},
{
name: 'personname',
prop: 'personname',
dataType: 'TEXT',
},
{
name: 'srfmajortext',
prop: 'username',
dataType: 'TEXT',
},
{
name: 'srfdataaccaction',
prop: 'logid',
dataType: 'TEXT',
},
{
name: 'srfkey',
prop: 'logid',
dataType: 'TEXT',
},
{
name: 'sys_authlog',
prop: 'logid',
},
{
name: 'n_username_like',
prop: 'n_username_like',
dataType: 'TEXT',
},
{
name: 'n_personname_like',
prop: 'n_personname_like',
dataType: 'TEXT',
},
{
name: 'n_authcode_eq',
prop: 'n_authcode_eq',
dataType: 'SSCODELIST',
},
{
name: 'n_authtime_gtandeq',
prop: 'n_authtime_gtandeq',
dataType: 'DATETIME',
},
{
name: 'n_authtime_ltandeq',
prop: 'n_authtime_ltandeq',
dataType: 'DATETIME',
},
{
name: 'n_domain_like',
prop: 'n_domain_like',
dataType: 'TEXT',
},
{
name:'size',
prop:'size'
},
{
name:'query',
prop:'query'
},
{
name:'page',
prop:'page'
},
{
name:'sort',
prop:'sort'
},
{
name:'srfparentdata',
prop:'srfparentdata'
},
// 前端新增修改标识,新增为"0",修改为"1"或未设值
{
name: 'srffrontuf',
prop: 'srffrontuf',
dataType: 'TEXT',
},
]
}
}
}
\ No newline at end of file
.grid {
flex-grow: 1;
height: 100%;
overflow: auto;
.el-table__body-wrapper::-webkit-scrollbar {
/*滚动条整体样式*/
width : 10px !important; /*高宽分别对应横竖滚动条的尺寸*/
height: 10px !important;
}
.el-table__body-wrapper::-webkit-scrollbar-thumb {
/*滚动条颜色*/
border-radius : 10px !important;
background-color: #cecece !important;
}
.el-table__body-wrapper::-webkit-scrollbar-track {
/*滚动条里面轨道*/
box-shadow : inset 0 0 5px rgba(0, 0, 0, 0.2) !important;
background : #ededed !important;
border-radius: 10px !important;
}
/*表格文字过长省略*/
.el-table th>.cell, .el-table td>.cell{
white-space: nowrap;
text-overflow: ellipsis;
overflow: hidden;
word-break: break-all;
}
.app-column-link, .app-format-data{
display: inline;
}
.el-table {
.quick-toolbar{
display: inline-block;
button{
background: #ebf3fb;
color: #2575ca;
border: 0;
}
}
.el-tooltip{
.ivu-form-item{
margin-bottom: unset !important;
}
}
}
.grid-pagination {
height: 50px;
padding: 6px 0px;
.page-button {
button {
padding: 0;
font-size: 16px;
min-width: 32px;
height: 32px;
margin-right: 4px;
}
}
.page-column {
position: absolute;
left: 0;
}
.batch-toolbar{
position: absolute;
left: 105px;
>.toolbar-container{
button {
font-size: 16px;
min-width: 32px;
height: 32px;
margin-right: 4px;
margin-top: 0;
margin-bottom: 0;
}
}
}
}
.el-table__body-wrapper{
height: calc(100% - 45px) !important;
}
}
.ivu-modal-content{
.footer{
.ivu-row{
text-align: right;
}
}
}
// this is less
<script lang='tsx'>
import { Component } from 'vue-property-decorator';
import MainBase from './main-grid-base.vue';
@Component({
components: {
}
})
export default class Main extends MainBase {
}
</script>
\ No newline at end of file
......@@ -37,11 +37,6 @@
git clone -b master $para2 ibzuaa/
export NODE_OPTIONS=--max-old-space-size=4096
cd ibzuaa/
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>
......
......@@ -9,6 +9,6 @@ CMD echo "The application will start in ${IBZ_SLEEP}s..." && \
sleep ${IBZ_SLEEP} && \
java ${JAVA_OPTS} -Djava.security.egd=file:/dev/./urandom -jar /ibzuaa-app-web.jar
EXPOSE 30002
EXPOSE 8080
ADD ibzuaa-app-web.jar /ibzuaa-app-web.jar
......@@ -3,23 +3,9 @@ services:
ibzuaa-app-web:
image: registry.cn-shanghai.aliyuncs.com/ibizsys/ibzuaa-app-web:latest
ports:
- "30002:30002"
- "8080:8080"
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=2
deploy:
mode: replicated
replicas: 1
......
......@@ -2,7 +2,7 @@
<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
<!--输出实体[SYS_AUTHLOG]数据结构 -->
<changeSet author="a_A_5d9d78509" id="tab-sys_authlog-31-1">
<changeSet author="a_A_5d9d78509" id="tab-sys_authlog-34-1">
<createTable tableName="IBZAUTHLOG">
<column name="LOGID" remarks="" type="VARCHAR(100)">
<constraints primaryKey="true" primaryKeyName="PK_SYS_AUTHLOG_LOGID"/>
......
......@@ -72,7 +72,7 @@
{
"appid":"web",
"appname":"UAA鉴权",
"appmenu":[{"menuid":"Main", "menuname":"MAIN", "menuitem":[{ "id":"menuitem3" , "name":"用户" },{ "id":"menuitem6" , "name":"角色" }] }]
"appmenu":[{"menuid":"Main", "menuname":"MAIN", "menuitem":[{ "id":"menuitem3" , "name":"用户" },{ "id":"menuitem6" , "name":"角色" },{ "id":"menuitem1" , "name":"认证日志" }] }]
}
]
}
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册