1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
| angular.module('clientModule',['home']) .factory('clientService',['$http','$q','mainservice',function($http,$q,mainservice){ //$q是angular内置服务,可以使你异步地执行函数 var communicateIp = 'http://10.0.1.8:8010/'; mainservice.ip = communicateIp; function handleRequest(method,url,data){ //定义一个接口管理的方法 var deferred = $q.defer(); // defer的字面意思是延迟,$q.defer(),可以创建一个deferred实例。 var config = { method : method, url : url }; if('POST'===method){ config.data = data; }else if('GET'=== method){ config.params = data; }else if('DELETE'=== method){ config.params = data; } $http(config).success(function(data){ deferred.resolve(data); }).error(function(err){ deferred.reject(err); }); return deferred.promise; //通过deferred延迟对象,可以得到一个承诺promise,而promise会返回当前任务的完成结果 }; return { exit: function(params){ return handleRequest('GET', communicateIp+'api/pre/demo/loginout', params); }, changepersonalPassword: function(params){ return handleRequest('GET', communicateIp+'api/pre/demo/updatePassword', params); }, checkuser: function(params){ return handleRequest('GET', communicateIp +'api/pre/demo/login',params); } }; }]);
|