系统的体系结构包括用户层、表现层服务层、数据持久化层、数据库。
用户层主要包括PC端和移动端,用户可在PC或移动设备上登录微信APP,搜索相应的微信小程序名即可进入本系统。其中Windows操作系统下的微信版本为v2.7.0及以上,Mac操作系统下为v2.4.0及以上,移动端上的微信版本为v6.5.3。用户可任意选择某个登录平台,进入系统即可按需要选择服务层提供的功能。
表现层即表现层UI,位于服务层之上,主要用于实现数据的输入与输出,向下为服务层输送所需数据,向上为用户层提供数据返回。表现层采用微信小程序的WXML和WXSS来实现。
WXML实现页面组件的布局,WXML全称为WeiXin Markup Language,是微信独有的一套标签语言,提供如按钮(Button)、(Text)等基础组件并含有相应的事件绑定和条件渲染,组合基础组件和事件系统即可构建出所需页面结构。
WXSS定义组件样式,WXSS全称为WeiXin Style Sheets,与WXML类似,是微信平台独有的一套样式语言,用于设置WXML中的组件样式,包含CSS的大部分特性,并对CSS进行了扩充以适用于微信小程序的开发。
服务层采用JS+云函数的形式,在微信小程序中可以通过编写js逻辑代码来实现简单的服务层功能,而复杂的功能则通过编写云函数来实现,云函数编写代码为Nodejs。其中登录、注销、个性化设置、查看个人信息、修改个人信息、情感因子输入、选择前往区域等简单功能可通过编写js逻辑代码来实现,而涉及其它平台API调用的功能如情感分析等,则由微信小程序前端调用云函数,在云函数中实现API调用,并将调用结果返回给微信小程序前端。
数据持久化层即实现数据库操作的逻辑代码,本系统采用微信小程序提供的JSON云数据库,云开发提供了一系列易于使用的API,可实现常见的数据库操作,采用云开发可降低开发成本,提高开发效率。JSON云数据库,顾名思义,云数据库中的记录以JSON格式来表示,一个数据库可创建多个集合Collection(类似于关系数据库中的表),集合即JSON数组。