signup.vue 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127
  1. <template>
  2. <div class="registerPage">
  3. <div class="container">
  4. <div class="row">
  5. <div class="col-sm-4"></div>
  6. <div class="col-sm-4">
  7. <div class="text-center">
  8. <nuxt-link to="#">
  9. <img src="/img/logo-black.png" alt="">
  10. </nuxt-link>
  11. </div>
  12. <div class="mt-4">
  13. <div class="a-box a-spacing-extra-large">
  14. <div class="a-blx-inner">
  15. <h1 class="a-spacing-small">Create account</h1>
  16. <!--Your Name-->
  17. <div class="a-row a-spacing-base">
  18. <label for="" class="a-form-label">Ypur name</label>
  19. <input
  20. v-model="name"
  21. type="text"
  22. id="ap_customer_name"
  23. class="a-input-text form-control auth-autofocus auth-required-field auth-contract-verification-request-info"
  24. />
  25. </div>
  26. <!--Your Email-->
  27. <div class="a-row a-spacing-base">
  28. <label for="" class="a-form-label">Ypur Email</label>
  29. <input
  30. v-model="email"
  31. type="text"
  32. id="ap_customer_email"
  33. class="a-input-text form-control auth-autofocus auth-required-field auth-contract-verification-request-info"
  34. />
  35. </div>
  36. <!--Your Password-->
  37. <div class="a-row a-spacing-base">
  38. <label for="" class="a-form-label">Ypur Password</label>
  39. <input
  40. v-model="password"
  41. type="password"
  42. id="ap_customer_password"
  43. class="a-input-text form-control auth-autofocus auth-required-field auth-contract-verification-request-info"
  44. />
  45. <div class="a-alert-container">
  46. <div class="a-alert-content">password must be at least 6 charteres</div>
  47. </div>
  48. </div>
  49. <!-- Button -->
  50. <div class="a-row a-spacing-extra-large mb-4">
  51. <span class="a-button-primary">
  52. <span class="a-button-inner">
  53. <span @click="onSignup" class="a-button-text">Create your Amazon account</span>
  54. </span>
  55. </span>
  56. <div class="a-row a-spacing-top-medium a-size-small">
  57. <b>
  58. By create an accoutnm
  59. <a href="#">conditions of Use</a> and
  60. <a href="#">conditions of Use</a>
  61. </b>
  62. </div>
  63. </div>
  64. <h4/>
  65. <div class="a-row">
  66. <b>
  67. Aready habe an accouint?
  68. <nuxt-link to="/login" class="a-link-emphasis">login</nuxt-link>
  69. </b>
  70. </div>
  71. </div>
  72. </div>
  73. </div>
  74. </div>
  75. </div>
  76. </div>
  77. </div>
  78. </template>
  79. <script>
  80. export default {
  81. middleware: 'auth',
  82. auth: 'guest',
  83. layout: 'none',
  84. data () {
  85. return {
  86. name: '',
  87. email: '',
  88. password: ''
  89. }
  90. },
  91. methods: {
  92. async onSignup () {
  93. try {
  94. let data = {
  95. name: this.name,
  96. email: this.email,
  97. password: this.password
  98. }
  99. let response = await this.$axios.$post('/api/auth/signup', data)
  100. console.log(response)
  101. if (response.success) {
  102. this.$auth.loginWith('local', {
  103. data: {
  104. email: this.email,
  105. password: this.password
  106. }
  107. })
  108. debugger
  109. this.$router.push('/')
  110. }
  111. } catch (err) {
  112. console.log(err)
  113. }
  114. }
  115. }
  116. }
  117. </script>