基于Electron.js构建的桌面应用,主要用于药房业务。
仓库地址:https://gogs.ywtinfo.com/ywt/pharmacy_pc_client
要求 Node.js 版本 10.12+
# 安装依赖
npm install
# 开发
npm run dev
# 打包
npm run package
# 多平台打包
npm run package-all
npm run package-linux
npm run package-win
app
┣ 📂assets
┃ ┣ 📂images // 应用内的图片资源
┃ ┃ ┗ 📜logo.png // 应用 logo
┃ ┗ 📂styles // 样式
┣ 📂components // 通用组件
┃ ┣ 📂GlobalFooter // 通用页脚
┃ ┣ 📂GlobalHeader // 通用页头
┃ ┣ 📂SiderMenu // 侧栏菜单
┃ ┣ 📂StandardTable // 表格封装
┣ 📂config // 配置
┃ ┗ 📜routes.js // 业务页面路由
┃ ┗ 📜const.js // 全局常量定义
┣ 📂containers // 业务页面
┃ ┣ 📜App.js
┃ ┗ 📜Root.js
┣ 📂layouts // 通用页面,如通用业务页面、登录页面
┣ 📂services // 接口类
┣ 📂store // store
┣ 📂utils // 工具类
┣ 📜app.global.scss
┣ 📜app.html
┣ 📜index.js
┣ 📜main.dev.js
┣ 📜menu.js // APP 顶部菜单
┣ 📜package.json
┣ 📜Routes.js // 通用页面路由
📂release // 打包产物
resources // 图标等资源
package.json
客户端支持联网更新版本,需求开发完成后,需要按照以下规范发布更新:
app/package.json
文件的 version
,即应用版本号;说明:
版本号遵循语义化版本规范;
每次发版版本号必须比上次发版的版本号要高。关于版本号的优先级比较,可以参考文档这里;
修改版本号必须单独 commit,并在 commit message 说明新的版本号信息;
根据平台打包,打包后的产物在 release
目录。以 Windows 平台为例,一般会有 _.yaml, _.exe, *.exe.blockmap 文件;
将上一个步骤生成的打包产物压缩成 tar 文件。文件名应遵循以下规则:{客户端名称(必须)}_{应用版本号(必须)}_{打包时间戳(可选)}_{版本功能描述或对应的需求版本号(必须)}_{打包人(可选)}.tar
;
注意:文件名最好不要包含空格、括号、星号等对终端操作不友好的字符。
将上一个步骤生成的 tar 压缩包,上传到内网的HTTP File Server的 dgclient 目录下;
要推送线上更新,将测试通过的 tar 压缩包,上传到 QA 服务器,并将压缩包的文件解压到 /root/dg_client_package/dgclient/update
目录下;
注意:更新时应该做好上一个版本的备份,以防发布失败需要回滚。
以 Windows 平台为例(以下文件可以在内网地址下载):
手动下载 electron-v2.0.18-win32-x64.zip
和 SHASUMS256.txt-2.0.18
,放入 %HOMEPATH%\AppData\Local\electron\Cache
目录下。
手动下载 winCodeSign-2.4.0.7z
,将解压后的全部文件添加到 %HOMEPATH%\AppData\Local\electron-builder\Cache\winCodeSign\winCodeSign-2.4.0
目录下。(如果没有目录需要手动创建)
手动下载 nsis-3.0.3.2.7z
,将解压后的全部文件添加到 %HOMEPATH%\AppData\Local\electron-builder\Cache\nsis\nsis-3.0.3.2
目录下。(如果没有目录需要手动创建)
手动下载 nsis-resources-3.3.0.7z
,将解压后的全部文件添加到 %HOMEPATH%\AppData\Local\electron-builder\Cache\nsis\nsis-resources-3.3.0
目录下。(如果没有目录需要手动创建)
%HOMEPATH%\AppData\Roaming\ywt\global.json
/Users/Username/Library/Application Support/ywt/global.json