童秘公众号后端整理
童秘公众号使用maven构建项目,使用JFinal框架开发,数据库mysql,缓存Redis,服务器tomcat,使用docker发布,使用git版本管理。
童秘公众号中关键词:sn是公司系统中设备的唯一标识,weixinDeviceId是微信中对设备的唯一标识,后端将sn和weixinDeviceId关联,在设备和微信中相互调用中进行转换。所有的设备调用会用到sn,所有微信接口调用会用到weixinDeviceId。
一、童秘公众号提供的接口:
1、给设备提供getDeviceBySn接口:设备开机后联网成功就会调用该接口,设备通过sn参数获取weixinDeviceId,设备获取到weixinDeviceId后通过airkiss向局域网发送广播,微信即可搜索到设备,然后绑定设备,微信绑定设备后再回调到后端的wxMsg接口。
2、给微信公众号提供回调接口:微信公众号后台中设置童秘的回调地址http://xxx.xxx.com/xxx/wxMsg?cid=xxx
,微信中各种事件触发都会回调到此接口。(1):微信绑定设备的回调地址就会回调到该接口,调用绑定接口后端将weixinDeviceId、sn、openId和weixinAccountId存到WeixinUserDeviceBind表中。(2):回调接口还处理了用户在公众号中输入的文本和音频信息,并将这些信息以客服消息发送给发送用户绑定的设备中其他绑定的用户。
3、提供设备二维码接口:即创建设备二维码和下载设备二维码。接口在WeixinProductController类中,createImage创建二维码,downloadImage下载二维码。创建二维码即将sn和weixinDeviceId向关联然后插入到device表中,weixinDeviceId调用微信提供的接口从微信获取。
4、获取内容云资源接口:获取内容云资源接口基本都在StoryboxController类中,公众号通过CMSInterface类调用cms提供的接口获取数据,并将数据整理后发给前端。
5、另外还有设备解绑接口、用户信息接口、用户绑定的设备列表接口等。
二、童秘公众号的数据库表
1、Device表:该表中存储了具体一台设备相关的信息,sn、weixinDeviceId、appId、deviceConfigName、online、volume等。
2、DeviceConfig表:该表中存储了某一款产品的信息,例如:weixinProductId(微信产品id)、cidName、wifiType(声波库类型)、publicName(产品名称)、logoUrl等。
3、CmsAccount表:该表存储产品的appId和token
4、WeixinUserDeviceBind表:绑定关系表,该表中存储了用户和设备的绑定关系,weixinAccountId、openId和weixinDeviceId等
5、WeixinUser表:用户信息表
6、WeixinAppConfig表:微信公众号信息表,存储微信weixinAccountId、weixinAppId、weixinToken、 weixinSecret等。
7、Suggest、BabyInfo、BabyDeviceBind等表。
三、童秘公众号绑定设备和点播流程图:
1、绑定流程图

2、点播流程图

四、童秘公众号产品配置:
1、在微信后台设备功能中添加产品,具体操作地址:http://wiki.365jiating.com/pages/viewpage.action?pageId=56528034
2、然后在tongmiadmin后台产品配置和cms接入管理中添加配置信息。地址:http://xxxadmin.xxx.net/xxxadmin/yunying/index.html
3、申请设备二维码:在tongmiadmin后台产品配置中批次 查看 添加新批次
五、童秘公众号中的三个二维码:
1、网址二维码:该二维码是贴在一款产品对应同一个二维码的设备上。二维码的信息是类似http://xxx.xxx.com/xxx/xxx/codewifi.html?productId=xxxx ,可以进行微信配网绑定和声波配网。
2、型号二维码:微信添加产品后,从该产品信息信息下载的二维码,该二维码微信扫描后可以进入到微信配网和绑定。
3、设备二维码:设备二维码是一台设备对应一个二维码,是童秘admin后台产品中添加新批次生成的二维码,微信扫描该二维码后直接进到微信绑定设备界面。