BBSSDK产品分析

2018-07-06  本文已影响0人  皮皮酱ye

产品介绍

BBSSDK主要是将论坛的一些文章,版块,帖子,评论等内容,整合到App,可以实现用户便捷获取信息,浏览阅读,该移动数据方案,也可以自动同步Discuz服务端数据,且不限制存储空间和流量。

UI自定义

BBSSDK分为简约版和时尚版两个版本,这两个版本除了展示效果的不同,功能完全一致.简约版注重UI的简洁,界面清晰利落.时尚版追求UI的炫酷,里面实现了很多毛玻璃,动画等效果.具体选择哪个版本,依据不同业务需求而定.

简约版

时尚版

主界面展示了论坛和门户两大模块.这两个模块实现不同业务功能,但并不一定全部展示.展示哪个模块由后台决定,用户可以通过后台进行手动配置.功能结构如下:

通过集成我们的SDK,你可以自己设定整个界面显示的内容,比如首页部分,该界面有资讯和论坛两个部分,如果用户有不同的业务需求,则用户可以通过后台的配置,可以隐藏或者显示指定的内容,能更好的适用于不同的业务场景。

由于BBSSDK中包含有多个板块内容,且每个板块内容是完全不同分类的,该用户也可以只使用板块中的一种来展示自己内容,并在改部分也有分类筛选以及按回复时间排序和按发帖时间排序等功能。

对于BBSSDK的UI界面,如果用户想使用自己独特的个性图片,则只需要更换一些具体界面的图片,具体操作步骤如下:

打开SDK文件夹下的BBSSDKUI.bundle,在改bundle下面,分为Common|Forum|Home|LBS|User

    等,不同的界面会有对应界面的文件夹,存放该界面对应的图片资源

找到不同的界面下不同的分类,用户可以根据自己的需要,对具体的界面进行针对性的替换,当然,这里面还包含了公共部分

图片文件名包含@2x,@3x等后缀以适配不同屏幕清晰度,替换时需要都替换

BBSSDKUI.bundle

│    

└───threerdParty   //三方库资源文件

│   │MJRefresh 

│   │SVProgressHUD 

│   │ZSSRichEditor 

│  

└───Common       //公用部分图片资源

│   │   

│  

└───Emoji       //表情图片资源

│   │coolmonkey 

│   │default

|   | grapeman      

│  

└───Forum      //版块图片资源

│   │   

│  

└───Home      //主页图片资源

│   │   

│  

└───LBS      //地理位置图片资源

│   │    

│  

└───Login&Register  // 登录注册页面图片资源

BBSSDK可以实现自定义接口,在获取帖子列表接口中,用户可以将传入的版块id参数设置为唯一的,则请求出的数据信息就只有一种版块数据,此外,用户也可以设置selectType参数为唯一值,则数据展示也会值显示用户指定的列表信息。

/**

 获取帖子列表

 @param fid板块id

 @param orderType排序依据 :createdOn 按照发帖时间排序.lastPost 按照回帖时间排序。

 @param selectTypedisplayOrder置顶,digest 精华,heats 热门,latest 最新

 @param pageIndex页索引

 @param pageSize每页请求大小

 @param result回调

 */

+ (void)getThreadListWithFid:(NSInteger)fid

                  orderType:(NSString*)orderType

                 selectType:(NSString*)selectType

                  pageIndex:(NSInteger)pageIndex

                   pageSize:(NSInteger)pageSize

                     result:(void (^)(NSArray*threadList, NSError*error))result;

由于BBSSDK的UI是开源的,用户可以在原有UI界面的基础上进行布局设置,例如个人中心部分,用户可以值使用我们BBSSDK的用户信息,而界面可以添加其他信息,将BBSSDK中的数据作为一个单独项展示

BBSSDK中,也可以自定义版块,由于BBSSDK中数据完全可以有后台来配置模块部分,故用户可以自己设定自己产品论坛中拥有的模块,并可以按照BBSSDK中的展示,给用户置顶版块的权限。

用户登录

