header.blade.php 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130
  1. <?php
  2. $uri = \Illuminate\Support\Facades\Route::getCurrentRoute()->uri();
  3. ?>
  4. <div class="container">
  5. <nav class="navbar navbar-expand-lg navbar-light">
  6. <div class="container-fluid">
  7. <div class="logo-box">
  8. <img src="/static/logo.png" class="logo">
  9. <p class="logo-title noselect">星优办公软件</p>
  10. </div>
  11. <button class="navbar-toggler" type="button" data-bs-toggle="collapse"
  12. data-bs-target="#navbarSupportedContent" aria-controls="navbarSupportedContent"
  13. aria-expanded="false" aria-label="Toggle navigation">
  14. <span class="navbar-toggler-icon"></span>
  15. </button>
  16. <div class="collapse navbar-collapse" id="navbarSupportedContent">
  17. <ul class="navbar-nav mb-2 mb-lg-0">
  18. <li class="nav-item {{ in_array($uri,['/','']) ? 'active' : '' }}">
  19. <a class="nav-link" aria-current="page" href="{{ toRoute('') }}">首页</a>
  20. </li>
  21. <li class="nav-item {{ in_array($uri,['help','']) ? 'active' : '' }}">
  22. <a class="nav-link" href="{{ toRoute('help') }}">帮助中心</a>
  23. </li>
  24. <li class="nav-item {{ in_array($uri,['about','']) ? 'active' : '' }}">
  25. <a class="nav-link" href="{{ toRoute('about') }}">关于我们</a>
  26. </li>
  27. </ul>
  28. <div id="loginDiv">
  29. <button type="button" class="btn btn-danger" style="width: 120px;height: 40px;"
  30. onclick="showModal()">登录
  31. </button>
  32. </div>
  33. <div class="dropdown" id="userDiv" style="display: none">
  34. <a class="btn dropdown-toggle" href="#" role="button" id="dropdownMenuLink"
  35. data-bs-toggle="dropdown"
  36. aria-expanded="false">
  37. <span id="username"></span>
  38. </a>
  39. <ul class="dropdown-menu" aria-labelledby="dropdownMenuLink">
  40. <li><a class="dropdown-item" href="#">升级会员</a></li>
  41. <li><a class="dropdown-item" href="#" onclick="loginOut()">退出登录</a></li>
  42. </ul>
  43. </div>
  44. </div>
  45. </div>
  46. </nav>
  47. </div>
  48. <!-- Modal -->
  49. <div class="modal fade" id="exampleModal" tabindex="-1" aria-labelledby="exampleModalLabel" aria-hidden="true">
  50. <div class="modal-dialog">
  51. <div class="modal-content">
  52. <div class="modal-header">
  53. <h5 class="modal-title" id="exampleModalLabel">登录</h5>
  54. <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
  55. </div>
  56. <div class="modal-body">
  57. <div class="login-model">
  58. <div class="wei-login">
  59. <p>扫码关注星优办公公众号进行登录</p>
  60. <div class="login-border">
  61. <img src="" class="login-code" style="width: 100%;display: none" id="loginImg"/>
  62. <div class="spinner-border m-5" role="status" id="spinnerShow">
  63. <span class="visually-hidden">Loading...</span>
  64. </div>
  65. <div class="no-code" onclick="refreshCode()" id="refreshBtn" style="display: none">
  66. 点击刷新
  67. </div>
  68. <div class="no-code" onclick="refreshCode()" id="isScan" style="display: none">
  69. 请在微信【星优办公软件】内点击授权
  70. </div>
  71. </div>
  72. <p class="expire-time" id="loginExpire" style="display: none">300秒后二维码将过期</p>
  73. <p class="expire-time" id="guoqi" style="display: none">二维码已过期,点击刷新获取新二维码</p>
  74. </div>
  75. </div>
  76. </div>
  77. </div>
  78. </div>
  79. </div>
  80. <script>
  81. let target = '{{ $target }}';
  82. // 设置允许跨域
  83. axios.defaults.withCredentials = false;
  84. setSession();
  85. let loginInterval = null;
  86. let checkScanInterval = null;
  87. let checkLoginInterval = null;
  88. let loginExpire = 0;
  89. let loginImg = '';
  90. let myModal = '';
  91. // 判断是否存在下载参数,存在则下载
  92. if (getPar('download')) {
  93. // 获取下载地址
  94. axios.post(target + '/download').then(function (response) {
  95. window.location.href = response.data.result
  96. })
  97. }
  98. // jiance
  99. checkLogin();
  100. /**
  101. * todo 测试登录 后期删除
  102. */
  103. // axios.post(target + '/api/login/testLogin', {})
  104. // .then(function (response) {
  105. // if (response.data.result) {
  106. // clearLoginInterval();
  107. //
  108. // setLoginToken(response.data.result);
  109. // getUserInfo();
  110. //
  111. // myModal.hide();
  112. // } else {
  113. // document.getElementById('loginDiv').style.display = '';
  114. // document.getElementById('userDiv').style.display = 'none';
  115. // }
  116. // })
  117. // .catch(function (error) {
  118. // console.log(error);
  119. // });
  120. </script>