chore: sync Saber3.2.0

master
ssc 2 years ago
parent 66f97e0675
commit 854e0b7515
  1. BIN
      .git.zip
  2. 12
      README.md
  3. 2
      package.json
  4. 9
      public/cdn/avue/2.10.10/avue.min.js
  5. 1
      public/cdn/avue/2.10.10/index.css
  6. 9
      public/cdn/avue/2.10.16/avue.min.js
  7. 1
      public/cdn/avue/2.10.16/index.css
  8. 8
      public/index.html
  9. 15
      src/api/desk/notice.js
  10. 2
      src/components/third-register/main.vue
  11. 2
      src/const/tool/model.js
  12. 2
      src/mock/menu.js
  13. 2
      src/page/login/userlogin.vue
  14. 12
      src/router/axios.js
  15. 4
      src/util/auth.js
  16. 4
      src/views/resource/oss.vue
  17. 6
      src/views/tool/code.vue
  18. 1
      src/views/tool/model.vue
  19. 74
      src/views/wel/index.vue
  20. 4
      vue.config.js

Binary file not shown.

@ -1,20 +1,20 @@
## 版权声明
* BladeX是一个商业化软件,系列产品知识产权归**上海布雷德科技有限公司**独立所有
* 您一旦开始复制、下载、安装或者使用本产品,即被视为完全理解并接受本协议的各项条款
* 更多详情请看:[BladeX商业授权许可协议](/LICENSE)
* 更多详情请看:[BladeX商业授权许可协议](https://license.bladex.cn)
## 答疑流程
>1. 遇到问题或Bug
>2. 业务型问题打断点调试尝试找出问题所在
>3. 系统型问题通过百度、谷歌、社区查找解决方案
>4. 未解决问题则进入技术社区进行发帖提问:[https://sns.bladex.vip/](https://sns.bladex.vip/)
>4. 未解决问题则进入技术社区进行发帖提问:[https://sns.bladex.cn](https://sns.bladex.cn)
>5. 将帖子地址发至商业群,特别简单三言两语就能描述清楚的也可在答疑时间内发至商业群提问
>6. 发帖的时候一定要描述清楚,详细描述遇到问题的**重现步骤**、**报错详细信息**、**相关代码与逻辑**、**使用软件版本**以及**操作系统版本**,否则随意发帖提问将会提高我们的答疑难度。
## 答疑时间
* 工作日:9:00 ~ 17:00 提供答疑,周末、节假日休息,暂停答疑
* 请勿**私聊提问**,以免被其他用户的消息覆盖从而无法获得答疑
* 答疑时间外遇到问题可以将问题发帖至[技术社区](https://sns.bladex.vip/),我们后续会逐个回复
* 答疑时间外遇到问题可以将问题发帖至[技术社区](https://sns.bladex.cn),我们后续会逐个回复
## 授权范围
* 专业版:只可用于**个人学习**及**个人私活**项目,不可用于公司或团队,不可泄露给任何第三方
@ -22,9 +22,9 @@
* 共同遵守:若甲方需要您提供项目源码,则需代为甲方购买BladeX企业授权,甲方购买后续的所有项目都无需再次购买授权
## 商用权益
* ✔ 遵守[商业协议](/LICENSE)的前提下,将BladeX系列产品用于授权范围内的商用项目,并上线运营
* ✔ 遵守[商业协议](/LICENSE)的前提下,不限制项目数,不限制服务器数
* ✔ 遵守[商业协议](/LICENSE)的前提下,将自行编写的业务代码申请软件著作权
* ✔ 遵守[商业协议](https://license.bladex.cn)的前提下,将BladeX系列产品用于授权范围内的商用项目,并上线运营
* ✔ 遵守[商业协议](https://license.bladex.cn)的前提下,不限制项目数,不限制服务器数
* ✔ 遵守[商业协议](https://license.bladex.cn)的前提下,将自行编写的业务代码申请软件著作权
## 何为侵权
* ❌ 不遵守商业协议,私自销售商业源码

@ -1,6 +1,6 @@
{
"name": "saber-admin",
"version": "3.1.0",
"version": "3.2.0",
"private": true,
"scripts": {
"serve": "vue-cli-service serve",

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

@ -15,7 +15,7 @@
<link rel="stylesheet" href="<%= BASE_URL %>cdn/iconfont/index.css">
<link rel="stylesheet" href="<%= BASE_URL %>cdn/iconfont/avue/iconfont.css">
<link rel="stylesheet" href="<%= BASE_URL %>cdn/iconfont/saber/iconfont.css">
<link rel="stylesheet" href="<%= BASE_URL %>cdn/avue/2.10.10/index.css">
<link rel="stylesheet" href="<%= BASE_URL %>cdn/avue/2.10.16/index.css">
<script src="<%= BASE_URL %>cdn/xlsx/FileSaver.min.js"></script>
<script src="<%= BASE_URL %>cdn/xlsx/xlsx.full.min.js"></script>
<link rel="icon" href="<%= BASE_URL %>favicon.png">
@ -96,8 +96,8 @@
</div>
</div>
<div class="avue-home__footer">
<a href="https://bladex.vip" target="_blank">
https://bladex.vip </a>
<a href="https://bladex.cn" target="_blank">
https://bladex.cn </a>
</div>
</div>
</div>
@ -108,7 +108,7 @@
<script src="<%= BASE_URL %>cdn/vue-router/3.0.1/vue-router.min.js" charset="utf-8"></script>
<script src="<%= BASE_URL %>cdn/axios/1.0.0/axios.min.js" charset="utf-8"></script>
<script src="<%= BASE_URL %>cdn/element-ui/2.15.6/index.js" charset="utf-8"></script>
<script src="<%= BASE_URL %>cdn/avue/2.10.10/avue.min.js" charset="utf-8"></script>
<script src="<%= BASE_URL %>cdn/avue/2.10.16/avue.min.js" charset="utf-8"></script>
<script src="<%= BASE_URL %>cdn/nutflow/wf-design-base/index.umd.min.js" charset="utf-8"></script>
<script src="<%= BASE_URL %>cdn/avue-form-design/index.umd.min.js" charset="utf-8"></script>
<script src="<%= BASE_URL %>cdn/wf-design/index.umd.min.js" charset="utf-8"></script>

@ -8,7 +8,8 @@ export const getList = (current, size, params) => {
...params,
current,
size,
}
},
cryptoToken: true
})
}
@ -18,7 +19,8 @@ export const remove = (ids) => {
method: 'post',
params: {
ids,
}
},
cryptoToken: true
})
}
@ -26,7 +28,8 @@ export const add = (row) => {
return request({
url: '/api/blade-desk/notice/submit',
method: 'post',
data: row
data: row,
cryptoToken: true
})
}
@ -34,7 +37,8 @@ export const update = (row) => {
return request({
url: '/api/blade-desk/notice/submit',
method: 'post',
data: row
data: row,
cryptoToken: true
})
}
@ -44,7 +48,8 @@ export const getNotice = (id) => {
method: 'get',
params: {
id
}
},
cryptoToken: true
})
}

