@alu008/test_yuanqikaixiang 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (110) hide show
  1. package/App.vue +294 -0
  2. package/Local/en.json +3 -0
  3. package/Local/indian.json +3 -0
  4. package/Local/zh-Hans.json +3 -0
  5. package/Local/zh-Hant.json +3 -0
  6. package/README.md +1 -0
  7. package/androidPrivacy.json +28 -0
  8. package/components/ball/ball.vue +230 -0
  9. package/components/cardDetails/cardDetails.vue +273 -0
  10. package/components/confirmModal/confirmModal.vue +125 -0
  11. package/components/fillInfo/fillInfo.vue +255 -0
  12. package/components/header/header.vue +92 -0
  13. package/components/selectAddress/selectAddress.vue +156 -0
  14. package/components/signDetail/signDetail.vue +33 -0
  15. package/components/skeleton/skeleton.vue +62 -0
  16. package/index.html +20 -0
  17. package/index.template.html +35 -0
  18. package/jsconfig.json +9 -0
  19. package/main.js +48 -0
  20. package/manifest.json +159 -0
  21. package/package.json +14 -0
  22. package/pages/index/index.vue +5421 -0
  23. package/pages.json +173 -0
  24. package/project.config.json +25 -0
  25. package/project.private.config.json +14 -0
  26. package/static/fonts/Alibaba-PuHuiTi-Bold.ttf +0 -0
  27. package/static/fonts/Alibaba-PuHuiTi-Medium.ttf +0 -0
  28. package/static/fonts/Alibaba-PuHuiTi-Regular.ttf +0 -0
  29. package/static/fonts/fxlh.ttf +0 -0
  30. package/static/img/R.png +0 -0
  31. package/static/img/SR.png +0 -0
  32. package/static/img/SSR.png +0 -0
  33. package/static/img/bottomBgc1.png +0 -0
  34. package/static/img/centerBgc.png +0 -0
  35. package/static/img/goldBgc.png +0 -0
  36. package/static/img/goldText.png +0 -0
  37. package/static/img/home/calendar/bgc0.png +0 -0
  38. package/static/img/home/calendar/bgc1.png +0 -0
  39. package/static/img/home/calendar/bgc2.png +0 -0
  40. package/static/img/home/calendar/bgc3.png +0 -0
  41. package/static/img/home/calendar/progress0.png +0 -0
  42. package/static/img/home/calendar/progress1.png +0 -0
  43. package/static/img/home/calendar/progress2.png +0 -0
  44. package/static/img/home/calendar/progress3.png +0 -0
  45. package/static/img/kuang.gif +0 -0
  46. package/static/img/luckyBgc.png +0 -0
  47. package/static/img/lucyText.png +0 -0
  48. package/static/img/top_Bgc.png +0 -0
  49. package/subpackages/article/article.vue +64 -0
  50. package/subpackages/confirmSendLogistics/confirmSendLogistics.vue +1035 -0
  51. package/subpackages/coupon/coupon.vue +276 -0
  52. package/subpackages/fragment/fragment.vue +1592 -0
  53. package/subpackages/myAddress/myAddress.vue +656 -0
  54. package/subpackages/myCards/myCards.vue +1250 -0
  55. package/subpackages/myOrder/myOrder.vue +779 -0
  56. package/subpackages/myOrderDetail/myOrderDetail.vue +659 -0
  57. package/subpackages/poster/poster.vue +130 -0
  58. package/subpackages/selectCoupon/selectCoupon.vue +251 -0
  59. package/subpackages/sendLogistics/sendLogistics.vue +1097 -0
  60. package/subpackages/vote/vote.vue +877 -0
  61. package/uni.promisify.adaptor.js +10 -0
  62. package/uni.scss +114 -0
  63. package/uni_modules/qf-image-cropper/changelog.md +72 -0
  64. package/uni_modules/qf-image-cropper/components/qf-image-cropper/qf-image-cropper.render.js +855 -0
  65. package/uni_modules/qf-image-cropper/components/qf-image-cropper/qf-image-cropper.vue +749 -0
  66. package/uni_modules/qf-image-cropper/components/qf-image-cropper/qf-image-cropper.wxs +727 -0
  67. package/uni_modules/qf-image-cropper/package.json +81 -0
  68. package/uni_modules/qf-image-cropper/readme.md +97 -0
  69. package/uni_modules/uni-data-select/changelog.md +51 -0
  70. package/uni_modules/uni-data-select/components/uni-data-select/uni-data-select.vue +837 -0
  71. package/uni_modules/uni-data-select/package.json +106 -0
  72. package/uni_modules/uni-data-select/readme.md +8 -0
  73. package/uni_modules/uni-icons/changelog.md +44 -0
  74. package/uni_modules/uni-icons/components/uni-icons/uni-icons.uvue +91 -0
  75. package/uni_modules/uni-icons/components/uni-icons/uni-icons.vue +110 -0
  76. package/uni_modules/uni-icons/components/uni-icons/uniicons.css +664 -0
  77. package/uni_modules/uni-icons/components/uni-icons/uniicons.ttf +0 -0
  78. package/uni_modules/uni-icons/components/uni-icons/uniicons_file.ts +664 -0
  79. package/uni_modules/uni-icons/components/uni-icons/uniicons_file_vue.js +649 -0
  80. package/uni_modules/uni-icons/package.json +111 -0
  81. package/uni_modules/uni-icons/readme.md +8 -0
  82. package/uni_modules/uni-load-more/changelog.md +23 -0
  83. package/uni_modules/uni-load-more/components/uni-load-more/i18n/en.json +5 -0
  84. package/uni_modules/uni-load-more/components/uni-load-more/i18n/index.js +8 -0
  85. package/uni_modules/uni-load-more/components/uni-load-more/i18n/zh-Hans.json +5 -0
  86. package/uni_modules/uni-load-more/components/uni-load-more/i18n/zh-Hant.json +5 -0
  87. package/uni_modules/uni-load-more/components/uni-load-more/uni-load-more.vue +404 -0
  88. package/uni_modules/uni-load-more/package.json +105 -0
  89. package/uni_modules/uni-load-more/readme.md +14 -0
  90. package/uni_modules/uni-scss/changelog.md +8 -0
  91. package/uni_modules/uni-scss/index.scss +1 -0
  92. package/uni_modules/uni-scss/package.json +82 -0
  93. package/uni_modules/uni-scss/readme.md +4 -0
  94. package/uni_modules/uni-scss/styles/index.scss +7 -0
  95. package/uni_modules/uni-scss/styles/setting/_border.scss +3 -0
  96. package/uni_modules/uni-scss/styles/setting/_color.scss +66 -0
  97. package/uni_modules/uni-scss/styles/setting/_radius.scss +55 -0
  98. package/uni_modules/uni-scss/styles/setting/_space.scss +56 -0
  99. package/uni_modules/uni-scss/styles/setting/_styles.scss +167 -0
  100. package/uni_modules/uni-scss/styles/setting/_text.scss +24 -0
  101. package/uni_modules/uni-scss/styles/setting/_variables.scss +146 -0
  102. package/uni_modules/uni-scss/styles/tools/functions.scss +19 -0
  103. package/uni_modules/uni-scss/theme.scss +31 -0
  104. package/uni_modules/uni-scss/variables.scss +62 -0
  105. package/utils/addressData.js +6042 -0
  106. package/utils/api.js +160 -0
  107. package/utils/fetch.js +548 -0
  108. package/utils/index.js +994 -0
  109. package/utils/navigator.js +17 -0
  110. package/utils/request.js +162 -0
