script_profiles.js 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. const btnLoginPage = document.querySelector('.btn-login');
  2. const btnUserProfile = document.querySelector('.btn-userProfile');
  3. const btnLogout = document.querySelector('.btn-logout');
  4. function getCookie(name) {
  5. const value = `; ${document.cookie}`;
  6. const parts = value.split(`; ${name}=`);
  7. if (parts.length === 2) return parts.pop().split(';').shift();
  8. }
  9. function renderView() {
  10. let token = getCookie('jwt_token');
  11. // if(!token) {
  12. // return;
  13. // }
  14. // axios.defaults.withCredentials = false;
  15. axios({
  16. method: 'post',
  17. url: 'https://www.choozmo.com:8887/user_profile',
  18. headers: {
  19. 'accept': 'text/html',
  20. 'Authorization': `Bearer ${token}`
  21. }
  22. }).then(res => {
  23. console.log(res.data);
  24. const userInfo = res.data;
  25. const str = `<img src="static/img/undraw_male_avatar_323b.svg" alt="">
  26. <p class="card-profile-txt">User Profile</p>
  27. <p class="card-profile-cnt">${userInfo.user_info.userName}</p>
  28. <p class="card-profile-cnt">${userInfo.user_info.email}</p>
  29. <div class="d-flex justify-content-around">
  30. <div>
  31. <p set-lan="html:used">已使用</p>
  32. <p><strong>${userInfo.user_info.total_sec}</strong><span set-lan="html:sec">秒</span></p>
  33. </div>
  34. <div>
  35. <p set-lan="html:left">未使用</p>
  36. <p><strong>${userInfo.user_info.left_sec}</strong><span set-lan="html:sec">秒</span></p>
  37. </div>
  38. </div>`;
  39. $('.card-profile').html(str);
  40. }).catch(err => {
  41. console.log(err);
  42. })
  43. }
  44. renderView();
  45. renderHistoryList();
  46. function renderHistoryList() {
  47. let token = getCookie('jwt_token');
  48. axios({
  49. method: 'post',
  50. url: 'https://www.choozmo.com:8887/history_input',
  51. headers: {
  52. 'accept': 'application/json',
  53. 'Authorization': `Bearer ${token}`
  54. }
  55. }).then(res => {
  56. console.log(res.data);
  57. const history = res.data;
  58. let str = '';
  59. for(let i = 0;i < history.length;i++){
  60. str += `<div class="historyList-item row">
  61. <div class="col-3">
  62. <div class="listimg__fr"><img src="${history[i]['image_urls'][0]}" alt="${history[i].name}"></div>
  63. </div>
  64. <div class="col-6">
  65. <p class="my-3">${history[i].name}</p>
  66. </div>
  67. <div class="col-3 d-flex align-items-center">
  68. <span onlick="view()" data-vlink="${history[i].link}"><i class="fas fa-play-circle me-1"></i>觀看影片</span>
  69. </div>
  70. </div>`
  71. }
  72. $('#content_block .col-12').html(str);
  73. }).catch(err => {
  74. console.log(err);
  75. });
  76. }
  77. function view() {
  78. window.open(`http://${event.target.data.vlink}`, '_blank');
  79. console.log("link view");
  80. }
  81. function checkLogin() {
  82. let token = getCookie('jwt_token');
  83. if(token) {
  84. btnLoginPage.style.display = 'none';
  85. btnLogout.style.display = 'block';
  86. btnUserProfile.style.display = 'block';
  87. } else {
  88. window.location.href = 'login.html';
  89. btnLoginPage.style.display = 'block';
  90. btnLogout.style.display = 'none';
  91. btnUserProfile.style.display = 'none';
  92. }
  93. }
  94. checkLogin();