ソースを参照

Merge branch 'master' of http://git.ycjcjy.com/honghe/h5-draw-lots

Baozhangchao 3 年 前
コミット
a896f58401
共有25 個のファイルを変更した79 個の追加52 個の削除を含む
  1. バイナリ
      public/images/fanbubao.png
  2. バイナリ
      public/images/fanbubao2.png
  3. バイナリ
      public/images/madai.png
  4. バイナリ
      public/images/madai2.png
  5. バイナリ
      src/assets/luckyImg/1.jpg
  6. バイナリ
      src/assets/luckyImg/10.jpg
  7. バイナリ
      src/assets/luckyImg/11.jpg
  8. バイナリ
      src/assets/luckyImg/12.jpg
  9. バイナリ
      src/assets/luckyImg/2.jpg
  10. バイナリ
      src/assets/luckyImg/3.jpg
  11. バイナリ
      src/assets/luckyImg/4.jpg
  12. バイナリ
      src/assets/luckyImg/5.jpg
  13. バイナリ
      src/assets/luckyImg/6.jpg
  14. バイナリ
      src/assets/luckyImg/7.jpg
  15. バイナリ
      src/assets/luckyImg/8.jpg
  16. バイナリ
      src/assets/luckyImg/9.jpg
  17. バイナリ
      src/assets/monthImg/February2.jpg
  18. バイナリ
      src/assets/prizeImg/MyPrize.jpg
  19. バイナリ
      src/assets/prizeImg/notPrize.jpg
  20. 14
    12
      src/components/Modal.vue
  21. 17
    17
      src/components/MyWinning.vue
  22. 41
    21
      src/components/Popup.vue
  23. 1
    0
      src/components/ShaerPopup.vue
  24. 2
    2
      src/components/WinningPopup.vue
  25. 4
    0
      src/pages/Honghe.vue

バイナリ
public/images/fanbubao.png ファイルの表示


バイナリ
public/images/fanbubao2.png ファイルの表示


バイナリ
public/images/madai.png ファイルの表示


バイナリ
public/images/madai2.png ファイルの表示


バイナリ
src/assets/luckyImg/1.jpg ファイルの表示


バイナリ
src/assets/luckyImg/10.jpg ファイルの表示


バイナリ
src/assets/luckyImg/11.jpg ファイルの表示


バイナリ
src/assets/luckyImg/12.jpg ファイルの表示


バイナリ
src/assets/luckyImg/2.jpg ファイルの表示


バイナリ
src/assets/luckyImg/3.jpg ファイルの表示


バイナリ
src/assets/luckyImg/4.jpg ファイルの表示


バイナリ
src/assets/luckyImg/5.jpg ファイルの表示


バイナリ
src/assets/luckyImg/6.jpg ファイルの表示


バイナリ
src/assets/luckyImg/7.jpg ファイルの表示


バイナリ
src/assets/luckyImg/8.jpg ファイルの表示


バイナリ
src/assets/luckyImg/9.jpg ファイルの表示


バイナリ
src/assets/monthImg/February2.jpg ファイルの表示


バイナリ
src/assets/prizeImg/MyPrize.jpg ファイルの表示


バイナリ
src/assets/prizeImg/notPrize.jpg ファイルの表示


+ 14
- 12
src/components/Modal.vue ファイルの表示

3
     <div class="modal" :style="modalStyle" @click.stop="handleMaskClick">
3
     <div class="modal" :style="modalStyle" @click.stop="handleMaskClick">
4
       <fire-flies v-if="showFireflies"></fire-flies>
4
       <fire-flies v-if="showFireflies"></fire-flies>
5
       <div class="modal-action back-btn" v-if="showBack" @click.stop="$emit('close')">
5
       <div class="modal-action back-btn" v-if="showBack" @click.stop="$emit('close')">
6
-        <img src="~@/assets/buttonImg/backImg.png" alt="">
6
+        <img src="~@/assets/buttonImg/backImg.png" alt />
7
       </div>
7
       </div>
8
       <div class="modal-action share-guide" v-if="showShare">
8
       <div class="modal-action share-guide" v-if="showShare">
9
-        <img src="~@/assets/buttonImg/shareText.png" alt="">
9
+        <img src="~@/assets/buttonImg/shareText.png" alt />
10
+      </div>
11
+      <div class="modal-action">
12
+        <slot name="action"></slot>
13
+      </div>
14
+      <div class="modal-body">
15
+        <slot></slot>
10
       </div>
