tuition-获取上一个页面传来的id和微信支付

<template>
  <div>
   <form-preview header-label="缴费信息" :header-value="payMoney" :body-items="orderInfo"></form-preview>
        <div class="submitBox">
          <flexbox>
            <flexbox-item :span="2">
            </flexbox-item>
            <flexbox-item :span="8">
              <x-button type="primary"   @click.native="confirmPay">确认缴费</x-button>
            </flexbox-item>
          </flexbox>
        </div>
      <alert v-model="alertShow" :title="alertTitle" >{{alertMsg}}</alert>
  </div>
</template>

<script >
import {Flexbox,FlexboxItem,XButton,FormPreview,AlertPlugin,Alert } from ‘vux‘

export default {
  name: ‘payRecord‘,
  components: {
    Flexbox,FlexboxItem,XButton,FormPreview,AlertPlugin,Alert
  },
  data () {
    return {
        alertShow:false,
        alertMsg:"",
        alertTitle:"",
        money:"",
        orderId:‘‘,
      orderInfo: [{
        label: ‘姓名‘,
        value: ‘‘
      }, {
        label: ‘学校‘,
        value: ‘‘
      }, {
        label: ‘班级‘,
        value: ‘‘
      },{
        label: ‘联系电话‘,
        value: ‘‘
      }],
    }
  },
  methods:{
    confirmPay(){
        this.$vux.loading.show({
            text: ‘加载中‘
        })
        const vm=this;
        this.$http.post(‘/tuition/tuition-order/confirm-money‘,{order_id:this.orderId}).then((result) =>{
            if(result.data.status==1){
                this.$vux.loading.hide();
                var payData = result.data.data.options;
                var outTradeNo = result.data.data.outTradeNo;
                wx.ready(function () {
                    wx.chooseWXPay({
                        timestamp: payData.timestamp, // 支付签名时间戳,注意微信jssdk中的所有使用timestamp字段均为小写。但最新版的支付后台生成签名使用的timeStamp字段名需大写其中的S字符
                        nonceStr: payData.nonceStr, // 支付签名随机串,不长于 32 位
                        package: payData.package, // 统一支付接口返回的prepay_id参数值,提交格式如:prepay_id=***)
                        signType: payData.signType, // 签名方式,默认为‘SHA1‘,使用新版支付需传入‘MD5‘
                        paySign: payData.paySign, // 支付签名
                        success: function (re) {
                            // 支付成功后的回调函数
                            if (re.errMsg == "chooseWXPay:ok") {
                                var storage = window.localStorage;
                                //清场
                                storage.clear();
                                vm.alertTitle="支付成功";
                                vm.alertMsg="支付成功";
                                vm.alertShow=true;
                                vm.$router.push({ path: ‘payRecord‘ });
                            } else {
                                vm.alertShow=true;
                                vm.alertTitle="支付失败";
                                vm.alertMsg=re.errMsg;
                            }
                        },
                        cancel: function(re){
                            vm.alertShow=true;
                            vm.alertTitle="取消成功"
                            vm.alertMsg="取消成功";
                        }
                    });
                });
            }else{
                vm.alertShow=true;
                vm.alertTitle="支付失败"
                vm.alertMsg=result.data.message;
            }
        }).catch((error) => {
            this.$vux.loading.hide();
            this.$vux.toast.show({
                text: ‘支付失败:网络出现问题‘,
                type: ‘cancel‘
            });
        })
    },
      wechatConfig(){
          this.$vux.loading.show({
              text: ‘加载中‘
          })
          this.$http.post(‘/tuition/pay-js/get-js-config‘).then((res) =>{
              this.$vux.loading.hide();
              wx.config(res.data);
          }).catch((error) => {
              this.$vux.loading.hide();
              this.$vux.toast.show({
                  text: ‘出现错误:微信配置出现问题‘,
                  type: ‘cancel‘
              });
          })
      },
      getOrderInfo(){
          this.$vux.loading.show({
              text: ‘加载中‘
          })
          this.orderId=window.location.hash.split(‘?‘)[1];//获取上一个页面传来的orderId
          this.$http.post(‘/tuition/tuition-order/tuition-order-detail‘,{order_id:this.orderId}).then((res) =>{
              this.$vux.loading.hide();
              if(res.data.status==1){
                  var res=res.data.data;
                  this.money=res.money;
                  this.orderInfo[0].value=res.user_name;
                  this.orderInfo[1].value=res.school_name;
                  this.orderInfo[2].value=res.class_name;
                  this.orderInfo[3].value=res.phone;
              }else{
                  this.alertShow=true;
                  this.alertTitle="信息获取失败"
                  this.alertMsg=res.data.message;
              }
          }).catch((error) => {
              this.$vux.loading.hide();
              this.$vux.toast.show({
                  text: ‘拉取信息失败:网络出现问题‘,
                  type: ‘cancel‘
              });
          })
      }
  },
  computed:{
      payMoney(){
          return "¥"+this.money
      }
  },
    created(){
      this.wechatConfig();
      this.getOrderInfo();
    }

}
</script>

