>  기사  >  위챗 애플릿  >  asp.net은 WeChat 공개 플랫폼(4)을 개발하고 이벤트, 사용자 기록을 추적하고 문자 메시지에 회신합니다.

asp.net은 WeChat 공개 플랫폼(4)을 개발하고 이벤트, 사용자 기록을 추적하고 문자 메시지에 회신합니다.

高洛峰
高洛峰원래의
2017-02-23 14:13:322122검색

이전 글에서는 모든 메시지가 각자의 방식으로 캡슐화되어 처리되었습니다. 이 글은 사용의 첫 번째 단계부터 시작됩니다. 다음 단계를 따르면 메시지가 녹음되고 사용자에게 문자 메시지가 회신됩니다. 동시에 다음 방법: DoSub. 또한 신규 사용자는 DoCodeNotSub 방법을 따르기 위해 매개변수를 사용하여 QR 코드를 스캔합니다.

1. 사용자는 공식 계정을 팔로우하고 문자 메시지와 사용자 기록을 반환합니다.

이제 구문 분석된 XML 반영을 기반으로 메시지 모델에 값을 할당합니다. 사용자 판단:

tb_User mUser =DALWei.InfoEntities<tb_user>(dbHome,u=>u.OpenId==mSub.FromUserName);
            if (mUser != null)
            {
                  //说明此用户以前关注过后来取消了
            }
            else
            {
                 //全新的用户,添加
            }</tb_user>

전체 메소드 코드는 다음과 같습니다.

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);
            
            }</tb_user>

사용자의 마지막 주의 시간이 이미 존재하는 경우 수정하고, 있는 경우 새 사용자를 추가합니다. 존재하지 않는 경우 사용자가 이미 존재하는 경우 사용자를 고려해야 합니다. 상태=0인 경우, 즉 사용자가 비활성화된 경우 사용자가 비활성화되었음을 나타내는 문자 메시지가 직접 반환됩니다.

2. 문자 메시지 답장

캡슐화된 송신 문자 메시지 모델 SText를 지정하여 출력할 수 있습니다.

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() 메서드는 일반 텍스트 메뉴로 사용할 수 있는 기본 문자 세그먼트를 반환합니다(나중에 사용자 정의 메뉴가 제공될 예정임).

텍스트는 다음과 같습니다:

public static string  Menu()
        {
            string Content = "";
            Content += "欢迎使用/微笑\n\n";
            Content += "输入以下序号开始获取最新信息:\n";
            Content += "1,企业快报\ue102\n";
            Content += "2,行业要览\n";
            Content += "3,行情动态\n";
            Content += "4,焦点访谈\n";
            Content += "5,下游资讯\n";
            Content += "6,资讯中心\ue135\n";
            Content += "7,采购\ue42f\n";
            Content += "8,市场报告--VIP\ue035专属\n\n";
            Content += "输入其他关键字可以搜索\ue114\n";
            Content += "输入序号@关键字可以在指定类别下搜索,比如 1@马航\n";
            Content += "输入?或帮助 可以显示此菜单";
            return Content;
        }

효과:

asp.net은 WeChat 공개 플랫폼(4)을 개발하고 이벤트, 사용자 기록을 추적하고 문자 메시지에 회신합니다.


더 보기 Asp.net은 WeChat 공개 플랫폼을 개발합니다. (4) 이벤트, 사용자 기록을 팔로우하고 문자 메시지에 회신하려면 PHP 중국어 웹사이트를 주목하세요!



성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.