16
       </div>
11
-      <div class="modal-action"><slot name="action"></slot></div>
12
-      <div class="modal-body"><slot></slot></div>
13
-
14
     </div>
17
     </div>
15
-
16
   </div>
18
   </div>
17
 </template>
19
 </template>
18
 
20
 
26
     show: Boolean,
28
     show: Boolean,
27
     mask: {
29
     mask: {
28
       type: Boolean,
30
       type: Boolean,
29
-      default: true,
31
+      default: true
30
     },
32
     },
31
     maskClickCloseable: {
33
     maskClickCloseable: {
32
       type: Boolean,
34
       type: Boolean,
33
-      default: true,
35
+      default: true
34
     },
36
     },
35
     showBack: Boolean,
37
     showBack: Boolean,
36
     showFireflies: {
38
     showFireflies: {
43
     modalStyle() {
45
     modalStyle() {
44
       return {
46
       return {
45
         background: 'rgba(0, 0, 0, 0.6)'
47
         background: 'rgba(0, 0, 0, 0.6)'
46
-      }
48
+      };
47
     }
49
     }
48
   },
50
   },
49
   methods: {
51
   methods: {
50
     handleMaskClick() {
52
     handleMaskClick() {
51
       if (this.maskClickCloseable) {
53
       if (this.maskClickCloseable) {
52
-        this.$emit('close')
54
+        this.$emit('close');
53
       }
55
       }
54
     }
56
     }
55
   }
57
   }
56
-}
58
+};
57
 </script>
59
 </script>
58
 
60
 
59
 <style lang="less" scoped>
61
 <style lang="less" scoped>
92
       top: 0.5em;
94
       top: 0.5em;
93
       right: 0em;
95
       right: 0em;
94
       width: 3em;
96
       width: 3em;
95
-      
97
+
96
       & > img {
98
       & > img {
97
         width: 100%;
99
         width: 100%;
98
       }
100
       }

+ 17
- 17
src/components/MyWinning.vue ファイルの表示

49
 </template>
49
 </template>
50
 
50
 
51
 <script>
51
 <script>
52
-import { hideLoading } from '@/utils'
52
+import { hideLoading } from '@/utils';
53
 
53
 
54
 export default {
54
 export default {
55
   name: 'MyWinning',
55
   name: 'MyWinning',
81
       shaerButRed: require('../assets/buttonImg/sayFriend.png'),
81
       shaerButRed: require('../assets/buttonImg/sayFriend.png'),
82
       pressLucky: require('../assets/buttonImg/happyAccept.png'),
82
       pressLucky: require('../assets/buttonImg/happyAccept.png'),
83
       PrizeShow: null
83
       PrizeShow: null
84
-    }
84
+    };
85
   },
85
   },
86
 
86
 
87
   watch: {
87
   watch: {
89
       // this.showSelf = this.show
89
       // this.showSelf = this.show
90
     },
90
     },
91
     mounted() {
91
     mounted() {
92
-      hideLoading() //loading
92
+      hideLoading(); //loading
93
 
93
 
94
-      this.forbidScroll()
94
+      this.forbidScroll();
95
       if (this.show === true) {
95
       if (this.show === true) {
96
-        this.transform()
96
+        this.transform();
97
       }
97
       }
98
     }
98
     }
99
   },
99
   },
101
     /** 取消按钮操作 */
101
     /** 取消按钮操作 */
102
     cancelPopupts() {
102
     cancelPopupts() {
103
       // this.shaerShow = false
103
       // this.shaerShow = false
104
-      this.$emit('cancelPopus', true)
104
+      this.$emit('cancelPopus', true);
105
     },
105
     },
106
 
106
 
107
     cancelPopup() {
107
     cancelPopup() {
108
-      this.shaerShow = false
108
+      this.shaerShow = false;
109
     },
109
     },
110
     // shareClick() {
110
     // shareClick() {
111
     //   this.$router.replace({
111
     //   this.$router.replace({
121
     // },
121
     // },
122
     transform() {
122
     transform() {
123
       setTimeout(() => {
123
       setTimeout(() => {
124
-        this.classDivAA = this.show
125
-      }, 0)
124
+        this.classDivAA = this.show;
125
+      }, 0);
126
     },
126
     },
127
     /** 禁止页面滚动 */
127
     /** 禁止页面滚动 */
