# helios **Repository Path**: physoon/helios ## Basic Information - **Project Name**: helios - **Description**: Java后端框架 此框架是在之前pallas框架基础上,加上servlet异步执行机制,并对框架做了拆分(tool+common+core)三大部分组合而成。拆分后框架,减少框架工具类等耦合,借助工具类,可以实现插件扩展。 使用此框架项目:亚马逊广告V1.1 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 3 - **Forks**: 1 - **Created**: 2021-08-13 - **Last Updated**: 2023-07-26 ## Categories & Tags **Categories**: backend **Tags**: None ## README gitee地址 https://gitee.com/physoon/helios.git --helios框架 |--helios-core 框架核心层,应用入口 |--helios-common 应用无关的共用信息,如常量定义、日志处理、错误代码、异常类、通用类CObject等,依赖文件:iptable、system.properties、log4j2.xml |--helios-tool 框架工具类,比较独立的工程,导出jar包无配置文件依赖。 |--helios-plugin |--helios-redis |--helios-mongo 需要初始化数据库配置文件路径, 如:public class AppConst { public static final String MONGO_CONF = "/config/mongo.properties"; static { MongoCliDrv.initMongoConfigFile(MONGO_CONF); //初始化 MongoDB 连接配置文件 } } |-helios-serv 框架微服务 一、helios-tool 工具包说明 工具包主要是实现跟业务无关的通用函数封装。包括以下工具类: (1) CheckCodeTool——验证码图形生成工具; (2) DateTimeTool——日期转化工具类; (3) EncryptTool——加解密工具类; (4) ExcelTool——基于 POI 的 Excel读写工具类; (5) HttpTool——基于 HttpClient 封装的 http请求工具类; (6) IptableTool——基于纯真IP库封装的IP地址查询工具类,使用前需要调用 initIptable 指定IP库【只需要初始化一次】; (7) JsonTool——封装 fastjson 对象(JavaBean、Map等)与字符串转化; (8) Log4j2Tool——封装 log4j2 工具类,使用前需要调用 loadLog42jConfigFile 指定 log4j2.xml 配置文件【只需要初始化一次】; (9) MailTool ——邮件发送工具类; (10)PropTool——properties文件读写工具类; (11)RegularTool——正则工具类,封装了通用如手机号、邮箱等有效性校验接口,使用前需要调用 loadRegularConfigFile 指定默认正则配置文件【只需要初始化一次】; (12)StreamTool——stream流共用函数,如关闭流、stream转字符串、stream压缩等; (13)StrTool——字符串转换工具类; (14)SysTool——系统工具类,如获取系统类型、文本文件操作、文件夹操作、生成随机数、获取byte数组校验和、获取byte数组crc; (15)TreeTool——构建目录树工具; 二、helios-common 框架通用包 实现衔接 helios-tool 和 helios-core 桥梁,通过 Consts 类,加载system.properties配置参数,并指定工具类 Log42jTool、IpTableTool和RegularTool配置文件。 |-helios-common |- XmlCodeParaser 错误代码配置表加载和根据错误代码转错误信息【错误配置代码文件路径固定】 |- XmlFunParser 系统和应用接口配置加载及检索【appApi.xml和sysApi.xml 配置文件路径固定】 |- XmlFilterParser 文件访问拦截配置文件加载及调用对应拦截接口,实现url鉴权,需要实现 IFilterObject 接口。【filter.xml 配置文件路径固定】 1、如何引入过滤器实现文件访问鉴权? 方法1: 实现 Filter 接口,并在 web.xml 配置过滤器和对应拦截路径; 方法2: 框架内置实现 Filter 接口,并由 IFilterObject 提供接口对文件访问鉴权,应用只需要实现 IFilterObject 类的 authAccess(String path, String url, String sid) 方法。path是filter.xml里的path值,url是访问的url相对路径,sid是当前会话Id. 步骤: 1.在web.xml 的 FileFilter 下配置拦截路径,如 /upload/doc/* 2.在config/filter.xml配置拦截路径对应配置,如 ,其中 com.aeo.filter.UserDocUtils 类是实现了 IFilterObject authAccess 方法 三、helios-core 框架应用核心 此jar包实现应用常用功能集成,包括通用用户管理、系统鉴权等。 Application类,初始化 IAppDelegate 和 ICorpUserDelegate 接口,实现委托方法调用。 -IAppDelegate 委托方法 |- onAfterEndSession 某次会话结束后被调用 |- onAppInit 应用初始化时被调用 |- onAppFree 应用关闭时被调用 sys_func 表字段 funcs 配置说明 /** * 最小功能颗粒 * tag参数说明:tag=0表示平台和会员都有的功能;tag=1平台管理员功能;tag=2会员功能;tag=3管理员和会员功能(同0) * 8位从低到高表示平台功能和企业功能(00000000表示会员与平台都有的功能; * 目前只使用2位,如00000001[1]表示平台功能;00000010[2]表示会员功能;00000011[3]表示平台和会员都有的功能) * */ [{"id":"qrycorp","title":"企业查询","tag":1},{"id":"delcorp","title":"删除企业","tag":1},{"id":"edtcorp","title":"企业更新","tag":2},{"id":"dtlcorp","title":"企业详情"}] 三、helios-serv 微服务框架 变更日志: 2022.01.21 1、去掉 getmenu 接口,获取用户权限可以用 getfunc ;去掉 regcorp 接口,用户注册时默认添加空白企业信息,可以通过修改企业信息进行设置企业信息。 2、增加用户注册 reguser 接口,注册后的用户,默认为企业管理员。 在用项目 amzAds - 亚马逊广告V1.1版本