signup.vue 3.8 KB

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