目的

创建一个桌面应用 运行crm项目
electron文档 https://www.electronjs.org/

基本途径

方案一

主进程创建一个窗口,通过loadFile加载编译之后的crm-web-v2文件包

方案二

主进程创建一个窗口,通过loadURL一个远程链接【此处为线上crm链接】

方案三

将crm-web-v2项目整块迁移至一个通过electron-vue为模版创建的脚手架中

方案一 方案二 方案三
准备 crm项目打包 crm项目上线 crm项目迁移
crm项目需要的准备/配合 1.静态文件引用路径需改

2.服务器跟地址设置规则修改(本方式location.protocol为file:)

3. 链接以//开头 即无协议 即取当前地址的协议都需要修改 还需要修改的已知的iconfont.css 及其中引入的远程字体文件

4. head中设置安全策略 第三方即非本地的静态资源的域名都学要列出(如上面说的百度统计 & iconfont相关 ) 或者如图(不安全) https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Content-Security-Policy

1. crm-web-v2与迁移之后的electron-crm-web-v2隔绝成两个项目 git记录不存在

2. 之前项目修改过webpack配置的 迁移之后需要验证是否需要重新修改


3. 见方案一的2.3.4(已知的)


4. 官方迁移指南 云:理论可行,可能不是一个完全验证过的方法 https://simulatedgreg.gitbooks.io/electron-vue/content/cn/migration-guide.html
crm项目改动 需重新打包 需重新打包

综上所属 从 人力&时间成本上 可行性排序

方案二 > 方案一 > 方案三

桌面版crm 相对与 网页版crm

不存在浏览器差异 electron使用chromeuim引擎

已见的实用性

1.主进程与渲染进程之间的通信 解决crm导出时间过长等待问题(webscoket只能保证不离开浏览器且不关闭tab页的情况下的通知,本通知可以是应用级的)
2.打印

其他

https://www.electronjs.org/docs

文档更新时间: 2021-07-15 14:01