@ -108,7 +108,7 @@
getTenant() {
let domain = getTopUrl();
// 便
//domain = "https://bladex.vip";
//domain = "https://bladex.cn";
info(domain).then(res => {
const data = res.data;
if (data.success && data.data.tenantId) {

@ -248,7 +248,7 @@ export const optionModel = {
cell: true,
}, {
label: '字段说明',
prop: 'comment',
prop: 'jdbcComment',
cell: true,
}, {
label: '列表显示',

@ -15,7 +15,7 @@ const top = [{
meta: {
i18n: 'website',
},
path: "https://bladex.vip/#/",
path: "https://bladex.cn/#/",
parentId: 1
},
{

@ -251,7 +251,7 @@
getTenant() {
let domain = getTopUrl();
// 便
//domain = "https://bladex.vip";
//domain = "https://bladex.cn";
info(domain).then(res => {
const data = res.data;
if (data.success && data.data.tenantId) {

@ -17,6 +17,7 @@ import {Base64} from 'js-base64';
import { baseUrl } from '@/config/env';
import NProgress from 'nprogress';
import 'nprogress/nprogress.css';
import crypto from '@/util/crypto';
//默认超时时间
axios.defaults.timeout = 10000;
@ -43,11 +44,16 @@ axios.interceptors.request.use(config => {
if (!authorization) {
config.headers['Authorization'] = `Basic ${Base64.encode(`${website.clientId}:${website.clientSecret}`)}`;
}
//让每个请求携带token
//headers判断请求是否携带token
const meta = (config.meta || {});
const isToken = meta.isToken === false;
if (getToken() && !isToken) {
config.headers[website.tokenHeader] = 'bearer ' + getToken()
//headers传递token是否加密
const cryptoToken = config.cryptoToken === true;
const token = getToken();
if (token && !isToken) {
config.headers[website.tokenHeader] = cryptoToken
? 'crypto ' + crypto.encrypt(token)
: 'bearer ' + token;
}
//headers中配置text请求
if (config.text === true) {

@ -1,6 +1,8 @@
import Cookies from 'js-cookie'
const TokenKey = 'saber-access-token'
const RefreshTokenKey = 'saber-refresh-token'
const SessionId = 'JSESSIONID';
const UserId = 'b-user-id';
export function getToken() {
return Cookies.get(TokenKey)
}
@ -18,6 +20,8 @@ export function setRefreshToken(token) {
}
export function removeToken() {
Cookies.remove(SessionId);
Cookies.remove(UserId);
return Cookies.remove(TokenKey)
}

@ -97,7 +97,7 @@
type: "radio",
value: 1,
span: 24,
width: 100,
width: 120,
searchLabelWidth: 50,
row: true,
dicUrl: "/api/blade-system/dict/dictionary?code=oss",
@ -244,7 +244,7 @@
item.display = category === 4;
}
if (item.prop === "region") {
item.display = category === 4;
item.display = category === 4 || category === 5;
}
});
},

@ -247,7 +247,7 @@
type: "select",
dicData: [],
props: {
label: "comment",
label: "jdbcComment",
value: "jdbcName"
},
display: false,
@ -259,7 +259,7 @@
type: "select",
dicData: [],
props: {
label: "comment",
label: "jdbcComment",
value: "jdbcName"
},
display: false,
@ -271,7 +271,7 @@
type: "select",
dicData: [],
props: {
label: "comment",
label: "jdbcComment",
value: "jdbcName"
},
display: false,

@ -296,6 +296,7 @@ export default {
if (!validatenull(item.name)) {
item.jdbcName = item.name;
item.jdbcType = item.propertyType;
item.jdbcComment = item.comment;
if (item.propertyType === "LocalDateTime") {
item.propertyType = "Date";
item.propertyEntity = "java.util.Date";

@ -9,14 +9,14 @@
<el-col :span="24">
<basic-container>
<p style="text-align: center">
<img src="https://img.shields.io/badge/Release-V3.1.0-green.svg" alt="Downloads"/>
<img src="https://img.shields.io/badge/Release-V3.2.0-green.svg" alt="Downloads"/>
<img src="https://img.shields.io/badge/JDK-1.8+-green.svg" alt="Build Status"/>
<img src="https://img.shields.io/badge/Spring%20Cloud-2021-blue.svg" alt="Coverage Status"/>
<img src="https://img.shields.io/badge/Spring%20Boot-2.7-blue.svg" alt="Downloads"/>
<a target="_blank" href="https://bladex.vip">
<a target="_blank" href="https://bladex.cn">
<img src="https://img.shields.io/badge/Saber%20Author-Small%20Chill-ff69b4.svg" alt="Downloads"/>
</a>
<a target="_blank" href="https://bladex.vip">
<a target="_blank" href="https://bladex.cn">
<img src="https://img.shields.io/badge/Copyright%20-@BladeX-%23ff3f59.svg" alt="Downloads"/>
</a>
</p>
@ -40,7 +40,7 @@
<div>3.基于稳定生产的商业项目升级优化而来更加贴近企业级的需求</div>
<div>4.追求企业开发更加高效部署更加方便生产更加稳定</div>
<div>5.GVP-码云最有价值开源项目</div>
<div>6.BladeX授权地址:<a target="_blank" href="https://bladex.vip/#/vip">点击授权</a></div>
<div>6.BladeX授权地址:<a target="_blank" href="https://bladex.cn/#/vip">点击授权</a></div>
</el-collapse-item>
<el-collapse-item title="为何需要BladeX" name="3">
<div>1.经历过较长的线上生产积累了很多企业痛点的解决方案</div>
@ -105,19 +105,19 @@
<el-divider content-position="right"><i class="el-icon-star-off"/></el-divider>
<span>官网地址</span>
<el-divider direction="vertical"/>
<span><el-link href="https://bladex.vip" target="_blank"
type="primary">https://bladex.vip</el-link></span>
<span><el-link href="https://bladex.cn" target="_blank"
type="primary">https://bladex.cn</el-link></span>
<el-divider content-position="right"><i class="el-icon-star-off"/></el-divider>
<span>社区地址</span>
<el-divider direction="vertical"/>
<span><el-link href="https://sns.bladex.vip" target="_blank"
type="primary">https://sns.bladex.vip</el-link></span>
<span><el-link href="https://sns.bladex.cn" target="_blank"
type="primary">https://sns.bladex.cn</el-link></span>
<el-divider content-position="right"><i class="el-icon-star-off"/></el-divider>
<span>获取文档</span>
<el-divider direction="vertical"/>
<span class="tag-group">
<el-tag type="success" style="cursor: pointer"
onclick="window.open('https://sns.bladex.vip/note/view/1.html')">免费版</el-tag>
onclick="window.open('https://sns.bladex.cn/note/view/1.html')">免费版</el-tag>
<el-divider direction="vertical"/>
<el-tooltip class="item" effect="dark" content="前往商业群文件免费下载,每份授权有一个名额入群" placement="top">
<el-tag type="danger" style="cursor: pointer">收费版</el-tag>
@ -131,7 +131,7 @@
onclick="window.open('https://gitee.com/smallc/SpringBlade')">开源版</el-tag>
<el-divider direction="vertical"/>
<el-tag type="danger" effect="dark" style="cursor: pointer"
onclick="window.open('https://bladex.vip/#/vip')">商业版</el-tag>
onclick="window.open('https://bladex.cn/#/vip')">商业版</el-tag>
</span>
</div>
</basic-container>
@ -139,6 +139,55 @@
<el-row>
<basic-container>
<el-collapse v-model="logActiveNames" @change="handleChange">
<el-collapse-item
title="3.2.0.RELEASE发布,新增规则引擎、token加密、skywalking集成"
name="31"
>
<div>1.[升级]SpringCloud 2021.0.8</div>
<div>2.[升级]SpringBoot 2.7.15</div>
<div>3.[升级]Spring 5.3.29</div>
<div>4.[升级]Druid 1.2.19</div>
<div>5.[升级]Mybatis-Plus 3.5.3.2</div>
<div>6.[升级]Avue3 3.2.19</div>
<div>7.[升级]Avue-Plugin 1.0.3</div>
<div>8.[新增]SkyWalking集成</div>
<div>9.[新增]Token加密传输与校验</div>
<div>10.[新增]JwtCrypto工具</div>
<div>11.[新增]LiteFlow规则引擎集成</div>
<div>12.[新增]多租户对象存储改造为规则引擎实现</div>
<div>13.[新增]多租户短信配置改造为规则引擎实现</div>
<div>14.[新增]新租户创建流程改造为规则引擎实现</div>
<div>15.[优化]minio增加URL转换功能支持使用内网地址上传并返回外网地址数据</div>
<div>16.[优化]多租户动态数据源逻辑</div>
<div>17.[修复]saber3编辑器文件上传配置</div>
<div>18.[修复]saber3同路由tab切换不刷新数据的问题</div>
<div>19.[修复]saber3代码生产模版错误语法</div>
<div>20.[提醒]minio由于转变开源协议为AGPLv3,最新开源版已不适用与商业化项目</div>
<div>21.[提醒]minio开源版若需要请下载apache2.0协议的最后一个版本</div>
<div>22.[提醒]minio开源版可用版本:minio-RELEASE.2021-04-22T15-44-28Z</div>
</el-collapse-item>
<el-collapse-item title="3.1.1.RELEASE发布,新增国产崖山数据库支持,升级中央仓库" name="30">
<div>1.[升级]SpringBoot 2.7.11</div>
<div>2.[升级]Druid 1.2.18</div>
<div>3.[新增]新版nexus仓库依赖</div>
<div>4.[新增]docker构建工具更换为fabric</div>
<div>5.[新增]支持国产崖山数据库(YashanDB)</div>
<div>6.[新增]控制台日志增加放行url的特性</div>
<div>7.[新增]单人登录模式新增全平台唯一与单客户端唯一两种选择</div>
<div>8.[新增]signKey生成器</div>
<div>9.[新增]多租户对象存储新增 华为云obs amazon s3</div>
<div>10.[优化]适配腾讯云cos最新API</div>
<div>11.[优化]适配最新版minio接口手动关闭流</div>
<div>12.[优化]代码生成增加查询字段适配</div>
<div>13.[优化]saber3添加prod环境的启动与打包命令</div>
<div>14.[优化]取消Dept模块默认的全局管理员接口权限</div>
<div>15.[优化]SqlKeyword类的防sql注入功能</div>
<div>16.[优化]数据模型字段comment改名为jdbc_comment避免数据库关键词</div>
<div>17.[优化]element风格代码生成增加按钮权限</div>
<div>18.[优化]vue3版代码生成适配新的时间格式</div>
<div>19.[优化]达梦数据库文件修改为脚本文件避免编码不同导入失败</div>
<div>20.[修复]报表管理外链打开问题</div>
</el-collapse-item>
<el-collapse-item title="3.1.0.RELEASE发布,新增vue3、sharding-jdbc、aws s3、redis mq支持" name="29">
<div>1.[升级]SpringCloud 2021.0.6</div>
<div>2.[升级]SpringBoot 2.7.10</div>
@ -149,7 +198,8 @@
<div>7.[升级]Nacos 2.1.2</div>
<div>8.[升级]Seata 1.6.1</div>
<div>9.[升级]Knife4j 4.1.0</div>
<div>10.[升级]Avue2 2.10.10</div>
<div>10.[升级]Log4j 2.20.0</div>
<div>11.[升级]Avue2 2.10.10</div>
<div>12.[升级]Avue3 3.2.13</div>
<div>13.[新增]基于Vue3与Element-Plus版本的Saber正式发布</div>
<div>14.[新增]新增Sharding-Jdbc与动态数据源联合demo</div>
@ -824,7 +874,7 @@
data() {
return {
activeNames: ['1', '2', '3', '5'],
logActiveNames: ['29']
logActiveNames: ['31']
};
},
computed: {

@ -26,9 +26,9 @@ module.exports = {
proxy: {
'/api': {
//本地服务接口地址
target: 'http://localhost',
target: 'http://localhost:808',
//远程演示服务地址,可用于直接启动项目
//target: 'https://saber.bladex.vip/api',
//target: 'https://saber.bladex.cn/api',
ws: true,
pathRewrite: {
'^/api': '/'

Loading…
Cancel
Save