微信小程序的API 重寫了網絡請求和本地緩存的訪問方式javascript
因此爲了使用parse的js sdk 須要修改這兩塊java
1. 增長localStorage變量git
var localStorage = { getItem:function(path){ return wx.getStorageSync(path); }, setItem:function(path, value){ return wx.setStorageSync(path, value); }, removeItem:function(path){ wx.removeStorageSync(path) }, clear:function(){ wx.clearStorageSync() } };
var StorageController = { async: 0, getItem: function (path) { return localStorage.getItem(path); }, setItem: function (path, value) { try { localStorage.setItem(path, value); } catch (e) { // Quota exceeded, possibly due to Safari Private Browsing mode } }, removeItem: function (path) { localStorage.removeItem(path); }, clear: function () { localStorage.clear(); } };
StorageController 能夠按照瀏覽器裏的方式使用ajax
2. 修改RESTController 增長 wxRequest 方法json
wxRequest: function(method, url, data, payloadString,headers){ var promise = new _ParsePromise2.default(); var jsKey = _CoreManager2.default.get('JAVASCRIPT_KEY'); var masterKey = _CoreManager2.default.get('MASTER_KEY'); var appId = _CoreManager2.default.get('APPLICATION_ID'); var payload = JSON.parse(payloadString); headers = headers || {}; headers["content-type"] = "application/json"; headers["X-Parse-Application-Id"] = appId; headers["X-Parse-JavaScript-Key"] = jsKey; if(masterKey){ headers["X-Parse-Master-Key"] = masterKey; } wx.request({ url: url, data: data, header: headers, method:payload._method, success: function(res) { console.log(res) var response; try { //response = JSON.parse(res.data); promise.resolve(res.data, res.status, res); } catch (e) { promise.reject(e.toString()); } }, fail: function(err){ console.log(err) promise.reject(err.toString()); } }); return promise; } //修改請求方法 //return RESTController.ajax(method, url, payloadString); return RESTController.wxRequest(method, url, data); //默認的ajax方法替換爲微信小程序的網絡請求方法
修改後的parse-js-sdk 下載地址小程序