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 111 <div v-if="!objData.content">
112 112 <el-row style="text-align: center">
113 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 115 </el-col>
116 116 </el-row>
117 117 </div>
... ... @@ -125,18 +125,11 @@
125 125 <el-row>
126 126 <el-col :span="6">
127 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 129 <i v-else class="el-icon-plus avatar-uploader-icon"></i>
130 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 133 <el-button slot="trigger" size="mini" type="text">本地上传</el-button>
141 134 <el-button size="mini" type="text" @click="openMaterial" style="margin-left: 5px">素材库选择</el-button>
142 135 </el-upload>
... ... @@ -147,15 +140,15 @@
147 140 </el-dialog>
148 141 </el-col>
149 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 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 146 </el-col>
154 147 </el-row>
155 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 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 152 </el-tab-pane>
160 153 </el-tabs>
161 154 </template>
... ... @@ -165,7 +158,7 @@
165 158 import WxNews from '@/views/mp/components/wx-news/main.vue'
166 159 // import WxMaterialSelect from '@/components/wx-material-select/main.vue'
167 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 163 export default {
171 164 name: "wxReplySelect",
... ... @@ -349,30 +342,26 @@
349 342  
350 343 // 创建 tempObjItem 对象,并设置对应的值
351 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 358 tempObjItem.mediaId = item.mediaId;
  359 + this.objData.mediaId = item.mediaId
368 360 tempObjItem.url = item.url;
  361 + this.objData.url = item.url
369 362 // tempObjItem.repName = item.name
370   - // tempObjItem.url = item.url
371 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 365 // getMaterialVideo({
377 366 // mediaId:item.mediaId
378 367 // }).then(response => {
... ... @@ -407,6 +396,7 @@
407 396 this.dialogImageVisible = false
408 397 this.dialogVoiceVisible = false
409 398 this.dialogVideoVisible = false
  399 + this.dialogThumbVisible = false
410 400 },
411 401 deleteObj() {
412 402 if (this.objData.type === 'news') {
... ... @@ -417,8 +407,6 @@
417 407 this.$delete(this.objData, 'mediaId')
418 408 } else if(this.objData.type === 'video') {
419 409 // TODO 芋艿,待实现
420   - } else if(this.objData.type === 'music') {
421   - // TODO 芋艿,待实现
422 410 }
423 411 },
424 412 getPage(page, params) {
... ...