項目描述:類似淘寶客服聊天界面和功能,用於用戶反饋問題和運營推送優質內容/版本更新給用戶
1.彈出輸入框的同時自動彈出鍵盤
解決:讓textarea獲取焦點,調用focus()方法就會自動調起鍵盤
this.$nextTick(() => {
this.$refs.textarea.focus()
})
關鍵點:
1.代碼順序,此行代碼必須在設置輸入框顯示(this.showComment = true)後執行
[email protected]此處,在ios時鍵盤不會自動吊起,換成[email protected]可以吊起,官方有issue,不過沒寫解決方法
2.將vue版本降到@2.4.4後,再次運行報錯 同時構建項目出錯
解決:vue的版本要與vue-template-compiler版本一致,一起降爲2.4.4
3.所有接口用postman請求一直返回index.html頁面
解決:注意代碼順序
app.use('/api', fetchUserInfo, apiRoutes) // 接口在history的上面
app.use(history()) // 這句代碼需要在express.static上面
app.use(express.static(path.join(__dirname, '../../dist')))
原因:待
4.本地調試正確,測試環境異常,發現new Date()時間比本地早八個小時
原因: 項目因爲是用了最新的vue-cli3構建,所需要的node版本較高,隔離項目放入docker中,docker的默認時區是UTC,應改爲CST
解決:
// dockerfile
RUN rm /etc/localtime \
&& export DEBIAN_FRONTEND=noninteractive \
&& apt-get install -y tzdata \
&& ln -fs /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
5.調用bridge發送圖片信息,交互體驗差,低網速環境下,發送失敗機率大
現狀:等到圖片上傳到七牛,拿到圖片網絡地址後再渲染頁面和發送消息,期間沒有任何提示
解決:調用bridge,從相冊/相機選擇照片後-->客戶端返回base64的圖片信息-->把圖片消息先渲染到頁面上,上面加蒙層loading-->等待上傳圖片的bridge方法返回七牛地址,成功拿到則蒙層消失,失敗則提示重新發送,點擊重新發送,則重新上傳圖片