提交 64cac2a9 authored 作者: fit2cloud-chenyw's avatar fit2cloud-chenyw

feat: 使用lic结果过滤xpack插件菜单

上级 89c758a5
...@@ -23,9 +23,9 @@ public class LicenseController { ...@@ -23,9 +23,9 @@ public class LicenseController {
@GetMapping(value = "anonymous/license/validate") @GetMapping(value = "anonymous/license/validate")
public ResultHolder validateLicense() throws Exception { public ResultHolder validateLicense() throws Exception {
// if (!need_validate_lic) { if (!need_validate_lic) {
// return ResultHolder.success(null); return ResultHolder.success(null);
// } }
F2CLicenseResponse f2CLicenseResponse = defaultLicenseService.validateLicense(); F2CLicenseResponse f2CLicenseResponse = defaultLicenseService.validateLicense();
System.out.println(new Gson().toJson(f2CLicenseResponse)); System.out.println(new Gson().toJson(f2CLicenseResponse));
switch (f2CLicenseResponse.getStatus()) { switch (f2CLicenseResponse.getStatus()) {
......
...@@ -8,20 +8,16 @@ import org.springframework.beans.factory.support.BeanDefinitionRegistry; ...@@ -8,20 +8,16 @@ import org.springframework.beans.factory.support.BeanDefinitionRegistry;
import org.springframework.beans.factory.support.BeanDefinitionRegistryPostProcessor; import org.springframework.beans.factory.support.BeanDefinitionRegistryPostProcessor;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import javax.annotation.Resource;
@Component @Component
public class MyScanner implements BeanDefinitionRegistryPostProcessor { public class MyScanner implements BeanDefinitionRegistryPostProcessor {
@Resource
private MapperScannerConfigurer mapperScannerConfigurer;
private BeanDefinitionRegistry beanDefinitionRegistry; private BeanDefinitionRegistry beanDefinitionRegistry;
@Override @Override
public void postProcessBeanDefinitionRegistry(BeanDefinitionRegistry beanDefinitionRegistry) throws BeansException { public void postProcessBeanDefinitionRegistry(BeanDefinitionRegistry beanDefinitionRegistry) throws BeansException {
this.beanDefinitionRegistry = beanDefinitionRegistry; this.beanDefinitionRegistry = beanDefinitionRegistry;
System.out.println("-----");
} }
@Override @Override
...@@ -30,9 +26,7 @@ public class MyScanner implements BeanDefinitionRegistryPostProcessor { ...@@ -30,9 +26,7 @@ public class MyScanner implements BeanDefinitionRegistryPostProcessor {
} }
public void scanner() { public void scanner() {
if (null == mapperScannerConfigurer){ MapperScannerConfigurer mapperScannerConfigurer = SpringContextUtil.getBean(MapperScannerConfigurer.class);
mapperScannerConfigurer = SpringContextUtil.getBean(MapperScannerConfigurer.class);
}
mapperScannerConfigurer.postProcessBeanDefinitionRegistry(this.beanDefinitionRegistry); mapperScannerConfigurer.postProcessBeanDefinitionRegistry(this.beanDefinitionRegistry);
} }
......
package io.dataease.plugins.util; package io.dataease.plugins.util;
import io.dataease.commons.license.DefaultLicenseService;
import io.dataease.commons.license.F2CLicenseResponse;
import io.dataease.plugins.common.dto.PluginSysMenu; import io.dataease.plugins.common.dto.PluginSysMenu;
import io.dataease.plugins.common.service.PluginMenuService; import io.dataease.plugins.common.service.PluginMenuService;
import io.dataease.plugins.config.SpringContextUtil; import io.dataease.plugins.config.SpringContextUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.core.env.Environment;
import org.springframework.stereotype.Component;
import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@Component
public class PluginUtils { public class PluginUtils {
private static DefaultLicenseService defaultLicenseService;
@Autowired
public void setDefaultLicenseService(DefaultLicenseService defaultLicenseService) {
PluginUtils.defaultLicenseService = defaultLicenseService;
}
public static List<PluginSysMenu> pluginMenus() { public static List<PluginSysMenu> pluginMenus() {
F2CLicenseResponse f2CLicenseResponse = currentLic();
if (f2CLicenseResponse.getStatus() != F2CLicenseResponse.Status.valid)
return new ArrayList<>();
Map<String, PluginMenuService> pluginMenuServiceMap = SpringContextUtil.getApplicationContext().getBeansOfType(PluginMenuService.class); Map<String, PluginMenuService> pluginMenuServiceMap = SpringContextUtil.getApplicationContext().getBeansOfType(PluginMenuService.class);
List<PluginSysMenu> menus = pluginMenuServiceMap.values().stream().flatMap(item -> item.menus().stream()).collect(Collectors.toList()); List<PluginSysMenu> menus = pluginMenuServiceMap.values().stream().flatMap(item -> item.menus().stream()).collect(Collectors.toList());
return menus; return menus;
} }
public static F2CLicenseResponse currentLic() {
Environment environment = SpringContextUtil.getBean(Environment.class);
Boolean need_validate_lic = environment.getProperty("dataease.need_validate_lic", Boolean.class, true);
if (!need_validate_lic) {
F2CLicenseResponse f2CLicenseResponse = new F2CLicenseResponse();
f2CLicenseResponse.setStatus(F2CLicenseResponse.Status.valid);
return f2CLicenseResponse;
}
F2CLicenseResponse f2CLicenseResponse = defaultLicenseService.validateLicense();
return f2CLicenseResponse;
}
......
<template> <template>
<div v-if="!licstatus" class="lic"> <div v-if="!licValidate && licStatus !== 'no_record'" class="lic">
<strong>{{ $t(licMsg) }}</strong> <strong>{{ $t(licMsg) }}</strong>
</div> </div>
</template> </template>
...@@ -20,9 +20,12 @@ export default { ...@@ -20,9 +20,12 @@ export default {
theme() { theme() {
return this.$store.state.settings.theme return this.$store.state.settings.theme
}, },
licstatus() { licValidate() {
return this.$store.state.lic.validate return this.$store.state.lic.validate
}, },
licStatus() {
return this.$store.state.lic.licStatus || ''
},
licMsg() { licMsg() {
return this.$store.state.lic.licMsg ? ('license.' + this.$store.state.lic.licMsg) : null return this.$store.state.lic.licMsg ? ('license.' + this.$store.state.lic.licMsg) : null
} }
......
...@@ -152,12 +152,8 @@ const hasPermission = (router, user_permissions) => { ...@@ -152,12 +152,8 @@ const hasPermission = (router, user_permissions) => {
} }
return true return true
} }
const xpackMenuNames = ['system-param', 'system-plugin']
const filterLic = (router) => { const filterLic = (router) => {
if (xpackMenuNames.some(name => name === router.name) && !store.getters.validate) { return !router.isPlugin || store.getters.validate
return false
}
return true
} }
router.afterEach(() => { router.afterEach(() => {
// finish progress bar // finish progress bar
......
import { validateLic } from '@/api/system/lic' import { validateLic } from '@/api/system/lic'
const state = { const state = {
validate: true, validate: true,
licStatus: null,
licMsg: null licMsg: null
} }
...@@ -10,6 +11,9 @@ const mutations = { ...@@ -10,6 +11,9 @@ const mutations = {
}, },
SET_LIC_MSG: (state, msg) => { SET_LIC_MSG: (state, msg) => {
state.licMsg = msg state.licMsg = msg
},
SET_LIC_STATUS: (state, data) => {
state.licStatus = data
} }
} }
...@@ -22,8 +26,15 @@ const actions = { ...@@ -22,8 +26,15 @@ const actions = {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
validateLic().then(response => { validateLic().then(response => {
const { data } = response const { data } = response
if (data && data.status && data.status === 'no_record') {
commit('SET_VALIDATE', false)
commit('SET_LIC_MSG', data.message)
commit('SET_LIC_STATUS', data.status)
} else {
commit('SET_VALIDATE', true) commit('SET_VALIDATE', true)
commit('SET_LIC_MSG', null) commit('SET_LIC_MSG', null)
}
resolve(data) resolve(data)
}).catch(error => { }).catch(error => {
commit('SET_VALIDATE', false) commit('SET_VALIDATE', false)
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论