用户登录

首先要做的事就是对数据排序 .. 这里说的数据就是上面定义的这个 order 对象 .. 它就是要发送给统一下单接口的数据 ..

这里我们可以去生成一个新的排序之后的对象 .. 可以这样 .. 先用一下 Object 的 keys .. 去得到 order 对象里面的所有的 key,就是数据项目的名字 .. 接着再用一下 sort 这个方法去给这些数据名字排一下序 ..

下面可以再用一个 reduce 方法根据排序之后的数据的名字,去生成一个新的对象 .. 它的参数是个函数 .. 函数有两个参数 .. accumulator ,累加器 .. 还有一个表示当前数据的参数,可以叫它 key .. 这个 reduce 的第二个参数就是累加器的初始值 ... 设置成一个空白的对象 ..

在函数里面,可以去构建这个对象里的内容 .. 函数里面设置一下 accumulator 的 key 的值,意思就是往这个累加器对象里添加一个新的项目 .. 这个数据项目的值应该就是 order 里的对应的 key 的值.. 再 return 这个 accumulator ..

给这个结果起个名字 .. 比如叫它 sortedOrder ..

再把这个 sortedOrder 输出到日志文件里检查一下 .. logger.debug .. sortedOrder ..

回到浏览器 .. 刷新一下 checkout 这个页面 .. 这里提示了一个 502 的错误 .. 这应该是我们的应用出了点问题 ..

回到命令行,打开应用服务运行的这个命令行标签 .. 提示 wxpay 这个配置文件里的 notify_url 这里出了点问题 ..

回到项目,打开 wxpay 这个配置文件 .. 这里少了一个分隔用的逗号 .. 回到命令行 .. 再打开之前用 ssh 打通道的这个命令行标签 .. 这个通道现成断开了 .. 需要重新再执行一下 ..

再回到浏览器 .. 刷新一下 checkout 页面 ..

然后打开项目下面的 app.log .. 这里输出的东西就是排序之后的这个数据对象 ..

在构建这个排序之后的对象的时候可以检查一下 .. 在这个 reduce 里面,用一下 logger 的 debug ,输出这个 accumulator ..

回到浏览器 .. 刷新一下 checkout 页面 ..

在 app.log 这里,你会发现,reduce 方法是怎么一步一步构建把这个对象的 .. 最终得到的这个对象就是按照对象的数据项目的名字排序之后的对象 ..

排序数据《 微信支付:开发准备与扫码支付 》

统计

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

社会化网络

关于

微信订阅号

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