![]() |
统一的加密参数存取接口 更多...

类 | |
| class | Emx::Param |
| 关于系统需要持久化保存的参数的相关操作 更多... | |
| class | Emx::ParamSetEvent |
| 用于监听参数设置事件 更多... | |
Emx中关于参数配置文件有两个定义,一个是Param(参数),另一个是Config(配置),两者都是保存在flash中的某些json文件(Emx中统一使用json来存储参数和配置文件),但是他们有一些区别。
| Param | Config |
|---|---|
| 加密 | 不加密 |
| 可动态修改 | 静态的通常不进行修改 |
| 通过ParamServer提供的接口远程读写 | 通过SysEnv获取到路径后直接读取文件 |
实际开发中需要注意他们各自的特性,例如某些敏感信息,需要加密存储,那么就需要使用Param,如果是一些不敏感的信息,也不会去修改它,那么Config更合适,也便于日常调试的时候查看其内容。Config的读写可以使用Core中的Utils模块中的SysEnv结合EasyJson::Load来读取。下面来重点说一下Param,Param模块包含一个ParamServer,ParamServer是EmxCoreServer的一个线程,启动后会在后台运行,负责实现参数的读写等实际操作,使用者通过libEmxCore.so来调用ParamServer的服务。Emx中使用的所有的param都是由EmxCoreServer中的ParamServer服务进行统一加解密读写处理的
ParamServer集成在EmxCoreServer中,其配置文件也是在EmxCoreServer启动的时候传入,配置文件的内容和含义参看1.EmxCore中的core.json解析
实际使用中可以直接调用Param来进行参数的读写,也可以继承Param后再进行读写
当设备需要恢复出厂配置时,可以通过Param提供的ResetAllToFactory接口实现,ParamServer会删除core.json中param.normal和param.backup指定目录下的参数文件,从而将所有的param恢复默认值,也就是param.default目录中的值,当某些参数文件不需要在这个时候被重置时,可以通过修改resetReserved.json参数文件实现,这个文件内部记录了在ResetAllToFactory过程中哪些参数文件会被忽略