1 Star 0 Fork 443

无忌/hasor

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
changelog.txt 24.18 KB
一键复制 编辑 原始数据 按行查看 历史
阿库玛 提交于 2016-05-17 11:17 . 1.changelog修改。
===== Hasor-Core v2.3.2 (2016-?)
* 改进:
01.事件机制,callBack.handleComplete的调用实际改为,事件处理结束。
02.一些方法的注释进行更正。
03.新增datachain插件,可以脱离Hasor使用:数据对象转换工具,提供 A 类型对象到 B 类型对象转换功能。并使开发者在转换过程中可以实现更加高级别的控制协调能力。
04.Result增加一系列Message相关方法。
===== Hasor-Core v2.3.1 (2016-04-13)
* 修复:
01.Fix :AbstractMergeSettings在刷新加载配置文件的时,因为map无序而导致。主配置文件被率先放入最终结果集中,正常的逻辑应该是最后放入。
===== Hasor-Core v2.3.0 (2016-04-06)
* 新增:
01.新增“.hasor.default.asEagerSingleton”配置用来配置默认情况下,类型是以单例模式运行还是以原型方式运行。(默认单例模式)
02.ApiBinder接口新增“asEagerPrototype”方法用来强制以原型方式注册。到目前为止可以选择的方式有:“asEagerSingleton”、“asEagerPrototype”
03.新增注解配置:@Singleton、@Prototype
04.单例类如果配置了@Init注解,则在注册到Hasor容器时,会在容器启动的第一时间自动调用init方法以完成对象初始化功能。
- 这个特性类似Spring配置文件中 init属性的功能。
05.Hasor启动类新增传入File参数方式指定配置文件。
* 改进:
01.容器在启动时增加EventContext类型的绑定,开发的时候可以直接通过依赖注入或者appContext.getInstance(EventContext.class)方式的到。
02.Event插件在接收到事件响应时,需要一直等待AppContext对象被注入进来。原有逻辑是等待10秒注入AppContext对象。
03.优化EventModule启动时间。
04.事件处理线程命名。
05.改进环境变量处理方式,凡是Hasor中定义的环境变量其优先级都高于系统环境变量。这意味着,定义相同名称的环境变量Hasor中配置会覆盖系统的配置。
===== Hasor-Core v2.2.0 (2016-02-23)
* 新增:
01.增加Event事件注册插件,简化时间的注册机制。
02.Settings接口增加 addSetting方法和clearSetting方法用来增加和删除配置项。
03.新增Spring插件,完美与Spring整合。同时支持与Spring的双向事件通知。
- 支持Hasor的Bean通过Spring获取、支持SpringBean通过Hasor获取。
- 支持Hasor的事件,通过Spring方式接收、支持Spring的事件,通过Hasor方式接收。
* 改进:
01.改进事物管理器的拦截器注册机制,从拦截所有类改为只拦截标记了@Transactional注解的方法。
02.ResourceModule插件的实现机制从 Servlet 改为Filter,当资源无法通过插件获取时候,转交给servlet容器。原有方案是直接抛除404。
03.RestfulModule插件的实现机制从 Servlet 改为Filter,可以通过WebController类中renderTo方法指定具体要渲染的模版,模版渲染更加灵活。
04.RestfulModule插件的实现机制从 Servlet 改为Filter,支持ContextMap中setViewName方法来指定渲染的模版。
05.环境变量,WOR_HOME 从 USER.DIR 更换到 USER.HOME。原因是,USER.DIR 工作目录获取并不是想象的那样始终是在程序位置。
06.SaxXmlParser类优化,在处理配置项冲突时,升级为保留全部配置。原有逻辑为合并覆盖。
07.Event接口在传入参数时不再使用“Object[]”方式,改为范型T,这样做简化了开发者在使用事件机制时各种类型转换的麻烦,从而减少错误的概率。
===== Hasor-Core v2.1.0 (2016-01-17)
* 新增:
01.增加一个WebDemo示例工程。
02.新增一个插件,简化“modules.module”的配置。
03.新增restful插件,做为hasor内置Web开发插件。
04.添加templates插件,该插件将提供模版渲染支持。
* 改进:
01.修改ShutdownHook钩子。在start时注册它、当shutdown时解除注册。
02.增加Environment接口的包装器。
03.为@Inject注解,增加Type枚举。通过枚举可以标识注入是:ByID 还是 ByName。
04.剔除JSP自定义函数功能。
05.resource插件在,选择缓存目录时,如果连续失败99999次。将会报一个错误,然后终止插件的启动。
06.templates插件与resource插件,整合了mimetype插件功能。
07.Valid插件增加@ValidDefine注解方式定义验证。
* 修复:
01.Fix “Shutdown in progress”异常。
02.Fix Web模式下启动空指针异常。
03.Fix @Inject 注解携带value参数时失效的问题。
04.Fix JdbcTemplate使用Result->Object映射时,最后一个参数应设值丢失的问题。
===== Hasor-Core v2.0.0 (2015-11-27)
* 新增:
01.新增 @Inject、@Init 两个注解以支持注解方式的自动注入。
02.添加 ShutdownHook钩子,当外部终止jvm的时候,Hasor可以引发shutdown过程。
03.事务管理增加“TransactionTemplate”接口。
04.启动过程中增加了一些 log 的输出。
05.将jetty的JSON解析器代码添加到Hasor工具代码中,位于包“org.more.json”。
06.新增WebApiBinderWrap类。
07.ASM包升级为5.0版本,原有的ASM组建在解析jdk1.8的类文件时会有异常。
* 改进:
01.StandardEnvironment构造方法改进。
02.StartModule接口更名为LifeModule,并新增了onStop方法。至此通过LifeModule接口可以得到模块整个生命周期。
03.AbstractEnvironment类的initEnvironment方法增加Settings类型参数。createSettings方法不再属于AbstractEnvironment的抽象方法。
04.StandardEnvironment类增加Settings类型参数的构造方法。
05.MimeType接口增加getContent()方法。
06.原有模块在实现 StartModule 接口时,如果是通过启动参数或者配置方式的模块,器onStart调用时间点在“ContextEvent_Started”事件之后。
- 现改为引发“ContextEvent_Started”事件时。
07.MVC的插件分离成独立插件。
08.db包“datasource”模块重构、简化逻辑,它不再提供数据库连接和当前线程的映射绑定。
09.事务管理器模块大量优化,同时“Manager”更名为“TranManager”。可以更好的让人理解。
10.事务管理器负责提供数据库连接与当前线程的绑定关系。
11.删除ResultModule类和其相关的功能,该功能不再是核心功能的一部分。
12.MVC框架被迁出 Hasor框架成为一个独立的Web开发框架名为“haweb”。
* 修复:
01.大量优化。。
02.Fix,classcode模块对long、float、double基本类型错误处理的问题。
03.AbstractClassConfig增加对 java javax 包类的排除,凡是这两个包的类都不进行aop。
===== Hasor-Core v1.2.0 (2015-08-20)
* 新增:
01.增加 @IgnoreParam注解,用于Form表单注入忽略。
02.net.hasor.db.transaction.Manager新增回调方式执行事务的方法。
03.事务拦截器部分分离出独立的事务插件,不再属于db的一部分。
* 修复:
01.修复BeanUtils在获取所有字段、所有方法时无法获取到父类中数据的问题。
* 改进:
01.Validation验证类传入的参数改为泛型,ValidationCallInterceptor增加了对泛型判断的逻辑。
02.Valid验证框架分离出MVC成为一个独立的验证框架。
03.改进ResultDO相关Message方面的功能,使其用起来更爽。
===== Hasor-Core v1.1.0 (2015-07-09)
* 新增:
01.增加ContextMap类,该类可以为WebMVC提供request作用域范围的数据存储。可以通过AbstractWebController或者AppContext获取到它。
02.mvc框架增加请求文件名尾缀匹配,默认配置:“htm;html;do;”,配置项为:“hasor.modConfig.mvc.interceptFiles”。
03.Hasor增加autoAware方法用以冲抵ApiBinder中删除的autoAware方法。
* 修复:
01.修复TemplateAppContext中在加载模块的时候,没有拦截住因为引入依赖而导致的报错。
02.修复mvc验证框架ValidData类中validMessage字段未初始化引发的空指针异常。
03.修复资源加载器插件,MultiResourceLoader类在向map插入值时插入空指针的问题。
* 改进:
01.ResourceLoader接口的exist方法不在抛出IO异常。
02.AbstractWebController增加getModelByName方法。
03.AppContextAware接口的使用不再依赖ApiBinder接口的声明,此项改进去掉了ApiBinder接口中的autoAware方法。
04.TemplateAppContext 在 start过程中不再需要处理AppContextAware相关初始化工作。
05.BindInfoProvider去掉构造方法ApiBinder类型参数,相关AppContextAware工作不再需要特殊声明。
===== Hasor-Core v1.0.0 (2015-07-03)
* 新增:
01.新增DateUtils,时间日期方面的工具类。
02.增添了一组getProvider方法方法,可以通过String或Class来获取Bean的Provider。
03.AopMatchers类的expressionClass和expressionMethod方法开放使用。
04.合并Hasor-MVC框架
--MVC--
05.迁移 controller、result 插件。
06.支持 Action 返回值自定义处理。
07.新增验证机制,使用Validation接口。
08.ResultProcess新增对异常的处理方法。
09.优化扩展机制的设计,进一步模块化设计。
10.LoadHellper类的apiBinder方法,获取的ApiBinder类型改为返回WebApiBinder类型。
11.loadController方法增加异常抛出。
12.LoadHellper,增加注册表单验证器的方法。
* 改进:
01.Paginator 类中Order子类,提升为接口,原始的类实现通过SortFieldOrder提供。
--此项更改有助于分页工具类应用到更广的场景下。
02.修改Result接口的addMessage方法,使其子类在重写的时候减少警告的发生。
03.Hasor内部实现factory相关的简化重构。
04.resource插件功能简单化,之前的插件是直接迁移自Hasor-WebUI项目。
* 修复:
01.修复使用“apiBinder.bindType(PojoBean.class).asEagerSingleton()”方式声明单例失效的问题。
===== Hasor-Core v0.0.14 (2015-06-18)
* 新增:
01.Settings接口增加merageXmlNode方法用于汇聚XmlNode。
* 改进:
01.JdbcTemplate 类中的公共方法分离出一个新的基类JdbcConnection。
02.Result - 添加Message消息传输机制。
03.放弃Hasor-AR项目,删除AR相关的软件包,目前为止Hasor-DB原生不支持ORM。后续扩展可以支持Hibernate,ibatis,mybatis。
04.保留Hasor-AR项目中,PageResult、Paginator两个工具类
* 修复:
01.Fix 日志输出了格式化字符。
02.Fix 多配置文件时候,主配置文件失效问题。
03.Fix 相同模块在不同的“static-config.xml”配置文件中出现时,解决重复加载问题。
04.扫清,FindBugs 扫描出来的Bug。
===== Hasor-Core v0.0.13 (2015-05-09)
* 改进:
01.删除封装的log,采用slf4j。jdk自带的log因为采用了SystemClassLoader导致log失败。
02.修改测试用例,取消log的封装。
===== Hasor-Core v0.0.12 (2015-05-09)
* 新增:
01.all-in行动,db和web项目被合并到core,同时合并一些quick插件。
--DB--
02.新增 orm 工具包,携带了一个及其简易的数据库操作框架。
03.新增 SimpleDBModule 工具类,便于为一个数据源配置 事务管理器。
04.LocalDataSourceHelper 支持每个线程绑定多个数据库连接。
05.支持7种事务传播属性。
06.支持隔离级别设置。
07.支持多数据源。
08.支持多数据源事务控制(非JPA)
09.提供@Transactional简单的声明式事务注解。
10.开发者可以自定义事务拦截器,自定义注解拦截事务。
11.新增 SavepointDataSourceHelper 接口,并且 DefaultDataSourceHelper 类支持该接口。
12.新增可以通过 DataSourceUtils 获取当前连接的方法。
13.通过 net.hasor.db.jdbc 软件包为 Java 应用程序提供了一个轻量化 JDBC 操作接口。
14.软件包 net.hasor.db.datasource 为 Java 应用程序提供了数据源服务。
15.增加事务管理器、事务拦截器
--WEB--
16.增加 shutdown 生命周期阶段。
17.更换LoggerHelper为日志输出组件。
18.环境变量实现接口调整,应用Core改动。
19.增加 MimeType 获取工具Module。
20.AnnoWebAppContext 类中增加,下面几个接口的绑定。
ServletRequest、HttpServletRequest、ServletResponse、HttpServletResponse、HttpSession、ServletContext
21.新增 JSP Tag 标签库,通过 Hasor JSP 标签库可以方便基于 jsp 的 Hasor 开发。
--Quick--
22.新增@Aop注解插件,用于简化Aop声明,只要类通过binder绑定到系统中就会支持。
23.新增Web请求响应编码设置,默认为UTF-8。
24.新增资源插件,可以从classpath\path\zip中提取资源作为web响应。
* 改进:
01.StandardEventManager 改为无锁方式实现。
02.删除封装的log,采用slf4j。jdk自带的log因为采用了SystemClassLoader导致log失败。
===== Hasor-Core v0.0.11 (2015-04-24)
* 修复:
01.LoggerHelper,修复当多次调用log输出时产生堆栈溢出问题。
===== Hasor-Core v0.0.10 (2015-04-03)
* 新增:
01.添加org.more.future工具包,用于实现 java.util.concurrent.Future 接口功能。
02.新增一个 ApiBinderWrap类。
03.增加 SettingsWarp 工具类。
04.增加 shutdown 生命周期阶段。
05.增加 apache 中 toStringBuilter 工具到 org.more.builder。
06.增添业务基础包org.more.bizcommon(将来如果发展大了会分离出去,目前就几个类)
07.增添 StartModule 接口。
* 改进:
01.修复当程序工作在特殊 ClassLoader 下例如 (Web容器中)时,MoreClassLoader类导致 Class 重复加载问题。
02.优化,AbstractSettings 实现细节,解决在多线程下可能引发的 HashMap 死锁问题。
03.AopClassConfig、MethodClassConfig、MethodClassConfig 类增加了一个无参的构造方法。
04.ClassUtils 增加 getSuperClassGenricType 方法以获取泛型信息。
05.内部实现增加 CustomerProvider接口。
06.内部实现增加 MetaDataAdapter类。
07.不再依赖slf4j日志包,日志输出采用jdk自带的,至此 Hasor实现了0依赖。
08.分离出专用的 log 工具包 org.more.logger。
09.环境变量实现接口调整,接口有删减。原有接口当设置Java系统属性之后,环境变量组建不能识别它(Bug)。
10.修复 ScanClassPath 类无法正确扫描到父类中接口实现的Bug。
===== Hasor-Core v0.0.9 (2014-09-21)
* 新增:
01.Hasor 的依赖注入使用 InjectMembers接口。
* 改进:
01.优化 AppContext 接口实现类的层次关系。
02.AppContext,不再支持 addModule 这种形式添加模块,改为通过 start 方法传入。
03.AppContext,不在支持 getParent()方法。
04.context部分重构,精简了设计。
05.Hasor 不再依赖 Guice or Spring。
===== Hasor-Core v0.0.8 (2014-07-26)
* 新增:
01.确立类型绑定机制。
02.确立Bean机制。
03.内置Aop接口,不再直接依赖Aop联盟的包。
04.支持Scope。
05.支持Provider。
06.AopMatchers类型新增subClassesOf方法。匹配给定类型的子类(或实现了的接口),迁移至Hasor-Quick项目。
* 改进:
01.Settings接口的 getNameSpace 方法改名为 getSetting。
02.AppContext接口的 findBean、findProvider 方法更名 findBindingBean、findBindingProvider
--使其接近ApiBinder接口中bindingType方法的命名以便于开发者理解。
03.所有Plugins都移动到Hasor-Quick项目中。
04.将Hasor中start、stop生命周期,相关的支持全部删除,不再支持插件生命周期。
05.所有主要接口50%以上进行改进,改进的目的是不再强制依赖Guice。
06.添加Provider接口、EventContext接口。
07.删除ModulePropxy类、删除启动依赖检查功能。
08.瘦身(去掉JSON包、Ognl包、其它一些工具包)。
===== Hasor-Core v0.0.7 (2014-01-17)
* 修复:
01.修复 AbstractAppContext 类处理 AppContextAware 接口方面的代码。
--当类扫描器扫描不到 AppContextAware 接口实现类时能引发整个doStart阶段的退出。
02.修复当使用 @Listener 注解注册容器事件时,导致ContextEvent_Initialized、ContextEvent_Started 两个事件无法正确调用的问题。
03.修复当配置文件中,根节点下第一层节点名称如果与根节点同名,导致的数据混乱问题。
04.修复 new AnnoStandardAppContext() 引发的Bug。
05.修复 FileEnvironment 在创建 FileSettings 时候导致重复加载配置文件的问题。
* 新增:
01.Settings 通过映射 key "." 可以取得根节点。
02.新增 @GlobalAop 配置全局拦截器。
03.新增 PluginHelper 工具类,可以将一个插件转换成为 Hasor 的 Module。
04.Settings 接口新增可以设置新值的功能。
05.Environment 接口新增可以设置包扫描范围的方法。
06.AbstractAppContext 类新增 addGuiceModule 方法可以直接将 Guice 模块加入到 Hasor 中。
* 改进:
01.Settings接口的 getNameSpace 方法改名为 getSetting。
02.改造 Hasor 的类扫描机制,从 Class.forName 改为字节码解析(性能上仍需要进一步优化)。
03.部分接口方法名称更换。
04.修改 Cache 接口的 clean 方法名为 cleanCache,以避免和 Map 接口冲突。
05.GlobalProperty接口更名为FieldProperty
===== Hasor-Core v0.0.6 (2013-12-21)
* 修复:
01.改进 当使用 JSON 将(List、Map、基本类型)类之外的类型尝试序列化时会得到一个异常。修复这个问题,当遇到这种情况工具将使用 JSONPojoConvertor 对其进行序列化。
* 新增:
01.新增在注册 ServicesRegisterHandler 时使用 Class 类型。注册的 Handler 支持 依赖注入。
02.AppContext 接口新增 lookUpRegisterService 方法。可以通过该方法取得注册的 ServicesRegisterHandler 对象。
03.BeanUtils 工具类新增 copyProperty 用于做属性拷贝的方法。(支持POJO 与 Map 之间相互拷贝)
* 改进:
01.改进 Hasor 类使其输出日志时不在必须通过 new Exception 来确定方法调用位置,从而提升日志输出性能。
02.改进 AopInterceptor 类中用于缓存作用的 methodInterceptorMap 属性,将其从 HashMap 类型改为 WeakHashMap。避免产生内存泄漏问题。
03.改进 AppContext 当处理 ServicesRegisterHandler 的注册和解除注册时新增 boolean 返回值。
04.Hasor 类,归为 core 软件包。
05.改进 ConverterUtils 当使用“ConverterUtils.convert(Date.class, null);”转换时间日期时出现异常。其实 null 本可以转换为 “(Date)null”。
06.删除 Aware 插件,该插件的 AppContextAware 接口将由 “net.hasor.core” 直接支持。
-这是由于一下几个方面:
1.net.hasor.core 软件包已经开始依赖它了。
2.当应用程序中创建了多个 AppContext 之后 “AwareUtil”类的插件处理方式会导致注入混乱。
07.从 “net.hasor.core” 中剔除鸡肋的 ServicesRegisterHandler 功能。该功能于 v0.0.4 版本加入。
08.AbstractAppContext 梳理内部方法调用过程,通过受保护的方法暴露一些内部执行过程。
09.所有容器事件发送都改为 “当完成某个阶段的任务之后在引发阶段事件” 例如:
--ContextEvent_Initialized 当完成所有初始化任务之后。
--ContextEvent_Started 当所有模块都 Start 之后(确保了每个模块都会尝试 start 之后)。
--ContextEvent_Stoped 当所有模块都 Stop 之后(确保了每个模块都会尝试 stop 之后)。
===== Hasor-Core v0.0.5 (2013-11-25)
* 新增:
01.新增 DomXmlAccept 工具类,将 Xml 文件转换为 XmlNode 接口形式的 Dom 树。
* 改进:
01.修复 DecSequenceMap 工具类,removeAllMap 方法引发 ConcurrentModificationException 异常的问题。
02.修复 ApiBinderModule 类构造方法没有处理 Binder 参数导致插件加载失败的问题。
03.修改 AbstractAppContext 类的 Guice 创建方法 createInjector。
将 Hasor 核心启动模块从 createInjector方法中拿出来,这样避免扩展该方法时对 Hasor 造成致命伤害。
04.Cache 接口方法有关 key 参数从 String 类型更换为 Serializable。并增加了一些方法。
05.修改 StandardContextSettings 类,确保位于jar包中的“static-config.xml”资源在合并时优先级低于file。
===== Hasor-Core v0.0.4 (2013-11-11)
* 新增:
01.Environment 接口新增 isDebug 方法,用于表示应用程序启动是否为 debug 模式。
02.Hasor 类新增 isDebugLogger、isErrorLogger、isWarningLogger、isInfoLogger 方法用于判断日志是否支持该级别的输出。
03.原有 Hasor 类中 debug、error、warning、info 日志输出方法会判断响应级别的日志输出是否支持。
04.增加 Hasor 类中 trace、isTraceLogger 方法,用于处理 Trace 日志级别。
05.增加服务注册机制,详见 ServicesRegisterHandler 接口用法。
06.增加 ModuleEvent_Start、ModuleEvent_Stoped事件。
07.ApiBinder、AppContext 接口中新增一些有关 BindingType 的工具方法。
08.新增 Cache 插件。
09.新增 Aware 插件,该插件提供给不方便通过 @Inject 注解注入 AppContext 接口的类,使其在 AppContext 在 Start 的第一时间得到注入。
10.新增 日志输出,可以看到插件列表,并且展示了插件是否加载成功。
* 改进:
01.变更 ContextEvent_Stop 事件为 ContextEvent_Stoped。
02.删除 giftSupport 属性的配置,Gift 扩展方式不在通过配置文件形式启用。
03.Gift 体系更改为 Plugin,原本 Gift 是作为模块的一个补充,目前改为框架功能插件体系。
04.代码大面积优化。
===== Hasor-Core v0.0.3 (2013-10-09)
* 改进:
01.修改根POM改为 0.0.2 该版本可以处理 GBK 编码下 Javadocs 生成。
02.改进JavaDoc内容的质量。
===== Hasor-Core v0.0.2 (2013-09-29)
* 修复:
01.修复:StandardAppContext调用无参构造方法引发异常的问题,同时修改几个核心类的构造方法。
* 新增:
01.新增以模块类名为事件名,当执行 Init\Start\Stop时候,抛出对应事件。
02.增加 Gift 体系用于扩展非模块类小工具。
* 改进:
01.DefaultXmlProperty类更名为DefaultXmlNode,并且XmlNode增加几个常用方法。
02.删除所有Mapping部分支持,相关代码移到demo作为例子程序。
03.AbstractAppContext类中有关事件的声明移动到 AppContext 接口中。
04.@Before 更名为 @Aop,性能进行了优化。
05.ASM升级为4.0、ClassCode连带升级。
==== Hasor-Core v0.0.1 (2013-09-15)
* 新增:
01.增加@GuiceModule注解,可以标记在com.google.inject.Module接口上,可以将Guice模块引入到Hasor中。
* 改进:
01.Hasor-Core:80%以上代码重构,重构主要涉及内容的是结构性重构。
重构之后将会使Hasor核心层的逻辑更加清晰,更便于扩展核心层功能。
02.InitContext接口功能合并到Environment接口中。
03.ApiBinder接口增加模块依赖管理。
04.HasorModule接口更名为Module。
05.HasorEventListener接口更名为EventListener。
06.XmlProperty接口更名为XmlNode。
07.config-mapping.properties属性文件的解析不在是必须的。
08.重构Settings实现。Xml解析方式不在依赖ns.prop属性文件,实现方式改为Sax。
09.@Module注解,更名为@AnnoModule。
10.重构AppContext实现。
11.包空间整理,所有包都被移动到net.hasor下,整理License文件。删除残余的、无用的类。
12.删除所有与Web相关的支持,这部分功能全部移动到Hasor-Web(Hasor-MVC更名而来)。
13.生命周期:合并onReady和onInit两个生命周期阶段方法,删除销毁过程。
14.工具包修订:ResourcesUtils工具类中,类扫描代码优化。
15.工具包修订:DecSequenceMap.java、DecStackMap.java两个类文件增加一些有用的方法。
16.所有Demo程序都汇总到demo-project项目中。
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/88888888/hasor.git
git@gitee.com:88888888/hasor.git
88888888
hasor
hasor
master

搜索帮助