vueAuth.js 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. const requestFunc = async(url, method = "GET", data = null, token = null) => {
  2. apihost = 'http://127.0.0.1/api'
  3. method = method.toLocaleUpperCase()
  4. let fullurl = `${apihost}${url}`;
  5. let options = {
  6. method: method,
  7. headers: {
  8. "Content-Type": "application/json",
  9. "Authorization": `Bearer ${token}`,
  10. },
  11. };
  12. switch(method) {
  13. case "PUT":
  14. delete options.headers["Content-Type"];
  15. options.body = data;
  16. break;
  17. case "POST": case "PATCH": case "DELETE":
  18. options.body = JSON.stringify(data);
  19. break;
  20. }
  21. const res = await fetch(fullurl, options);
  22. return await res.json();
  23. };
  24. var vueApp = new Vue({
  25. delimiters: ['${', '}'],
  26. el: '#app',
  27. data: {
  28. userdata: {
  29. Login: null,
  30. Password: null,
  31. }
  32. },
  33. methods: {
  34. async authButton() {
  35. let res = await requestFunc("/auth/", "POST", this.userdata);
  36. localStorage.setItem("Login", this.userdata.Login);
  37. localStorage.setItem("Password", this.userdata.Password);
  38. // console.log(Array.isArray(res))
  39. this.nulldata();
  40. if (Array.isArray(res)) {
  41. location.href = 'http://schedule.tomtit.tomsk.ru/plan/'
  42. }
  43. // return Array.isArray(res)
  44. },
  45. nulldata() {
  46. this.userdata.Login = null;
  47. this.userdata.Password = null;
  48. }
  49. },
  50. });
  51. // authButton = () =>{
  52. // let login = document.querySelector('.login').value
  53. // let password = document.querySelector('.password').value
  54. // }