2.27.0
一、功能描述
1、提升小程序启动用户体验;
2、提供小程序字体设置功能,保持与宿主APP字体大小同步;
3、精简MBProgressHUD三方开源库依赖,减少包体积;
4、增加百度系内部的扩展库,方便快速更新百度系私有能力,防止对接出错;
5、fix bug;
二、Changelist
本次改动重点:
- 为百度系宿主提供内部扩展库(BBAMNPBDExtension),包含能力:thirdPartyLogin、privateGetUserInfo、getStoken、getBDUSS、getOpenBDUSS、queryQuickLoginInfo、quickLogin、setAccountAvatar、openUserProfile;
- 删除原有需要宿主手动集成的 BBASMAccountBridge 、BBASMAppExtensionBridge+PrivateAPI 、BBASMPlugin+PrivateLogin 类
- 修改 BBASMAccountHelper,删除原有 BBASMAccountLoginType 枚举
- 百度系宿主需要实现 BBASMBDAccountAdapterProtocol 协议;参考 Demo
- 为宿主提供定制化的字体接口协议:BBASMFontAdapterProtocol;
add
1、【重要】BBASMBDAccountAdapterProtocol.h (私有账号协议,该协议只在百度及百度系宿主上使用,具体参考开源demo实现)
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
| /// 获取bduss + (NSString *)getBduss;
/// @brief 获取stoken /// @param tpl 标识业务线,用于 stoken 的获取 /// @param successBlock 获取成功的回调 /// @param failureBlock 获取失败的回调 + (void)getStokenWithString:(NSString *)tpl success:(void (^)(NSString *stoken))successBlock failure:(void (^)(NSError *error))failureBlock;
/// @brief 获取openbduss /// @param clientID clientID /// @param tplList xcxtpl列表 /// @parma 完成回调 (error == nil && info != nil 成功) + (void)getOpenBdussWithClientID:(NSString *)clientID tplList:(NSArray *)tplList completion:(void (^)(id<BBASMAccountOpenBdussInfoProtocol> info, NSError *error))completion;
/// @brief 第三方登录,本地是否安装相关App /// @parm loginType 登录类型 /// @return 是否安装 + (BOOL)isAppInstalled:(BBASMAccountLoginType)loginType;
/// @brief 调用第三方登录 /// @param loginType 第三方登录类型 如:QQ,weibo,weixin /// @param completionBlock completionBlock /// @param viewController superVC + (void)thirdPartyLogin:(BBASMAccountLoginType)loginType complete:(BBASMExternalSeviceCallback)completionBlock superVC:(UIViewController *)viewController;
/// 一键登录 + (void)quickLogin:(BBASMExternalSeviceCallback)completionBlock;
/// 查询是否支持一键登录 + (void)queryQuickLoginInfo:(void(^)(id<BBASMAccountCheckOneKeyResultProtocol> result, NSError *error))completionBlock;
/// @brief 设置百度登录头像 /// @param portrait 待更新的头像 /// @param type 保存头像类型 /// @param completion 更新结果回调 + (void)saveAccountPortrait:(UIImage *)portrait portraitType:(BBASMAccountSetPortraitType)type completion:(void(^)(BOOL success, NSString *errmsg))completion;
/// 姓名、身份证、人脸校验接口 /// @param realName 姓名 /// @param idNumber 身份证号 /// @param sourceVC 调起ViewController /// @param appId appId /// @param successBlock 成功回调 /// @param failureBlock 失败回调 + (void)commonFaceVerifyWithRealName:(NSString *)realName idNumber:(NSString *)idNumber sourceVC:(UIViewController *)sourceVC appId:(NSString *)appId success:(void (^)(NSDictionary *))successBlock failure:(void (^)(NSError *))failureBlock;
|
2、【可选】BBASMFontAdapterProtocol.h
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| /// @brief 当前协议:管理宿主app中的字体,可联动宿主与小程序之间字体设置 @optional /// @brief 宿主方可设置自己的字体集,包括字体等级、字体百分比 /// @return NSDictionary 数据结构,举例:{@"1":@"84%"(小), @"2":@"100%"(中), @"3":@"110%"(大), @"4":@"121%"(特大)} + (nullable NSDictionary *)hostFontLevels;
/// @brief 设置宿主方的默认字体等级 /// @return NSString 返回宿主默认字体等级 + (nullable NSString *)hostDefaultFontLevel;
/// @brief 获取当前宿主方的字体等级 /// @return NSString 返回当前宿主方设置的字体等级 + (nullable NSString *)hostCurrentFontLevel;
/// @brief 设置宿主方的字体等级 /// @param fontLevel 在小程序的菜单栏中修改字体等级,通知宿主方更新字体,等级范围对应“+ (NSDictionary *)hostFontLevels”接口中的值 + (void)setHostFontLevel:(NSString *)fontLevel;
|
delete
1、【重要】BBASMNavigatorAdapterProtocol.h
1 2 3
| /// 返回小程序根导航控制器(该方法已删除,SDK内部自动获取导航栈,宿主无需再实现) + (UINavigationController *)rootNavigationController;
|
2、【可选】BBASMPlatformAdapterProtocol.h
1 2 3 4 5 6
| /// 获取用户字体大小,值为:1(小)、2(中)、3(大)、4(特大) + (NSString *)globalFontSizeLevel;
/// 设置用户字体大小 /// @param fontSizeLevel 字体大小级别,值为:1(小)、2(中)、3(大)、4(特大) + (void)setGlobalFontSizeLevel:(NSString *)fontSizeLevel;
|