<style >
.weui-form-preview__value{
    color:black;
}
</style>

原文地址:https://www.cnblogs.com/MR-cui/p/8479012.html

时间: 2024-10-11 12:23:13

tuition-获取上一个页面传来的id和微信支付的相关文章

如何获取上一个页面中checkbox控件选中的值

php开发中,<php开发中.<php开发中.如何获取上一个页面中checkbox控件选中的值呢?并输出出来,以下是代码示例: <? $music=$_POST['music']; //取得所选中的checkbox个数 $coun=count$music; ifis_arrai$music{ echo'您选择的 : '; foreach$musicas$kei=>$var echo'  ['.$var.']'; echo$key; } ?> *****************

Java Web项目里开发获取上个页面连接地址的问题

近期做的项目有个问题,就是需要获取上个页面连接地址,我用的IE浏览器,在用location.href连接到新地址的时候,在新地址页面用document.referrer的方法获取不到原地址,我测试了下,用的火狐和谷歌都行.有些IE版本可以,有些不支持,在老师的帮助下,在网上找到了解决方式. 这个是我的product-view.jsp页面,我点击结算时需要判断有没有用户ID,如果没有的话我就让他先登录,gotuurl()里的url是你去的目标页面,这个方法创建了一个a标签,然后自动触发点击事件去到

h5 网络断网时,返回上一个页面 demo (与检测网络代码相结合,更直观看到结果)

页面一: <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>网络在线与离线</title> <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maxi

js获取上一个月、下一个月格式为yyyy-mm-dd的日期

/** * 获取上一个月 * * @date 格式为yyyy-mm-dd的日期,如:2014-01-25 */ function getPreMonth(date) { var arr = date.split('-'); var year = arr[0]; //获取当前日期的年份 var month = arr[1]; //获取当前日期的月份 var day = arr[2]; //获取当前日期的日 var days = new Date(year, month, 0); days = da

JS中在当前日期上追加一天或者获取上一个月和下一个月

/** * 获取上一个月 * * @date 格式为yyyy-mm-dd的日期,如:2014-01-25 */ function getPreMonth(date) { var arr = date.split('-'); var year = arr[0]; //获取当前日期的年份 var month = arr[1]; //获取当前日期的月份 var day = arr[2]; //获取当前日期的日 var days = new Date(year, month, 0); days = da

js获取上一个月、下一个月

/** * 获取上一个月 * * @date 格式为yyyy-mm-dd的日期,如:2014-01-25 */ function getPreMonth(date) { var arr = date.split('-'); var year = arr[0]; //获取当前日期的年份 var month = arr[1]; //获取当前日期的月份 var day = arr[2]; //获取当前日期的日 var days = new Date(year, month, 0); days = da

js如何获取另一个页面传递过来的值?

var t="<%=request.getParameter("do")%>"; alert(t); js如何获取另一个页面传递过来的值?

小程序获取上个页面vm对象 解决百度小程序返回上一页不更新onShow更新(适用于uni-app)

    export function getPrevPageVue(){       let pages = getCurrentPages();       return pages[pages.length-2].$vm     } 可通过getPrevPageVue()拿到上一个页面的数据及方法 原文地址:https://www.cnblogs.com/China-baikaishui/p/12177108.html

ASP.Net 返回上一个页面(Request.UrlReferrer)

Request.UrlReferrer可以获取客户端上次请求的url的有关信息.  这样我们就可以通过这个属性返回到“上一页”,示例如下 1.      首先在Page_load中获得并储存该信息 Page_load(object obj,EventArgs e)             {                     if(!IsPostBack)                    {                         if(Request.UrlReferrer