lex 2 年之前
父节点
当前提交
c513277653

+ 1 - 1
src/components/col-share/code-down-load.tsx

@@ -13,7 +13,7 @@ export default defineComponent({
     }
   },
   mounted() {
-    console.log(this.shareUrl, 'this.shareUrl')
+    // console.log(this.shareUrl, 'this.shareUrl')
     // const canvas = document.getElementById('canvas')
     const canvas = this.$refs.canvas
     QRCode.toCanvas(

+ 1 - 1
src/components/col-share/share-item.tsx

@@ -66,7 +66,7 @@ export default defineComponent({
     // '@base@tag=imgscale&m=0&w=80&et=1&eth=100&etw=100&etc=cccccc'
     // ?time= +
     // new Date().valueOf()
-    console.log(this.heardUrl, 'heardUrl')
+    // console.log(this.heardUrl, 'heardUrl')
   },
   render() {
     return (

二进制
src/teacher/share-page/images/icon_discount.png


+ 5 - 0
src/teacher/share-page/share-music-sheet/index.module.less

@@ -60,6 +60,11 @@
       color: #6a6a6a;
       line-height: 17px;
     }
+    .discount {
+      height: 18px;
+      width: auto;
+      margin-top: 8px;
+    }
   }
 }
 

+ 5 - 0
src/teacher/share-page/share-music-sheet/index.tsx

@@ -7,6 +7,7 @@ import { postMessage } from '@/helpers/native-message'
 
 import iconMusic from '../images/icon_music.png'
 import iconCert from '../images/icon-cert.png'
+import iconDiscount from '../images/icon_discount.png'
 import iconTeacher from '@/common/images/icon_teacher.png'
 import request from '@/helpers/request'
 
@@ -17,6 +18,7 @@ export default defineComponent({
     return {
       id: query.id,
       recomUserId: query.recomUserId, // 分享人编号
+      discount: query.discount || 0, // 专属优惠 0:否 1:是
       musicSheet: {} as any,
       teacherName: ''
     }
@@ -81,6 +83,9 @@ export default defineComponent({
             <div>
               <h2>{this.musicSheet.musicSheetName}</h2>
               <p>作曲人: {this.musicSheet.composer}</p>
+              {this.discount == 1 && (
+                <img src={iconDiscount} class={styles.discount} />
+              )}
             </div>
           </div>
           <Cell

二进制
src/views/member-center/images/discount_bg.png


二进制
src/views/member-center/images/icon_discount.png


二进制
src/views/member-center/images/icon_gift.png


+ 52 - 1
src/views/member-center/index.module.less

@@ -154,7 +154,7 @@
     position: relative;
     user-select: none;
     box-sizing: content-box;
-    padding-top: 10px;
+    padding-top: 16px;
     padding-bottom: 10px;
     margin-bottom: 10px;
   }
@@ -259,3 +259,54 @@
     }
   }
 }
+
+.memberDiscount {
+  margin-top: 16px;
+  position: relative;
+  background: url('./images/discount_bg.png') no-repeat center;
+  background-size: contain;
+  display: flex;
+  align-items: center;
+  height: 44px;
+  font-size: 16px;
+  color: #ff7100;
+  line-height: 18px;
+
+  .discountAvatar {
+    margin-left: 15px;
+    width: 36px;
+    height: 36px;
+    border-radius: 50%;
+    border: 1px solid #ffaf59;
+  }
+
+  .discountName {
+    padding-left: 30px;
+    max-width: 200px;
+    white-space: nowrap;
+    overflow: hidden;
+    text-overflow: ellipsis;
+  }
+
+  .discountGift {
+    position: absolute;
+    right: 26px;
+    top: 7px;
+    width: 29px;
+    height: 29px;
+  }
+}
+
+.discountItem {
+  height: 14px;
+  padding-bottom: 2px;
+  img {
+    height: 100%;
+  }
+}
+
+.discountBuy {
+  height: 18px;
+  padding-bottom: 0;
+  margin-left: 8px;
+}

+ 38 - 32
src/views/member-center/index.tsx

@@ -5,6 +5,9 @@ import styles from './index.module.less'
 import request from '@/helpers/request'
 import { state } from '@/state'
 import iconStudent from '@common/images/icon_student.png'
+import iconTeacher from '@common/images/icon_teacher.png'
+import iconGift from './images/icon_gift.png'
+import iconDiscount from './images/icon_discount.png'
 import { orderStatus } from '@/views/order-detail/orderStatus'
 import dayjs from 'dayjs'
 import { memberType } from '@/constant'
@@ -29,6 +32,11 @@ export default defineComponent({
       params: {
         page: 1,
         rows: 20
+      },
+      discountTeacher: {
+        avatar: '',
+        discount: 0,
+        username: ''
       }
     }
   },
@@ -64,7 +72,11 @@ export default defineComponent({
           data: {}
         }
       )
-      const settingResult = setting.data || []
+      const { list, ...more } = setting.data
+      this.discountTeacher = {
+        ...more
+      }
+      const settingResult = list || []
       const settingList: any = []
       settingResult.forEach((item: any) => {
         const tempItem = {
@@ -85,6 +97,7 @@ export default defineComponent({
         settingList[0].status = true
         this.selectMember = settingList[0]
       }
+      console.log(settingList)
       this.memberList = settingList
     } catch {}
   },
@@ -192,6 +205,22 @@ export default defineComponent({
               会员<span>VIP</span>
             </div>
 
+            {/* 判断是否有推荐老师 */}
+            {this.discountTeacher.discount == 1 && (
+              <div class={styles.memberDiscount}>
+                <Image
+                  src={this.discountTeacher.avatar || iconTeacher}
+                  class={styles.discountAvatar}
+                />
+
+                <span class={styles.discountName}>
+                  {this.discountTeacher.username}老师的专属优惠~
+                </span>
+
+                <Image src={iconGift} class={styles.discountGift} />
+              </div>
+            )}
+
             <div class={styles['system-list']}>
               {this.memberList.map((item: any) => (
                 <div
@@ -204,6 +233,9 @@ export default defineComponent({
                     this.selectMember = item
                   }}
                 >
+                  <div class={styles.discountItem}>
+                    {item.discount == 1 && <img src={iconDiscount} />}
+                  </div>
                   <p class={styles.title}>{item.title}</p>
                   <p class={styles.price}>
                     <span>¥</span>
@@ -214,37 +246,6 @@ export default defineComponent({
                   </del>
                 </div>
               ))}
-              {/* <div class={[styles['system-item'], styles.active]}>
-                <p class={styles.title}>月度会员</p>
-                <p class={styles.price}>
-                  <span>¥</span>199
-                </p>
-                <del class={styles.originalPrice}>¥199</del>
-              </div>
-
-              <div class={styles['system-item']}>
-                <p class={styles.title}>月度会员</p>
-                <p class={styles.price}>
-                  <span>¥</span>199
-                </p>
-                <del class={styles.originalPrice}>¥199</del>
-              </div>
-
-              <div class={styles['system-item']}>
-                <p class={styles.title}>月度会员</p>
-                <p class={styles.price}>
-                  <span>¥</span>199
-                </p>
-                <del class={styles.originalPrice}>¥199</del>
-              </div>
-
-              <div class={styles['system-item']}>
-                <p class={styles.title}>月度会员</p>
-                <p class={styles.price}>
-                  <span>¥</span>199
-                </p>
-                <del class={styles.originalPrice}>¥199</del>
-              </div> */}
             </div>
           </div>
 
@@ -288,6 +289,11 @@ export default defineComponent({
                 )}
               </span>
             </div>
+            {this.discountTeacher.discount == 1 && (
+              <div class={[styles.discountItem, styles.discountBuy]}>
+                <img src={iconDiscount} />
+              </div>
+            )}
           </div>
           <Button
             color="linear-gradient(220deg, #DFA164 0%, #FAC87E 100%)"

+ 16 - 1
src/views/music/list/item.module.less

@@ -95,6 +95,7 @@
 }
 
 .shareMate {
+  position: relative;
   margin-top: 50px;
   display: flex;
   flex: 1;
@@ -102,7 +103,7 @@
   padding: 11px 12px;
   background: #ffffff;
   border-radius: 10px;
-  border: 1px solid #2dc7aa;
+  // border: 1px solid #2dc7aa;
   .icon {
     width: 36px;
     height: 36px;
@@ -123,4 +124,18 @@
       line-height: 17px;
     }
   }
+
+  .tagDiscount {
+    position: absolute;
+    top: -26px;
+    left: 15px;
+    padding: 2px 10px 1px;
+    height: 23px;
+    background: linear-gradient(180deg, #ffb635 0%, #ff4e18 100%);
+    border-radius: 8px 8px 0px 0px;
+    font-size: 14px;
+    font-weight: 600;
+    color: #ffffff;
+    line-height: 20px;
+  }
 }

+ 1 - 9
src/views/music/list/item.tsx

@@ -148,15 +148,7 @@ export default defineComponent({
             shareType="music"
           >
             <div class={styles.shareMate}>
-              {/* <Image
-                src={
-                  data.titleImg +
-                    `@base@tag=imgScale&h=80&w=80&m=1?t=${+new Date()}` ||
-                  MusicIcon
-                }
-                round
-                class={styles.icon}
-              /> */}
+              <div class={styles.tagDiscount}>专属优惠</div>
               <img
                 class={styles.icon}
                 crossorigin="anonymous"