Browse Source

添加Import提示

mxd 4 years ago
parent
commit
496b71d34e

+ 9 - 3
README.md

@@ -20,14 +20,20 @@
 - 支持MySQL、MariaDB、Oracle、DB2、PostgreSQL、SQLServer 等多种数据库
 - 支持非关系型数据库Redis、Mongodb
 - 支持分页查询以及自定义分页查询
-- 支持多数据源配置
+- 支持多数据源配置,支持运行时动态添加数据源
 - 支持SQL缓存,以及自定义SQL缓存
 - 支持自定义JSON结果、自定义分页结果
-- SQL支持拼接,占位符,判断等语法
+- 支持对接口权限配置、拦截器等功能
+- 支持运行时动态修改数据源
+- 支持Swagger接口文档生成
 - 基于[magic-script](https://gitee.com/ssssssss-team/magic-script)脚本引擎,动态编译,无需重启,实时发布
+- 支持数据库事务、SQL支持拼接,占位符,判断等语法
+- 支持文件上传、下载、输出图片
+- 支持脚本历史版本对比与恢复
 - 支持脚本代码自动提示、错误提示
+- 支持导入Spring中的Bean、Java中的类
 - 支持在线调试脚本引擎
-- 支持自定义工具类、自定义模块包
+- 支持自定义工具类、自定义模块包、自定义类型扩展
 
 # 快速开始
 

+ 19 - 2
src/main/java/org/ssssssss/magicapi/spring/boot/starter/MagicAPIAutoConfiguration.java

@@ -38,6 +38,7 @@ import org.ssssssss.magicapi.provider.impl.DefaultApiServiceProvider;
 import org.ssssssss.magicapi.provider.impl.DefaultMagicAPIService;
 import org.ssssssss.magicapi.provider.impl.DefaultPageProvider;
 import org.ssssssss.magicapi.provider.impl.DefaultResultProvider;
+import org.ssssssss.magicapi.utils.ClassScanner;
 import org.ssssssss.script.MagicModuleLoader;
 import org.ssssssss.script.MagicScript;
 import org.ssssssss.script.MagicScriptEngine;
@@ -71,6 +72,8 @@ public class MagicAPIAutoConfiguration implements WebMvcConfigurer {
 	@Autowired
 	private ApplicationContext springContext;
 
+	private String ALL_CLASS_TXT;
+
 	public MagicAPIAutoConfiguration(MagicAPIProperties properties) {
 		this.properties = properties;
 	}
@@ -87,6 +90,19 @@ public class MagicAPIAutoConfiguration implements WebMvcConfigurer {
 		return properties;
 	}
 
+	@ResponseBody
+	private String readClass() {
+		if (ALL_CLASS_TXT == null) {
+			try {
+				ALL_CLASS_TXT = StringUtils.join(ClassScanner.scan(), "\r\n");
+			} catch (Throwable t) {
+				logger.warn("扫描Class失败", t);
+				ALL_CLASS_TXT = "";
+			}
+		}
+		return ALL_CLASS_TXT;
+	}
+
 	@Override
 	public void addResourceHandlers(ResourceHandlerRegistry registry) {
 		String web = properties.getWeb();
@@ -100,7 +116,8 @@ public class MagicAPIAutoConfiguration implements WebMvcConfigurer {
 				requestMappingHandlerMapping.registerMapping(RequestMappingInfo.paths(web).build(), this, MagicAPIAutoConfiguration.class.getDeclaredMethod("redirectIndex", HttpServletRequest.class));
 				// 读取配置
 				requestMappingHandlerMapping.registerMapping(RequestMappingInfo.paths(web + "/config.json").build(), this, MagicAPIAutoConfiguration.class.getDeclaredMethod("readConfig"));
-
+				// 读取配置
+				requestMappingHandlerMapping.registerMapping(RequestMappingInfo.paths(web + "/classes.txt").produces("text/plain").build(), this, MagicAPIAutoConfiguration.class.getDeclaredMethod("readClass"));
 			} catch (NoSuchMethodException ignored) {
 			}
 		}
@@ -319,7 +336,7 @@ public class MagicAPIAutoConfiguration implements WebMvcConfigurer {
 	 * 创建UI对应的后台Controller
 	 */
 	private WebUIController createWebUIController(ResultProvider resultProvider, ApiServiceProvider apiServiceProvider, MappingHandlerMapping mappingHandlerMapping) {
-		if (properties.getWeb() == null) {	//	判断是否开启了UI界面
+		if (properties.getWeb() == null) {    //	判断是否开启了UI界面
 			return null;
 		}
 		WebUIController controller = new WebUIController();