128
     forbidScroll() {
128
     forbidScroll() {
129
-      this.bodyOverflow = document.body.style.overflow
130
-      document.body.style.overflow = 'hidden'
129
+      this.bodyOverflow = document.body.style.overflow;
130
+      document.body.style.overflow = 'hidden';
131
     },
131
     },
132
 
132
 
133
     /**  每次获取之后 zindex 自动增加 */
133
     /**  每次获取之后 zindex 自动增加 */
134
     getZIndex() {
134
     getZIndex() {
135
-      let zIndexInit = 2022112
136
-      return zIndexInit++
135
+      let zIndexInit = 2022112;
136
+      return zIndexInit++;
137
     },
137
     },
138
 
138
 
139
     /** 确认按钮操作 */
139
     /** 确认按钮操作 */
140
     confirm() {
140
     confirm() {
141
-      this.$emit('confirm', true)
141
+      this.$emit('confirm', true);
142
     },
142
     },
143
 
143
 
144
     /** 点击遮罩关闭弹窗 */
144
     /** 点击遮罩关闭弹窗 */
145
     closeMyself(event) {
145
     closeMyself(event) {
146
       // this.sloveBodyOverflow()
146
       // this.sloveBodyOverflow()
147
-      this.$emit('closeMyself', true)
147
+      this.$emit('closeMyself', true);
148
     },
148
     },
149
 
149
 
150
     /** 恢复页面的滚动 */
150
     /** 恢复页面的滚动 */
151
     sloveBodyOverflow() {
151
     sloveBodyOverflow() {
152
       // this.showSelf = false
152
       // this.showSelf = false
153
-      document.body.style.overflow = this.bodyOverflow
153
+      document.body.style.overflow = this.bodyOverflow;
154
     }
154
     }
155
   }
155
   }
156
-}
156
+};
157
 </script>
157
 </script>
158
 
158
 
159
 <style lang="less" scoped>
159
 <style lang="less" scoped>

+ 41
- 21
src/components/Popup.vue ファイルの表示

40
             <div class="dialog-footer">
40
             <div class="dialog-footer">
41
               <img @click="cancel" class="btn" src="../assets/buttonImg/closeBut.png" alt />
41
               <img @click="cancel" class="btn" src="../assets/buttonImg/closeBut.png" alt />
42
             </div>
42
             </div>
43
+
44
+            <div class="footer-tip" v-if="!noPrize && !(isPrize && isPrize.prizeId)">
45
+              再试几次,惊喜礼品在等你哟
46
+            </div>
43
           </div>
47
           </div>
44
           <!-- 右侧 -->
48
           <!-- 右侧 -->
45
           <div class="section-box">
49
           <div class="section-box">
120
       showPopupCalendarPoster: false,
124
       showPopupCalendarPoster: false,
121
       stater: null,
125
       stater: null,
122
       MyWinningShow: false
126
       MyWinningShow: false
123
-    }
127
+    };
124
   },
128
   },
125
   watch: {
129
   watch: {
126
     show(val) {
130
     show(val) {
127
-      console.log('🚀 ~ file: Popup.vue ~ line 78 ~ show ~ val', this.isPrize)
128
-      this.showSelf = val
131
+      console.log('🚀 ~ file: Popup.vue ~ line 78 ~ show ~ val', this.isPrize);
132
+      this.showSelf = val;
129
       if (this.show === false) {
133
       if (this.show === false) {
130
-        this.myShareShow = false
134
+        this.myShareShow = false;
131
       }
135
       }
132
-      this.transform()
136
+      this.transform();
133
     }
137
     }
134
   },
138
   },
135
   created() {
139
   created() {
136
-    this.showSelf = this.show
140
+    this.showSelf = this.show;
137
   },
141
   },
138
   mounted() {
142
   mounted() {
139
-    this.forbidScroll()
143
+    this.forbidScroll();
140
     if (this.show === true) {
144
     if (this.show === true) {
141
-      this.transform()
145
+      this.transform();
142
     }
146
     }
143
   },
147
   },
