列一个项目中用到factory的例子,基本上service原理都是单例。
services.factory('UserService', function ($http, $ionicLoading) {
// 用户对象
var user = null;
return {
/**
* 获取用户对象
* @returns
*/
getUser: function () {
return user;
},
/**
* 登录 - /v1/user/{userName}/apiKey
* @param user
*/
login: function (user) {
$http.post(HOST_URL + "/user/" + user.userName + "apiKey", {
password: md5(user.password),
verifyCode: user.verifyCode,
sessionMark: user.sessionMark
}).success(function (response) {
user = response;
}).error(function (response) {
$ionicLoading.show({
template: response,
duration: 2000
});
});
}
};
});