{"id":33166,"date":"2024-11-25T09:48:19","date_gmt":"2024-11-25T01:48:19","guid":{"rendered":"https:\/\/fwq.ai\/blog\/33166\/"},"modified":"2024-11-25T09:48:19","modified_gmt":"2024-11-25T01:48:19","slug":"%e5%b0%8f%e7%a8%8b%e5%ba%8f%e6%80%8e%e4%b9%88%e5%af%bc%e5%85%a5sdk%e5%ae%9e%e7%8e%b0%e8%81%8a%e5%a4%a9%e5%8a%9f%e8%83%bd","status":"publish","type":"post","link":"https:\/\/fwq.ai\/blog\/33166\/","title":{"rendered":"\u5c0f\u7a0b\u5e8f\u600e\u4e48\u5bfc\u5165sdk\u5b9e\u73b0\u804a\u5929\u529f\u80fd"},"content":{"rendered":"<p><img decoding=\"async\" src=\"https:\/\/img.php.cn\/upload\/article\/000\/000\/046\/5eb8fedab128a424.jpg\" class=\"aligncenter\" title=\"\u5c0f\u7a0b\u5e8f\u600e\u4e48\u5bfc\u5165sdk\u5b9e\u73b0\u804a\u5929\u529f\u80fd\u63d2\u56fe\" alt=\"\u5c0f\u7a0b\u5e8f\u600e\u4e48\u5bfc\u5165sdk\u5b9e\u73b0\u804a\u5929\u529f\u80fd\u63d2\u56fe\" \/><\/p>\n<p><strong>\u5c0f\u7a0b\u5e8f\u600e\u4e48\u5bfc\u5165sdk\u5b9e\u73b0\u804a\u5929\u529f\u80fd<\/strong><\/p>\n<p>\u9996\u5148\u4f7f\u7528npm\u8fdb\u884c\u4e0b\u8f7d\u817e\u8baf\u4e91\u7684\u5373\u65f6\u804a\u5929sdk\uff1b\u7136\u540e\u5728\u9879\u76ee\u4e2d\u8fdb\u884c\u5f15\u7528\u5e76\u8fdb\u884csdk\u521d\u59cb\u5316\uff1b\u518d\u6839\u636e\u540e\u53f0\u63a5\u53e3\u8fd4\u56deuserID\uff0cuserSig\u8fd9\u4e24\u4e2a\u53c2\u6570\u5224\u65ad\u5f53\u524d\u767b\u5f55\u4eba\u662f\u8c01\uff1b\u6700\u540e\u6839\u636e\u6587\u6863\u5b9e\u73b0\u57fa\u7840\u529f\u80fd\u5373\u53ef\u3002<strong><br \/><\/strong><\/p>\n<p>\u793a\u4f8b\u4ee3\u7801<\/p>\n<p>wxml\uff1a<\/p>\n<pre>&lt;scroll-view&gt;\n&nbsp;&nbsp;&lt;!-- \u6bcf\u4e00\u884c --&gt;\n&nbsp;&nbsp;&lt;view&gt;\n&nbsp;&nbsp;&nbsp;&nbsp;&lt;!-- \u65e5\u671f --&gt;\n&nbsp;&nbsp;&nbsp;&nbsp;&lt;view&gt;{{item.msgTime}}&lt;\/view&gt;\n&nbsp;&nbsp;&nbsp;&nbsp;&lt;!-- \u5934\u50cf\u4e0e\u5185\u5bb9\u6587\u672c --&gt;\n&nbsp;&nbsp;&nbsp;&nbsp;&lt;view&gt;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;view&gt;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;image&gt;&lt;\/image&gt;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;image&gt;&lt;\/image&gt;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;\/view&gt;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;!-- \u753b\u5bf9\u8bdd\u6846 --&gt;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;view&gt;&lt;\/view&gt;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;view&gt;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;view&gt;{{item.payload.text}}&lt;\/view&gt;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;image&gt;&lt;\/image&gt;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;view&gt;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;view&gt;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;image&gt;&lt;\/image&gt;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;view&gt;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{{item.payload.second\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;\/view&gt;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;\/view&gt;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;\/view&gt;\n&nbsp;&nbsp;&nbsp;&nbsp;&lt;\/view&gt;\n&nbsp;&nbsp;&lt;\/view&gt;&lt;\/view&gt;&lt;\/scroll-view&gt;&lt;view&gt;\n&nbsp;&nbsp;&lt;view&gt;\n&nbsp;&nbsp;&nbsp;&nbsp;&lt;image&gt;&lt;\/image&gt;\n&nbsp;&nbsp;&nbsp;&nbsp;&lt;image&gt;&lt;\/image&gt;\n&nbsp;&nbsp;&lt;\/view&gt;\n&nbsp;&nbsp;&lt;view&gt;\n&nbsp;&nbsp;&nbsp;&nbsp;&lt;input&gt;\n&nbsp;&nbsp;&nbsp;&nbsp;&lt;view&gt;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{{touchBtn?'\u677e\u5f00&nbsp;\u7ed3\u675f':'\u6309\u4f4f\u8bf4\u8bdd'}}\n&nbsp;&nbsp;&nbsp;&nbsp;&lt;\/view&gt;\n&nbsp;&nbsp;&lt;\/view&gt;\n&nbsp;&nbsp;&lt;view&gt;\u53d1\u9001&lt;\/view&gt;\n&nbsp;&nbsp;&lt;view&gt;\n&nbsp;&nbsp;&nbsp;&nbsp;&lt;image&gt;&lt;\/image&gt;\n&nbsp;&nbsp;&lt;\/view&gt;\n&nbsp;&nbsp;&lt;!-- &lt;view class=\"send\" bindtap=\"sendImg\"&gt;\u76f8\u518c&lt;\/view&gt;\n  &lt;view class=\"send\" bindtap=\"startAudio\"&gt;\u5f00\u59cb&lt;\/view&gt;\n  &lt;view class=\"send\" bindtap=\"endAudio\"&gt;\u7ed3\u675f&lt;\/view&gt; --&gt;\n&lt;\/view&gt;&lt;view&gt;&nbsp;\n&nbsp;&nbsp;&lt;view&gt;\n&nbsp;&nbsp;&nbsp;&nbsp;&lt;view&gt;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;image&gt;&lt;\/image&gt;\n&nbsp;&nbsp;&nbsp;&nbsp;&lt;\/view&gt;\n&nbsp;&nbsp;&nbsp;&nbsp;&lt;view&gt;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;text&gt;\u76f8\u518c&lt;\/text&gt;\n&nbsp;&nbsp;&nbsp;&nbsp;&lt;\/view&gt;\n&nbsp;&nbsp;&lt;\/view&gt;&lt;\/view&gt;<\/pre>\n<p> \u767b\u5f55\u540e\u590d\u5236 <\/p>\n<p>js\uff1a<\/p>\n<pre>import&nbsp;TIM&nbsp;from&nbsp;'tim-wx-sdk';\nimport&nbsp;COS&nbsp;from&nbsp;\"cos-wx-sdk-v5\";\nlet&nbsp;options&nbsp;=&nbsp;{\n&nbsp;&nbsp;SDKAppID:&nbsp;0&nbsp;\/\/&nbsp;\u63a5\u5165\u65f6\u9700\u8981\u5c060\u66ff\u6362\u4e3a\u60a8\u7684\u5373\u65f6\u901a\u4fe1&nbsp;IM&nbsp;\u5e94\u7528\u7684&nbsp;SDKAppID\n};\n\/\/&nbsp;\u521b\u5efa&nbsp;SDK&nbsp;\u5b9e\u4f8b\uff0c`TIM.create()`\u65b9\u6cd5\u5bf9\u4e8e\u540c\u4e00\u4e2a&nbsp;`SDKAppID`&nbsp;\u53ea\u4f1a\u8fd4\u56de\u540c\u4e00\u4efd\u5b9e\u4f8b\nlet&nbsp;tim&nbsp;=&nbsp;TIM.create(options);&nbsp;\/\/&nbsp;SDK&nbsp;\u5b9e\u4f8b\u901a\u5e38\u7528&nbsp;tim&nbsp;\u8868\u793a\n\/\/&nbsp;\u8bbe\u7f6e&nbsp;SDK&nbsp;\u65e5\u5fd7\u8f93\u51fa\u7ea7\u522b\uff0c\u8be6\u7ec6\u5206\u7ea7\u8bf7\u53c2\u89c1&nbsp;setLogLevel&nbsp;\u63a5\u53e3\u7684\u8bf4\u660e\ntim.setLogLevel(1);&nbsp;\/\/&nbsp;\u666e\u901a\u7ea7\u522b\uff0c\u65e5\u5fd7\u91cf\u8f83\u591a\uff0c\u63a5\u5165\u65f6\u5efa\u8bae\u4f7f\u7528\n\/\/&nbsp;tim.setLogLevel(1);&nbsp;\/\/&nbsp;release&nbsp;\u7ea7\u522b\uff0cSDK&nbsp;\u8f93\u51fa\u5173\u952e\u4fe1\u606f\uff0c\u751f\u4ea7\u73af\u5883\u65f6\u5efa\u8bae\u4f7f\u7528\n\/\/&nbsp;\u6ce8\u518c&nbsp;COS&nbsp;SDK&nbsp;\u63d2\u4ef6\ntim.registerPlugin({\n&nbsp;&nbsp;'cos-wx-sdk':&nbsp;COS\n});\nconst&nbsp;app&nbsp;=&nbsp;getApp()\nlet&nbsp;recorderManager&nbsp;=&nbsp;wx.getRecorderManager();\n\/\/&nbsp;\u5f55\u97f3\u90e8\u5206\u53c2\u6570&nbsp;\u5c0f\u7a0b\u5e8f\u6587\u6863\nconst&nbsp;recordOptions&nbsp;=&nbsp;{\n&nbsp;&nbsp;duration:&nbsp;60000,&nbsp;\/\/&nbsp;\u5f55\u97f3\u7684\u65f6\u957f\uff0c\u5355\u4f4d&nbsp;ms\uff0c\u6700\u5927\u503c&nbsp;600000\uff0810&nbsp;\u5206\u949f\uff09\n&nbsp;&nbsp;sampleRate:&nbsp;44100,&nbsp;\/\/&nbsp;\u91c7\u6837\u7387\n&nbsp;&nbsp;numberOfChannels:&nbsp;1,&nbsp;\/\/&nbsp;\u5f55\u97f3\u901a\u9053\u6570\n&nbsp;&nbsp;encodeBitRate:&nbsp;192000,&nbsp;\/\/&nbsp;\u7f16\u7801\u7801\u7387\n&nbsp;&nbsp;format:&nbsp;'aac'&nbsp;\/\/&nbsp;\u97f3\u9891\u683c\u5f0f\uff0c\u9009\u62e9\u6b64\u683c\u5f0f\u521b\u5efa\u7684\u97f3\u9891\u6d88\u606f\uff0c\u53ef\u4ee5\u5728\u5373\u65f6\u901a\u4fe1&nbsp;IM&nbsp;\u5168\u5e73\u53f0\uff08Android\u3001iOS\u3001\u5fae\u4fe1\u5c0f\u7a0b\u5e8f\u548cWeb\uff09\u4e92\u901a\n};\nPage({\n&nbsp;&nbsp;data:&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;friendId:&nbsp;'',\n&nbsp;&nbsp;&nbsp;&nbsp;friendName:&nbsp;'',\n&nbsp;&nbsp;&nbsp;&nbsp;friendAvatarUrl:&nbsp;'',\n&nbsp;&nbsp;&nbsp;&nbsp;messages:&nbsp;[],&nbsp;\/\/&nbsp;\u6d88\u606f\u96c6\u5408\n&nbsp;&nbsp;&nbsp;&nbsp;complete:&nbsp;0,&nbsp;\/\/&nbsp;\u662f\u5426\u8fd8\u6709\u5386\u53f2\u6d88\u606f\u53ef\u4ee5\u62c9\u53d6\uff0c1&nbsp;-&nbsp;\u8868\u793a\u6ca1\u6709\uff0c0&nbsp;-&nbsp;\u8868\u793a\u6709\n&nbsp;&nbsp;&nbsp;&nbsp;content:&nbsp;'',&nbsp;\/\/&nbsp;\u8f93\u5165\u6846\u7684\u6587\u672c\u503c\n&nbsp;&nbsp;&nbsp;&nbsp;lock:&nbsp;false,&nbsp;\/\/&nbsp;\u53d1\u9001\u6d88\u606f\u9501&nbsp;true&nbsp;-&nbsp;\u52a0\u9501\u72b6\u6001&nbsp;false&nbsp;-&nbsp;\u89e3\u9501\u72b6\u6001\n&nbsp;&nbsp;&nbsp;&nbsp;scroll_height:&nbsp;wx.getSystemInfoSync().windowHeight&nbsp;-&nbsp;54,\n&nbsp;&nbsp;&nbsp;&nbsp;reply_height:&nbsp;0,\n&nbsp;&nbsp;&nbsp;&nbsp;moreShow:&nbsp;true,\n&nbsp;&nbsp;&nbsp;&nbsp;userData:&nbsp;[],\n&nbsp;&nbsp;&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;audioPng:\"..\/image\/audio-play.png\",\n&nbsp;&nbsp;&nbsp;&nbsp;audioGif:\"..\/image\/audio-play.gif\",\n&nbsp;&nbsp;&nbsp;&nbsp;audioState:true,\n&nbsp;&nbsp;&nbsp;&nbsp;\/**\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;\u5386\u53f2\u6d88\u606f\u6d88\u606f\u96c6\u5408\uff08\u7ed3\u6784\u5982\u4e0b\uff09\uff1a\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;nextReqMessageID&nbsp;\u7528\u4e8e\u7eed\u62c9\uff0c\u5206\u9875\u7eed\u62c9\u65f6\u9700\u4f20\u5165\u8be5\u5b57\u6bb5\u3002\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;isCompleted&nbsp;\u8868\u793a\u662f\u5426\u5df2\u7ecf\u62c9\u5b8c\u6240\u6709\u6d88\u606f\u3002\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*\/\n&nbsp;&nbsp;&nbsp;&nbsp;nextReqMessageID:&nbsp;\"\",\n&nbsp;&nbsp;&nbsp;&nbsp;isCompleted:&nbsp;\"\",\n&nbsp;&nbsp;&nbsp;&nbsp;isFirstGetList:&nbsp;true,\n&nbsp;&nbsp;&nbsp;&nbsp;audioContext:&nbsp;null,\n&nbsp;&nbsp;&nbsp;&nbsp;opration:&nbsp;true,\n&nbsp;&nbsp;&nbsp;&nbsp;touchBtn:&nbsp;false,\n&nbsp;&nbsp;&nbsp;&nbsp;recording:&nbsp;false,\n&nbsp;&nbsp;&nbsp;&nbsp;stopflag:&nbsp;false,\n&nbsp;&nbsp;&nbsp;&nbsp;cancelRecord:&nbsp;false,\n&nbsp;&nbsp;&nbsp;&nbsp;refreshTime:&nbsp;'',\n&nbsp;&nbsp;&nbsp;&nbsp;ScrollLoading:&nbsp;0,\n&nbsp;&nbsp;&nbsp;&nbsp;audioIndex:null,\n&nbsp;&nbsp;&nbsp;&nbsp;sendBtn:true\n&nbsp;&nbsp;},\n&nbsp;&nbsp;onLoad:&nbsp;function&nbsp;(options)&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;\/\/&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;this.setData({\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;friendId:&nbsp;options.friendId,\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;friendName:&nbsp;options.friendName,\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;friendAvatarUrl:&nbsp;options.friendAvatarUrl,\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;conversationID:&nbsp;options.conversationID\n&nbsp;&nbsp;&nbsp;&nbsp;})\n&nbsp;&nbsp;&nbsp;&nbsp;wx.setNavigationBarTitle({\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;title:&nbsp;options.friendName\n&nbsp;&nbsp;&nbsp;&nbsp;})\n&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;that&nbsp;=&nbsp;this\n&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;userData&nbsp;=&nbsp;JSON.parse(wx.getStorageSync('userData'))\n&nbsp;&nbsp;&nbsp;&nbsp;that.data.messages&nbsp;=&nbsp;[]&nbsp;\/\/&nbsp;\u6e05\u7a7a\u5386\u53f2\u6d88\u606f\n&nbsp;&nbsp;&nbsp;&nbsp;let&nbsp;audioContext&nbsp;=&nbsp;wx.createInnerAudioContext()\n&nbsp;&nbsp;&nbsp;&nbsp;this.setData({\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;userData,\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;audioContext\n&nbsp;&nbsp;&nbsp;&nbsp;})\n&nbsp;&nbsp;&nbsp;&nbsp;\/\/&nbsp;\u5c06\u67d0\u4f1a\u8bdd\u4e0b\u6240\u6709\u672a\u8bfb\u6d88\u606f\u5df2\u8bfb\u4e0a\u62a5\n&nbsp;&nbsp;&nbsp;&nbsp;let&nbsp;promise&nbsp;=&nbsp;tim.setMessageRead({&nbsp;conversationID:&nbsp;options.conversationID&nbsp;});\n&nbsp;&nbsp;&nbsp;&nbsp;promise.then(function&nbsp;(imResponse)&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/&nbsp;\u5df2\u8bfb\u4e0a\u62a5\u6210\u529f\n&nbsp;&nbsp;&nbsp;&nbsp;}).catch(function&nbsp;(imError)&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/&nbsp;\u5df2\u8bfb\u4e0a\u62a5\u5931\u8d25\n&nbsp;&nbsp;&nbsp;&nbsp;});\n&nbsp;&nbsp;},\n&nbsp;&nbsp;onShow:&nbsp;function&nbsp;()&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;let&nbsp;that&nbsp;=&nbsp;this;\n&nbsp;&nbsp;&nbsp;&nbsp;\/\/&nbsp;\u83b7\u53d6\u5f53\u524d\u804a\u5929\u7684\u5386\u53f2\u5217\u8868\n&nbsp;&nbsp;&nbsp;&nbsp;that.getMessageList();\n&nbsp;&nbsp;&nbsp;&nbsp;that.scrollToBottom();\n&nbsp;&nbsp;&nbsp;&nbsp;\/\/&nbsp;\u83b7\u53d6\u6536\u5230\u7684\u5355\u804a\u4fe1\u606f\n&nbsp;&nbsp;&nbsp;&nbsp;let&nbsp;onMessageReceived&nbsp;=&nbsp;function&nbsp;(event)&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/&nbsp;event.data&nbsp;-&nbsp;\u5b58\u50a8&nbsp;Message&nbsp;\u5bf9\u8c61\u7684\u6570\u7ec4&nbsp;-&nbsp;[Message]\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;let&nbsp;msgList&nbsp;=&nbsp;that.data.messages\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;handlerHistoryMsgs(event.data,&nbsp;that)\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;that.scrollToBottom();\n&nbsp;&nbsp;&nbsp;&nbsp;};\n&nbsp;&nbsp;&nbsp;&nbsp;tim.on(TIM.EVENT.MESSAGE_RECEIVED,&nbsp;onMessageReceived)\n&nbsp;&nbsp;&nbsp;&nbsp;\/\/&nbsp;\u76d1\u542c\u5f55\u97f3\u7ed3\u675f\n&nbsp;&nbsp;&nbsp;&nbsp;recorderManager.onStop(function&nbsp;(res)&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(that.data.recording)&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(that.data.cancelRecord)&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;wx.hideToast()\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;that.setData({\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cancelRecord:&nbsp;false\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;})\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;else&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/&nbsp;\u521b\u5efa\u6d88\u606f\u5b9e\u4f8b\uff0c\u63a5\u53e3\u8fd4\u56de\u7684\u5b9e\u4f8b\u53ef\u4ee5\u4e0a\u5c4f\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;const&nbsp;message&nbsp;=&nbsp;tim.createAudioMessage({\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;to:&nbsp;that.data.friendId,\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;conversationType:&nbsp;TIM.TYPES.CONV_C2C,\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;payload:&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;file:&nbsp;res\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;},\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;onProgress:&nbsp;function&nbsp;(event)&nbsp;{&nbsp;}\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;});\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/&nbsp;&nbsp;\u53d1\u9001\u6d88\u606f\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;let&nbsp;promise&nbsp;=&nbsp;tim.sendMessage(message);\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;promise.then(function&nbsp;(imResponse)&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/&nbsp;\u53d1\u9001\u6210\u529f\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;that.addMessage(imResponse.data.message,&nbsp;that)\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}).catch(function&nbsp;(imError)&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/&nbsp;\u53d1\u9001\u5931\u8d25\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;});\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;that.setData({\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;recording:&nbsp;false\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;})\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;else&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;wx.showToast({\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;title:&nbsp;'\u8bf4\u8bdd\u65f6\u95f4\u592a\u77ed',\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;duration:&nbsp;1000,\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;image:&nbsp;'..\/image\/err.png'\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;})\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}\n&nbsp;&nbsp;&nbsp;&nbsp;});\n&nbsp;&nbsp;},\n&nbsp;&nbsp;onUnload:&nbsp;function&nbsp;()&nbsp;{\n&nbsp;&nbsp;},\n&nbsp;&nbsp;\/**\n&nbsp;&nbsp;&nbsp;*&nbsp;\u83b7\u53d6\u6d88\u606f\u5217\u8868\n&nbsp;&nbsp;&nbsp;*\/\n&nbsp;&nbsp;getMessageList()&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;let&nbsp;that&nbsp;=&nbsp;this;\n&nbsp;&nbsp;&nbsp;&nbsp;let&nbsp;cb&nbsp;=&nbsp;tim.getMessageList({\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;conversationID:&nbsp;conversationID,\/\/\u4f1a\u8bdd\u5217\u8868\u4f20\u9012\u8fc7\u6765\u7684\u53c2\u6570\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;count:&nbsp;15\n&nbsp;&nbsp;&nbsp;&nbsp;})\n&nbsp;&nbsp;&nbsp;&nbsp;cb.then(function&nbsp;(imResponse)&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;const&nbsp;messageList&nbsp;=&nbsp;imResponse.data.messageList;&nbsp;\/\/&nbsp;\u6d88\u606f\u5217\u8868\u3002\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;const&nbsp;nextReqMessageID&nbsp;=&nbsp;imResponse.data.nextReqMessageID;&nbsp;\/\/&nbsp;\u7528\u4e8e\u7eed\u62c9\uff0c\u5206\u9875\u7eed\u62c9\u65f6\u9700\u4f20\u5165\u8be5\u5b57\u6bb5\u3002\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;const&nbsp;isCompleted&nbsp;=&nbsp;imResponse.data.isCompleted;&nbsp;\/\/&nbsp;\u8868\u793a\u662f\u5426\u5df2\u7ecf\u62c9\u5b8c\u6240\u6709\u6d88\u606f\u3002\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;that.setData({\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;nextReqMessageID:&nbsp;nextReqMessageID,\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;isCompleted:&nbsp;isCompleted\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;})\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;handlerHistoryMsgs(messageList,&nbsp;that);\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;that.scrollToBottom();\n&nbsp;&nbsp;&nbsp;&nbsp;});\n&nbsp;&nbsp;},\n&nbsp;&nbsp;\/**\n&nbsp;&nbsp;&nbsp;*&nbsp;\u83b7\u53d6\u6587\u672c\u7684\u6d88\u606f\n&nbsp;&nbsp;&nbsp;*\/\n&nbsp;&nbsp;getContent:&nbsp;function&nbsp;(e)&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;if(e.detail.value&nbsp;==\"\"){\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;this.setData({sendBtn:true})\n&nbsp;&nbsp;&nbsp;&nbsp;}else{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;this.setData({sendBtn:false})\n&nbsp;&nbsp;&nbsp;&nbsp;}\n&nbsp;&nbsp;&nbsp;&nbsp;console.log(e)\n&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;that&nbsp;=&nbsp;this;\n&nbsp;&nbsp;&nbsp;&nbsp;that.setData({\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;content:&nbsp;e.detail.value\n&nbsp;&nbsp;&nbsp;&nbsp;})\n&nbsp;&nbsp;},\n&nbsp;&nbsp;\/**\n&nbsp;&nbsp;&nbsp;*&nbsp;\u53d1\u9001\u6d88\u606f\n&nbsp;&nbsp;&nbsp;*\/\n&nbsp;&nbsp;sendMsg:&nbsp;function&nbsp;(e)&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;if(this.data.content&nbsp;==\"\"){\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;wx.showToast({\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;title:&nbsp;'\u8bf7\u8f93\u5165\u5185\u5bb9',\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;duration:&nbsp;1000,\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;icon:'none'\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;})\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return\n&nbsp;&nbsp;&nbsp;&nbsp;}\n&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;that&nbsp;=&nbsp;this\n&nbsp;&nbsp;&nbsp;&nbsp;\/\/&nbsp;\u53d1\u9001\u6587\u672c\u6d88\u606f\uff0cWeb&nbsp;\u7aef\u4e0e\u5c0f\u7a0b\u5e8f\u7aef\u76f8\u540c\n&nbsp;&nbsp;&nbsp;&nbsp;\/\/&nbsp;1.&nbsp;\u521b\u5efa\u6d88\u606f\u5b9e\u4f8b\uff0c\u63a5\u53e3\u8fd4\u56de\u7684\u5b9e\u4f8b\u53ef\u4ee5\u4e0a\u5c4f\n&nbsp;&nbsp;&nbsp;&nbsp;let&nbsp;message&nbsp;=&nbsp;tim.createTextMessage({\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;to:&nbsp;this.data.friendId,\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;conversationType:&nbsp;TIM.TYPES.CONV_C2C,\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;payload:&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;text:&nbsp;this.data.content\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}\n&nbsp;&nbsp;&nbsp;&nbsp;});\n&nbsp;&nbsp;&nbsp;&nbsp;\/\/&nbsp;2.&nbsp;\u53d1\u9001\u6d88\u606f\n&nbsp;&nbsp;&nbsp;&nbsp;let&nbsp;promise&nbsp;=&nbsp;tim.sendMessage(message);\n&nbsp;&nbsp;&nbsp;&nbsp;promise.then(function&nbsp;(imResponse)&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/&nbsp;\u53d1\u9001\u6210\u529f\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;that.addMessage(imResponse.data.message,&nbsp;that)\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;that.setData({sendBtn:true})\n&nbsp;&nbsp;&nbsp;&nbsp;}).catch(function&nbsp;(imError)&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/&nbsp;\u53d1\u9001\u5931\u8d25\n&nbsp;&nbsp;&nbsp;&nbsp;});\n&nbsp;&nbsp;},\n&nbsp;&nbsp;\/**\n&nbsp;&nbsp;&nbsp;*&nbsp;\u5237\u65b0\u6587\u672c\u6d88\u606f\n&nbsp;&nbsp;&nbsp;*\/\n&nbsp;&nbsp;addMessage:&nbsp;function&nbsp;(msg,&nbsp;that)&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;messages&nbsp;=&nbsp;that.data.messages;\n&nbsp;&nbsp;&nbsp;&nbsp;messages.push(msg);\n&nbsp;&nbsp;&nbsp;&nbsp;that.setData({\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;messages:&nbsp;messages,\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;content:&nbsp;''&nbsp;\/\/&nbsp;\u6e05\u7a7a\u8f93\u5165\u6846\u6587\u672c\n&nbsp;&nbsp;&nbsp;&nbsp;})\n&nbsp;&nbsp;&nbsp;&nbsp;that.scrollToBottom();\n&nbsp;&nbsp;},\n&nbsp;&nbsp;\/**\n&nbsp;&nbsp;&nbsp;*&nbsp;\u53d1\u9001\u56fe\u7247\u6d88\u606f\n&nbsp;&nbsp;&nbsp;*\/\n&nbsp;&nbsp;sendImg()&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;let&nbsp;that&nbsp;=&nbsp;this;\n&nbsp;&nbsp;&nbsp;&nbsp;wx.chooseImage({\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sourceType:&nbsp;['album'],&nbsp;\/\/&nbsp;\u4ece\u76f8\u518c\u9009\u62e9\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;count:&nbsp;1,&nbsp;\/\/&nbsp;\u53ea\u9009\u4e00\u5f20\uff0c\u76ee\u524d&nbsp;SDK&nbsp;\u4e0d\u652f\u6301\u4e00\u6b21\u53d1\u9001\u591a\u5f20\u56fe\u7247\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;success:&nbsp;function&nbsp;(res)&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/&nbsp;2.&nbsp;\u521b\u5efa\u6d88\u606f\u5b9e\u4f8b\uff0c\u63a5\u53e3\u8fd4\u56de\u7684\u5b9e\u4f8b\u53ef\u4ee5\u4e0a\u5c4f\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;let&nbsp;message&nbsp;=&nbsp;tim.createImageMessage({\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;to:&nbsp;that.data.friendId,\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;conversationType:&nbsp;TIM.TYPES.CONV_C2C,\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;payload:&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;file:&nbsp;res\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;},\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;onProgress:&nbsp;function&nbsp;(event)&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;});\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/&nbsp;3.&nbsp;\u53d1\u9001\u56fe\u7247\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;let&nbsp;promise&nbsp;=&nbsp;tim.sendMessage(message);\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;promise.then(function&nbsp;(imResponse)&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/&nbsp;\u53d1\u9001\u6210\u529f\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;that.addMessage(imResponse.data.message,&nbsp;that)\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}).catch(function&nbsp;(imError)&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/&nbsp;\u53d1\u9001\u5931\u8d25\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;});\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}\n&nbsp;&nbsp;&nbsp;&nbsp;})\n&nbsp;&nbsp;},\n&nbsp;&nbsp;scrollToBottom:&nbsp;function&nbsp;()&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;this.setData({\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;toView:&nbsp;'row_'&nbsp;+&nbsp;(this.data.messages.length&nbsp;-&nbsp;1)\n&nbsp;&nbsp;&nbsp;&nbsp;});\n&nbsp;&nbsp;},\n&nbsp;&nbsp;previewImage(e)&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;let&nbsp;src&nbsp;=&nbsp;'';\n&nbsp;&nbsp;&nbsp;&nbsp;wx.previewImage({\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;current:&nbsp;e.currentTarget.dataset.src,&nbsp;\/\/&nbsp;\u5f53\u524d\u663e\u793a\u56fe\u7247\u7684http\u94fe\u63a5\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;urls:&nbsp;[e.currentTarget.dataset.src]\n&nbsp;&nbsp;&nbsp;&nbsp;})\n&nbsp;&nbsp;},\n&nbsp;&nbsp;\/\/&nbsp;\u5f55\u5236\u8bed\u97f3\n&nbsp;&nbsp;startAudio:&nbsp;function&nbsp;()&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;wx.showToast({\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;title:&nbsp;'\u4e0a\u6ed1\u53d6\u6d88\u53d1\u9001',\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;duration:&nbsp;10000,\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;image:&nbsp;'..\/image\/cancel.png'\n&nbsp;&nbsp;&nbsp;&nbsp;})\n&nbsp;&nbsp;&nbsp;&nbsp;this.setData({\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;touchBtn:&nbsp;true\n&nbsp;&nbsp;&nbsp;&nbsp;})\n&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(this.data.stopFlag)&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return;\n&nbsp;&nbsp;&nbsp;&nbsp;}\n&nbsp;&nbsp;&nbsp;&nbsp;recorderManager.start(recordOptions);\n&nbsp;&nbsp;&nbsp;&nbsp;recorderManager.onError(function&nbsp;(errMsg)&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;});\n&nbsp;&nbsp;},\n&nbsp;&nbsp;\/\/&nbsp;#&nbsp;\u5229\u7528\u957f\u6309\u5224\u65ad\u5f55\u97f3\u662f\u5426\u592a\u77ed\n&nbsp;&nbsp;onLongpress()&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;this.setData({\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;recording:&nbsp;true\n&nbsp;&nbsp;&nbsp;&nbsp;})\n&nbsp;&nbsp;},\n&nbsp;&nbsp;\/\/&nbsp;\u53d1\u9001\u5f55\u97f3\n&nbsp;&nbsp;onTouchEnd:&nbsp;function&nbsp;()&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;wx.hideToast()\n&nbsp;&nbsp;&nbsp;&nbsp;let&nbsp;that&nbsp;=&nbsp;this;\n&nbsp;&nbsp;&nbsp;&nbsp;that.setData({\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;touchBtn:&nbsp;false\n&nbsp;&nbsp;&nbsp;&nbsp;})\n&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(that.data.stopFlag)&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return;\n&nbsp;&nbsp;&nbsp;&nbsp;}\n&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(that.data.recording)&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;recorderManager.stop();\n&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;else&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;that.setData({\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;stopFlag:&nbsp;true\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;})\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;setTimeout(()&nbsp;=&amp;gt;&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;recorderManager.stop();\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;that.setData({\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;stopFlag:&nbsp;false\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;})\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;},&nbsp;400);\n&nbsp;&nbsp;&nbsp;&nbsp;}\n&nbsp;&nbsp;},\n&nbsp;&nbsp;\/\/&nbsp;\u64ad\u653e\u8bed\u97f3\n&nbsp;&nbsp;openAudio(audio)&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;console.log(audio)\n&nbsp;&nbsp;&nbsp;&nbsp;let&nbsp;index&nbsp;=&nbsp;audio.currentTarget.dataset.eventid\n&nbsp;&nbsp;&nbsp;&nbsp;this.setData({\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;audioIndex:index\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/&nbsp;audioState:false\n&nbsp;&nbsp;&nbsp;&nbsp;})\n&nbsp;&nbsp;&nbsp;&nbsp;this.data.audioContext.src&nbsp;=&nbsp;audio.currentTarget.dataset.comkey\n&nbsp;&nbsp;&nbsp;&nbsp;this.data.audioContext.autoplay&nbsp;=&nbsp;true;\n&nbsp;&nbsp;&nbsp;&nbsp;this.data.audioContext.play()\n&nbsp;&nbsp;&nbsp;&nbsp;this.data.audioContext.onPlay((res)&nbsp;=&amp;gt;&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;})\n&nbsp;&nbsp;&nbsp;&nbsp;this.data.audioContext.onEnded(()&nbsp;=&amp;gt;&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;wx.hideToast()\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;this.setData({\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;audioIndex:null\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;})\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;console.log(\"\u8bed\u97f3\u7ed3\u675f\u4e86\")\n&nbsp;&nbsp;&nbsp;&nbsp;})\n&nbsp;&nbsp;&nbsp;&nbsp;this.data.audioContext.onError((res)&nbsp;=&amp;gt;&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;})\n&nbsp;&nbsp;},\n&nbsp;&nbsp;\/\/&nbsp;\u4e0a\u6ed1\u53d6\u6d88\n&nbsp;&nbsp;onTouchMove(e)&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(e.touches[0].clientY&nbsp;&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;let&nbsp;promise&nbsp;=&nbsp;tim.getMessageList({&nbsp;conversationID:&nbsp;that.data.conversationID,&nbsp;nextReqMessageID:&nbsp;that.data.nextReqMessageID,&nbsp;count:&nbsp;15&nbsp;});\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;promise.then(function&nbsp;(imResponse)&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;const&nbsp;newMessageList&nbsp;=&nbsp;imResponse.data.messageList;&nbsp;\/\/&nbsp;\u6d88\u606f\u5217\u8868\u3002\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;const&nbsp;nextReqMessageID&nbsp;=&nbsp;imResponse.data.nextReqMessageID;&nbsp;\/\/&nbsp;\u7528\u4e8e\u7eed\u62c9\uff0c\u5206\u9875\u7eed\u62c9\u65f6\u9700\u4f20\u5165\u8be5\u5b57\u6bb5\u3002\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;const&nbsp;isCompleted&nbsp;=&nbsp;imResponse.data.isCompleted;&nbsp;\/\/&nbsp;\u8868\u793a\u662f\u5426\u5df2\u7ecf\u62c9\u5b8c\u6240\u6709\u6d88\u606f\u3002\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;that.setData({\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;nextReqMessageID:&nbsp;nextReqMessageID,\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;isCompleted:&nbsp;isCompleted,\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;messages:&nbsp;newMessageList.concat(that.data.messages)\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;})\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;wx.hideLoading()\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;that.setData({&nbsp;ScrollLoading:&nbsp;0&nbsp;})\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/&nbsp;handlerHistoryMsgs(messageList,&nbsp;that);\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;});\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;},&nbsp;800);\n&nbsp;&nbsp;&nbsp;&nbsp;}\n&nbsp;&nbsp;&nbsp;&nbsp;\/\/&nbsp;setTimeout(function(){\n&nbsp;&nbsp;&nbsp;&nbsp;\/\/&nbsp;&nbsp;&nbsp;var&nbsp;date&nbsp;=&nbsp;new&nbsp;Date();\n&nbsp;&nbsp;&nbsp;&nbsp;\/\/&nbsp;},300);\n&nbsp;&nbsp;},\n&nbsp;&nbsp;\/\/&nbsp;\u5207\u6362\n&nbsp;&nbsp;Audio()&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;this.setData({\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;opration:&nbsp;false\n&nbsp;&nbsp;&nbsp;&nbsp;})\n&nbsp;&nbsp;},\n&nbsp;&nbsp;keyboard()&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;this.setData({\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;opration:&nbsp;true\n&nbsp;&nbsp;&nbsp;&nbsp;})\n&nbsp;&nbsp;},\n&nbsp;&nbsp;moreClick()&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(this.data.moreShow)&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;this.setData({\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;moreShow:&nbsp;false,\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;reply_height:&nbsp;92,\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;scroll_height:&nbsp;this.data.scroll_height&nbsp;-&nbsp;92\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;})\n&nbsp;&nbsp;&nbsp;&nbsp;}\n&nbsp;&nbsp;},\n&nbsp;&nbsp;bindfocus()&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;this.setData({\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;moreShow:&nbsp;true,\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;reply_height:&nbsp;0,\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;scroll_height:&nbsp;wx.getSystemInfoSync().windowHeight&nbsp;-&nbsp;54\n&nbsp;&nbsp;&nbsp;&nbsp;})\n&nbsp;&nbsp;}\n})\n\/**\n&nbsp;*&nbsp;\u5904\u7406\u5386\u53f2\u6d88\u606f&nbsp;\n&nbsp;*\/\nfunction&nbsp;handlerHistoryMsgs(result,&nbsp;that)&nbsp;{\n&nbsp;&nbsp;var&nbsp;historyMsgs&nbsp;=&nbsp;that.data.messages;\n&nbsp;&nbsp;result.forEach(item&nbsp;=&amp;gt;&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;historyMsgs.push(item)\n&nbsp;&nbsp;})\n&nbsp;&nbsp;\/\/&nbsp;historyMsgs.push(result[0])\n&nbsp;&nbsp;that.setData({\n&nbsp;&nbsp;&nbsp;&nbsp;messages:&nbsp;historyMsgs,\n&nbsp;&nbsp;})\n&nbsp;&nbsp;&nbsp;&nbsp;\/\/&nbsp;\u5c06\u67d0\u4f1a\u8bdd\u4e0b\u6240\u6709\u672a\u8bfb\u6d88\u606f\u5df2\u8bfb\u4e0a\u62a5\n&nbsp;&nbsp;&nbsp;&nbsp;let&nbsp;promise&nbsp;=&nbsp;tim.setMessageRead({&nbsp;conversationID:&nbsp;that.data.conversationID&nbsp;});\n&nbsp;&nbsp;&nbsp;&nbsp;promise.then(function&nbsp;(imResponse)&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/&nbsp;\u5df2\u8bfb\u4e0a\u62a5\u6210\u529f\n&nbsp;&nbsp;&nbsp;&nbsp;}).catch(function&nbsp;(imError)&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/&nbsp;\u5df2\u8bfb\u4e0a\u62a5\u5931\u8d25\n&nbsp;&nbsp;&nbsp;&nbsp;});\n}<\/pre>\n<p> \u767b\u5f55\u540e\u590d\u5236 <\/p>\n<p>wxss\uff1a<\/p>\n<pre>\/**&nbsp;\u804a\u5929\u7a97\u53e3\u6837\u5f0f\n&nbsp;*&nbsp;54px\u4e3a\u56de\u590d\u6846\u9ad8\u5ea6\uff0cjs\u540c\n&nbsp;*\/\n\/*\u804a\u5929\u8bb0\u5f55*\/\npage{\n&nbsp;&nbsp;background:&nbsp;rgb(245,&nbsp;245,&nbsp;245);\n}\n.message-list&nbsp;{\n&nbsp;&nbsp;\/*margin-bottom:&nbsp;54px;*\/\n&nbsp;&nbsp;background:&nbsp;rgb(235,&nbsp;235,&nbsp;235);\n}\n\/*\u5355\u5143\u884c*\/\n.row&nbsp;{\n&nbsp;&nbsp;display:&nbsp;flex;\n&nbsp;&nbsp;flex-direction:&nbsp;column;\n&nbsp;&nbsp;margin:&nbsp;0&nbsp;30rpx;\n}\n\/*\u65e5\u671f*\/\n.datetime&nbsp;{\n&nbsp;&nbsp;font-size:&nbsp;10px;\n&nbsp;&nbsp;padding:&nbsp;10px&nbsp;0;\n&nbsp;&nbsp;color:&nbsp;#999;\n&nbsp;&nbsp;text-align:&nbsp;center;\n}\n.send&nbsp;{\n&nbsp;&nbsp;font-size:&nbsp;15px;\n&nbsp;&nbsp;\/*&nbsp;padding-right:&nbsp;10px;&nbsp;*\/\n&nbsp;&nbsp;color:&nbsp;#999;\n&nbsp;&nbsp;text-align:&nbsp;center;\n&nbsp;&nbsp;height:&nbsp;70%;\n&nbsp;&nbsp;border:&nbsp;1px&nbsp;solid&nbsp;#e4dfdf;\n&nbsp;&nbsp;display:&nbsp;flex;\n&nbsp;&nbsp;align-items:&nbsp;center;\n&nbsp;&nbsp;justify-content:&nbsp;center;\n&nbsp;&nbsp;width:&nbsp;90rpx;\n&nbsp;&nbsp;border-radius:&nbsp;10rpx;\n}\n.sendActive&nbsp;{\n&nbsp;&nbsp;font-size:&nbsp;15px;\n&nbsp;&nbsp;\/*&nbsp;padding-right:&nbsp;10px;&nbsp;*\/\n&nbsp;&nbsp;color:&nbsp;#fff;\n&nbsp;&nbsp;text-align:&nbsp;center;\n&nbsp;&nbsp;height:&nbsp;70%;\n&nbsp;&nbsp;border:&nbsp;1px&nbsp;solid&nbsp;#05c15f;\n&nbsp;&nbsp;display:&nbsp;flex;\n&nbsp;&nbsp;align-items:&nbsp;center;\n&nbsp;&nbsp;justify-content:&nbsp;center;\n&nbsp;&nbsp;width:&nbsp;90rpx;\n&nbsp;&nbsp;border-radius:&nbsp;10rpx;\n&nbsp;&nbsp;background-color:&nbsp;#05c15f;\n}\n.Audio&nbsp;{\n&nbsp;&nbsp;font-size:&nbsp;15px;\n&nbsp;&nbsp;color:&nbsp;#999;\n&nbsp;&nbsp;text-align:&nbsp;center;\n&nbsp;&nbsp;padding-left:&nbsp;10rpx;\n}\n.Audio&nbsp;image&nbsp;{\n&nbsp;&nbsp;width:&nbsp;50rpx;\n&nbsp;&nbsp;height:&nbsp;50rpx;\n}\n.add&nbsp;{\n&nbsp;&nbsp;height:&nbsp;70%;\n&nbsp;&nbsp;display:&nbsp;flex;\n&nbsp;&nbsp;align-items:&nbsp;center;\n&nbsp;&nbsp;justify-content:&nbsp;center;\n&nbsp;&nbsp;width:&nbsp;90rpx;\n}\n.more&nbsp;{\n&nbsp;&nbsp;width:&nbsp;50rpx;\n&nbsp;&nbsp;height:&nbsp;50rpx;\n}\n\/*\u4e3b\u4f53*\/\n.body&nbsp;{\n&nbsp;&nbsp;display:&nbsp;flex;\n&nbsp;&nbsp;flex-direction:&nbsp;row;\n&nbsp;&nbsp;align-items:&nbsp;flex-start;\n&nbsp;&nbsp;justify-content:&nbsp;flex-start;\n&nbsp;&nbsp;width:&nbsp;100%;\n&nbsp;&nbsp;margin-top:&nbsp;10px;\n}\n\/*\u5934\u50cf\u5bb9\u5668*\/\n.body.avatar-container&nbsp;{\n&nbsp;&nbsp;width:&nbsp;20%;\n}\n\/*\u5934\u50cf*\/\n.body&nbsp;.avatar&nbsp;{\n&nbsp;&nbsp;width:&nbsp;80rpx;\n&nbsp;&nbsp;height:&nbsp;80rpx;\n&nbsp;&nbsp;border-radius:&nbsp;50%;\n&nbsp;&nbsp;margin:&nbsp;0&nbsp;20rpx;\n}\n\/*\u6587\u672c\u6d88\u606f*\/\n.body&nbsp;.content&nbsp;{\n&nbsp;&nbsp;font-size:&nbsp;16px;\n&nbsp;&nbsp;background:&nbsp;#fff;\n&nbsp;&nbsp;border-radius:&nbsp;5px;\n&nbsp;&nbsp;padding:&nbsp;10px;\n&nbsp;&nbsp;line-height:&nbsp;22px;\n&nbsp;&nbsp;margin-bottom:&nbsp;10px;\n&nbsp;&nbsp;word-wrap:&nbsp;break-word;\n&nbsp;&nbsp;max-width:&nbsp;300rpx;\n}\n\/*&nbsp;\u4e09\u89d2\u7bad\u5934&nbsp;*\/\n.body&nbsp;.triangle&nbsp;{\n&nbsp;&nbsp;background:&nbsp;white;\n&nbsp;&nbsp;width:&nbsp;20rpx;\n&nbsp;&nbsp;height:&nbsp;20rpx;\n&nbsp;&nbsp;margin-top:&nbsp;26rpx;\n&nbsp;&nbsp;transform:&nbsp;rotate(45deg);\n&nbsp;&nbsp;position:&nbsp;absolute;\n}\n\/*\u56fe\u7247\u6d88\u606f*\/\n.picture&nbsp;{\n&nbsp;&nbsp;width:&nbsp;160px;\n}\n\/*\u56de\u590d\u6846*\/\n.reply&nbsp;{\n&nbsp;&nbsp;display:&nbsp;flex;\n&nbsp;&nbsp;flex-direction:&nbsp;row;\n&nbsp;&nbsp;justify-content:&nbsp;flex-start;\n&nbsp;&nbsp;align-items:&nbsp;center;\n&nbsp;&nbsp;position:&nbsp;fixed;\n&nbsp;&nbsp;\/*&nbsp;bottom:&nbsp;0;&nbsp;*\/\n&nbsp;&nbsp;width:&nbsp;100%;\n&nbsp;&nbsp;height:&nbsp;54px;\n&nbsp;&nbsp;border-top:&nbsp;1px&nbsp;solid&nbsp;rgb(215,&nbsp;215,&nbsp;215);\n&nbsp;&nbsp;background:&nbsp;rgb(245,&nbsp;245,&nbsp;245);\n}\n.reply&nbsp;.voice-image&nbsp;{\n&nbsp;&nbsp;width:&nbsp;25px;\n&nbsp;&nbsp;height:&nbsp;25px;\n&nbsp;&nbsp;margin-left:&nbsp;3%;\n}\n\/*\u6587\u672c\u8f93\u5165\u6216\u8bed\u97f3\u5f55\u5165*\/\n.reply&nbsp;.opration-area&nbsp;{\n&nbsp;&nbsp;flex:&nbsp;1;\n&nbsp;&nbsp;padding:&nbsp;8px;\n}\n\/*\u56de\u590d\u6587\u672c\u6846*\/\n.reply&nbsp;input&nbsp;{\n&nbsp;&nbsp;background:&nbsp;rgb(252,&nbsp;252,&nbsp;252);\n&nbsp;&nbsp;height:&nbsp;36px;\n&nbsp;&nbsp;border:&nbsp;1px&nbsp;solid&nbsp;rgb(221,&nbsp;221,&nbsp;221);\n&nbsp;&nbsp;border-radius:&nbsp;6px;\n&nbsp;&nbsp;padding-left:&nbsp;3px;\n}\n\/*\u9009\u53d6\u56fe\u7247*\/\n.reply&nbsp;.choose-image&nbsp;{\n&nbsp;&nbsp;width:&nbsp;25px;\n&nbsp;&nbsp;height:&nbsp;25px;\n&nbsp;&nbsp;margin-right:&nbsp;3%;\n}\n\/*\u6309\u4f4f\u8bf4\u8bddbutton*\/\n.voice-button&nbsp;{\n&nbsp;&nbsp;height:&nbsp;36px;\n&nbsp;&nbsp;color:&nbsp;#818181;\n&nbsp;&nbsp;font-size:&nbsp;14px;\n&nbsp;&nbsp;line-height:&nbsp;36px;\n&nbsp;&nbsp;text-align:&nbsp;center;\n&nbsp;&nbsp;border:&nbsp;1px&nbsp;solid&nbsp;#e4dfdf;\n&nbsp;&nbsp;border-radius:&nbsp;10rpx;\n}\n\/*\u60ac\u6d6e\u63d0\u793a\u6846*\/\n.hud-container&nbsp;{\n&nbsp;&nbsp;position:&nbsp;fixed;\n&nbsp;&nbsp;width:&nbsp;150px;\n&nbsp;&nbsp;height:&nbsp;150px;\n&nbsp;&nbsp;left:&nbsp;50%;\n&nbsp;&nbsp;top:&nbsp;50%;\n&nbsp;&nbsp;margin-left:&nbsp;-75px;\n&nbsp;&nbsp;margin-top:&nbsp;-75px;\n}\n\/*\u80cc\u666f\u5c42*\/\n.hud-background&nbsp;{\n&nbsp;&nbsp;position:&nbsp;absolute;\n&nbsp;&nbsp;width:&nbsp;100%;\n&nbsp;&nbsp;height:&nbsp;100%;\n&nbsp;&nbsp;background:&nbsp;#999;\n&nbsp;&nbsp;opacity:&nbsp;0.8;\n&nbsp;&nbsp;z-index:&nbsp;11;\n&nbsp;&nbsp;border-radius:&nbsp;10px;\n}\n\/*\u60ac\u6d6e\u6846\u4e3b\u4f53*\/\n.hud-body&nbsp;{\n&nbsp;&nbsp;position:&nbsp;relative;\n&nbsp;&nbsp;width:&nbsp;100%;\n&nbsp;&nbsp;height:&nbsp;100%;\n&nbsp;&nbsp;z-index:&nbsp;19;\n&nbsp;&nbsp;display:&nbsp;flex;\n&nbsp;&nbsp;flex-direction:&nbsp;column;\n&nbsp;&nbsp;justify-content:&nbsp;space-between;\n&nbsp;&nbsp;align-items:&nbsp;center;\n}\n\/*\u56fe\u6807*\/\n.hud-body&nbsp;image&nbsp;{\n&nbsp;&nbsp;margin-top:&nbsp;20px;\n&nbsp;&nbsp;width:&nbsp;80px;\n&nbsp;&nbsp;height:&nbsp;80px;\n}\n\/*\u6587\u5b57*\/\n.hud-body&nbsp;.tip&nbsp;{\n&nbsp;&nbsp;color:&nbsp;#fff;\n&nbsp;&nbsp;text-align:&nbsp;center;\n&nbsp;&nbsp;width:&nbsp;90%;\n&nbsp;&nbsp;line-height:&nbsp;34px;\n&nbsp;&nbsp;margin:&nbsp;0&nbsp;auto;\n&nbsp;&nbsp;margin-bottom:&nbsp;10px;\n&nbsp;&nbsp;width:&nbsp;90%;\n}\n.hud-body&nbsp;.warning&nbsp;{\n&nbsp;&nbsp;background:&nbsp;#c33;\n&nbsp;&nbsp;border-radius:&nbsp;5px;\n}\n.image-message&nbsp;{\n&nbsp;&nbsp;max-width:&nbsp;100%;\n&nbsp;&nbsp;border-radius:&nbsp;4rpx;\n}\n.box&nbsp;{\n&nbsp;&nbsp;display:&nbsp;flex;\n&nbsp;&nbsp;height:&nbsp;40rpx;\n&nbsp;&nbsp;line-height:&nbsp;40rpx;\n}\n.hoverBtn&nbsp;{\n&nbsp;&nbsp;background-color:&nbsp;rgb(226,&nbsp;220,&nbsp;220);\n&nbsp;&nbsp;color:&nbsp;#fff;\n&nbsp;&nbsp;border-radius:&nbsp;10rpx;\n}\n.more_box&nbsp;{\nheight:&nbsp;138rpx;\nwidth:&nbsp;100%;\npadding:&nbsp;15rpx;\ndisplay:&nbsp;flex;\nbackground:&nbsp;rgb(245,&nbsp;245,&nbsp;245);\nposition:&nbsp;fixed;\nbottom:&nbsp;0;\n}\n.more_item&nbsp;{\n&nbsp;&nbsp;text-align:&nbsp;center;\n&nbsp;&nbsp;height:&nbsp;150rpx;\n&nbsp;&nbsp;font-size:&nbsp;24rpx;\n&nbsp;&nbsp;margin-left:&nbsp;26rpx\n}\n.img_box&nbsp;{\n&nbsp;&nbsp;width:&nbsp;80rpx;\n&nbsp;&nbsp;height:&nbsp;84rpx;\n&nbsp;&nbsp;background-color:&nbsp;#fff;\n&nbsp;&nbsp;display:&nbsp;flex;\n&nbsp;&nbsp;justify-content:&nbsp;center;\n&nbsp;&nbsp;align-items:&nbsp;center;\n&nbsp;&nbsp;border-radius:&nbsp;10rpx;\n}\n.img_box&nbsp;image&nbsp;{\n&nbsp;&nbsp;width:&nbsp;40rpx;\n&nbsp;&nbsp;height:&nbsp;40rpx;\n}<\/pre>\n<p> \u767b\u5f55\u540e\u590d\u5236 <\/p>\n<p>\u63a8\u8350\u6559\u7a0b\uff1a\u300a\u300b<\/p>\n<p>\u4ee5\u4e0a\u5c31\u662f\u5c0f\u7a0b\u5e8f\u600e\u4e48\u5bfc\u5165sdk\u5b9e\u73b0\u804a\u5929\u529f\u80fd\u7684\u8be6\u7ec6\u5185\u5bb9\uff0c\u66f4\u591a\u8bf7\u5173\u6ce8\u7c73\u4e91\u5176\u5b83\u76f8\u5173\u6587\u7ae0\uff01<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u5c0f\u7a0b\u5e8f\u600e\u4e48\u5bfc\u5165sdk\u5b9e\u73b0\u804a\u5929\u529f\u80fd \u9996\u5148\u4f7f\u7528npm\u8fdb\u884c\u4e0b\u8f7d\u817e\u8baf\u4e91\u7684\u5373\u65f6\u804a\u5929sdk\uff1b\u7136\u540e\u5728\u9879\u76ee\u4e2d\u8fdb\u884c\u5f15\u7528\u5e76\u8fdb\u884csdk\u521d\u59cb\u5316\uff1b\u518d\u6839\u636e\u540e\u53f0\u63a5\u53e3\u8fd4\u56deuserID\uff0cuserSig\u8fd9\u4e24\u4e2a\u53c2\u6570\u5224\u65ad\u5f53\u524d\u767b\u5f55\u4eba\u662f\u8c01\uff1b\u6700\u540e\u6839\u636e\u6587\u6863\u5b9e\u73b0\u57fa\u7840\u529f\u80fd\u5373\u53ef\u3002 \u793a\u4f8b\u4ee3\u7801 wxml\uff1a &lt;scroll-view&gt; &nbsp;&nbsp;&lt;!&#8211; \u6bcf\u4e00\u884c &#8211;&gt; &nbsp;&nbsp;&lt;view&gt; &nbsp;&nbsp;&nbsp;&nbsp;&lt;!&#8211; \u65e5\u671f &#8211;&gt; &nbsp;&nbsp;&nbsp;&nbsp;&lt;view&gt;{{item.msgTime}}&lt;\/view&gt; &nbsp;&nbsp;&nbsp;&nbsp;&lt;!&#8211; \u5934\u50cf\u4e0e\u5185\u5bb9\u6587\u672c &#8211;&gt; &nbsp;&nbsp;&nbsp;&nbsp;&lt;view&gt; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;view&gt; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;image&gt;&lt;\/image&gt; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;image&gt;&lt;\/image&gt; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;\/view&gt; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;!&#8211; \u753b\u5bf9\u8bdd\u6846 &#8211;&gt; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;view&gt;&lt;\/view&gt; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;view&gt; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;view&gt;{{item.payload.text}}&lt;\/view&gt; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;image&gt;&lt;\/image&gt; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;view&gt; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;view&gt; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;image&gt;&lt;\/image&gt; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;view&gt; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{{item.payload.second &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;\/view&gt; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;\/view&gt; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;\/view&gt; &nbsp;&nbsp;&nbsp;&nbsp;&lt;\/view&gt; &nbsp;&nbsp;&lt;\/view&gt;&lt;\/view&gt;&lt;\/scroll-view&gt;&lt;view&gt; &nbsp;&nbsp;&lt;view&gt; &nbsp;&nbsp;&nbsp;&nbsp;&lt;image&gt;&lt;\/image&gt; &nbsp;&nbsp;&nbsp;&nbsp;&lt;image&gt;&lt;\/image&gt; &nbsp;&nbsp;&lt;\/view&gt; &nbsp;&nbsp;&lt;view&gt; &nbsp;&nbsp;&nbsp;&nbsp;&lt;input&gt; &nbsp;&nbsp;&nbsp;&nbsp;&lt;view&gt; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{{touchBtn?&#8217;\u677e\u5f00&nbsp;\u7ed3\u675f&#8217;:&#8217;\u6309\u4f4f\u8bf4\u8bdd&#8217;}} &nbsp;&nbsp;&nbsp;&nbsp;&lt;\/view&gt; &nbsp;&nbsp;&lt;\/view&gt; &nbsp;&nbsp;&lt;view&gt;\u53d1\u9001&lt;\/view&gt; &nbsp;&nbsp;&lt;view&gt; &nbsp;&nbsp;&nbsp;&nbsp;&lt;image&gt;&lt;\/image&gt; &nbsp;&nbsp;&lt;\/view&gt; &nbsp;&nbsp;&lt;!&#8211; &lt;view class=&#8221;send&#8221; [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[19],"tags":[],"class_list":["post-33166","post","type-post","status-publish","format-standard","hentry","category-19"],"_links":{"self":[{"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/posts\/33166","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/comments?post=33166"}],"version-history":[{"count":0,"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/posts\/33166\/revisions"}],"wp:attachment":[{"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/media?parent=33166"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/categories?post=33166"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/tags?post=33166"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}