register.vue 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121
  1. <template>
  2. <view>
  3. <headContent>
  4. <template #left>
  5. <view class="head-revers-back iconfont" @click.stop="reversBackBtn()">&#xe604;</view>
  6. </template>
  7. </headContent>
  8. <view class="page-content">
  9. <text class="login-title">注册</text>
  10. <text class="login-content">立即注册属于您的币王账号</text>
  11. <tabList ref="tabListRef" :tabIndex.sync="tabIndexs" />
  12. <phoneRegister v-show="tabIndexs === 0" :accounts="accounts"/>
  13. <email-register v-show="tabIndexs === 1" :accounts="accounts" />
  14. <view class="form-agreement" @click.stop="readAgreement = !readAgreement">
  15. <view class="agreement-confirm">
  16. <text class="confirm-icon iconfont" v-show="readAgreement">&#xe6c5;</text>
  17. </view>
  18. <text>我已阅读并同意</text>
  19. <text class="agreement-name" @click.stop="readAgreementText">《用户协议》</text>
  20. </view>
  21. <view class="form-btn" @click.stop="formSubmit">
  22. 下一步
  23. </view>
  24. <view class="form-hint">
  25. 已有账号?<text class="hint-btn"> 立即登录</text>
  26. </view>
  27. </view>
  28. <slider-verify ref="sliderVerifyRef" @slideImgSuccess="slideImgSuccess" />
  29. </view>
  30. </template>
  31. <script>
  32. import {
  33. reverseBack
  34. } from "@/utils/common.js"
  35. import tabList from "./modules/tab.vue"
  36. import emailRegister from "./modules/email-register.vue"
  37. import phoneRegister from "./modules/phone-register.vue"
  38. export default {
  39. name: 'register',
  40. components: {
  41. tabList,
  42. emailRegister,
  43. phoneRegister
  44. },
  45. data() {
  46. return {
  47. readAgreement: false,
  48. tabIndexs: 0,
  49. accounts: {
  50. areaCode:86,
  51. phone: '',
  52. email: '',
  53. invitationCode: '',
  54. }
  55. };
  56. },
  57. methods: {
  58. // 阅读协议
  59. readAgreementText(){
  60. uni.navigateTo({
  61. url:'/pages/content/article-details?id=8'
  62. })
  63. },
  64. setAreaCode(e) {
  65. if (e) {
  66. this.accounts.areaCode = e.area_code;
  67. }
  68. },
  69. reversBackBtn() {
  70. reverseBack()
  71. },
  72. formSubmit(e) {
  73. if(!this.readAgreement){
  74. return false
  75. }
  76. this.$nextTick(() => {
  77. this.$refs.sliderVerifyRef.open();
  78. })
  79. },
  80. slideImgSuccess() {
  81. // tabIndexs: 1,
  82. // accounts: {
  83. // phone: '13133111133',
  84. // email:'biking2023@163.com',
  85. // invitationCode: '',
  86. // }
  87. let data = ''
  88. switch (this.tabIndexs) {
  89. case 0:
  90. data =
  91. `type=${this.tabIndexs}&areaCode=${this.accounts.areaCode}&account=${this.accounts.phone}&invitationCode=${this.accounts.invitationCode}`;
  92. break;
  93. case 1:
  94. data =
  95. `type=${this.tabIndexs}&account=${this.accounts.email}&invitationCode=${this.accounts.invitationCode}`;
  96. break;
  97. }
  98. uni.navigateTo({
  99. url: `/pages/login/email-verify?${data}`
  100. })
  101. },
  102. // formReset() {
  103. // }
  104. }
  105. }
  106. </script>
  107. <style lang="scss" scoped>
  108. @import "~./common.scss"
  109. </style>