Carsty_01

signIn

Dec 27th, 2018
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.32 KB | None | 0 0
  1. <template>
  2. <div>
  3. <nav class="header">
  4. <a href="/">
  5. <h1>
  6. TACHOGRAFY
  7. <span>LIBEREC s.r.o.</span>
  8. </h1>
  9. </a>
  10. <a class="trigger">MENU</a>
  11. <ul id="navigation" class="ul">
  12. <li>
  13. <a href="/#anchor-sluzby">služby</a>
  14. </li>
  15. <li>
  16. <a href="/#anchor-onas">
  17. o
  18. nás
  19. </a>
  20. </li>
  21. <li>
  22. <a href="/#anchor-kontakty">kontakt</a>
  23. </li>
  24. <li>
  25. <a href="./gallery">galerie</a>
  26. </li>
  27. <li>
  28. <a class="btn" id="btn-in-header" href="/registration">registrace</a>
  29. </li>
  30. </ul>
  31. </nav>
  32. <div class="formwrapper">
  33. <form class="m-5">
  34. <h2>login</h2>
  35. <div class="form-group">
  36. <input
  37. autocomplete="email"
  38. value
  39. type="email"
  40. id="email"
  41. name="email"
  42. class="form-control"
  43. v-model="email"
  44. >
  45. <label for="email">Email</label>
  46. </div>
  47. <div class="form-group">
  48. <input
  49. autocomplete="password"
  50. value
  51. type="password"
  52. id="password"
  53. name="password"
  54. class="form-control"
  55. v-model="password"
  56. required
  57. >
  58. <label for="password">Heslo</label>
  59. </div>
  60. <button class="btn btn-primary" type="submit" @click.prevent="signIn">přihlásit</button>
  61. <div v-for="error in respmessage" class="alert alert-danger mt-3 mr-5 ml-5">
  62. <p>{{error}}</p>
  63. </div>
  64. </form>
  65. </div>
  66. <footer class="footer">
  67. <span class="stranky">tachografy liberec &copy; 2018</span>
  68. <span class="autori">
  69. vytvořili:
  70. <a href="mailto:dan.jsef@gmail.com">Daniel Josef</a> &
  71. <a href="https://www.pslib.cz/daniel.vondra">Daniel Vondra</a>
  72. </span>
  73. </footer>
  74. </div>
  75. </template>
  76.  
  77. <script>
  78. import axios from "axios";
  79. export default {
  80. data() {
  81. return {
  82. email: "",
  83. password: "",
  84. allErrors: []
  85. };
  86. },
  87. methods: {
  88. signIn: function() {
  89. axios
  90. .post(
  91. "/api/user/sign-in",
  92. { email: this.email, password: this.password },
  93. { headers: { "X-Requested-With": "XMLHttpRequest" } }
  94. )
  95. .then(response => {
  96. const token = response.data.token;
  97. localStorage.setItem("user_token", token);
  98. this.$router.go();
  99. })
  100. .catch(error => {
  101. const data = error.response.data.errors;
  102. for (var key in data) {
  103. if (data.hasOwnProperty(key)) {
  104. this.allErrors.push(data[key][0]);
  105. }
  106. }
  107. });
  108. },
  109. checkUser: function() {
  110. const token = localStorage.getItem("user_token");
  111. axios
  112. .post("/api/user/data?token=" + token, {
  113. headers: { "X-Requested-With": "XMLHttpRequest" }
  114. })
  115. .then(response => {
  116. if (response.data.user !== false) {
  117. this.$router.push("/reservation");
  118. }
  119. })
  120. .catch(error => {
  121. console.log(error);
  122. });
  123. }
  124. },
  125. mounted() {
  126. this.checkUser();
  127. }
  128. };
  129. </script>
Add Comment
Please, Sign In to add comment