Commit 32f152cc271ca4e0beab230fae5d6f8b6151cfe1

Authored by YunaiV
1 parent 90e0ebc2

mp:支持 wx-reply 发送音乐消息

yudao-ui-admin/src/views/mp/components/wx-reply/main.vue
@@ -111,7 +111,7 @@ @@ -111,7 +111,7 @@
111 <div v-if="!objData.content"> 111 <div v-if="!objData.content">
112 <el-row style="text-align: center"> 112 <el-row style="text-align: center">
113 <el-col :span="24" class="col-select2"> 113 <el-col :span="24" class="col-select2">
114 - <el-button type="success" @click="openMaterial">{{newsType == '1' ? '选择已发布图文' : '选择草稿箱图文'}}<i class="el-icon-circle-check el-icon--right"></i></el-button> 114 + <el-button type="success" @click="openMaterial">{{newsType === '1' ? '选择已发布图文' : '选择草稿箱图文'}}<i class="el-icon-circle-check el-icon--right"></i></el-button>
115 </el-col> 115 </el-col>
116 </el-row> 116 </el-row>
117 </div> 117 </div>
@@ -125,18 +125,11 @@ @@ -125,18 +125,11 @@
125 <el-row> 125 <el-row>
126 <el-col :span="6"> 126 <el-col :span="6">
127 <div class="thumb-div"> 127 <div class="thumb-div">
128 - <img style="width: 100px" v-if="objData.repThumbUrl" :src="objData.repThumbUrl"> 128 + <img style="width: 100px" v-if="objData.thumbMediaUrl" :src="objData.thumbMediaUrl">
129 <i v-else class="el-icon-plus avatar-uploader-icon"></i> 129 <i v-else class="el-icon-plus avatar-uploader-icon"></i>
130 <div class="thumb-but"> 130 <div class="thumb-but">
131 - <el-upload  
132 - :action="actionUrl"  
133 - :headers="headers"  
134 - multiple  
135 - :limit="1"  
136 - :on-success="handleUploadSuccess"  
137 - :file-list="fileList"  
138 - :before-upload="beforeThumbImageUpload"  
139 - :data="uploadData"> 131 + <el-upload :action="actionUrl" :headers="headers" multiple :limit="1" :file-list="fileList" :data="uploadData"
  132 + :before-upload="beforeThumbImageUpload" :on-success="handleUploadSuccess">
