一、封装服务
angular.module('App.services')
.factory('ResourceFactory', function ($resource, ApiConfig) {
var API_HOST = ApiConfig.API_HOST;
var Message = $resource(API_HOST + '/message/:action/:id',
{
action: '@action',
id: '@id'
},
{
"update":{method: 'PUT'}
}
);
return {
Message: Message,
}
});
二、使用接口
1.get方式获取数据
// ======get方式========
function getMessageList() {
var urlParam = {
action: 'categories',
id: pageId,
page: message.page,
page_no: message.pageno
};
ResourceFactory.Message.get(urlParam).$promise.then(
//成功回调
function (indata) {
console.log('接口返回成功'+ angular.toJson($scope.data.messageList));
},
//失败回调
function (rejection) {
console.log('接口返回失败,失败数据' + angular.toJson(rejection));
}).finally(function () {
});
2. 其他方式(post, put, delete)获取接口数据---分别对应使用方法(save, update, delete)
//======post方式=====
var message = new ResourceFatory.Message();
message.channelsIds = channelsIds;
message.$save().then(function (indata) {
//反馈信息成功
console.log('接口测成功' + angular.toJson(indata));
}, function (rejection) {
//反馈信息失败
console.log('反馈失败信息' + angular.toJson(rejection));
});
三、备注
1. 未实例化时直接调用方法名:ResourceFactory.Message.get()
2.实例化后使用时在方法名前加$
var message = new ResourceFatory.Message();
message.$save()
3. $resource服务中自带有get, post, delete的方法,对于put方式需要自定义一个update方法
4. 发送数据的方式有get, post, put, delete---分别对应使用方法名(get, save, update, delete)