对接的平台包括:微信公众号授权及支付、支付宝支付、阿里的OOS对象存储,短信发送、微信,微博,QQ的第三方登录、对搜企的接口开放、美家帮的接口接入。
1、后台管理系统:
1.1、后台权限管理
主要功能包括:管理员管理、管理员角色管理、系统菜单管理、权限分配管理。
1.1.1、管理员管理:这里的管理员包括两类,其一是系统后台创建的,其二是客户端注册的用户,通过后台授权后也可以成为管理员。
1.1.2、角色管理:这里分配角色主要是为了给管理员分类然后赋予不同的后台管理权限。
1.1.3、系统菜单管理:这里的菜单分为了用户后台菜单和系统后台菜单,配置菜单是为了限制不同用户的权限。
1.1.4、权限分配管理:这里主要做的是后台菜单的权限,将权限分配给不同的角色已达到限制用户权限的目的。
1.2、用户管理
主要功能包括:用户信息管理、用户订单管理、用户套餐管理、用户信息统计管理、用户钱包管理。
1.2.1、用户信息管理:此处主要分为了【用户信息管理】、【用户角色管理】,用户的角色主要有设计师、企业、代理商组成。
1.2.2、用户订单管理:此订单是用户购买房盒子客端使用权(产品套餐)的订单记录,此功能的支付方式包括微信的扫码和H5支付、支付宝的扫码和H5支付以及盒币支付。
1.2.3、用户套餐管理:用户使用客户端的权限依靠产品套餐配置权限而来,产品的权限又分为空间权限和功能权限。空间权限即用户在使用数量的限制,因此这里又扩展出了【用户空间管理】(记录了用户拥有空间种类和空间使用状况),套餐权限管理即用户可以使用客户端的那些模块的限制,这里又扩展出了【用户功能权限的管理】,而用户购买的套餐也是有到期期限的,因此这里还包括了【用户套餐期限管理】。
1.2.4、用户信息统计管理:汇总了用户各类空间的使用情况和素材,图片,方案等资源的数量变化情况。
1.2.5、用户钱包管理:此处钱包主要单位是盒币(积分),盒币的获取方式主要为两类,一是通过做平台发布的任务获取,二则是通过充值的方式获取,有获取自然就有消耗,因此这里就扩展出了【盒币记录管理】,需要记录盒币的详细清单记录。
1.3、产品管理
主要功能包括:产品管理、产品套餐配置管理。
1.3.1、产品管理:此处的产品指的有两类,一是用户购买的客户端版本(这里主要分为了设计师版、企业版以及免费体验版)。二是用户购买空间的种类(子账户的数量、可上传资源文件的容量等)
1.3.2、产品套餐配置管理:所谓的产品套餐指的是将客户端的版本与资源空间的数量,模块的权限进行捆绑销售,因此可以通过配置不同的套餐进行销售活动。
1.4、素材管理
主要功能包括:模型文件管理、模型素材管理、图片素材管理、装修方案管理、楼盘户型管理。
1.4.1、模型文件管理:模型的管理是此项目最为核心的功能之一,其中包括了【原模型的管理】,不同平台(PC、iOS、Web、Android)不同版本的【模型压缩文件管理】,因为客户端使用unity 3d开发的,客户端除了本身的平台区分外还存在资源版本的问题,不同版本不同平台访问的模型文件都不一样,这样就产生了可访问资源权限的问题,这里采用了位运算的方式对各异的客户端匹配对应的模型文件,所以这里也扩展出了【模型权限配置的功能】,原模型文件在压缩处理时因为时间较长,所以这里用了另外的服务器(资源服务器)来专门处理文件压缩,并且采用了【任务队列管理】的方式来处理压缩文件,模型除了大小的压缩还有模型的优化减面等处理,实现的原理和压缩文件类似,只是这里需要配置不同的【优化策略】。
1.4.2、模型素材管理:模型素材就是客户端直接可用的模型文件,它可以由一个或多个压缩的文件组合成不同的款式,意思就是一个素材有多个款式,而款式就是直接呈现在客户端中的模型样式,类似与电商中的商品有不同的款式。所以这里包括了【素材管理】,【素材款式管理】,既然款式是由多个文件组成,自然也有了【款式文件关联的管理】,为了减少款式组合的重复性,这里也允许出现款式与文件一起组合成为一个新款式的功能。
1.4.3、图片素材管理:这里的图片素材主要是由客户端截取而来,可分为【效果图】以及【全景图】,全景图则是运用了Krpano插件来实现的,这里客户端可将截取的全景图直接上传至服务器,由服务器生成全景图所需的所有配置文件,然后可分享给用户直接预览,这里的全景图可单独预览也可以组合预览。这里已可以使用OOS对象存储,但因为费用问题暂时未正式使用。
1.4.4、装修方案管理:装修方案主要是客户端记录数据的文件,每个户型对应了一个装修方案,这个户型可以是自绘的也可以是市面楼盘真实存在的户型。全景图的生成就是依赖于方案文件。方案文件也是使用费用清单的记录文件。
1.4.5、楼盘户型管理:这里的楼盘户型数据主要是通过网上抓取的来填充数据的,它为装修方案提供了真实存在的户型模板,让用户可以直接搜到到自己家户型相似的装修方案。
1.5、客户端基础信息管理
主要功能包括:客户端分类管理、基础信息配置、客户端使用状况统计。
1.5.1、客户端分类管理:这个是客户端展示可用素材的分类依据,它通过不同的配置结构来快速的找到用户所需的素材。通过给分类绑定不同的属性可快速检索到所需的素材。
1.5.2、基础信息配置:这个主要是配置客户端所需要的信息,例如接口访问的地址,文件目录的结构等。
1.5.3、客端端使用状况统计:每个客户端在第一次访问服务器时都会记录该客户端的基本信息,例如设备号,IP,系统等,已经登录过的客户端则还会记录客户端使用的状况,登录的次数,使用的时长等信息。通过这些信息来分析出用户使用产品的情况。
1.6、系统管理
主要功能包括:系统属性配置管理、消息模板配置管理、短信发送管理、用户消息管理、系统日统计信息管理,图片处理方式配置管理、任务配置管理、开发bug记录管理。
1.6.1、系统属性配置管理:这个功能提供了系统所需的所有可扩展性的属性配置,通过配置不同属性来提示系统的可扩展性。
1.6.2、消息模板配置管理:后台的消息主要是系统消息,因此存在可重复发送的情况,使用模板可减少重复编辑的操作,通过改变模板的信息也可以达到实时变更发送内容的目的,而且一些活动的开展需要消息的支持,配置模板可以与活动进行绑定发送。这里的消息还分为了即使发送、定时发送根据活动需求自由配置。
1.6.3、短信发送管理:这个主要是记录短信发送到状态,还有就是可以即时发送个人或群发信息。
1.6.4、用户消息管理:消息的接收对象分为了三类,个人、用户角色以及所有人,这里消息没有标记已读未读状态,并没有给每个人都发送消息,而是通过标记消息模板来确认接收消息的人群。
1.6.5、系统日统计信息管理:这个功能是每天凌晨时自动执行任务,任务主要是统计这一天中系统的数据变化情况,比如,新增用户,新增的素材,用户充值消费数据等。
1.6.6、图片处理方式配置管理:配置各个模块的图片是否需要裁切和加水印。
1.6.7、任务配置管理:配置平台发布的任务,用户通过做任务可以获得相应的盒币(积分),任务分为每日任务,连续任务,一次性任务等。
1.6.7、开发bug记录管理:这个功能主要是抓取开发过程中产生的bug,然后将bug记录并分配负责人,解决系统bug问题。
2、客户端接口:
3、开放接口: