socialforge/public/javascripts/wechat/others/factory.js

182 lines
5.0 KiB
JavaScript
Raw Normal View History

2016-06-17 18:18:03 +08:00
app.factory('alertService', function(){
function Alert(){
this.title = null;
this.message = null;
this.visible = null;
this.cb = null;
2016-06-17 18:18:03 +08:00
}
Alert.prototype.showMessage = function(title, msg, cb){
2016-06-17 18:18:03 +08:00
this.message = msg;
this.title = title;
this.visible = true;
this.cb = cb;
2016-06-17 18:18:03 +08:00
}
Alert.prototype.dismiss = function(){
this.message = null;
this.title = null;
this.visible = false;
if(this.cb) {this.cb();}
2016-06-17 18:18:03 +08:00
}
return {
create: function(){
return new Alert();
}
}
});
app.factory('auth', ['$http','$routeParams', '$q', 'session', 'config',function($http,$routeParams, $q, session,config){
//是否已经绑定
var isBind = function(){
var defer = $q.defer();
var token = getToken();
if(token && token.length>10){
defer.resolve(token);
} else {
var code = window.g_code || $routeParams.code || session.get("code");
$http.post(
'/wechat/get_bind',
{} ///不用传code了,都由服务器来处理
).then(function(response){
if(response.data.status!=0){
defer.reject(response.data.message);
}else {
session.save("token", response.data.token);
defer.resolve(response.data.token);
}
}).catch(function(e){
defer.reject(e);
});
}
return defer.promise;
}
var getToken = function(){
return session.get("token");
}
return {get_bind: isBind, token: getToken};
}]);
2016-06-14 14:24:39 +08:00
2016-06-17 18:18:03 +08:00
app.factory("session", function(){
return {
save: function(key,value){
sessionStorage.setItem(key,value);
},
get: function(key){
return sessionStorage.getItem(key);
}
}
});
2016-06-14 14:24:39 +08:00
app.factory('rms', function(){
var _saveStorage = {};
var save = function(key, value){
_saveStorage[key] = value;
};
var get = function(key){
return _saveStorage[key];
};
return {save: save, get: get};
});
app.factory('common', ['$http', 'auth', '$routeParams', function($http, auth, $routeParams){
2016-06-14 14:24:39 +08:00
var addCommonReply = function(id, type, data, cb){
if(!data.comment || data.comment.length<=0){
return;
}
var temp = data.comment.replace(/\n/g,'<br/>');
var userInfo = {
type: type,
content: temp,
token: auth.token()
2016-06-14 14:24:39 +08:00
};
//回复按钮禁用
data.disabled = true;
$http({
method: 'POST',
url: apiUrl+ "new_comment/"+id,
data: userInfo
}).then(function successCallback(response) {
//alert("提交成功");
//数据提交完成,回复按钮启用
data.disabled = false;
if(typeof cb === 'function'){
cb();
}
}, function errorCallback(response) {
});
};
var loadCommonData = function(id, type){
return $http({
method: 'GET',
url: apiUrl+ type + "/" + id+"?token="+auth.token()
2016-06-14 14:24:39 +08:00
})
};
var addCommonPraise = function(act){
act.praise_count += 1;
act.has_praise = true;
$http({
method: 'POST',
url: apiUrl + "praise/" + act.act_id,
data:{token:auth.token(),type:act.act_type}
2016-06-14 14:24:39 +08:00
}).then(function successCallback(response) {
console.log(response.data);
}, function errorCallback(response) {
});
};
var decreaseCommonPraise = function(act){
act.praise_count -= 1;
act.has_praise = false;
$http({
method: 'POST',
url: apiUrl + "praise/" + act.act_id,
data:{token:auth.token(),type:act.act_type}
2016-06-14 14:24:39 +08:00
}).then(function successCallback(response) {
console.log(response.data);
}, function errorCallback(response) {
});
};
var init = function(args){
args.scope.formData = {comment: ''};
var loadData = function(id){
loadCommonData(id, args.type).then(function successCallback(response) {
args.loadCallback(response.data);
}, function errorCallback(response) {
});
};
loadData(args.id);
args.scope.addReply = function(data){
console.log(data.comment);
addCommonReply(args.id, args.replyType, data, function(){
args.scope.formData = {comment: ''};
loadData(args.id);
if(typeof args.replyCallback === 'function'){
args.replyCallback();
}
});
};
args.scope.addPraise = addCommonPraise;
args.scope.decreasePraise = decreaseCommonPraise;
}
return {init: init, addCommonReply: addCommonReply, loadCommonData: loadCommonData, addCommonPraise: addCommonPraise, decreaseCommonPraise: decreaseCommonPraise};
}]);