WeChat의 사용자 정의 메뉴는 각각 클릭 유형과 보기 유형에 해당하는 두 가지 범주로 나뉘며, 리디렉션은 아래와 같이 보기 유형 유형인 것으로 알고 있습니다.
WeChat 리디렉션 메뉴의 주요 규칙은 다음과 같습니다. 다음과 같이.
scope=snsapi_base 메소드 링크는 다음과 같습니다.
https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx3d81fc2886d86526&redirect_uri=http%3A%2F %2Fwww .iqidi.com%2Ftestwx.ashx&response_type=code&scope=snsapi_base&state=123#wechat_redirect
scope=snsapi_userinfo 링크는 다음과 같습니다:
https://open.weixin.qq. com/ connect/oauth2/authorize?appid=wx3d81fc2886d86526&redirect_uri=http%3A%2F%2Fwww.iqidi.com%2Ftestwx.ashx&response_type=code&scope=snsapi_userinfo&state=123#wechat_redirect
이 두 메뉴 링크는 주로 우리에게 제공됩니다. 링크 주소는 UrlEncode에 의해 처리된 후 매개변수redirect_uri에 할당됩니다.
링크 주소가 상대적으로 길기 때문에 메뉴를 구성해야 할 때마다 복사해서 수정하는 것이 매우 불편합니다. 사용자 정의 메뉴의 구성 인터페이스에서 버튼 기능을 추가하여 수정할 수 있습니다. 콘텐츠 처리, 필요한 주소 변환을 달성하기 위해 내 포털 애플리케이션 플랫폼의 사용자 정의 메뉴 작동은 이 아이디어를 기반으로 합니다.
기본적으로 아래와 같이 리디렉션해야 하는 URL 주소만 입력하면 됩니다.
리디렉션된 메뉴 링크 주소로 구성해야 하는 경우 [리디렉션 메뉴 변환] 버튼 동작을 호출하고 스크립트 기능을 사용하여 변환된 결과를 다음으로 변환합니다. 아래에 표시됩니다.
파라미터의 URL 트랜스코딩을 구현하기 위해 백그라운드 자바스크립트가 사용되는 것으로 나타났으며, 완전한 주소 연결을 구성하려면 백그라운드의 AppId를 얻어야 합니다. .
앞서 언급한 것처럼 첫 번째는 URL 트랜스코딩을 구현하는 것이고, 두 번째는 백그라운드의 AppId를 얻은 후 완전한 URL을 생성하는 것입니다. . 중복되는 연구를 피하기 위해 함께 공부할 수 있는 코드 부분을 올려 놓았습니다.
사용하기 전에 또 다른 문제에 주의해야 합니다. 즉, 지정된 페이지로 리디렉션한 후 이 페이지에 코드 매개변수가 있어야 합니다. 물론, 자바스크립트를 통해 해당 코드 매개변수를 가져옵니다.
이 로직은 아래와 같이 스크립트 함수로 구현할 수 있습니다
function getUrlVars(){ var vars = [], hash; var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&'); for(var i = 0; i < hashes.length; i++) { hash = hashes[i].split('='); vars.push(hash[0]); vars[hash[0]] = hash[1]; } return vars; }
이 함수를 재정의한 후 우리는 페이지에서 코드 매개변수를 얻는 작업은 다음과 같습니다.
var code = getUrlVars()["code"];
먼저 링크 주소를 필수 링크 주소 연산으로 변환하는 방법부터 살펴보겠습니다.
링크 주소의 상호 변환(편의상)을 위해 링크 주소에 qq라는 도메인 이름이 포함되어 있는지 확인할 수 있습니다.
if (url.indexOf("https://open.weixin.qq.com/connect/oauth2/authorize?") == 0) { var redirect_uri = getUrlVars(url)["redirect_uri"]; if (redirect_uri != "") { var newUrl = decodeURIComponent(redirect_uri); $("#" + ctrlName).val(newUrl); } }
그리고 우리가 입력한 일반 링크라면 아래와 같이 리디렉션된 링크 주소로 변환되어야 합니다.
else { var newUrl = encodeURIComponent(url); var reNewUrl = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=@ViewBag.appid&redirect_uri=" + newUrl + "&response_type=code&scope=snsapi_base&state=123#wechat_redirect"; $("#" + ctrlName).val(reNewUrl); }
리디렉션 링크에는 현재 WeChat 개발 사용자의 appId가 있어야 합니다. 이는 고정되지 않으며 MVC의 동적 개체에 따라 다릅니다. 여기서는 @ViewBag.appid 바인딩에 사용됩니다.
해당 MenuController 컨트롤러에 값을 할당하면 됩니다.
/// <summary> /// 默认的视图控制方法 /// </summary> /// <returns></returns> public override ActionResult Index() { ViewBag.appid = GetAppId(); return View(); }
이렇게 구성된 리디렉션 메뉴 주소 목록은 아래와 같습니다. 해당 레코드 상세 페이지를 열고 해당 페이지의 기능 버튼을 사용할 수 있습니다. 자세한 링크 내용의 이해를 돕기 위해 언제든지 리디렉션 메뉴의 주소를 변환하세요.
위의 링크 주소를 구성한 후 정상적인 상황에서는 해당 페이지를 웹사이트에 추가해야 할 수 있습니다. 사용자가 WeChat에서 자신의 기본 정보를 확인하는 데 편리하며, 사용자의 개인 데이터를 결합하는 데에도 사용됩니다. 예를 들어 사용자는 휴대폰, 이메일 주소 등을 결합할 수 있으며 비즈니스 시스템과 관련된 사용자 이름도 결합할 수 있습니다. 이를 통해 사용자는 신속하게 회원으로 등록하거나 백엔드 시스템에 연결할 수 있습니다.
제가 디자인한 두 가지 사용자 정보 표시 인터페이스는 다음과 같습니다.
이 두 인터페이스는 주로 Jquery Mobile 관련 콘텐츠를 사용하여 인터페이스를 처리합니다. 전체 모듈은 사용자의 휴대폰을 확인하기 위해 SMS 인증 코드 방식을 결합하여 정보의 정확한 바인딩 작업을 실현할 수 있습니다. 물론 외부 시스템과 결합하여 사용자의 계정과 비밀번호를 바인딩할 수도 있으므로 사용자는 실제로 외부 ID를 사용하여 쇼핑, 데이터 유지 관리, 비즈니스 관리 및 기타 작업을 위해 WeChat의 마이크로 웹사이트 플랫폼에 들어갈 수 있습니다. 시스템이 바인딩되어 외부 시스템에 대한 빠른 액세스를 제공합니다.
WeChat 메뉴에서 사용자 데이터를 얻기 위해 리디렉션을 사용하는 WeChat 포털 및 애플리케이션의 C# 개발에 대한 자세한 내용은 PHP 중국어 웹사이트에 주목하세요!