Browse Source

5.1.1 音频点击记录及列表下拉刷新

cxmo 2 years ago
parent
commit
57926623a9

+ 8 - 0
api/question.js

@@ -63,4 +63,12 @@ export const apiOptionGroupList = params=>{
  */
 export const apiSetRead = params=>{
     return httpPost('/community/question/reply/read',params)
+}
+/**
+ * 点击音频次数
+ * @param community_question_audio_id
+ * @param source_agent 1:小程序,2:小程序 pc 3:弘则研究公众号,4:web pc
+ */
+export const apiCountAudioClick = params=>{
+    return httpPost('/community/question/audio/log',params)
 }

+ 13 - 1
mixin/questionMixin.js

@@ -3,6 +3,7 @@ import {
     apiQuestionList
 } from '@/api/question'
 import { apiApplyPermission, apiUserInfo } from '@/api/user'
+import {apiCountAudioClick} from '@/api/question'
 const moment = require('@/utils/moment-with-locales.min')
 moment.locale('zh-cn');
 export default {
@@ -241,13 +242,24 @@ export default {
                 this.innerAudio.play()
             } else {
                 //console.log('aaa', source, this.innerAudio.src)
+                if(!source) return
                 //说明是第一次播放或点击其他播放项
                 this.changeCurrentAudio(item)
                 this.innerAudio.stop()
                 this.innerAudio.src = source
                 /* this.innerAudio.play() */
                 this.handleAudioPlay()
-
+                //音频点击次数+1
+                const audio_id = item.audio_list[0].community_question_audio_id
+                apiCountAudioClick({
+                    community_question_audio_id:audio_id,
+                    source_agent:1
+                }).then((res)=>{
+                    if(res.code===200){
+                      console.log('音频id为'+audio_id+'点击次数+1')  
+                    }
+                    
+                })
             }
             this.questionList.map((i) => {
                 if (i.id === item.id) {

+ 13 - 2
pages-question/answerDetail.vue

@@ -243,7 +243,7 @@
 
 <script>
 import mixin from "../mixin/questionMixin";
-import { apiReplayAsk, apiGetQuestion, apiSetRead } from "@/api/question";
+import { apiReplayAsk, apiGetQuestion, apiSetRead,apiCountAudioClick } from "@/api/question";
 import { apiApplyPermission} from '@/api/user';
 import { uploadAudioToServer } from "@/utils/upload";
 export default {
@@ -281,7 +281,7 @@ export default {
       //globalRecorder:uni.getRecorderManager(),
       /* userInfo:{
 				is_inner:1,//0:外部客户;1内部员工
-				status:'流失',
+				status:'正式',
 				is_suspend:1,
 				is_researcher:0,
 			}, *///mock用户信息
@@ -643,6 +643,17 @@ export default {
         this.innerAudio.src = source;
         this.handleAudioPlay();
         this.questionItem.answer.isplay = true;
+        //音频点击次数+1
+        const audio_id = this.questionItem.audio_list[0].community_question_audio_id
+        apiCountAudioClick({
+            community_question_audio_id:audio_id,
+            source_agent:1
+        }).then((res)=>{
+            if(res.code===200){
+              console.log('音频id为'+audio_id+'点击次数+1')  
+            }
+            
+        })
       }
     },
     //(回答者)问题被回答,点击回答音频

+ 15 - 1
pages-question/answerList.vue

@@ -143,6 +143,13 @@ export default {
     this.page++;
     this.getQuestionData();
   },
+  onPullDownRefresh() {
+    this.resetAudio()
+		this.refreshPage()
+		setTimeout(() => {
+			uni.stopPullDownRefresh()
+		}, 1500);
+	},
   methods: {
     toDetail(item) {
       //reply_status:1-待分配 2-待回答 3-已回答
@@ -226,7 +233,14 @@ export default {
       await apiSetRead({
         question_ids:unReadArr.join(',')
       })
-    }
+    },
+    refreshPage() {
+			this.page = 1
+			this.selectId = -1
+			this.questionList = []
+			this.finished = false
+			this.getQuestionData()
+    },
   },
 };
 </script>

+ 4 - 2
pages.json

@@ -37,7 +37,8 @@
 		{
 			"path": "pages/question/question",
 			"style": {
-				"navigationBarTitleText": "问答社区"
+				"navigationBarTitleText": "问答社区",
+				"enablePullDownRefresh": true
 			}
 		},
 		{
@@ -220,7 +221,8 @@
 				{
 					"path": "answerList",
 					"style":{
-						"navigationBarTitleText": "我的问答"
+						"navigationBarTitleText": "我的问答",
+						"enablePullDownRefresh": true
 					}
 				},
 				{

+ 15 - 1
pages/question/question.vue

@@ -156,6 +156,13 @@ export default {
 		this.page++
 		this.getQuestionList(3)
  	},
+	onPullDownRefresh() {
+		this.resetAudio()
+		this.refreshPage()
+		setTimeout(() => {
+			uni.stopPullDownRefresh()
+		}, 1500);
+	},
 	methods: {
 		//获取研究员问答列表数量统计
 		getWaitNum() {
@@ -210,7 +217,14 @@ export default {
 				title:'问答社区',
 				path:'/pages/question/question'
 			}
-		}
+		},
+		refreshPage() {
+			this.page = 1
+			this.selectId = -1
+			this.questionList = []
+			this.finished = false
+			this.getQuestionList(3)
+        },
 	}
 }
 </script>