nodejs 위 챗 애플 릿 테이프 파라미터 QR 코드 구현 코드 가 져 오기
프로젝트 수요 로 인해 애플 릿 페이지 에 인자 가 있 는 QR 코드 를 가 져 와 야 합 니 다.좋아,그럼 문 서 를 보고 하 자.
예전 에는 전단 지 를 쓰 고 백 엔 드 를 써 본 적 이 없 었 는데 이번 에는 모처럼 기회 가 생 겨 서 팀장 님 께 서 node 로 써 보라 고 하 셨 어 요.그럼 쓰 세 요.
1.첫 페이지 에서 token 을 가 져 오고 request 요청 을 보 내 며 get 방식 으로 url 뒤에 작은 프로그램의 grant 를 추가 합 니 다.type,appid,secret 는 token 을 순조롭게 받 았 습 니 다.주의 하 세 요.이 token 은 효과 적 인 시간 이 있 습 니 다.작은 프로그램 은 7200 초,즉 2 시간 입 니 다.매일 얻 는 횟수 가 제한 되 어 있 습 니 다.중간 제어 서버 가 정기 적 으로 token 을 가 져 와 야 합 니 다.제 업 무량 이 적어 서 token 을 저장 하지 않 았 습 니 다.매번 다시 가 져 옵 니 다.
2.token 을 받 은 후에 QR 코드 를 받 으 라 고 요청 합 니 다.구 덩이 는 위 챗 이 우리 에 게 2 진 흐름 을 얻 었 다 는 것 을 알려 주지 않 았 습 니 다.그 전에 전단 의 코드 를 썼 습 니 다.대류 에 대해 개념 이 없 었 습 니 다.바 이 두,구 글 의 경우 이틀 동안 고생 한 끝 에 해결 되 었 습 니 다.express 의 구 덩이 를 만 났 습 니 다.원래 express 의 코드 로 QR 코드 를 생 성 할 수 없습니다.express 를 새로 만 들 면 QR 코드 를 생 성 하 는 데 문제 가 없습니다.이상 한 구 덩이 를 만 들 수 있 습 니 다.
상위 코드:
var fs = require('fs');
var request = require('request');
var wx_conf = require('../../conf/wx_conf');// appid appSecret, , , 。
var AccessToken = {
grant_type: 'client_credential',
appid: wx_conf.appId,
secret: wx_conf.appSecret
}
var wx_gettoken_url = 'https://api.weixin.qq.com/cgi-bin/token?grant_type=' + AccessToken.grant_type + '&appid=' + AccessToken.appid + '&secret=' + AccessToken.secret;
//
var postData = {
path: "pages/index/index",
width: 430
}
var createQrcode = {
create: function() {
console.log('fn:create');
this.getToken();
},
// token
getToken: function() {
console.log('fn:getToken');
var that = this;
new Promise((resolve, reject) => {
console.log(' Promise ');
request({
method: 'GET',
url: wx_gettoken_url
}, function(err, res, body) {
if (res) {
resolve({
isSuccess: true,
data: JSON.parse(body)
});
} else {
console.log (err);
reject({
isSuccess: false,
data: err
});
}
})
}).then(proData => {
that.getQrcode(proData);
});
},
//
getQrcode: function(proData) {
console.log ('fn:getQrcode');
if (proData.isSuccess) {
postData = JSON.stringify(postData);
request({
method: 'POST',
url: 'https://api.weixin.qq.com/cgi-bin/wxaapp/createwxaqrcode?access_token=' + proData.data.access_token,
body: postData
}).pipe(fs.createWriteStream('./public/images/index.png'));//
} else {
console.log('Promise ');
}
}
}
module.exports = createQrcode;// , create
읽 어 주 셔 서 감사합니다. 여러분 에 게 도움 이 되 기 를 바 랍 니 다.본 사이트 에 대한 여러분 의 지지 에 감 사 드 립 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Node.js를 AWS서버에서 사용하는 실습간단한 예제와 함께 AWS에서 Node.js를사용하는 법을 배워보도록 하겠다. 해당 github에 있는 레포지토리로 사용을 할 것이다. 3000번 포트로 Listen되는 예제이고 간단히 GET, POST, DELET...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.