wxSign.ts 640 B

12345678910111213141516171819
  1. import jsSHA from 'jssha'
  2. // 随机字符串产生函数
  3. var createNonceStr = function () {
  4. return Math.random().toString(36).substr(2, 15);
  5. };
  6. // 时间戳产生函数
  7. var createTimeStamp = function () {
  8. return parseInt(new Date().getTime() / 1000 + '');
  9. };
  10. var calcSignature = function (ticket: string, noncestr: string, timestamp: number, url: string) {
  11. var str = 'jsapi_ticket=' + ticket + '&noncestr=' + noncestr + '&timestamp=' + timestamp + '&url=' + url;
  12. var shaObj = new jsSHA(str, 'TEXT');
  13. return shaObj.getHash('SHA-1', 'HEX') as string;
  14. }
  15. export default { calcSignature, createNonceStr, createTimeStamp }