當你呼叫startrecord
和stoprecord
的時間間隔過於短時,stoprecord
呼叫會失敗, 但是不會觸發success
,fail
或complete
中的任何乙個handler, 導致ui卡住.
我的解決方法是:startrecord
呼叫成功後500ms
才可以呼叫stoprecord
, 如果在500ms
之內就執行了endrecord
, 則判定為過早的endrecord
, 執行failhandler
, 隨後每隔300ms
呼叫一次endrecord
, 直至endrecord
呼叫成功.
function delayedstoprecord(options)
}, 300);
}self.startrecord = function (options) , 500);
}var fail = options.fail;
options.fail = function (res)
var s2 = options.success;
options.success = function () );
}wx.startrecord(options);
}self.endrecord = function (options)
if (!self.canstoprecord) ); // manually call failhandler.
options.abort = true;
delayedstoprecord(options);
} else
}function init()
其中stoprecord
函式封裝了wx.stoprecord
和wx.uploadvoice
,init
是viewmodel的初始化函式.
的確感受到了寫作的好處, 在這裡這段**的過程中我還調整了**的位置讓**的邏輯更加清晰了. 繼續加油!
其他發現的一些bug, 暫時還沒解決.
使用JSSDK整合微信分享遇到的一些坑
需要後端支援 jssdk使用步驟 步驟一 繫結網域名稱 備註 登入後可在 開發者中心 檢視對應的介面許可權。這裡注意 js介面安全網域名稱一定要填寫正確,區分子網域名稱,且主網域名稱需要通過備案!沒有滿足這一步,無法繼續測試。步驟二 引入js檔案 在需要呼叫js介面的頁面引入如下js檔案,支援htt...
使用JSSDK整合微信分享遇到的一些坑
需要後端支援 jssdk使用步驟 步驟一 繫結網域名稱 備註 登入後可在 開發者中心 檢視對應的介面許可權。這裡注意 js介面安全網域名稱一定要填寫正確,區分子網域名稱,且主網域名稱需要通過備案!沒有滿足這一步,無法繼續測試。步驟二 引入js檔案 在需要呼叫js介面的頁面引入如下js檔案,支援htt...
微信一些概念
開放平台 訂閱號 主要偏於使用者傳達資訊 類似報雜誌 認證前後都是每天只可以 一條訊息 服務號 主要偏於服務互動 類似銀行,114,提供服務查詢 認證前後都是每個月可 4條訊息 企業號 主要用於公司內部通訊使用,需要先驗證身份才可以關注成功企業號 備註 如果想簡單的發訊息,達到宣傳的效果,建議可選擇...