H5在微信小程序及公众号中的支付

JavaScript017

H5在微信小程序及公众号中的支付,第1张

为了解决在公众号支付和在小程序中支付问题,写了个js工具文件,根据当前环境执行不同的支付方法(以小程序支付流程为主)

在小程序支付中,需要注意两个地方,第一是由于package='prepay_id=XXX'传到小程序时会导致数据接收不完全,所以就只传XXX,‘prepay_id=’由小程序那边拼接上了;第二点是‘/pages/Pay/Pay’是与小程序约定的处理支付功能的页面,需要对应着。

在需要调用的文件用引入【import {payTool} from './PayTool.js'】,并在获取订单信息后,传入订单信息,发起支付流程【payTool(payParam)】

在小程序中获取订单信息

https://pay.weixin.qq.com/wiki/doc/api/wxa/wxa_api.php?chapter=7_7

根据微信小程序支付说明文档使用接收的参数调取支付功能

2020.12.24补充

刚学到还有个qs可以用,,,

1、npm install qs

2、var qs = require('qs')

3、不需要对package进行修改,直接传参即可。 小程序那边也不需要再处理了

一般压缩都经过混淆,如果你看到变量名都是A,B,C,D之类的无规则的命名,那就是被混淆过的,一般来说也很难阅读,就算你 还原了格式。

如果是没有混淆的,你可以试试用js的格式化工具来重新格式化一下的,比如:

/* 美化:格式化代码,使之容易阅读 */

/* 净化:去掉代码中多余的注释、换行、空格等 */

/* 压缩:将代码压缩为更小体积,便于传输 */

/* 解压:将压缩后的代码转换为人可以阅读的格式 */

/* 混淆:将代码的中变量名简短化以减小体积,但可读性差,经混淆后的代码无法还原 */

/* 如果有用,请别忘了推荐给你的朋友: */

/* javascript在线美化、净化、压缩、解压:http://tool.lu/js */

/* 以下是演示代码 */

var Inote = {}

Inote.JSTool = function(options) {

this.options = options || {}

}

Inote.JSTool.prototype = {

_name: 'Javascript工具',

_history: {

'v1.0': ['2011-01-18', 'javascript工具上线'],

'v1.1': ['2012-03-23', '增加混淆功能'],

'v1.2': ['2012-07-21', '升级美化功能引擎'],

'v1.3': ['2014-03-01', '升级解密功能,支持eval,window.eval,window["eval"]等的解密'],

'v1.4': ['2014-08-05', '升级混淆功能引擎'],

'v1.5': ['2014-08-09', '升级js压缩引擎'],

'v1.6': ['2015-04-11', '升级js混淆引擎']

},

options: {},

getName: function() {return this._name},

getHistory: function() {

return this._history}

}

var jstool = new Inote.JSTool()

有时候我们明明打开了devtool设置为true,并按chrome上安装了vueTool后,发现还是没有在控制台里显示vue的tool等问题

1、如果是没有安装vueTool,可以到chrome的扩展里面选择并安装

如果是没有科学上W的话可以github上手动down下仓库来安装

然后就是扩展Chrome插件

打开Chrome浏览器 >选择更多工具>扩展程序>打开开发者模式

点击加载已解压的扩展程序, 找到刚才生成的chrome文件夹,选择 vue-devtools >shells >chrome 放入, 安装成功如上面的图1

下方是可能可以看到vueTool了,但是在控制台就是出不来的情况

2、检查下vue.config.js的devtool是否打开,默认是true,看看是不是在非生产环境也设置为false了

3、检查看看是否有手动启用CDN加速Vuejs的文件,按官网说的,我们开发环境也需要使用开发版本的vuejs,否则很多警告就会不生效,比如props的校验器等

检查public.html的vuejs引用(如果是按脚手架的则无需关注)

确认以上问题以后,我们重新安装依赖并且重新跑脚手架编译。