用户可以使用QQ登录或者微信登录,此种方式登录后,BBSSDK会自动获取用户的基本信息,或者用户也可以使用注册的方式自己进行注册登录。一旦用户登录之后,我们的BBSSDK就会将用户的信息进行缓存记录,以方便在发帖或者评论时进行身份验证使用,代码如下:

- (void)authLoginWithOpenid:(NSString*)openid

                   unionid:(NSString*)unionid

                  authType:(NSString*)authType

                 createNew:(NSNumber*)createNew

                  userName:(NSString*)userName

                     email:(NSString*)email

                  password:(NSString*)password

                questionId:(NSNumber*)questionId

                    answer:(NSString*)answer

                coordinate:(BBSLocationCoordinate*)coordinate

                    result:(void(^)(BBSUser *user, id

res, NSError*error))result

{

    __weaktypeof(self) theContext = self;

    BBSService *service

= [BBSServicesharedInstance];

    [serviceauthLoginWithAppkey:_appKey

                         openid:openid

                        unionid:unionid

                       authType:authType

                      createNew:createNew

                       userName:userName

                          email:email

                       password:password

                     questionId:questionId

                         answer:answer

                      coordinate:coordinate

                            duid:self.duid

                         apppkg:self.apppkg

                         appver:self.appver

                         sdkver:self.sdkver

                            plat:@(self.plat)

                        factory:self.factory

                          model:self.model

                         sysver:self.sysver

                         result:^(id res,BBSError*error)

     {

         BBSUser*user =nil;

         if(!error)

         {

             if([res isKindOfClass:NSDictionary.class])

             {

                user = [[BBSUseralloc]init];

                [user setValueForPropertiesWithDictionary:res];

                 //缓存用户信息

                 theContext.currentUser= user;

                [theContext _saveCurrentUser];

             }

         }

         if(result)

         {

             result(user,res,error);

         }

     }];

}

BBSSDK中,用户进行操作时,也会做一个登录的身份验证,比如在用户进行发帖、评论、浏览等操作中,验证如下:

- (void)postError:(NSError *)error

title:(NSString *)title html:(NSString*)html

{

    if(error.code == 9001200)

    {//token失效,请重新登录

        [BBSUIContextshareInstance].currentUser= nil;

    }

   //code....

}

BBSSDK中登录也接入了UCenter方案,UCenter提供同步登录、退出、注册等相关接口,可以实现用户使用一个账号,在一处登录,全站通行。

深度链接

BBSSDK的深度链接功能,主要通过ShareSDK和MobLink结合来完成,主要用于实现社区、其他App,浏览网站等不同功能模块之间的快速跳转。在BBSSDK中,BBSSDKUI对ShareSDK和MobLink采取弱引用的集成方式。通过这样方式,在集成BBSSDKUI.framework的时候,即使不添加ShareSDK和MobLink这两个模块,也不会影响其他业务功能。实现了整个项目的低耦合。

具体使用配置如下

申请AppKey,并引用MobLink的SDK库

在Xcode中,添加URL的Scheme

在MObLink官方配置Bundele ID,包名等信息进行生成Universal    Link

将生成的Universal Link,添加到项目中的    Associated Domains 中

添加功能代码如下

+ (NSString*)MLSDKPath

{

    return@"/portal/detail";

}

- (instancetype)initWithMobLinkScene:(BBSMOBFScene*)scene;

{

    self= [superinit];

    if(self)

    {

        NSDictionary*sceneDict = [scene getParams];

        self.aid =

[sceneDict[@"aid"] integerValue];

    }

    returnself;

}

等以上所需配置完毕,用户需要先分享内容到第三方App比如微信,在微信中打开分享的链接,点击访问原网页,可以看到提示步骤,并按照提示步骤进行操作,会看到如下图,点击打开即会回到用户使用BBSSDK集成的App中

签到 && 消息

BBSSDK中提供了用户签到功能,并能查看签到的用户信息。

当用户发帖时,别的用户对帖子评价或者喜欢等操作,会收到消息通知,可以及时获取跟帖动态。

上一篇下一篇

猜你喜欢

热点阅读