이전 기사에서 WeChat 기업 계정 개발을 위한 WeChat 출석의 Baidu 지도 위치를 소개했습니다. 다음으로, 이 기사를 통해 WeChat 기업 계정 개발을 위한 WeChat 출석 쿠키의 사용에 대해 알아보세요. 내용은 다음과 같습니다.
WeChat 출석을 사용할 때마다 WeChat 기업 계정 개발: WeChat 사용자 정보와 웹 페이지 세션 간의 관계 이 방법은 WeChat 공식에서도 권장하는 약간 느린 속도입니다. 쿠키의 사용, 그러나 어떻게 쿠키를 사용하는지, 나는 그것을 알아낸 적이 없습니다.
원래 서버에서 클라이언트 데이터를 얻는 방법에는 두 가지가 있다고 생각했습니다. 하나는 쿼리 문자열을 URL에 넣는 것이고, 다른 하나는 제가 사용한 양식에 넣어서 제출하는 것입니다. 이전에는 주로 클라이언트 측에서 사용되었습니다. 쿠키에 있는 데이터를 서버에 직접 제출하는 것은 불가능했습니다. 그렇더라도 쿠키에 있는 데이터를 읽어서 서버의 숨겨진 필드에 넣는 것입니다. 양식을 작성한 후 서버에 게시합니다.
분명히 위챗 출석은 사실 URL입니다. URL을 입력하는 과정에서 데이터를 게시하는 과정은 없습니다. URL을 입력한 후에만 사용자나 ajax를 통해 제출할 수 있습니다. 간단히 말해서, 쿠키에 있는 데이터를 서버에 직접 제출할 수 있는 방법은 없는 것 같습니다. 막다른 골목이 있는 것 같습니다. 그래서 쿠키에 대해 다시 연구해보니 쿠키가 서버에 적극적으로 제출되는 것 같은데 게시물과 다른 위치에 제출되는 것 같았습니다. 물론 관련 문서는 찾지 못했지만 테스트를 통해 발견했습니다. 쿠키를 직접 설정해 놓으면 URL을 입력할 때마다 쿠키가 제출되고, 쿠키의 값은 서버에서 자연스럽게 읽을 수 있습니다. 그제서야 비밀번호 기억의 실제 구현 원리를 제대로 이해하게 되었습니다. Cookies의 값을 읽어서 숨겨진 필드에 넣은 다음 Ajax를 통해 서버에 제출하면 로그인이 필요 없다는 것이 아닙니다.
쿠키 데이터가 서버로 전송되고, 세션 ID도 쿠키를 통해 서버로 전송되는 것을 볼 수 있습니다.
프론트 엔드 js 읽기, 쿠키 설정 방법:
function setCookie(name, value) {//两个参数,一个是cookie的名子,一个是值 var Days = 30; //此 cookie 将被保存 30 天 var exp = new Date(); //new Date("December 31, 9998"); exp.setTime(exp.getTime() + Days * 24 * 60 * 60 * 1000); document.cookie = name + "=" + escape(value) + ";expires=" + exp.toGMTString(); } function getCookie(name) {//取cookies函数 var arr = document.cookie.match(new RegExp("(^| )" + name + "=([^;]*)(;|$)")); if (arr != null) return unescape(arr[2]); return null; }
CSharp 서버 운영 쿠키:
설정 쿠키
HttpCookie cookie = new HttpCookie("UserCode", username); cookie.Expires = DateTime.Now.AddDays(10);// (365 * 24 * 3600); this.Response.AppendCookie(cookie); HttpCookie cookieDeviceId = new HttpCookie("DeviceId", rt.DeviceId); cookieDeviceId.Expires = DateTime.Now.AddDays(10);// (365 * 24 * 3600); this.Response.AppendCookie(cookieDeviceId);
쿠키 읽기:
HttpCookie ttHttpCookie = this.Request.Cookies.Get("UserCode"); HttpCookie ttHttpCookieDeviceId = this.Request.Cookies.Get("DeviceId"); string code = Request.QueryString["code"]; if (ttHttpCookie == null || ttHttpCookieDeviceId == null) { WeiApi(code); } else { string username = ttHttpCookie.Value; string DeviceId = ttHttpCookieDeviceId.Value; if (string.IsNullOrEmpty(username) || string.IsNullOrEmpty(DeviceId)) { WeiApi(code); } else { new AppException("读取Cookies UserCode=" + username + ",DeviceId=" + DeviceId); initSession(username, DeviceId); } }
위 내용은 다음과 같습니다. WeChat 기업 계정 개발을 위한 WeChat 출석 쿠키 사용에 대해 모두가 소개했습니다. 더 많은 관련 내용을 보려면 PHP 중국어 웹사이트(m.sbmmt.com)를 주목하세요!