Browse Source

开发音乐评测功能

bayi 2 năm trước cách đây
mục cha
commit
1b7660ae2a

+ 61 - 2
pages/reading/index.js

@@ -267,7 +267,11 @@ Page({
                     }
                     }
                 })
                 })
                 await this.playMediaState()
                 await this.playMediaState()
-                await this.soundRecording()
+                if (this.data.videoInfo.userReadExtend.businessType != 2) {
+                    await this.soundRecording()
+                } else {
+                    await this.songRecording()
+                }
                 this.startRecording()
                 this.startRecording()
             } else {
             } else {
                 this.setData({
                 this.setData({
@@ -331,7 +335,7 @@ Page({
             },
             },
         });
         });
         recorderManager.onError(res => {
         recorderManager.onError(res => {
-            console.log(res, 'rrrrrsse');
+            console.log(res, 'recorderManagerError');
         })
         })
         //监听录音开始事件
         //监听录音开始事件
         recorderManager.onStart(() => {});
         recorderManager.onStart(() => {});
@@ -366,6 +370,61 @@ Page({
             });
             });
         });
         });
     },
     },
+    songRecording() {
+        let options = {
+            duration: 600000,
+            sampleRate: 44100, //采样率
+            numberOfChannels: 1, //录音通道数
+            encodeBitRate: 192000, //编码码率
+            format: 'mp3', //音频格式,有效值aac/mp3
+            frameSize: 50 //指定帧大小,单位 KB
+        };
+        //开始录音,在开始录音回调中feed音频片
+        recorderManager.start(options);
+        recorderManager.onError(res => {
+            console.log(res, 'songError');
+        })
+        //监听录音开始事件
+        recorderManager.onStart(() => {});
+        //监听录音结束事件
+        recorderManager.onStop(async (res) => {
+            this.setData({
+                tempFilePath: res.tempFilePath,
+            });
+            let detail = {
+                businessType: this.data.videoInfo.userReadExtend.businessType,
+                tempFilePath: this.data.tempFilePath,
+                title: this.data.videoInfo.userRead.title,
+                id: this.data.videoInfo.userRead.exampleId,
+                coverImg: this.data.videoInfo.userRead.coverImg,
+                resourcesType: this.data.videoInfo.userReadExtend.resourcesType,
+                aBg: this.data.videoInfo.userReadExtend.resourcesType == 1 ? this.data.videoInfo.userReadExtend.backgroundVirtualImg : '',
+                originVideo: this.data.videoInfo.userRead.originVideo
+            }
+            this.setReadDetail(detail)
+            await userEvent({
+                action: 'WXSCORE',
+            })
+            if (this.data.readingType == 'public' || this.data.readingType == 'readMatch') {
+                wx.navigateTo({
+                    url: `/pages/score/index?readingType=${this.data.readingType}&activityId=${this.data.activityId}&free=${this.data.free}`,
+                    events: {
+                        // 为指定事件添加一个监听器,获取被打开页面传送到当前页面的数据
+                        goback: (data) => {
+                            this.setData({
+                                readingReset: data.reset || false,
+                                readingType: data.readingType || 'public',
+                                uploadHide: data.uploadHide
+                            })
+                        }
+                    },
+                })
+            } else {
+                this.uploadAudio()
+            }
+        });
+
+    },
     // 直接跳转的时候用的,勿动
     // 直接跳转的时候用的,勿动
     // util() {
     // util() {
     //   wx.navigateTo({
     //   wx.navigateTo({

+ 1 - 1
pages/reading/index.wxml

@@ -46,7 +46,7 @@
             <view style="height: {{contentH}}rpx;"></view>
             <view style="height: {{contentH}}rpx;"></view>
         </scroll-view>
         </scroll-view>
     </view>
     </view>
-    <view class="scoreBoxC" wx:elif="{{readingReset}}">
+    <view class="scoreBoxC" wx:elif="{{readingReset&&readDetail.businessType!=2}}">
         <view class="scoreBox">
         <view class="scoreBox">
             <!-- 星星区域 -->
             <!-- 星星区域 -->
             <view class="lightBox">
             <view class="lightBox">

