parent

<script>
export default class Parents extends wepy.page { data = {
tabdata:{}, //下面要用这里必须要写上
} async onLoad() { let data = await getData(,"public/data",{session_key:"1234456"});
this.tabdata= data.tab;
this.$apply();//必须
}
}
</script>
<template lang="wxml">
<view class="title" slot="title"></view>
<view class="title" slot="content">
<Tab :tab.sync="tabdata" ></Tab>
</view>
</template>
child <template lang="wxml">
<view class="title" slot="title">{{tab}}</view>
</template>
export default class Tab extends wepy.component {
props = {
tab:{
type:Object,
default:null,
twoWay:true
}
}
payOrder(e) {
let _this = this
payOrder(e.currentTarget.id).then(res => {
if (res && res.data) {
if (res.data.code) {
_this.$invoke('toast', 'showToast', {
title: res.data.message,
time: 1000
})
_this.isClick = false
return
}
}
wx.requestPayment({
timeStamp: res.timeStamp,
nonceStr: res.nonceStr,
package: res.package,
signType: 'MD5',
paySign: res.sign,
success: function(_res) {
console.log('orderItem=>payOrder=>支付成功', _res)
wx.navigateTo({
url: `/pages/pay-success-page?orderNo=${res.orderNo}`
})
_this.toDoWhatUShouldDo(e, 2)
},
fail: function(err) {
console.log('orderItem=>payOrder=>支付失败', err)
}
})
})
},
this.couponList[e.currentTarget.id].type

chooseCoupon(e) {
// 是否用默认优惠券
this.useDefaultCoupon = 0 // 判断选择优惠券类型 不同型要取消重选
if (!this.couponList[e.currentTarget.id].chosen) {
let isChangeType = this.judgeChosen(
this.couponList[e.currentTarget.id].type
)
if (isChangeType === 0) {
this.$invoke('toast', 'showToast', {
title: '如需更换优惠券,请先取消当前优惠券',
time: 500
})
return
}
}
_getOrderList(status, fn, refresh) {
let _status = ''
if (parseInt(status)) {
_status = status
}
if (this.over) {
return
}
getOrderList(_status, this.page++)
.then(res => {
if (res.length === 0) {
this.over = true
} else {
// 初始化列表 添加唯一标识index 倒计时初始值
res &&
res.map((el, index) => {
// 订单商品奇偶背景色
el.detailList.map(e => {
e.odd = this.pNum % 2
this.pNum++
})
el.index = index + (this.page - 2) * 10
el.createTime = format(el.createTime, 8)
el.currentPage = _status
console.log('order-page==>expireTime', el.expireTime)
let minutes = parseInt((el.expireTime / 1000 / 60) % 60, 10)
let seconds = parseInt((el.expireTime / 1000) % 60, 10)
el.overTime = `${minutes >= 10 ? minutes : '0' + minutes}:${
seconds >= 10 ? seconds : '0' + seconds
}`
console.log('order-page==>el.overTime', el.overTime)
})
if (refresh) {
this.orderList = []
}
this.orderList = this.orderList.concat(res)
this.delay = false
fn && fn()
}
this.showEmpty = true
this.$apply()
console.log('order-page=>getOrderList=>订单列表', this.orderList)
})
.catch(err => {
this.delay = false
console.log('order-page=>getOrderList=>订单列表错了err', err)
})
}

payOrder的更多相关文章

  1. iOS中支付宝集成

    iOS中支付宝集成 如今各种的App中都使用了三方支付的功能,现在将我在使用支付宝支付集成过程的心得分享一下,希望对大家都能有所帮助 要集成一个支付宝支付过程的环境,大致需要: 1>公司:先与支 ...

  2. 在多线程编程中lock(string){...}隐藏的机关

    常见误用场景:在订单支付环节中,为了防止用户不小心多次点击支付按钮而导致的订单重复支付问题,我们用 lock(订单号) 来保证对该订单的操作同时只允许一个线程执行. 这样的想法很好,至少比 lock( ...

  3. iOS-集成支付宝支付、微信支付简单总结

    支付宝快捷支付: 官方文档中,支付宝说建议我们使用支付时要讲签名过程放在服务器端,这样安全.同时给的demo中签名是在本地移动端做的...不过支付宝的集成还是较简单的. 为了安全签名当然放后台做了.我 ...

  4. WebService的使用

    转载至http://blog.csdn.net/yexuanbaby/article/details/9029605/ 第一次选择WebService,是为了替代数据库远程连接.我们都知道当SQL允许 ...

  5. iOS支付宝支付总结

    1.按照http://doc.open.alipay.com/doc2/detail?spm=0.0.0.0.SWdJgo&treeId=59&articleId=103676& ...

  6. ***CodeIgniter集成微信支付(转)

    微信支付Native扫码支付模式二之CodeIgniter集成篇  http://www.cnblogs.com/24la/p/wxpay-native-qrcode-codeigniter.html ...

  7. iOS----支付(微信支付、支付宝支付、银联支付控件集成支付)(转)

    资料 支付宝 //文档idk都包含了安卓.iOS版 银 联 银联官网资料 Demo Demo给了一个订单号,做测试使用,若出现支付失败什么的,可能是已经被别人给支付了,或者是服务器订单过期了 ~ 一. ...

  8. Batsing的网页编程规范(HTML/CSS/JS/PHP)

    特别注意!!!我这里的前端编程规范不苟同于Bootstrap的前端规范. 因为我和它的目的不同,Bootstrap规范是极简主义,甚至有些没有考虑到兼容性的问题. 我的规范是自己从编程实践中总结出来的 ...

  9. 微信支付Native扫码支付模式二之CodeIgniter集成篇

    CI:3.0.5 微信支付API类库来自:https://github.com/zhangv/wechat-pay 请先看一眼官方场景及支付时序图:https://pay.weixin.qq.com/ ...

随机推荐

  1. Arraylist的遍历方式、java反射机制

    先定义ArrayList再添加几条数据:         ArrayList arr=new ArrayList(); //往arrList中增加几条数据 arr.add(1); arr.add(2) ...

  2. typescript 入门教程四

    ts中的function和接口 interface PrintCallback{ // 匿名函數,返回类型为空 (success:boolean):void } interface Person{ / ...

  3. Windows中的库编程

    Windows操作系统中,库分为动态链接库(dll)和静态链接库(lib) 动态库是Windows中实现代码共享的一种方式.它是一个二进制式文件,不可单独运行,需要调用方调用才能运行.在Windows ...

  4. 线程二(Monitor)

    Monitor 类的命名空间是 System.Threading,它的用法和 lock 本质是一样的. 使用 Monitor 类锁定资源的代码如下. Monitor.Enter(object); tr ...

  5. C#合并选中EXCEL中的各个工作表

    合并选中EXCEL中的各个工作表,以第一个选中的EXCEL文件里的工作表进行匹配,遍历后面的每个EXCEL文件,有相同的工作表就合并: private void button1_Click(objec ...

  6. Java 之 反射机制

    反射:框架设计的灵魂 框架:是一个可以供我们使用的半成品软件.可以在框架的基础上进行软件开发,简化编码. 反射:将类的各个组成部分封装为其他对象,这就是反射机制. 好处: 1. 可以在程序运行过程中, ...

  7. 从零开始搭建vue移动端项目到上线

    先来看一波效果图 初始化项目 1.在安装了node.js的前提下,使用以下命令 npm install --g vue-cli 2.在将要构建项目的目录下 vue init webpack mypro ...

  8. springboot2集成swagger2出现guava包下的FluentIterable.append方法找不到

    加入依赖 <!-- https://mvnrepository.com/artifact/com.google.guava/guava --> <dependency> < ...

  9. Vue使用ref 属性来获取DOM

    注意,在父组件中可以使用this.$refs.属性名  获取任何元素的属性和方法,子组件不可以获取父组件中的 <!DOCTYPE html> <html lang="en& ...

  10. Linux命令——killall 、kill 、pkill、xkill

    参考:killall .kill .pkill 命令详解 Using kill, killall, and pkill 4 Ways to Kill a Process – kill, killall ...