mirror of
https://github.com/tsingui/softcenter-1.git
synced 2024-12-24 19:15:34 +00:00
1.9 KiB
1.9 KiB
软件中心原理
负责维护与独立更新新增模块的安装脚本以及安装界面。也就是说路由器初步只需要安装软件中心,再由软件中心去更新各个模块的安装脚本与安装界面,用户就可以独立安装相应的模块了。恩,这个是一个好想法。
目前软件中心没有像 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 动态拉取拿?