1、当发送【上传素材】给公众号后,服务器会接收到你发送的消息($postStr = file_get_contents( ‘php://input’ );), 消息实体为(明文的):
2、记录用户的状态以后(用户一直在互动模式中),发送所有的消息, 都在互动模式中, 系统会引导用户进行下一步操作。当然了, 进入互动模式中以后, 会先提示用户,回复【素材的标题】, 当然这个过程是存在多变的因素, 可以多次回复标题, 直到用户回复【确认】以后,作品的标题确定, 并引导用户上传素材(图片,语音)。
3、用户上传完素材以后,再引导用户回复触发的关键字,就是发送关键字后(不在互动模式中),就会返回对应的内容, 当然这个过程也是存在多变性的, 可以回复多次,直到确定关键字不变后, 回复【确认】
4、回复确认以后, 把存储在Redis中的数据全部读取出来,存出到数据库中。(我是存储在 【md5(OPENID)_data】)中的, 在以上的交互过程中, 没有和数据库打交道。直到确定关键字以后, 才和数据库发生交互。
5、存储成功以后, 提示用户上传成功, 并引导发送对应的关键字,查看效果。
6、回复关键字, 微信服务器返回对应的素材(图片,语音)