From 29039d6a45900a4f8adb2463e973a4bfc68f8a88 Mon Sep 17 00:00:00 2001 From: mxd <838425805@qq.com> Date: Wed, 26 May 2021 08:00:07 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=B3=A8=E9=94=80=E7=99=BB?= =?UTF-8?q?=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/MagicWorkbenchController.java | 20 ++++++++ .../interceptor/AuthorizationInterceptor.java | 7 +++ .../magicapi/interceptor/MagicUser.java | 4 ++ .../console/src/assets/iconfont/iconfont.css | 4 ++ .../console/src/assets/iconfont/iconfont.ttf | Bin 11396 -> 11796 bytes .../components/editor/magic-script-editor.vue | 12 +++-- .../src/components/layout/magic-options.vue | 4 ++ .../components/layout/magic-status-bar.vue | 47 ++++++++++++++++-- .../console/src/components/magic-editor.vue | 2 + .../components/resources/magic-api-list.vue | 1 + .../resources/magic-datasource-list.vue | 2 +- .../resources/magic-function-list.vue | 1 + magic-editor/src/console/src/scripts/store.js | 4 ++ 13 files changed, 100 insertions(+), 8 deletions(-) diff --git a/magic-api/src/main/java/org/ssssssss/magicapi/controller/MagicWorkbenchController.java b/magic-api/src/main/java/org/ssssssss/magicapi/controller/MagicWorkbenchController.java index 6b7a801e..0fac6e55 100644 --- a/magic-api/src/main/java/org/ssssssss/magicapi/controller/MagicWorkbenchController.java +++ b/magic-api/src/main/java/org/ssssssss/magicapi/controller/MagicWorkbenchController.java @@ -101,6 +101,26 @@ public class MagicWorkbenchController extends MagicController implements MagicEx return new JsonBean<>(true); } + @RequestMapping("/user") + @ResponseBody + public JsonBean user(HttpServletRequest request){ + if (configuration.getAuthorizationInterceptor().requireLogin()) { + try { + return new JsonBean<>(configuration.getAuthorizationInterceptor().getUserByToken(request.getHeader(Constants.MAGIC_TOKEN_HEADER))); + } catch (MagicLoginException ignored) { + + } + } + return new JsonBean<>(MagicUser.guest()); + } + + @RequestMapping("/logout") + @ResponseBody + public JsonBean logout(HttpServletRequest request){ + configuration.getAuthorizationInterceptor().logout(request.getHeader(Constants.MAGIC_TOKEN_HEADER)); + return new JsonBean<>(); + } + /** * 创建控制台输出 diff --git a/magic-api/src/main/java/org/ssssssss/magicapi/interceptor/AuthorizationInterceptor.java b/magic-api/src/main/java/org/ssssssss/magicapi/interceptor/AuthorizationInterceptor.java index 9e1b5c39..b30ee09c 100644 --- a/magic-api/src/main/java/org/ssssssss/magicapi/interceptor/AuthorizationInterceptor.java +++ b/magic-api/src/main/java/org/ssssssss/magicapi/interceptor/AuthorizationInterceptor.java @@ -31,6 +31,13 @@ public interface AuthorizationInterceptor { return null; } + /** + * 退出登录 + */ + default void logout(String token){ + + } + /** * 是否拥有页面按钮的权限 */ diff --git a/magic-api/src/main/java/org/ssssssss/magicapi/interceptor/MagicUser.java b/magic-api/src/main/java/org/ssssssss/magicapi/interceptor/MagicUser.java index aaff28c6..8922858c 100644 --- a/magic-api/src/main/java/org/ssssssss/magicapi/interceptor/MagicUser.java +++ b/magic-api/src/main/java/org/ssssssss/magicapi/interceptor/MagicUser.java @@ -37,4 +37,8 @@ public class MagicUser { public void setToken(String token) { this.token = token; } + + public static MagicUser guest(){ + return new MagicUser(null, "guest", null); + } } diff --git a/magic-editor/src/console/src/assets/iconfont/iconfont.css b/magic-editor/src/console/src/assets/iconfont/iconfont.css index cdacc043..7391ec2c 100644 --- a/magic-editor/src/console/src/assets/iconfont/iconfont.css +++ b/magic-editor/src/console/src/assets/iconfont/iconfont.css @@ -11,6 +11,10 @@ -moz-osx-font-smoothing: grayscale; } +.ma-icon-logout:before { + content: "\e65a"; +} + .ma-icon-datasource:before { content: "\e615"; } diff --git a/magic-editor/src/console/src/assets/iconfont/iconfont.ttf b/magic-editor/src/console/src/assets/iconfont/iconfont.ttf index adfbb309f82e2415b69c19d095fbd01432c7a979..412b5f12c534c91c488a540cc05daf62da1c435f 100644 GIT binary patch literal 11796 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 I*o`CkfBPv+>Hq)$ literal 11396 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 C-tMgc diff --git a/magic-editor/src/console/src/components/editor/magic-script-editor.vue b/magic-editor/src/console/src/components/editor/magic-script-editor.vue index 5e6c675d..fdca1f17 100644 --- a/magic-editor/src/console/src/components/editor/magic-script-editor.vue +++ b/magic-editor/src/console/src/components/editor/magic-script-editor.vue @@ -192,6 +192,7 @@ export default { bus.$on('doTest', this.doTest) bus.$on('doContinue', this.doContinue) bus.$on('doStepInto', this.doStepInto) + bus.$on('logout', this.closeAll) bus.$on('ready-delete', () => { if (this.info) { bus.$emit('delete-api', this.info) @@ -757,6 +758,12 @@ export default { bus.$emit('opened', {empty: true}) } }, + closeAll() { + let items = [...this.scripts] + items.forEach(element => { + this.close(element.id || element.tmp_id) + }) + }, changed(info) { if (info && info === this.selected) { let index = -1 @@ -816,10 +823,7 @@ export default { { label: '全部关闭', onClick: () => { - let items = [...this.scripts] - items.forEach(element => { - this.close(element.id || element.tmp_id) - }) + this.closeAll() } } ], diff --git a/magic-editor/src/console/src/components/layout/magic-options.vue b/magic-editor/src/console/src/components/layout/magic-options.vue index 6d9963c9..217feab3 100644 --- a/magic-editor/src/console/src/components/layout/magic-options.vue +++ b/magic-editor/src/console/src/components/layout/magic-options.vue @@ -65,6 +65,9 @@ export default { } }) bus.$on('opened', info => { + if(info.empty){ + return; + } this.isApi = info._type === 'api'; this.info = info if (this.isApi) { @@ -156,6 +159,7 @@ export default { color: var(--icon-color); padding: 0 2px; display: inline-block; + vertical-align: top; } .ma-bottom-tab li:hover { diff --git a/magic-editor/src/console/src/components/layout/magic-status-bar.vue b/magic-editor/src/console/src/components/layout/magic-status-bar.vue index 3caf7d08..968240be 100644 --- a/magic-editor/src/console/src/components/layout/magic-status-bar.vue +++ b/magic-editor/src/console/src/components/layout/magic-status-bar.vue @@ -1,27 +1,51 @@ diff --git a/magic-editor/src/console/src/components/magic-editor.vue b/magic-editor/src/console/src/components/magic-editor.vue index 3b603308..cce195ab 100644 --- a/magic-editor/src/console/src/components/magic-editor.vue +++ b/magic-editor/src/console/src/components/magic-editor.vue @@ -89,6 +89,7 @@ export default { this.$refs.apiList.initData() this.$refs.functionList.initData() this.$refs.datasourceList.initData() + bus.$emit('login'); } } }, @@ -179,6 +180,7 @@ export default { this.toolbarIndex = 1 } }) + bus.$on('logout', ()=> this.showLogin = true) }, destroyed() { bus.$off(); diff --git a/magic-editor/src/console/src/components/resources/magic-api-list.vue b/magic-editor/src/console/src/components/resources/magic-api-list.vue index 90b18471..9427581e 100644 --- a/magic-editor/src/console/src/components/resources/magic-api-list.vue +++ b/magic-editor/src/console/src/components/resources/magic-api-list.vue @@ -753,6 +753,7 @@ export default { } }, mounted() { + this.bus.$on('logout', () => this.tree = []) this.bus.$on('opened', item => { this.currentFileItem = item }) diff --git a/magic-editor/src/console/src/components/resources/magic-datasource-list.vue b/magic-editor/src/console/src/components/resources/magic-datasource-list.vue index 1bfd59ae..0ef95178 100644 --- a/magic-editor/src/console/src/components/resources/magic-datasource-list.vue +++ b/magic-editor/src/console/src/components/resources/magic-datasource-list.vue @@ -106,7 +106,6 @@ export default { }, // 初始化数据 initData() { - this.tree = [] request.send('datasource/list').success(data => { this.datasources = data; JavaClass.setExtensionAttribute('org.ssssssss.magicapi.modules.SQLModule',this.datasources.filter(it => it.key).map(it => { @@ -274,6 +273,7 @@ export default { } }, mounted() { + this.bus.$on('logout', () => this.datasources = []); this.bus.$on('refresh-resource',() => { this.initData() }) diff --git a/magic-editor/src/console/src/components/resources/magic-function-list.vue b/magic-editor/src/console/src/components/resources/magic-function-list.vue index 73ff7b29..678d8bd0 100644 --- a/magic-editor/src/console/src/components/resources/magic-function-list.vue +++ b/magic-editor/src/console/src/components/resources/magic-function-list.vue @@ -702,6 +702,7 @@ export default { }, mounted() { JavaClass.setupOnlineFunction(this.doFindFunction); + this.bus.$on('logout', () => this.tree = []); this.bus.$on('opened', item => { this.currentFileItem = item }) diff --git a/magic-editor/src/console/src/scripts/store.js b/magic-editor/src/console/src/scripts/store.js index bd3c8840..99896f66 100644 --- a/magic-editor/src/console/src/scripts/store.js +++ b/magic-editor/src/console/src/scripts/store.js @@ -9,6 +9,10 @@ class Store { localStorage.setItem(key, value); } + remove(key) { + localStorage.removeItem(key) + } + get(key) { return localStorage.getItem(key); }