# 开发环境配置 * 中行支付对接需调用32位系统的插件。所以需要使用`32位`的node版本。[关于windows安装多版本nodejs](https://raythunder.cn/multiple-versions-node-on-windows/) * 编译windows原生模块,一键安装所需构建工具。[安装windows-build-tools](https://www.npmjs.com/package/windows-build-tools) * 安装原生依赖模块后(如node-ffi),需要把该模块编译成对应electron版本的原生模块。默认情况下会自动编译。 如果有什么报错继续执行`npm run rebuild` * 配置vue.config.js ``` .... pluginOptions: { electronBuilder: { externals: ['ffi'], // 这里填入原生模块 // If you are using Yarn Workspaces, you may have multiple node_modules folders // List them all here so that VCP Electron Builder can find them nodeModulesPath: ['../../node_modules', './node_modules'], ... ``` # 开发步骤 > 注意先切换至32位nodejs ## 安装项目的全部依赖 ``` yarn // 或 npm i ``` # 项目运行 ## 测试环境 ``` yarn run electron:serve // 或 npm run electron:serve ``` ## 打包 ``` yarn run electron:build // 或 npm run electron:build ``` # .npmrc文件修改了相关软件包的源地址 electron测试环境首次启动时,需要安装chrome内核的相关开发者插件,可能需要翻墙安装。否则会导致启动失败 # TODO - [ ] 身份证读取数据时,有空数据先更新空数据,否则新增数据 - [ ] IP地址获取错误 # 相关文档 * [vue-echart](https://github.com/ecomfe/vue-echarts/blob/master/README.zh_CN.md) * [配置原生模块](https://nklayman.github.io/vue-cli-plugin-electron-builder/guide/guide.html#native-modules) * [关于在electron中调用C++动态库的经验总结](https://blog.csdn.net/wang839305939/article/details/83780789) * [node-ffi使用指南](https://juejin.im/post/5b58038d5188251b186bc902) * [process和child_process使用详解](https://www.php.cn/js-tutorial-390359.html) * [FileSaver.js 介绍](https://www.cnblogs.com/yunser/p/7629399.html) # 其他 1. 二维码扫码机。注意关闭回车符设置 2. ○窗 ## yarn 安装 https://yarnpkg.com/lang/zh-hans/docs/install/ ELECTRON_MIRROR=https://npm.taobao.org/mirrors/electron/ npm install --save-dev electron ## yarn 常用命令 ### 添加依赖包 ``` yarn add [package] yarn add [package]@[version] yarn add [package]@[tag] ``` ### 将依赖项添加到不同依赖项类别 分别添加到 devDependencies、peerDependencies 和 optionalDependencies: ``` yarn add [package] --dev yarn add [package] --peer yarn add [package] --optional ``` ### 升级依赖包 ``` yarn upgrade [package] yarn upgrade [package]@[version] yarn upgrade [package]@[tag] ``` ### 移除依赖包 ``` yarn remove [package] ``` # 西宁远程服务器 ``` bash route add 10.100.11.0 mask 255.255.255.0 192.168.17.165 ``` ``` 10.100.11.10 clear clear!@# ``` # 中行支付,密码键盘tusn配置文件 qrcode.pay/trans.ini `post_url`,`get_url`,`TUSN`三个字段里的序列号与密码键盘背面的TUSN数字保持一致。 # 西宁款台号格式 011001、011002 # 西宁远程命令 ./edge.exe -c xhlticket1 -a 10.0.19.201 -k xhlticket1 -l pres.cleartv.cn:11443 10.0.19.102 clear clear!@# var/www/cticket/winApp `xining` 线下 hsz990814zshzy 自营 hsz990814zsh 分销 hsz990814zshfx 西宁线上账号:张立霞 1234qwer # s631第一张打印空白,官方回复 http://www.chongshang.com.cn/news/view.asp?id=633 # 软件更新 打包后放至CDN服务器,同步更新根目录下的index.html里的版本号及下载地址。需要上传到服务器的文件为`index.html、软件包、latest.yml`。cnd服务的软件上传位置为`/home/clear/pcdn/client` # 各景区名: 西宁景区 清鹤景区 # iconv-lite 关于报错_webpack_require()的解决方法 到node_modules中找到iconv-lite文件夹,lib文件夹,打开index.js,最下方有两个require的后一个参数括号去掉,如下: ``` js var nodeVer = typeof process !== 'undefined' && process.versions && process.versions.node; if (nodeVer) { // Load streaming support in Node v0.10+ var nodeVerArr = nodeVer.split(".").map(Number); if (nodeVerArr[0] > 0 || nodeVerArr[1] >= 10) { require("./streams");//修改这个 } // Load Node primitive extensions. require("./extend-node");//修改这个 } ``` [vue-cli@3 + electron开发一款本地小说阅读器](https://www.jianshu.com/p/251abed3b6ba) # 修改支付测试需要修改的地方 根据景点名称修改,配置文件的mock参数,以及: 1. @/utils/index.js getPayResponse 2. @/utils/choosePay.js # 西宁 http://111.44.187.162:88 外网 http://10.100.11.10 内网 清鹤测试, 密码:clear!@# # 西宁远程命令 ./edge.exe -c xhlticket1 -a 10.0.19.201 -k xhlticket1 -l pres.cleartv.cn:11443 10.0.19.102 clear clear!@# # 狼山 GPU2+票务服务器 10.251.9.111 ## 外网 http://61.147.239.41:2019 ------------------------ ./edge.exe -k lsnetworkgpu2 -c lsnetworkgpu2 -a 10.0.18.202 -l pmgt.cleartv.cn:11443 10.0.18.101 user:1qaz@WSX 前端目录: /var/www/frontend/frontend 访问: http://10.251.9.111/frontend/1.html 内网应急下载地址 http://10.251.9.111/frontend/winApp/%E6%B8%85%E9%B9%A4%E5%94%AE%E6%A3%80%E7%A5%A8%E7%B3%BB%E7%BB%9F%20Setup%201.3.50.exe # 军山 10.251.9.112 -------------- ./edge.exe -k clearJunShan!@# -c clearnetwork -a 10.0.17.250 -l n2n.cleartv.cn:11443 10.0.17.103 user:1qaz@WSX 前端目录: /var/www/cticket/frontend/frontend 访问: http://10.251.9.112/frontend/1.html # 搭建内部npm [sinopia的部署和使用](https://www.jianshu.com/p/737d38e9bb1e) [用sinopia搭建内部npm服务](https://www.cnblogs.com/czf-zone/p/6860457.html) [Electron实现在线升级及功能的热更新](https://www.jianshu.com/p/94038d299fa9) # 涉及支付的页面 /ticketSale/retail /ticketSale/quickSell /ticketSale/group /ticketSale/preOrderGroup /ticketSale/discountSales /membership/memberSales /membership/memberPreSales iccardCheckout /membership/memberRecharge # 注册到全局的组件 路径:src/components/GlobalComponents/ - `ChannelTag` 渠道标签,传入渠道id。 - value: [number] - `OrderStatusTag` 订单或票的状态标签,传入状态。 - value: [string] - `Ellipsis` 定长文字 - type: 'tooltips'/'popover' - content: [string] - length: [number] - `Tip` 图标文字提示 - msg: [string] - `QRReader` 二维码摄像头识别组件 - v-model: [string] # 线上demo对应线下地址 http://192.168.30.201 # 日志生成工具 ``` npm install -g conventional-changelog-cli ``` 不会重写之前的日志,在前一个标签基础上生成 ``` conventional-changelog -p angular -i ./public/CHANGELOG.md -s -r 10 生成10个版本 ``` # 安装node 引擎报错 ```bash yarn install --ignore-engines ``` # 同步远程分支 ``` git fetch origin --prune ``` # 终端配置 https://gitlab.cleartv.cn/clear-ticket/cticket-doc/-/blob/master/%E6%A3%80%E7%A5%A8%E7%BB%88%E7%AB%AF/checker/Readme.md https://gitlab.cleartv.cn/clear-ticket/cticket-doc/-/blob/master/%E6%A3%80%E7%A5%A8%E7%BB%88%E7%AB%AF/checker/%E6%A3%80%E7%A5%A8%E7%BB%88%E7%AB%AF%E6%8E%A5%E5%8F%A3.md