# 药房客户端 基于[Electron.js](https://www.electronjs.org/)构建的桌面应用,主要用于药房业务。 仓库地址:https://gogs.ywtinfo.com/ywt/pharmacy_pc_client ## 构建 要求 Node.js 版本 10.12+ ```bash # 安装依赖 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 ``` ## 发布 客户端支持联网更新版本,需求开发完成后,需要按照以下规范发布更新: 1. 修改 `app/package.json` 文件的 `version`,即**应用版本号**; > 说明: > > 版本号遵循[语义化版本规范](https://semver.org/lang/zh-CN/); > > 每次发版版本号必须比上次发版的版本号要高。关于版本号的优先级比较,可以参考[文档这里](https://semver.org/lang/zh-CN/#spec-item-11); > > 修改版本号必须单独 commit,并在 commit message 说明新的版本号信息; 2. 根据平台打包,打包后的产物在 `release` 目录。以 Windows 平台为例,一般会有 _.yaml, _.exe, \*.exe.blockmap 文件; 3. 将上一个步骤生成的打包产物**压缩成 tar 文件**。文件名应遵循以下规则:`{客户端名称(必须)}_{应用版本号(必须)}_{打包时间戳(可选)}_{版本功能描述或对应的需求版本号(必须)}_{打包人(可选)}.tar`; > 注意:文件名最好不要包含空格、括号、星号等对终端操作不友好的字符。 4. 将上一个步骤生成的 tar 压缩包,上传到内网的[HTTP File Server](http://192.168.3.202:8864/)的 dgclient 目录下; 5. 要推送线上更新,将测试通过的 tar 压缩包,上传到 QA 服务器,并将压缩包的文件解压到 `/root/dg_client_package/dgclient/update` 目录下; > 注意:更新时应该做好上一个版本的备份,以防发布失败需要回滚。 6. 上线成功后,把当前开发的分支合并到 master 分支,并打上应用版本号的 tag 然后 push; ## 注意事项 ### Windows 1. 由于网络的原因,可能首次打包会因为某些依赖包无法下载而失败,可以通过以下方法解决。 以 Windows 平台为例(以下文件可以在[内网地址](http://192.168.3.202:8864/electron)下载): - 手动下载 `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` 目录下。(如果没有目录需要手动创建) 2. 配置文件路径:`%HOMEPATH%\AppData\Roaming\ywt\global.json` ### MacOS 1. 配置文件路径:`/Users/Username/Library/Application Support/ywt/global.json`