140 <el-button slot="trigger" size="mini" type="text">本地上传</el-button> 133 <el-button slot="trigger" size="mini" type="text">本地上传</el-button>
141 <el-button size="mini" type="text" @click="openMaterial" style="margin-left: 5px">素材库选择</el-button> 134 <el-button size="mini" type="text" @click="openMaterial" style="margin-left: 5px">素材库选择</el-button>
142 </el-upload> 135 </el-upload>
@@ -147,15 +140,15 @@ @@ -147,15 +140,15 @@
147 </el-dialog> 140 </el-dialog>
148 </el-col> 141 </el-col>
149 <el-col :span="18"> 142 <el-col :span="18">
150 - <el-input v-model="objData.repName" placeholder="请输入标题"></el-input> 143 + <el-input v-model="objData.title" placeholder="请输入标题" @input="inputContent" />
151 <div style="margin: 20px 0;"></div> 144 <div style="margin: 20px 0;"></div>
152 - <el-input v-model="objData.repDesc" placeholder="请输入描述"></el-input> 145 + <el-input v-model="objData.description" placeholder="请输入描述" @input="inputContent" />
153 </el-col> 146 </el-col>
154 </el-row> 147 </el-row>
155 <div style="margin: 20px 0;"></div> 148 <div style="margin: 20px 0;"></div>
156 - <el-input v-model="objData.url" placeholder="请输入音乐链接"></el-input> 149 + <el-input v-model="objData.musicUrl" placeholder="请输入音乐链接"></el-input>
157 <div style="margin: 20px 0;"></div> 150 <div style="margin: 20px 0;"></div>
158 - <el-input v-model="objData.repHqUrl" placeholder="请输入高质量音乐链接"></el-input> 151 + <el-input v-model="objData.hqMusicUrl" placeholder="请输入高质量音乐链接"></el-input>
159 </el-tab-pane> 152 </el-tab-pane>
160 </el-tabs> 153 </el-tabs>
161 </template> 154 </template>
@@ -165,7 +158,7 @@ @@ -165,7 +158,7 @@
165 import WxNews from '@/views/mp/components/wx-news/main.vue' 158 import WxNews from '@/views/mp/components/wx-news/main.vue'
166 // import WxMaterialSelect from '@/components/wx-material-select/main.vue' 159 // import WxMaterialSelect from '@/components/wx-material-select/main.vue'
167 import WxVoicePlayer from '@/views/mp/components/wx-voice-play/main.vue'; 160 import WxVoicePlayer from '@/views/mp/components/wx-voice-play/main.vue';
168 - import {getAccessToken, getToken} from '@/utils/auth' 161 + import {getAccessToken} from '@/utils/auth'
169 162
170 export default { 163 export default {
171 name: "wxReplySelect", 164 name: "wxReplySelect",
@@ -349,30 +342,26 @@ @@ -349,30 +342,26 @@
349 342
350 // 创建 tempObjItem 对象,并设置对应的值 343 // 创建 tempObjItem 对象,并设置对应的值
351 let tempObjItem = {} 344 let tempObjItem = {}
352 -  
353 - // tempObjItem.repMediaId = item.mediaId // TODO 芋艿:应该可以注释吧?  
354 - // tempObjItem.content = item.content // TODO 芋艿:应该可以注释吧?  
355 -  
356 - // this.objData.repMediaId = item.mediaId  
357 - this.objData.mediaId = item.mediaId  
358 - this.objData.content = item.content  
359 - if (this.objData.type === 'music') {  
360 - tempObjItem.repThumbMediaId = item.mediaId  
361 - tempObjItem.repThumbUrl = item.url  
362 - this.objData.repThumbMediaId = item.mediaId  
363 - this.objData.repThumbUrl = item.url  
364 - this.dialogThumbVisible = false // TODO 芋艿:这里为什么单独写???  
365 - } else{  
366 - tempObjItem.type = this.objData.type; 345 + tempObjItem.type = this.objData.type;
  346 + if (this.objData.type === 'music') { // 音乐需要特殊处理,因为选择的是图片的缩略图
  347 + tempObjItem.thumbMediaId = item.mediaId
  348 + this.objData.thumbMediaId = item.mediaId
  349 + tempObjItem.thumbMediaUrl = item.url
  350 + this.objData.thumbMediaUrl = item.url
  351 + // title、introduction、musicUrl、hqMusicUrl
  352 + tempObjItem.title = this.objData.title
  353 + tempObjItem.introduction = this.objData.introduction
  354 + tempObjItem.musicUrl = this.objData.musicUrl
  355 + tempObjItem.hqMusicUrl = this.objData.hqMusicUrl
  356 + } else if (this.objData.type === 'image'
  357 + || this.objData.type === 'voice') {
367 tempObjItem.mediaId = item.mediaId; 358 tempObjItem.mediaId = item.mediaId;
  359 + this.objData.mediaId = item.mediaId
368 tempObjItem.url = item.url; 360 tempObjItem.url = item.url;
  361 + this.objData.url = item.url
369 // tempObjItem.repName = item.name 362 // tempObjItem.repName = item.name
370 - // tempObjItem.url = item.url  
371 // this.objData.repName = item.name 363 // this.objData.repName = item.name
372 - this.objData.mediaId = item.mediaId  
373 - this.objData.url = item.url  
374 - }  
375 - if(this.objData.type == 'video'){ 364 + } else if (this.objData.type === 'video') {
376 // getMaterialVideo({ 365 // getMaterialVideo({
377 // mediaId:item.mediaId 366 // mediaId:item.mediaId
378 // }).then(response => { 367 // }).then(response => {
@@ -407,6 +396,7 @@ @@ -407,6 +396,7 @@
407 this.dialogImageVisible = false 396 this.dialogImageVisible = false
408 this.dialogVoiceVisible = false 397 this.dialogVoiceVisible = false
409 this.dialogVideoVisible = false 398 this.dialogVideoVisible = false
  399 + this.dialogThumbVisible = false
410 }, 400 },
411 deleteObj() { 401 deleteObj() {
412 if (this.objData.type === 'news') { 402 if (this.objData.type === 'news') {
@@ -417,8 +407,6 @@ @@ -417,8 +407,6 @@
417 this.$delete(this.objData, 'mediaId') 407 this.$delete(this.objData, 'mediaId')
418 } else if(this.objData.type === 'video') { 408 } else if(this.objData.type === 'video') {
419 // TODO 芋艿,待实现 409 // TODO 芋艿,待实现
420 - } else if(this.objData.type === 'music') {  
421 - // TODO 芋艿,待实现  
422 } 410 }
423 }, 411 },
424 getPage(page, params) { 412 getPage(page, params) {