123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168 |
- /*
- 此处为数据对应库
- US.Friend 集合,里面包含了好友分组,好友,群,群成员,最近联系人。
- US.Friend.class 数组 是所有的好友分组,结构参见好友分组实体U.F.T.FriendGroupEntity
- US.Friend.friends 数组 是所有的好友,结构参见好友实体U.F.T.FriendEntity
- US.Friend.group 数组 是所有的群,结构参见群实体U.F.T.GroupEntity
- US.Friend.groupusers 数组 是所有的群好友,结构参见群成员实体U.F.T.GroupUserEntity
- US.Friend.recentcontacts 数组 是所有的在线好友,结构为U.F.T.RecentContactsEntity
- 从数据库中取出的数据都要放到此全局变量中,当新建好友,新建分组等时,需要用下面的结构生成新的实体。
- */
- Namespace.register("U.F.T"); //好友数据源操作命名空间
- /**
- * 好友实体
- *
- * @param {array} 好友信息
- ----------[0] 好友签名
- ----------[1] 好友用户id
- ----------[2] 好友原图
- ----------[3] 好友小图
- ----------[4] 好友别名
- ----------[5] 好友用户名
- ----------[6] 好友id
- ----------[7] 好友备注
- ----------[8] 好友分组id
- ----------[9] 是否在线
- */
- U.F.T.FriendEntity = function (signature, userid, userimagehead, thumbnailheadimage, nickname, name, friendid, descript, groupid, islogin) {
- this.UserIndividualitysignature = signature;
- this.UserId = userid;
- this.UserImageHead = userimagehead;
- this.UserThumbnailImageHead = thumbnailheadimage;
- this.UserNickName = nickname;
- this.UserName = name;
- this.FriendsID = friendid;
- this.FriendsDescript = descript;
- this.FriendsGroupID = groupid;
- this.IsLogin = islogin;
- }
- /**
- * 最近联系人
- *
- * @param {array} 在线好友信息
- ----------[0] 好友用户id
- ----------[1] 好友用户名
- ----------[2] 好友大图
- ----------[3] 好友昵称
- ----------[4] 好友小图
- ----------[5] 最后聊天时间
- ----------[6] 好友备注
- ----------[7] 好友签名
- ----------[8] 是否在线
- */
- U.F.T.RecentContactsEntity = function (userid, username, userimagehead, usernickname, userthumbnailimagehead, sendtime, descript, signature, islogin) {
- this.UserId = userid;
- this.UserName = username;
- this.UserImageHead = userimagehead;
- this.UserNickName = usernickname;
- this.UserThumbnailImageHead = userthumbnailimagehead;
- this.maxMessageSendTime = sendtime;
- this.FriendsDescript = descript;
- this.UserIndividualitysignature = signature;
- this.IsLogin = islogin;
- }
- /**
- * 好友分组实体
- *
- * @param {array} 好友分组信息
- ----------[0] 分组描述
- ----------[1] 分组分组id
- ----------[2] 分组名
- */
- U.F.T.FriendGroupEntity = function (groupid, groupname, descript) {
- this.FriendsGroupID = groupid;
- this.FriendsGroupName = groupname;
- this.FriendsGroupDescript = descript;
- }
- /**
- * 群实体
- *
- * @param {array} 群信息
- ----------[0] 群id
- ----------[1] 群名
- ----------[2] 群创建时间
- ----------[3] 群创建用户id
- ----------[4] 群管理用户id
- ----------[5] 群描述
- ----------[6] 群备注
- */
- U.F.T.GroupEntity = function (groupid, name, date, userid, descript, remark) {
- this.GroupManageID = groupid;
- this.GroupManageName = name;
- this.GroupManageCreateDate = date;
- this.GroupManageCreateUserID = userid;
- this.GroupManageUserID = userid;
- this.GroupManageDescript = descript;
- this.GroupManageRemark = remark;
- }
- /**
- * 群成员实体
- *
- * @param {array} 群信息
- ----------[0] 群用户id
- ----------[1] 群用户头像
- ----------[2] 群用户昵称
- ----------[3] 群用户名
- ----------[4] 群用户小图
- ----------[5] 群用户描述
- ----------[6] 群id
- ----------[6] 群用户登录信息
- */
- U.F.T.GroupUserEntity = function (userid, userimagehead, nickname, name, thumbnailimagehead, descript, groupid, islogin) {
- this.UserId = userid;
- this.UserImageHead = userimagehead;
- this.UserNickName = nickname;
- this.UserName = name;
- this.UserThumbnailImageHead = thumbnailimagehead;
- this.GroupUsersDescript = descript;
- this.GroupManageID = groupid;
- this.IsLogin = islogin;
- }
- /**
- * 循环所有好友,让在线用户都置顶在最上面。
- *
- */
- U.F.T.InitFriendInfo = function () {
- var i,
- j,
- _userinfo;
- //循环US.Friend变量,修改里面的好友、群好友、在线联系人的信息为默认信息,同事设置用户是否在线
- for (i = 0; i < US.Friend.length; i++) {
- //0 好友分组 1好友信息 2群分组 3群用户 4最近联系人 5在线好友 这里只修改有用户信息的 所以修改为1、3、4
- if (i == 1 && i == 3 && i == 4) {
- for (j = 0; j < US.Friend[i].length; j++) {
- _userinfo = US.Friend[i][j];
- //判断用户是否在线,如果在线设置在线属性为在线
- if (US.Friend[5].indexOf(_userinfo.UserId) > -1) {
- _userinfo.IsLogin = 1; //设置在线
- }
- //如果是好友信息的修改,由于从数据库里面选出来的数据有null值,所以这里把null过滤了
- if (i != 1) {
- _$(_userinfo).Change({
- "UserIndividualitysignature": _userinfo["UserIndividualitysignature"] || "",
- "UserNickName": _userinfo.UserName,
- "FriendsDescript": _userinfo["FriendsDescript"] || _userinfo.UserName
- });
- }
- //如果是群好友信息的修改,由于从数据库里面选出来的数据有null值,所以这里把null过滤了
- else {
- _$(_userinfo).Change({
- "UserNickName": _userinfo.UserName,
- "GroupUsersDescript": _UFE[j]["GroupUsersDescript"] || _userinfo.UserName
- });
- }
- }
- //除了最近联系人以外,其他的都要重新排序
- if (i != 4) {
- _$(US.Friend[i]).Reset({ "IsLogin": 1 }); //设置完在线后,把在线用户发在最前面,这里是根据IsLogin = 1的排序
- }
- }
- }
- }
|