华为云用户手册
-
业务流程 接口调用 创建入会参数JoinConfParam。 会议id加入会议使用PasswordJoinConfParam。 会议random加入会议使用RandomJoinConfParam。 1 2 3 4 5 6 7 //加入会议对象 PasswordJoinConfParam passwordJoinConfParam = new PasswordJoinConfParam() .setConfId(getConfId()) //加入会议ID .setNickname(getNickname()) //设置昵称 .setCameraOn(true) //是否开启摄像头 .setMicOn(true); //是否开启麦克风 .setPassword(true) //入会密码 调用joinConf接口加入会议,第1步中的数据作为参数。 处理回调 处理回调中的结果。
-
业务流程 使用SDK预约会议前,处理用户界面输入的预约会议信息,调用bookConf接口,然后处理回调hwmCallback和 消息通知 BizNotificationHandler的onConfListChanged。 接口调用 组装数据结构BookConfParam。 调用bookConf开始创建预约会议,第1步中的数据作为参数。 处理回调函数 处理回调函数hwmCallback。 处理消息通知 处理消息通知onConfListChanged。
-
业务流程 接口调用 创建登录参数AppIdAuthParam。 设置第三方账号的唯一标识。 设置随机字符串。 设置签名信息。 设置该用户所在的企业ID,仅SP模式下需要填写 设置签名过期时间。 设置登录账号的昵称。 设置登录账号的邮箱。 设置登录账号的手机号码。 调用loginByAppid接口进行登录,第1步中的数据作为参数,会议服务器会根据相关参数,如果没有开户则执行开户。 处理回调 处理回调中的结果。
-
注意事项,使用前必看 需要使用通知方法时,必须注册代理对象。 两种方式: 初始化时,对HWMOpenSDKConfig对象的属性赋值 1 2 3 HWMOpenSDKConfig *config = [[HWMOpenSDKConfig alloc] init]; //示例根据需求使用对应代理 config.globalHandler = [NotifyMessageHandler sharedInstance]; 使用前使用[HWMSdk getSdkConfig]获取初始化对象给属性赋值 1 2 //示例根据需求使用对应代理 [HWMSdk getSdkConfig].globalHandler = [NotifyMessageHandler sharedInstance]; 代理方法必须写在代理对象中 使用代理时保证代理对象存在
-
SDK概述 华为云会议服务为开发者提供Windows、Android、iOS、Mac、Electron、Web的客户端SDK,方便开发者将华为云会议的音频会议、视频会议、桌面共享能力快速集成到自己的应用中。 华为云会议的客户端SDK已经实现了会议中UI界面,包括会场画面显示,会议控制功能,桌面共享等,开发者只需要调用少量接口即可完成华为云会议能力的集成。客户端SDK已经提供的主要UI如下(以Windows SDK为例,其他平台的SDK能力相同,只是界面布局有差异。Web客户端SDK的能力差异较大,详细功能点对比请参考“Android/iOS/Windows/Mac/Web SDK功能对比”)。 会议中的主界面 图1 会中主界面 桌面共享界面 图2 桌面共享界面 会议来电界面 图3 会议来电界面 来电通知界面只有在应用进程没有被系统终止的情况下才能收到来电通知,移动端SDK并不提供VoIP Push能力。 Web端只能主动加入会议,不能被邀请加入会议。 Android/iOS/Windows/Mac/Web SDK功能对比如下: 表1 Android/iOS/Windows/Mac/Web SDK功能对比 分类 功能项 Windows Mac Android iOS Web桌面版 备注 会议管理 会议预约 √ √ √ √ x 接口 创建立即会议 √ √ √ √ x 接口 编辑会议 √ √ √ √ x 接口 取消会议 √ √ √ √ x 接口 会议列表 √ √ √ √ x 接口 查询会议详情 √ √ √ √ x 接口 查询云会议室 √ √ √ √ x 接口 修改云会议室信息 √ √ √ √ x 接口 加入会议 通过会议ID加入会议 √ √ √ √ √ 接口 通过会议链接(Random码)加入会议 √ √ √ √ √ 接口 被邀加入会议 √ √ √ √ x UI 与会者会控 自己麦克风静音 √ √ √ √ √ UI 自己扬声器闭音 √ √ √ √ √ UI 音频设备切换 √ √ √ √ √ UI 摄像头切换 √ √ √ √ √ UI 修改会场名称 √ √ √ √ √ UI 举手 √ √ √ √ √ UI 选看 √ √ √ √ √ UI 离开会议 √ √ √ √ √ UI 主持人会控 全场静音 √ √ √ √ √ UI 静音其他与会者 √ √ √ √ √ UI 移除与会者 √ √ √ √ √ UI 转移主持人 √ √ √ √ √ UI 结束会议 √ √ √ √ √ UI 启动录制 √ √ √ √ √ UI 锁定会议 √ √ √ √ √ UI 锁定共享 √ √ √ √ √ UI 广播单画面 √ √ √ √ √ UI 广播多画面 √ x x x x UI 设置联席主持人 √ √ √ √ x UI 画面布局 桌面:演讲者模式 √ √ - - √ UI 桌面:画廊模式 25画面 25画面 - - 6画面 UI 桌面:画中画模式 √ √ - - x UI 移动:大画面 - - √ √ - UI 移动:均分画面 - - √ √ - UI 语音激励 √ √ √ √ √ UI 视频分辨率 发送最高分辨率 1080P(默认720P) 720P(默认360P) 720P 720P 360P UI 接收最高分辨率 1080P(默认720P) 720P(默认360P) 720P 720P 720P UI 桌面共享分辨率 发送最高分辨率 4K 1080P 4K 4K 1080P UI 接收最高分辨率 4K 1080P 4K 4K 1080P UI 会议共享 发起屏幕共享 √ √ √ √ √ UI 观看屏幕共享 √ √ √ √ √ UI 发起白板共享 √ √ x x x UI 观看白板共享 √ √ √ √ √ UI 发起程序共享 √ √ x x √ UI 观看程序共享 √ √ √ √ √ UI 标注 √ √ √ √ x UI 远程控制 √ √ x x x UI 聊天 聊天窗口 √ √ √ √ √ UI 弹幕 √ √ √ √ √ UI 点对点通话 视频通话 √ √ √ √ x UI 音频通话 √ x √ √ x UI 其他 美颜 √ x √ √ x UI 虚拟背景 √ √ √ √ x UI 语音会议 √ √ √ √ x UI AI字幕 √ √ x x x UI Web SDK仅支持桌面版(Windows和Mac的Chrome浏览器和Safari浏览器),不支持手机版(Android和iOS)。 集成Web SDK时如果需要使用“会议管理”功能,请在服务后台调用服务端API的“会议管理”接口。 Electron SDK的功能与Windows和Mac SDK功能相同。
-
第三方客户端调用Exit接口,需要等待一段时间后才能退出 客户案例: 某客户集成了会议Win SDK,客户应用退出后,发现会议进程仍在运行,exit回调时间很长。 原因分析: 该客户在logout的回调里面调用exit接口,exit接口要等待logout的回调结束才能销毁资源,logout的回调在等exit退出,造成线程死锁,导致如上现象。 正确方案: 在logout回调结束后,再调用exit接口,详见下图。点击查看更多接口调用时序图。 图1 接口调用时序图 父主题: Windows SDK
-
方法定义 1 - (NSView *)socialShareView:(HWMConfStateInfo *)confInfo; 示例代码 - (NSView *)socialShareView:(HWMConfStateInfo *)confDetail { if (!self.socialView) { self.socialView = [[HWMSocialView alloc] initWithFrame:NSMakeRect(0, 0, 500, 300)]; self.socialView.wantsLayer = YES; self.socialView.layer.backgroundColor = [NSColor whiteColor].CGColor; } self.socialView.confDetail = confDetail; return self.socialView; } 表1 参数说明 参数 类型 描述 confInfo HWMConfStateInfo * 会中会议状态详情 表2 HWMConfStateInfo 说明 参数 类型 描述 confId NSString * 会议id。 confSubject NSString * 会议主题。 chairmanPwd NSString * 主持人密码。 generalPwd NSString * 来宾密码。 startTimeStamp NSInteger 会议开始时间,UTC时间戳,精度秒。 endTimeStamp NSInteger 会议开始时间,UTC时间戳,精度秒。 videoConf BOOL 是否是视频会议。 confScheduleName NSString * 预订者姓名。 chairJoinUri NSString * 主持人加入会议uri链接。 guestJoinUri NSString * 普通与会者加入会议uri链接。 vmrConferenceId NSString * VMR会议显示ID。 role HWMConfRoleType 角色。 orgId NSString * 会议所属的企业id。用户判断是否是外部人员入会,登录结果中有个corpId上报,登录的企业ID与会议的企业ID不是一个,说明为外部。 customInfo NSString * 自定义信息(会议详情、会中消息推送可以查看)
-
参数描述 表1 参数说明 参数 类型 描述 thirdAccount NSString * appid登录场景下优先使用此字段。 account NSString * 账号 密码登录场景下 优先使用此字。 number NSString * 跨企业场景优先使用此字段。 completionBlock void(^)(NSError *_Nullable error, NSString *_Nullable headImagePath) 结果回调。
-
方法定义 1 - (void)downloadHeadPortraitWithThirdAccount:(NSString *)thirdAccount account:(NSString *)account number:(nonnull NSString *)number completionBlock:(void(^)(NSError *_Nullable error, NSString *_Nullable headImagePath))completionBlock;
-
方法定义 1 virtual void OnQueryContactAvatar(const char account[HWM_MAX_ACCOUNT_LEN], const char thirdUserId[HWM_MAX_ACCOUNT_LEN], const char sipNumber[HWM_MAX_NUMBER_LEN], char* avatarPath,int pathLen) {};
-
参数描述 表1 参数 类型 描述 account char[] 登录华为云会议的账号信息。 thirdUserId char[] 登录华为云会议的第三方用户Id。 sipNumber char[] 账号对应的sip号码。 avatarPath char* 查询通讯录返回的头像路径。 pathLen int 最大路径长度。 示例代码 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 /** * 查询外部通讯录头像 */ void demoNotifyProc::OnQueryContactAvatar(const char* account, const char* thirdUserId, const char* sipNumber, char* avatarPath, int pathLen) { Cdemo* app = (Cdemo*)AfxGetApp(); if (!app || (strlen(account) == 0 && strlen(thirdUserId) == 0 && strlen(sipNumber) == 0)) { //窗口已经关闭或数据为空 return; } string sAccount = account; string sThirdUserId = thirdUserId; string sSipNumber = sipNumber; /* 根据用户层自己的逻辑 + account thirdUserId sipNumber 获取到头像图片路径信息并复制到avatarPath char数组内*/ // 测试使用时,在D:\\picture\\路径下放置一张图片test.png strcpy_s(avatarPath, pathLen, "D:\\picture\\test.png"); }
-
注意事项 1 收到该通知的前提需要打开 7.5.3.1 表2 frame对象介绍 中的isUseExternalConfInfoWnd开关为true。 2 通知方法OnShowExternalConfInfoWnd中添加线程切换,抛到用户自己线程中,再显示用户自定义的 会议信息框(会议信息框显示需做置顶操作)。 3 显示用户自定义的会议信息框接口中,需要添加定时器检测(2s): 鼠标若未移入自定义会议信息框区域,定时器时间到则销毁会议信息框。 鼠标若移入自定义会议信息框区域,则待鼠标移出信息框区域直接销毁会议信息框。 (若未添加3处理,无法覆盖所有的场景销毁会议信息框)
-
60.11.6更新内容 新增会议支持自动录制,新增允许自动录制会议isAutoRecord字段, 注意:会议开始后是否自动开启录制,默认关闭。开启自动录制会议时必须开启录制会议 创建会议HWMCreateConfParam参数说明 预约会议、编辑会议HWMOrderConfParam参数说明 新增自定义会议来电接听按钮显示 新增SDK库:HWRTCEngine.framework,具体使用请见新增HWRTCEngine库 父主题: 版本更新内容
-
changeVmrInfo 接口描述 该接口用于修改云会议室信息。 注意事项 尽量只修改来宾密码 方法定义 1 - (void)changeVmrInfo:(HWMModifyVMRParam *)info callback:(_Nonnull HWMSDKCompleteHandler)callback; 参数描述 表1 HWMModifyVMRParam参数说明 参数 是否必须 类型 描述 vmrId 是 NSString * 云会议室唯一ID guestPwd 是 NSString * 来宾密码 chairPwd 是 NSString * 主持人密码 vmrName 是 NSString * 云会议室名称 allowGuestStartConf 是 BOOL 允许来宾在主持人之前入会 confAllowJoinUser 否 HWMCallInRestrictionType 允许入会范围 isOpenWaitingRoom 否 BOOL 是否启用等候室 示例代码 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 /// 修改云会议信息 - (void)changeVmrInfo { HWMModifyVMRParam * vmrInfo = [[HWMModifyVMRParam alloc] init]; vmrInfo.guestPwd = getGuestPwd(); vmrInfo.chairPwd = getChairPwd(); vmrInfo.vmrName = getVmrName(); vmrInfo.vmrId = getVmrId(); [[HWMBizSdk getBizOpenApi] changeVmrInfo:vmrInfo callback:^(NSError * _Nullable error, id _Nullable result) { if (error) { NSLog(@"%@", error.localizedDescription); } else { NSLog(@"修改成功"); } }]; }
-
cancelConf 接口描述 该接口用于取消预约的会议。 注意事项 只有主持人可以取消会议 会中调用会结束会议 方法定义 1 - (void)cancelConf:(NSString *_Nonnull)confId callback:(_Nonnull HWMSDKCompleteHandler)callback; 参数描述 表1 参数说明 参数 是否必须 类型 描述 confId 是 NSString * 会议ID。 示例代码 1 2 3 4 5 6 7 8 9 10 /// 取消会议 - (void)cancelConf { [[HWMBizSdk getBizOpenApi] cancelConf:@"986927771" callback:^(NSError * _Nullable error, id _Nullable result) { if (error) { NSLog(@"%@",error.localizedDescription); } else { NSLog(@"取消会议成功"); } }]; }
-
editConf 接口描述 该接口用于编辑未开始的预约会议。 注意事项 会议未开始前且自己是主持人才可以调用接口。 预约会议中携带的与会者在编辑会议时需要传入userUuid(会议详情中每个与会者带有该参数)。 开启自动录制会议时必须开启录制会议。 所有字段必填,编辑修改的字段可来源于用户输入,其他不想修改的属性通过会议详情参数获取。 方法定义 1 - (void)editConf:(HWMOrderConfParam *_Nonnull)param callback:(_Nonnull HWMSDKCompleteHandler)callback; 参数描述 表1 HWMOrderConfParam参数说明,其余参数参见预约会议 参数 是否必须 类型 描述 confId 是 NSString * 会议ID。 isLiveOn 否 BOOL 是否开启直播。 示例代码 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 /// 编辑会议 - (void)editConf { HWMOrderConfParam * param = [[HWMOrderConfParam alloc] init]; param.confSubject = @"会议名称"; param.startTime = 1598759580; param.duration = 15; param.confType = HWMConfTypeVideo; param.isNeedConfPwd = YES; param.isRecordOn = NO; param.timeZone = 56; param.vmrId = @"";// vmr会议需要传入vmrId param.callInRestrictionType = HWMCallRestrictionAll; param.confId = @"986927771"; [[HWMBizSdk getBizOpenApi] editConf:param callback:^(NSError *_Nullable error, id _Nullable result) { if (error) { NSLog(@"编辑会议失败:%@", error.localizedDescription); } else { NSLog(@"编辑会议成功"); } }]; }
-
isOpenMicrophoneIncoming 接口描述 该接口用于自定义被邀入会时麦克风的开关状态。 注意事项 如果设置除主持人外的与会方入会后自动静音则该自定义无效果; 方法定义 1 - (BOOL)isOpenMicrophoneIncoming; 参数描述 无 示例代码 1 2 3 4 /// 被邀入会时是否打开麦克风 - (BOOL)isOpenMicrophoneIncoming { return NO; }
-
joinConf 接口描述 该接口用于通过会议ID和密码加入已经存在的会议。加入会议的方式有两种: 会议ID+会议密码入会:手动输入会议ID和会议密码密码。 会议ID+Random入会:通过邮件会议通知中的会议链接入会时(会议链接如:https://bmeeting.huaweicloud.com/#/j/981924330/e11ddec62ee760734fcf2ba55b79937eac2aa68677caf659),链接里面的是会议ID(即举例中的981924330)和会议的Random码(即举例中的e11ddec62ee760734fcf2ba55b79937eac2aa68677caf659)。 注意事项 ID入会参数使用子类HWMJoinConfParam,random入会参数使用子类HWMRandomConfParam 在登录和未登录状态下都可以调用该接口。 实际业务处理结果在对应的callback回调中。 方法定义 1 - (void)joinConf:(HWMBaseJoinConfParam * _Nonnull)param callback:(_Nonnull HWMSDKCompleteHandler)callback; 参数描述 表1 HWMBaseJoinConfParam 参数 是否必须 类型 描述 confId 是 NSString * 会议ID。 nickname 否 NSString * 会议昵称。在已登录状态下可为空,已登录时为空将使用登录的用户名作为会场名。 isCameraOn 是 BOOL 是否打开摄像头,默认关闭。 isMicOn 是 BOOL 是否打开麦克风,默认打开。 表2 HWMJoinConfParam参数说明,继承HWMBaseJoinConfParam 参数 是否必须 类型 描述 password 否 NSString * 会议密码。若希望以主持人身份入会,必须传入主持人密码。若希望以来宾身份入会,会议要求来宾密码时,必须传入来宾密码,会议不要求来宾密码时,可以为空。 isStopConflictConf 否 BOOL 强制结束和当前VMR会议资源冲突的会议(必须是vmr资源的拥有者才有权限,否则无效) 表3 HWMRandomConfParam参数说明,继承HWMBaseJoinConfParam 参数 是否必须 类型 描述 random 是 NSString * random入会时传入。 domain 否 NSString * 域名 。离线入会时使用。 示例代码 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 /// 加入会议 - (void)joinMeeting { HWMJoinConfParam *param = [[HWMJoinConfParam alloc] init]; param.confId = getConfId(); param.password = getPassword(); param.nickname = getNickName(); param.isCameraOn = NO; param.isMicOn = YES; [[HWMSdk getOpenApi] joinConf:param callback:^(NSError * _Nullable error, id _Nullable result) { if (error) { NSLog(@"入会失败%@", error.localizedDescription); }else{ NSLog(@"入会成功"); } }]; } /// random入会 - (void)joinMeetingByRandom { HWMRandomConfParam *param = [[HWMRandomConfParam alloc] init]; param.confId = getConfId(); param.random = getRandom(); param.nickname = getNickName(); param.isCameraOn = NO; param.isMicOn = YES; [[HWMSdk getOpenApi] joinConf:param callback:^(NSError * _Nullable error, id _Nullable result) { [self hideLoading]; if (error) { NSLog(@"入会失败%@", error.localizedDescription); }else{ NSLog(@"入会成功"); } }]; }
-
screenShareCoverView 接口描述 该接口用于屏幕共享/白板共享设置水印。该水印是在接收端叠加到共享内容上的。服务器上配置后才会显示水印。 1、在桌面共享、程序共享、白板共享的接收端叠加水印图片,只有服务器上会中水印打开的情况下自定义水印才生效。如果不自定义,默认按照手机号、邮箱、会议ID+昵称优先级顺序显示,字体透明度10%。 2、自定义水印时用户截屏时会有弹窗提示,如果不需要在初始化时配置关闭。 图1 设置水印效果,图片仅为示例 注意事项 注意不要添加全局手势。 自定义视图为全屏View,在共享视图上层,请设置合适透明度防止遮盖分享信息。 自定义弹窗提示是否需要关闭需在SDK初始化时配置参数enablePromptUserScreenshot 方法定义 1 - (UIView *)screenShareCoverView; 参数描述 无 返回值 无 示例代码 1 2 3 4 5 6 7 /// 屏幕共享/白板共享的设置水印。注意不要添加全局手势 - (UIView *)screenShareCoverView { UIImageView *coverImgView = [[UIImageView alloc] init]; coverImgView.image = [UIImage imageNamed:@"img"]; coverImgView.alpha = 0.2; return coverImgView; }
-
queryContactAvatarWithAccount:thirdUserId:number:completionBlock: 接口描述 该接口用于定制登录后的会中头像显示。 图1 生效后拦截头像显示效果 注意事项 未登录的头像不支持自定义。 方法定义 1 2 - (void)queryContactAvatarWithAccount:(NSString *)account thirdUserId:(NSString *)thirdUserId number:(NSString *)number completionBlock:(void(^)(NSError * _Nullable error, UIImage * _Nullable avatarImage))completionBlock; 参数描述 表1 参数 类型 描述 account NSString * 账号密码登录场景下优先使用此字段 thirdUserId NSString * appid登录场景下优先使用此字段 number NSString * 跨企业场景优先使用此字段 返回值 无 示例代码 1 2 3 4 5 6 7 /// 拦截头像显示 - (void)queryContactAvatarWithAccount:(NSString *)account thirdUserId:(NSString *)thirdUserId number:(nonnull NSString *)number completionBlock:(void(^)(NSError * _Nullable error, UIImage * _Nullable avatarImage))completionBlock { /// 根据account或者thirdUserId 设置图片,下面的仅为示例代码 UIImage *image = [UIImage imageNamed:@"custom_conf_setting"]; completionBlock(nil, image); }
-
getBrandName 接口描述 该接口用于设置会议二维码分享页面品牌名。 图3 自定义二维码分享品牌名 注意事项 跟shareConf:isAnonymous:inCtrl不能同时使用,同时使用getBrandName方法无效果。 方法定义 1 - (NSString *)getBrandName; 参数描述 参数 类型 描述 getBrandName NSString * 会议二维码分享页面品牌名。 返回值 无 示例代码 1 2 3 4 /// 设置会议二维码分享页面品牌名 - (NSString *)getBrandName { return @"集成品牌名"; }
-
shareConf:isAnonymous:inCtrl 接口描述 该接口用于分享会议拦截处理。实现代理后会拦截SDK默认的分享弹窗,如下图红框标注。 图1 分享拦截SDK弹窗 注意事项 如果实现该协议方法,则会中调用分享功能,会回调到该方法。 shareConf:isAnonymous:inCtrl方法实现后,SDK内部分享UI和会议二维码不显示,所以getShareLogoImages、getBrandName设置无效果。 方法定义 1 - (void)shareConf:(HWMConfDetail *)confInfo isAnonymous:(BOOL)isAnonymous inCtrl:(UIViewController *)controller; 参数描述 表1 参数说明 参数 类型 描述 confInfo HWMConfDetail * 会议信息 isAnonymous BOOL 是否匿名入会 controller UIViewController * 当前的vc,接入方可以在当前controller上弹出自己的定制分享页面 表2 HWMConfDetail 说明 参数 类型 描述 confId NSString * 会议id。 confSubject NSString * 会议主题。 accessNumber NSString * 会议接入码。 chairmanPwd NSString * 主持人密码。 generalPwd NSString * 来宾密码。 startTime NSString * 会议开始时间 endTime NSString * 会议结束时间 返回值 无 示例代码 1 2 3 4 5 6 7 8 /// 生效后会拦截SDK内部分享弹窗 - (void)shareConf:(HWMConfDetail *)confInfo isAnonymous:(BOOL)isAnonymous inCtrl:(UIViewController *)controller { NSLog(@"enter share conf"); ShareView *shareView = [[ShareView alloc] init]; [shareView showShareView:^(NSInteger index) { [UIUtil showMessage:[NSString stringWithFormat:@"点击了第%zd个按钮", index + 1]]; }]; }
-
清除界面配置 设置相关的代理后如果需要清除对应代理,可以置为nil,根据需求在对应位置设置。 1 2 3 4 5 6 [HWMSdk getSdkConfig].socialShareHandler = nil; // 可选,社交分享定制代理,用于定制会中分享能力 [HWMSdk getSdkConfig].audioConfToolBarHandler = nil; // 可选,音频会议会控菜单定制代理 [HWMSdk getSdkConfig].videoConfToolBarHandler = nil; // 可选,视频会议会控菜单定制代理 [HWMSdk getSdkConfig].participantListMenuHandler = nil; // 可选,与会者列表菜单定制代理 [HWMSdk getSdkConfig].confTitleBarMenuHandler = nil; // 可选,会议页面顶部titlebar菜单定制 [HWMSdk getSdkConfig].contactUIHandler = nil; // 可选,联系人UI 定制代理 父主题: 界面定制
-
uploadSelfAvatarWithFilePath:callback: 接口描述 该接口用于上传用户自己头像。 注意事项 文件路径为头像路径。 大小限制200k。 只支持jpg、png。 为了头像展示效果,建议图片宽高比为1:1。 回调error表示错误信息,nil表示成功。 方法定义 1 - (void)uploadSelfAvatarWithFilePath:(NSString *_Nullable)filePath callback:(_Nonnull HWMSDKCompleteHandler)callback; 参数描述 表1 参数 是否必须 类型 描述 filePath 否 NSString * 头像文件路径 返回值 无 示例代码 1 2 3 4 5 6 7 8 9 10 /// 上传用户个人头像 - (void)uploadSelfAvatar { [[HWMBizSdk getBizOpenApi] uploadSelfAvatarWithFilePath:self.headImgPath callback:^(NSError * _Nullable error, id _Nullable result) { if (error) { [UIUtil showMessage:[NSString stringWithFormat:@"上传失败%@", error.localizedDescription]]; } else { [UIUtil showMessage:@"上传成功"]; } }]; }
-
logout 接口描述 该接口用于退出已登录的会议账号。 注意事项 请在已登录的场景下调用。 回调error表示错误信息,nil表示成功。 方法定义 1 - (void)logout:(_Nonnull HWMSDKLogoutCompleteHandler)callback; 参数描述 无。 返回值 表1 退出返回HWMLogoutResult 参数 类型 描述 userUuid NSString * 账号uuid account NSString * 登录账号 thirdAccount NSString * appid登录的三方账号 示例代码 1 2 3 4 5 6 7 8 9 10 /// 退出登录 - (void)logout { [[HWMSdk getOpenApi] logout:^(NSError * _Nullable error, HWMLogoutResult * _Nullable result) { if (error == nil) { NSLog(@"登出成功"); } else { NSLog(@"登出失败"); } }]; }
-
login:password: 接口描述 该接口用于通过账号密码鉴权登录。 注意事项 创建会议,被邀入会等功能只有在登录后才能使用,若不登录,将无法体验完整会议功能。 回调error表示错误信息,nil表示成功。 方法定义 1 - (void)login:( NSString * _Nonnull )account password:( NSString * _Nonnull )password callback:(_Nonnull HWMSDKLoginCompleteHandler)callback;
-
loginBySSO: 接口描述 该接口用于通过SSO鉴权登录。 注意事项 创建会议,被邀入会等功能只有在登录后才能使用,若不登录,将无法体验完整会议功能。 回调error表示错误信息,nil表示成功。 方法定义 1 - (void)loginBySSO:(HWMSSOLoginParam)param callback:(_Nonnull HWMSDKLoginCompleteHandler)callback;
-
示例代码 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 /// AppId 登录接口 - (void)login { HWMAppIDLoginParam *appidInfo = [[HWMAppIDLoginParam alloc] init]; appidInfo.thirdUserId = getThirdUserId(); appidInfo.expireTime = 1599618620; appidInfo.nonce = getNonce(); appidInfo.userName = getUserName(); appidInfo.signature = getSignature(); [[HWMSdk getOpenApi] login:appidInfo callback:^(NSError * _Nullable error, HWMLoginResult * _Nullable result) { if (error == nil) { NSLog(@"登录成功"); }else{ NSLog(@"登录失败"); } }]; }
-
2. 异步初始化业务流程 注册监听 在Application中注册Activity生命周期的监听: registerActivityLifecycleCallbacks(new ActivityLifecycleHandle()); 接口调用 调用HWMSdk.initAsync(Application, OpenSDKConfig, SdkCallback) 异步初始化SDK。在初始化之前我们可以对SDK进行自定义的相关设置,设置步骤和示例代码请浏览5.3-8SDK初始化 回调处理 监听onSuccess回调,确保Android SDK初始化完成后再进行其他接口的调用。
-
服务的访问控制 身份认证 用户访问DSC的方式有多种,包括DSC控制台、API、SDK,无论访问方式封装成何种形式,其本质都是通过DSC提供的REST风格的API接口进行请求。 DSC的接口需要经过认证请求后才可以访问成功。DSC支持两种认证方式: Token认证:通过Token认证调用请求,访问DSC控制台默认使用Token认证机制。 AK/SK认证:通过AK(Access Key ID)/SK(Secret Access Key)加密调用请求。推荐使用AK/SK认证,其安全性比Token认证要高。 关于认证鉴权的详细介绍及获取方式,请参见认证鉴权。 访问控制 DSC支持通过权限控制( IAM 权限)进行访问控制。 表1 DSC访问控制 访问控制方式 简要说明 详细介绍 权限控制 IAM权限 IAM权限是作用于云资源的,IAM权限定义了允许和拒绝的访问操作,以此实现云资源权限访问控制。管理员创建IAM用户后,需要将其加入用户组,并给用户组授予策略或角色,才能使得用户组中的用户获得对应的权限。 IAM产品介绍 DSC权限管理 DSC权限管理(细粒度) 父主题: 身份认证和访问控制
共100000条
- 1
- ...
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
- 95
- 96
- 97
- 98
- 99
- 100
- 101
- 102
- 103
- 104
- 105
- 106
- 107
- 108
- 109
- 110
- 111
- 112
- 113
- 114
- 115
- 116
- 117
- 118
- 119
- 120
- 121
- 122
- 123
- 124
- 125
- 126
- 127
- 128
- 129
- 130
- 131
- 132
- 133
- 134
- 135
- 136
- 137
- 138
- 139
- 140
- 141
- 142
- 143
- 144
- 145
- 146
- 147
- 148
- 149
- 150
- 151
- 152
- 153
- 154
- 155
- 156
- 157
- 158
- 159
- 160
- 161
- 162
- 163
- 164
- 165
- 166
- 167
- 168
- 169
- 170
- 171
- 172
- 173
- 174
- 175
- 176
- 177
- 178
- 179
- 180
- 181
- 182
- 183
- 184
- 185
- 186
- 187
- 188
- 189
- 190
- 191
- 192
- 193
- 194
- 195
- 196
- 197
- 198
- 199
- 200
- 201
- 202
- 203
- 204
- 205
- 206
- 207
- 208
- 209
- 210
- 211
- 212
- 213
- 214
- 215
- 216
- 217
- 218
- 219
- 220
- 221
- 222
- 223
- 224
- 225
- 226
- 227
- 228
- 229
- 230
- 231
- 232
- 233
- 234
- 235
- 236
- 237
- 238
- 239
- 240
- 241
- 242
- 243
- 244
- 245
- 246
- 247
- 248
- 249
- 250
- 251
- 252
- 253
- 254
- 255
- 256
- 257
- 258
- 259
- 260
- 261
- 262
- 263
- 264
- 265
- 266
- 267
- 268
- 269
- 270
- 271
- 272
- 273
- 274
- 275
- 276
- 277
- 278
- 279
- 280
- 281
- 282
- 283
- 284
- 285
- 286
- 287
- 288
- 289
- 290
- 291
- 292
- 293
- 294
- 295
- 296
- 297
- 298
- 299
- 300
- 301
- 302
- 303
- 304
- 305
- 306
- 307
- 308
- 309
- 310
- 311
- 312
- 313
- 314
- 315
- 316
- 317
- 318
- 319
- 320
- 321
- 322
- 323
- 324
- 325
- 326
- 327
- 328
- 329
- 330
- 331
- 332
- 333
- 334
- 335
- 336
- 337
- 338
- 339
- 340
- 341
- 342
- 343
- 344
- 345
- 346
- 347
- 348
- 349
- 350
- 351
- 352
- 353
- 354
- 355
- 356
- 357
- 358
- 359
- 360
- 361
- 362
- 363
- 364
- 365
- 366
- 367
- 368
- 369
- 370
- 371
- 372
- 373
- 374
- 375
- 376
- 377
- 378
- 379
- 380
- 381
- 382
- 383
- 384
- 385
- 386
- 387
- 388
- 389
- 390
- 391
- 392
- 393
- 394
- 395
- 396
- 397
- 398
- 399
- 400
- 401
- 402
- 403
- 404
- 405
- 406
- 407
- 408
- 409
- 410
- 411
- 412
- 413
- 414
- 415
- 416
- 417
- 418
- 419
- 420
- 421
- 422
- 423
- 424
- 425
- 426
- 427
- 428
- 429
- 430
- 431
- 432
- 433
- 434
- 435
- 436
- 437
- 438
- 439
- 440
- 441
- 442
- 443
- 444
- 445
- 446
- 447
- 448
- 449
- 450
- 451
- 452
- 453
- 454
- 455
- 456
- 457
- 458
- 459
- 460
- 461
- 462
- 463
- 464
- 465
- 466
- 467
- 468
- 469
- 470
- 471
- 472
- 473
- 474
- 475
- 476
- 477
- 478
- 479
- 480
- 481
- 482
- 483
- 484
- 485
- 486
- 487
- 488
- 489
- 490
- 491
- 492
- 493
- 494
- 495
- 496
- 497
- 498
- 499
- 500
- 501
- 502
- 503
- 504
- 505
- 506
- 507
- 508
- 509
- 510
- 511
- 512
- 513
- 514
- 515
- 516
- 517
- 518
- 519
- 520
- 521
- 522
- 523
- 524
- 525
- 526
- 527
- 528
- 529
- 530
- 531
- 532
- 533
- 534
- 535
- 536
- 537
- 538
- 539
- 540
- 541
- 542
- 543
- 544
- 545
- 546
- 547
- 548
- 549
- 550
- 551
- 552
- 553
- 554
- 555
- 556
- 557
- 558
- 559
- 560
- 561
- 562
- 563
- 564
- 565
- 566
- 567
- 568
- 569
- 570
- 571
- 572
- 573
- 574
- 575
- 576
- 577
- 578
- 579
- 580
- 581
- 582
- 583
- 584
- 585
- 586
- 587
- 588
- 589
- 590
- 591
- 592
- 593
- 594
- 595
- 596
- 597
- 598
- 599
- 600
- 601
- 602
- 603
- 604
- 605
- 606
- 607
- 608
- 609
- 610
- 611
- 612
- 613
- 614
- 615
- 616
- 617
- 618
- 619
- 620
- 621
- 622
- 623
- 624
- 625
- 626
- 627
- 628
- 629
- 630
- 631
- 632
- 633
- 634
- 635
- 636
- 637
- 638
- 639
- 640
- 641
- 642
- 643
- 644
- 645
- 646
- 647
- 648
- 649
- 650
- 651
- 652
- 653
- 654
- 655
- 656
- 657
- 658
- 659
- 660
- 661
- 662
- 663
- 664
- 665
- 666
- 667
- 668
- 669
- 670
- 671
- 672
- 673
- 674
- 675
- 676
- 677
- 678
- 679
- 680
- 681
- 682
- 683
- 684
- 685
- 686
- 687
- 688
- 689
- 690
- 691
- 692
- 693
- 694
- 695
- 696
- 697
- 698
- 699
- 700
- 701
- 702
- 703
- 704
- 705
- 706
- 707
- 708
- 709
- 710
- 711
- 712
- 713
- 714
- 715
- 716
- 717
- 718
- 719
- 720
- 721
- 722
- 723
- 724
- 725
- 726
- 727
- 728
- 729
- 730
- 731
- 732
- 733
- 734
- 735
- 736
- 737
- 738
- 739
- 740
- 741
- 742
- 743
- 744
- 745
- 746
- 747
- 748
- 749
- 750
- 751
- 752
- 753
- 754
- 755
- 756
- 757
- 758
- 759
- 760
- 761
- 762
- 763
- 764
- 765
- 766
- 767
- 768
- 769
- 770
- 771
- 772
- 773
- 774
- 775
- 776
- 777
- 778
- 779
- 780
- 781
- 782
- 783
- 784
- 785
- 786
- 787
- 788
- 789
- 790
- 791
- 792
- 793
- 794
- 795
- 796
- 797
- 798
- 799
- 800
- 801
- 802
- 803
- 804
- 805
- 806
- 807
- 808
- 809
- 810
- 811
- 812
- 813
- 814
- 815
- 816
- 817
- 818
- 819
- 820
- 821
- 822
- 823
- 824
- 825
- 826
- 827
- 828
- 829
- 830
- 831
- 832
- 833
- 834
- 835
- 836
- 837
- 838
- 839
- 840
- 841
- 842
- 843
- 844
- 845
- 846
- 847
- 848
- 849
- 850
- 851
- 852
- 853
- 854
- 855
- 856
- 857
- 858
- 859
- 860
- 861
- 862
- 863
- 864
- 865
- 866
- 867
- 868
- 869
- 870
- 871
- 872
- 873
- 874
- 875
- 876
- 877
- 878
- 879
- 880
- 881
- 882
- 883
- 884
- 885
- 886
- 887
- 888
- 889
- 890
- 891
- 892
- 893
- 894
- 895
- 896
- 897
- 898
- 899
- 900
- 901
- 902
- 903
- 904
- 905
- 906
- 907
- 908
- 909
- 910
- 911
- 912
- 913
- 914
- 915
- 916
- 917
- 918
- 919
- 920
- 921
- 922
- 923
- 924
- 925
- 926
- 927
- 928
- 929
- 930
- 931
- 932
- 933
- 934
- 935
- 936
- 937
- 938
- 939
- 940
- 941
- 942
- 943
- 944
- 945
- 946
- 947
- 948
- 949
- 950
- 951
- 952
- 953
- 954
- 955
- 956
- 957
- 958
- 959
- 960
- 961
- 962
- 963
- 964
- 965
- 966
- 967
- 968
- 969
- 970
- 971
- 972
- 973
- 974
- 975
- 976
- 977
- 978
- 979
- 980
- 981
- 982
- 983
- 984
- 985
- 986
- 987
- 988
- 989
- 990
- 991
- 992
- 993
- 994
- 995
- 996
- 997
- 998
- 999
- 1000
- 1001
- 1002
- 1003
- 1004
- 1005
- 1006
- 1007
- 1008
- 1009
- 1010
- 1011
- 1012
- 1013
- 1014
- 1015
- 1016
- 1017
- 1018
- 1019
- 1020
- 1021
- 1022
- 1023
- 1024
- 1025
- 1026
- 1027
- 1028
- 1029
- 1030
- 1031
- 1032
- 1033
- 1034
- 1035
- 1036
- 1037
- 1038
- 1039
- 1040
- 1041
- 1042
- 1043
- 1044
- 1045
- 1046
- 1047
- 1048
- 1049
- 1050
- 1051
- 1052
- 1053
- 1054
- 1055
- 1056
- 1057
- 1058
- 1059
- 1060
- 1061
- 1062
- 1063
- 1064
- 1065
- 1066
- 1067
- 1068
- 1069
- 1070
- 1071
- 1072
- 1073
- 1074
- 1075
- 1076
- 1077
- 1078
- 1079
- 1080
- 1081
- 1082
- 1083
- 1084
- 1085
- 1086
- 1087
- 1088
- 1089
- 1090
- 1091
- 1092
- 1093
- 1094
- 1095
- 1096
- 1097
- 1098
- 1099
- 1100
- 1101
- 1102
- 1103
- 1104
- 1105
- 1106
- 1107
- 1108
- 1109
- 1110
- 1111
- 1112
- 1113
- 1114
- 1115
- 1116
- 1117
- 1118
- 1119
- 1120
- 1121
- 1122
- 1123
- 1124
- 1125
- 1126
- 1127
- 1128
- 1129
- 1130
- 1131
- 1132
- 1133
- 1134
- 1135
- 1136
- 1137
- 1138
- 1139
- 1140
- 1141
- 1142
- 1143
- 1144
- 1145
- 1146
- 1147
- 1148
- 1149
- 1150
- 1151
- 1152
- 1153
- 1154
- 1155
- 1156
- 1157
- 1158
- 1159
- 1160
- 1161
- 1162
- 1163
- 1164
- 1165
- ...
- 1166
- 1167
- 1168
- 1169
- 1170
- 1171
- 1172
- 1173
- 1174
- 1175
- 1176
- 1177
- 1178
- 1179
- 1180
- 1181
- 1182
- 1183
- 1184
- 1185
- 1186
- 1187
- 1188
- 1189
- 1190
- 1191
- 1192
- 1193
- 1194
- 1195
- 1196
- 1197
- 1198
- 1199
- 1200
- 1201
- 1202
- 1203
- 1204
- 1205
- 1206
- 1207
- 1208
- 1209
- 1210
- 1211
- 1212
- 1213
- 1214
- 1215
- 1216
- 1217
- 1218
- 1219
- 1220
- 1221
- 1222
- 1223
- 1224
- 1225
- 1226
- 1227
- 1228
- 1229
- 1230
- 1231
- 1232
- 1233
- 1234
- 1235
- 1236
- 1237
- 1238
- 1239
- 1240
- 1241
- 1242
- 1243
- 1244
- 1245
- 1246
- 1247
- 1248
- 1249
- 1250
- 1251
- 1252
- 1253
- 1254
- 1255
- 1256
- 1257
- 1258
- 1259
- 1260
- 1261
- 1262
- 1263
- 1264
- 1265
- 1266
- 1267
- 1268
- 1269
- 1270
- 1271
- 1272
- 1273
- 1274
- 1275
- 1276
- 1277
- 1278
- 1279
- 1280
- 1281
- 1282
- 1283
- 1284
- 1285
- 1286
- 1287
- 1288
- 1289
- 1290
- 1291
- 1292
- 1293
- 1294
- 1295
- 1296
- 1297
- 1298
- 1299
- 1300
- 1301
- 1302
- 1303
- 1304
- 1305
- 1306
- 1307
- 1308
- 1309
- 1310
- 1311
- 1312
- 1313
- 1314
- 1315
- 1316
- 1317
- 1318
- 1319
- 1320
- 1321
- 1322
- 1323
- 1324
- 1325
- 1326
- 1327
- 1328
- 1329
- 1330
- 1331
- 1332
- 1333
- 1334
- 1335
- 1336
- 1337
- 1338
- 1339
- 1340
- 1341
- 1342
- 1343
- 1344
- 1345
- 1346
- 1347
- 1348
- 1349
- 1350
- 1351
- 1352
- 1353
- 1354
- 1355
- 1356
- 1357
- 1358
- 1359
- 1360
- 1361
- 1362
- 1363
- 1364
- 1365
- 1366
- 1367
- 1368
- 1369
- 1370
- 1371
- 1372
- 1373
- 1374
- 1375
- 1376
- 1377
- 1378
- 1379
- 1380
- 1381
- 1382
- 1383
- 1384
- 1385
- 1386
- 1387
- 1388
- 1389
- 1390
- 1391
- 1392
- 1393
- 1394
- 1395
- 1396
- 1397
- 1398
- 1399
- 1400
- 1401
- 1402
- 1403
- 1404
- 1405
- 1406
- 1407
- 1408
- 1409
- 1410
- 1411
- 1412
- 1413
- 1414
- 1415
- 1416
- 1417
- 1418
- 1419
- 1420
- 1421
- 1422
- 1423
- 1424
- 1425
- 1426
- 1427
- 1428
- 1429
- 1430
- 1431
- 1432
- 1433
- 1434
- 1435
- 1436
- 1437
- 1438
- 1439
- 1440
- 1441
- 1442
- 1443
- 1444
- 1445
- 1446
- 1447
- 1448
- 1449
- 1450
- 1451
- 1452
- 1453
- 1454
- 1455
- 1456
- 1457
- 1458
- 1459
- 1460
- 1461
- 1462
- 1463
- 1464
- 1465
- 1466
- 1467
- 1468
- 1469
- 1470
- 1471
- 1472
- 1473
- 1474
- 1475
- 1476
- 1477
- 1478
- 1479
- 1480
- 1481
- 1482
- 1483
- 1484
- 1485
- 1486
- 1487
- 1488
- 1489
- 1490
- 1491
- 1492
- 1493
- 1494
- 1495
- 1496
- 1497
- 1498
- 1499
- 1500
- 1501
- 1502
- 1503
- 1504
- 1505
- 1506
- 1507
- 1508
- 1509
- 1510
- 1511
- 1512
- 1513
- 1514
- 1515
- 1516
- 1517
- 1518
- 1519
- 1520
- 1521
- 1522
- 1523
- 1524
- 1525
- 1526
- 1527
- 1528
- 1529
- 1530
- 1531
- 1532
- 1533
- 1534
- 1535
- 1536
- 1537
- 1538
- 1539
- 1540
- 1541
- 1542
- 1543
- 1544
- 1545
- 1546
- 1547
- 1548
- 1549
- 1550
- 1551
- 1552
- 1553
- 1554
- 1555
- 1556
- 1557
- 1558
- 1559
- 1560
- 1561
- 1562
- 1563
- 1564
- 1565
- 1566
- 1567
- 1568
- 1569
- 1570
- 1571
- 1572
- 1573
- 1574
- 1575
- 1576
- 1577
- 1578
- 1579
- 1580
- 1581
- 1582
- 1583
- 1584
- 1585
- 1586
- 1587
- 1588
- 1589
- 1590
- 1591
- 1592
- 1593
- 1594
- 1595
- 1596
- 1597
- 1598
- 1599
- 1600
- 1601
- 1602
- 1603
- 1604
- 1605
- 1606
- 1607
- 1608
- 1609
- 1610
- 1611
- 1612
- 1613
- 1614
- 1615
- 1616
- 1617
- 1618
- 1619
- 1620
- 1621
- 1622
- 1623
- 1624
- 1625
- 1626
- 1627
- 1628
- 1629
- 1630
- 1631
- 1632
- 1633
- 1634
- 1635
- 1636
- 1637
- 1638
- 1639
- 1640
- 1641
- 1642
- 1643
- 1644
- 1645
- 1646
- 1647
- 1648
- 1649
- 1650
- 1651
- 1652
- 1653
- 1654
- 1655
- 1656
- 1657
- 1658
- 1659
- 1660
- 1661
- 1662
- 1663
- 1664
- 1665
- 1666
- 1667
- 1668
- 1669
- 1670
- 1671
- 1672
- 1673
- 1674
- 1675
- 1676
- 1677
- 1678
- 1679
- 1680
- 1681
- 1682
- 1683
- 1684
- 1685
- 1686
- 1687
- 1688
- 1689
- 1690
- 1691
- 1692
- 1693
- 1694
- 1695
- 1696
- 1697
- 1698
- 1699
- 1700
- 1701
- 1702
- 1703
- 1704
- 1705
- 1706
- 1707
- 1708
- 1709
- 1710
- 1711
- 1712
- 1713
- 1714
- 1715
- 1716
- 1717
- 1718
- 1719
- 1720
- 1721
- 1722
- 1723
- 1724
- 1725
- 1726
- 1727
- 1728
- 1729
- 1730
- 1731
- 1732
- 1733
- 1734
- 1735
- 1736
- 1737
- 1738
- 1739
- 1740
- 1741
- 1742
- 1743
- 1744
- 1745
- 1746
- 1747
- 1748
- 1749
- 1750
- 1751
- 1752
- 1753
- 1754
- 1755
- 1756
- 1757
- 1758
- 1759
- 1760
- 1761
- 1762
- 1763
- 1764
- 1765
- 1766
- 1767
- 1768
- 1769
- 1770
- 1771
- 1772
- 1773
- 1774
- 1775
- 1776
- 1777
- 1778
- 1779
- 1780
- 1781
- 1782
- 1783
- 1784
- 1785
- 1786
- 1787
- 1788
- 1789
- 1790
- 1791
- 1792
- 1793
- 1794
- 1795
- 1796
- 1797
- 1798
- 1799
- 1800
- 1801
- 1802
- 1803
- 1804
- 1805
- 1806
- 1807
- 1808
- 1809
- 1810
- 1811
- 1812
- 1813
- 1814
- 1815
- 1816
- 1817
- 1818
- 1819
- 1820
- 1821
- 1822
- 1823
- 1824
- 1825
- 1826
- 1827
- 1828
- 1829
- 1830
- 1831
- 1832
- 1833
- 1834
- 1835
- 1836
- 1837
- 1838
- 1839
- 1840
- 1841
- 1842
- 1843
- 1844
- 1845
- 1846
- 1847
- 1848
- 1849
- 1850
- 1851
- 1852
- 1853
- 1854
- 1855
- 1856
- 1857
- 1858
- 1859
- 1860
- 1861
- 1862
- 1863
- 1864
- 1865
- 1866
- 1867
- 1868
- 1869
- 1870
- 1871
- 1872
- 1873
- 1874
- 1875
- 1876
- 1877
- 1878
- 1879
- 1880
- 1881
- 1882
- 1883
- 1884
- 1885
- 1886
- 1887
- 1888
- 1889
- 1890
- 1891
- 1892
- 1893
- 1894
- 1895
- 1896
- 1897
- 1898
- 1899
- 1900
- 1901
- 1902
- 1903
- 1904
- 1905
- 1906
- 1907
- 1908
- 1909
- 1910
- 1911
- 1912
- 1913
- 1914
- 1915
- 1916
- 1917
- 1918
- 1919
- 1920
- 1921
- 1922
- 1923
- 1924
- 1925
- 1926
- 1927
- 1928
- 1929
- 1930
- 1931
- 1932
- 1933
- 1934
- 1935
- 1936
- 1937
- 1938
- 1939
- 1940
- 1941
- 1942
- 1943
- 1944
- 1945
- 1946
- 1947
- 1948
- 1949
- 1950
- 1951
- 1952
- 1953
- 1954
- 1955
- 1956
- 1957
- 1958
- 1959
- 1960
- 1961
- 1962
- 1963
- 1964
- 1965
- 1966
- 1967
- 1968
- 1969
- 1970
- 1971
- 1972
- 1973
- 1974
- 1975
- 1976
- 1977
- 1978
- 1979
- 1980
- 1981
- 1982
- 1983
- 1984
- 1985
- 1986
- 1987
- 1988
- 1989
- 1990
- 1991
- 1992
- 1993
- 1994
- 1995
- 1996
- 1997
- 1998
- 1999
- 2000
- 2001
- 2002
- 2003
- 2004
- 2005
- 2006
- 2007
- 2008
- 2009
- 2010
- 2011
- 2012
- 2013
- 2014
- 2015
- 2016
- 2017
- 2018
- 2019
- 2020
- 2021
- 2022
- 2023
- 2024
- 2025
- 2026
- 2027
- 2028
- 2029
- 2030
- 2031
- 2032
- 2033
- 2034
- 2035
- 2036
- 2037
- 2038
- 2039
- 2040
- 2041
- 2042
- 2043
- 2044
- 2045
- 2046
- 2047
- 2048
- 2049
- 2050
- 2051
- 2052
- 2053
- 2054
- 2055
- 2056
- 2057
- 2058
- 2059
- 2060
- 2061
- 2062
- 2063
- 2064
- 2065
- 2066
- 2067
- 2068
- 2069
- 2070
- 2071
- 2072
- 2073
- 2074
- 2075
- 2076
- 2077
- 2078
- 2079
- 2080
- 2081
- 2082
- 2083
- 2084
- 2085
- 2086
- 2087
- 2088
- 2089
- 2090
- 2091
- 2092
- 2093
- 2094
- 2095
- 2096
- 2097
- 2098
- 2099
- 2100
- 2101
- 2102
- 2103
- 2104
- 2105
- 2106
- 2107
- 2108
- 2109
- 2110
- 2111
- 2112
- 2113
- 2114
- 2115
- 2116
- 2117
- 2118
- 2119
- 2120
- 2121
- 2122
- 2123
- 2124
- 2125
- 2126
- 2127
- 2128
- 2129
- 2130
- 2131
- 2132
- 2133
- 2134
- 2135
- 2136
- 2137
- 2138
- 2139
- 2140
- 2141
- 2142
- 2143
- 2144
- 2145
- 2146
- 2147
- 2148
- 2149
- 2150
- 2151
- 2152
- 2153
- 2154
- 2155
- 2156
- 2157
- 2158
- 2159
- 2160
- 2161
- 2162
- 2163
- 2164
- 2165
- 2166
- 2167
- 2168
- 2169
- 2170
- 2171
- 2172
- 2173
- 2174
- 2175
- 2176
- 2177
- 2178
- 2179
- 2180
- 2181
- 2182
- 2183
- 2184
- 2185
- 2186
- 2187
- 2188
- 2189
- 2190
- 2191
- 2192
- 2193
- 2194
- 2195
- 2196
- 2197
- 2198
- 2199
- 2200
- 2201
- 2202
- 2203
- 2204
- 2205
- 2206
- 2207
- 2208
- 2209
- 2210
- 2211
- 2212
- 2213
- 2214
- 2215
- 2216
- 2217
- 2218
- 2219
- 2220
- 2221
- 2222
- 2223
- 2224
- 2225
- 2226
- 2227
- 2228
- 2229
- 2230
- 2231
- 2232
- 2233
- 2234
- 2235
- 2236
- 2237
- 2238
- 2239
- 2240
- 2241
- 2242
- 2243
- 2244
- 2245
- 2246
- 2247
- 2248
- 2249
- 2250
- 2251
- 2252
- 2253
- 2254
- 2255
- 2256
- 2257
- 2258
- 2259
- 2260
- 2261
- 2262
- 2263
- 2264
- 2265
- 2266
- 2267
- 2268
- 2269
- 2270
- 2271
- 2272
- 2273
- 2274
- 2275
- 2276
- 2277
- 2278
- 2279
- 2280
- 2281
- 2282
- 2283
- 2284
- 2285
- 2286
- 2287
- 2288
- 2289
- 2290
- 2291
- 2292
- 2293
- 2294
- 2295
- 2296
- 2297
- 2298
- 2299
- 2300
- 2301
- 2302
- 2303
- 2304
- 2305
- 2306
- 2307
- 2308
- 2309
- 2310
- 2311
- 2312
- 2313
- 2314
- 2315
- 2316
- 2317
- 2318
- 2319
- 2320
- 2321
- 2322
- 2323
- 2324
- 2325
- 2326
- 2327
- 2328
- 2329
- 2330
- 2331
- 2332
- 2333
- 2334
- 2335
- 2336
- 2337
- 2338
- 2339
- 2340
- 2341
- 2342
- 2343
- 2344
- 2345
- 2346
- 2347
- 2348
- 2349
- 2350
- 2351
- 2352
- 2353
- 2354
- 2355
- 2356
- 2357
- 2358
- 2359
- 2360
- 2361
- 2362
- 2363
- 2364
- 2365
- 2366
- 2367
- 2368
- 2369
- 2370
- 2371
- 2372
- 2373
- 2374
- 2375
- 2376
- 2377
- 2378
- 2379
- 2380
- 2381
- 2382
- 2383
- 2384
- 2385
- 2386
- 2387
- 2388
- 2389
- 2390
- 2391
- 2392
- 2393
- 2394
- 2395
- 2396
- 2397
- 2398
- 2399
- 2400
- 2401
- 2402
- 2403
- 2404
- 2405
- 2406
- 2407
- 2408
- 2409
- 2410
- 2411
- 2412
- 2413
- 2414
- 2415
- 2416
- 2417
- 2418
- 2419
- 2420
- 2421
- 2422
- 2423
- 2424
- 2425
- 2426
- 2427
- 2428
- 2429
- 2430
- 2431
- 2432
- 2433
- 2434
- 2435
- 2436
- 2437
- 2438
- 2439
- 2440
- 2441
- 2442
- 2443
- 2444
- 2445
- 2446
- 2447
- 2448
- 2449
- 2450
- 2451
- 2452
- 2453
- 2454
- 2455
- 2456
- 2457
- 2458
- 2459
- 2460
- 2461
- 2462
- 2463
- 2464
- 2465
- 2466
- 2467
- 2468
- 2469
- 2470
- 2471
- 2472
- 2473
- 2474
- 2475
- 2476
- 2477
- 2478
- 2479
- 2480
- 2481
- 2482
- 2483
- 2484
- 2485
- 2486
- 2487
- 2488
- 2489
- 2490
- 2491
- 2492
- 2493
- 2494
- 2495
- 2496
- 2497
- 2498
- 2499
- 2500
- 2501
- 2502
- 2503
- 2504
- 2505
- 2506
- 2507
- 2508
- 2509
- 2510
- 2511
- 2512
- 2513
- 2514
- 2515
- 2516
- 2517
- 2518
- 2519
- 2520
- 2521
- 2522
- 2523
- 2524
- 2525
- 2526
- 2527
- 2528
- 2529
- 2530
- 2531
- 2532
- 2533
- 2534
- 2535
- 2536
- 2537
- 2538
- 2539
- 2540
- 2541
- 2542
- 2543
- 2544
- 2545
- 2546
- 2547
- 2548
- 2549
- 2550
- 2551
- 2552
- 2553
- 2554
- 2555
- 2556
- 2557
- 2558
- 2559
- 2560
- 2561
- 2562
- 2563
- 2564
- 2565
- 2566
- 2567
- 2568
- 2569
- 2570
- 2571
- 2572
- 2573
- 2574
- 2575
- 2576
- 2577
- 2578
- 2579
- 2580
- 2581
- 2582
- 2583
- 2584
- 2585
- 2586
- 2587
- 2588
- 2589
- 2590
- 2591
- 2592
- 2593
- 2594
- 2595
- 2596
- 2597
- 2598
- 2599
- 2600
- 2601
- 2602
- 2603
- 2604
- 2605
- 2606
- 2607
- 2608
- 2609
- 2610
- 2611
- 2612
- 2613
- 2614
- 2615
- 2616
- 2617
- 2618
- 2619
- 2620
- 2621
- 2622
- 2623
- 2624
- 2625
- 2626
- 2627
- 2628
- 2629
- 2630
- 2631
- 2632
- 2633
- 2634
- 2635
- 2636
- 2637
- 2638
- 2639
- 2640
- 2641
- 2642
- 2643
- 2644
- 2645
- 2646
- 2647
- 2648
- 2649
- 2650
- 2651
- 2652
- 2653
- 2654
- 2655
- 2656
- 2657
- 2658
- 2659
- 2660
- 2661
- 2662
- 2663
- 2664
- 2665
- 2666
- 2667
- 2668
- 2669
- 2670
- 2671
- 2672
- 2673
- 2674
- 2675
- 2676
- 2677
- 2678
- 2679
- 2680
- 2681
- 2682
- 2683
- 2684
- 2685
- 2686
- 2687
- 2688
- 2689
- 2690
- 2691
- 2692
- 2693
- 2694
- 2695
- 2696
- 2697
- 2698
- 2699
- 2700
- 2701
- 2702
- 2703
- 2704
- 2705
- 2706
- 2707
- 2708
- 2709
- 2710
- 2711
- 2712
- 2713
- 2714
- 2715
- 2716
- 2717
- 2718
- 2719
- 2720
- 2721
- 2722
- 2723
- 2724
- 2725
- 2726
- 2727
- 2728
- 2729
- 2730
- 2731
- 2732
- 2733
- 2734
- 2735
- 2736
- 2737
- 2738
- 2739
- 2740
- 2741
- 2742
- 2743
- 2744
- 2745
- 2746
- 2747
- 2748
- 2749
- 2750
- 2751
- 2752
- 2753
- 2754
- 2755
- 2756
- 2757
- 2758
- 2759
- 2760
- 2761
- 2762
- 2763
- 2764
- 2765
- 2766
- 2767
- 2768
- 2769
- 2770
- 2771
- 2772
- 2773
- 2774
- 2775
- 2776
- 2777
- 2778
- 2779
- 2780
- 2781
- 2782
- 2783
- 2784
- 2785
- 2786
- 2787
- 2788
- 2789
- 2790
- 2791
- 2792
- 2793
- 2794
- 2795
- 2796
- 2797
- 2798
- 2799
- 2800
- 2801
- 2802
- 2803
- 2804
- 2805
- 2806
- 2807
- 2808
- 2809
- 2810
- 2811
- 2812
- 2813
- 2814
- 2815
- 2816
- 2817
- 2818
- 2819
- 2820
- 2821
- 2822
- 2823
- 2824
- 2825
- 2826
- 2827
- 2828
- 2829
- 2830
- 2831
- 2832
- 2833
- 2834
- 2835
- 2836
- 2837
- 2838
- 2839
- 2840
- 2841
- 2842
- 2843
- 2844
- 2845
- 2846
- 2847
- 2848
- 2849
- 2850
- 2851
- 2852
- 2853
- 2854
- 2855
- 2856
- 2857
- 2858
- 2859
- 2860
- 2861
- 2862
- 2863
- 2864
- 2865
- 2866
- 2867
- 2868
- 2869
- 2870
- 2871
- 2872
- 2873
- 2874
- 2875
- 2876
- 2877
- 2878
- 2879
- 2880
- 2881
- 2882
- 2883
- 2884
- 2885
- 2886
- 2887
- 2888
- 2889
- 2890
- 2891
- 2892
- 2893
- 2894
- 2895
- 2896
- 2897
- 2898
- 2899
- 2900
- 2901
- 2902
- 2903
- 2904
- 2905
- 2906
- 2907
- 2908
- 2909
- 2910
- 2911
- 2912
- 2913
- 2914
- 2915
- 2916
- 2917
- 2918
- 2919
- 2920
- 2921
- 2922
- 2923
- 2924
- 2925
- 2926
- 2927
- 2928
- 2929
- 2930
- 2931
- 2932
- 2933
- 2934
- 2935
- 2936
- 2937
- 2938
- 2939
- 2940
- 2941
- 2942
- 2943
- 2944
- 2945
- 2946
- 2947
- 2948
- 2949
- 2950
- 2951
- 2952
- 2953
- 2954
- 2955
- 2956
- 2957
- 2958
- 2959
- 2960
- 2961
- 2962
- 2963
- 2964
- 2965
- 2966
- 2967
- 2968
- 2969
- 2970
- 2971
- 2972
- 2973
- 2974
- 2975
- 2976
- 2977
- 2978
- 2979
- 2980
- 2981
- 2982
- 2983
- 2984
- 2985
- 2986
- 2987
- 2988
- 2989
- 2990
- 2991
- 2992
- 2993
- 2994
- 2995
- 2996
- 2997
- 2998
- 2999
- 3000
- 3001
- 3002
- 3003
- 3004
- 3005
- 3006
- 3007
- 3008
- 3009
- 3010
- 3011
- 3012
- 3013
- 3014
- 3015
- 3016
- 3017
- 3018
- 3019
- 3020
- 3021
- 3022
- 3023
- 3024
- 3025
- 3026
- 3027
- 3028
- 3029
- 3030
- 3031
- 3032
- 3033
- 3034
- 3035
- 3036
- 3037
- 3038
- 3039
- 3040
- 3041
- 3042
- 3043
- 3044
- 3045
- 3046
- 3047
- 3048
- 3049
- 3050
- 3051
- 3052
- 3053
- 3054
- 3055
- 3056
- 3057
- 3058
- 3059
- 3060
- 3061
- 3062
- 3063
- 3064
- 3065
- 3066
- 3067
- 3068
- 3069
- 3070
- 3071
- 3072
- 3073
- 3074
- 3075
- 3076
- 3077
- 3078
- 3079
- 3080
- 3081
- 3082
- 3083
- 3084
- 3085
- 3086
- 3087
- 3088
- 3089
- 3090
- 3091
- 3092
- 3093
- 3094
- 3095
- 3096
- 3097
- 3098
- 3099
- 3100
- 3101
- 3102
- 3103
- 3104
- 3105
- 3106
- 3107
- 3108
- 3109
- 3110
- 3111
- 3112
- 3113
- 3114
- 3115
- 3116
- 3117
- 3118
- 3119
- 3120
- 3121
- 3122
- 3123
- 3124
- 3125
- 3126
- 3127
- 3128
- 3129
- 3130
- 3131
- 3132
- 3133
- 3134
- 3135
- 3136
- 3137
- 3138
- 3139
- 3140
- 3141
- 3142
- 3143
- 3144
- 3145
- 3146
- 3147
- 3148
- 3149
- 3150
- 3151
- 3152
- 3153
- 3154
- 3155
- 3156
- 3157
- 3158
- 3159
- 3160
- 3161
- 3162
- 3163
- 3164
- 3165
- 3166
- 3167
- 3168
- 3169
- 3170
- 3171
- 3172
- 3173
- 3174
- 3175
- 3176
- 3177
- 3178
- 3179
- 3180
- 3181
- 3182
- 3183
- 3184
- 3185
- 3186
- 3187
- 3188
- 3189
- 3190
- 3191
- 3192
- 3193
- 3194
- 3195
- 3196
- 3197
- 3198
- 3199
- 3200
- 3201
- 3202
- 3203
- 3204
- 3205
- 3206
- 3207
- 3208
- 3209
- 3210
- 3211
- 3212
- 3213
- 3214
- 3215
- 3216
- 3217
- 3218
- 3219
- 3220
- 3221
- 3222
- 3223
- 3224
- 3225
- 3226
- 3227
- 3228
- 3229
- 3230
- 3231
- 3232
- 3233
- 3234
- 3235
- 3236
- 3237
- 3238
- 3239
- 3240
- 3241
- 3242
- 3243
- 3244
- 3245
- 3246
- 3247
- 3248
- 3249
- 3250
- 3251
- 3252
- 3253
- 3254
- 3255
- 3256
- 3257
- 3258
- 3259
- 3260
- 3261
- 3262
- 3263
- 3264
- 3265
- 3266
- 3267
- 3268
- 3269
- 3270
- 3271
- 3272
- 3273
- 3274
- 3275
- 3276
- 3277
- 3278
- 3279
- 3280
- 3281
- 3282
- 3283
- 3284
- 3285
- 3286
- 3287
- 3288
- 3289
- 3290
- 3291
- 3292
- 3293
- 3294
- 3295
- 3296
- 3297
- 3298
- 3299
- 3300
- 3301
- 3302
- 3303
- 3304
- 3305
- 3306
- 3307
- 3308
- 3309
- 3310
- 3311
- 3312
- 3313
- 3314
- 3315
- 3316
- 3317
- 3318
- 3319
- 3320
- 3321
- 3322
- 3323
- 3324
- 3325
- 3326
- 3327
- 3328
- 3329
- 3330
- 3331
- 3332
- 3333
- 3333
推荐文章