BBSSDK 产品分析

BBSSDK 产品分析

产品介绍
BBSSDK主要是将论坛的一些文章,版块,帖子,评论等内容,整合到App,可以实现用户便捷获取信息,浏览阅读,该移动数据方案,也可以自动同步Discuz服务端数据,且不限制存储空间和流量。
UI自定义
BBSSDK分为简约版和时尚版两个版本,这两个版本除了展示效果的不同,功能完全一致.简约版注重UI的简洁,界面清晰利落.时尚版追求UI的炫酷,里面实现了很多毛玻璃,动画等效果.具体选择哪个版本,依据不同业务需求而定.
 

简约版
 

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


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

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


对于BBSSDK的UI界面,如果用户想使用自己独特的个性图片,则只需要更换一些具体界面的图片,具体操作步骤如下:
1.
打开SDK文件夹下的BBSSDKUI.bundle,在改bundle下面,分为Common|Forum|Home|LBS|User 等,不同的界面会有对应界面的文件夹,存放该界面对应的图片资源
2.
找到不同的界面下不同的分类,用户可以根据自己的需要,对具体的界面进行针对性的替换,当然,这里面还包含了公共部分
3.
图片文件名包含@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 selectType displayOrder 置顶,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
{
    __weak typeof(self) theContext = self;
    BBSService *service = [BBSService sharedInstance];
    [service authLoginWithAppkey:_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 = [[BBSUser alloc] 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失效,请重新登录
        [BBSUIContext shareInstance].currentUser = nil;
    }
    
   //code….
   
}

在BBSSDK中登录也接入了UCenter方案,UCenter提供同步登录、退出、注册等相关接口,可以实现用户使用一个账号,在一处登录,全站通行。
深度链接
BBSSDK的深度链接功能,主要通过ShareSDK和MobLink结合来完成,主要用于实现社区、其他App,浏览网站等不同功能模块之间的快速跳转。在BBSSDK中,BBSSDKUI对ShareSDK和MobLink采取弱引用的集成方式。通过这样方式,在集成BBSSDKUI.framework的时候,即使不添加ShareSDK和MobLink这两个模块,也不会影响其他业务功能。实现了整个项目的低耦合。

具体使用配置如下
1.
申请AppKey,并引用MobLink的SDK库
2.
在Xcode中,添加URL的Scheme
3.
在MObLink官方配置Bundele ID,包名等信息进行生成Universal Link
4.
将生成的Universal Link,添加到项目中的 Associated Domains 中
5.
添加功能代码如下
+ (NSString *)MLSDKPath
{
    return @”/portal/detail”;
}

– (instancetype)initWithMobLinkScene:(BBSMOBFScene *)scene;
{
    self = [super init];
    if (self)
    {
        NSDictionary *sceneDict = [scene getParams];
        self.aid = [sceneDict[@”aid”] integerValue];
    }
    return self;
}


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

 
签到 && 消息

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

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/101567.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 极智开发 | ubuntu源码编译opencv

    极智开发 | ubuntu源码编译opencv本教程详细记录了在ubuntu1804中源码编译opencv的方法。

  • nginx实现tomcat动静分离详解

    nginx实现tomcat动静分离详解1.为什么要实现动静分离1)nginx的处理静态资源能力超强主要是nginx处理静态页面的效率远高于tomcat的处理能力,如果tomcat的请求量为1000次,则nginx的请求量为6000次,tomcat每秒的吞吐量为0.6M,nginx的每秒吞吐量为3.6M,可以说,nginx处理静态资源的能力是tomcat处理能力的6倍,优势可见一斑。2)动态资源和静态资源分开,使服务器结构更

  • Qt中使用Json

    Qt中使用Json

    2021年11月19日
  • web性能优化–用gzip压缩资源文件

    web性能优化–用gzip压缩资源文件一、gzip压缩技术gzip(GNU-ZIP)是一种压缩技术。经过gzip压缩后页面大小可以变为原来的30%甚至更小,这样,用户浏览页面的时候速度会快得多。gzip的压缩页面需要浏览器和服务器双方都支持,实际上就是服务器端压缩,传到浏览器后浏览器解压并解析。浏览器那里不需要我们担心,因为目前的大多数浏览器都支持解析gzip压缩过的资源文件。在实际的应用中我们发现压缩的比率往往在3到10倍,也…

  • Compilation failed to complete

    Compilation failed to complete

  • 计算机主机网关的作用是什么?(转 )[通俗易懂]

    计算机主机网关的作用是什么?(转 )[通俗易懂]假设你的名字叫小不点,你住在一个大院子里,你的邻居有很多小伙伴,在门口传达室还有个看大门的李大爷,李大爷就是你的网关。当你想跟院子里的某个小伙伴玩,只要你在院子里大喊一声他的名字,他听到了就会回应你,

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号