여기에 제공된 데모는 전반적인 프레임워크를 갖춘 WeChat 공개 플랫폼의 소스 코드입니다. 소위 데모는 직접 시연하고 사용할 수 있는 것입니다. 물론 비즈니스에 특정한 세부 사항이 포함되어 있지는 않습니다. 레벨과 데이터 레벨 모두 이를 기반으로 자유롭게 개발할 수 있습니다. 처음 6개의 기사만 읽어도 분명 자신만의 무언가를 개발할 수 있을 것입니다.
데모는 간단하고 이해하기 쉽습니다. 데모와 실제 프로젝트의 차이점은 다음과 같습니다.
1. 데모는 데이터베이스에 연결되지 않습니다. 데모 다운로드를 직접 사용할 수 있습니다. 데이터베이스에 연결하는 것은 모든 사람에게 편리한 것은 아닙니다. 첫 번째 기사에서는 디자인 중 시각적 인터페이스를 포함하여 전체 데이터베이스가 오픈 소스로 제공되었습니다. 데이터베이스 생성 후 연결만 하면 연결 방법은 2부
2. 데모에서는 수신된 WeChat 메시지 모델을 캡슐화하지 않습니다. 받은 메시지를 캡슐화하는 목적은 메시지를 기록하고 데이터베이스에 추가하는 것이기 때문에 1이 없기 때문에 메시지 캡슐화의 세 번째 부분이 작성되었습니다. 데모 입구에서는 암호화 서명이 확인되지 않습니다. 데모는 다시 가져간 후 누구나 사용할 수 있기 때문에 암호화된 서명 검증을 추가하면 많은 사람들이 이를 조정하지 못할 수도 있습니다. 로컬 테스트의 경우 검증을 위한 암호화된 서명이 전혀 없습니다(실제로 로컬 테스트에서는 직접 true를 반환), 모두가 이해할 수 있도록 검증 방법의 코드를 두 번째 기사에서 한 마디로 삭제했습니다.
4. 캐싱 관련. 모든 비즈니스 요구 사항에 캐싱 및 IOC 주입이 필요한 것은 아니며, 일반화를 위해 모든 사람이 이에 노출된 것은 아닙니다. 다른 프로젝트에서 IOC 주입 및 캐시 처리와 관련된 문제가 발생하면 저에게 문의하시면 기꺼이 답변해 드리겠습니다.
요약: 데모는 완전한 WeChat 공개 플랫폼의 간단한 프레임워크이며 모든 개발에 적합합니다. ; 실제 프로젝트에 사용해야 하는 데이터베이스 관련 이전 글에도 모두 코드와 운영 방법이 나와 있습니다.
데모를 기반으로 누구나 자신만의 위챗 공개 플랫폼을 빠르게 만들 수 있습니다.
가장 중요한 것은 전체적인 아이디어를 공유하는 것입니다~ 위챗 공개 플랫폼은 사실 매우 간단합니다. 대부분의 사람들은 메시지 수신 및 처리의 내용을 이해하지 못합니다. 이러한 다양한 경우에 대한 많은 개발이 있을 수 있습니다. 알아내는 데 오랜 시간이 걸립니다(주로 일부 친구는 한 번에 알아낼 수 없기 때문에 기술적 능력과는 관련이 없습니다). 이 데모 소스 코드를 공유하여 누구나 시작할 수 있습니다
public void LookMsgType(string msgType) { #region 判断消息类型 switch (msgType) { case "text": RText mText = new RText(); mText = ReadXml.GetModel<RText>(mText, xmlModel); BLLWei.DoText(dbHome, mText);//文本消息 break; case "image": RImg mImg = new RImg(); mImg = ReadXml.GetModel<RImg>(mImg, xmlModel); BLLWei.DoImg(dbHome,mImg);//图片 break; case "voice": //声音 RVoice mVoice = new RVoice(); mVoice = ReadXml.GetModel<RVoice>(mVoice, xmlModel); BLLWei.DoVoice(dbHome,mVoice); break; case "video"://视频 RVideo mVideo = new RVideo(); mVideo = ReadXml.GetModel<RVideo>(mVideo, xmlModel); BLLWei.DoVideo(dbHome, mVideo); break; case "location"://地理位置 RLocation mLocation = new RLocation(); mLocation = ReadXml.GetModel<RLocation>(mLocation, xmlModel); BLLWei.DoLocation(dbHome,mLocation); break; case "link"://链接 RLink mLink = new RLink(); mLink = ReadXml.GetModel<RLink>(mLink, xmlModel); BLLWei.DoLink(dbHome,mLink); break; #region 事件 case "event": switch (ReadXml.ReadModel("Event", xmlModel)) { case "subscribe": if (ReadXml.ReadModel("EventKey", xmlModel).IndexOf("qrscene_") >= 0) { RCodeNotSub mNotSub = new RCodeNotSub(); mNotSub = ReadXml.GetModel<RCodeNotSub>(mNotSub, xmlModel); BLLWei.DoCodeNotSub(dbHome,mNotSub);//未关注的新用户,扫描带参数的二维码关注 } else { RSub mSub = new RSub(); mSub = ReadXml.GetModel<RSub>(mSub, xmlModel); BLLWei.DoSub(dbHome,mSub);//普通关注 } break; case "unsubscribe": RUnsub mUnSub = new RUnsub (); mUnSub = ReadXml.GetModel<RUnsub>(mUnSub, xmlModel); BLLWei.DoUnSub(dbHome,mUnSub);//取消关注 break; case "SCAN": RCodeSub mCodeSub = new RCodeSub(); mCodeSub = ReadXml.GetModel<RCodeSub>(mCodeSub, xmlModel); BLLWei.DoCodeSub(dbHome,mCodeSub);//已经关注的用户扫描带参数的二维码 break; case "LOCATION"://用户上报地理位置 RSubLocation mSubLoc = new RSubLocation(); mSubLoc = ReadXml.GetModel<RSubLocation>(mSubLoc, xmlModel); BLLWei.DoSubLocation(dbHome, mSubLoc); break; case "CLICK"://自定义菜单点击 RMenuClick mMenuClk = new RMenuClick(); mMenuClk = ReadXml.GetModel<RMenuClick>(mMenuClk, xmlModel); BLLWei.DoMenuClick(dbHome, mMenuClk); break; case "VIEW"://自定义菜单跳转事件 RMenuView mMenuVw = new RMenuView(); mMenuVw = ReadXml.GetModel<RMenuView>(mMenuVw, xmlModel); BLLWei.DoMenuView(dbHome, mMenuVw); break; }; break; #endregion } #endregion }
앞으로도 기사를 쓸 예정입니다. 공유 과정, 개발 과정을 공유하기 위해 이 기사의 모든 스크린샷에서 WeChat ID, 이름, 등, 테스트를 위해 사용자의 일반 계정 없이 기사를 작성할 때 스크린샷이 사용되었지만.
더 많은 asp.net 개발을 보려면 WeChat 공개 플랫폼(7) 전체 프레임워크 데모 소스 코드와 관련된 처음 6개의 기사, PHP 중국어 웹사이트를 주목하세요!