mirror of
https://github.com/chillzhuang/Saber.git
synced 2024-12-18 07:09:25 +08:00
🎉 2.4.0.RELEASE
This commit is contained in:
parent
d762826a23
commit
1c3fcd7b7e
14
README.md
14
README.md
@ -1,7 +1,7 @@
|
|||||||
<p align="center">
|
<p align="center">
|
||||||
<img src="https://img.shields.io/badge/license-Apache%202-blue.svg" alt="Build Status">
|
<img src="https://img.shields.io/badge/license-Apache%202-blue.svg" alt="Build Status">
|
||||||
<img src="https://img.shields.io/badge/Spring%20Cloud-Greenwich.SR1-blue.svg" alt="Coverage Status">
|
<img src="https://img.shields.io/badge/Spring%20Cloud-Greenwich.SR2-blue.svg" alt="Coverage Status">
|
||||||
<img src="https://img.shields.io/badge/Spring%20Boot-2.1.5.RELEASE-blue.svg" alt="Downloads">
|
<img src="https://img.shields.io/badge/Spring%20Boot-2.1.6.RELEASE-blue.svg" alt="Downloads">
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
## SpringBlade微服务开发平台
|
## SpringBlade微服务开发平台
|
||||||
@ -68,6 +68,16 @@ SpringBlade
|
|||||||
* 禁止直接将本项目挂淘宝等商业平台出售。
|
* 禁止直接将本项目挂淘宝等商业平台出售。
|
||||||
* 非界面代码50%以上相似度的二次开源,二次开源需先联系作者。
|
* 非界面代码50%以上相似度的二次开源,二次开源需先联系作者。
|
||||||
|
|
||||||
|
## 如何启动
|
||||||
|
```
|
||||||
|
$ git clone https://gitee.com/smallc/Saber.git
|
||||||
|
$ cd Saber
|
||||||
|
# 安装
|
||||||
|
$ yarn install
|
||||||
|
# 启动
|
||||||
|
$ yarn run serve
|
||||||
|
```
|
||||||
|
|
||||||
# 界面
|
# 界面
|
||||||
|
|
||||||
## [BladeX](https://bladex.vip/#/vip) 工作流一览
|
## [BladeX](https://bladex.vip/#/vip) 工作流一览
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "saber-admin",
|
"name": "saber-admin",
|
||||||
"version": "2.0.0",
|
"version": "2.4.0",
|
||||||
"private": true,
|
"private": true,
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"serve": "vue-cli-service serve",
|
"serve": "vue-cli-service serve",
|
||||||
|
@ -21,7 +21,7 @@ export default {
|
|||||||
'<p>若要商用强烈推荐高度定制的商业化框架,具体授权信息请访问如下地址。️</p>' +
|
'<p>若要商用强烈推荐高度定制的商业化框架,具体授权信息请访问如下地址。️</p>' +
|
||||||
'</br>' +
|
'</br>' +
|
||||||
'<p>BladeX 授权地址:<a target="_blank" href="https://bladex.vip/#/vip">点击授权</a></p>' +
|
'<p>BladeX 授权地址:<a target="_blank" href="https://bladex.vip/#/vip">点击授权</a></p>' +
|
||||||
'<p>AvueX 授权地址:<a target="_blank" href="https://avuex.avue.top/#/vip">点击授权</a></p>',
|
'<p>AvueX 授权地址:<a target="_blank" href="https://avue.top/vip">点击授权</a></p>',
|
||||||
duration: 20000,
|
duration: 20000,
|
||||||
type: "success"
|
type: "success"
|
||||||
});
|
});
|
||||||
|
@ -46,12 +46,12 @@ export const getDept = (id) => {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
export const getDeptTree = (tenantCode) => {
|
export const getDeptTree = (tenantId) => {
|
||||||
return request({
|
return request({
|
||||||
url: '/api/blade-system/dept/tree',
|
url: '/api/blade-system/dept/tree',
|
||||||
method: 'get',
|
method: 'get',
|
||||||
params: {
|
params: {
|
||||||
tenantCode,
|
tenantId,
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
@ -66,12 +66,12 @@ export const getRole = (roleIds) => {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
export const getRoleTree = (tenantCode) => {
|
export const getRoleTree = (tenantId) => {
|
||||||
return request({
|
return request({
|
||||||
url: '/api/blade-system/role/tree',
|
url: '/api/blade-system/role/tree',
|
||||||
method: 'get',
|
method: 'get',
|
||||||
params: {
|
params: {
|
||||||
tenantCode,
|
tenantId,
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
import request from '@/router/axios';
|
import request from '@/router/axios';
|
||||||
import {baseUrl} from '@/config/env';
|
import {baseUrl} from '@/config/env';
|
||||||
|
|
||||||
export const loginByUsername = (tenantCode, account, password, type) => request({
|
export const loginByUsername = (tenantId, account, password, type) => request({
|
||||||
url: '/api/blade-auth/token',
|
url: '/api/blade-auth/token',
|
||||||
method: 'post',
|
method: 'post',
|
||||||
params: {
|
params: {
|
||||||
tenantCode,
|
tenantId,
|
||||||
account,
|
account,
|
||||||
password,
|
password,
|
||||||
type
|
type
|
||||||
|
@ -66,7 +66,7 @@ export default {
|
|||||||
login: {
|
login: {
|
||||||
title: 'Login ',
|
title: 'Login ',
|
||||||
info: 'Enterprise Development Platform',
|
info: 'Enterprise Development Platform',
|
||||||
tenantCode: 'Please input tenantCode',
|
tenantId: 'Please input tenantId',
|
||||||
username: 'Please input username',
|
username: 'Please input username',
|
||||||
password: 'Please input a password',
|
password: 'Please input a password',
|
||||||
wechat: 'Wechat',
|
wechat: 'Wechat',
|
||||||
|
@ -66,7 +66,7 @@ export default {
|
|||||||
login: {
|
login: {
|
||||||
title: '登录 ',
|
title: '登录 ',
|
||||||
info: '企业级开发平台',
|
info: '企业级开发平台',
|
||||||
tenantCode: '请输入租户编号',
|
tenantId: '请输入租户ID',
|
||||||
username: '请输入账号',
|
username: '请输入账号',
|
||||||
password: '请输入密码',
|
password: '请输入密码',
|
||||||
wechat: '微信',
|
wechat: '微信',
|
||||||
|
@ -5,12 +5,12 @@
|
|||||||
ref="loginForm"
|
ref="loginForm"
|
||||||
:model="loginForm"
|
:model="loginForm"
|
||||||
label-width="0">
|
label-width="0">
|
||||||
<el-form-item v-if="tenantMode" prop="tenantCode">
|
<el-form-item v-if="tenantMode" prop="tenantId">
|
||||||
<el-input size="small"
|
<el-input size="small"
|
||||||
@keyup.enter.native="handleLogin"
|
@keyup.enter.native="handleLogin"
|
||||||
v-model="loginForm.tenantCode"
|
v-model="loginForm.tenantId"
|
||||||
auto-complete="off"
|
auto-complete="off"
|
||||||
:placeholder="$t('login.tenantCode')">
|
:placeholder="$t('login.tenantId')">
|
||||||
<i slot="prefix"
|
<i slot="prefix"
|
||||||
class="icon-quanxian"></i>
|
class="icon-quanxian"></i>
|
||||||
</el-input>
|
</el-input>
|
||||||
@ -58,14 +58,14 @@
|
|||||||
return {
|
return {
|
||||||
tenantMode: website.tenantMode,
|
tenantMode: website.tenantMode,
|
||||||
loginForm: {
|
loginForm: {
|
||||||
tenantCode: "000000",
|
tenantId: "000000",
|
||||||
username: "admin",
|
username: "admin",
|
||||||
password: "admin",
|
password: "admin",
|
||||||
type: "account"
|
type: "account"
|
||||||
},
|
},
|
||||||
loginRules: {
|
loginRules: {
|
||||||
tenantCode: [
|
tenantId: [
|
||||||
{ required: false, message: "请输入租户编号", trigger: "blur" }
|
{ required: false, message: "请输入租户ID", trigger: "blur" }
|
||||||
],
|
],
|
||||||
username: [
|
username: [
|
||||||
{ required: true, message: "请输入用户名", trigger: "blur" }
|
{ required: true, message: "请输入用户名", trigger: "blur" }
|
||||||
|
@ -41,7 +41,7 @@ const user = {
|
|||||||
//根据用户名登录
|
//根据用户名登录
|
||||||
LoginByUsername({ commit }, userInfo) {
|
LoginByUsername({ commit }, userInfo) {
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
loginByUsername(userInfo.tenantCode, userInfo.username, userInfo.password, userInfo.type).then(res => {
|
loginByUsername(userInfo.tenantId, userInfo.username, userInfo.password, userInfo.type).then(res => {
|
||||||
const data = res.data.data;
|
const data = res.data.data;
|
||||||
commit('SET_TOKEN', data.accessToken);
|
commit('SET_TOKEN', data.accessToken);
|
||||||
commit('SET_USERIFNO', data);
|
commit('SET_USERIFNO', data);
|
||||||
|
@ -64,7 +64,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: "所属租户",
|
label: "所属租户",
|
||||||
prop: "tenantCode",
|
prop: "tenantId",
|
||||||
type: "tree",
|
type: "tree",
|
||||||
dicUrl: "/api/blade-system/tenant/select",
|
dicUrl: "/api/blade-system/tenant/select",
|
||||||
addDisplay: false,
|
addDisplay: false,
|
||||||
@ -73,7 +73,7 @@
|
|||||||
span: 24,
|
span: 24,
|
||||||
props: {
|
props: {
|
||||||
label: "tenantName",
|
label: "tenantName",
|
||||||
value: "tenantCode"
|
value: "tenantId"
|
||||||
},
|
},
|
||||||
hide: !website.tenantMode,
|
hide: !website.tenantMode,
|
||||||
search: website.tenantMode,
|
search: website.tenantMode,
|
||||||
|
@ -97,7 +97,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: "所属租户",
|
label: "所属租户",
|
||||||
prop: "tenantCode",
|
prop: "tenantId",
|
||||||
type: "tree",
|
type: "tree",
|
||||||
dicUrl: "/api/blade-system/tenant/select",
|
dicUrl: "/api/blade-system/tenant/select",
|
||||||
addDisplay: false,
|
addDisplay: false,
|
||||||
@ -106,7 +106,7 @@
|
|||||||
span: 24,
|
span: 24,
|
||||||
props: {
|
props: {
|
||||||
label: "tenantName",
|
label: "tenantName",
|
||||||
value: "tenantCode"
|
value: "tenantId"
|
||||||
},
|
},
|
||||||
hide: !website.tenantMode,
|
hide: !website.tenantMode,
|
||||||
search: website.tenantMode,
|
search: website.tenantMode,
|
||||||
|
@ -53,15 +53,15 @@
|
|||||||
dialogHeight: 400,
|
dialogHeight: 400,
|
||||||
column: [
|
column: [
|
||||||
{
|
{
|
||||||
label: "租户编号",
|
label: "租户ID",
|
||||||
prop: "tenantCode",
|
prop: "tenantId",
|
||||||
search: true,
|
search: true,
|
||||||
addDisplay: false,
|
addDisplay: false,
|
||||||
editDisplay: false,
|
editDisplay: false,
|
||||||
span: 24,
|
span: 24,
|
||||||
rules: [{
|
rules: [{
|
||||||
required: true,
|
required: true,
|
||||||
message: "请输入租户编号",
|
message: "请输入租户ID",
|
||||||
trigger: "blur"
|
trigger: "blur"
|
||||||
}]
|
}]
|
||||||
},
|
},
|
||||||
|
@ -110,12 +110,12 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: "所属租户",
|
label: "所属租户",
|
||||||
prop: "tenantCode",
|
prop: "tenantId",
|
||||||
type: "tree",
|
type: "tree",
|
||||||
dicUrl: "/api/blade-system/tenant/select",
|
dicUrl: "/api/blade-system/tenant/select",
|
||||||
props: {
|
props: {
|
||||||
label: "tenantName",
|
label: "tenantName",
|
||||||
value: "tenantCode"
|
value: "tenantId"
|
||||||
},
|
},
|
||||||
hide: !website.tenantMode,
|
hide: !website.tenantMode,
|
||||||
addDisplay: website.tenantMode,
|
addDisplay: website.tenantMode,
|
||||||
@ -246,13 +246,13 @@
|
|||||||
};
|
};
|
||||||
},
|
},
|
||||||
watch: {
|
watch: {
|
||||||
'form.tenantCode'() {
|
'form.tenantId'() {
|
||||||
if (this.form.tenantCode !== '') {
|
if (this.form.tenantId !== '') {
|
||||||
getDeptTree(this.form.tenantCode).then(res => {
|
getDeptTree(this.form.tenantId).then(res => {
|
||||||
const index = this.$refs.crud.findColumnIndex("deptId");
|
const index = this.$refs.crud.findColumnIndex("deptId");
|
||||||
this.option.column[index].dicData = res.data.data;
|
this.option.column[index].dicData = res.data.data;
|
||||||
});
|
});
|
||||||
getRoleTree(this.form.tenantCode).then(res => {
|
getRoleTree(this.form.tenantId).then(res => {
|
||||||
const index = this.$refs.crud.findColumnIndex("roleId");
|
const index = this.$refs.crud.findColumnIndex("roleId");
|
||||||
this.option.column[index].dicData = res.data.data;
|
this.option.column[index].dicData = res.data.data;
|
||||||
});
|
});
|
||||||
@ -407,11 +407,11 @@
|
|||||||
this.page.total = data.total;
|
this.page.total = data.total;
|
||||||
this.data = data.records;
|
this.data = data.records;
|
||||||
});
|
});
|
||||||
getDeptTree(this.form.tenantCode).then(res => {
|
getDeptTree(this.form.tenantId).then(res => {
|
||||||
const index = this.$refs.crud.findColumnIndex("deptId");
|
const index = this.$refs.crud.findColumnIndex("deptId");
|
||||||
this.option.column[index].dicData = res.data.data;
|
this.option.column[index].dicData = res.data.data;
|
||||||
});
|
});
|
||||||
getRoleTree(this.form.tenantCode).then(res => {
|
getRoleTree(this.form.tenantId).then(res => {
|
||||||
const index = this.$refs.crud.findColumnIndex("roleId");
|
const index = this.$refs.crud.findColumnIndex("roleId");
|
||||||
this.option.column[index].dicData = res.data.data;
|
this.option.column[index].dicData = res.data.data;
|
||||||
});
|
});
|
||||||
|
Loading…
Reference in New Issue
Block a user