多租户商城-商户小程序端
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

249 lines
4.3 KiB

2 years ago
  1. <!-- @auth kahu -->
  2. <template>
  3. <view class="loading_box mask flex-center"
  4. @touchmove.stop.prevent="HandlePageMove">
  5. <!-- 点动画 -->
  6. <view class="dot_box theOuterRotation"
  7. v-if="false">
  8. <view class="dot_item"
  9. v-for="item in 4"></view>
  10. </view>
  11. <!-- 进度条动画 -->
  12. <view class="progress_box" v-if="false">
  13. <view class="progress_item progress_roll_center"></view>
  14. </view>
  15. Loading....
  16. </view>
  17. </template>
  18. <script>
  19. export default {
  20. name: "index",
  21. data() {
  22. return {}
  23. },
  24. onPageScroll(e) {
  25. return false
  26. },
  27. mounted() {
  28. //#ifdef H5
  29. //#endif
  30. },
  31. methods: {
  32. HandlePageMove() {
  33. return false
  34. }
  35. }
  36. }
  37. </script>
  38. <style lang="scss"
  39. scoped>
  40. .mask {
  41. width: 100vw;
  42. height: 100vh;
  43. background: rgba(0, 0, 0, 0.5);
  44. color: #fff;
  45. }
  46. .flex-center {
  47. display: flex;
  48. align-items: center;
  49. justify-content: center;
  50. flex-direction: column;
  51. }
  52. .loading_box {
  53. width: 100vw;
  54. height: 100vh;
  55. position: fixed;
  56. top: 0;
  57. bottom: 0;
  58. z-index: 9999;
  59. /** 点动画*/
  60. .theOuterRotation {
  61. animation: rotate 2s ease-in-out .5s infinite normal;
  62. }
  63. .dot_box {
  64. width: 80rpx;
  65. height: 80rpx;
  66. //background: #fff;
  67. border-radius: 20rpx;
  68. margin: 20rpx 0;
  69. position: relative;
  70. // 原始dot
  71. .dot_item {
  72. width: 30rpx;
  73. height: 30rpx;
  74. background: #fff;
  75. border-radius: 50%;
  76. position: absolute;
  77. transition: all .6s;
  78. box-shadow: 0 0 2rpx #b4b4b4;
  79. &:nth-child(1) {
  80. top: 0;
  81. left: 0;
  82. }
  83. &:nth-child(2) {
  84. top: 0;
  85. right: 0;
  86. }
  87. &:nth-child(3) {
  88. bottom: 0;
  89. right: 0;
  90. }
  91. &:nth-child(4) {
  92. bottom: 0;
  93. left: 0;
  94. }
  95. }
  96. // 单双放大动画
  97. .dot_scale {
  98. &:nth-child(1) {
  99. top: 0;
  100. left: 0;
  101. animation: magnify 2s ease-in-out 0s infinite alternate;
  102. }
  103. &:nth-child(2) {
  104. top: 0;
  105. right: 0;
  106. animation: magnify 2s ease-in-out 1s infinite alternate;
  107. }
  108. &:nth-child(3) {
  109. bottom: 0;
  110. right: 0;
  111. animation: magnify 2s ease-in-out 0s infinite alternate;
  112. }
  113. &:nth-child(4) {
  114. bottom: 0;
  115. left: 0;
  116. animation: magnify 2s ease-in-out 1s infinite alternate;
  117. }
  118. }
  119. // 单点移动动画
  120. .dot_move {
  121. &:nth-child(1) {
  122. z-index: 2;
  123. animation: moveDot 2s ease-in-out 0s infinite normal;
  124. }
  125. }
  126. // 单偶放大
  127. @keyframes magnify {
  128. 0% {
  129. transform: scale(1);
  130. background: rgba(0, 255, 228, 0.82);
  131. }
  132. 25% {
  133. background: #32b5cc;
  134. }
  135. 50% {
  136. transform: scale(1.4);
  137. background: #73e34e;
  138. }
  139. 75% {
  140. background: #0ec469;
  141. }
  142. 100% {
  143. transform: scale(1);
  144. background: #868686;
  145. }
  146. }
  147. // 移动单点
  148. @keyframes moveDot {
  149. 0% {
  150. top: 0;
  151. left: 0;
  152. background: #d0f598;
  153. }
  154. 25% {
  155. top: 0;
  156. left: 100%;
  157. transform: translateX(-100%);
  158. background: #f5e298;
  159. }
  160. 50% {
  161. top: 100%;
  162. left: 100%;
  163. transform: translate(-100%, -100%);
  164. background: #6bea91;
  165. }
  166. 75% {
  167. top: 100%;
  168. left: 0;
  169. transform: translateY(-100%);
  170. background: #e84c7a;
  171. }
  172. 100% {
  173. top: 0;
  174. left: 0;
  175. }
  176. }
  177. @keyframes rotate {
  178. 0% {
  179. transform: rotate(0deg);
  180. }
  181. 100% {
  182. transform: rotate(360deg);
  183. }
  184. }
  185. }
  186. /** 进度条动画*/
  187. .progress_box{
  188. width: 300rpx;
  189. height: 25rpx;
  190. margin: 20rpx 0;
  191. border-radius: 25rpx;
  192. background-color: #fff;
  193. position: relative;
  194. overflow: hidden;
  195. .progress_item{
  196. width: 0%;
  197. height: 100%;
  198. background: #f68686;
  199. border-radius: 25rpx;
  200. }
  201. .progress_roll{
  202. animation: roll 1s ease-in-out 0s infinite alternate-reverse;
  203. }
  204. .progress_roll_center{
  205. width: 5%;
  206. transition: all .6s;
  207. margin: 0 auto;
  208. animation: roll 1s cubic-bezier(.15,.2,.05,.4) 0s infinite alternate-reverse;
  209. }
  210. }
  211. @keyframes roll {
  212. from{
  213. width: 5%;
  214. }
  215. to{
  216. width: 100%;
  217. }
  218. }
  219. }
  220. </style>