144
   methods: {
148
   methods: {
145
     canclMyWinning() {
149
     canclMyWinning() {
146
-      this.MyWinningShow = false
150
+      this.MyWinningShow = false;
147
     },
151
     },
148
     canckle() {
152
     canckle() {
149
-      this.showPopupCalendarPoster = false
153
+      this.showPopupCalendarPoster = false;
150
     },
154
     },
151
     shareClick() {
155
     shareClick() {
152
       this.$router.replace({
156
       this.$router.replace({
153
         path: 'SaveShare',
157
         path: 'SaveShare',
154
         query: { states: 0 }
158
         query: { states: 0 }
155
-      })
159
+      });
156
     },
160
     },
157
     transform() {
161
     transform() {
158
       setTimeout(() => {
162
       setTimeout(() => {
159
-        this.classDivAA = this.show
160
-      }, 0)
163
+        this.classDivAA = this.show;
164
+      }, 0);
161
     },
165
     },
162
     /** 禁止页面滚动 */
166
     /** 禁止页面滚动 */
163
     forbidScroll() {
167
     forbidScroll() {
164
-      this.bodyOverflow = document.body.style.overflow
165
-      document.body.style.overflow = 'hidden'
168
+      this.bodyOverflow = document.body.style.overflow;
169
+      document.body.style.overflow = 'hidden';
166
     },
170
     },
167
 
171
 
168
     /**  每次获取之后 zindex 自动增加 */
172
     /**  每次获取之后 zindex 自动增加 */
169
     getZIndex() {
173
     getZIndex() {
170
-      let zIndexInit = 2022112
171
-      return zIndexInit++
174
+      let zIndexInit = 2022112;
175
+      return zIndexInit++;
172
     },
176
     },
173
 
177
 
174
     /** 取消按钮操作 */
178
     /** 取消按钮操作 */
175
     cancel() {
179
     cancel() {
176
-      event.stopPropagation()
177
-      this.$emit('cancel', true)
180
+      event.stopPropagation();
181
+      this.$emit('cancel', true);
178
     },
182
     },
179
 
183
 
180
     /** 点击遮罩关闭弹窗 */
184
     /** 点击遮罩关闭弹窗 */
184
 
188
 
185
     /** 恢复页面的滚动 */
189
     /** 恢复页面的滚动 */
186
     sloveBodyOverflow() {
190
     sloveBodyOverflow() {
187
-      document.body.style.overflow = this.bodyOverflow
191
+      document.body.style.overflow = this.bodyOverflow;
188
     }
192
     }
189
   }
193
   }
190
-}
194
+};
191
 </script>
195
 </script>
192
 
196
 
193
 <style lang="less" scoped>
197
 <style lang="less" scoped>
303
         height: 30.6px;
307
         height: 30.6px;
304
       }
308
       }
305
     }
309
     }
310
+
311
+    .footer-tip {
312
+      color: #fff;
313
+      margin-top: 1em;
314
+      font-size: 0.9em;
315
+      letter-spacing: 1px;
316
+      opacity: 0.2;
317
+
318
+      animation: breaf 2.6s ease infinite;
319
+    }
320
+  }
321
+
322
+  @keyframes breaf {
323
+    50% {
324
+      opacity: 0.8;
325
+    }    
306
   }
326
   }
307
   .section-box {
327
   .section-box {
308
     position: absolute;
328
     position: absolute;

+ 1
- 0
src/components/ShaerPopup.vue ファイルの表示

58
   },
58
   },
59
   watch: {
59
   watch: {
60
     show(val) {
60
     show(val) {
61
+      console.log('🚀 ~ file: Popup.vue ~ line 78 ~ show ~ val', val)
61
       this.showSelf = val
62
       this.showSelf = val
62
     }
63
     }
63
   },
64
   },

+ 2
- 2
src/components/WinningPopup.vue ファイルの表示

220
           transform: rotateY(-180deg); //iPhone异常
220
           transform: rotateY(-180deg); //iPhone异常
221
 
221
 
222
           .PrizeImg {
222
           .PrizeImg {
223
-            width: 55vw;
223
+            width: 40vw;
224
             position: absolute;
224
             position: absolute;
225
-            height: 48vw;
225
+            height: 40vw;
226
             top: 20vh;
226
             top: 20vh;
227
           }
227
           }
228
         }
228
         }

+ 4
- 0
src/pages/Honghe.vue ファイルの表示

335
           if (err && err.code === 9999) {
335
           if (err && err.code === 9999) {
336
             this.PrizeState = 2
336
             this.PrizeState = 2
337
 
337
 
338
+            this.prizeList = this.prizeList.map(x => ({ ...x, exitsNum: 0 }))
339
+            
340
+            alert('对不起,您来晚了,奖品已抽完')
341
+
338
             // 奖品没了
342
             // 奖品没了
339
           } else {
343
           } else {
340
             // 其他错误
344
             // 其他错误