@norcy/react-native-toolkit 0.1.76 → 0.1.77

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -4,10 +4,10 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.WeChatLoginUtil = void 0;
7
- var WeChat = _interopRequireWildcard(require("react-native-wechat-lib"));
8
- var _Tool = require("./Tool");
9
7
  var _jsSha = require("js-sha1");
10
8
  var _reactNative = require("react-native");
9
+ var WeChat = _interopRequireWildcard(require("react-native-wechat-lib"));
10
+ var _Tool = require("./Tool");
11
11
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
12
12
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
13
13
  // https://developers.weixin.qq.com/doc/offiaccount/Basic_Information/Get_access_token.html
@@ -24,7 +24,8 @@ const getSDKTicket = async accessToken => {
24
24
  return res.ticket;
25
25
  };
26
26
  const createSignature = (WeiXinId, nonceStr, sdkTicket, timestamp) => {
27
- const ret = 'appid=' + WeiXinId + '&noncestr+' + nonceStr + '&sdk_ticket+' + sdkTicket + '&timestamp+' + timestamp;
27
+ const ret = 'appid=' + WeiXinId + '&noncestr=' + nonceStr + '&sdk_ticket=' + sdkTicket + '&timestamp=' + timestamp;
28
+ console.log('wx scan signature', ret);
28
29
  return (0, _jsSha.sha1)(ret);
29
30
  };
