2019独角兽企业重金招聘Python工程师标准>>>
微信小程序的API 重写了网络请求和本地缓存的访问方式
所以为了使用parse的js sdk 需要修改这两块
1. 增加localStorage变量
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 可以按照浏览器里的方式使用
2. 修改RESTController 增加 wxRequest 方法
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 下载地址