Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
D
dataease
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
njgzx
dataease
Commits
a79a96f4
提交
a79a96f4
authored
12月 19, 2021
作者:
taojinlong
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
feat: 公共链接支持行权限
上级
2b18d64c
显示空白字符变更
内嵌
并排
正在显示
30 个修改的文件
包含
293 行增加
和
118 行删除
+293
-118
F2CLinkFilter.java
.../src/main/java/io/dataease/auth/filter/F2CLinkFilter.java
+4
-6
JWTUtils.java
backend/src/main/java/io/dataease/auth/util/JWTUtils.java
+13
-5
LinkUtil.java
backend/src/main/java/io/dataease/auth/util/LinkUtil.java
+2
-2
PanelLink.java
backend/src/main/java/io/dataease/base/domain/PanelLink.java
+3
-0
PanelLinkExample.java
...c/main/java/io/dataease/base/domain/PanelLinkExample.java
+60
-0
PanelLinkMapping.java
...c/main/java/io/dataease/base/domain/PanelLinkMapping.java
+3
-0
PanelLinkMappingExample.java
...java/io/dataease/base/domain/PanelLinkMappingExample.java
+60
-0
PanelLinkMapper.java
...rc/main/java/io/dataease/base/mapper/PanelLinkMapper.java
+0
-9
PanelLinkMapper.xml
...src/main/java/io/dataease/base/mapper/PanelLinkMapper.xml
+18
-42
PanelLinkMappingMapper.xml
...n/java/io/dataease/base/mapper/PanelLinkMappingMapper.xml
+23
-5
ExtPanelLinkMapper.xml
...n/java/io/dataease/base/mapper/ext/ExtPanelLinkMapper.xml
+1
-1
LinkApi.java
...c/main/java/io/dataease/controller/panel/api/LinkApi.java
+1
-2
LinkServer.java
.../java/io/dataease/controller/panel/server/LinkServer.java
+1
-1
ChartExtRequest.java
...io/dataease/controller/request/chart/ChartExtRequest.java
+3
-0
LinkValidateRequest.java
...se/controller/request/panel/link/LinkValidateRequest.java
+1
-0
OverTimeRequest.java
...taease/controller/request/panel/link/OverTimeRequest.java
+3
-0
PasswordRequest.java
...taease/controller/request/panel/link/PasswordRequest.java
+2
-0
ChartViewService.java
...main/java/io/dataease/service/chart/ChartViewService.java
+1
-1
DataSetTableService.java
...java/io/dataease/service/dataset/DataSetTableService.java
+5
-6
DirectFieldService.java
...aease/service/dataset/impl/direct/DirectFieldService.java
+1
-1
PanelLinkService.java
...main/java/io/dataease/service/panel/PanelLinkService.java
+53
-22
V29__de1.6.sql
backend/src/main/resources/db/migration/V29__de1.6.sql
+7
-0
generatorConfig.xml
backend/src/main/resources/generatorConfig.xml
+1
-2
link.html
frontend/public/link.html
+4
-1
index.js
frontend/src/api/link/index.js
+1
-1
UserView.vue
frontend/src/components/canvas/custom-component/UserView.vue
+1
-0
index.js
frontend/src/utils/index.js
+2
-1
index.vue
frontend/src/views/link/index.vue
+10
-6
index.vue
frontend/src/views/link/pwd/index.vue
+5
-4
index.vue
frontend/src/views/link/view/index.vue
+4
-0
没有找到文件。
backend/src/main/java/io/dataease/auth/filter/F2CLinkFilter.java
浏览文件 @
a79a96f4
...
@@ -9,8 +9,6 @@ import io.dataease.auth.util.LinkUtil;
...
@@ -9,8 +9,6 @@ import io.dataease.auth.util.LinkUtil;
import
io.dataease.base.domain.PanelLink
;
import
io.dataease.base.domain.PanelLink
;
import
io.dataease.commons.utils.LogUtil
;
import
io.dataease.commons.utils.LogUtil
;
import
org.apache.shiro.web.filter.authc.AnonymousFilter
;
import
org.apache.shiro.web.filter.authc.AnonymousFilter
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
javax.servlet.ServletRequest
;
import
javax.servlet.ServletRequest
;
import
javax.servlet.ServletResponse
;
import
javax.servlet.ServletResponse
;
...
@@ -26,9 +24,9 @@ public class F2CLinkFilter extends AnonymousFilter {
...
@@ -26,9 +24,9 @@ public class F2CLinkFilter extends AnonymousFilter {
HttpServletRequest
req
=
(
HttpServletRequest
)
request
;
HttpServletRequest
req
=
(
HttpServletRequest
)
request
;
String
linkToken
=
req
.
getHeader
(
LINK_TOKEN_KEY
);
String
linkToken
=
req
.
getHeader
(
LINK_TOKEN_KEY
);
DecodedJWT
jwt
=
JWT
.
decode
(
linkToken
);
DecodedJWT
jwt
=
JWT
.
decode
(
linkToken
);
Claim
resourceId
=
jwt
.
getClaim
(
"resourceId"
);
String
resourceId
=
jwt
.
getClaim
(
"resourceId"
).
asString
(
);
String
id
=
resourceId
.
asStri
ng
();
Long
userId
=
jwt
.
getClaim
(
"userId"
).
asLo
ng
();
PanelLink
panelLink
=
LinkUtil
.
queryLink
(
i
d
);
PanelLink
panelLink
=
LinkUtil
.
queryLink
(
resourceId
,
userI
d
);
if
(
ObjectUtil
.
isEmpty
(
panelLink
))
return
false
;
if
(
ObjectUtil
.
isEmpty
(
panelLink
))
return
false
;
String
pwd
;
String
pwd
;
if
(!
panelLink
.
getEnablePwd
())
{
if
(!
panelLink
.
getEnablePwd
())
{
...
@@ -37,7 +35,7 @@ public class F2CLinkFilter extends AnonymousFilter {
...
@@ -37,7 +35,7 @@ public class F2CLinkFilter extends AnonymousFilter {
}
else
{
}
else
{
pwd
=
panelLink
.
getPwd
();
pwd
=
panelLink
.
getPwd
();
}
}
return
JWTUtils
.
verifyLink
(
linkToken
,
i
d
,
pwd
);
return
JWTUtils
.
verifyLink
(
linkToken
,
resourceId
,
userI
d
,
pwd
);
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
LogUtil
.
error
(
e
);
LogUtil
.
error
(
e
);
}
}
...
...
backend/src/main/java/io/dataease/auth/util/JWTUtils.java
浏览文件 @
a79a96f4
...
@@ -126,16 +126,24 @@ public class JWTUtils {
...
@@ -126,16 +126,24 @@ public class JWTUtils {
}
}
}
}
public
static
String
signLink
(
String
resourceId
,
String
secret
)
{
public
static
String
signLink
(
String
resourceId
,
Long
userId
,
String
secret
)
{
Algorithm
algorithm
=
Algorithm
.
HMAC256
(
secret
);
Algorithm
algorithm
=
Algorithm
.
HMAC256
(
secret
);
if
(
userId
==
null
){
return
JWT
.
create
().
withClaim
(
"resourceId"
,
resourceId
).
sign
(
algorithm
);
return
JWT
.
create
().
withClaim
(
"resourceId"
,
resourceId
).
sign
(
algorithm
);
}
else
{
return
JWT
.
create
().
withClaim
(
"resourceId"
,
resourceId
).
withClaim
(
"userId"
,
userId
).
sign
(
algorithm
);
}
}
}
public
static
boolean
verifyLink
(
String
token
,
String
resourceId
,
String
secret
)
{
public
static
boolean
verifyLink
(
String
token
,
String
resourceId
,
Long
userId
,
String
secret
)
{
Algorithm
algorithm
=
Algorithm
.
HMAC256
(
secret
);
Algorithm
algorithm
=
Algorithm
.
HMAC256
(
secret
);
JWTVerifier
verifier
=
JWT
.
require
(
algorithm
)
JWTVerifier
verifier
;
.
withClaim
(
"resourceId"
,
resourceId
)
if
(
userId
==
null
){
.
build
();
verifier
=
JWT
.
require
(
algorithm
).
withClaim
(
"resourceId"
,
resourceId
).
build
();
}
else
{
verifier
=
JWT
.
require
(
algorithm
).
withClaim
(
"resourceId"
,
resourceId
).
withClaim
(
"userId"
,
userId
).
build
();
}
try
{
try
{
verifier
.
verify
(
token
);
verifier
.
verify
(
token
);
return
true
;
return
true
;
...
...
backend/src/main/java/io/dataease/auth/util/LinkUtil.java
浏览文件 @
a79a96f4
...
@@ -16,7 +16,7 @@ public class LinkUtil {
...
@@ -16,7 +16,7 @@ public class LinkUtil {
LinkUtil
.
panelLinkService
=
panelLinkService
;
LinkUtil
.
panelLinkService
=
panelLinkService
;
}
}
public
static
PanelLink
queryLink
(
String
resourceId
)
{
public
static
PanelLink
queryLink
(
String
resourceId
,
Long
user
)
{
return
panelLinkService
.
findOne
(
resourceId
);
return
panelLinkService
.
findOne
(
resourceId
,
user
);
}
}
}
}
backend/src/main/java/io/dataease/base/domain/PanelLink.java
浏览文件 @
a79a96f4
...
@@ -15,5 +15,7 @@ public class PanelLink implements Serializable {
...
@@ -15,5 +15,7 @@ public class PanelLink implements Serializable {
private
Long
overTime
;
private
Long
overTime
;
private
Long
userId
;
private
static
final
long
serialVersionUID
=
1L
;
private
static
final
long
serialVersionUID
=
1L
;
}
}
\ No newline at end of file
backend/src/main/java/io/dataease/base/domain/PanelLinkExample.java
浏览文件 @
a79a96f4
...
@@ -423,6 +423,66 @@ public class PanelLinkExample {
...
@@ -423,6 +423,66 @@ public class PanelLinkExample {
addCriterion
(
"over_time not between"
,
value1
,
value2
,
"overTime"
);
addCriterion
(
"over_time not between"
,
value1
,
value2
,
"overTime"
);
return
(
Criteria
)
this
;
return
(
Criteria
)
this
;
}
}
public
Criteria
andUserIdIsNull
()
{
addCriterion
(
"user_id is null"
);
return
(
Criteria
)
this
;
}
public
Criteria
andUserIdIsNotNull
()
{
addCriterion
(
"user_id is not null"
);
return
(
Criteria
)
this
;
}
public
Criteria
andUserIdEqualTo
(
Long
value
)
{
addCriterion
(
"user_id ="
,
value
,
"userId"
);
return
(
Criteria
)
this
;
}
public
Criteria
andUserIdNotEqualTo
(
Long
value
)
{
addCriterion
(
"user_id <>"
,
value
,
"userId"
);
return
(
Criteria
)
this
;
}
public
Criteria
andUserIdGreaterThan
(
Long
value
)
{
addCriterion
(
"user_id >"
,
value
,
"userId"
);
return
(
Criteria
)
this
;
}
public
Criteria
andUserIdGreaterThanOrEqualTo
(
Long
value
)
{
addCriterion
(
"user_id >="
,
value
,
"userId"
);
return
(
Criteria
)
this
;
}
public
Criteria
andUserIdLessThan
(
Long
value
)
{
addCriterion
(
"user_id <"
,
value
,
"userId"
);
return
(
Criteria
)
this
;
}
public
Criteria
andUserIdLessThanOrEqualTo
(
Long
value
)
{
addCriterion
(
"user_id <="
,
value
,
"userId"
);
return
(
Criteria
)
this
;
}
public
Criteria
andUserIdIn
(
List
<
Long
>
values
)
{
addCriterion
(
"user_id in"
,
values
,
"userId"
);
return
(
Criteria
)
this
;
}
public
Criteria
andUserIdNotIn
(
List
<
Long
>
values
)
{
addCriterion
(
"user_id not in"
,
values
,
"userId"
);
return
(
Criteria
)
this
;
}
public
Criteria
andUserIdBetween
(
Long
value1
,
Long
value2
)
{
addCriterion
(
"user_id between"
,
value1
,
value2
,
"userId"
);
return
(
Criteria
)
this
;
}
public
Criteria
andUserIdNotBetween
(
Long
value1
,
Long
value2
)
{
addCriterion
(
"user_id not between"
,
value1
,
value2
,
"userId"
);
return
(
Criteria
)
this
;
}
}
}
public
static
class
Criteria
extends
GeneratedCriteria
{
public
static
class
Criteria
extends
GeneratedCriteria
{
...
...
backend/src/main/java/io/dataease/base/domain/PanelLinkMapping.java
浏览文件 @
a79a96f4
...
@@ -9,5 +9,7 @@ public class PanelLinkMapping implements Serializable {
...
@@ -9,5 +9,7 @@ public class PanelLinkMapping implements Serializable {
private
String
resourceId
;
private
String
resourceId
;
private
Long
userId
;
private
static
final
long
serialVersionUID
=
1L
;
private
static
final
long
serialVersionUID
=
1L
;
}
}
\ No newline at end of file
backend/src/main/java/io/dataease/base/domain/PanelLinkMappingExample.java
浏览文件 @
a79a96f4
...
@@ -233,6 +233,66 @@ public class PanelLinkMappingExample {
...
@@ -233,6 +233,66 @@ public class PanelLinkMappingExample {
addCriterion
(
"resource_id not between"
,
value1
,
value2
,
"resourceId"
);
addCriterion
(
"resource_id not between"
,
value1
,
value2
,
"resourceId"
);
return
(
Criteria
)
this
;
return
(
Criteria
)
this
;
}
}
public
Criteria
andUserIdIsNull
()
{
addCriterion
(
"user_id is null"
);
return
(
Criteria
)
this
;
}
public
Criteria
andUserIdIsNotNull
()
{
addCriterion
(
"user_id is not null"
);
return
(
Criteria
)
this
;
}
public
Criteria
andUserIdEqualTo
(
Long
value
)
{
addCriterion
(
"user_id ="
,
value
,
"userId"
);
return
(
Criteria
)
this
;
}
public
Criteria
andUserIdNotEqualTo
(
Long
value
)
{
addCriterion
(
"user_id <>"
,
value
,
"userId"
);
return
(
Criteria
)
this
;
}
public
Criteria
andUserIdGreaterThan
(
Long
value
)
{
addCriterion
(
"user_id >"
,
value
,
"userId"
);
return
(
Criteria
)
this
;
}
public
Criteria
andUserIdGreaterThanOrEqualTo
(
Long
value
)
{
addCriterion
(
"user_id >="
,
value
,
"userId"
);
return
(
Criteria
)
this
;
}
public
Criteria
andUserIdLessThan
(
Long
value
)
{
addCriterion
(
"user_id <"
,
value
,
"userId"
);
return
(
Criteria
)
this
;
}
public
Criteria
andUserIdLessThanOrEqualTo
(
Long
value
)
{
addCriterion
(
"user_id <="
,
value
,
"userId"
);
return
(
Criteria
)
this
;
}
public
Criteria
andUserIdIn
(
List
<
Long
>
values
)
{
addCriterion
(
"user_id in"
,
values
,
"userId"
);
return
(
Criteria
)
this
;
}
public
Criteria
andUserIdNotIn
(
List
<
Long
>
values
)
{
addCriterion
(
"user_id not in"
,
values
,
"userId"
);
return
(
Criteria
)
this
;
}
public
Criteria
andUserIdBetween
(
Long
value1
,
Long
value2
)
{
addCriterion
(
"user_id between"
,
value1
,
value2
,
"userId"
);
return
(
Criteria
)
this
;
}
public
Criteria
andUserIdNotBetween
(
Long
value1
,
Long
value2
)
{
addCriterion
(
"user_id not between"
,
value1
,
value2
,
"userId"
);
return
(
Criteria
)
this
;
}
}
}
public
static
class
Criteria
extends
GeneratedCriteria
{
public
static
class
Criteria
extends
GeneratedCriteria
{
...
...
backend/src/main/java/io/dataease/base/mapper/PanelLinkMapper.java
浏览文件 @
a79a96f4
...
@@ -10,21 +10,13 @@ public interface PanelLinkMapper {
...
@@ -10,21 +10,13 @@ public interface PanelLinkMapper {
int
deleteByExample
(
PanelLinkExample
example
);
int
deleteByExample
(
PanelLinkExample
example
);
int
deleteByPrimaryKey
(
String
resourceId
);
int
insert
(
PanelLink
record
);
int
insert
(
PanelLink
record
);
int
insertSelective
(
PanelLink
record
);
int
insertSelective
(
PanelLink
record
);
List
<
PanelLink
>
selectByExample
(
PanelLinkExample
example
);
List
<
PanelLink
>
selectByExample
(
PanelLinkExample
example
);
PanelLink
selectByPrimaryKey
(
String
resourceId
);
int
updateByExampleSelective
(
@Param
(
"record"
)
PanelLink
record
,
@Param
(
"example"
)
PanelLinkExample
example
);
int
updateByExampleSelective
(
@Param
(
"record"
)
PanelLink
record
,
@Param
(
"example"
)
PanelLinkExample
example
);
int
updateByExample
(
@Param
(
"record"
)
PanelLink
record
,
@Param
(
"example"
)
PanelLinkExample
example
);
int
updateByExample
(
@Param
(
"record"
)
PanelLink
record
,
@Param
(
"example"
)
PanelLinkExample
example
);
int
updateByPrimaryKeySelective
(
PanelLink
record
);
int
updateByPrimaryKey
(
PanelLink
record
);
}
}
\ No newline at end of file
backend/src/main/java/io/dataease/base/mapper/PanelLinkMapper.xml
浏览文件 @
a79a96f4
...
@@ -2,11 +2,12 @@
...
@@ -2,11 +2,12 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"io.dataease.base.mapper.PanelLinkMapper"
>
<mapper
namespace=
"io.dataease.base.mapper.PanelLinkMapper"
>
<resultMap
id=
"BaseResultMap"
type=
"io.dataease.base.domain.PanelLink"
>
<resultMap
id=
"BaseResultMap"
type=
"io.dataease.base.domain.PanelLink"
>
<
id
column=
"resource_id"
jdbcType=
"VARCHAR"
property=
"resourceId"
/>
<
result
column=
"resource_id"
jdbcType=
"VARCHAR"
property=
"resourceId"
/>
<result
column=
"valid"
jdbcType=
"BIT"
property=
"valid"
/>
<result
column=
"valid"
jdbcType=
"BIT"
property=
"valid"
/>
<result
column=
"enable_pwd"
jdbcType=
"BIT"
property=
"enablePwd"
/>
<result
column=
"enable_pwd"
jdbcType=
"BIT"
property=
"enablePwd"
/>
<result
column=
"pwd"
jdbcType=
"VARCHAR"
property=
"pwd"
/>
<result
column=
"pwd"
jdbcType=
"VARCHAR"
property=
"pwd"
/>
<result
column=
"over_time"
jdbcType=
"BIGINT"
property=
"overTime"
/>
<result
column=
"over_time"
jdbcType=
"BIGINT"
property=
"overTime"
/>
<result
column=
"user_id"
jdbcType=
"BIGINT"
property=
"userId"
/>
</resultMap>
</resultMap>
<sql
id=
"Example_Where_Clause"
>
<sql
id=
"Example_Where_Clause"
>
<where>
<where>
...
@@ -67,7 +68,7 @@
...
@@ -67,7 +68,7 @@
</where>
</where>
</sql>
</sql>
<sql
id=
"Base_Column_List"
>
<sql
id=
"Base_Column_List"
>
resource_id, `valid`, enable_pwd, pwd, over_time
resource_id, `valid`, enable_pwd, pwd, over_time
, user_id
</sql>
</sql>
<select
id=
"selectByExample"
parameterType=
"io.dataease.base.domain.PanelLinkExample"
resultMap=
"BaseResultMap"
>
<select
id=
"selectByExample"
parameterType=
"io.dataease.base.domain.PanelLinkExample"
resultMap=
"BaseResultMap"
>
select
select
...
@@ -83,16 +84,6 @@
...
@@ -83,16 +84,6 @@
order by ${orderByClause}
order by ${orderByClause}
</if>
</if>
</select>
</select>
<select
id=
"selectByPrimaryKey"
parameterType=
"java.lang.String"
resultMap=
"BaseResultMap"
>
select
<include
refid=
"Base_Column_List"
/>
from panel_link
where resource_id = #{resourceId,jdbcType=VARCHAR}
</select>
<delete
id=
"deleteByPrimaryKey"
parameterType=
"java.lang.String"
>
delete from panel_link
where resource_id = #{resourceId,jdbcType=VARCHAR}
</delete>
<delete
id=
"deleteByExample"
parameterType=
"io.dataease.base.domain.PanelLinkExample"
>
<delete
id=
"deleteByExample"
parameterType=
"io.dataease.base.domain.PanelLinkExample"
>
delete from panel_link
delete from panel_link
<if
test=
"_parameter != null"
>
<if
test=
"_parameter != null"
>
...
@@ -101,9 +92,11 @@
...
@@ -101,9 +92,11 @@
</delete>
</delete>
<insert
id=
"insert"
parameterType=
"io.dataease.base.domain.PanelLink"
>
<insert
id=
"insert"
parameterType=
"io.dataease.base.domain.PanelLink"
>
insert into panel_link (resource_id, `valid`, enable_pwd,
insert into panel_link (resource_id, `valid`, enable_pwd,
pwd, over_time)
pwd, over_time, user_id
)
values (#{resourceId,jdbcType=VARCHAR}, #{valid,jdbcType=BIT}, #{enablePwd,jdbcType=BIT},
values (#{resourceId,jdbcType=VARCHAR}, #{valid,jdbcType=BIT}, #{enablePwd,jdbcType=BIT},
#{pwd,jdbcType=VARCHAR}, #{overTime,jdbcType=BIGINT})
#{pwd,jdbcType=VARCHAR}, #{overTime,jdbcType=BIGINT}, #{userId,jdbcType=BIGINT}
)
</insert>
</insert>
<insert
id=
"insertSelective"
parameterType=
"io.dataease.base.domain.PanelLink"
>
<insert
id=
"insertSelective"
parameterType=
"io.dataease.base.domain.PanelLink"
>
insert into panel_link
insert into panel_link
...
@@ -123,6 +116,9 @@
...
@@ -123,6 +116,9 @@
<if
test=
"overTime != null"
>
<if
test=
"overTime != null"
>
over_time,
over_time,
</if>
</if>
<if
test=
"userId != null"
>
user_id,
</if>
</trim>
</trim>
<trim
prefix=
"values ("
suffix=
")"
suffixOverrides=
","
>
<trim
prefix=
"values ("
suffix=
")"
suffixOverrides=
","
>
<if
test=
"resourceId != null"
>
<if
test=
"resourceId != null"
>
...
@@ -140,6 +136,9 @@
...
@@ -140,6 +136,9 @@
<if
test=
"overTime != null"
>
<if
test=
"overTime != null"
>
#{overTime,jdbcType=BIGINT},
#{overTime,jdbcType=BIGINT},
</if>
</if>
<if
test=
"userId != null"
>
#{userId,jdbcType=BIGINT},
</if>
</trim>
</trim>
</insert>
</insert>
<select
id=
"countByExample"
parameterType=
"io.dataease.base.domain.PanelLinkExample"
resultType=
"java.lang.Long"
>
<select
id=
"countByExample"
parameterType=
"io.dataease.base.domain.PanelLinkExample"
resultType=
"java.lang.Long"
>
...
@@ -166,6 +165,9 @@
...
@@ -166,6 +165,9 @@
<if
test=
"record.overTime != null"
>
<if
test=
"record.overTime != null"
>
over_time = #{record.overTime,jdbcType=BIGINT},
over_time = #{record.overTime,jdbcType=BIGINT},
</if>
</if>
<if
test=
"record.userId != null"
>
user_id = #{record.userId,jdbcType=BIGINT},
</if>
</set>
</set>
<if
test=
"_parameter != null"
>
<if
test=
"_parameter != null"
>
<include
refid=
"Update_By_Example_Where_Clause"
/>
<include
refid=
"Update_By_Example_Where_Clause"
/>
...
@@ -177,35 +179,10 @@
...
@@ -177,35 +179,10 @@
`valid` = #{record.valid,jdbcType=BIT},
`valid` = #{record.valid,jdbcType=BIT},
enable_pwd = #{record.enablePwd,jdbcType=BIT},
enable_pwd = #{record.enablePwd,jdbcType=BIT},
pwd = #{record.pwd,jdbcType=VARCHAR},
pwd = #{record.pwd,jdbcType=VARCHAR},
over_time = #{record.overTime,jdbcType=BIGINT}
over_time = #{record.overTime,jdbcType=BIGINT},
user_id = #{record.userId,jdbcType=BIGINT}
<if
test=
"_parameter != null"
>
<if
test=
"_parameter != null"
>
<include
refid=
"Update_By_Example_Where_Clause"
/>
<include
refid=
"Update_By_Example_Where_Clause"
/>
</if>
</if>
</update>
</update>
<update
id=
"updateByPrimaryKeySelective"
parameterType=
"io.dataease.base.domain.PanelLink"
>
update panel_link
<set>
<if
test=
"valid != null"
>
`valid` = #{valid,jdbcType=BIT},
</if>
<if
test=
"enablePwd != null"
>
enable_pwd = #{enablePwd,jdbcType=BIT},
</if>
<if
test=
"pwd != null"
>
pwd = #{pwd,jdbcType=VARCHAR},
</if>
<if
test=
"overTime != null"
>
over_time = #{overTime,jdbcType=BIGINT},
</if>
</set>
where resource_id = #{resourceId,jdbcType=VARCHAR}
</update>
<update
id=
"updateByPrimaryKey"
parameterType=
"io.dataease.base.domain.PanelLink"
>
update panel_link
set `valid` = #{valid,jdbcType=BIT},
enable_pwd = #{enablePwd,jdbcType=BIT},
pwd = #{pwd,jdbcType=VARCHAR},
over_time = #{overTime,jdbcType=BIGINT}
where resource_id = #{resourceId,jdbcType=VARCHAR}
</update>
</mapper>
</mapper>
\ No newline at end of file
backend/src/main/java/io/dataease/base/mapper/PanelLinkMappingMapper.xml
浏览文件 @
a79a96f4
...
@@ -4,6 +4,7 @@
...
@@ -4,6 +4,7 @@
<resultMap
id=
"BaseResultMap"
type=
"io.dataease.base.domain.PanelLinkMapping"
>
<resultMap
id=
"BaseResultMap"
type=
"io.dataease.base.domain.PanelLinkMapping"
>
<id
column=
"id"
jdbcType=
"BIGINT"
property=
"id"
/>
<id
column=
"id"
jdbcType=
"BIGINT"
property=
"id"
/>
<result
column=
"resource_id"
jdbcType=
"VARCHAR"
property=
"resourceId"
/>
<result
column=
"resource_id"
jdbcType=
"VARCHAR"
property=
"resourceId"
/>
<result
column=
"user_id"
jdbcType=
"BIGINT"
property=
"userId"
/>
</resultMap>
</resultMap>
<sql
id=
"Example_Where_Clause"
>
<sql
id=
"Example_Where_Clause"
>
<where>
<where>
...
@@ -64,7 +65,7 @@
...
@@ -64,7 +65,7 @@
</where>
</where>
</sql>
</sql>
<sql
id=
"Base_Column_List"
>
<sql
id=
"Base_Column_List"
>
id, resource_id
id, resource_id
, user_id
</sql>
</sql>
<select
id=
"selectByExample"
parameterType=
"io.dataease.base.domain.PanelLinkMappingExample"
resultMap=
"BaseResultMap"
>
<select
id=
"selectByExample"
parameterType=
"io.dataease.base.domain.PanelLinkMappingExample"
resultMap=
"BaseResultMap"
>
select
select
...
@@ -97,8 +98,10 @@
...
@@ -97,8 +98,10 @@
</if>
</if>
</delete>
</delete>
<insert
id=
"insert"
parameterType=
"io.dataease.base.domain.PanelLinkMapping"
>
<insert
id=
"insert"
parameterType=
"io.dataease.base.domain.PanelLinkMapping"
>
insert into panel_link_mapping (id, resource_id)
insert into panel_link_mapping (id, resource_id, user_id
values (#{id,jdbcType=BIGINT}, #{resourceId,jdbcType=VARCHAR})
)
values (#{id,jdbcType=BIGINT}, #{resourceId,jdbcType=VARCHAR}, #{userId,jdbcType=BIGINT}
)
</insert>
</insert>
<insert
id=
"insertSelective"
parameterType=
"io.dataease.base.domain.PanelLinkMapping"
>
<insert
id=
"insertSelective"
parameterType=
"io.dataease.base.domain.PanelLinkMapping"
>
insert into panel_link_mapping
insert into panel_link_mapping
...
@@ -109,6 +112,9 @@
...
@@ -109,6 +112,9 @@
<if
test=
"resourceId != null"
>
<if
test=
"resourceId != null"
>
resource_id,
resource_id,
</if>
</if>
<if
test=
"userId != null"
>
user_id,
</if>
</trim>
</trim>
<trim
prefix=
"values ("
suffix=
")"
suffixOverrides=
","
>
<trim
prefix=
"values ("
suffix=
")"
suffixOverrides=
","
>
<if
test=
"id != null"
>
<if
test=
"id != null"
>
...
@@ -117,6 +123,9 @@
...
@@ -117,6 +123,9 @@
<if
test=
"resourceId != null"
>
<if
test=
"resourceId != null"
>
#{resourceId,jdbcType=VARCHAR},
#{resourceId,jdbcType=VARCHAR},
</if>
</if>
<if
test=
"userId != null"
>
#{userId,jdbcType=BIGINT},
</if>
</trim>
</trim>
</insert>
</insert>
<select
id=
"countByExample"
parameterType=
"io.dataease.base.domain.PanelLinkMappingExample"
resultType=
"java.lang.Long"
>
<select
id=
"countByExample"
parameterType=
"io.dataease.base.domain.PanelLinkMappingExample"
resultType=
"java.lang.Long"
>
...
@@ -134,6 +143,9 @@
...
@@ -134,6 +143,9 @@
<if
test=
"record.resourceId != null"
>
<if
test=
"record.resourceId != null"
>
resource_id = #{record.resourceId,jdbcType=VARCHAR},
resource_id = #{record.resourceId,jdbcType=VARCHAR},
</if>
</if>
<if
test=
"record.userId != null"
>
user_id = #{record.userId,jdbcType=BIGINT},
</if>
</set>
</set>
<if
test=
"_parameter != null"
>
<if
test=
"_parameter != null"
>
<include
refid=
"Update_By_Example_Where_Clause"
/>
<include
refid=
"Update_By_Example_Where_Clause"
/>
...
@@ -142,7 +154,8 @@
...
@@ -142,7 +154,8 @@
<update
id=
"updateByExample"
parameterType=
"map"
>
<update
id=
"updateByExample"
parameterType=
"map"
>
update panel_link_mapping
update panel_link_mapping
set id = #{record.id,jdbcType=BIGINT},
set id = #{record.id,jdbcType=BIGINT},
resource_id = #{record.resourceId,jdbcType=VARCHAR}
resource_id = #{record.resourceId,jdbcType=VARCHAR},
user_id = #{record.userId,jdbcType=BIGINT}
<if
test=
"_parameter != null"
>
<if
test=
"_parameter != null"
>
<include
refid=
"Update_By_Example_Where_Clause"
/>
<include
refid=
"Update_By_Example_Where_Clause"
/>
</if>
</if>
...
@@ -153,12 +166,16 @@
...
@@ -153,12 +166,16 @@
<if
test=
"resourceId != null"
>
<if
test=
"resourceId != null"
>
resource_id = #{resourceId,jdbcType=VARCHAR},
resource_id = #{resourceId,jdbcType=VARCHAR},
</if>
</if>
<if
test=
"userId != null"
>
user_id = #{userId,jdbcType=BIGINT},
</if>
</set>
</set>
where id = #{id,jdbcType=BIGINT}
where id = #{id,jdbcType=BIGINT}
</update>
</update>
<update
id=
"updateByPrimaryKey"
parameterType=
"io.dataease.base.domain.PanelLinkMapping"
>
<update
id=
"updateByPrimaryKey"
parameterType=
"io.dataease.base.domain.PanelLinkMapping"
>
update panel_link_mapping
update panel_link_mapping
set resource_id = #{resourceId,jdbcType=VARCHAR}
set resource_id = #{resourceId,jdbcType=VARCHAR},
user_id = #{userId,jdbcType=BIGINT}
where id = #{id,jdbcType=BIGINT}
where id = #{id,jdbcType=BIGINT}
</update>
</update>
</mapper>
</mapper>
\ No newline at end of file
backend/src/main/java/io/dataease/base/mapper/ext/ExtPanelLinkMapper.xml
浏览文件 @
a79a96f4
...
@@ -8,7 +8,7 @@
...
@@ -8,7 +8,7 @@
<update
id=
"updateOverTime"
>
<update
id=
"updateOverTime"
>
update panel_link set over_time = #{request.overTime} where resource_id = #{request.resourceId}
update panel_link set over_time = #{request.overTime} where resource_id = #{request.resourceId}
and user_id = #{request.userId}
</update>
</update>
...
...
backend/src/main/java/io/dataease/controller/panel/api/LinkApi.java
浏览文件 @
a79a96f4
...
@@ -2,7 +2,6 @@ package io.dataease.controller.panel.api;
...
@@ -2,7 +2,6 @@ package io.dataease.controller.panel.api;
import
com.github.xiaoymin.knife4j.annotations.ApiSupport
;
import
com.github.xiaoymin.knife4j.annotations.ApiSupport
;
import
io.dataease.controller.ResultHolder
;
import
io.dataease.controller.request.chart.ChartExtRequest
;
import
io.dataease.controller.request.chart.ChartExtRequest
;
import
io.dataease.controller.request.panel.link.*
;
import
io.dataease.controller.request.panel.link.*
;
import
io.dataease.dto.panel.link.GenerateDto
;
import
io.dataease.dto.panel.link.GenerateDto
;
...
@@ -48,7 +47,7 @@ public interface LinkApi {
...
@@ -48,7 +47,7 @@ public interface LinkApi {
boolean
validatePwd
(
PasswordRequest
request
)
throws
Exception
;
boolean
validatePwd
(
PasswordRequest
request
)
throws
Exception
;
@ApiOperation
(
"资源详息"
)
@ApiOperation
(
"资源详息"
)
@
Pos
tMapping
(
"/resourceDetail/{resourceId}"
)
@
Ge
tMapping
(
"/resourceDetail/{resourceId}"
)
Object
resourceDetail
(
@PathVariable
String
resourceId
);
Object
resourceDetail
(
@PathVariable
String
resourceId
);
@ApiOperation
(
"视图详息"
)
@ApiOperation
(
"视图详息"
)
...
...
backend/src/main/java/io/dataease/controller/panel/server/LinkServer.java
浏览文件 @
a79a96f4
...
@@ -66,7 +66,7 @@ public class LinkServer implements LinkApi {
...
@@ -66,7 +66,7 @@ public class LinkServer implements LinkApi {
ValidateDto
dto
=
new
ValidateDto
();
ValidateDto
dto
=
new
ValidateDto
();
String
resourceId
=
json
;
String
resourceId
=
json
;
PanelLink
one
=
panelLinkService
.
findOne
(
resourceId
);
PanelLink
one
=
panelLinkService
.
findOne
(
resourceId
,
request
.
getUser
()
);
dto
.
setResourceId
(
resourceId
);
dto
.
setResourceId
(
resourceId
);
if
(
ObjectUtils
.
isEmpty
(
one
))
{
if
(
ObjectUtils
.
isEmpty
(
one
))
{
dto
.
setValid
(
false
);
dto
.
setValid
(
false
);
...
...
backend/src/main/java/io/dataease/controller/request/chart/ChartExtRequest.java
浏览文件 @
a79a96f4
...
@@ -34,4 +34,7 @@ public class ChartExtRequest {
...
@@ -34,4 +34,7 @@ public class ChartExtRequest {
@ApiModelProperty
(
"使用缓存:默认使用"
)
@ApiModelProperty
(
"使用缓存:默认使用"
)
private
boolean
cache
=
true
;
private
boolean
cache
=
true
;
@ApiModelProperty
(
"用户ID"
)
private
Long
user
=
null
;
}
}
backend/src/main/java/io/dataease/controller/request/panel/link/LinkValidateRequest.java
浏览文件 @
a79a96f4
...
@@ -8,4 +8,5 @@ import java.io.Serializable;
...
@@ -8,4 +8,5 @@ import java.io.Serializable;
public
class
LinkValidateRequest
implements
Serializable
{
public
class
LinkValidateRequest
implements
Serializable
{
private
String
link
;
private
String
link
;
private
Long
user
;
}
}
backend/src/main/java/io/dataease/controller/request/panel/link/OverTimeRequest.java
浏览文件 @
a79a96f4
...
@@ -13,6 +13,9 @@ public class OverTimeRequest {
...
@@ -13,6 +13,9 @@ public class OverTimeRequest {
@ApiModelProperty
(
"资源ID"
)
@ApiModelProperty
(
"资源ID"
)
private
String
resourceId
;
private
String
resourceId
;
@ApiModelProperty
(
"用户ID"
)
private
Long
userId
;
@ApiModelProperty
(
"过期时间"
)
@ApiModelProperty
(
"过期时间"
)
private
Long
overTime
;
private
Long
overTime
;
...
...
backend/src/main/java/io/dataease/controller/request/panel/link/PasswordRequest.java
浏览文件 @
a79a96f4
...
@@ -8,6 +8,8 @@ public class PasswordRequest {
...
@@ -8,6 +8,8 @@ public class PasswordRequest {
@ApiModelProperty
(
"资源ID"
)
@ApiModelProperty
(
"资源ID"
)
private
String
resourceId
;
private
String
resourceId
;
@ApiModelProperty
(
"用户ID"
)
private
Long
user
=
null
;
@ApiModelProperty
(
"密码"
)
@ApiModelProperty
(
"密码"
)
private
String
password
;
private
String
password
;
...
...
backend/src/main/java/io/dataease/service/chart/ChartViewService.java
浏览文件 @
a79a96f4
...
@@ -212,7 +212,7 @@ public class ChartViewService {
...
@@ -212,7 +212,7 @@ public class ChartViewService {
DatasetTableField
datasetTableFieldObj
=
DatasetTableField
.
builder
().
tableId
(
view
.
getTableId
()).
checked
(
Boolean
.
TRUE
).
build
();
DatasetTableField
datasetTableFieldObj
=
DatasetTableField
.
builder
().
tableId
(
view
.
getTableId
()).
checked
(
Boolean
.
TRUE
).
build
();
List
<
DatasetTableField
>
fields
=
dataSetTableFieldsService
.
list
(
datasetTableFieldObj
);
List
<
DatasetTableField
>
fields
=
dataSetTableFieldsService
.
list
(
datasetTableFieldObj
);
DatasetTable
datasetTable
=
dataSetTableService
.
get
(
view
.
getTableId
());
DatasetTable
datasetTable
=
dataSetTableService
.
get
(
view
.
getTableId
());
List
<
ChartFieldCustomFilterDTO
>
permissionFields
=
dataSetTableService
.
getCustomFilters
(
fields
,
datasetTable
);
List
<
ChartFieldCustomFilterDTO
>
permissionFields
=
dataSetTableService
.
getCustomFilters
(
fields
,
datasetTable
,
requestList
.
getUser
()
);
fieldCustomFilter
.
addAll
(
permissionFields
);
fieldCustomFilter
.
addAll
(
permissionFields
);
for
(
ChartFieldCustomFilterDTO
ele
:
fieldCustomFilter
)
{
for
(
ChartFieldCustomFilterDTO
ele
:
fieldCustomFilter
)
{
...
...
backend/src/main/java/io/dataease/service/dataset/DataSetTableService.java
浏览文件 @
a79a96f4
...
@@ -442,7 +442,7 @@ public class DataSetTableService {
...
@@ -442,7 +442,7 @@ public class DataSetTableService {
return
map
;
return
map
;
}
}
private
List
<
DatasetRowPermissions
>
rowPermissions
(
String
datasetId
)
{
private
List
<
DatasetRowPermissions
>
rowPermissions
(
String
datasetId
,
Long
userId
)
{
List
<
DatasetRowPermissions
>
datasetRowPermissions
=
new
ArrayList
<>();
List
<
DatasetRowPermissions
>
datasetRowPermissions
=
new
ArrayList
<>();
Map
<
String
,
RowPermissionService
>
beansOfType
=
SpringContextUtil
.
getApplicationContext
().
getBeansOfType
((
RowPermissionService
.
class
));
Map
<
String
,
RowPermissionService
>
beansOfType
=
SpringContextUtil
.
getApplicationContext
().
getBeansOfType
((
RowPermissionService
.
class
));
if
(
beansOfType
.
keySet
().
size
()
==
0
)
{
if
(
beansOfType
.
keySet
().
size
()
==
0
)
{
...
@@ -450,11 +450,10 @@ public class DataSetTableService {
...
@@ -450,11 +450,10 @@ public class DataSetTableService {
}
}
RowPermissionService
rowPermissionService
=
SpringContextUtil
.
getBean
(
RowPermissionService
.
class
);
RowPermissionService
rowPermissionService
=
SpringContextUtil
.
getBean
(
RowPermissionService
.
class
);
CurrentUserDto
user
=
AuthUtils
.
getUser
();
CurrentUserDto
user
=
AuthUtils
.
getUser
();
if
(
user
!=
null
)
{
userId
=
user
!=
null
?
user
.
getUserId
()
:
userId
;
datasetRowPermissions
.
addAll
(
rowPermissionService
.
listDatasetRowPermissions
(
datasetId
,
Collections
.
singletonList
(
user
.
getUserId
()),
"user"
));
datasetRowPermissions
.
addAll
(
rowPermissionService
.
listDatasetRowPermissions
(
datasetId
,
Collections
.
singletonList
(
user
.
getUserId
()),
"user"
));
datasetRowPermissions
.
addAll
(
rowPermissionService
.
listDatasetRowPermissions
(
datasetId
,
user
.
getRoles
().
stream
().
map
(
CurrentRoleDto:
:
getId
).
collect
(
Collectors
.
toList
()),
"role"
));
datasetRowPermissions
.
addAll
(
rowPermissionService
.
listDatasetRowPermissions
(
datasetId
,
user
.
getRoles
().
stream
().
map
(
CurrentRoleDto:
:
getId
).
collect
(
Collectors
.
toList
()),
"role"
));
datasetRowPermissions
.
addAll
(
rowPermissionService
.
listDatasetRowPermissions
(
datasetId
,
Collections
.
singletonList
(
user
.
getDeptId
()),
"dept"
));
datasetRowPermissions
.
addAll
(
rowPermissionService
.
listDatasetRowPermissions
(
datasetId
,
Collections
.
singletonList
(
user
.
getDeptId
()),
"dept"
));
}
return
datasetRowPermissions
;
return
datasetRowPermissions
;
}
}
...
@@ -468,9 +467,9 @@ public class DataSetTableService {
...
@@ -468,9 +467,9 @@ public class DataSetTableService {
return
field
;
return
field
;
}
}
public
List
<
ChartFieldCustomFilterDTO
>
getCustomFilters
(
List
<
DatasetTableField
>
fields
,
DatasetTable
datasetTable
)
{
public
List
<
ChartFieldCustomFilterDTO
>
getCustomFilters
(
List
<
DatasetTableField
>
fields
,
DatasetTable
datasetTable
,
Long
user
)
{
List
<
ChartFieldCustomFilterDTO
>
customFilter
=
new
ArrayList
<>();
List
<
ChartFieldCustomFilterDTO
>
customFilter
=
new
ArrayList
<>();
rowPermissions
(
datasetTable
.
getId
()).
forEach
(
datasetRowPermissions
->
{
rowPermissions
(
datasetTable
.
getId
()
,
user
).
forEach
(
datasetRowPermissions
->
{
List
<
ChartCustomFilterItemDTO
>
lists
=
JSONObject
.
parseArray
(
datasetRowPermissions
.
getFilter
(),
ChartCustomFilterItemDTO
.
class
);
List
<
ChartCustomFilterItemDTO
>
lists
=
JSONObject
.
parseArray
(
datasetRowPermissions
.
getFilter
(),
ChartCustomFilterItemDTO
.
class
);
ChartFieldCustomFilterDTO
dto
=
new
ChartFieldCustomFilterDTO
();
ChartFieldCustomFilterDTO
dto
=
new
ChartFieldCustomFilterDTO
();
DatasetTableField
field
=
getFieldById
(
fields
,
datasetRowPermissions
.
getDatasetFieldId
());
DatasetTableField
field
=
getFieldById
(
fields
,
datasetRowPermissions
.
getDatasetFieldId
());
...
@@ -499,7 +498,7 @@ public class DataSetTableService {
...
@@ -499,7 +498,7 @@ public class DataSetTableService {
return
map
;
return
map
;
}
}
DatasetTable
datasetTable
=
datasetTableMapper
.
selectByPrimaryKey
(
dataSetTableRequest
.
getId
());
DatasetTable
datasetTable
=
datasetTableMapper
.
selectByPrimaryKey
(
dataSetTableRequest
.
getId
());
List
<
ChartFieldCustomFilterDTO
>
customFilter
=
getCustomFilters
(
fields
,
datasetTable
);
List
<
ChartFieldCustomFilterDTO
>
customFilter
=
getCustomFilters
(
fields
,
datasetTable
,
null
);
String
[]
fieldArray
=
fields
.
stream
().
map
(
DatasetTableField:
:
getDataeaseName
).
toArray
(
String
[]::
new
);
String
[]
fieldArray
=
fields
.
stream
().
map
(
DatasetTableField:
:
getDataeaseName
).
toArray
(
String
[]::
new
);
DataTableInfoDTO
dataTableInfoDTO
=
new
Gson
().
fromJson
(
dataSetTableRequest
.
getInfo
(),
DataTableInfoDTO
.
class
);
DataTableInfoDTO
dataTableInfoDTO
=
new
Gson
().
fromJson
(
dataSetTableRequest
.
getInfo
(),
DataTableInfoDTO
.
class
);
...
...
backend/src/main/java/io/dataease/service/dataset/impl/direct/DirectFieldService.java
浏览文件 @
a79a96f4
...
@@ -58,7 +58,7 @@ public class DirectFieldService implements DataSetFieldService {
...
@@ -58,7 +58,7 @@ public class DirectFieldService implements DataSetFieldService {
DatasetTableField
datasetTableField
=
DatasetTableField
.
builder
().
tableId
(
tableId
).
checked
(
Boolean
.
TRUE
).
build
();
DatasetTableField
datasetTableField
=
DatasetTableField
.
builder
().
tableId
(
tableId
).
checked
(
Boolean
.
TRUE
).
build
();
List
<
DatasetTableField
>
fields
=
dataSetTableFieldsService
.
list
(
datasetTableField
);
List
<
DatasetTableField
>
fields
=
dataSetTableFieldsService
.
list
(
datasetTableField
);
List
<
ChartFieldCustomFilterDTO
>
customFilter
=
dataSetTableService
.
getCustomFilters
(
fields
,
datasetTable
);
List
<
ChartFieldCustomFilterDTO
>
customFilter
=
dataSetTableService
.
getCustomFilters
(
fields
,
datasetTable
,
null
);
DatasourceRequest
datasourceRequest
=
new
DatasourceRequest
();
DatasourceRequest
datasourceRequest
=
new
DatasourceRequest
();
DatasourceProvider
datasourceProvider
=
null
;
DatasourceProvider
datasourceProvider
=
null
;
...
...
backend/src/main/java/io/dataease/service/panel/PanelLinkService.java
浏览文件 @
a79a96f4
...
@@ -3,14 +3,12 @@ package io.dataease.service.panel;
...
@@ -3,14 +3,12 @@ package io.dataease.service.panel;
import
io.dataease.auth.config.RsaProperties
;
import
io.dataease.auth.config.RsaProperties
;
import
io.dataease.auth.util.JWTUtils
;
import
io.dataease.auth.util.JWTUtils
;
import
io.dataease.auth.util.RsaUtil
;
import
io.dataease.auth.util.RsaUtil
;
import
io.dataease.base.domain.PanelGroupWithBLOBs
;
import
io.dataease.base.domain.*
;
import
io.dataease.base.domain.PanelLink
;
import
io.dataease.base.domain.PanelLinkMapping
;
import
io.dataease.base.domain.PanelLinkMappingExample
;
import
io.dataease.base.mapper.PanelGroupMapper
;
import
io.dataease.base.mapper.PanelGroupMapper
;
import
io.dataease.base.mapper.PanelLinkMapper
;
import
io.dataease.base.mapper.PanelLinkMapper
;
import
io.dataease.base.mapper.PanelLinkMappingMapper
;
import
io.dataease.base.mapper.PanelLinkMappingMapper
;
import
io.dataease.base.mapper.ext.ExtPanelLinkMapper
;
import
io.dataease.base.mapper.ext.ExtPanelLinkMapper
;
import
io.dataease.commons.utils.AuthUtils
;
import
io.dataease.commons.utils.ServletUtils
;
import
io.dataease.commons.utils.ServletUtils
;
import
io.dataease.controller.request.panel.link.EnablePwdRequest
;
import
io.dataease.controller.request.panel.link.EnablePwdRequest
;
import
io.dataease.controller.request.panel.link.LinkRequest
;
import
io.dataease.controller.request.panel.link.LinkRequest
;
...
@@ -27,11 +25,13 @@ import javax.annotation.Resource;
...
@@ -27,11 +25,13 @@ import javax.annotation.Resource;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletResponse
;
import
javax.servlet.http.HttpServletResponse
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Optional
;
@Service
@Service
public
class
PanelLinkService
{
public
class
PanelLinkService
{
private
static
final
String
BASEURL
=
"/link.html?link="
;
private
static
final
String
BASEURL
=
"/link.html?link="
;
private
static
final
String
USERPARAM
=
"&user="
;
private
static
final
String
SHORT_URL_PREFIX
=
"/link/"
;
private
static
final
String
SHORT_URL_PREFIX
=
"/link/"
;
@Resource
@Resource
...
@@ -47,63 +47,89 @@ public class PanelLinkService {
...
@@ -47,63 +47,89 @@ public class PanelLinkService {
PanelLink
po
=
new
PanelLink
();
PanelLink
po
=
new
PanelLink
();
po
.
setResourceId
(
request
.
getResourceId
());
po
.
setResourceId
(
request
.
getResourceId
());
po
.
setValid
(
request
.
isValid
());
po
.
setValid
(
request
.
isValid
());
mapper
.
updateByPrimaryKeySelective
(
po
);
mapper
.
updateByExampleSelective
(
po
,
example
(
request
.
getResourceId
(),
AuthUtils
.
getUser
().
getUserId
()));
}
private
PanelLinkExample
example
(
String
panelLinkId
,
Long
userId
){
PanelLinkExample
example
=
new
PanelLinkExample
();
example
.
createCriteria
().
andResourceIdEqualTo
(
panelLinkId
).
andUserIdEqualTo
(
userId
);
return
example
;
}
}
public
void
changeEnablePwd
(
EnablePwdRequest
request
)
{
public
void
changeEnablePwd
(
EnablePwdRequest
request
)
{
PanelLink
po
=
new
PanelLink
();
PanelLink
po
=
new
PanelLink
();
po
.
setResourceId
(
request
.
getResourceId
());
po
.
setResourceId
(
request
.
getResourceId
());
po
.
setEnablePwd
(
request
.
isEnablePwd
());
po
.
setEnablePwd
(
request
.
isEnablePwd
());
mapper
.
updateBy
PrimaryKeySelective
(
po
);
mapper
.
updateBy
ExampleSelective
(
po
,
example
(
request
.
getResourceId
(),
AuthUtils
.
getUser
().
getUserId
())
);
}
}
public
void
password
(
PasswordRequest
request
)
{
public
void
password
(
PasswordRequest
request
)
{
PanelLink
po
=
new
PanelLink
();
PanelLink
po
=
new
PanelLink
();
po
.
setResourceId
(
request
.
getResourceId
());
po
.
setResourceId
(
request
.
getResourceId
());
po
.
setPwd
(
request
.
getPassword
());
po
.
setPwd
(
request
.
getPassword
());
mapper
.
updateBy
PrimaryKeySelective
(
po
);
mapper
.
updateBy
ExampleSelective
(
po
,
example
(
request
.
getResourceId
(),
AuthUtils
.
getUser
().
getUserId
())
);
}
}
public
void
overTime
(
OverTimeRequest
request
)
{
public
void
overTime
(
OverTimeRequest
request
)
{
request
.
setUserId
(
AuthUtils
.
getUser
().
getUserId
());
extPanelLinkMapper
.
updateOverTime
(
request
);
extPanelLinkMapper
.
updateOverTime
(
request
);
}
}
public
PanelLink
findOne
(
String
resourceId
)
{
private
PanelLink
findOne
(
String
resourceId
)
{
return
mapper
.
selectByPrimaryKey
(
resourceId
);
PanelLinkExample
example
=
new
PanelLinkExample
();
example
.
createCriteria
().
andResourceIdEqualTo
(
resourceId
).
andUserIdIsNull
();
List
<
PanelLink
>
list
=
mapper
.
selectByExample
(
example
);
return
CollectionUtils
.
isNotEmpty
(
list
)
?
list
.
get
(
0
)
:
null
;
}
public
PanelLink
findOne
(
String
resourceId
,
Long
userId
)
{
if
(
userId
==
null
){
return
findOne
(
resourceId
);
}
List
<
PanelLink
>
panelLinks
=
mapper
.
selectByExample
(
example
(
resourceId
,
userId
));
if
(
CollectionUtils
.
isNotEmpty
(
panelLinks
)){
return
panelLinks
.
get
(
0
);
}
else
{
return
null
;
}
}
}
@Transactional
@Transactional
public
GenerateDto
currentGenerate
(
String
resourceId
)
{
public
GenerateDto
currentGenerate
(
String
resourceId
)
{
PanelLink
one
=
findOne
(
resourceId
);
PanelLink
one
=
findOne
(
resourceId
,
AuthUtils
.
getUser
().
getUserId
()
);
if
(
ObjectUtils
.
isEmpty
(
one
))
{
if
(
ObjectUtils
.
isEmpty
(
one
))
{
one
=
new
PanelLink
();
one
=
new
PanelLink
();
one
.
setPwd
(
null
);
one
.
setPwd
(
null
);
one
.
setResourceId
(
resourceId
);
one
.
setResourceId
(
resourceId
);
one
.
setValid
(
false
);
one
.
setValid
(
false
);
one
.
setUserId
(
AuthUtils
.
getUser
().
getUserId
());
one
.
setEnablePwd
(
false
);
one
.
setEnablePwd
(
false
);
mapper
.
insert
(
one
);
mapper
.
insert
(
one
);
}
}
PanelLinkMappingExample
example
=
new
PanelLinkMappingExample
();
PanelLinkMappingExample
example
=
new
PanelLinkMappingExample
();
example
.
createCriteria
().
andResourceIdEqualTo
(
resourceId
);
example
.
createCriteria
().
andResourceIdEqualTo
(
resourceId
)
.
andUserIdEqualTo
(
AuthUtils
.
getUser
().
getUserId
())
;
List
<
PanelLinkMapping
>
mappings
=
panelLinkMappingMapper
.
selectByExample
(
example
);
List
<
PanelLinkMapping
>
mappings
=
panelLinkMappingMapper
.
selectByExample
(
example
);
if
(
CollectionUtils
.
isEmpty
(
mappings
))
{
if
(
CollectionUtils
.
isEmpty
(
mappings
))
{
PanelLinkMapping
mapping
=
new
PanelLinkMapping
();
PanelLinkMapping
mapping
=
new
PanelLinkMapping
();
mapping
.
setResourceId
(
resourceId
);
mapping
.
setResourceId
(
resourceId
);
mapping
.
setUserId
(
AuthUtils
.
getUser
().
getUserId
());
panelLinkMappingMapper
.
insert
(
mapping
);
panelLinkMappingMapper
.
insert
(
mapping
);
}
}
return
convertDto
(
one
);
return
convertDto
(
one
);
}
}
public
void
deleteByResourceId
(
String
resourceId
)
{
public
void
deleteByResourceId
(
String
resourceId
)
{
mapper
.
deleteByPrimaryKey
(
resourceId
);
PanelLinkExample
example
=
new
PanelLinkExample
();
example
.
createCriteria
().
andResourceIdEqualTo
(
resourceId
);
mapper
.
deleteByExample
(
example
);
}
}
public
String
decryptParam
(
String
text
)
throws
Exception
{
public
String
decryptParam
(
String
text
)
throws
Exception
{
return
RsaUtil
.
decryptByPrivateKey
(
RsaProperties
.
privateKey
,
text
);
return
RsaUtil
.
decryptByPrivateKey
(
RsaProperties
.
privateKey
,
text
);
}
}
// 使用
共
钥加密
// 使用
公
钥加密
private
String
encrypt
(
String
sourceValue
)
{
private
String
encrypt
(
String
sourceValue
)
{
try
{
try
{
return
RsaUtil
.
encryptByPublicKey
(
RsaProperties
.
publicKey
,
sourceValue
);
return
RsaUtil
.
encryptByPublicKey
(
RsaProperties
.
publicKey
,
sourceValue
);
...
@@ -113,8 +139,12 @@ public class PanelLinkService {
...
@@ -113,8 +139,12 @@ public class PanelLinkService {
return
null
;
return
null
;
}
}
private
String
buildLinkParam
(
String
resourceId
)
{
private
String
buildLinkParam
(
PanelLink
link
)
{
return
encrypt
(
resourceId
);
String
linkParam
=
encrypt
(
link
.
getResourceId
());
if
(
link
.
getUserId
()
!=
null
){
linkParam
=
linkParam
+
USERPARAM
+
link
.
getUserId
().
toString
();
}
return
linkParam
;
}
}
private
GenerateDto
convertDto
(
PanelLink
link
)
{
private
GenerateDto
convertDto
(
PanelLink
link
)
{
...
@@ -122,7 +152,7 @@ public class PanelLinkService {
...
@@ -122,7 +152,7 @@ public class PanelLinkService {
result
.
setValid
(
link
.
getValid
());
result
.
setValid
(
link
.
getValid
());
result
.
setEnablePwd
(
link
.
getEnablePwd
());
result
.
setEnablePwd
(
link
.
getEnablePwd
());
result
.
setPwd
(
link
.
getPwd
());
result
.
setPwd
(
link
.
getPwd
());
result
.
setUri
(
BASEURL
+
buildLinkParam
(
link
.
getResourceId
()
));
result
.
setUri
(
BASEURL
+
buildLinkParam
(
link
));
result
.
setOverTime
(
link
.
getOverTime
());
result
.
setOverTime
(
link
.
getOverTime
());
return
result
;
return
result
;
}
}
...
@@ -134,14 +164,14 @@ public class PanelLinkService {
...
@@ -134,14 +164,14 @@ public class PanelLinkService {
if
(!
panelLink
.
getEnablePwd
()
||
StringUtils
.
isEmpty
(
token
)
||
StringUtils
.
equals
(
"undefined"
,
token
)
||
StringUtils
.
equals
(
"null"
,
token
))
{
if
(!
panelLink
.
getEnablePwd
()
||
StringUtils
.
isEmpty
(
token
)
||
StringUtils
.
equals
(
"undefined"
,
token
)
||
StringUtils
.
equals
(
"null"
,
token
))
{
String
resourceId
=
panelLink
.
getResourceId
();
String
resourceId
=
panelLink
.
getResourceId
();
String
pwd
=
"dataease"
;
String
pwd
=
"dataease"
;
String
tk
=
JWTUtils
.
signLink
(
resourceId
,
pwd
);
String
tk
=
JWTUtils
.
signLink
(
resourceId
,
p
anelLink
.
getUserId
(),
p
wd
);
HttpServletResponse
httpServletResponse
=
ServletUtils
.
response
();
HttpServletResponse
httpServletResponse
=
ServletUtils
.
response
();
httpServletResponse
.
addHeader
(
"Access-Control-Expose-Headers"
,
"LINK-PWD-TOKEN"
);
httpServletResponse
.
addHeader
(
"Access-Control-Expose-Headers"
,
"LINK-PWD-TOKEN"
);
httpServletResponse
.
setHeader
(
"LINK-PWD-TOKEN"
,
tk
);
httpServletResponse
.
setHeader
(
"LINK-PWD-TOKEN"
,
tk
);
return
false
;
return
false
;
}
}
if
(
StringUtils
.
isEmpty
(
panelLink
.
getPwd
()))
return
false
;
if
(
StringUtils
.
isEmpty
(
panelLink
.
getPwd
()))
return
false
;
return
JWTUtils
.
verifyLink
(
token
,
panelLink
.
getResourceId
(),
panelLink
.
getPwd
());
return
JWTUtils
.
verifyLink
(
token
,
panelLink
.
getResourceId
(),
panelLink
.
get
UserId
(),
panelLink
.
get
Pwd
());
}
}
// 验证链接是否过期
// 验证链接是否过期
...
@@ -155,11 +185,11 @@ public class PanelLinkService {
...
@@ -155,11 +185,11 @@ public class PanelLinkService {
public
boolean
validatePwd
(
PasswordRequest
request
)
throws
Exception
{
public
boolean
validatePwd
(
PasswordRequest
request
)
throws
Exception
{
String
password
=
request
.
getPassword
();
String
password
=
request
.
getPassword
();
String
resourceId
=
request
.
getResourceId
();
String
resourceId
=
request
.
getResourceId
();
PanelLink
one
=
findOne
(
resourceId
);
PanelLink
one
=
findOne
(
resourceId
,
request
.
getUser
()
);
String
pwd
=
one
.
getPwd
();
String
pwd
=
one
.
getPwd
();
boolean
pass
=
StringUtils
.
equals
(
pwd
,
password
);
boolean
pass
=
StringUtils
.
equals
(
pwd
,
password
);
if
(
pass
)
{
if
(
pass
)
{
String
token
=
JWTUtils
.
signLink
(
resourceId
,
password
);
String
token
=
JWTUtils
.
signLink
(
resourceId
,
request
.
getUser
(),
password
);
HttpServletResponse
httpServletResponse
=
ServletUtils
.
response
();
HttpServletResponse
httpServletResponse
=
ServletUtils
.
response
();
httpServletResponse
.
addHeader
(
"Access-Control-Expose-Headers"
,
"LINK-PWD-TOKEN"
);
httpServletResponse
.
addHeader
(
"Access-Control-Expose-Headers"
,
"LINK-PWD-TOKEN"
);
httpServletResponse
.
setHeader
(
"LINK-PWD-TOKEN"
,
token
);
httpServletResponse
.
setHeader
(
"LINK-PWD-TOKEN"
,
token
);
...
@@ -173,7 +203,7 @@ public class PanelLinkService {
...
@@ -173,7 +203,7 @@ public class PanelLinkService {
public
String
getShortUrl
(
String
resourceId
)
{
public
String
getShortUrl
(
String
resourceId
)
{
PanelLinkMappingExample
example
=
new
PanelLinkMappingExample
();
PanelLinkMappingExample
example
=
new
PanelLinkMappingExample
();
example
.
createCriteria
().
andResourceIdEqualTo
(
resourceId
);
example
.
createCriteria
().
andResourceIdEqualTo
(
resourceId
)
.
andUserIdEqualTo
(
AuthUtils
.
getUser
().
getUserId
())
;
List
<
PanelLinkMapping
>
mappings
=
panelLinkMappingMapper
.
selectByExample
(
example
);
List
<
PanelLinkMapping
>
mappings
=
panelLinkMappingMapper
.
selectByExample
(
example
);
PanelLinkMapping
mapping
=
mappings
.
get
(
0
);
PanelLinkMapping
mapping
=
mappings
.
get
(
0
);
return
SHORT_URL_PREFIX
+
mapping
.
getId
();
return
SHORT_URL_PREFIX
+
mapping
.
getId
();
...
@@ -182,7 +212,8 @@ public class PanelLinkService {
...
@@ -182,7 +212,8 @@ public class PanelLinkService {
public
String
getUrlByIndex
(
Long
index
)
{
public
String
getUrlByIndex
(
Long
index
)
{
PanelLinkMapping
mapping
=
panelLinkMappingMapper
.
selectByPrimaryKey
(
index
);
PanelLinkMapping
mapping
=
panelLinkMappingMapper
.
selectByPrimaryKey
(
index
);
String
resourceId
=
mapping
.
getResourceId
();
String
resourceId
=
mapping
.
getResourceId
();
PanelLink
one
=
findOne
(
resourceId
);
Long
userId
=
mapping
.
getUserId
();
PanelLink
one
=
findOne
(
resourceId
,
userId
);
return
convertDto
(
one
).
getUri
();
return
convertDto
(
one
).
getUri
();
}
}
}
}
backend/src/main/resources/db/migration/V29__de1.6.sql
浏览文件 @
a79a96f4
...
@@ -9,3 +9,10 @@ CREATE TABLE `dataset_row_permissions` (
...
@@ -9,3 +9,10 @@ CREATE TABLE `dataset_row_permissions` (
`update_time`
bigint
(
13
)
NULL
DEFAULT
NULL
,
`update_time`
bigint
(
13
)
NULL
DEFAULT
NULL
,
PRIMARY
KEY
(
`id`
)
PRIMARY
KEY
(
`id`
)
)
ENGINE
=
InnoDB
DEFAULT
CHARSET
=
utf8mb4
COLLATE
utf8mb4_general_ci
;
)
ENGINE
=
InnoDB
DEFAULT
CHARSET
=
utf8mb4
COLLATE
utf8mb4_general_ci
;
ALTER
TABLE
`panel_link`
ADD
COLUMN
`user_id`
BIGINT
(
20
)
NULL
DEFAULT
NULL
;
ALTER
TABLE
`panel_link_mapping`
ADD
COLUMN
`user_id`
BIGINT
(
20
)
NULL
DEFAULT
NULL
;
ALTER
TABLE
`panel_link`
CHANGE
COLUMN
`user_id`
`user_id`
BIGINT
(
20
)
NOT
NULL
,
DROP
PRIMARY
KEY
;
backend/src/main/resources/generatorConfig.xml
浏览文件 @
a79a96f4
...
@@ -60,8 +60,7 @@
...
@@ -60,8 +60,7 @@
</javaClientGenerator>
</javaClientGenerator>
<!--要生成的数据库表 -->
<!--要生成的数据库表 -->
<table
tableName=
"dataset_row_permissions"
>
<table
tableName=
"panel_link_mapping"
>
<columnOverride
column=
"filter"
javaType=
"java.lang.String"
jdbcType=
"VARCHAR"
/>
</table>
</table>
...
...
frontend/public/link.html
浏览文件 @
a79a96f4
...
@@ -30,13 +30,16 @@
...
@@ -30,13 +30,16 @@
return
(
false
)
return
(
false
)
}
}
const
link
=
getQueryVariable
(
'link'
)
const
link
=
getQueryVariable
(
'link'
)
const
user
=
getQueryVariable
(
'user'
)
const
terminal
=
getQueryVariable
(
'terminal'
)
const
terminal
=
getQueryVariable
(
'terminal'
)
let
url
=
"/#/delink?link="
+
encodeURIComponent
(
link
)
let
url
=
"/#/delink?link="
+
encodeURIComponent
(
link
)
if
(
terminal
)
{
if
(
terminal
)
{
url
+=
'&terminal='
+
terminal
url
+=
'&terminal='
+
terminal
}
}
if
(
user
)
{
url
+=
'&user='
+
user
}
window
.
location
.
href
=
url
window
.
location
.
href
=
url
</script>
</script>
</html>
</html>
frontend/src/api/link/index.js
浏览文件 @
a79a96f4
...
@@ -60,7 +60,7 @@ export function loadGenerate(resourceId) {
...
@@ -60,7 +60,7 @@ export function loadGenerate(resourceId) {
export
function
loadResource
(
resourceId
)
{
export
function
loadResource
(
resourceId
)
{
return
request
({
return
request
({
url
:
'api/link/resourceDetail/'
+
resourceId
,
url
:
'api/link/resourceDetail/'
+
resourceId
,
method
:
'
pos
t'
method
:
'
ge
t'
})
})
}
}
...
...
frontend/src/components/canvas/custom-component/UserView.vue
浏览文件 @
a79a96f4
...
@@ -159,6 +159,7 @@ export default {
...
@@ -159,6 +159,7 @@ export default {
filter
.
drill
=
this
.
drillClickDimensionList
filter
.
drill
=
this
.
drillClickDimensionList
filter
.
resultCount
=
this
.
resultCount
filter
.
resultCount
=
this
.
resultCount
filter
.
resultMode
=
this
.
resultMode
filter
.
resultMode
=
this
.
resultMode
filter
.
user
=
this
.
element
.
user
filter
.
queryFrom
=
'panel'
filter
.
queryFrom
=
'panel'
return
filter
return
filter
},
},
...
...
frontend/src/utils/index.js
浏览文件 @
a79a96f4
...
@@ -269,16 +269,17 @@ export function formatQuickCondition(param, quickField) {
...
@@ -269,16 +269,17 @@ export function formatQuickCondition(param, quickField) {
}
}
export
function
getQueryVariable
(
variable
)
{
export
function
getQueryVariable
(
variable
)
{
debugger
let
query
=
window
.
location
.
search
.
substring
(
1
)
let
query
=
window
.
location
.
search
.
substring
(
1
)
if
(
!
query
)
{
if
(
!
query
)
{
query
=
Cookies
.
get
(
variable
)
query
=
Cookies
.
get
(
variable
)
}
}
if
(
query
!==
undefined
){
const
vars
=
query
.
split
(
'&'
)
const
vars
=
query
.
split
(
'&'
)
for
(
var
i
=
0
;
i
<
vars
.
length
;
i
++
)
{
for
(
var
i
=
0
;
i
<
vars
.
length
;
i
++
)
{
const
pair
=
vars
[
i
].
split
(
'='
)
const
pair
=
vars
[
i
].
split
(
'='
)
if
(
pair
[
0
]
===
variable
)
{
return
pair
[
1
]
}
if
(
pair
[
0
]
===
variable
)
{
return
pair
[
1
]
}
}
}
}
return
(
false
)
return
(
false
)
}
}
frontend/src/views/link/index.vue
浏览文件 @
a79a96f4
<
template
>
<
template
>
<div
style=
"height: 100%;"
>
<div
style=
"height: 100%;"
>
<link-error
v-if=
"showIndex===0"
:resource-id=
"resourceId"
/>
<link-error
v-if=
"showIndex===0"
:resource-id=
"resourceId"
/>
<link-pwd
v-if=
"showIndex===1"
:resource-id=
"resourceId"
@
fresh-token=
"refreshToken"
/>
<link-pwd
v-if=
"showIndex===1"
:resource-id=
"resourceId"
:user=
"user"
@
fresh-token=
"refreshToken"
/>
<link-view
v-if=
"showIndex===2"
:resource-id=
"resourceId"
/>
<link-view
v-if=
"showIndex===2"
:resource-id=
"resourceId"
:user=
"user"
/>
<link-expire
v-if=
"showIndex===3"
:resource-id=
"resourceId"
/>
<link-expire
v-if=
"showIndex===3"
:resource-id=
"resourceId"
:user=
"user"
/>
</div>
</div>
</
template
>
</
template
>
<
script
>
<
script
>
...
@@ -23,6 +23,7 @@ export default {
...
@@ -23,6 +23,7 @@ export default {
resourceId
:
null
,
resourceId
:
null
,
PARAMKEY
:
'link'
,
PARAMKEY
:
'link'
,
link
:
null
,
link
:
null
,
user
:
null
,
showIndex
:
-
1
showIndex
:
-
1
}
}
},
},
...
@@ -33,17 +34,20 @@ export default {
...
@@ -33,17 +34,20 @@ export default {
loadInit
()
{
loadInit
()
{
this
.
$store
.
commit
(
'setPublicLinkStatus'
,
true
)
this
.
$store
.
commit
(
'setPublicLinkStatus'
,
true
)
debugger
// this.link = getQueryVariable(this.PARAMKEY)
this
.
link
=
this
.
$route
.
query
.
link
this
.
link
=
this
.
$route
.
query
.
link
this
.
user
=
this
.
$route
.
query
.
user
if
(
!
this
.
link
)
{
if
(
!
this
.
link
)
{
this
.
link
=
getQueryVariable
(
this
.
PARAMKEY
)
this
.
link
=
getQueryVariable
(
this
.
PARAMKEY
)
}
}
if
(
!
this
.
user
)
{
this
.
user
=
getQueryVariable
(
'user'
)
}
if
(
!
this
.
link
)
{
if
(
!
this
.
link
)
{
this
.
showError
()
this
.
showError
()
return
return
}
}
validate
({
link
:
encodeURIComponent
(
this
.
link
)
}).
then
(
res
=>
{
let
params
=
this
.
user
?
{
link
:
encodeURIComponent
(
this
.
link
),
user
:
this
.
user
}
:
{
link
:
encodeURIComponent
(
this
.
link
)};
validate
(
params
).
then
(
res
=>
{
const
{
resourceId
,
valid
,
enablePwd
,
passPwd
,
expire
}
=
res
.
data
const
{
resourceId
,
valid
,
enablePwd
,
passPwd
,
expire
}
=
res
.
data
this
.
resourceId
=
resourceId
this
.
resourceId
=
resourceId
// 如果链接无效 直接显示无效页面
// 如果链接无效 直接显示无效页面
...
...
frontend/src/views/link/pwd/index.vue
浏览文件 @
a79a96f4
...
@@ -45,6 +45,10 @@ export default {
...
@@ -45,6 +45,10 @@ export default {
resourceId
:
{
resourceId
:
{
type
:
String
,
type
:
String
,
default
:
null
default
:
null
},
user
:
{
type
:
String
,
default
:
null
}
}
},
},
data
()
{
data
()
{
...
@@ -88,10 +92,7 @@ export default {
...
@@ -88,10 +92,7 @@ export default {
this
.
msg
=
null
this
.
msg
=
null
this
.
$refs
.
pwdForm
.
validate
(
valid
=>
{
this
.
$refs
.
pwdForm
.
validate
(
valid
=>
{
if
(
!
valid
)
return
false
if
(
!
valid
)
return
false
const
param
=
{
const
param
=
this
.
user
?
{
password
:
this
.
form
.
password
,
resourceId
:
this
.
resourceId
,
user
:
this
.
user
}
:
{
password
:
this
.
form
.
password
,
resourceId
:
this
.
resourceId
}
password
:
this
.
form
.
password
,
resourceId
:
this
.
resourceId
}
validatePwd
(
param
).
then
(
res
=>
{
validatePwd
(
param
).
then
(
res
=>
{
if
(
!
res
.
data
)
{
if
(
!
res
.
data
)
{
this
.
msg
=
this
.
$t
(
'pblink.pwd_error'
)
this
.
msg
=
this
.
$t
(
'pblink.pwd_error'
)
...
...
frontend/src/views/link/view/index.vue
浏览文件 @
a79a96f4
...
@@ -18,6 +18,10 @@ export default {
...
@@ -18,6 +18,10 @@ export default {
resourceId
:
{
resourceId
:
{
type
:
String
,
type
:
String
,
default
:
null
default
:
null
},
user
:
{
type
:
String
,
default
:
null
}
}
},
},
data
()
{
data
()
{
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论