index.vue 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133
  1. <template>
  2. <div class="introduce-layout" >
  3. <div class="introduce-bg">
  4. <div class="container">
  5. <div class="introduce-con" :style="{marginLeft:(split + 37)+'px'}">
  6. <div class="info">
  7. <p>设备ID:{{detail.childName}}</p>
  8. </div>
  9. <div class="c-dec">
  10. 剩余点数:<span>{{detail.balance}}</span>
  11. </div>
  12. <div class="c-detail">
  13. <span>点数构成:{{detail.spaceContent}}</span>
  14. </div>
  15. </div>
  16. </div>
  17. </div>
  18. <div class="plate02">
  19. <div>
  20. <div class="intro-title">
  21. <img :src="`${$cdn}images/introduce-line.png`" alt="">
  22. <p>点数充值,记录您的美好空间</p>
  23. <img :src="`${$cdn}images/introduce-line1.png`" alt="">
  24. </div>
  25. <p class="intro-sub">购买立即生效,拍摄安心存放</p>
  26. <ul class="intro-type">
  27. <li v-for="(item,i) in type" :key="i">
  28. <p class="point">{{item.capacity}}</p>
  29. <p class="price"><i>¥</i><span>{{item.price}}</span></p>
  30. <div class="btn" @click="buy(item)">立即购买</div>
  31. </li>
  32. </ul>
  33. <ul class="qa-con">
  34. <li v-for="(item,i) in qa" :key="i">
  35. <p>{{item.q}}</p>
  36. <p v-html="item.a"></p>
  37. </li>
  38. </ul>
  39. </div>
  40. </div>
  41. </div>
  42. </template>
  43. <script>
  44. import {mapState} from 'vuex'
  45. export default {
  46. data () {
  47. let type = [
  48. {
  49. capacity: '600点',
  50. price: '600'
  51. },
  52. {
  53. capacity: '800点',
  54. price: '800'
  55. },
  56. {
  57. capacity: '1000点',
  58. price: '1000'
  59. }
  60. ]
  61. let qa = [
  62. {
  63. q: '为什么需要点数充值?',
  64. a: '答:当您的基础点数不足99点时,最新拍摄的场景将无法生成,通过购买点数则可以计算存储更多场景。'
  65. }, {
  66. q: '点数充值之后还可以退款吗?',
  67. a: '答:不可以,因为点数充值之后,相应点数会立即到账生效,所以不接受中途退款,敬请谅解。'
  68. }, {
  69. q: '删除场景后会返还点数吗?',
  70. a: '答:点数充值没有有效期,所以消费后代表永久记录您的美好空间,删除场景后不会返还。'
  71. }, {
  72. q: '点数不足还可继续拍摄上传吗?',
  73. a: '答:点数不足时,不影响设备正常的拍摄,但会无法上传计算,这时只能进行删除操作;直到您的点数满足消费,此时您才可以将拍摄的场景上传计算,随之可查看、编辑和分享。'
  74. }
  75. ]
  76. return {
  77. type,
  78. qa,
  79. detail: ''
  80. }
  81. },
  82. computed: {
  83. ...mapState({
  84. split: state => state.ui.navDivision,
  85. langToast: state => state.language.home.toast,
  86. info: state => state.user.info,
  87. token: state => state.user.token
  88. })
  89. },
  90. mounted () {
  91. this.getDetail()
  92. },
  93. methods: {
  94. buy (item) {
  95. this.$toast.showPointRecharge(item, this.detail.childName, this.detail.id, () => {
  96. this.$router.replace({
  97. name: 'payresult',
  98. params: {
  99. isSuccess: 'success',
  100. type: 'recharge'
  101. }
  102. })
  103. })
  104. },
  105. async getDetail () {
  106. let {id} = this.$route.params
  107. let params = {
  108. childName: id
  109. }
  110. let result = await this.$http({
  111. method: 'post',
  112. data: params,
  113. headers: {
  114. token: this.token
  115. },
  116. url: '/user/camera/detail'
  117. })
  118. let data = result.data
  119. if (data.code !== 0) {
  120. return this.$toast.show('error', this.langToast['13'])
  121. }
  122. this.detail = data.data
  123. }
  124. }
  125. }
  126. </script>
  127. <style lang="scss" scoped>
  128. @import './style.scss';
  129. </style>