+ 193 - 193
pages/score/index.js

@@ -1,203 +1,203 @@
 import {
 import {
-  createStoreBindings
+    createStoreBindings
 } from 'mobx-miniprogram-bindings'
 } from 'mobx-miniprogram-bindings'
 import {
 import {
-  store
+    store
 } from '~/store/index'
 } from '~/store/index'
 Page({
 Page({
-  /**
-   * 页面的初始数据
-   */
-  data: {
-    score: {},
-    // 目前用来处理区分上传普通作品还是朗读赛作品
-    readingType: '',
-    uploadHide: '',
-    // 朗读赛的id
-    activityId: '',
-  },
+    /**
+     * 页面的初始数据
+     */
+    data: {
+        score: {},
+        // 目前用来处理区分上传普通作品还是朗读赛作品
+        readingType: '',
+        uploadHide: '',
+        // 朗读赛的id
+        activityId: '',
+    },
 
 
-  /**
-   * 生命周期函数--监听页面加载
-   */
-  async onLoad(options) {
-    console.log(options);
-    /*     wx.enableAlertBeforeUnload({
-          message: "未完成上传,是否退出?",
-          success: function (res) {
-            console.log(res)
-          },
-          fail: function (e) {
-            console.log(e)
-          }
-        }) */
-    this.storeBindings = createStoreBindings(this, {
-      store,
-      fields: {
-        userInfo: 'userInfo',
-        readDetail: 'readDetail'
-      },
-    })
-    this.storeBindings.updateStoreBindings()
-    let score = this.data.readDetail
-    console.log('scorescorescore',score);
-    wx.setNavigationBarTitle({
-      title: score.title
-    })
-    this.setData({
-      score,
-      readingType: options.readingType ? options.readingType : '',
-      activityId: options.activityId
-    })
-  },
-  backReading() {
-    let pagesList = getCurrentPages()
-    let last = pagesList[pagesList.length - 2]
-    if (last.route != 'pages/reading/index') {
-      wx.redirectTo({
-        url: `/pages/reading/index?videoId=${this.data.score.id}&reset=true&uploadHide=${this.data.uploadHide}&readingType=${this.data.readingType}`,
-      })
-    } else {
-      const eventChannel = this.getOpenerEventChannel()
-      eventChannel.emit('goback', {
-        videoId: this.data.score.id,
-        reset: true,
-        uploadHide: this.data.uploadHide,
-        readingType: this.data.readingType
-      });
-      wx.navigateBack({
-        delta: 1
-      })
-    }
-  },
-  hideFooter() {
-    this.setData({
-      uploadHide: true
-    })
-  },
- 
-  creatShare() {
-    let video = this.data.readDetail
-    return new Promise((resolve, reject) => {
-      let context = wx.createSelectorQuery();
-      context
-        .select('#share')
-        .fields({
-          node: true,
-          size: true
-        }).exec((res) => {
-          const canvas = res[0].node;
-          const ctx = canvas.getContext('2d');
-          const dpr = wx.getSystemInfoSync().pixelRatio;
-          canvas.width = res[0].width * dpr;
-          canvas.height = res[0].height * dpr;
-          ctx.scale(dpr, dpr);
-          ctx.font = '14px PingFang';
-          let pic = canvas.createImage();
-          pic.src = video.resourcesType == 1 ? video.aBg : video.coverImg;
-          pic.onload = () => {
-            ctx.drawImage(pic, 0, 0, 375, 211);
-            let peiyin = canvas.createImage();
-            peiyin.src = '/static/peiyin.jpg';
-            peiyin.onload = () => {
-              ctx.drawImage(peiyin, 0, 211, 375, 89);
-              //分享
-              let fx = canvas.createImage();
-              fx.src = '/static/share.png'
-              fx.onload = () => {
-                ctx.drawImage(fx, 12, 220, 20, 20)
-                ctx.fillText('分享', 36, 238)
-                // 收藏,一个一个渲染
-                let sc = canvas.createImage();
-                sc.src = '/static/no_collect.png'
-                sc.onload = () => {
-                  ctx.drawImage(sc, 110, 220, 19, 19)
-                  ctx.fillText('收藏', 134, 238)
-                  //点赞
-                  let dz = canvas.createImage();
-                  dz.src = '/static/heart.png'
-                  dz.onload = () => {
-                    ctx.drawImage(dz, 318, 222, 22, 22)
-                    ctx.fillText(0, 254, 238)
-                    // 评论
-                    let pl = canvas.createImage();
-                    pl.src = '/static/comment.png'
-                    pl.onload = () => {
-                      ctx.drawImage(pl, 228, 222, 22, 22)
-                      ctx.fillText(0, 340, 238)
-                      if (video.resourcesType == 1) {
-                        let aBg = canvas.createImage();
-                        aBg.src = '/static/shareAudioBg.png';
-                        aBg.onload = () => {
-                          ctx.drawImage(aBg, 127.5, 38, 120, 120);
-                          let rate = 0.5
-                          ctx.arc(
-                            Math.floor(375 * rate),
-                            98,
-                            Math.floor(100 * rate),
-                            0,
-                            2 * Math.PI
-                          );
-                          ctx.clip() //裁剪
-                          let coverImg = canvas.createImage();
-                          coverImg.src = video.coverImg;
-                          coverImg.onload = () => {
-                            ctx.drawImage( //定位在圆圈范围内便会出现
-                              coverImg, //图片暂存路径
-                              129, 42,
-                              110, 110,
-                            );
-                            ctx.restore()
-                          }
-                        }
-                      }
-                      setTimeout(() => {
-                        console.log(wx.getStorageSync('shareVideoId'), 'reading-wx.score');
-                        wx.canvasToTempFilePath({
-                          canvas: canvas,
-                          success(res) {
-                            resolve({
-                              title: '我的新作品发布啦,快来捧场点赞!',
-                              path: `/pages/pkPage/index?videoId=${wx.getStorageSync('shareVideoId')}&uid=${wx.getStorageSync('uid')}&isShare=true`,
-                              imageUrl: res.tempFilePath
-                            })
-                          },
-                          fail(res) {
-                            reject()
-                          }
-                        }, this)
-                      }, 500)
-                    }
-                  }
-                }
+    /**
+     * 生命周期函数--监听页面加载
+     */
+    async onLoad(options) {
+        console.log(options);
+        /*     wx.enableAlertBeforeUnload({
+              message: "未完成上传,是否退出?",
+              success: function (res) {
+                console.log(res)
+              },
+              fail: function (e) {
+                console.log(e)
               }
               }
-            }
-          }
+            }) */
+        this.storeBindings = createStoreBindings(this, {
+            store,
+            fields: {
+                userInfo: 'userInfo',
+                readDetail: 'readDetail'
+            },
         })
         })
-    })
-  },
-  onShareAppMessage({
-    from,
-    target
-  }) {
-    if (from == 'button') {
-      const promise = new Promise(resolve => {
-        this.creatShare().then(res => {
-          resolve(res)
+        this.storeBindings.updateStoreBindings()
+        let score = this.data.readDetail
+        console.log('scorescorescore', score);
+        wx.setNavigationBarTitle({
+            title: score.title
         })
         })
-      })
-      return {
-        title: '我的新作品发布啦,快来捧场点赞!',
-        path: `/pages/index/index?uid=${wx.getStorageSync('uid')}`,
-        imageUrl: 'http://reader-wx.ai160.com/images/reader/v3/375-300-1.jpg',
-        promise
-      }
-    } else {
-      return {
-        title: '自从用了它,家里朗朗书声,美妙极了!你家孩子也快来试试!',
-        path: `/pages/index/index?uid=${wx.getStorageSync('uid')}`,
-        imageUrl: 'http://reader-wx.ai160.com/images/reader/v3/375-300-1.jpg'
-      }
-    }
-  },
+        this.setData({
+            score,
+            readingType: options.readingType ? options.readingType : '',
+            activityId: options.activityId
+        })
+    },
+    backReading() {
+        let pagesList = getCurrentPages()
+        let last = pagesList[pagesList.length - 2]
+        if (last.route != 'pages/reading/index') {
+            wx.redirectTo({
+                url: `/pages/reading/index?videoId=${this.data.score.id}&reset=true&uploadHide=${this.data.uploadHide}&readingType=${this.data.readingType}`,
+            })
+        } else {
+            const eventChannel = this.getOpenerEventChannel()
+            eventChannel.emit('goback', {
+                videoId: this.data.score.id,
+                reset: true,
+                uploadHide: this.data.uploadHide,
+                readingType: this.data.readingType
+            });
+            wx.navigateBack({
+                delta: 1
+            })
+        }
+    },
+    hideFooter() {
+        this.setData({
+            uploadHide: true
+        })
+    },
+
+    creatShare() {
+        let video = this.data.readDetail
+        return new Promise((resolve, reject) => {
+            let context = wx.createSelectorQuery();
+            context
+                .select('#share')
+                .fields({
+                    node: true,
+                    size: true
+                }).exec((res) => {
+                    const canvas = res[0].node;
+                    const ctx = canvas.getContext('2d');
+                    const dpr = wx.getSystemInfoSync().pixelRatio;
+                    canvas.width = res[0].width * dpr;
+                    canvas.height = res[0].height * dpr;
+                    ctx.scale(dpr, dpr);
+                    ctx.font = '14px PingFang';
+                    let pic = canvas.createImage();
+                    pic.src = video.resourcesType == 1 ? video.aBg : video.coverImg;
+                    pic.onload = () => {
+                        ctx.drawImage(pic, 0, 0, 375, 211);
+                        let peiyin = canvas.createImage();
+                        peiyin.src = '/static/peiyin.jpg';
+                        peiyin.onload = () => {
+                            ctx.drawImage(peiyin, 0, 211, 375, 89);
+                            //分享
+                            let fx = canvas.createImage();
+                            fx.src = '/static/share.png'
+                            fx.onload = () => {
+                                ctx.drawImage(fx, 12, 220, 20, 20)
+                                ctx.fillText('分享', 36, 238)
+                                // 收藏,一个一个渲染
+                                let sc = canvas.createImage();
+                                sc.src = '/static/no_collect.png'
+                                sc.onload = () => {
+                                    ctx.drawImage(sc, 110, 220, 19, 19)
+                                    ctx.fillText('收藏', 134, 238)
+                                    //点赞
+                                    let dz = canvas.createImage();
+                                    dz.src = '/static/heart.png'
+                                    dz.onload = () => {
+                                        ctx.drawImage(dz, 318, 222, 22, 22)
+                                        ctx.fillText(0, 254, 238)
+                                        // 评论
+                                        let pl = canvas.createImage();
+                                        pl.src = '/static/comment.png'
+                                        pl.onload = () => {
+                                            ctx.drawImage(pl, 228, 222, 22, 22)
+                                            ctx.fillText(0, 340, 238)
+                                            if (video.resourcesType == 1) {
+                                                let aBg = canvas.createImage();
+                                                aBg.src = '/static/shareAudioBg.png';
+                                                aBg.onload = () => {
+                                                    ctx.drawImage(aBg, 127.5, 38, 120, 120);
+                                                    let rate = 0.5
+                                                    ctx.arc(
+                                                        Math.floor(375 * rate),
+                                                        98,
+                                                        Math.floor(100 * rate),
+                                                        0,
+                                                        2 * Math.PI
+                                                    );
+                                                    ctx.clip() //裁剪
+                                                    let coverImg = canvas.createImage();
+                                                    coverImg.src = video.coverImg;
+                                                    coverImg.onload = () => {
+                                                        ctx.drawImage( //定位在圆圈范围内便会出现
+                                                            coverImg, //图片暂存路径
+                                                            129, 42,
+                                                            110, 110,
+                                                        );
+                                                        ctx.restore()
+                                                    }
+                                                }
+                                            }
+                                            setTimeout(() => {
+                                                console.log(wx.getStorageSync('shareVideoId'), 'reading-wx.score');
+                                                wx.canvasToTempFilePath({
+                                                    canvas: canvas,
+                                                    success(res) {
+                                                        resolve({
+                                                            title: '我的新作品发布啦,快来捧场点赞!',
+                                                            path: `/pages/pkPage/index?videoId=${wx.getStorageSync('shareVideoId')}&uid=${wx.getStorageSync('uid')}&isShare=true`,
+                                                            imageUrl: res.tempFilePath
+                                                        })
+                                                    },
+                                                    fail(res) {
+                                                        reject()
+                                                    }
+                                                }, this)
+                                            }, 500)
+                                        }
+                                    }
+                                }
+                            }
+                        }
+                    }
+                })
+        })
+    },
+    onShareAppMessage({
+        from,
+        target
+    }) {
+        if (from == 'button') {
+            const promise = new Promise(resolve => {
+                this.creatShare().then(res => {
+                    resolve(res)
+                })
+            })
+            return {
+                title: '我的新作品发布啦,快来捧场点赞!',
+                path: `/pages/index/index?uid=${wx.getStorageSync('uid')}`,
+                imageUrl: 'http://reader-wx.ai160.com/images/reader/v3/375-300-1.jpg',
+                promise
+            }
+        } else {
+            return {
+                title: '自从用了它,家里朗朗书声,美妙极了!你家孩子也快来试试!',
+                path: `/pages/index/index?uid=${wx.getStorageSync('uid')}`,
+                imageUrl: 'http://reader-wx.ai160.com/images/reader/v3/375-300-1.jpg'
+            }
+        }
+    },
 })
 })

+ 154 - 145
pages/score/index.less

@@ -1,155 +1,164 @@
 .container {
 .container {
-  background-color: #50AE75;
-  width: 100vw;
-  height: 100vh;
-  overflow: hidden;
-
-  .scoreBox {
-    width: 610rpx;
-    margin: 80rpx auto 0rpx;
-
-    .lightBox {
-      position: relative;
-      height: 180rpx;
-
-      .light {
-        position: absolute;
-        width: 360rpx;
-        height: 180rpx;
-        left: 0px;
-        right: 0px;
-        margin: auto;
-      }
-
-      .stars {
-        position: absolute;
-        width: 62rpx;
-        height: 62rpx;
-      }
-
-      .stars-1 {
-        top: 64rpx;
-        left: 132rpx;
-      }
-
-      .stars-2 {
-        top: 25rpx;
-        left: 198rpx;
-      }
-
-      .stars-3 {
-        top: 6rpx;
-        left: 276rpx;
-      }
-
-      .stars-4 {
-        top: 25rpx;
-        right: 198rpx;
-      }
-
-      .stars-5 {
-        top: 62rpx;
-        right: 132rpx;
-      }
-    }
-
-    .score {
-      position: relative;
-      width: 100%;
-      box-sizing: border-box;
-      padding: 70rpx 40rpx 32rpx;
-      border-radius: 18rpx;
-      background-color: white;
-      box-shadow: rgba(255, 255, 255, 0.15) 0px 6px 12px -2px, rgba(255, 255, 255, 0.1) 0px 3px 7px -3px;
-
-      .avatarBox {
-        position: absolute;
-        top: -72rpx;
-        left: 0px;
-        right: 0px;
-        margin: 0 auto;
-        width: 100rpx;
-        height: 100rpx;
-        padding: 16rpx;
-        border-radius: 50%;
-        background-color: white;
-        font-size: 0px;
+    background-color: #50AE75;
+    width: 100vw;
+    height: 100vh;
+    overflow: hidden;
+
+    .scoreBox {
+        width: 610rpx;
+        margin: 80rpx auto 0rpx;
+
+        .lightBox {
+            position: relative;
+            height: 180rpx;
+
+            .light {
+                position: absolute;
+                width: 360rpx;
+                height: 180rpx;
+                left: 0px;
+                right: 0px;
+                margin: auto;
+            }
+
+            .stars {
+                position: absolute;
+                width: 62rpx;
+                height: 62rpx;
+            }
+
+            .stars-1 {
+                top: 64rpx;
+                left: 132rpx;
+            }
+
+            .stars-2 {
+                top: 25rpx;
+                left: 198rpx;
+            }
+
+            .stars-3 {
+                top: 6rpx;
+                left: 276rpx;
+            }
+
+            .stars-4 {
+                top: 25rpx;
+                right: 198rpx;
+            }
+
+            .stars-5 {
+                top: 62rpx;
+                right: 132rpx;
+            }
+        }
 
 
-        .avatar {
-          width: 100%;
-          height: 100%;
-          border-radius: 50%;
+        .score {
+            position: relative;
+            width: 100%;
+            box-sizing: border-box;
+            padding: 70rpx 40rpx 32rpx;
+            border-radius: 18rpx;
+            background-color: white;
+            box-shadow: rgba(255, 255, 255, 0.15) 0px 6px 12px -2px, rgba(255, 255, 255, 0.1) 0px 3px 7px -3px;
+
+            .avatarBox {
+                position: absolute;
+                top: -72rpx;
+                left: 0px;
+                right: 0px;
+                margin: 0 auto;
+                width: 100rpx;
+                height: 100rpx;
+                padding: 16rpx;
+                border-radius: 50%;
+                background-color: white;
+                font-size: 0px;
+
+                .avatar {
+                    width: 100%;
+                    height: 100%;
+                    border-radius: 50%;
+                }
+            }
+
+            .nickName {
+                font-size: 36rpx;
+                text-align: center;
+            }
+
+            .totalScore {
+                display: flex;
+                align-items: center;
+                justify-content: center;
+                margin-top: 26rpx;
+                font-size: 42rpx;
+
+                .num {
+                    color: #58C5FF;
+                    font-size: 42rpx;
+                }
+            }
+
+            .progressBox {
+                margin-top: 50rpx;
+
+                .row {
+                    display: flex;
+                    align-items: center;
+                    justify-content: space-between;
+                    margin-bottom: 42rpx;
+
+                    .name {
+                        font-size: 32rpx;
+                        width: 96rpx;
+                    }
+
+                    .progress {
+                        width: 306rpx;
+                        border-radius: 20rpx;
+                        overflow: hidden;
+                    }
+
+                    .scoreInfo {
+                        font-size: 27rpx;
+                        color: #666666;
+                    }
+                }
+            }
+
+            .songBg {
+                width: 100%;
+                height: 644rpx;
+            }
         }
         }
-      }
 
 
-      .nickName {
-        font-size: 36rpx;
-        text-align: center;
-      }
+        .songScore {
+            padding: 0;
+        }
+    }
 
 
-      .totalScore {
+    .footer {
+        width: 610rpx;
+        padding: 50rpx 35rpx;
+        box-sizing: border-box;
+        margin: 40rpx auto;
+        background-color: white;
+        border-radius: 18rpx;
+        box-shadow: rgba(50, 50, 93, 0.15) 0px 6px 12px -2px, rgba(0, 0, 0, 0.1) 0px 3px 7px -3px;
         display: flex;
         display: flex;
         align-items: center;
         align-items: center;
-        justify-content: center;
-        margin-top: 26rpx;
-        font-size: 42rpx;
-
-        .num {
-          color: #58C5FF;
-          font-size: 42rpx;
+        justify-content: space-between;
+
+        .stBtn {
+            padding: 16rpx 0rpx;
+            text-align: center;
+            border-radius: 50rpx;
+            width: 220rpx;
+            font-size: 30rpx;
+            color: white;
+            background-color: #66C5FF;
+            box-shadow: 0 6px 14px 0 rgba(50, 197, 255, 0.65);
         }
         }
-      }
-
-      .progressBox {
-        margin-top: 50rpx;
-
-        .row {
-          display: flex;
-          align-items: center;
-          justify-content: space-between;
-          margin-bottom: 42rpx;
-
-          .name {
-            font-size: 32rpx;
-            width: 96rpx;
-          }
-
-          .progress {
-            width: 306rpx;
-            border-radius: 20rpx;
-            overflow: hidden;
-          }
-
-          .scoreInfo {
-            font-size: 27rpx;
-            color: #666666;
-          }
-        }
-      }
-    }
-  }
-
-  .footer {
-    width: 610rpx;
-    padding: 50rpx 35rpx;
-    box-sizing: border-box;
-    margin: 40rpx auto;
-    background-color: white;
-    border-radius: 18rpx;
-    box-shadow: rgba(50, 50, 93, 0.15) 0px 6px 12px -2px, rgba(0, 0, 0, 0.1) 0px 3px 7px -3px;
-    display: flex;
-    align-items: center;
-    justify-content: space-between;
-
-    .stBtn {
-      padding: 16rpx 0rpx;
-      text-align: center;
-      border-radius: 50rpx;
-      width: 220rpx;
-      font-size: 30rpx;
-      color: white;
-      background-color: #66C5FF;
-      box-shadow: 0 6px 14px 0 rgba(50, 197, 255, 0.65);
     }
     }
-  }
 }
 }

+ 50 - 43
pages/score/index.wxml

@@ -2,59 +2,66 @@
     <view class="scoreBox">
     <view class="scoreBox">
         <!-- 星星区域 -->
         <!-- 星星区域 -->
         <view class="lightBox">
         <view class="lightBox">
-            <image src="/static/{{score.myOverall>=10?'stars-1.png':'stars-2.png'}}" class="stars stars-1" mode="" />
-            <image src="/static/{{score.myOverall>=30?'stars-1.png':'stars-2.png'}}" class="stars stars-2" mode="" />
-            <image src="/static/{{score.myOverall>=50?'stars-1.png':'stars-2.png'}}" class="stars stars-3" mode="" />
-            <image src="/static/{{score.myOverall>=70?'stars-1.png':'stars-2.png'}}" class="stars stars-4" mode="" />
-            <image src="/static/{{score.myOverall>=90?'stars-1.png':'stars-2.png'}}" class="stars stars-5" mode="" />
-            <image src="/static/light.png" class="light" mode="" />
+            <view wx:if="{{score.businessType!=2}}">
+                <image src="/static/{{score.myOverall>=10?'stars-1.png':'stars-2.png'}}" class="stars stars-1" />
+                <image src="/static/{{score.myOverall>=30?'stars-1.png':'stars-2.png'}}" class="stars stars-2" />
+                <image src="/static/{{score.myOverall>=50?'stars-1.png':'stars-2.png'}}" class="stars stars-3" />
+                <image src="/static/{{score.myOverall>=70?'stars-1.png':'stars-2.png'}}" class="stars stars-4" />
+                <image src="/static/{{score.myOverall>=90?'stars-1.png':'stars-2.png'}}" class="stars stars-5" />
+            </view>
+            <image src="/static/light.png" class="light" />
         </view>
         </view>
         <!-- 主体得分区域 -->
         <!-- 主体得分区域 -->
-        <view class="score">
+        <view class="score {{score.businessType==2?'songScore':''}}">
             <view class="avatarBox">
             <view class="avatarBox">
-                <image src="{{userInfo.avatar}}" class="avatar" mode="" />
-            </view>
-            <view class="nickName">
-                {{userInfo.nickName||userInfo.eid}}
+                <image src="{{userInfo.avatar}}" class="avatar" />
             </view>
             </view>
-            <view class="totalScore">
-                <text>综合得分:</text>
-                <text class="num">{{score.myOverall}}</text>
-            </view>
-            <view class="progressBox">
-                <view class="row">
-                    <view class="name">完整度</view>
-                    <progress class="progress" active percent='{{score.integrity}}' stroke-width="18"
-                        activeColor="#70D9FF" />
-                    <view class="scoreInfo">
-                        {{score.integrity}}/100
-                    </view>
+            <view wx:if="{{score.businessType!=2}}">
+                <view class="nickName">
+                    {{userInfo.nickName||userInfo.eid}}
                 </view>
                 </view>
-                <view class="row">
-                    <view class="name">正确率</view>
-                    <progress class="progress" active percent='{{score.accuracy}}' stroke-width="18"
-                        activeColor="#918EFD" />
-                    <view class="scoreInfo">
-                        {{score.accuracy}}/100
-                    </view>
+                <view class="totalScore">
+                    <text>综合得分:</text>
+                    <text class="num">{{score.myOverall}}</text>
                 </view>
                 </view>
-                <view class="row">
-                    <view class="name">流利度</view>
-                    <progress class="progress" active percent='{{score.fluency}}' stroke-width="18"
-                        activeColor="#FE9500" />
-                    <view class="scoreInfo">
-                        {{score.fluency}}/100
+                <view class="progressBox">
+                    <view class="row">
+                        <view class="name">完整度</view>
+                        <progress class="progress" active percent='{{score.integrity}}' stroke-width="18"
+                            activeColor="#70D9FF" />
+                        <view class="scoreInfo">
+                            {{score.integrity}}/100
+                        </view>
                     </view>
                     </view>
-                </view>
-                <view class="row" wx:if="{{score.businessType==0}}">
-                    <view class="name">语调</view>
-                    <progress class="progress" active percent='{{score.tone}}' stroke-width="18"
-                        activeColor="#9BE74B " />
-                    <view class="scoreInfo">
-                        {{score.tone}}/100
+                    <view class="row">
+                        <view class="name">正确率</view>
+                        <progress class="progress" active percent='{{score.accuracy}}' stroke-width="18"
+                            activeColor="#918EFD" />
+                        <view class="scoreInfo">
+                            {{score.accuracy}}/100
+                        </view>
+                    </view>
+                    <view class="row">
+                        <view class="name">流利度</view>
+                        <progress class="progress" active percent='{{score.fluency}}' stroke-width="18"
+                            activeColor="#FE9500" />
+                        <view class="scoreInfo">
+                            {{score.fluency}}/100
+                        </view>
+                    </view>
+                    <view class="row" wx:if="{{score.businessType==0}}">
+                        <view class="name">语调</view>
+                        <progress class="progress" active percent='{{score.tone}}' stroke-width="18"
+                            activeColor="#9BE74B " />
+                        <view class="scoreInfo">
+                            {{score.tone}}/100
+                        </view>
                     </view>
                     </view>
                 </view>
                 </view>
             </view>
             </view>
+            <image wx:else
+                src="http://reader-wx.ai160.com/images/reader/v3/learn/lQLPJxEH90gTCS7NAoTNAnKwVZil7KxycfEEQMcZvYCmAA_626_644.png"
+                class="songBg" />
         </view>
         </view>
     </view>
     </view>
     <!-- 底部 -->
     <!-- 底部 -->

+ 7 - 0
pages/score/index.wxss

@@ -109,6 +109,13 @@
   font-size: 27rpx;
   font-size: 27rpx;
   color: #666666;
   color: #666666;
 }
 }
+.container .scoreBox .score .songBg {
+  width: 100%;
+  height: 644rpx;
+}
+.container .scoreBox .songScore {
+  padding: 0;
+}
 .container .footer {
 .container .footer {
   width: 610rpx;
   width: 610rpx;
   padding: 50rpx 35rpx;
   padding: 50rpx 35rpx;