Advertisement
Guest User

Untitled

a guest
Apr 1st, 2017
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.64 KB | None | 0 0
  1. import axios from 'axios';
  2. import * as api from './api';
  3.  
  4. function authRequest(email, pass, state) {
  5. /**
  6. * авторизация
  7. * @method authRequest
  8. * @param {string} email - почта / логин пользователя
  9. * @param {string} pass - пароль пользователя
  10. */
  11.  
  12. axios.post(api.login, {
  13. username: email,
  14. password: pass,
  15. })
  16. .then((response) => {
  17. if (response.status === 200) {
  18. state({
  19. authenticated: true,
  20. token: response.data.token,
  21. });
  22. }
  23. })
  24. .catch(() => {
  25. state({ authenticated: false });
  26. });
  27. }
  28.  
  29. module.exports = {
  30. login(email, pass, state) {
  31. /**
  32. * @param {string} email - почта / логин пользователя
  33. * @param {string} pass - пароль пользователя
  34. */
  35. state = arguments[arguments.length - 1];
  36. if (localStorage.token) {
  37. if (state) state(true);
  38. return;
  39. }
  40. pretendRequest(email, pass, (res) => {
  41. if (res.authenticated) {
  42. localStorage.token = res.token;
  43. if (state) state(true);
  44. } else {
  45. if (state) state(false);
  46. }
  47. });
  48. },
  49.  
  50. getToken() {
  51. /**
  52. * @return {string} - получаем токен пользователя
  53. */
  54. return localStorage.token;
  55. },
  56.  
  57. logout(state) {
  58. /**
  59. * @function logout - удаляем токин и выходим из личного кабинета
  60. */
  61. delete localStorage.token;
  62. if (state) state();
  63. },
  64.  
  65. checkLogin() {
  66. /**
  67. * @return {boolean} - получаем информацию о наличие токена
  68. */
  69. return !!localStorage.token;
  70. },
  71.  
  72. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement