Merge remote-tracking branch 'origin/main' into main

This commit is contained in:
wangjiahao 2021-06-24 13:49:15 +08:00
commit 076a66ed96
7 changed files with 88 additions and 47 deletions

View File

@ -2,7 +2,7 @@
<h3 align="center">人人可用的开源数据可视化分析工具</h3>
<p align="center">
<a href="https://www.gnu.org/licenses/old-licenses/gpl-2.0"><img src="https://img.shields.io/github/license/dataease/dataease?color=%231890FF&style=flat-square" alt="License: GPL v2"></a>
<a href="https://app.codacy.com/gh/metersphere/metersphere?utm_source=github.com&utm_medium=referral&utm_content=metersphere/metersphere&utm_campaign=Badge_Grade_Dashboard"><img src="https://api.codacy.com/project/badge/Grade/176186d132df448b955f8bdd5e6ef9c0" alt="Codacy"></a>
<a href="https://app.codacy.com/gh/dataease/dataease?utm_source=github.com&utm_medium=referral&utm_content=dataease/dataease&utm_campaign=Badge_Grade_Dashboard"><img src="https://app.codacy.com/project/badge/Grade/da67574fd82b473992781d1386b937ef" alt="Codacy"></a>
<a href="https://github.com/dataease/dataease/releases/latest"><img src="https://img.shields.io/github/v/release/dataease/dataease" alt="Latest release"></a>
<a href="https://github.com/dataease/dataease"><img src="https://img.shields.io/github/stars/dataease/dataease?color=%231890FF&style=flat-square" alt="Stars"></a>
<a href="https://github.com/dataease/dataease/releases/latest"><img src="https://img.shields.io/github/downloads/dataease/dataease/total" alt="Downloads"></a>
@ -12,17 +12,17 @@ DataEase 是开源的数据可视化分析工具,帮助用户快速分析数
### DataEase 的功能:
- 图表展示:支持 PC 端、移动端及大屏;
- 图表制作:支持丰富的图表类型(基于 Apache ECharts 实现)、支持拖拉拽方式快速制作仪表板;
- 数据引擎:支持直连模式、本地模式(基于 Apache Doris / Kettle 实现);
- 数据连接支持关系型数据库、Excel 等文件、Hadoop 等大数据平台、NoSQL 等各种数据源。
- 图表展示:支持 PC 端、移动端及大屏;
- 图表制作:支持丰富的图表类型(基于 Apache ECharts 实现)、支持拖拉拽方式快速制作仪表板;
- 数据引擎:支持直连模式、本地模式(基于 Apache Doris / Kettle 实现);
- 数据连接支持关系型数据库、Excel 等文件、Hadoop 等大数据平台、NoSQL 等各种数据源。
### DataEase 的优势:
- 开源开放:零门槛,线上快速获取和安装;快速获取用户反馈、按月发布新版本;
- 简单易用:极易上手,通过鼠标点击和拖拽即可完成分析;
- 秒级响应:集成 Apache Doris超大数据量下秒级查询返回延时
- 安全分享:支持多种数据分享方式,确保数据安全。
- 开源开放:零门槛,线上快速获取和安装;快速获取用户反馈、按月发布新版本;
- 简单易用:极易上手,通过鼠标点击和拖拽即可完成分析;
- 秒级响应:集成 Apache Doris超大数据量下秒级查询返回延时
- 安全分享:支持多种数据分享方式,确保数据安全。
## UI 展示
@ -49,8 +49,8 @@ DataEase 是开源的数据可视化分析工具,帮助用户快速分析数
curl -sSL https://github.com/dataease/dataease/releases/latest/download/quick_start.sh | sh
```
- [在线文档](https://dataease.io/docs/)
- [演示视频](https://dataease.oss-cn-hangzhou.aliyuncs.com/video/de-v1-demo.mp4)
- [在线文档](https://dataease.io/docs/)
- [演示视频](https://dataease.oss-cn-hangzhou.aliyuncs.com/video/de-v1-demo.mp4)
## 微信群

View File

@ -47,7 +47,9 @@ module.exports = {
'curly': [2, 'multi-line'],
'dot-location': [2, 'property'],
'eol-last': 2,
'eqeqeq': ["error", "always", {"null": "ignore"}],
'eqeqeq': ["error", "always", {
"null": "ignore"
}],
'generator-star-spacing': [2, {
'before': true,
'after': true

View File

@ -1495,9 +1495,9 @@ export default {
addEvent(window, 'resize', this.checkParentSize)
},
createdFunction() {
// eslint-disable-next-line propminWidthmaxWidth
// minWidthmaxWidth
if (this.maxWidth && this.minWidth > this.maxWidth) console.warn('[Vdr warn]: Invalid prop: minWidth cannot be greater than maxWidth')
// eslint-disable-next-line propminHeightmaxHeight'
// minHeightmaxHeight
if (this.maxWidth && this.minHeight > this.maxHeight) console.warn('[Vdr warn]: Invalid prop: minHeight cannot be greater than maxHeight')
this.elmX = 0
this.elmY = 0

View File

@ -871,6 +871,13 @@ export default {
input_limit_2_25: '2-25 chars',
input_limit_0_50: '0-50 chars'
},
pblink: {
key_pwd: 'Please enter the password to open the link',
input_placeholder: 'Please enter the 4-digit password',
pwd_error: 'Wrong password',
pwd_format_error: 'Please enter the 4-digit password',
sure_bt: 'Confirm'
},
panel: {
no_auth_role: 'Unshared roles',
auth_role: 'Shared roles',

View File

@ -871,6 +871,13 @@ export default {
input_limit_2_25: '2-25字符',
input_limit_0_50: '0-50字符'
},
pblink: {
key_pwd: '請輸入密碼打開鏈接',
input_placeholder: '請輸入4位數字密碼',
pwd_error: '密碼錯誤',
pwd_format_error: '請輸入4位數字密碼',
sure_bt: '確定'
},
panel: {
no_auth_role: '未分享角色',
auth_role: '已分享角色',

View File

@ -871,6 +871,13 @@ export default {
input_limit_2_25: '2-25字符',
input_limit_0_50: '0-50字符'
},
pblink: {
key_pwd: '请输入密码打开链接',
input_placeholder: '请输入4位数字密码',
pwd_error: '密码错误',
pwd_format_error: '请输入4位数字密码',
sure_bt: '确定'
},
panel: {
no_auth_role: '未分享角色',
auth_role: '已分享角色',

View File

@ -5,14 +5,18 @@
<div class="span-header">
<div class="bi-text">
请输入密码打开链接
{{ $t('pblink.key_pwd') }}
</div>
</div>
<div class="input-layout">
<div class="input-main">
<div class="div-input">
<el-input v-model="pwd" class="real-input" />
<el-form ref="pwdForm" :model="form" :rules="rule" size="small">
<el-form-item prop="password">
<el-input v-model="form.password" maxlength="4" show-password class="real-input" :placeholder="$t('pblink.input_placeholder')" />
</el-form-item>
</el-form>
</div>
</div>
<div class="abs-input">
@ -22,7 +26,7 @@
<div class="auth-root-class">
<span slot="footer">
<el-button size="mini" type="primary" @click="refresh">确定</el-button>
<el-button size="mini" type="primary" @click="refresh">{{ $t('pblink.sure_bt') }}</el-button>
</span>
</div>
</div>
@ -45,24 +49,38 @@ export default {
},
data() {
return {
pwd: null,
msg: null
msg: null,
form: { password: null },
rule: {
password: [
{ required: true, message: this.$t('pblink.key_pwd'), trigger: 'blur' },
{
required: true,
pattern: /^\d{4}$/,
message: this.$t('pblink.pwd_format_error'),
trigger: 'blur'
}
]
}
}
},
methods: {
// LINK-PWD-TOKEN=entrypt(pwd)
refresh() {
const param = {
password: encrypt(this.pwd),
resourceId: this.resourceId
}
validatePwd(param).then(res => {
if (!res.data) {
this.msg = '密码错误'
} else {
window.location.reload()
this.$refs.pwdForm.validate(valid => {
if (!valid) return false
const param = {
password: encrypt(this.form.password),
resourceId: this.resourceId
}
validatePwd(param).then(res => {
if (!res.data) {
this.msg = this.$t('pblink.pwd_error')
} else {
window.location.reload()
}
})
})
}
}
@ -145,25 +163,25 @@ export default {
display: block;
}
.input-layout{
width: 152px;
width: 200px;
position: relative;
margin: 0px auto;
padding: 0;
display: block;
}
.input-main {
width: 150px;
height: 30px;
width: 192px;
height: 35px;
position: relative;
margin-top: 30px;
border: 1px solid #e8eaed;
display: block;
}
.div-input {
inset: 2px 4px;
position: absolute;
display: block;
}
// .div-input {
// inset: 2px 4px;
// position: absolute;
// display: block;
// }
.abs-input {
height: 20px;
position: relative;
@ -183,18 +201,18 @@ export default {
color: #E65251;
box-sizing: border-box;
}
.real-input {
width: 100%;
height: 100%;
border: none;
outline: none;
padding: 0px;
margin: 0px;
inset: 0px;
position: absolute;
display: block;
// .real-input {
// width: 100%;
// height: 100%;
// border: none;
// outline: none;
// padding: 0px;
// margin: 0px;
// inset: 0px;
// position: absolute;
// display: block;
}
// }
.auth-root-class {
margin: 15px 0px 5px;
text-align: center;