大家好,我是做微信公众平台开发的,现在遇到一个有意思问题:
今天在一号店的公号“偷师”,在默认情况下,输入1,公号将回复一则每条图文标题中都包含“1”多图文消息;(很明显,查询数据库)
点击底部的“孕妈”菜单,公号回复“请在10分钟内选择下列数字...”这里会出现1到9的数字选项,输入1,公号回复“婴儿期保养的知识”。
请各位大神看下,如何做出这种“相同的关键词响应不同的消息?”
======================================================================
再来一个,在一些公号中加入了“成语接龙、脑筋急转弯”的文字游戏,游戏是靠“退出”关键词来区分默认关键词和游戏关键词,这种又是怎样的一个原理,哎,好苦恼,好多天都没解决这个问题了,希望大神们踊跃发言,分管给够!
------解决思路----------------------
:1:
我举个例子!比如
->表示下面,A->1,2,3表示A下面有1,2,3.
A->1,2,3
B->1,2,3
假如第一次点击了A,存入数据库,下一次输入1,查询数据库中上一次点击的标志,比如A还是B。
总之,用数据库就可以解决。存储用户每次的会话状态,就好比树一样,每个节点的 父节点。
2:
比如为每个菜单分配一个变量,第一次点击A,A置为true,A下面菜单a,b,c点击a又用一个变量记录a点击的状态。程序可以用if语句判断。
if(A){if(b){执行点击1的内容}}
这也算一种方法,但不推荐,谁知道你的公众号有多少层会话。
给分吧!
------解决思路----------------------
memorycache缓存下前一次的菜单是啥
------解决思路----------------------
实现一种会话状态机制,关键是考虑何时重置会话,像固定长时间以后,或者有用户事件触发的时候
------解决思路----------------------
缓存用户token和用户之前的操作就知道该回复什么了