/** * desc: 接口请求类 * author: wangyang * date: 2015-04-11 */ // define(['config', 'base', '$'], function(config, base, $) { define(['config', 'base'], function(config, base) { var API = function() { if (typeof API.instance === 'object') { return API.instance; } API.instance = this; this.isLoading = false; } API.prototype = new base(); var apiErrorResult = { success: false, message: '加载哥遇到瓶颈再来一遍嘛 <( ̄︶ ̄)>' }; //获取用户信息 API.prototype.getUserInfo = function(data, callback) { var that = this; this.isLoading = true; $.signAjax({ url: config.apiPath + '/index.php?r=api/user/info', data: data, dataType: 'JSON', success: function(res) { that.isLoading = false; if (callback) { callback(res); } }, error: function(res) { that.isLoading = false; if (callback) { callback(apiErrorResult); } } }); }; API.prototype.getO2oUserInfo = function(data, callback) { var that = this; this.isLoading = true; $.signAjax({ url: config.apiPath + '/index.php?r=o2o/user/info', data: data, dataType: 'JSON', success: function(res) { that.isLoading = false; if (callback) { callback(res); } }, error: function(res) { that.isLoading = false; if (callback) { callback(apiErrorResult); } } }); }; //获取商品列表 API.prototype.getProductList = function(data, callback) { var that = this; this.isLoading = true; $.signAjax({ url: config.apiPath + '/index.php?r=o2o/product/list', data: data, dataType: 'JSON', success: function(res) { that.isLoading = false; if (callback) { callback(res); } }, error: function(res) { that.isLoading = false; if (callback) { callback(apiErrorResult); } } }); }; //获取优惠券列表 API.prototype.getCouponList = function(data, callback) { var that = this; $.signAjax({ url: config.apiPath + '/index.php?r=o2o/order/usableCoupon', data: data, dataType: 'JSON', success: function(res) { that.isLoading = false; if (callback) { callback(res); } }, error: function(res) { that.isLoading = false; if (callback) { callback(apiErrorResult); } } }); }; //兑换优惠券 API.prototype.exchangeCoupon = function(data, callback) { var that = this; $.signAjax({ url: config.apiPath + '/index.php?r=o2o/user/exchangeCoupon', data: data, dataType: 'JSON', success: function(res) { that.isLoading = false; if (callback) { callback(res); } }, error: function(res) { that.isLoading = false; if (callback) { callback(apiErrorResult); } } }); }; //检查用户的地址是否在服务站内 API.prototype.checkAddress = function (data, callback) { var that = this; $.signAjax({ url: config.apiPath + '/index.php?r=o2o/order/checkAddress', data: data, dataType: 'JSON', success: function(res) { that.isLoading = false; if (callback) { callback(res); } }, error: function(res) { that.isLoading = false; if (callback) { callback(apiErrorResult); } } }); }; //提交订单 API.prototype.addOrder = function(data, callback) { var that = this; $.signAjax({ url: config.apiPath + '/index.php?r=o2o/order/add', data: data, dataType: 'JSON', success: function(res) { that.isLoading = false; if (callback) { callback(res); } }, error: function(res) { that.isLoading = false; if (callback) { callback(apiErrorResult); } } }); }; //取消订单 API.prototype.cancelOrder = function(data, callback) { var that = this; $.signAjax({ url: config.apiPath + '/index.php?r=o2o/order/del', data: data, dataType: 'JSON', success: function(res) { that.isLoading = false; if (callback) { callback(res); } }, error: function(res) { that.isLoading = false; if (callback) { callback(apiErrorResult); } } }); }; // 追加订单 API.prototype.appendOrder = function(data, callback) { var that = this; $.signAjax({ url: config.apiPath + '/index.php?r=o2o/order/append', data: data, dataType: 'JSON', success: function(res) { that.isLoading = false; if (callback) { callback(res); } }, error: function(res) { that.isLoading = false; if (callback) { callback(apiErrorResult); } } }); }; // 订单详情 API.prototype.getOrderDetail = function(data, callback) { var that = this; $.signAjax({ url: config.apiPath + '/index.php?r=o2o/order/detail', data: data, dataType: 'JSON', success: function(res) { that.isLoading = false; if (callback) { callback(res); } }, error: function(res) { that.isLoading = false; if (callback) { callback(apiErrorResult); } } }); }; //获取支付信息 API.prototype.getPayCharge = function(data, callback) { var that = this; $.signAjax({ url: config.apiPath + '/index.php?r=o2o/order/pay', data: data, dataType: 'JSON', success: function(res) { that.isLoading = false; if (callback) { callback(res); } }, error: function(res) { that.isLoading = false; if (callback) { callback(apiErrorResult); } } }); }; // 获取追加订单信息 API.prototype.getAppendPayCharge = function(data, callback) { var that = this; $.signAjax({ url: config.apiPath + '/index.php?r=o2o/order/appendPay', data: data, dataType: 'JSON', success: function(res) { that.isLoading = false; if (callback) { callback(res); } }, error: function(res) { that.isLoading = false; if (callback) { callback(apiErrorResult); } } }); }; //获取我的订单列表 API.prototype.getMyOrderList = function(data, callback) { var that = this; $.signAjax({ url: config.apiPath + '/index.php?r=o2o/order/list', data: data, dataType: 'JSON', success: function(res) { that.isLoading = false; if (callback) { callback(res); } }, error: function(res) { that.isLoading = false; if (callback) { callback(apiErrorResult); } } }); }; //发表评价 API.prototype.postReview = function(data, callback) { var that = this; $.signAjax({ url: config.apiPath + '/index.php?r=o2o/product/comment', data: data, dataType: 'JSON', success: function(res) { that.isLoading = false; if (callback) { callback(res); } }, error: function(res) { that.isLoading = false; if (callback) { callback(apiErrorResult); } } }); }; //评价列表 API.prototype.getReviewList = function(data, callback) { var that = this; $.signAjax({ url: config.apiPath + '/index.php?r=o2o/product/commentList', data: data, dataType: 'JSON', success: function(res) { that.isLoading = false; if (callback) { callback(res); } }, error: function(res) { that.isLoading = false; if (callback) { callback(apiErrorResult); } } }); }; //地址列表 API.prototype.getAddressList = function(data, callback) { var that = this; $.signAjax({ url: config.apiPath + '/index.php?r=api/shop/addressList', data: data, dataType: 'JSON', success: function(res) { that.isLoading = false; if (callback) { callback(res); } }, error: function(res) { that.isLoading = false; if (callback) { callback(apiErrorResult); } } }); }; //新增地址 API.prototype.addAddress = function(data, callback) { var that = this; $.signAjax({ url: config.apiPath + '/index.php?r=api/shop/addAddress', data: data, dataType: 'JSON', success: function(res) { that.isLoading = false; if (callback) { callback(res); } }, error: function(res) { that.isLoading = false; if (callback) { callback(apiErrorResult); } } }); }; //删除地址 API.prototype.deleteAddress = function(data, callback) { var that = this; $.signAjax({ url: config.apiPath + '/index.php?r=api/shop/delAddress', data: data, dataType: 'JSON', success: function(res) { that.isLoading = false; if (callback) { callback(res); } }, error: function(res) { that.isLoading = false; if (callback) { callback(apiErrorResult); } } }); }; // 修改地址 API.prototype.editAddress = function(data, callback) { var that = this; $.signAjax({ url: config.apiPath + '/index.php?r=api/shop/editAddress', data: data, dataType: 'JSON', success: function(res) { that.isLoading = false; if (callback) { callback(res); } }, error: function(res) { that.isLoading = false; if (callback) { callback(apiErrorResult); } } }); }; // 获取上传图片token API.prototype.gettoken = function(data, callback) { var that = this; $.signAjax({ url: config.apiPath + '/index.php?r=api/upload/gettoken', data: data, dataType: 'JSON', success: function(res) { that.isLoading = false; if (callback) { callback(res); } }, error: function(res) { that.isLoading = false; if (callback) { callback(apiErrorResult); } } }); }; // 退款 API.prototype.refundOrder = function(data, callback) { var that = this; $.signAjax({ url: config.apiPath + '/index.php?r=o2o/order/retrieve', data: data, dataType: 'JSON', success: function(res) { that.isLoading = false; if (callback) { callback(res); } }, error: function(res) { that.isLoading = false; if (callback) { callback(apiErrorResult); } } }); }; // 确认完成 API.prototype.finishOrder = function(data, callback) { var that = this; $.signAjax({ url: config.apiPath + '/index.php?r=o2o/order/confirmComplete', data: data, dataType: 'JSON', success: function(res) { that.isLoading = false; if (callback) { callback(res); } }, error: function(res) { that.isLoading = false; if (callback) { callback(apiErrorResult); } } }); }; // 触宝 获取加密支付信息 API.prototype.getTradeStr = function(data, callback) { var that = this; $.signAjax({ url: config.apiPath + '/index.php?r=o2o/chubao/chubaoPay', data: data, dataType: 'JSON', success: function(res) { that.isLoading = false; if (callback) { callback(res); } }, error: function(res) { that.isLoading = false; if (callback) { callback(apiErrorResult); } } }); }; // 选择保洁师 API.prototype.selectTech = function(data, callback) { var that = this; $.signAjax({ url: config.apiPath + '/index.php?r=o2o/order/selectTech', data: data, dataType: 'JSON', success: function(res) { that.isLoading = false; if (callback) { callback(res); } }, error: function(res) { that.isLoading = false; if (callback) { callback(apiErrorResult); } } }); }; API.prototype.techComment = function(data, callback) { var that = this; $.signAjax({ url: config.apiPath + '/index.php?r=o2o/order/techComment', data: data, dataType: 'JSON', success: function(res) { that.isLoading = false; if (callback) { callback(res); } }, error: function(res) { that.isLoading = false; if (callback) { callback(apiErrorResult); } } }); }; return new API(); })