Test.vue 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200
  1. <template>
  2. <div class="j-test">
  3. <!-- 项目内部页面导航 -->
  4. <van-cell-group v-for="(conf, index) in confPageArr" :key="index" :title="conf.title">
  5. <van-cell
  6. v-for="(item, iindex) in conf.urls"
  7. :key="iindex"
  8. :title="item.pathName"
  9. :to="item.path"
  10. is-link
  11. />
  12. </van-cell-group>
  13. <!-- 测试环境跳转开发环境导航 -->
  14. <van-cell-group v-for="(conf, index) in confTestArr" :key="index" :title="conf.title + ' - ' + conf.subTitle">
  15. <van-cell
  16. v-for="(item, iindex) in conf.urls"
  17. :key="iindex"
  18. :title="conf.subTitle + ' -> ' + item.path"
  19. :url="conf.baseUrl + item.path + querySESSIONID"
  20. value=""
  21. is-link
  22. />
  23. </van-cell-group>
  24. <!-- SESSIONID -->
  25. <van-cell-group :title="'SESSIONID (' + SIDTITLE + ')'">
  26. <van-cell :value="SESSIONID ? SESSIONID : '无SESSIONID'" />
  27. </van-cell-group>
  28. <div class="loader-container">
  29. <div class="loader">
  30. <div class="arc"></div>
  31. <div class="arc"></div>
  32. <div class="arc"></div>
  33. </div>
  34. <div class="text">loading...</div>
  35. </div>
  36. </div>
  37. </template>
  38. <script lang="ts">
  39. import { Component, Vue } from 'vue-property-decorator'
  40. import { Cell, CellGroup } from 'vant'
  41. import Cookies from 'js-cookie'
  42. @Component({
  43. name: 'test',
  44. components: {
  45. [Cell.name]: Cell,
  46. [CellGroup.name]: CellGroup
  47. }
  48. })
  49. export default class Test extends Vue {
  50. // 项目内部页面导航
  51. confPageArr = [
  52. {
  53. title: '页面导航',
  54. baseUrl: '',
  55. subTitle: '',
  56. urls: [
  57. {
  58. pathName: '列表页面',
  59. path: '/home'
  60. }
  61. ]
  62. }
  63. ]
  64. // 测试环境跳转开发环境导航
  65. confTestArr = [
  66. {
  67. title: '开发环境',
  68. baseUrl: 'http://192.168.20.216:8080/datareport/page',
  69. subTitle: '20.216',
  70. urls: [
  71. {
  72. path: '/home'
  73. },
  74. {
  75. path: '/test'
  76. }
  77. ]
  78. }
  79. ]
  80. SESSIONID: any = ''
  81. SIDTITLE = ''
  82. get querySESSIONID () {
  83. return `?SESSIONID=${this.SESSIONID}`
  84. }
  85. mounted () {
  86. this.getAndSetSessionId()
  87. }
  88. // 获取或者设置SESSIONID
  89. getAndSetSessionId () {
  90. // 从地址栏获取参数
  91. const sId = this.$route.query.SESSIONID
  92. if (sId) {
  93. // 设置sessionId到浏览器
  94. this.SESSIONID = sId
  95. this.SIDTITLE = '设置SESSIONID'
  96. Cookies.set('SESSIONID', sId, { expires: 7, path: '/' })
  97. } else {
  98. // 获取sessionId到浏览器
  99. this.SIDTITLE = '获取SESSIONID'
  100. this.SESSIONID = Cookies.get('SESSIONID')
  101. }
  102. }
  103. }
  104. </script>
  105. <style lang="scss">
  106. .j-test {
  107. .loader-container {
  108. display: flex;
  109. flex-direction: column;
  110. justify-content: center;
  111. align-items: center;
  112. width: 100%;
  113. height: 150px;
  114. }
  115. .loader {
  116. position: relative;
  117. transform-style: preserve-3d;
  118. perspective: 800;
  119. display: flex;
  120. flex-wrap: wrap;
  121. width: 36px;
  122. height: 36px;
  123. --primary-color: #4ec0e9;
  124. .arc {
  125. position: absolute;
  126. content: "";
  127. top: 0;
  128. left: 0;
  129. width: 100%;
  130. height: 100%;
  131. border-radius: 50%;
  132. border-bottom: 3px solid var(--primary-color);
  133. @for $i from 1 through 3 {
  134. &:nth-child(#{$i}) {
  135. animation: rotate#{$i} 1.15s linear infinite;
  136. }
  137. }
  138. &:nth-child(1) {
  139. animation-delay: -0.8s;
  140. }
  141. &:nth-child(2) {
  142. animation-delay: -0.4s;
  143. }
  144. &:nth-child(3) {
  145. animation-delay: 0s;
  146. }
  147. }
  148. }
  149. @keyframes rotate1 {
  150. from {
  151. transform: rotateX(35deg) rotateY(-45deg) rotateZ(0);
  152. }
  153. to {
  154. transform: rotateX(35deg) rotateY(-45deg) rotateZ(1turn);
  155. }
  156. }
  157. @keyframes rotate2 {
  158. from {
  159. transform: rotateX(50deg) rotateY(10deg) rotateZ(0);
  160. }
  161. to {
  162. transform: rotateX(50deg) rotateY(10deg) rotateZ(1turn);
  163. }
  164. }
  165. @keyframes rotate3 {
  166. from {
  167. transform: rotateX(35deg) rotateY(55deg) rotateZ(0);
  168. }
  169. to {
  170. transform: rotateX(35deg) rotateY(55deg) rotateZ(1turn);
  171. }
  172. }
  173. }
  174. </style>