guide.vue 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. <template>
  2. <view class="flex_cloumn">
  3. <!-- 标题 -->
  4. <view class="top">
  5. <view class="title" style="color: #4169E1;">感谢您的使用</view>
  6. <view class="subtitle">醍摩豆家长助您孩子成长</view>
  7. </view>
  8. <view class="detail_image" :style="{backgroundImage:`url(${image})`}"></view>
  9. <button class="btn" plain="true" open-type="getPhoneNumber" @getphonenumber="getPhoneNumber">获取您的孩子信息</button>
  10. <!-- 动画 -->
  11. <view class="ocean"></view>
  12. </view>
  13. </template>
  14. <script>
  15. import {
  16. mapState
  17. } from 'vuex'
  18. //引入解密工具
  19. import WXBizDataCrypt from "@/utils/WXBizDataCrypt.js";
  20. export default {
  21. computed: {
  22. ...mapState('m_parent', ['token', 'parentInfo'])
  23. },
  24. data() {
  25. return {
  26. image: 'https://image.meiye.art/pic_1631411821366jJzYRG2jdJOxwXZk_jz7o'
  27. }
  28. },
  29. methods: {
  30. //获取用户手机号
  31. async getPhoneNumber(e) {
  32. if (e.detail.errMsg !== "getPhoneNumber:ok") {
  33. return uni.showToast({
  34. title: '您已拒绝授权',
  35. icon: 'error'
  36. });
  37. } else {
  38. try{
  39. if (this.token) {
  40. let proof = await new WXBizDataCrypt('wx5705da8747c77cfe', this.token.session_key)
  41. let numData = await proof.decryptData(e.detail.encryptedData, e.detail.iv)
  42. this.$store.commit('m_parent/updatePhoneNumber', numData.phoneNumber);
  43. //初始化App
  44. await this.$initStart(numData.phoneNumber)
  45. uni.navigateTo({
  46. url: '/subpkg/startup/options'
  47. })
  48. }else{
  49. this.updateToken()
  50. this.updateParentInfo()
  51. this.updatePhoneNumber()
  52. this.updateChildrenData()
  53. this.updateUserData()
  54. this.updateChildInfo()
  55. uni.reLaunch({
  56. url: '/subpkg/startup/login'
  57. })
  58. return uni.showToast({
  59. title: '获取不到您的信息请重新登录',
  60. icon: 'error'
  61. });
  62. }
  63. }catch(e){
  64. this.updateToken()
  65. this.updateParentInfo()
  66. this.updatePhoneNumber()
  67. this.updateChildrenData()
  68. this.updateUserData()
  69. this.updateChildInfo()
  70. uni.reLaunch({
  71. url: '/subpkg/startup/login'
  72. })
  73. return uni.showToast({
  74. title: '身份验证已过期请重新登录',
  75. icon: 'error'
  76. });
  77. }
  78. }
  79. },
  80. },
  81. }
  82. </script>
  83. <style lang="scss">
  84. @import 'startup_pages.scss';
  85. .detail_image {
  86. height: 600rpx;
  87. margin: 400rpx 0 0 0;
  88. background-size: 100% 100%;
  89. }
  90. </style>