angular.module('push') .factory('ScienceCircleService', function ($q, ConfigService, UtilService, UserService) { return { // 获取当前客户端id getClientid: function () { var deferred = $q.defer(); var params = { userid: UserService.id }; UtilService.imget(ConfigService.imserver + "getClientid", params).success(function (data) { deferred.resolve(data); }).error(function (data) { deferred.reject(data); }); return deferred.promise; }, // 获取当前用户订阅的主题 getUserTopics: function () { var deferred = $q.defer(); var params = { userid: UserService.id }; UtilService.imget(ConfigService.imserver + "useSubTopics", params).success(function (data) { deferred.resolve(data); }).error(function (data) { deferred.reject(data); }); return deferred.promise; }, // 获取会话列表 getConversationList: function () { var deferred = $q.defer(); var params = { userid: UserService.id }; UtilService.imget(ConfigService.imserver + "chat", params).success(function (data) { deferred.resolve(data); }).error(function (data) { deferred.reject(data); }); return deferred.promise; }, // 创建会话 createConversation: function (type, reciverid, operate) { var deferred = $q.defer(); var params = { //TODO userid: UserService.id, // userid: 653, type: type,//6201 系统 6202 好友 6203 群组 reciverid: reciverid, operate: operate // 20001:加好友 20002:删除好友 21001:创建群 21002:加群21003:解散群21004:退群 }; UtilService.impost(ConfigService.imserver + "topic", params).success(function (data) { // UtilService.impost("http://192.168.0.138:8090/api/v5.0/topic", params).success(function (data) { deferred.resolve(data); }).error(function (data) { deferred.reject(data); }); return deferred.promise; }, // 删除会话 deleteConversation: function () { var deferred = $q.defer(); var params = { userid: UserService.id }; UtilService.impost(ConfigService.imserver + "deleteConversation.action?", params).success(function (data) { deferred.resolve(data); }).error(function (data) { deferred.reject(data); }); return deferred.promise; }, // 获取聊天消息列表 getChatMessageList: function (topicid, msgid) { var deferred = $q.defer(); var params = { userid: UserService.id, topicid: topicid, msgid: msgid }; UtilService.imget(ConfigService.imserver + "historymessage", params).success(function (data) { deferred.resolve(data); }).error(function (data) { deferred.reject(data); }); return deferred.promise; }, // 发送消息 sendMessage: function (reciverid, message, messagetype, type) { var deferred = $q.defer(); var params = { userid: UserService.id,//发送者 reciverid: reciverid,//接收者 message: message,//消息内容 messagetype: messagetype,//消息内容类型 6101:文本 6102:图片 6103:音频 6104:视频 type: type//消息类型 6201:系统消息 6202:好友 6203:群组 }; UtilService.imbodyhttp(ConfigService.imserver + "message", params).success(function (data) { deferred.resolve(data); }).error(function (data) { deferred.reject(data); }); return deferred.promise; }, // 关注用户 focusUser: function (type, targetId) { var deferred = $q.defer(); var params = { type: type, userId: UserService.id, targetId: targetId }; UtilService.post(ConfigService.server + "userFocusOn.action?", params).success(function (data) { deferred.resolve(data); }).error(function (data) { deferred.reject(data); }); return deferred.promise; }, //搜索(新增)用户 searchUser: function (key, pagenum) { var deferred = $q.defer(); var params = { keyword: key + " ", userid: UserService.id, pagenum: pagenum }; UtilService.imget(ConfigService.server + "search/user", params).success(function (data) { deferred.resolve(data); }).error(function (data) { deferred.reject(data); }); return deferred.promise; }, //搜索通讯录用户 searchContactUser: function (key, type, operate) { var deferred = $q.defer(); var params = { userid: UserService.id, type: type,//0:全部搜索 1:我的关注 2:我的粉丝 3:陌生人 keyword: key + " ", operate: operate//1:默认条数3条 2:全部搜索 }; UtilService.imget(ConfigService.server + "search/maillist", params).success(function (data) { deferred.resolve(data); }).error(function (data) { deferred.reject(data); }); return deferred.promise; }, // 获取最近联系人(通讯录) getContacts: function (type) { var deferred = $q.defer(); var params = { //TODO userid: UserService.id, // userid: 653, type: type// 0:我的关注 1:我的粉丝 2:陌生人 }; UtilService.imget(ConfigService.imserver + "relation", params).success(function (data) { deferred.resolve(data); }).error(function (data) { deferred.reject(data); }); return deferred.promise; } } });