package/App.vue ADDED
@@ -0,0 +1,294 @@
1
+ <script>
2
+ import { isMTVapp,isHonery } from "./utils";
3
+ export default {
4
+ onLaunch: function (e) {
5
+ const honery = isHonery()
6
+ if(honery){
7
+
8
+ let lastWidth = window.innerWidth
9
+ let timer = null
10
+
11
+ window.addEventListener('resize', () => {
12
+ const currentWidth = window.innerWidth
13
+ if (currentWidth === lastWidth) return
14
+
15
+ lastWidth = currentWidth
16
+
17
+ timer && clearTimeout(timer)
18
+ timer = setTimeout(() => {
19
+ location.reload()
20
+ }, 300)
21
+ })
22
+
23
+ }
24
+
25
+
26
+
27
+
28
+
29
+ const params = new URLSearchParams(window.location.search);
30
+ const isFullScreen = params && params.get("isFullScreen");
31
+ if (isFullScreen) {
32
+ if(!isMTVapp()){
33
+ uni.setStorageSync('safeTop', 0);
34
+ }
35
+ MgtvApi.callhandler('getScreenCutoutInfo', {}, function(data){
36
+ const resp = typeof data === 'string' ? JSON.parse(data) : data;
37
+ if (resp.code == 200 && resp.data) { //响应正常
38
+ const t = JSON.parse(resp.data)
39
+ const dpr = window.devicePixelRatio || 1
40
+ //将机器像素换算为CSS的像素
41
+ t.safeTop = t.safeTop / dpr
42
+ t.safeBottom = t.safeBottom / dpr
43
+ t.safeLeft = t.safeLeft / dpr
44
+ t.safeBottom = t.safeBottom / dpr
45
+ uni.setStorageSync('safeTop', t.safeTop);
46
+ // /** 是否有刘海,挖孔,1:有,0:无 */
47
+ // hasNotch;
48
+ // /** 屏的安全区域与左侧的间隔 */
49
+ // safeLeft;
50
+ // /** 屏的安全区域与顶部的间隔 */
51
+ // safeTop;
52
+ // /** 屏的安全区域与右侧的间隔 */
53
+ // safeRight;
54
+ // /** 屏的安全区域与底部的间隔 */
55
+ // safeBottom;
56
+ }else{
57
+ uni.setStorageSync('safeTop', 40);
58
+ }
59
+ })
60
+ uni.setStorageSync('hideHeader', 0);
61
+ }else{
62
+ uni.setStorageSync('safeTop', 0);
63
+ uni.setStorageSync('hideHeader', 1);
64
+ }
65
+
66
+ // this.checkVersion();
67
+ },
68
+ onShow: function (e) {
69
+
70
+
71
+ },
72
+ mounted() {
73
+ const is_app = /imgo/i.test(window.navigator.userAgent)
74
+ const is_android = /android/i.test(window.navigator.userAgent)
75
+
76
+ if(is_app && is_android) {
77
+ // 兼容安卓端会员频道里面弹窗打开后无法下拉的问题
78
+ document.addEventListener('click', () => {
79
+ if(document.documentElement.scrollTop === 0) {
80
+ document.documentElement.scrollTop = 1
81
+ }
82
+ })
83
+ }
84
+ },
85
+ onHide: function () {
86
+ },
87
+ methods: {
88
+
89
+ },
90
+ };
91
+ </script>
92
+
93
+ <style lang="scss">
94
+ @font-face {
95
+ font-family: 'AlibabaPuHuiTiRegular';
96
+ src: url('@/static/fonts/Alibaba-PuHuiTi-Regular.ttf') format('truetype');
97
+ font-weight: normal;
98
+ font-style: normal;
99
+ }
100
+ @font-face {
101
+ font-family: 'AlibabaPuHuiTiMedium';
102
+ src: url('@/static/fonts/Alibaba-PuHuiTi-Medium.ttf') format('truetype');
103
+ font-weight: normal;
104
+ font-style: normal;
105
+ }
106
+ @font-face {
107
+ font-family: 'AlibabaPuHuiTiBold';
108
+ src: url('@/static/fonts/Alibaba-PuHuiTi-Bold.ttf') format('truetype');
109
+ font-weight: normal;
110
+ font-style: normal;
111
+ }
112
+ @font-face {
113
+ font-family: 'fxlh';
114
+ src: url('@/static/fonts/fxlh.ttf') format('truetype');
115
+ font-weight: normal;
116
+ font-style: normal;
117
+ }
118
+ /*每个页面公共css */
119
+ @import "uview-ui/index.scss";
120
+ .hoverActive {
121
+ /* opacity: 0.8; */
122
+ }
123
+ /deep/ .u-popup__content{
124
+ background-color: transparent !important;
125
+ }
126
+ image {
127
+ /* vertical-align: middle; */
128
+ }
129
+ scroll-view {
130
+ box-sizing: border-box;
131
+ }
132
+ .warp {
133
+ /* height: 100vh; */
134
+ /* overflow-y: auto; */
135
+ }
136
+ .uni-picker-container {
137
+ z-index: 9999999 !important;
138
+ }
139
+ .uni-page-head-btn{
140
+ display: flex;
141
+ align-items: center;
142
+ }
143
+ page {
144
+ font-size: 24rpx;
145
+ font-family: PingFang SC, PingFang SC;
146
+ /* color: #333333; */
147
+ word-wrap: break-word;
148
+ color: #000;
149
+ box-sizing: border-box;
150
+ overscroll-behavior: none;
151
+
152
+ }
153
+
154
+ ul {
155
+ li {
156
+ list-style: none;
157
+ }
158
+ }
159
+
160
+ .over {
161
+ overflow: hidden;
162
+ text-overflow: ellipsis;
163
+ white-space: nowrap;
164
+ }
165
+
166
+ .flex-center {
167
+ display: flex;
168
+ align-items: center;
169
+ justify-content: center;
170
+ }
171
+
172
+ .flex {
173
+ display: flex;
174
+ }
175
+
176
+ .fb {
177
+ font-weight: 600;
178
+ }
179
+
180
+ .bgcCenter {
181
+ background-position: center center;
182
+ background-repeat: no-repeat;
183
+ background-size:cover ;
184
+ // background-color: #eaeaea;
185
+ background-color: transparent;
186
+ }
187
+
188
+ .u-sticky{
189
+ top: 0 !important;
190
+ z-index: 9999 !important;
191
+ }
192
+
193
+ .center{
194
+ display: flex;
195
+ align-items: center;
196
+ justify-content: center;
197
+ /* gap: 5rpx; */
198
+ }
199
+ scroll-view {
200
+ -webkit-overflow-scrolling: touch; /* iOS平滑滚动 */
201
+ }
202
+
203
+ .defaultBgcColor{
204
+ /* background-color: #ccc; */
205
+ }
206
+
207
+ span{
208
+ vertical-align: middle;
209
+ }
210
+ uni-text{
211
+ display: flex;
212
+ align-items: center;
213
+ }
214
+ .u-tabs__wrapper__nav__line{
215
+ background: linear-gradient( 90deg, #0BD690 0%, #00B0E0 100%) !important;
216
+ }
217
+ .loginTestPoupon {
218
+ width: 100%;
219
+ padding: 30rpx 48rpx;
220
+ // padding-top: 48rpx;
221
+ background-color: #ffff;
222
+ border-radius: 32rpx;
223
+ width: 654rpx;
224
+ .title {
225
+ // height: 100rpx;
226
+ background: #fff;
227
+ // display: flex;
228
+ // align-items: center;
229
+ // justify-content: center;
230
+ text-align: center;
231
+ // line-height: 100rpx;
232
+ font-size: 36rpx;
233
+ font-weight: bold;
234
+ padding: 0 24rpx;
235
+ }
236
+ .content {
237
+ margin-top: 15rpx;
238
+ .message{
239
+ margin-bottom: 10rpx;
240
+ >view{
241
+ &:first-child{
242
+ margin-bottom: 4rpx;
243
+ }
244
+ }
245
+ }
246
+ .subtitle {
247
+ font-size: 28rpx;
248
+ font-weight: bold;
249
+ margin-bottom: 16rpx;
250
+ text-align: center;
251
+ }
252
+ input {
253
+ // height: 100rpx;
254
+ background-color: #f6f6f6;
255
+ padding: 16rpx;
256
+ font-size: 28rpx;
257
+ text-align: left;
258
+ border-radius: 8rpx;
259
+ }
260
+ .tips {
261
+ font-size: 24rpx;
262
+ color: #e73e3d;
263
+ text-align: center;
264
+
265
+ margin-top: 56rpx;
266
+ }
267
+ }
268
+ .buttons {
269
+ display: flex;
270
+ align-items: center;
271
+ justify-content: center;
272
+ margin-top: 36rpx;
273
+ > view {
274
+ width: 264rpx;
275
+ height: 80rpx;
276
+
277
+ border-radius: 40rpx 40rpx 40rpx 40rpx;
278
+ font-size: 32rpx;
279
+ display: flex;
280
+ align-items: center;
281
+ justify-content: center;
282
+ &:first-child {
283
+ margin-right: 30rpx;
284
+ background: #e9e9e9;
285
+ }
286
+
287
+ &:last-child {
288
+ background: linear-gradient( 90deg, #0BD690 0%, #00B0E0 100%);;
289
+ color: #fff;
290
+ }
291
+ }
292
+ }
293
+ }
294
+ </style>
package/Local/en.json ADDED
@@ -0,0 +1,3 @@
1
+ {
2
+ "index":"home {msg}"
3
+ }
@@ -0,0 +1,3 @@
1
+ {
2
+ "index":"होम {msg}"
3
+ }
@@ -0,0 +1,3 @@
1
+ {
2
+ "index":"首页 {msg}"
3
+ }
@@ -0,0 +1,3 @@
1
+ {
2
+ "index":"首页 {msg}"
3
+ }
package/README.md ADDED
@@ -0,0 +1 @@
1
+ H5
@@ -0,0 +1,28 @@
1
+ {
2
+ "version" : "1",
3
+ "prompt" : "template",
4
+ "title" : "用户协议和隐私政策",
5
+ "message" : "  请你务必审慎阅读、充分理解“用户协议”和“隐私政策”各条款,包括但不限于:为了更好的向你提供服务,我们需要收集你的设备标识、操作日志等信息用于分析、优化应用性能。<br/>  你可阅读<a href=\"https://img.shinemang.com/static/protocol.html?type=system:UserAgreement\">《用户协议》</a>和<a href=\"https://img.shinemang.com/static/protocol.html\">《隐私政策》</a>了解详细信息。如果你同意,请点击下面按钮开始接受我们的服务。",
6
+ "buttonAccept" : "同意并接受",
7
+ "buttonRefuse" : "暂不同意",
8
+ "hrefLoader" : "system",
9
+ "second" : {
10
+ "title" : "确认提示",
11
+ "message" : "  进入应用前,你需先同意<a href=\"https://img.shinemang.com/static/protocol.html?type=system:UserAgreement\">《用户协议》</a>和<a href=\"https://img.shinemang.com/static/protocol.html\">《隐私政策》</a>,否则将退出应用。",
12
+ "buttonAccept" : "同意并继续",
13
+ "buttonRefuse" : "退出应用"
14
+ },
15
+ "styles" : {
16
+ "backgroundColor" : "#ffffff",
17
+ "borderRadius" : "5px",
18
+ "title" : {
19
+ "color" : "#333333"
20
+ },
21
+ "buttonAccept" : {
22
+ "color" : "#7C66FF"
23
+ },
24
+ "buttonRefuse" : {
25
+ "color" : "#333"
26
+ }
27
+ }
28
+ }
@@ -0,0 +1,230 @@
1
+
2
+ <template>
3
+ <view class="ball" >
4
+ <view>
5
+
6
+ <view v-if="afterTop !== -60" class="waterItem water water-level-10" :data-content="40 - afterTop + '%'"
7
+ :style="{ '--after-top': afterTop + '%' }"></view>
8
+ <view class="waterItem water1" v-else></view>
9
+ <view class="outer"></view>
10
+ </view>
11
+ <!-- <view class="num">{{ 40 - afterTop }}%</view> -->
12
+ <!-- <view class="starry-container">
13
+ <view v-for="(star, index) in stars" :key="index" class="star" :style="star.style"></view>
14
+ </view> -->
15
+ </view>
16
+ </template>
17
+ <script>
18
+ export default {
19
+ props: {
20
+ afterTop: {
21
+ type: Number,
22
+ default: -20,
23
+ },
24
+ },
25
+ created() {
26
+ },
27
+ data() {
28
+ return {
29
+ // afterTop: -20, //-60 满,40 空
30
+ // stars: null,
31
+ };
32
+ },
33
+ computed: {},
34
+ mounted() {
35
+ // if (![-60, 40].includes(this.afterTop)) {
36
+ // this.stars = Array(20)
37
+ // .fill()
38
+ // .map(() => {
39
+ // const size = Math.random() * 2 + 5;
40
+ // const hue = Math.floor(Math.random() * 360); // 0-359任意色相
41
+ // const saturation = Math.floor(Math.random() * 30) + 20; // 20-50%饱和度
42
+ // const lightness = Math.floor(Math.random() * 20) + 70; // 70-90%明度
43
+ // return {
44
+ // style: {
45
+ // top: `${Math.random() * 100}%`,
46
+ // left: `${Math.random() * 100}%`,
47
+ // animationDelay: `${Math.random() * 2}s`,
48
+ // width: `${size}rpx`,
49
+ // height: `${size}rpx`,
50
+ // background: `hsl(${hue}, ${saturation}%, ${lightness}%)`,
51
+ // },
52
+ // };
53
+ // });
54
+ // }
55
+ },
56
+ methods: {
57
+ },
58
+ };
59
+ </script>
60
+ <style lang='scss' scoped>
61
+ .ball {
62
+ position: absolute;
63
+ top: 0;
64
+ left: 0;
65
+ width: 144rpx;
66
+ height: 144rpx;
67
+ overflow: hidden;
68
+ font-weight: bold;
69
+ color: white;
70
+ z-index: 999;
71
+
72
+ .waterItem {
73
+ position: absolute;
74
+ width: 88rpx;
75
+ height: 88rpx;
76
+ left: 50%;
77
+ top: 50%;
78
+ transform: translate(-50%, -50%);
79
+ border-radius: 50%;
80
+ overflow: hidden;
81
+ }
82
+
83
+ .water {
84
+ background: linear-gradient( 180deg, #FF3124 0%, #FFE69A 100%);
85
+ }
86
+
87
+ .water1 {
88
+ background:linear-gradient(180deg, #FF3124 0%, #FFE69A 100%);
89
+ background-size: 100% 100%;
90
+ }
91
+
92
+ .water::after {
93
+ content: "";
94
+ position: absolute;
95
+ text-align: center;
96
+ top: 0;
97
+ left: 50%;
98
+ width: 150%;
99
+ height: 150%;
100
+ border-radius: 35%;
101
+ border: 2rpx solid rgb(251, 205, 148);
102
+ background:linear-gradient( 90deg, #FFD3CA 0%, #FF9F9F 100%);
103
+ animation: real 5s linear infinite;
104
+ }
105
+
106
+ @keyframes real {
107
+ 0% {
108
+ transform: translate(-50%, -65%) rotate(0deg);
109
+ }
110
+
111
+ 100% {
112
+ transform: translate(-50%, -65%) rotate(360deg);
113
+ }
114
+ }
115
+
116
+ /* 水位高度top: 35% ~ -65% */
117
+ .water::before {
118
+ content: "";
119
+ position: absolute;
120
+ top: 0;
121
+ left: 50%;
122
+ width: 150%;
123
+ height: 150%;
124
+ border-radius: 30%;
125
+ border: 2rpx solid rgb(251, 205, 148);
126
+ animation: virtual 7s linear infinite;
127
+ }
128
+
129
+ @keyframes virtual {
130
+ 0% {
131
+ transform: translate(-50%, -60%) rotate(0deg);
132
+ }
133
+
134
+ 100% {
135
+ transform: translate(-50%, -60%) rotate(360deg);
136
+ }
137
+ }
138
+
139
+ /* 定制浮动水位样式 */
140
+ .water-level-10::after,
141
+ .water-level-10::before {
142
+ top: var(--after-top);
143
+ }
144
+
145
+ .water-level-20::after,
146
+ .water-level-20::before {
147
+ top: var(--after-top);
148
+ }
149
+
150
+ .outer {
151
+ position: absolute;
152
+ width: 100%;
153
+ height: 100%;
154
+ left: 50%;
155
+ top: 50%;
156
+ transform: translate(-50%, -50%);
157
+ background-image: url("https://img.shinemang.com/static/img/bgcCenter.png");
158
+ background-size: 100% 100%;
159
+ }
160
+ // .starry-container {
161
+ // position: absolute;
162
+ // width: 72rpx;
163
+ // height: 70rpx;
164
+ // left: 50%;
165
+ // top: 42rpx;
166
+ // transform: translateX(-50%);
167
+
168
+ // z-index: 997;
169
+
170
+ // .star {
171
+ // position: absolute;
172
+ // border-radius: 50%;
173
+ // animation: twinkle 2s infinite ease-in-out;
174
+ // opacity: 0;
175
+ // will-change: transform, opacity;
176
+ // /* 提升动画性能 */
177
+ // }
178
+
179
+ // @keyframes twinkle {
180
+ // 100% {
181
+ // opacity: 0.3;
182
+ // transform: scale(0.8);
183
+ // box-shadow: 0 0 2rpx rgba(255, 215, 0, 0.3);
184
+ // }
185
+
186
+ // 50% {
187
+ // opacity: 1;
188
+ // transform: scale(1.2);
189
+ // box-shadow: 0 0 16rpx #ffd700, 0 0 32rpx #daa520;
190
+ // }
191
+ // }
192
+ // }
193
+
194
+ .num {
195
+ width: 100%;
196
+ position: absolute;
197
+ left: 50%;
198
+ top: 50%;
199
+ transform: translate(-50%, -50%);
200
+ -webkit-text-stroke: 3px transparent;
201
+ background-color: #ea20fd;
202
+ -webkit-background-clip: text;
203
+ z-index: 999;
204
+ font-size: 26rpx;
205
+ text-align: center;
206
+ }
207
+ }
208
+
209
+ .ball::before {
210
+ content: "";
211
+ position: absolute;
212
+ top: 0;
213
+ left: 0;
214
+ right: 0;
215
+ bottom: 0;
216
+ // background-image: url("https://img.chaoshewang.com/static/img/chaowanshang/ballBg.png");
217
+ background-size: cover;
218
+ // animation: rotateBg 20s linear infinite;
219
+ }
220
+
221
+ @keyframes rotateBg {
222
+ from {
223
+ transform: rotate(0deg);
224
+ }
225
+
226
+ to {
227
+ transform: rotate(360deg);
228
+ }
229
+ }
230
+ </style>