위 챗 jsSDK 로 컬 디 버 깅 프로 세 스 공략 (nodeJs 액세스 token 등 정보 획득 실현)
위 챗 js 인 터 페 이 스 를 사용 하려 면 파일 을 설정 해 야 합 니 다.
wx.config({
debug: true, // , api alert , , pc , log , pc 。
appId: 'wx3b70375e1032772b', // ,
timestamp: data.body.timestamp, // ,
nonceStr: data.body.noncestr, // ,
signature: data.body.signature, // , , 1
jsApiList: ['checkJsApi',
// 'chooseImage',
// 'previewImage',
// 'uploadImage',
// 'downloadImage',
// 'getNetworkType',//
// 'openLocation',//
// 'getLocation', //
// 'hideOptionMenu',// 1
// 'showOptionMenu',// 2
// 'closeWindow' , 3
// 'hideMenuItems', 4
// 'showMenuItems', 5
// 'hideAllNonBaseMenuItem', 6
// 'showAllNonBaseMenuItem', 7
'scanQRCode'//
] // , JS , JS 2
});
위 에 네 개의 필수 항목 이 있 습 니 다. 다음 에 우 리 는 그것들 을 어떻게 얻 는 지 소개 할 것 입 니 다.
획득 절차
첫 번 째 단 계 는 위 챗 퍼 블 릭 플랫폼 의 개발 자 도구 인터페이스 에 가서 퍼 블 릭 플랫폼 테스트 계 정 에 들 어가 테스트 번호 정 보 를 얻 는 것 입 니 다. 즉, appID 와 appsick 입 니 다. JS 인터페이스 보안 도 메 인 이름 (인터페이스 방문 화이트 리스트 설정) 을 작성 하고 도 메 인 이름 (등록 해 야 함) 은 포트 번 호 를 작성 해 야 합 니 다. 예 를 들 어 yangqi. site: 1338
두 번 째 단계, access 획득token, 유효기간 7200 s
const appId = ... //
const appSecret = ... //
https.get(
'https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid='+ appId +'&secret=' + appSecret,
(backData) => {
backData.on('data', (d) => {
process.stdout.write(d);
accessToken = JSON.parse(d)['access-token'];
res.send(d); // ( access-token)
})
}
)
세 번 째 단계, 두 번 째 단계 에서 얻 은 access - token 에 따라 ticket, 유효기간 7200 s 획득
const accessToken = ... //
https.get(
'https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token='+accessToken+'&type=jsapi',
(back) => {
back.on('data', (d) => {
res.send(d); // ticket
})
}
)
네 번 째 단 계 는 세 번 째 단계 에서 얻 은 ticket 에 따라 signature 를 얻 습 니 다.signature 를 가 져 오 려 면 noncestr 와 timestamp 가 필요 합 니 다. 배경 이 자동 으로 생 성 되 어야 합 니 다. 위 챗 인터페이스 와 무관 합 니 다.
var ticket = ... //
const createNonceStr = () => Math.random().toString(36).substr(2, 15);
const createTimeStamp = () => parseInt(new Date().getTime() / 1000) + '';
const calcSignature = function (ticket, noncestr, ts, url) {
var str = 'jsapi_ticket=' + ticket + '&noncestr=' + noncestr + '×tamp='+ ts +'&url=' + url; // ( + )
shaObj = sha1(str);
return shaObj;
}
const noncestr = createNonceStr();
const timestamp = createTimeStamp();
const signature = calcSignature(ticket, noncestr, timestamp, 'http://yangqi.site:1338/'); // sha1
res.send({
noncestr: noncestr,
timestamp: timestamp,
signature: signature,
})
이로써 우 리 는 wx. config 의 모든 내용 을 완전 하 게 얻 을 수 있다.
그러나 wx. config 만 가 져 오 는 것 으로 는 부족 합 니 다. 우 리 는 매번 디 버 깅 코드 를 온라인 에 올 릴 수 없습니다. 이것 은 놀 라 운 것 입 니 다. 우 리 는 로 컬 디 버 깅 을 사용 해 야 합 니 다. 컴퓨터 엔 드 는 host 를 수정 한 후에 nginx 대 리 를 사용 해 야 합 니 다. 그러나 핸드폰 엔 드 네트워크 방문 대 리 를 수정 해 야 합 니 다. 여 기 는 fiddler 를 사용 하 는 것 을 소개 합 니 다.
사용 절차
첫 번 째, 휴대 전화 와 fiddler 가 있 는 컴퓨터 는 반드시 같은 무선 네트워크 에 있어 야 한다.두 번 째 단 계 는 컴퓨터 의 host 를 수정 합 니 다. 예 를 들 어 yangqi. site: 1338 10.10.11.11 세 번 째 단 계 는 핸드폰 이 와 이 파 이 를 연결 할 때 수 동 대 리 를 설정 하고 대 리 를 fiddler 가 있 는 컴퓨터 의 ip 과 fiddler Tools - > Connections - > listen port 로 설정 합 니 다. 예 를 들 어 8888 네 번 째 단 계 는 ip 이 아 닌 도 메 인 이름 에 접근해 야 합 니 다.
마지막 으로 유연 꼬마 친구 의 격려 에 감 사 드 립 니 다. 저 는 깊이 연구 할 수 있 는 힘 이 생 겼 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Android 잠 금 해제 화면 비밀번호 (루트)1. adb. exe 를 엽 니 다. 1. 오른쪽 아래 에 있 는 "windows"– > "실행"– > "열기"– > "cmd"(조합 키 win + R) 를 입력 하 십시오.2. sdk/platform - tools...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.