From 26c54d41bccb102dabba2bec0173060fb33e28a3 Mon Sep 17 00:00:00 2001 From: fit2cloud-chenyw Date: Fri, 26 Nov 2021 11:38:25 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=89=8D=E7=AB=AF=E6=94=B9=E4=B8=BA?= =?UTF-8?q?=E5=8D=95=E9=A1=B5=E9=9D=A2=E5=BA=94=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../auth/service/impl/ShiroServiceImpl.java | 1 - .../dataease/controller/IndexController.java | 15 +++-------- .../controller/panel/server/LinkServer.java | 16 +++++------- .../service/panel/PanelLinkService.java | 2 +- frontend/public/link.html | 24 +++++++++++++++-- frontend/public/nolic.html | 4 +-- frontend/src/link/Link.vue | 15 ----------- frontend/src/link/link-router.js | 17 ------------ frontend/src/link/link.js | 26 ------------------- frontend/src/nolic/Nolic.vue | 16 ------------ frontend/src/nolic/nolic-router.js | 17 ------------ frontend/src/nolic/nolic.js | 26 ------------------- frontend/src/permission.js | 4 +-- frontend/src/router/index.js | 8 +++++- frontend/src/views/link/index.vue | 13 ++++++++-- frontend/src/views/nolic/index.vue | 9 ------- frontend/vue.config.js | 10 ------- 17 files changed, 55 insertions(+), 168 deletions(-) delete mode 100644 frontend/src/link/Link.vue delete mode 100644 frontend/src/link/link-router.js delete mode 100644 frontend/src/link/link.js delete mode 100644 frontend/src/nolic/Nolic.vue delete mode 100644 frontend/src/nolic/nolic-router.js delete mode 100644 frontend/src/nolic/nolic.js delete mode 100644 frontend/src/views/nolic/index.vue diff --git a/backend/src/main/java/io/dataease/auth/service/impl/ShiroServiceImpl.java b/backend/src/main/java/io/dataease/auth/service/impl/ShiroServiceImpl.java index 3ccfc07624..781e02c3c8 100644 --- a/backend/src/main/java/io/dataease/auth/service/impl/ShiroServiceImpl.java +++ b/backend/src/main/java/io/dataease/auth/service/impl/ShiroServiceImpl.java @@ -41,7 +41,6 @@ public class ShiroServiceImpl implements ShiroService { filterChainDefinitionMap.put("/link/**", ANON); filterChainDefinitionMap.put("/index.html", ANON); filterChainDefinitionMap.put("/link.html", ANON); - filterChainDefinitionMap.put("/xggznb/**", ANON); //获取主题信息 diff --git a/backend/src/main/java/io/dataease/controller/IndexController.java b/backend/src/main/java/io/dataease/controller/IndexController.java index 5d7ef017a7..3e39999a8a 100644 --- a/backend/src/main/java/io/dataease/controller/IndexController.java +++ b/backend/src/main/java/io/dataease/controller/IndexController.java @@ -32,15 +32,6 @@ public class IndexController { return "index.html"; } - @GetMapping("/link") - public String link() { - return "link.html"; - } - - @GetMapping("/test") - public String test() { - return "test.html"; - } @GetMapping("/deApi") public String deApi() { @@ -53,12 +44,12 @@ public class IndexController { } } - @GetMapping("/xggznb/{index}") - public String xggznb(@PathVariable(value = "index", required = true) Long index) { + @GetMapping("/link/{index}") + public String xggznb(@PathVariable(value = "index", required = true) Long index) { String url = panelLinkService.getUrlByIndex(index); HttpServletResponse response = ServletUtils.response(); String param = url.substring(url.indexOf("?") + 1); - Cookie cookie = new Cookie("link", param); + Cookie cookie = new Cookie("link", param.split("=")[1]); response.addCookie(cookie); return url; } diff --git a/backend/src/main/java/io/dataease/controller/panel/server/LinkServer.java b/backend/src/main/java/io/dataease/controller/panel/server/LinkServer.java index b1042ae8ec..9a24529fcb 100644 --- a/backend/src/main/java/io/dataease/controller/panel/server/LinkServer.java +++ b/backend/src/main/java/io/dataease/controller/panel/server/LinkServer.java @@ -2,7 +2,6 @@ package io.dataease.controller.panel.server; import io.dataease.base.domain.PanelLink; -import io.dataease.controller.ResultHolder; import io.dataease.controller.panel.api.LinkApi; import io.dataease.controller.request.chart.ChartExtRequest; import io.dataease.controller.request.panel.link.*; @@ -17,6 +16,7 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; +import java.net.URLDecoder; import java.util.Map; @@ -24,7 +24,6 @@ import java.util.Map; public class LinkServer implements LinkApi { - @Autowired private PanelLinkService panelLinkService; @@ -42,12 +41,11 @@ public class LinkServer implements LinkApi { panelLinkService.changeEnablePwd(request); } - @Override public void resetOverTime(@RequestBody OverTimeRequest request) { panelLinkService.overTime(request); - + } @Override @@ -61,15 +59,16 @@ public class LinkServer implements LinkApi { } @Override - public ValidateDto validate(@RequestBody LinkValidateRequest request) throws Exception{ + public ValidateDto validate(@RequestBody LinkValidateRequest request) throws Exception { String link = request.getLink(); + link = URLDecoder.decode(link, "UTF-8"); String json = panelLinkService.decryptParam(link); ValidateDto dto = new ValidateDto(); String resourceId = json; PanelLink one = panelLinkService.findOne(resourceId); dto.setResourceId(resourceId); - if (ObjectUtils.isEmpty(one)){ + if (ObjectUtils.isEmpty(one)) { dto.setValid(false); return dto; } @@ -91,14 +90,13 @@ public class LinkServer implements LinkApi { } @Override - public Object viewDetail(String viewId, ChartExtRequest requestList) throws Exception{ + public Object viewDetail(String viewId, ChartExtRequest requestList) throws Exception { return chartViewService.getData(viewId, requestList); } - @Override - public String shortUrl(Map param) { + public String shortUrl(Map param) { String resourceId = param.get("resourceId"); return panelLinkService.getShortUrl(resourceId); } diff --git a/backend/src/main/java/io/dataease/service/panel/PanelLinkService.java b/backend/src/main/java/io/dataease/service/panel/PanelLinkService.java index 3b8cdf09c6..ef85c3d155 100644 --- a/backend/src/main/java/io/dataease/service/panel/PanelLinkService.java +++ b/backend/src/main/java/io/dataease/service/panel/PanelLinkService.java @@ -32,7 +32,7 @@ import java.util.List; public class PanelLinkService { private static final String BASEURL = "/link.html?link="; - private static final String SHORT_URL_PREFIX = "/xggznb/"; + private static final String SHORT_URL_PREFIX = "/link/"; @Resource private PanelLinkMapper mapper; diff --git a/frontend/public/link.html b/frontend/public/link.html index c56ef18665..f1592804ae 100644 --- a/frontend/public/link.html +++ b/frontend/public/link.html @@ -4,10 +4,30 @@ - - DataEase + + diff --git a/frontend/public/nolic.html b/frontend/public/nolic.html index 89f3ecbc52..fc6f71162b 100644 --- a/frontend/public/nolic.html +++ b/frontend/public/nolic.html @@ -4,10 +4,10 @@ - DataEase -
+
缺少许可
+ diff --git a/frontend/src/link/Link.vue b/frontend/src/link/Link.vue deleted file mode 100644 index 7ee67c92eb..0000000000 --- a/frontend/src/link/Link.vue +++ /dev/null @@ -1,15 +0,0 @@ - - - diff --git a/frontend/src/link/link-router.js b/frontend/src/link/link-router.js deleted file mode 100644 index 7ea2381ba1..0000000000 --- a/frontend/src/link/link-router.js +++ /dev/null @@ -1,17 +0,0 @@ -import Vue from 'vue' -import Router from 'vue-router' - -Vue.use(Router) - -export default new Router({ - routes: [ - { - path: '/', - name: 'home', - component: () => import('../views/link/index.vue'), - meta: { - title: '首页' - } - } - ] -}) diff --git a/frontend/src/link/link.js b/frontend/src/link/link.js deleted file mode 100644 index 4999c9d1f3..0000000000 --- a/frontend/src/link/link.js +++ /dev/null @@ -1,26 +0,0 @@ -import Vue from 'vue' -import Link from './Link.vue' -import router from './link-router' -import store from '../store' -import '@/styles/index.scss' // global css -import i18n from '../lang' // internationalization -import ElementUI from 'element-ui' -import '@/components/canvas/custom-component' // 注册自定义组件 -import widgets from '@/components/widget' -import * as echarts from 'echarts' -import UmyUi from 'umy-ui' -import '@/utils/DateUtil' -Vue.use(UmyUi) -Vue.prototype.$echarts = echarts -Vue.config.productionTip = false -Vue.use(widgets) -Vue.use(ElementUI, { - - i18n: (key, value) => i18n.t(key, value) -}) -new Vue({ - router, - store, - i18n, - render: h => h(Link) -}).$mount('#link') diff --git a/frontend/src/nolic/Nolic.vue b/frontend/src/nolic/Nolic.vue deleted file mode 100644 index 3824ab98da..0000000000 --- a/frontend/src/nolic/Nolic.vue +++ /dev/null @@ -1,16 +0,0 @@ - - - diff --git a/frontend/src/nolic/nolic-router.js b/frontend/src/nolic/nolic-router.js deleted file mode 100644 index 4730048019..0000000000 --- a/frontend/src/nolic/nolic-router.js +++ /dev/null @@ -1,17 +0,0 @@ -import Vue from 'vue' -import Router from 'vue-router' - -Vue.use(Router) - -export default new Router({ - routes: [ - { - path: '/', - name: 'home', - component: () => import('../views/nolic/index.vue'), - meta: { - title: '首页' - } - } - ] -}) diff --git a/frontend/src/nolic/nolic.js b/frontend/src/nolic/nolic.js deleted file mode 100644 index f3110de5ae..0000000000 --- a/frontend/src/nolic/nolic.js +++ /dev/null @@ -1,26 +0,0 @@ -import Vue from 'vue' -import Nolic from './Nolic.vue' -import router from './nolic-router' -import store from '../store' -import '@/styles/index.scss' // global css -import i18n from '../lang' // internationalization -import ElementUI from 'element-ui' -import '@/components/canvas/custom-component' // 注册自定义组件 -import widgets from '@/components/widget' -import * as echarts from 'echarts' -import UmyUi from 'umy-ui' - -Vue.use(UmyUi) -Vue.prototype.$echarts = echarts -Vue.config.productionTip = false -Vue.use(widgets) -Vue.use(ElementUI, { - - i18n: (key, value) => i18n.t(key, value) -}) -new Vue({ - router, - store, - i18n, - render: h => h(Nolic) -}).$mount('#nolic') diff --git a/frontend/src/permission.js b/frontend/src/permission.js index f49c414902..6d4d0ec253 100644 --- a/frontend/src/permission.js +++ b/frontend/src/permission.js @@ -11,7 +11,7 @@ import { filterAsyncRouter } from '@/store/modules/permission' NProgress.configure({ showSpinner: false }) // NProgress Configuration -const whiteList = ['/login', '/401', '/404'] // no redirect whitelist +const whiteList = ['/login', '/401', '/404', '/delink', '/nolic'] // no redirect whitelist router.beforeEach(async(to, from, next) => { // start progress bar @@ -29,7 +29,7 @@ router.beforeEach(async(to, from, next) => { NProgress.done() } else { const hasGetUserInfo = store.getters.name - if (hasGetUserInfo || to.path.indexOf('/preview/') > -1) { + if (hasGetUserInfo || to.path.indexOf('/preview/') > -1 || to.path.indexOf('/delink') > -1 || to.path.indexOf('/nolic') > -1) { next() store.dispatch('permission/setCurrentPath', to.path) } else { diff --git a/frontend/src/router/index.js b/frontend/src/router/index.js index 9f61116aaf..55100f2fd7 100644 --- a/frontend/src/router/index.js +++ b/frontend/src/router/index.js @@ -71,6 +71,12 @@ export const constantRoutes = [ } ] }, + { + path: '/delink', + component: () => import('@/views/link'), + hidden: true + }, + { path: '/preview/:reportId', component: () => import('@/components/canvas/components/Editor/PreviewEject'), @@ -208,7 +214,7 @@ export const constantRoutes = [ ] const createRouter = () => new Router({ - // mode: 'history', // require service support +// mode: 'history', // require service support mode: 'hash', scrollBehavior: () => ({ y: 0 }), routes: constantRoutes diff --git a/frontend/src/views/link/index.vue b/frontend/src/views/link/index.vue index 4579a22e4c..37f46ce781 100644 --- a/frontend/src/views/link/index.vue +++ b/frontend/src/views/link/index.vue @@ -17,6 +17,7 @@ export default { components: { LinkError, LinkPwd, LinkView, LinkExpire }, + data() { return { resourceId: null, @@ -32,8 +33,16 @@ export default { loadInit() { debugger - this.link = getQueryVariable(this.PARAMKEY) - validate({ link: this.link }).then(res => { + // this.link = getQueryVariable(this.PARAMKEY) + this.link = this.$route.query.link + if (!this.link) { + this.link = getQueryVariable(this.PARAMKEY) + } + if (!this.link) { + this.showError() + return + } + validate({ link: encodeURIComponent(this.link) }).then(res => { const { resourceId, valid, enablePwd, passPwd, expire } = res.data this.resourceId = resourceId // 如果链接无效 直接显示无效页面 diff --git a/frontend/src/views/nolic/index.vue b/frontend/src/views/nolic/index.vue deleted file mode 100644 index 0ce8caa15f..0000000000 --- a/frontend/src/views/nolic/index.vue +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/frontend/vue.config.js b/frontend/vue.config.js index a0b8c6cfdf..9f40bcca0e 100644 --- a/frontend/vue.config.js +++ b/frontend/vue.config.js @@ -36,16 +36,6 @@ module.exports = { entry: 'src/main.js', template: 'public/index.html', filename: 'index.html' - }, - link: { - entry: 'src/link/link.js', - template: 'public/link.html', - filename: 'link.html' - }, - nolic: { - entry: 'src/nolic/nolic.js', - template: 'public/nolic.html', - filename: 'nolic.html' } }, configureWebpack: {