index.vue 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169
  1. <template>
  2. <div class="mianBox">
  3. <van-row class="contentBox">
  4. <van-row>
  5. <van-col span="24" class="logo"><van-image width="75" height="75" :src="require('../img/success.png')" /></van-col>
  6. <van-col span="24" class="introduce">支付完成</van-col>
  7. </van-row>
  8. <div class="pay_wrap">
  9. <button class="pay" open-type="launchApp" app-parameter="appData" bindlaunchapp="launchAppSuccess" binderror="launchAppError" v-if="state">返回APP</button>
  10. <button class="pay" v-if="!state" @tap ="home">返回首页</button>
  11. </div>
  12. <van-toast id="van-toast" />
  13. </van-row>
  14. </div>
  15. </template>
  16. <script>
  17. import Toast from '../../wxcomponents/vant/weapp/dist/toast/toast';
  18. export default {
  19. data() {
  20. return {
  21. param:undefined,
  22. state:false,
  23. appData:{
  24. errCOde:0,
  25. errStr:null,
  26. extMsg:"已支付",
  27. extraData:"已支付",
  28. openId:undefined,
  29. transaction:null,
  30. type:"WXLaunchMiniProgramReq.Resp"
  31. }
  32. }
  33. },
  34. onLoad(options) {
  35. let _this = this
  36. uni.getStorage({
  37. key:"openid",
  38. success(e){
  39. if(e.data){
  40. _this.appData.openId = e.data
  41. _this.appData = JSON.stringify(_this.appData)
  42. }
  43. }
  44. })
  45. if(!options.type){
  46. this.state = true
  47. }else{
  48. this.state = false
  49. }
  50. },
  51. methods: {
  52. launchAppError(e) {
  53. Toast(e.detail.errMsg)
  54. },
  55. // 关闭小程序
  56. launchAppSuccess(){
  57. wx.exitMiniProgram({success: (res) => {}})
  58. },
  59. home(){
  60. uni.redirectTo({
  61. url: `../index/index`
  62. });
  63. }
  64. },
  65. onShow(options){
  66. }
  67. }
  68. </script>
  69. <style lang="scss" scoped>
  70. .mianBox{
  71. height: 100%;
  72. width: 100%;
  73. color: #000;
  74. box-sizing: border-box;
  75. background-color: #F2F6FC;
  76. position: fixed;
  77. .contentBox{
  78. width: 100%;
  79. height: auto;
  80. padding: 15px 20px;
  81. box-sizing: border-box;
  82. overflow: hidden;
  83. .logo{
  84. /deep/ .van-image{
  85. margin:40px auto 0;
  86. display: block;
  87. }
  88. }
  89. .introduce{
  90. text-align: center;
  91. color: #000;
  92. display: block;
  93. /deep/ .van-col{
  94. font-size: 20;
  95. margin-top:20px;
  96. letter-spacing: 2px;
  97. }
  98. }
  99. .money{
  100. text-align: center;
  101. color: #000;
  102. /deep/ .van-col{
  103. font-size: 30px;
  104. margin-top: 10px;
  105. font-weight: 700;
  106. }
  107. }
  108. .order_money{
  109. text-align: center;
  110. color: #ccc;
  111. display: block;
  112. /deep/ .van-col{
  113. font-size: 20;
  114. margin-top:10px;
  115. letter-spacing: 2px;
  116. }
  117. }
  118. /deep/ .van-button{
  119. border-radius: 6px;
  120. width: 100% !important;
  121. margin-top:25px;
  122. letter-spacing: 2px;
  123. font-size: 18px;
  124. height: 50px;
  125. }
  126. .order_wrap{
  127. width:95%;
  128. padding:10px 20px 20px 20px;
  129. box-sizing: border-box;
  130. width:95%;
  131. margin:20px 2.5%;
  132. background-color: #fff;
  133. border-radius: 6px;
  134. box-shadow: 0 2px 12px 0 #ccc;
  135. display: block;
  136. /deep/ .van-col{
  137. font-size: 16px;
  138. color:#ccc;
  139. margin-top:10px;
  140. display: block;
  141. }
  142. /deep/ .left{
  143. text-align: left;
  144. }
  145. /deep/ .right{
  146. text-align: right;
  147. }
  148. }
  149. .pay_wrap{
  150. width:95%;
  151. margin:70px 2.5% 0;
  152. .pay{
  153. height: 50px;
  154. font-size: 18px;
  155. border-radius: 10px;
  156. margin-top:40px;
  157. }
  158. }
  159. }
  160. }
  161. .pay{
  162. background:#F22E3C;
  163. color:#fff;
  164. }
  165. </style>