애플 릿 -- (극광) 푸 시
개발 자가 초기 화 를 실행 할 때 auth 로 전송 해 야 합 니 다.payload。 이 데이터 구 조 는 개발 자 서버 에서 브 라 우 저 를 생 성하 고 전송 합 니 다. 개발 자가 이 브 라 우 저가 실행 중인 JMessage 를 초기 화 할 수 있 도록 권한 을 부여 합 니 다.개발 자 는 이 데 이 터 를 가 져 올 수 있 는 모든 사용자 가 합 법 적 인 사용자 인지 확인 해 야 합 니 다.
auth_payload 의 데이터 구 조 는 다음 과 같다.
{
"appkey": "7e42e869baa2fbca8ccb823c",
"random_str": "022cd9fd995849b58b3ef0e943421ed9",
"signature": "E422A978DE37196588531CD0C42010B5",
"timestamp": "1467967210887"
}
매개 변수 설명:
signature = md5(appkey={appkey}×tamp={timestamp}&random_str={random_str}&key={secret})
이 중 시 크 릿 은 개발 자가 극광 플랫폼 에 등록 한 IM 애플 리 케 이 션 masterSecret 입 니 다.서명 생 성 예시:
signature = md5("appkey=25b693b31d2c2ad5f072ef0c×tamp=1507791639926&random_str=022cd9fd995849b&key=bc2efab258f2019727a4f36l")
* 생산 환경 서명 생 성 은 개발 자 서버 에서 생 성 되 어야 합 니 다. 그렇지 않 으 면 masterSecret 노출 위험 이 있 습 니 다.
극광 푸 시:JMessage MiniProgram SDK 통합 안내서
miniProgram Sdk_:https://www.jiguang.cn/im
require('./common/runtime.js')
require('./common/vendor.js')
require('./common/main.js')
var md5 = require("./common/md5.js")
var JMessage = require("./common/jmessage-wxapplet-sdk-1.4.0.min.js")
//app.js
App({
onLaunch: function () {
// API
var jim = new JMessage({});
this.globalData.jim = jim;
},
onShow:function(){
// JMessage
this.initJG();
},
onHide: function (){
// JMessage
this.globalData.jim.loginOut();
},
createNonceStr: function () {
var str = "",
range = 20, //min
arr = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k',
'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', 'A', 'B', 'C', 'D', 'E', 'F', 'G',
'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'
];
//
if (true) {
range = Math.round(Math.random() * (36 - 20)) + 20;
}
for (var i = 0; i < range; i++) {
var pos = Math.round(Math.random() * (arr.length - 1));
str += arr[pos];
}
return str;
},
// JMessage
initJG(){
var random_str = this.createNonceStr();
var myDate = new Date().getTime();
var signature = md5("appkey=xxxxxxxxxx×tamp=" + myDate + "&random_str=" + random_str + "&key=xxxxxxxxxx");
this.globalData.jim.init({
"appkey": "xxxxxxxxxx",
"random_str": random_str,
"signature": signature,
"timestamp": myDate,
// 100
"flag": 1,
}).onSuccess(function (data) {
//TODO
console.log("initonSuccessdata", data);
}).onFail(function (data) {
//TODO
console.log("initonFaildata", data);
});
},
globalData: {
jim: null,
}
})
위 챗 애플 릿 에서 문자열 의 무 작위 수 를 만 듭 니 다. 길 이 는 사용자 정의 할 수 있 습 니 다.
최근 에 집성 극광 요구 randomstr: 20 - 36 길이 의 무 작위 문자열 로 서명 에 salt 를 사용 합 니 다.
그래서 방법 을 하나 썼어 요.
다음은 코드.
//
createNonceStr: function () {
var str = "",
range = 20,//min
arr = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'];
//
if (true) {
range = Math.round(Math.random() * (36 - 20)) + 20;
}
for (var i = 0; i < range; i++) {
var pos = Math.round(Math.random() * (arr.length - 1));
str += arr[pos];
}
return str;
}
인쇄 하 다.
var num=this.createNonceStr();
console.log(num);
출력:
HO27DqJty6h74eA6gfWH6jTF
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
애플 릿 이미지 새로 고침, nginx 재 작성 url 제거 인자이전에 nginx 로 이미지 서버 를 만 들 었 는데 전단 에 작은 프로그램 을 사 용 했 습 니 다. 작은 프로그램 이 출시 된 후에 그림 이 새로 고침 되 지 않 는 것 을 발 견 했 습 니 다. 조사 한 결과 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.