NetClient class

Constructors

NetClient({EasyLogHandler logger = EasyLogger.printLogger, EasyLogLevel logLevel = EasyLogLevel.debug, String? logTag, required String host, required String bsid, required String secret, bool binary = true, bool isolate = false, required void onCredentials(String nick, String? credentials)})

Properties

binary bool
是否用二进制收发数据,需要与服务端保持一致
final
bsid String
商户唯一标志
final
business Business
商户公开的配置信息
final
hashCode int
The hash code for this object.
no setterinherited
host String
服务器地址,格式:http://hostname:port
final
isolate bool
是否启用隔离线程进行数据编解码
final
logger EasyLogHandler
日志处理方法
final
logLevel EasyLogLevel
日志输出级别
final
logTag String?
日志输出标签
final
onCredentials → void Function(String nick, String? credentials)
登录凭据回调
final
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
secret String
商户通讯密钥
final
sessionState NetClientAzState
读取激活会话状态
no setter
teamshipState NetClientAzState
读取群组关系状态
no setter
user User
当前用户信息
final
usershipState NetClientAzState
读取好友关系状态
no setter
waitshipState NetClientAzState
读取好友申请状态
no setter

Methods

adminBusinessDetail({required bool cache}) Future<EasyPacket<Business>>
管理员加载商户信息
adminBusinessUpdate({required Map<String, dynamic> fields, String? code, String? newcode}) Future<EasyPacket<void>>
管理员更新商户信息
adminCustomXDeny({required int no, required dynamic xid, required int deny, Map<String, dynamic> fields = const {}, bool update = false}) Future<EasyPacket<void>>
管理员设置数据状态
adminCustomXList({required int no, required int page, int deny = 0, String keywords = '', Map<String, dynamic> eqFilter = const {}}) Future<EasyPacket<ComPage<CustomX>>>
管理员获取数据列表
adminErrorList({required int page, required bool finished}) Future<EasyPacket<ComPage<LogError>>>
管理员获取异常列表
adminErrorState({required dynamic id, required bool finished}) Future<EasyPacket<void>>
管理员设置异常状态
adminLoginList({required int page, required int start, required int end}) Future<EasyPacket<ComPage<LogLogin>>>
管理员获取登录列表
adminMessageDetail({required dynamic id}) Future<EasyPacket<Message>>
加载消息详细信息
adminPaymentList({required int page, required List<int> types, required List<int> states, int? substate}) Future<EasyPacket<ComPage<Payment>>>
管理员获取订单列表
adminPaymentState({required dynamic id, required int substate}) Future<EasyPacket<void>>
管理员设置订单状态(仅支持已完成事务的提现订单设置substate状态,后续实现自动提现转账功能后后会禁用此功能)
adminReportList({required int page, required int type, required int state, int? customXNo}) Future<EasyPacket<ComPage<LogReport>>>
管理员获取反馈列表
adminReportState({required dynamic id, required int state}) Future<EasyPacket<void>>
管理员设置反馈状态
adminTeamDeny({required dynamic tid, required int deny}) Future<EasyPacket<void>>
管理员设置群组状态
adminTeamIcon({required dynamic tid, required String icon}) Future<EasyPacket<void>>
管理员设置群组图标
adminTeamList({required int page, int deny = 0, String keywords = ''}) Future<EasyPacket<ComPage<Team>>>
管理员获取群组列表
adminUserDeny({required dynamic uid, required int deny}) Future<EasyPacket<void>>
管理员设置用户状态
adminUserList({required int page, int deny = 0, String keywords = ''}) Future<EasyPacket<ComPage<User>>>
管理员获取用户列表
alipayStart({required int goodsNo}) Future<EasyPacket<String?>>
支付宝充值下单
appConfigure() Future<EasyPacket<void>>
获取应用程序配置信息
attachUpload({required int type, required List<List<int>> fileBytes, required dynamic mediaType}) Future<EasyPacket<List<Metadata>>>
文件上传,typeConstant.metaTypeMessageConstant.metaTypeForever
connect({void onopen()?, void onclose(int code, String reason)?, void onerror(String error)?, void onretry(int count)?, void onheart(int second, int delay)?}) → void
登录后连接到服务器,请确保在登录之后再调用这个方法
createSession({UserShip? usership, TeamShip? teamship}) Session
创建会话
cusmarkLoad({required ComPage<CustomX> comPage, required bool reload, bool body1 = false, bool body2 = false, bool body3 = false}) Future<EasyPacket<bool>>
加载自定义标记列表,reload为true时清除缓存重新加载,返回值EasyPacket.extra字段为true时表示已加载全部数据。
cusstarLoad({required ComPage<CustomX> comPage, required bool reload, bool body1 = false, bool body2 = false, bool body3 = false}) Future<EasyPacket<bool>>
加载自定义收藏列表,reload为true时清除缓存重新加载,返回值EasyPacket.extra字段为true时表示已加载全部数据。
customXDelete({required int no, required dynamic id, int? rno1, int? rno2, int? rno3}) Future<EasyPacket<void>>
删除自定义数据,no为数据集合分类序号,该操作是永久删除数据
customXDetail({required int no, required dynamic id, int hot1 = 0, int hot2 = 0, dynamic hotx = 0, bool body1 = false, bool body2 = false, bool body3 = false}) Future<EasyPacket<CustomX>>
读取自定义数据,no为数据集合分类序号,hot1不为0时CustomX.hot1自增减1,hot2不为0时CustomX.hot2自增减1,hotx不为0时CustomX.hotx自增减hotx
customXInsert({required int no, DbJsonWraper? extra, dynamic rid1, dynamic rid2, dynamic rid3, int? int1, int? int2, int? int3, String? str1, String? str2, String? str3, DbJsonWraper? body1, DbJsonWraper? body2, DbJsonWraper? body3, int? state1, int? state2, int? state3, int? rno1, int? rno2, int? rno3, dynamic target, dynamic earner, int? rmbfen, int? virval}) Future<EasyPacket<CustomX>>
创建自定义数据,no为数据集合分类序号,返回数据包含全部字段
customXLoad({required ComPage<CustomX> comPage, required bool reload, Map<String, dynamic> eqFilter = const {}, Map<String, dynamic> neFilter = const {}, Map<String, dynamic> matchFilter = const {}, Map<String, dynamic> sorter = const {}, bool body1 = false, bool body2 = false, bool body3 = false}) Future<EasyPacket<bool>>
加载自定义数据列表,reload为true时清除缓存重新加载,返回值EasyPacket.extra字段为true时表示已加载全部数据。
customXMark({required int no, required dynamic id, double? score, bool body1 = false, bool body2 = false, bool body3 = false}) Future<EasyPacket<CustomX>>
标记自定义数据,no为数据集合分类序号,score为null时存在对应标记则删除否则添加,score不为null时会将Cusmark.score字段设置为score
customXStar({required int no, required dynamic id, bool body1 = false, bool body2 = false, bool body3 = false}) Future<EasyPacket<CustomX>>
收藏自定义数据,no为数据集合分类序号,数据存在则删除否则添加
customXUpdate({required int no, required dynamic id, required Map<String, dynamic> fields, bool update = false, bool body1 = false, bool body2 = false, bool body3 = false}) Future<EasyPacket<CustomX>>
更新自定义数据,no为数据集合分类序号,update为true时,会将CustomX.update字段更新为当前时间
doLogError({int clientVersion = 0, String deviceType = 'terminal', String deviceVersion = '0.0', Map<String, dynamic> deviceDetail = const {}, Map<String, dynamic> errorDetail = const {}, int errorTime = 0}) Future<EasyPacket<void>>
记录异常日志
doLogLogin({int clientVersion = 0, String deviceType = 'terminal', String deviceVersion = '0.0', Map<String, dynamic> deviceDetail = const {}}) Future<EasyPacket<void>>
记录登录日志
doLogReport({required int type, String image = '', dynamic relation, String? host, String? href, int? customXNo, dynamic customXId, String desc = ''}) Future<EasyPacket<void>>
记录反馈日志
getNickForMsgShip({required dynamic sid, required int from, required dynamic uid}) String
获取昵称
getTeam(dynamic tid) Team
读取群组
getTeamShip(dynamic tid) TeamShip?
读取群组关系
getTeamUser(dynamic tid, dynamic uid) TeamShip?
读取群组成员
getTeamuserState(dynamic tid) NetClientAzState
读取群组成员状态
getUser(dynamic uid) User
读取用户
getUserShip(dynamic uid) UserShip?
读取好友关系
getWaitShip(dynamic uid) UserShip?
读取好友申请
iospayStart({required int goodsNo, required String inpayId, required String verifyData}) Future<EasyPacket<void>>
苹果充值下单
isMessageSendForSession(Session session, EasyPacket packet) bool
packet是否为对应session的消息推送
loginByApple({required String appleUid, required String appleUname, required String authorizationCode, String? identityToken}) Future<EasyPacket<void>>
通过Apple账号登录
loginByNoPwd({required String no, required String pwd}) Future<EasyPacket<void>>
使用User.noUser.pwd进行登录
loginByPhone({required String phone, required String code, String? no, String? pwd}) Future<EasyPacket<void>>
使用phone和验证码code进行登录。分为三种场景:
loginByToken({required dynamic uid, required String token}) Future<EasyPacket<void>>
使用User.idUser.token进行登录
loginByWechat({required String wechatCode}) Future<EasyPacket<void>>
通过Wechat账号登录
messageDetail({required dynamic id}) Future<EasyPacket<Message>>
加载消息详细信息
messageLoad({required Session session, required bool reload}) Future<EasyPacket<bool>>
加载会话消息列表,reload为true时清除缓存重新加载,返回值EasyPacket.extra字段为true时表示已加载全部数据
messageSendCustomContent({required dynamic sid, required int from, String? title, String? body, dynamic shareCardId, String? shareIconUrl, List<String>? shareHeadUrl, String? shareLinkUrl, required int customType, String? customShort, Map<String, dynamic>? customExtra}) Future<EasyPacket<void>>
发送消息-自定义消息,customType为自定义类型,customExtra为扩展数据
messageSendImage({required dynamic sid, required int from, required String shareLinkUrl, int mediaMillis = 0}) Future<EasyPacket<void>>
发送消息-图片消息,mediaMillis为图片播放毫秒时长
messageSendRealtimeLocal({required dynamic sid, required int from, required List mediaUids}) Future<EasyPacket<void>>
发送消息-实时位置电话
messageSendRealtimeShare({required dynamic sid, required int from, required List mediaUids}) Future<EasyPacket<void>>
发送消息-实时屏幕共享
messageSendRealtimeVideo({required dynamic sid, required int from, required List mediaUids}) Future<EasyPacket<void>>
发送消息-实时视频电话
messageSendRealtimeVoice({required dynamic sid, required int from, required List mediaUids}) Future<EasyPacket<void>>
发送消息-实时语音电话
messageSendRedpackLuckly({required dynamic sid, required int from, required String body, required int rmbfenTotal, required int rmbfenCount, String? cashPassword}) Future<EasyPacket<void>>
发送消息-幸运红包,rmbfenTotal为红包总金额,rmbfenCount为红包个数
messageSendRedpackNormal({required dynamic sid, required int from, required String body, required int rmbfenTotal, required int rmbfenCount, String? cashPassword}) Future<EasyPacket<void>>
发送消息-普通红包,rmbfenTotal为红包总金额,rmbfenCount为红包个数
messageSendShareCardTeam({required dynamic sid, required int from, required String title, required String body, required dynamic shareCardId, required String shareIconUrl, required List<String> shareHeadUrl}) Future<EasyPacket<void>>
发送消息-群组名片
messageSendShareCardUser({required dynamic sid, required int from, required String title, required String body, required dynamic shareCardId, required String shareIconUrl, required List<String> shareHeadUrl}) Future<EasyPacket<void>>
发送消息-用户名片
messageSendShareHtmlPage({required dynamic sid, required int from, required String title, required String body, required String shareIconUrl, required String shareLinkUrl}) Future<EasyPacket<void>>
发送消息-网页分享
messageSendShareLocation({required dynamic sid, required int from, required Location shareLocation}) Future<EasyPacket<void>>
发送消息-位置分享
messageSendText({required dynamic sid, required int from, required String body}) Future<EasyPacket<void>>
发送消息-文本消息
messageSendVideo({required dynamic sid, required int from, required String shareLinkUrl, int mediaMillis = 0}) Future<EasyPacket<void>>
发送消息-视频消息,mediaMillis为视频播放毫秒时长
messageSendVoice({required dynamic sid, required int from, required String shareLinkUrl, int mediaMillis = 0}) Future<EasyPacket<void>>
发送消息-语音消息,mediaMillis为语音播放毫秒时长
messageUpdate({required dynamic id, bool mediaPlayed = false, bool redpackGrab = false, bool realtimeStart = false, bool realtimeEnd = false}) Future<EasyPacket<void>>
更新消息交互数据,mediaPlayed为true表示标记媒体附件已播放,redpackGrab为true表示本次操作为抢红包,realtimeStart为true表示实时媒体电话开始,realtimeEnd为true表示实时媒体电话结束
messageWebrtc({required dynamic id, required dynamic toUid, required Map<String, dynamic> signals}) Future<EasyPacket<void>>
发送实时媒体信令,toUid为null时将信令广播给全部参与者,toUid不为null时将信令发送给指定参与者
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
parseMessageFromSendOrUpdate(EasyPacket packet) Message
packet中解析出Message实例
parseTeamShipFromSendOrUpdate(EasyPacket packet) TeamShip
packet中解析出TeamShip实例
parseUserShipFromSendOrUpdate(EasyPacket packet) UserShip
packet中解析出UserShip实例
paymentCashout({required int rmbfen, required String accountTp, required String accountNo, String? cashPassword}) Future<EasyPacket<void>>
创建提现交易订单
paymentLoad({required ComPage<Payment> comPage, required bool reload, required int start, required int end}) Future<EasyPacket<bool>>
加载交易账单列表,reload为true时清除缓存重新加载,返回值EasyPacket.extra字段为true时表示已加载全部数据
paymentVirtual({required bool valueMode, required int customXNo, required dynamic customXId, int? goodsNo, String? cashPassword}) Future<EasyPacket<void>>
创建虚拟交易订单
release() → void
销毁长连接,释放缓存
sendRandcode({required String phone}) Future<EasyPacket<void>>
发送验证码到phone
setOnMessageSendListener(void ondata(EasyPacket packet), {required bool remove}) → void
设置收到新的聊天消息的监听器
setOnMessageUpdateListener(void ondata(EasyPacket packet), {required bool remove}) → void
设置消息数据发生变化的监听器
setOnMessageWebrtcListener(void ondata(EasyPacket packet), {required bool remove}) → void
设置收到实时媒体信令的监听器
setOnTeamFetchedWatcher(void ondata(EasyPacket packet), {required bool remove}) → void
设置群组信息获取完成的监听器---此事件由本地触发
setOnTeamShipUpdateListener(void ondata(EasyPacket packet), {required bool remove}) → void
设置群组关系发生变化的监听器
setOnTeamUpdateListener(void ondata(EasyPacket packet), {required bool remove}) → void
设置群组信息发生变化的监听器
setOnUserFetchedWatcher(void ondata(EasyPacket packet), {required bool remove}) → void
设置用户信息获取完成的监听器---此事件由本地触发
setOnUserShipUpdateListener(void ondata(EasyPacket packet), {required bool remove}) → void
设置用户关系发生变化的监听器
setOnUserUpdateListener(void ondata(EasyPacket packet), {required bool remove}) → void
设置我的信息发生变化的监听器
setOnWaitShipUpdateListener(void ondata(EasyPacket packet), {required bool remove}) → void
设置好友申请发生变化的监听器
teamCreate({required List uids}) Future<EasyPacket<void>>
创建新的群组
teamFetch({required List tids}) Future<EasyPacket<List<Team>>>
批量获取群组
teamMember({required dynamic tid}) Future<EasyPacket<List<TeamShip>>>
获取群组成员
teamSearch({required String keywords}) Future<EasyPacket<List<Team>>>
获取Team.nokeywordsTeam.nickkeywords的群组列表
teamShipApply({required dynamic tid, dynamic fid, required int from, String apply = ''}) Future<EasyPacket<void>>
主动加入群组
teamShipNone({required Object tid, required dynamic uid}) Future<EasyPacket<void>>
主动退出群组 或 将成员移除群组
teamShipPass({required Object tid, required List uids}) Future<EasyPacket<void>>
拉人进入群组
teamShipQuery({required dynamic tid, dynamic fid, required int from}) Future<EasyPacket<TeamShip>>
查询群组关系
teamShipUpdate({required dynamic id, required Map<String, dynamic> fields}) Future<EasyPacket<void>>
更新群组关系
teamUpdate({required dynamic tid, required Map<String, dynamic> fields}) Future<EasyPacket<void>>
更新群组信息
teamUserAuth({required dynamic tid, required dynamic uid, required String host, required int millis, required String sign}) Future<EasyPacket<DbJsonWraper>>
群组网页授权获取用户信息
toString() String
A string representation of this object.
inherited
userDestroy() Future<EasyPacket<void>>
永久注销账号
userEnter() Future<EasyPacket<void>>
长连接登入
userFetch({required List uids}) Future<EasyPacket<List<User>>>
批量获取用户
userLeave() Future<EasyPacket<void>>
长连接登出
userSearch({required String keywords}) Future<EasyPacket<List<User>>>
获取User.nokeywordsUser.phonekeywords的用户列表
userShipApply({required dynamic uid, dynamic fid, required int from, String apply = ''}) Future<EasyPacket<void>>
发起好友申请
userShipNone({required dynamic uid}) Future<EasyPacket<void>>
拒绝好友申请 或 解除好友关系
userShipPass({required dynamic uid}) Future<EasyPacket<void>>
同意好友申请
userShipQuery({required dynamic uid, dynamic fid, required int from}) Future<EasyPacket<UserShip>>
查询好友关系
userShipUpdate({required dynamic id, required Map<String, dynamic> fields}) Future<EasyPacket<void>>
更新用户关系
userUpdate({required dynamic uid, required Map<String, dynamic> fields, String? code, String? newcode}) Future<EasyPacket<void>>
更新我的信息
validateHost({required String value}) Future<EasyPacket<bool>>
验证域名是否允许访问
wechatStart({required int goodsNo}) Future<EasyPacket<Map<String, dynamic>?>>
微信充值下单

Operators

operator ==(Object other) bool
The equality operator.
inherited

Static Methods

decryptCredentials(String data, String secret) User?
解密登录凭据
encryptCredentials(User user, String secret) String?
加密登录凭据