动态实现应用ICON切换
动态实现应用ICON切换-已落地
设计
- 每次预埋需删除之前预埋的ICON,使用设计提供的新图
存在三种情况:
老版本预埋ICON数量 = 新版本预埋ICON数量,需要执行以下两步:
- 修改AndroidManifest.xml文件中activity-alias的android:icon值
- 替换{@link IconChangeManager#getActivityPath}方法中iconType的case值
老版本预埋ICON数量 < 新版本预埋ICON数量,需要执行以下三步:
- 修改AndroidManifest.xml文件中原有activity-alias的android:icon值,并新增多余的activity-alias节点
- 为{@link IconChangeManager#ACTIVITY_PATH_ARR}添加新增activity-alias的name
- 替换{@link IconChangeManager#getActivityPath}方法中iconType的case值,并新增多余的case
老版本预埋ICON数量 > 新版本预埋ICON数量,需要执行以下两步:
- 修改AndroidManifest.xml文件中原有activity-alias的android:icon值,多余的activity-alias节点
不能删除
- 替换{@link IconChangeManager#getActivityPath}方法中iconType的case值,并
删除
多余的case
- 修改AndroidManifest.xml文件中原有activity-alias的android:icon值,多余的activity-alias节点
实现Electron热更新
方案一
必看
我们使用Electron Builder打包,使用Electron Updater实现全量更新,下文的配置可能与此有关联,但是所占篇幅不多,可以参考。
思路
- 区分业务代码和node_modules
- 上传配置文件、增量包和全量包到OSS
- 点击检查更新按钮时,获取远程配置文件版本号,与本地版本号比较。如需更新,则判断远程版本号是4位还是3位,如果是4位,则下载全量包;如果是3位,则下载增量包。如不需更新,则弹出已经是最新版本的提示
- 如果是全量更新,则走原有的electron-updater的逻辑;如果是增量更新,则解压已下载的增量包,并替换,替换完成后再刷新页面。
Windows下使用Nginx
链接
使用
- 配置环境变量
- 使用命令
常用命令
首先需要进入安装目录,然后进入CMD执行以下命令
D:\nginx>nginx -h # 查看nginx命令帮助信息
D:\nginx>nginx -v # 查看nginx版本
D:\nginx>nginx -t # 检测nginx配置文件是否正确
D:\nginx>start nginx # 启动nginx,不阻塞CMD
D:\nginx>nginx # 启动nginx,阻塞CMD
D:\nginx>nginx -s stop # 停止nginx,不保存信息
D:\nginx>nginx -s quit # 停止nginx,保存信息
D:\nginx>nginx -s reload # 重载nginx,配置信息修改时使用
D:\nginx>nginx -s reopen # 重启nginx
案例
使用nginx代理新的页面,且不影响原有的配置文件(nginx.conf)
- 在nginx.conf的http节点下,最后一行,添加这句:
include vhost/*.conf;
- 在nginx.conf同级目录下创建vhost目录,然后在vhost目录中创建test.conf文件
将以下内容加入test.conf文件中
server { listen 8080; # 监听另一端口,避免与nginx.conf中监听的端口冲突 server_name localhost; location / { root 新页面路径; index index.html index.htm; } }
- 使用
start nginx
命令启动nginx,并在浏览器中访问:http://localhost:8080/
Electron新手教程
简介
Electron是由Github开发,用HTML,CSS和JavaScript来构建跨平台桌面应用程序的一个开源库。 Electron通过将Chromium和Node.js合并到同一个运行时环境中,并将其打包为Mac,Windows和Linux系统下的应用来实现这一目的。
一个Electron包含一个主进程和一个或多个渲染进程。主进程管理Windows窗口、应用升级等,渲染进程管理页面展示。
初始化
- 系统:Windows7 x64
- 因为使用Vue开发业务,所以使用
Electron-Vue
模板,并且使用Electron-Builder
打包,使用Electron-Updater
更新应用,下面的讲述会针对于此。