30
31
  const WeChatLoginUtil = exports.WeChatLoginUtil = {
@@ -70,9 +71,9 @@ const WeChatLoginUtil = exports.WeChatLoginUtil = {
70
71
  const token = await getAccessToken(WeiXinId, WeiXinSecret);
71
72
  const ticket = await getSDKTicket(token);
72
73
  const nonceStr = _Tool.Tool.generateObjectId();
73
- const timestamp = String(Date.now());
74
- const signature = createSignature(WeiXinId, ticket, nonceStr, timestamp);
75
- _reactNative.NativeModules.RCTWeChat.Auth(WeiXinId, nonceStr, timestamp, 'snsapi_userinfo', signature, null, ret => {
74
+ const timestamp = String(Math.round(Date.now() / 1000));
75
+ const signature = createSignature(WeiXinId, nonceStr, ticket, timestamp);
76
+ _reactNative.NativeModules.WeChat.authByScan(WeiXinId, nonceStr, timestamp, 'snsapi_userinfo', signature, '', ret => {
76
77
  console.log('scan result', ret);
77
78
  });
78
79
  }
@@ -1 +1 @@
1
- {"version":3,"names":["WeChat","_interopRequireWildcard","require","_Tool","_jsSha","_reactNative","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","getAccessToken","WeiXinId","WeiXinSecret","url","response","fetch","res","json","access_token","getSDKTicket","accessToken","ticket","createSignature","nonceStr","sdkTicket","timestamp","ret","sha1","WeChatLoginUtil","exports","doLogin","callback","sendAuthRequest","then","console","log","accessTokenUrl","code","userInfoUrl","openid","res2","nickname","headimgurl","unionid","catch","e","warn","error","doLoginByScan","token","Tool","generateObjectId","String","Date","now","signature","NativeModules","RCTWeChat","Auth"],"sources":["WeChatLoginUtil.ts"],"sourcesContent":["import * as WeChat from 'react-native-wechat-lib';\nimport { Tool } from './Tool';\nimport { sha1 } from 'js-sha1';\nimport { NativeModules } from 'react-native';\n\n// https://developers.weixin.qq.com/doc/offiaccount/Basic_Information/Get_access_token.html\nconst getAccessToken = async (WeiXinId: string, WeiXinSecret: string) => {\n let url =\n 'https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=' +\n WeiXinId +\n '&secret=' +\n WeiXinSecret;\n const response = await fetch(url);\n const res = await response.json();\n return res.access_token;\n};\n\nconst getSDKTicket = async (accessToken: string) => {\n let url =\n 'https://api.weixin.qq.com/cgi-bin/ticket/getticket?type=2&access_token=' +\n accessToken;\n const response = await fetch(url);\n const res = await response.json();\n return res.ticket;\n};\n\nconst createSignature = (\n WeiXinId: string,\n nonceStr: string,\n sdkTicket: string,\n timestamp: string\n) => {\n const ret =\n 'appid=' +\n WeiXinId +\n '&noncestr+' +\n nonceStr +\n '&sdk_ticket+' +\n sdkTicket +\n '&timestamp+' +\n timestamp;\n return sha1(ret);\n};\n\nexport const WeChatLoginUtil = {\n doLogin: (WeiXinId: string, WeiXinSecret: string, callback: Function) => {\n WeChat.sendAuthRequest('snsapi_userinfo')\n .then((ret) => {\n console.log('wechat auth success ', ret);\n\n let accessTokenUrl =\n 'https://api.weixin.qq.com/sns/oauth2/access_token?appid=' +\n WeiXinId +\n '&secret=' +\n WeiXinSecret +\n '&code=' +\n ret.code +\n '&grant_type=authorization_code';\n fetch(accessTokenUrl)\n .then((res) => {\n return res.json();\n })\n .then((res) => {\n console.log('wechat get access code success: ', res.access_token);\n let userInfoUrl =\n 'https://api.weixin.qq.com/sns/userinfo?access_token=' +\n res.access_token +\n '&openid=' +\n res.openid;\n fetch(userInfoUrl)\n .then((res2) => {\n return res2.json();\n })\n .then((json) => {\n console.log('wechat get user info success: ', json);\n callback({\n nickname: json.nickname,\n headimgurl: json.headimgurl,\n openid: json.openid,\n unionid: json.unionid,\n });\n })\n .catch((e) => {\n console.warn('wechat get user info fail ', e);\n callback({ error: e });\n });\n })\n .catch((e) => {\n console.warn('wechat get access code fail ', e);\n callback({ error: e });\n });\n })\n .catch((e: any) => {\n console.warn('wechat auth fail ', e);\n callback({ error: e });\n });\n },\n\n doLoginByScan: async (WeiXinId: string, WeiXinSecret: string) => {\n const token = await getAccessToken(WeiXinId, WeiXinSecret);\n const ticket = await getSDKTicket(token);\n const nonceStr = Tool.generateObjectId();\n const timestamp = String(Date.now());\n const signature = createSignature(WeiXinId, ticket, nonceStr, timestamp);\n NativeModules.RCTWeChat.Auth(\n WeiXinId,\n nonceStr,\n timestamp,\n 'snsapi_userinfo',\n signature,\n null,\n (ret: []) => {\n console.log('scan result', ret);\n }\n );\n },\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["_jsSha","require","_reactNative","WeChat","_interopRequireWildcard","_Tool","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","getAccessToken","WeiXinId","WeiXinSecret","url","response","fetch","res","json","access_token","getSDKTicket","accessToken","ticket","createSignature","nonceStr","sdkTicket","timestamp","ret","console","log","sha1","WeChatLoginUtil","exports","doLogin","callback","sendAuthRequest","then","accessTokenUrl","code","userInfoUrl","openid","res2","nickname","headimgurl","unionid","catch","e","warn","error","doLoginByScan","token","Tool","generateObjectId","String","Math","round","Date","now","signature","NativeModules","authByScan"],"sources":["WeChatLoginUtil.ts"],"sourcesContent":["import { sha1 } from 'js-sha1';\nimport { NativeModules } from 'react-native';\nimport * as WeChat from 'react-native-wechat-lib';\nimport { Tool } from './Tool';\n\n// https://developers.weixin.qq.com/doc/offiaccount/Basic_Information/Get_access_token.html\nconst getAccessToken = async (WeiXinId: string, WeiXinSecret: string) => {\n let url =\n 'https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=' +\n WeiXinId +\n '&secret=' +\n WeiXinSecret;\n const response = await fetch(url);\n const res = await response.json();\n return res.access_token;\n};\n\nconst getSDKTicket = async (accessToken: string) => {\n let url =\n 'https://api.weixin.qq.com/cgi-bin/ticket/getticket?type=2&access_token=' +\n accessToken;\n const response = await fetch(url);\n const res = await response.json();\n return res.ticket;\n};\n\nconst createSignature = (\n WeiXinId: string,\n nonceStr: string,\n sdkTicket: string,\n timestamp: string\n) => {\n const ret =\n 'appid=' +\n WeiXinId +\n '&noncestr=' +\n nonceStr +\n '&sdk_ticket=' +\n sdkTicket +\n '&timestamp=' +\n timestamp;\n console.log('wx scan signature', ret);\n return sha1(ret);\n};\n\nexport const WeChatLoginUtil = {\n doLogin: (WeiXinId: string, WeiXinSecret: string, callback: Function) => {\n WeChat.sendAuthRequest('snsapi_userinfo')\n .then((ret) => {\n console.log('wechat auth success ', ret);\n\n let accessTokenUrl =\n 'https://api.weixin.qq.com/sns/oauth2/access_token?appid=' +\n WeiXinId +\n '&secret=' +\n WeiXinSecret +\n '&code=' +\n ret.code +\n '&grant_type=authorization_code';\n fetch(accessTokenUrl)\n .then((res) => {\n return res.json();\n })\n .then((res) => {\n console.log('wechat get access code success: ', res.access_token);\n let userInfoUrl =\n 'https://api.weixin.qq.com/sns/userinfo?access_token=' +\n res.access_token +\n '&openid=' +\n res.openid;\n fetch(userInfoUrl)\n .then((res2) => {\n return res2.json();\n })\n .then((json) => {\n console.log('wechat get user info success: ', json);\n callback({\n nickname: json.nickname,\n headimgurl: json.headimgurl,\n openid: json.openid,\n unionid: json.unionid,\n });\n })\n .catch((e) => {\n console.warn('wechat get user info fail ', e);\n callback({ error: e });\n });\n })\n .catch((e) => {\n console.warn('wechat get access code fail ', e);\n callback({ error: e });\n });\n })\n .catch((e: any) => {\n console.warn('wechat auth fail ', e);\n callback({ error: e });\n });\n },\n\n doLoginByScan: async (WeiXinId: string, WeiXinSecret: string) => {\n const token = await getAccessToken(WeiXinId, WeiXinSecret);\n const ticket = await getSDKTicket(token);\n const nonceStr = Tool.generateObjectId();\n const timestamp = String(Math.round(Date.now() / 1000));\n const signature = createSignature(WeiXinId, nonceStr, ticket, timestamp);\n NativeModules.WeChat.authByScan(\n WeiXinId,\n nonceStr,\n timestamp,\n 'snsapi_userinfo',\n signature,\n '',\n (ret: []) => {\n console.log('scan result', ret);\n }\n );\n },\n};\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAC,uBAAA,CAAAH,OAAA;AACA,IAAAI,KAAA,GAAAJ,OAAA;AAA8B,SAAAK,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAH,wBAAAO,GAAA,EAAAJ,WAAA,SAAAA,WAAA,IAAAI,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,oBAAAA,GAAA,wBAAAA,GAAA,4BAAAE,OAAA,EAAAF,GAAA,UAAAG,KAAA,GAAAR,wBAAA,CAAAC,WAAA,OAAAO,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAJ,GAAA,YAAAG,KAAA,CAAAE,GAAA,CAAAL,GAAA,SAAAM,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAX,GAAA,QAAAW,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAd,GAAA,EAAAW,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAV,GAAA,EAAAW,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAX,GAAA,CAAAW,GAAA,SAAAL,MAAA,CAAAJ,OAAA,GAAAF,GAAA,MAAAG,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAAhB,GAAA,EAAAM,MAAA,YAAAA,MAAA;AAE9B;AACA,MAAMW,cAAc,GAAG,MAAAA,CAAOC,QAAgB,EAAEC,YAAoB,KAAK;EACvE,IAAIC,GAAG,GACL,6EAA6E,GAC7EF,QAAQ,GACR,UAAU,GACVC,YAAY;EACd,MAAME,QAAQ,GAAG,MAAMC,KAAK,CAACF,GAAG,CAAC;EACjC,MAAMG,GAAG,GAAG,MAAMF,QAAQ,CAACG,IAAI,CAAC,CAAC;EACjC,OAAOD,GAAG,CAACE,YAAY;AACzB,CAAC;AAED,MAAMC,YAAY,GAAG,MAAOC,WAAmB,IAAK;EAClD,IAAIP,GAAG,GACL,yEAAyE,GACzEO,WAAW;EACb,MAAMN,QAAQ,GAAG,MAAMC,KAAK,CAACF,GAAG,CAAC;EACjC,MAAMG,GAAG,GAAG,MAAMF,QAAQ,CAACG,IAAI,CAAC,CAAC;EACjC,OAAOD,GAAG,CAACK,MAAM;AACnB,CAAC;AAED,MAAMC,eAAe,GAAGA,CACtBX,QAAgB,EAChBY,QAAgB,EAChBC,SAAiB,EACjBC,SAAiB,KACd;EACH,MAAMC,GAAG,GACP,QAAQ,GACRf,QAAQ,GACR,YAAY,GACZY,QAAQ,GACR,cAAc,GACdC,SAAS,GACT,aAAa,GACbC,SAAS;EACXE,OAAO,CAACC,GAAG,CAAC,mBAAmB,EAAEF,GAAG,CAAC;EACrC,OAAO,IAAAG,WAAI,EAACH,GAAG,CAAC;AAClB,CAAC;AAEM,MAAMI,eAAe,GAAAC,OAAA,CAAAD,eAAA,GAAG;EAC7BE,OAAO,EAAEA,CAACrB,QAAgB,EAAEC,YAAoB,EAAEqB,QAAkB,KAAK;IACvEhD,MAAM,CAACiD,eAAe,CAAC,iBAAiB,CAAC,CACtCC,IAAI,CAAET,GAAG,IAAK;MACbC,OAAO,CAACC,GAAG,CAAC,sBAAsB,EAAEF,GAAG,CAAC;MAExC,IAAIU,cAAc,GAChB,0DAA0D,GAC1DzB,QAAQ,GACR,UAAU,GACVC,YAAY,GACZ,QAAQ,GACRc,GAAG,CAACW,IAAI,GACR,gCAAgC;MAClCtB,KAAK,CAACqB,cAAc,CAAC,CAClBD,IAAI,CAAEnB,GAAG,IAAK;QACb,OAAOA,GAAG,CAACC,IAAI,CAAC,CAAC;MACnB,CAAC,CAAC,CACDkB,IAAI,CAAEnB,GAAG,IAAK;QACbW,OAAO,CAACC,GAAG,CAAC,kCAAkC,EAAEZ,GAAG,CAACE,YAAY,CAAC;QACjE,IAAIoB,WAAW,GACb,sDAAsD,GACtDtB,GAAG,CAACE,YAAY,GAChB,UAAU,GACVF,GAAG,CAACuB,MAAM;QACZxB,KAAK,CAACuB,WAAW,CAAC,CACfH,IAAI,CAAEK,IAAI,IAAK;UACd,OAAOA,IAAI,CAACvB,IAAI,CAAC,CAAC;QACpB,CAAC,CAAC,CACDkB,IAAI,CAAElB,IAAI,IAAK;UACdU,OAAO,CAACC,GAAG,CAAC,gCAAgC,EAAEX,IAAI,CAAC;UACnDgB,QAAQ,CAAC;YACPQ,QAAQ,EAAExB,IAAI,CAACwB,QAAQ;YACvBC,UAAU,EAAEzB,IAAI,CAACyB,UAAU;YAC3BH,MAAM,EAAEtB,IAAI,CAACsB,MAAM;YACnBI,OAAO,EAAE1B,IAAI,CAAC0B;UAChB,CAAC,CAAC;QACJ,CAAC,CAAC,CACDC,KAAK,CAAEC,CAAC,IAAK;UACZlB,OAAO,CAACmB,IAAI,CAAC,4BAA4B,EAAED,CAAC,CAAC;UAC7CZ,QAAQ,CAAC;YAAEc,KAAK,EAAEF;UAAE,CAAC,CAAC;QACxB,CAAC,CAAC;MACN,CAAC,CAAC,CACDD,KAAK,CAAEC,CAAC,IAAK;QACZlB,OAAO,CAACmB,IAAI,CAAC,8BAA8B,EAAED,CAAC,CAAC;QAC/CZ,QAAQ,CAAC;UAAEc,KAAK,EAAEF;QAAE,CAAC,CAAC;MACxB,CAAC,CAAC;IACN,CAAC,CAAC,CACDD,KAAK,CAAEC,CAAM,IAAK;MACjBlB,OAAO,CAACmB,IAAI,CAAC,mBAAmB,EAAED,CAAC,CAAC;MACpCZ,QAAQ,CAAC;QAAEc,KAAK,EAAEF;MAAE,CAAC,CAAC;IACxB,CAAC,CAAC;EACN,CAAC;EAEDG,aAAa,EAAE,MAAAA,CAAOrC,QAAgB,EAAEC,YAAoB,KAAK;IAC/D,MAAMqC,KAAK,GAAG,MAAMvC,cAAc,CAACC,QAAQ,EAAEC,YAAY,CAAC;IAC1D,MAAMS,MAAM,GAAG,MAAMF,YAAY,CAAC8B,KAAK,CAAC;IACxC,MAAM1B,QAAQ,GAAG2B,UAAI,CAACC,gBAAgB,CAAC,CAAC;IACxC,MAAM1B,SAAS,GAAG2B,MAAM,CAACC,IAAI,CAACC,KAAK,CAACC,IAAI,CAACC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IACvD,MAAMC,SAAS,GAAGnC,eAAe,CAACX,QAAQ,EAAEY,QAAQ,EAAEF,MAAM,EAAEI,SAAS,CAAC;IACxEiC,0BAAa,CAACzE,MAAM,CAAC0E,UAAU,CAC7BhD,QAAQ,EACRY,QAAQ,EACRE,SAAS,EACT,iBAAiB,EACjBgC,SAAS,EACT,EAAE,EACD/B,GAAO,IAAK;MACXC,OAAO,CAACC,GAAG,CAAC,aAAa,EAAEF,GAAG,CAAC;IACjC,CACF,CAAC;EACH;AACF,CAAC"}
@@ -1,7 +1,7 @@
1
- import * as WeChat from 'react-native-wechat-lib';
2
- import { Tool } from './Tool';
3
1
  import { sha1 } from 'js-sha1';
4
2
  import { NativeModules } from 'react-native';
3
+ import * as WeChat from 'react-native-wechat-lib';
4
+ import { Tool } from './Tool';
5
5
 
6
6
  // https://developers.weixin.qq.com/doc/offiaccount/Basic_Information/Get_access_token.html
7
7
  const getAccessToken = async (WeiXinId, WeiXinSecret) => {
@@ -17,7 +17,8 @@ const getSDKTicket = async accessToken => {
17
17
  return res.ticket;
18
18
  };
19
19
  const createSignature = (WeiXinId, nonceStr, sdkTicket, timestamp) => {
20
- const ret = 'appid=' + WeiXinId + '&noncestr+' + nonceStr + '&sdk_ticket+' + sdkTicket + '&timestamp+' + timestamp;
20
+ const ret = 'appid=' + WeiXinId + '&noncestr=' + nonceStr + '&sdk_ticket=' + sdkTicket + '&timestamp=' + timestamp;
21
+ console.log('wx scan signature', ret);
21
22
  return sha1(ret);
22
23
  };
23
24
  export const WeChatLoginUtil = {
@@ -63,9 +64,9 @@ export const WeChatLoginUtil = {
63
64
  const token = await getAccessToken(WeiXinId, WeiXinSecret);
64
65
  const ticket = await getSDKTicket(token);
65
66
  const nonceStr = Tool.generateObjectId();
66
- const timestamp = String(Date.now());
67
- const signature = createSignature(WeiXinId, ticket, nonceStr, timestamp);
68
- NativeModules.RCTWeChat.Auth(WeiXinId, nonceStr, timestamp, 'snsapi_userinfo', signature, null, ret => {
67
+ const timestamp = String(Math.round(Date.now() / 1000));
68
+ const signature = createSignature(WeiXinId, nonceStr, ticket, timestamp);
69
+ NativeModules.WeChat.authByScan(WeiXinId, nonceStr, timestamp, 'snsapi_userinfo', signature, '', ret => {
69
70
  console.log('scan result', ret);
70
71
  });
71
72
  }
@@ -1 +1 @@
1
- {"version":3,"names":["WeChat","Tool","sha1","NativeModules","getAccessToken","WeiXinId","WeiXinSecret","url","response","fetch","res","json","access_token","getSDKTicket","accessToken","ticket","createSignature","nonceStr","sdkTicket","timestamp","ret","WeChatLoginUtil","doLogin","callback","sendAuthRequest","then","console","log","accessTokenUrl","code","userInfoUrl","openid","res2","nickname","headimgurl","unionid","catch","e","warn","error","doLoginByScan","token","generateObjectId","String","Date","now","signature","RCTWeChat","Auth"],"sources":["WeChatLoginUtil.ts"],"sourcesContent":["import * as WeChat from 'react-native-wechat-lib';\nimport { Tool } from './Tool';\nimport { sha1 } from 'js-sha1';\nimport { NativeModules } from 'react-native';\n\n// https://developers.weixin.qq.com/doc/offiaccount/Basic_Information/Get_access_token.html\nconst getAccessToken = async (WeiXinId: string, WeiXinSecret: string) => {\n let url =\n 'https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=' +\n WeiXinId +\n '&secret=' +\n WeiXinSecret;\n const response = await fetch(url);\n const res = await response.json();\n return res.access_token;\n};\n\nconst getSDKTicket = async (accessToken: string) => {\n let url =\n 'https://api.weixin.qq.com/cgi-bin/ticket/getticket?type=2&access_token=' +\n accessToken;\n const response = await fetch(url);\n const res = await response.json();\n return res.ticket;\n};\n\nconst createSignature = (\n WeiXinId: string,\n nonceStr: string,\n sdkTicket: string,\n timestamp: string\n) => {\n const ret =\n 'appid=' +\n WeiXinId +\n '&noncestr+' +\n nonceStr +\n '&sdk_ticket+' +\n sdkTicket +\n '&timestamp+' +\n timestamp;\n return sha1(ret);\n};\n\nexport const WeChatLoginUtil = {\n doLogin: (WeiXinId: string, WeiXinSecret: string, callback: Function) => {\n WeChat.sendAuthRequest('snsapi_userinfo')\n .then((ret) => {\n console.log('wechat auth success ', ret);\n\n let accessTokenUrl =\n 'https://api.weixin.qq.com/sns/oauth2/access_token?appid=' +\n WeiXinId +\n '&secret=' +\n WeiXinSecret +\n '&code=' +\n ret.code +\n '&grant_type=authorization_code';\n fetch(accessTokenUrl)\n .then((res) => {\n return res.json();\n })\n .then((res) => {\n console.log('wechat get access code success: ', res.access_token);\n let userInfoUrl =\n 'https://api.weixin.qq.com/sns/userinfo?access_token=' +\n res.access_token +\n '&openid=' +\n res.openid;\n fetch(userInfoUrl)\n .then((res2) => {\n return res2.json();\n })\n .then((json) => {\n console.log('wechat get user info success: ', json);\n callback({\n nickname: json.nickname,\n headimgurl: json.headimgurl,\n openid: json.openid,\n unionid: json.unionid,\n });\n })\n .catch((e) => {\n console.warn('wechat get user info fail ', e);\n callback({ error: e });\n });\n })\n .catch((e) => {\n console.warn('wechat get access code fail ', e);\n callback({ error: e });\n });\n })\n .catch((e: any) => {\n console.warn('wechat auth fail ', e);\n callback({ error: e });\n });\n },\n\n doLoginByScan: async (WeiXinId: string, WeiXinSecret: string) => {\n const token = await getAccessToken(WeiXinId, WeiXinSecret);\n const ticket = await getSDKTicket(token);\n const nonceStr = Tool.generateObjectId();\n const timestamp = String(Date.now());\n const signature = createSignature(WeiXinId, ticket, nonceStr, timestamp);\n NativeModules.RCTWeChat.Auth(\n WeiXinId,\n nonceStr,\n timestamp,\n 'snsapi_userinfo',\n signature,\n null,\n (ret: []) => {\n console.log('scan result', ret);\n }\n );\n },\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["sha1","NativeModules","WeChat","Tool","getAccessToken","WeiXinId","WeiXinSecret","url","response","fetch","res","json","access_token","getSDKTicket","accessToken","ticket","createSignature","nonceStr","sdkTicket","timestamp","ret","console","log","WeChatLoginUtil","doLogin","callback","sendAuthRequest","then","accessTokenUrl","code","userInfoUrl","openid","res2","nickname","headimgurl","unionid","catch","e","warn","error","doLoginByScan","token","generateObjectId","String","Math","round","Date","now","signature","authByScan"],"sources":["WeChatLoginUtil.ts"],"sourcesContent":["import { sha1 } from 'js-sha1';\nimport { NativeModules } from 'react-native';\nimport * as WeChat from 'react-native-wechat-lib';\nimport { Tool } from './Tool';\n\n// https://developers.weixin.qq.com/doc/offiaccount/Basic_Information/Get_access_token.html\nconst getAccessToken = async (WeiXinId: string, WeiXinSecret: string) => {\n let url =\n 'https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=' +\n WeiXinId +\n '&secret=' +\n WeiXinSecret;\n const response = await fetch(url);\n const res = await response.json();\n return res.access_token;\n};\n\nconst getSDKTicket = async (accessToken: string) => {\n let url =\n 'https://api.weixin.qq.com/cgi-bin/ticket/getticket?type=2&access_token=' +\n accessToken;\n const response = await fetch(url);\n const res = await response.json();\n return res.ticket;\n};\n\nconst createSignature = (\n WeiXinId: string,\n nonceStr: string,\n sdkTicket: string,\n timestamp: string\n) => {\n const ret =\n 'appid=' +\n WeiXinId +\n '&noncestr=' +\n nonceStr +\n '&sdk_ticket=' +\n sdkTicket +\n '&timestamp=' +\n timestamp;\n console.log('wx scan signature', ret);\n return sha1(ret);\n};\n\nexport const WeChatLoginUtil = {\n doLogin: (WeiXinId: string, WeiXinSecret: string, callback: Function) => {\n WeChat.sendAuthRequest('snsapi_userinfo')\n .then((ret) => {\n console.log('wechat auth success ', ret);\n\n let accessTokenUrl =\n 'https://api.weixin.qq.com/sns/oauth2/access_token?appid=' +\n WeiXinId +\n '&secret=' +\n WeiXinSecret +\n '&code=' +\n ret.code +\n '&grant_type=authorization_code';\n fetch(accessTokenUrl)\n .then((res) => {\n return res.json();\n })\n .then((res) => {\n console.log('wechat get access code success: ', res.access_token);\n let userInfoUrl =\n 'https://api.weixin.qq.com/sns/userinfo?access_token=' +\n res.access_token +\n '&openid=' +\n res.openid;\n fetch(userInfoUrl)\n .then((res2) => {\n return res2.json();\n })\n .then((json) => {\n console.log('wechat get user info success: ', json);\n callback({\n nickname: json.nickname,\n headimgurl: json.headimgurl,\n openid: json.openid,\n unionid: json.unionid,\n });\n })\n .catch((e) => {\n console.warn('wechat get user info fail ', e);\n callback({ error: e });\n });\n })\n .catch((e) => {\n console.warn('wechat get access code fail ', e);\n callback({ error: e });\n });\n })\n .catch((e: any) => {\n console.warn('wechat auth fail ', e);\n callback({ error: e });\n });\n },\n\n doLoginByScan: async (WeiXinId: string, WeiXinSecret: string) => {\n const token = await getAccessToken(WeiXinId, WeiXinSecret);\n const ticket = await getSDKTicket(token);\n const nonceStr = Tool.generateObjectId();\n const timestamp = String(Math.round(Date.now() / 1000));\n const signature = createSignature(WeiXinId, nonceStr, ticket, timestamp);\n NativeModules.WeChat.authByScan(\n WeiXinId,\n nonceStr,\n timestamp,\n 'snsapi_userinfo',\n signature,\n '',\n (ret: []) => {\n console.log('scan result', ret);\n }\n );\n },\n};\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@norcy/react-native-toolkit",
3
- "version": "0.1.76",
3
+ "version": "0.1.77",
4
4
  "description": "My Toolkit",
5
5
  "main": "lib/commonjs/index",
6
6
  "module": "lib/module/index",
@@ -1,7 +1,7 @@
1
- import * as WeChat from 'react-native-wechat-lib';
2
- import { Tool } from './Tool';
3
1
  import { sha1 } from 'js-sha1';
4
2
  import { NativeModules } from 'react-native';
3
+ import * as WeChat from 'react-native-wechat-lib';
4
+ import { Tool } from './Tool';
5
5
 
6
6
  // https://developers.weixin.qq.com/doc/offiaccount/Basic_Information/Get_access_token.html
7
7
  const getAccessToken = async (WeiXinId: string, WeiXinSecret: string) => {
@@ -33,12 +33,13 @@ const createSignature = (
33
33
  const ret =
34
34
  'appid=' +
35
35
  WeiXinId +
36
- '&noncestr+' +
36
+ '&noncestr=' +
37
37
  nonceStr +
38
- '&sdk_ticket+' +
38
+ '&sdk_ticket=' +
39
39
  sdkTicket +
40
- '&timestamp+' +
40
+ '&timestamp=' +
41
41
  timestamp;
42
+ console.log('wx scan signature', ret);
42
43
  return sha1(ret);
43
44
  };
44
45
 
@@ -100,15 +101,15 @@ export const WeChatLoginUtil = {
100
101
  const token = await getAccessToken(WeiXinId, WeiXinSecret);
101
102
  const ticket = await getSDKTicket(token);
102
103
  const nonceStr = Tool.generateObjectId();
103
- const timestamp = String(Date.now());
104
- const signature = createSignature(WeiXinId, ticket, nonceStr, timestamp);
105
- NativeModules.RCTWeChat.Auth(
104
+ const timestamp = String(Math.round(Date.now() / 1000));
105
+ const signature = createSignature(WeiXinId, nonceStr, ticket, timestamp);
106
+ NativeModules.WeChat.authByScan(
106
107
  WeiXinId,
107
108
  nonceStr,
108
109
  timestamp,
109
110
  'snsapi_userinfo',
110
111
  signature,
111
- null,
112
+ '',
112
113
  (ret: []) => {
113
114
  console.log('scan result', ret);
114
115
  }