我是靠谱客的博主 迷人月亮,这篇文章主要介绍asp.net开发微信公众平台(4)关注事件、用户记录、回复文本消息,现在分享给大家,希望可以做个参考。

上一篇已经把所有消息封装且都各自有方法处理了,这篇从使用第一步——关注开始, 关注之后进行消息记录,同时回复文本消息给用户,关注方法:DoSub,另外新用户扫描带参数的二维码关注方法:DoCodeNotSub。

1、用户关注公众号返回文本消息、用户记录:

根据解析的XML反射赋值给消息model, 现在进行用户判断:

复制代码
1
2
3
4
5
6
7
8
9
tb_User mUser =DALWei.InfoEntities<tb_User>(dbHome,u=>u.OpenId==mSub.FromUserName); if (mUser != null) { //说明此用户以前关注过后来取消了 } else { //全新的用户,添加 }
登录后复制

完整方法代码如下:

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
tb_User mUser =DALWei.InfoEntities<tb_User>(dbHome,u=>u.OpenId==mSub.FromUserName); if (mUser != null) { if (mUser.State == 0) { SText mStxt = new SText(); mStxt.ToUserName = mSub.FromUserName; mStxt.FromUserName = mSub.ToUserName; mStxt.CreateTime = mSub.CreateTime; mStxt.Content = "很抱歉,您已经被系统拒绝服务,若有疑问请联系我们"; DALWei.SendText(mStxt); return; } else { mUser.SubTime = DateTime.Now; DALWei.UpdateEntity(dbHome, mUser); } } else { mUser = new tb_User(); mUser.InId = 0; mUser.OpenId = mSub.FromUserName; mUser.GroupId = 0; mUser.NickName = ""; mUser.CreateTime = System.DateTime.Now; mUser.State = 1; mUser.PreFirst = ""; mUser.SubTime = DateTime.Now; DALWei.AddEntity(dbHome,mUser); }
登录后复制

已经存在时修改用户最后次关注时间,不存在时添加新用户;其中在用户已经存在的情况下,需要考虑用户state=0的情况,即用户被禁用的, 直接返回文本消息, 提示已经被禁用。

2、回复文本消息

已经封装好的发送文本消息模型SText, 赋值并输出即可:

复制代码
1
2
3
4
5
6
SText mStxtA = new SText(); mStxtA.ToUserName = mSub.FromUserName; mStxtA.FromUserName = mSub.ToUserName; mStxtA.CreateTime = mSub.CreateTime; mStxtA.Content =ReadXml.Menu(); Often.ResponseToEnd(DALWei.SendText(mStxtA));
登录后复制

其中,ReadXml.Menu()方法是返回默认的一段字符,当做普通文字菜单用( 后面会有自定义菜单)。

文字如下:

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
public static string Menu() { string Content = ""; Content += "欢迎使用/微笑nn"; Content += "输入以下序号开始获取最新信息:n"; Content += "1,企业快报ue102n"; Content += "2,行业要览n"; Content += "3,行情动态n"; Content += "4,焦点访谈n"; Content += "5,下游资讯n"; Content += "6,资讯中心ue135n"; Content += "7,采购ue42fn"; Content += "8,市场报告--VIPue035专属nn"; Content += "输入其他关键字可以搜索ue114n"; Content += "输入序号@关键字可以在指定类别下搜索,比如 1@马航n"; Content += "输入?或帮助 可以显示此菜单"; return Content; }
登录后复制

效果:

asp.net开发微信公众平台(4)关注事件、用户记录、回复文本消息


最后

以上就是迷人月亮最近收集整理的关于asp.net开发微信公众平台(4)关注事件、用户记录、回复文本消息的全部内容,更多相关asp内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(116)

评论列表共有 0 条评论

立即
投稿
返回
顶部