软件中心原理 ===== 负责维护与独立更新新增模块的安装脚本以及安装界面。也就是说路由器初步只需要安装软件中心,再由软件中心去更新各个模块的安装脚本与安装界面,用户就可以独立安装相应的模块了。恩,这个是一个好想法。 目前软件中心没有像 openwrt 一样使用 opkg 来解决软件安装的依赖问题。目前原因是为了简单。所以现在只是一个安装的压缩包,并没有解决软件中心的各大依赖问题。如果有依赖问题请在安装脚本里去实现与提示。 模块实现规定 ====== 比如 adm 模块。本项目文件夹形式: * adm * adm adm程序本身的一些配置,以及可执行程序 * bin 相关用到的可执行文件 * init.d 启动脚本。其实是一个软链接 * install.sh 模块本身解压之后要运行的安装脚本 * scripts http 界面配置需要用到的网页配置相关脚本 * adm_install.sh 软件中心安装包要带上它,以实现模块的安装 * adm_udpate.sh 软件中心要带上它,以实现模块的更新 * adm_config.sh 路由器 http server 服务的配置脚本 * adm_uninstall.sh 卸载 * webs * Module_adm.asp 路由器配置界面,软件中心要带上它,以实现模块界面的安装。用户才可以点开配置界面安装模块本身。 * build.sh 模块生成脚本 * config.json.js 当前项目在线版本号,通过跨域调用来获得此版本 * version 版本信息文件,模块安装依赖此版本信息 软件中心设计初步想法 ====== * 所有的图标存于./softcenter/res/software_center.png * 所有的 APP 信息存于 app.json.js * 已安装的数据,存于路由器内部 * 未安装部分,实时从 github 拿到数据 * 问题 * 未安装部分的图片,如何实时从github当中拿? * 未安装部分的 css 如何实时从 github 动态拉取拿?