用户登录

微信支付系统给我们返回来的这个预支付数据,需要处理一下才能用,因为它现在是 xml 格式的 .. 添加一个 _prepay .. 它的值用一下 convert 里的 xml2js ,这个方法可以把 xml 格式的数据转换成 JavaScript 的对象 .. 要转换的是 wxPayResponse 里的 data .. 再给它一个配置选项参数 .. 把 compact 设置成 true ..

下面可以输出这个 _prepay .. logger.debug(_prepay) .. 回到 checkout 页面,刷新一下 .. 再打开 app.log 这个日志文件,可以看一下转换之后的这个对象 ..

这个对象需要再转换一下 .. 首先对象的数据是在一个 xml 属性里面 .. 还有就是对应的数据项目的值里面都有一个 cdata .. 或者 text .. 然后才是对应的值 ..

这里在转换以后,可以访问一下它的 xml 属性的值 .. 然后我们再配置一下这个转换 .. 把 cdataKey 设置成 value .. 再把 textKey 也设置成 value ..

下面再定义一个 prepay .. 用一下 Object 的 keys ,得到 _prepay 对象里面的所有的数据项目的名字 .. 再用一下 reduce .. 一个函数参数 .. 里面有两个参数 .. accumulator 一个累加器 .. 还有一个是当前的值,可以使用 key 来表示 .. reduce 的第二个参数是累加器的初始值,设置成一个空白的对象 ..

设置一下 accumulator 里的数据项目 .. 对应的值是 _prepay .. key 下面的 value 的值 .. 最后再 return 这个 accumulator ..

把新生成的这个对象输出到日志文件里 ..

logger.debug(prepay)

回到 checkout 页面 .. 刷新 .. 再回到 app.log ..

注意这次输出的这个对象里面,去掉了多余的 xml,还有 cdata,text 这些属性 ,现在我们可以直接使用这个 prepay 里面值 ..

处理预支付数据《 微信支付:开发准备与扫码支付 》

统计

15260
分钟
0
你学会了
0%
完成

社会化网络

关于

微信订阅号

扫描微信二维码关注宁皓网,每天进步一点