// Copyright © 2023 OpenIM. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package model import ( "time" ) // PhoneVisibility 手机号可见性枚举。 // 0=所有人可见, 1=仅好友可见, 2=完全隐藏 const ( PhoneVisibilityPublic int32 = 0 PhoneVisibilityFriends int32 = 1 PhoneVisibilityHidden int32 = 2 ) // CallAcceptSetting 音视频通话接受权限枚举。 // 0=所有人可发起, 1=仅好友可发起, 2=不接受任何通话 const ( CallAcceptSettingPublic int32 = 0 CallAcceptSettingFriends int32 = 1 CallAcceptSettingNobody int32 = 2 ) // MsgReceiveSetting 会话消息接收权限枚举。 // 0=所有人可发送, 1=仅好友可发送, 2=所有人不可发送 const ( MsgReceiveSettingPublic int32 = 0 MsgReceiveSettingFriends int32 = 1 MsgReceiveSettingNobody int32 = 2 ) // GroupInviteSetting 群邀请权限枚举。 // 0=所有人可邀请, 1=仅好友可邀请, 2=所有人不可邀请 const ( GroupInviteSettingPublic int32 = 0 GroupInviteSettingFriends int32 = 1 GroupInviteSettingNobody int32 = 2 ) // UserStatus 用户账号状态枚举。 // 0=正常;1=冻结(可登录,不能收发消息);2=黑名单(不可登录,自动踢下线,不能收发消息) const ( UserStatusNormal int32 = 0 UserStatusFrozen int32 = 1 UserStatusBlacklist int32 = 2 ) // DefaultDeleteAccountIntervalSec 删除账号等待间隔的系统默认值(18 个月,按 30 天/月折算)。 // 注册时写入 MongoDB 的初始值;用户未显式修改时即为此值。 const DefaultDeleteAccountIntervalSec int32 = 18 * 30 * 24 * 3600 type User struct { UserID string `bson:"user_id"` Nickname string `bson:"nickname"` FaceURL string `bson:"face_url"` Ex string `bson:"ex"` AppMangerLevel int32 `bson:"app_manger_level"` GlobalRecvMsgOpt int32 `bson:"global_recv_msg_opt"` CreateTime time.Time `bson:"create_time"` FirstName string `bson:"first_name"` LastName string `bson:"last_name"` FullName string `bson:"full_name"` Phone string `bson:"phone"` AreaCode string `bson:"area_code"` PhoneVisibility int32 `bson:"phone_visibility"` CallAcceptSetting int32 `bson:"call_accept_setting"` MsgReceiveSetting int32 `bson:"msg_receive_setting"` GroupInviteSetting int32 `bson:"group_invite_setting"` // CallRingtoneURL 用户自定义来电铃声 URL;对方来电时播放此铃声 CallRingtoneURL string `bson:"call_ringtone_url"` // Status 账号状态:0=正常,1=冻结,2=黑名单 Status int32 `bson:"status"` // MsgBurnDuration 用户全局消息阅后即焚时长(秒);0 表示关闭 MsgBurnDuration int32 `bson:"msg_burn_duration"` // DeleteAccountInterval 删除账号间隔(秒);0 表示关闭 DeleteAccountInterval int32 `bson:"delete_account_interval"` } func (u *User) GetNickname() string { return u.Nickname } func (u *User) GetFaceURL() string { return u.FaceURL } func (u *User) GetUserID() string { return u.UserID } func (u *User) GetEx() string { return u.Ex }