项目启动报错
- 检查是否复制了 application.yml 文件
- jdk版本 1.8
OSS配置
(1)公钥和私钥桶配置
(2)要设置跨域配置
扩展知识
文件上传分为 公共读 和私有读。
公共读比如: 图片, 头像这些。
私有读比如: 证书, 一些敏感文件。
A、 文件上传使用【本地文件上传】时:
上传头像图片公共读时的流程: 用户 –》 浏览器 –》上传图片到本地服务器, 并保存在: 【isys.oss.file-public-path】配置文件夹内。 –》 响应的地址为 【公共oss访问地址(系统设置中的配置项) + 文件路径】, 比如: https://mgr.xxxxxpay.com/api/anon/localOssFiles/1232.png
上传证书文件流程: 用户 –》 浏览器 –》上传文件,保存在: 【isys.oss.file-private-path】配置文件夹内。 无外网下载地址。 仅可通过程序读取。
B、 文件上传使用【阿里云OSS】时:
上传头像图片公共读时的流程: 用户 –》 浏览器 –》 图片文件直传到OSS公共读桶( 直传技术文档: https://help.aliyun.com/document_detail/112718.html), 本地不保留, 返回访问地址例如: https://public.oss-cn-beijing.aliyuncs.com/applyment/fj-test-test-test.jpg
上传证书文件流程: 用户 –》 浏览器 –》上传文件, 图片文件直传到OSS私有桶 , 无外网下载地址, 当应用需要读取文件时会自动下载并保存在: 【isys.oss.file-private-path】配置文件夹内, 避免下载再次下载影响效率。
Linux下启动脚本报错
场景:在windows下将app.sh上传至linux服务器,执行启动时报如下错误提示
解决:windows系统下的文件格式和unix下不同,使用ftp等软件上传到unix服务器上的文件都需要转换为unix格式后,才可以使用;使用命令:
dos2unix $filename
转换后,就可以了。
Uniapp 安卓签名证书生成指南
https://ask.dcloud.net.cn/article/35777
Hbuilder相关知识介绍
Hbuilder 入门教程: https://hx.dcloud.net.cn/Tutorial/StartedTutorial
manifest.json文件配置: https://uniapp.dcloud.net.cn/collocation/manifest.html
DCloud appid 用途/作用/使用说明 : https://ask.dcloud.net.cn/article/35907
如何配置aliyunRocketMQ
jeepay plus现已全面支持 aliyunRocketMQ, 但是此服务相比其他三种MQ配置稍微有些繁琐一些。
- 服务的开通和基础信息建设
1.1 开通阿里云ONS服务 (https://ons.console.aliyun.com/overview)
1.2 创建实例
1.3 进入实例详情、 点击【 接入点 】
1.4 TCP 协议接入点的【接入点和网络信息】 需要配置到项目中。
1.5 Topic管理 –》 新建 【普通消息】
名称 | 备注 |
---|---|
QUEUE_APP_PUSH | (订单支付成功app推送) |
QUEUE_CLEAN_AGENT_LOGIN_AUTH_CACHE | (清除代理商登录消息) |
QUEUE_CLEAN_MCH_LOGIN_AUTH_CACHE | (清除商户登录消息) |
QUEUE_PAY_ORDER_DIVISION | (支付订单分账消息) |
QUEUE_PAY_ORDER_MCH_NOTIFY | (支付订单商户消息) |
QUEUE_PAY_ORDER_REISSUE | (支付订单补单消息) |
QUEUE_PUSH_PRINTER | (订单支付成功云打印通知消息) |
QUEUE_PUSH_SPEAKER | (订单支付成功云喇叭通知消息) |
QUEUE_PUSH_WX_MP_MSG | (订单支付成功消息通知) |
QUEUE_SETT_ORDER_MCH | (支付宝直付通订单结算消息) |
QUEUE_PAY_ORDER_CASHOUT | (订单支付成功自动提现(渠道侧)消息) |
BROADCAST_RESET_APP_CONFIG | (更新系统配置参数消息) |
BROADCAST_RESET_ISV_MCH_APP_INFO_CONFIG | (更新服务商/商户/商户应用配置信息消息) |
1.6 Group 管理 –》新建 TCP协议Group
名称 | 备注 |
---|---|
GID_JEEPAY_MANAGER_BROADCAST | (运营平台_广播分组) |
GID_JEEPAY_PAYMENT_QUEUE | (支付网关_队列分组) |
GID_JEEPAY_PAYMENT_BROADCAST | (支付网关_广播分组) |
GID_JEEPAY_MERCHANT_QUEUE | (商户系统_队列分组) |
GID_JEEPAY_MERCHANT_BROADCAST | (商户系统_广播分组) |
GID_JEEPAY_AGENT_QUEUE | (代理商系统_队列分组) |
GID_JEEPAY_AGENT_BROADCAST | (代理商系统_广播分组) |
1.7 更改项目下的yml配置
aliyun-rocketmq:
namesrvAddr: 1.4中的地址
accessKey: 阿里云访问控制中查看
secretKey:
groupIdPrefix: GID_JEEPAY_ # 与1.6中的对应
1.8 更改application.yml 中的mq.vender改为: aliYunRocketMQ
1.9 更改jeepay-components/jeepay-components-mq/pom.xml
AliyunRocketMQ 删除provided节点
其他MQ改为 provided或者删除依赖。 并且将配置注释掉。
其他知识
阿里云ROCKETMQ,在消费者端的gid下的机器要求所有的监听topID是一样的, 如果不一样可能出现丢失消息的情况。
消息模式也应该是一样的(文档没有写,但是在 【消息队列 RocketMQ 版/实例列表/Group 管理/Group 详情】)
可以清晰的看到 消费模式, 是放置在上面的, 也就是需要是一样的。 !
【消息队列 RocketMQ 版/实例列表/Group 管理/Group 详情】 如果有异常, 这里可以清晰的看到。
阿里云文档 :https://help.aliyun.com/document_detail/43523.html?spm=5176.rocketmq.help.dexternal.4370176fcn7PRB
GroupID命名规则: 前缀 + 系统名称 + 模式
示例:
GID_JEEPAY_MANAGER_BROADCAST : 运营平台广播分组
GIDJEEPAY_PAYMENT_QUEUE : 支付网关队列分组
GIDJEEPAY_PAYMENT_BROADCAST : 支付网关_广播分组
SQL执行问题
部署项目时,根据自己的实际情况执行sql。如果是首次部署,执行所有的以init_开头的sql和channel.sq语句即可。其他sql为升级时对应版本的sql。
sql语句说明参考:https://docs.jeequan.com/docs/jeepay-plus/jeepay-plus-1doq37i2jnsf1
码牌字体显示乱码
配置码牌时,字体显示不正常。这是因为系统未配置字体导致。按以下方法配置字体(字体在项目根目录docs/fonts下),重启项目。
小程序发布类目选择什么
商户通和展业宝小程序添加服务类目,可选择:工具 > 查询 。
聚合码小程序添加服务类目,可选择:商业服务 > 软件/建站/技术开发。
聚合码cashier项目打包失败
预编译报错:代码使用了sass语言,但未安装相应的编译插件
解决方法:安装该插件。(已有该插件依然报错,卸载原有插件并重新安装)
下单请求收银台404
nginx配置(payment)添加:
#解决vue刷新404问题
try_files $uri $uri/ /cashier/index.html;
小程序打包问题
【以下代码配置修改时请务必确保ctrl + s保存成功后,再进行编译,运行到微信开发工具。】
- 商户通的.env中地址配置为商户服务端地址。
- 展业宝的.env中地址配置为代理商服务端地址。
- 先install,再执行打包。
- 打包出现文件查找失败问题,升级Hbuilder版本。
- 发布小程序时提示包大小超了,将微信开发者工具项目基本设置中的ES6转ES5勾选去掉
- 小程上传失败:插件未授权使用。登录小程序添加位置选点插件。
图片上传问题
确保已配置阿里云oss文件上传,且点击保存,如其他端未同步到图片,请检查mq是否正常运行
问题:出现上传异常,查看是否为跨域问题,如果出现跨域问题请配置阿里云跨域访问。
跨域规则设置:1.来源设置为* 2.允许Methods勾选 3.允许Headers设置为 *
上传成功并返回图片地址,服务端后台正常,但小程序显示请求异常问题。
小程序服务器域名设置:uploadFile合法域名,配置增加阿里云oss地址。
百度语音业务开通
仅短文本在线合成接口即可。且保证百度账号对该业务进行充值。
Node 版本
建议为:16.xx.xx版本
涉及到数据库加密的报错
a、检查 db-encrypt-secret 密钥配置是否更改,更改将导致旧数据无法解密
b、mq未正常启动,启动项目时未加载配置
1、是不是重启过服务器
2、mq连接串是不是本地或内网IP
3、检查内网环境是否稳定
阿里OCR识别失败
阿里OCR识别失败,图片上传地址也是阿里OSS。如上提示,由于服务器时间不是标准时间,和阿里相差超过15分钟,会报这个错。
npm打包内容溢出
解决: 在打包时增加内容容量,即在项目所在位置的命令行执行:
linux、mac、jenkins下:
export NODE_OPTIONS=--max_old_space_size=4096
windows下:
set NODE_OPTIONS=--max_old_space_size=4096
数据库异常sql_mode=only_full_group_by问题
当数据库报错提示:In aggregated query without GROUP BY … sql_mode=only_full_group_by
该错误是由于mysql 5.7后,默认开启了SQL_MODE严格模式导致。
修改mysql配置,将sql_mode中的only_full_group_by去掉,然后重启服务。
如使用的RDS数据库,可在参数配置中修改。
其他常见问题
详见: https://docs.jeequan.com/docs/jeepay/jeepay-1d99ciatu11h5#booj5l