@norcy/react-native-toolkit 0.1.7 → 0.1.9

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.
Files changed (36) hide show
  1. package/lib/commonjs/PrefData.js +0 -5
  2. package/lib/commonjs/PrefData.js.map +1 -1
  3. package/lib/commonjs/ReportUtil.js +1 -1
  4. package/lib/commonjs/ReportUtil.js.map +1 -1
  5. package/lib/commonjs/WeChatLoginUtil.js +50 -0
  6. package/lib/commonjs/WeChatLoginUtil.js.map +1 -0
  7. package/lib/commonjs/i18n.js +46 -0
  8. package/lib/commonjs/i18n.js.map +1 -0
  9. package/lib/commonjs/index.js +36 -12
  10. package/lib/commonjs/index.js.map +1 -1
  11. package/lib/module/PrefData.js +0 -5
  12. package/lib/module/PrefData.js.map +1 -1
  13. package/lib/module/ReportUtil.js +1 -1
  14. package/lib/module/ReportUtil.js.map +1 -1
  15. package/lib/module/WeChatLoginUtil.js +42 -0
  16. package/lib/module/WeChatLoginUtil.js.map +1 -0
  17. package/lib/module/i18n.js +39 -0
  18. package/lib/module/i18n.js.map +1 -0
  19. package/lib/module/index.js +5 -3
  20. package/lib/module/index.js.map +1 -1
  21. package/lib/typescript/src/WeChatLoginUtil.d.ts +3 -0
  22. package/lib/typescript/src/i18n.d.ts +5 -0
  23. package/lib/typescript/{index.d.ts → src/index.d.ts} +5 -3
  24. package/package.json +7 -3
  25. package/src/PrefData.ts +0 -5
  26. package/src/ReportUtil.ts +1 -1
  27. package/src/WeChatLoginUtil.ts +56 -0
  28. package/src/i18n.ts +42 -0
  29. package/src/index.tsx +5 -3
  30. /package/lib/typescript/{AppleLoginUtil.d.ts → src/AppleLoginUtil.d.ts} +0 -0
  31. /package/lib/typescript/{Notification.d.ts → src/Notification.d.ts} +0 -0
  32. /package/lib/typescript/{PrefData.d.ts → src/PrefData.d.ts} +0 -0
  33. /package/lib/typescript/{ReportUtil.d.ts → src/ReportUtil.d.ts} +0 -0
  34. /package/lib/typescript/{SentryManager.d.ts → src/SentryManager.d.ts} +0 -0
  35. /package/lib/typescript/{SyncPrefData.d.ts → src/SyncPrefData.d.ts} +0 -0
  36. /package/lib/typescript/{constant.d.ts → src/constant.d.ts} +0 -0
@@ -15,11 +15,6 @@ const BuildInPrefs = exports.BuildInPrefs = {
15
15
  key: 'LastLoginType_Key',
16
16
  type: 'int',
17
17
  default: -1
18
- },
19
- isFirstLaunch: {
20
- key: 'isFirstLaunch_Key2',
21
- type: 'bool',
22
- default: true
23
18
  }
24
19
  };
25
20
  const getPrefByKey = (Prefs, key) => {
@@ -1 +1 @@
1
- {"version":3,"names":["_asyncStorage","_interopRequireDefault","require","obj","__esModule","default","EventEmitter","eventEmitter","isDataLoaded","_PrefDatas","BuildInPrefs","exports","LastLoginType","key","type","isFirstLaunch","getPrefByKey","Prefs","keyOfPref","PrefData","load","initPrefs","console","log","keys","pref","push","values","getMultiDatas","i","length","value","JSON","parse","parseInt","emit","getValue","setValue","finalValue","stringify","toString","storeData","addListener","callback","on","error","AsyncStorage","setItem","e","multiGet"],"sources":["PrefData.ts"],"sourcesContent":["import AsyncStorage from '@react-native-community/async-storage';\n\nconst EventEmitter = require('events').EventEmitter;\nconst eventEmitter = new EventEmitter();\n\nlet isDataLoaded = false;\n\nexport interface PrefType {\n key: string;\n type: string;\n default: any;\n}\n\nexport interface PrefsType {\n [key: string]: PrefType;\n}\n\nconst _PrefDatas: { [key: string]: any } = {};\n\nexport const BuildInPrefs: PrefsType = {\n LastLoginType: {\n key: 'LastLoginType_Key',\n type: 'int',\n default: -1,\n },\n isFirstLaunch: {\n key: 'isFirstLaunch_Key2',\n type: 'bool',\n default: true,\n },\n};\n\nconst getPrefByKey = (Prefs: PrefsType, key: string) => {\n for (const keyOfPref in Prefs) {\n if (Prefs[keyOfPref].key === key) {\n return Prefs[keyOfPref];\n }\n }\n return null;\n};\n\nexport const PrefData = {\n load: async (initPrefs: PrefsType) => {\n console.log('读取配置');\n let keys = [];\n const Prefs = { ...BuildInPrefs, ...initPrefs };\n for (const pref in Prefs) {\n keys.push(Prefs[pref].key);\n }\n const values = await getMultiDatas(keys);\n\n for (let i = 0; i < values.length; i++) {\n const key = values[i][0];\n const value = values[i][1];\n const pref = getPrefByKey(Prefs, key);\n if (!pref) {\n continue;\n }\n // console.log(key, value, pref);\n if (!value) {\n _PrefDatas[key] = pref.default;\n } else if (pref.type === 'object' || pref.type === 'array') {\n _PrefDatas[key] = JSON.parse(value);\n } else if (pref.type === 'int') {\n _PrefDatas[key] = parseInt(value, 10);\n } else if (pref.type === 'bool') {\n _PrefDatas[key] = JSON.parse(value);\n } else {\n _PrefDatas[key] = value;\n }\n // console.log(\n // '配置读取结果:',\n // key,\n // _PrefDatas[key],\n // typeof _PrefDatas[key],\n // );\n }\n\n eventEmitter.emit('load');\n isDataLoaded = true;\n },\n\n getValue: (pref: PrefType) => {\n return _PrefDatas[pref.key];\n },\n\n setValue: async (pref: PrefType, value: any) => {\n const key = pref.key;\n let finalValue: string;\n _PrefDatas[key] = value;\n if (pref.type === 'object' || pref.type === 'array') {\n finalValue = JSON.stringify(value);\n } else if (pref.type === 'int') {\n finalValue = value.toString();\n } else if (pref.type === 'bool') {\n finalValue = value.toString();\n } else {\n finalValue = value;\n }\n\n await storeData(key, finalValue);\n },\n\n addListener: (callback: Function) => {\n if (isDataLoaded) {\n callback && callback();\n return;\n }\n eventEmitter.on('load', callback);\n },\n};\n\nconst storeData = async (key: string, value: string) => {\n try {\n if (typeof value !== 'string') {\n console.error('只接受 String');\n }\n // console.log('save to storage ' + value);\n await AsyncStorage.setItem(key, value);\n } catch (e) {\n console.error(e);\n }\n};\n\nconst getMultiDatas = async (keys: string[]) => {\n try {\n const values = await AsyncStorage.multiGet(keys);\n // console.log('read from storage ' + values);\n return values;\n } catch (e) {\n console.error(e);\n return [];\n }\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["_asyncStorage","_interopRequireDefault","require","obj","__esModule","default","EventEmitter","eventEmitter","isDataLoaded","_PrefDatas","BuildInPrefs","exports","LastLoginType","key","type","getPrefByKey","Prefs","keyOfPref","PrefData","load","initPrefs","console","log","keys","pref","push","values","getMultiDatas","i","length","value","JSON","parse","parseInt","emit","getValue","setValue","finalValue","stringify","toString","storeData","addListener","callback","on","error","AsyncStorage","setItem","e","multiGet"],"sources":["PrefData.ts"],"sourcesContent":["import AsyncStorage from '@react-native-community/async-storage';\n\nconst EventEmitter = require('events').EventEmitter;\nconst eventEmitter = new EventEmitter();\n\nlet isDataLoaded = false;\n\nexport interface PrefType {\n key: string;\n type: string;\n default: any;\n}\n\nexport interface PrefsType {\n [key: string]: PrefType;\n}\n\nconst _PrefDatas: { [key: string]: any } = {};\n\nexport const BuildInPrefs: PrefsType = {\n LastLoginType: {\n key: 'LastLoginType_Key',\n type: 'int',\n default: -1,\n },\n};\n\nconst getPrefByKey = (Prefs: PrefsType, key: string) => {\n for (const keyOfPref in Prefs) {\n if (Prefs[keyOfPref].key === key) {\n return Prefs[keyOfPref];\n }\n }\n return null;\n};\n\nexport const PrefData = {\n load: async (initPrefs: PrefsType) => {\n console.log('读取配置');\n let keys = [];\n const Prefs = { ...BuildInPrefs, ...initPrefs };\n for (const pref in Prefs) {\n keys.push(Prefs[pref].key);\n }\n const values = await getMultiDatas(keys);\n\n for (let i = 0; i < values.length; i++) {\n const key = values[i][0];\n const value = values[i][1];\n const pref = getPrefByKey(Prefs, key);\n if (!pref) {\n continue;\n }\n // console.log(key, value, pref);\n if (!value) {\n _PrefDatas[key] = pref.default;\n } else if (pref.type === 'object' || pref.type === 'array') {\n _PrefDatas[key] = JSON.parse(value);\n } else if (pref.type === 'int') {\n _PrefDatas[key] = parseInt(value, 10);\n } else if (pref.type === 'bool') {\n _PrefDatas[key] = JSON.parse(value);\n } else {\n _PrefDatas[key] = value;\n }\n // console.log(\n // '配置读取结果:',\n // key,\n // _PrefDatas[key],\n // typeof _PrefDatas[key],\n // );\n }\n\n eventEmitter.emit('load');\n isDataLoaded = true;\n },\n\n getValue: (pref: PrefType) => {\n return _PrefDatas[pref.key];\n },\n\n setValue: async (pref: PrefType, value: any) => {\n const key = pref.key;\n let finalValue: string;\n _PrefDatas[key] = value;\n if (pref.type === 'object' || pref.type === 'array') {\n finalValue = JSON.stringify(value);\n } else if (pref.type === 'int') {\n finalValue = value.toString();\n } else if (pref.type === 'bool') {\n finalValue = value.toString();\n } else {\n finalValue = value;\n }\n\n await storeData(key, finalValue);\n },\n\n addListener: (callback: Function) => {\n if (isDataLoaded) {\n callback && callback();\n return;\n }\n eventEmitter.on('load', callback);\n },\n};\n\nconst storeData = async (key: string, value: string) => {\n try {\n if (typeof value !== 'string') {\n console.error('只接受 String');\n }\n // console.log('save to storage ' + value);\n await AsyncStorage.setItem(key, value);\n } catch (e) {\n console.error(e);\n }\n};\n\nconst getMultiDatas = async (keys: string[]) => {\n try {\n const values = await AsyncStorage.multiGet(keys);\n // console.log('read from storage ' + values);\n return values;\n } catch (e) {\n console.error(e);\n return [];\n }\n};\n"],"mappings":"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"}
@@ -84,7 +84,7 @@ const ReportUtil = exports.ReportUtil = {
84
84
  ...validParams,
85
85
  ...ReportUtil.getCommonInfo()
86
86
  };
87
- console.log(realParams);
87
+ console.log('[Report]', realParams);
88
88
  _reactNative.NativeModules.NCYReport.report(eventId, realParams);
89
89
  },
90
90
  setCommonInfo: (key, value) => {
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","_reactNativeDeviceInfo","_Notification","CommonInfo","appVer","getReadableVersion","platform","Platform","OS","sysVer","Version","model","getModel","brand","getBrand","device","getDeviceId","enable","__DEV__","NativeModules","NCYReport","isValidReport","eventId","params","length","console","error","Array","isArray","key","convertToValidParams","ret","value","JSON","stringify","ReportUtil","exports","init","Notification","addListener","_ref","user","signIn","AVUser","get","setCommonInfo","signOut","report","validParams","realParams","getCommonInfo","log","viewAppear","page","enterPage","viewDisappear","leavePage"],"sources":["ReportUtil.ts"],"sourcesContent":["import { NativeModules, Platform } from 'react-native';\nimport {\n getBrand,\n getDeviceId,\n getModel,\n getReadableVersion,\n} from 'react-native-device-info';\nimport { Notification } from './Notification';\nimport { UserType } from './constant';\n\nexport interface ReportItemType {\n [key: string]: number | string;\n}\n\nconst CommonInfo: ReportItemType = {\n appVer: getReadableVersion(),\n platform: Platform.OS,\n sysVer: Platform.Version,\n model: getModel(),\n brand: getBrand(),\n device: getDeviceId(),\n};\n\nconst enable = () => {\n if (__DEV__) {\n return false;\n }\n if (!NativeModules.NCYReport) {\n return false;\n }\n return true;\n};\n\nconst isValidReport = (eventId: string, params?: ReportItemType) => {\n if (typeof eventId !== 'string' || eventId?.length === 0) {\n console.error('Report 数据非法 1');\n return false;\n }\n\n if (params == null) {\n return true;\n }\n\n if (typeof params !== 'object' || Array.isArray(params)) {\n console.error('Report 数据非法 2');\n return false;\n }\n\n for (const key in params) {\n if (typeof key !== 'string') {\n console.error('Report 数据非法 3');\n return false;\n }\n }\n\n return true;\n};\n\nconst convertToValidParams = (params?: ReportItemType) => {\n const ret: ReportItemType = {};\n for (const key in params) {\n const value = JSON.stringify(params[key]);\n ret[key] = value;\n }\n return ret;\n};\n\nexport const ReportUtil = {\n init: () => {\n if (!enable()) {\n return;\n }\n\n Notification.addListener(\n 'onLogin',\n ({ error, user }: { error: any; user: UserType }) => {\n if (!error && user) {\n NativeModules.NCYReport.signIn(user.AVUser.get('objectId'));\n ReportUtil.setCommonInfo('user', user.AVUser.get('objectId'));\n }\n }\n );\n\n Notification.addListener('onLogout', () => {\n NativeModules.NCYReport.signOut();\n ReportUtil.setCommonInfo('user', '');\n });\n },\n\n report: (eventId: string, params?: ReportItemType) => {\n if (!enable()) {\n return;\n }\n\n if (!isValidReport(eventId, params)) {\n return;\n }\n\n const validParams = convertToValidParams(params);\n const realParams = { ...validParams, ...ReportUtil.getCommonInfo() };\n console.log(realParams);\n NativeModules.NCYReport.report(eventId, realParams);\n },\n\n setCommonInfo: (key: string, value: string) => {\n CommonInfo[key] = value;\n },\n\n getCommonInfo: () => {\n return CommonInfo;\n },\n\n viewAppear: (page: string) => {\n if (!__DEV__) {\n console.log(page, 'viewWillAppear');\n }\n\n if (!enable()) {\n return;\n }\n\n NativeModules.NCYReport.enterPage(page);\n },\n\n viewDisappear: (page: string) => {\n if (!__DEV__) {\n console.log(page, 'viewWillDisappear');\n }\n\n if (!enable()) {\n return;\n }\n\n NativeModules.NCYReport.leavePage(page);\n },\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["_reactNative","require","_reactNativeDeviceInfo","_Notification","CommonInfo","appVer","getReadableVersion","platform","Platform","OS","sysVer","Version","model","getModel","brand","getBrand","device","getDeviceId","enable","__DEV__","NativeModules","NCYReport","isValidReport","eventId","params","length","console","error","Array","isArray","key","convertToValidParams","ret","value","JSON","stringify","ReportUtil","exports","init","Notification","addListener","_ref","user","signIn","AVUser","get","setCommonInfo","signOut","report","validParams","realParams","getCommonInfo","log","viewAppear","page","enterPage","viewDisappear","leavePage"],"sources":["ReportUtil.ts"],"sourcesContent":["import { NativeModules, Platform } from 'react-native';\nimport {\n getBrand,\n getDeviceId,\n getModel,\n getReadableVersion,\n} from 'react-native-device-info';\nimport { Notification } from './Notification';\nimport { UserType } from './constant';\n\nexport interface ReportItemType {\n [key: string]: number | string;\n}\n\nconst CommonInfo: ReportItemType = {\n appVer: getReadableVersion(),\n platform: Platform.OS,\n sysVer: Platform.Version,\n model: getModel(),\n brand: getBrand(),\n device: getDeviceId(),\n};\n\nconst enable = () => {\n if (__DEV__) {\n return false;\n }\n if (!NativeModules.NCYReport) {\n return false;\n }\n return true;\n};\n\nconst isValidReport = (eventId: string, params?: ReportItemType) => {\n if (typeof eventId !== 'string' || eventId?.length === 0) {\n console.error('Report 数据非法 1');\n return false;\n }\n\n if (params == null) {\n return true;\n }\n\n if (typeof params !== 'object' || Array.isArray(params)) {\n console.error('Report 数据非法 2');\n return false;\n }\n\n for (const key in params) {\n if (typeof key !== 'string') {\n console.error('Report 数据非法 3');\n return false;\n }\n }\n\n return true;\n};\n\nconst convertToValidParams = (params?: ReportItemType) => {\n const ret: ReportItemType = {};\n for (const key in params) {\n const value = JSON.stringify(params[key]);\n ret[key] = value;\n }\n return ret;\n};\n\nexport const ReportUtil = {\n init: () => {\n if (!enable()) {\n return;\n }\n\n Notification.addListener(\n 'onLogin',\n ({ error, user }: { error: any; user: UserType }) => {\n if (!error && user) {\n NativeModules.NCYReport.signIn(user.AVUser.get('objectId'));\n ReportUtil.setCommonInfo('user', user.AVUser.get('objectId'));\n }\n }\n );\n\n Notification.addListener('onLogout', () => {\n NativeModules.NCYReport.signOut();\n ReportUtil.setCommonInfo('user', '');\n });\n },\n\n report: (eventId: string, params?: ReportItemType) => {\n if (!enable()) {\n return;\n }\n\n if (!isValidReport(eventId, params)) {\n return;\n }\n\n const validParams = convertToValidParams(params);\n const realParams = { ...validParams, ...ReportUtil.getCommonInfo() };\n console.log('[Report]', realParams);\n NativeModules.NCYReport.report(eventId, realParams);\n },\n\n setCommonInfo: (key: string, value: string) => {\n CommonInfo[key] = value;\n },\n\n getCommonInfo: () => {\n return CommonInfo;\n },\n\n viewAppear: (page: string) => {\n if (!__DEV__) {\n console.log(page, 'viewWillAppear');\n }\n\n if (!enable()) {\n return;\n }\n\n NativeModules.NCYReport.enterPage(page);\n },\n\n viewDisappear: (page: string) => {\n if (!__DEV__) {\n console.log(page, 'viewWillDisappear');\n }\n\n if (!enable()) {\n return;\n }\n\n NativeModules.NCYReport.leavePage(page);\n },\n};\n"],"mappings":"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"}
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.WeChatLoginUtil = void 0;
7
+ var WeChat = _interopRequireWildcard(require("react-native-wechat-lib"));
8
+ 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); }
9
+ 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; }
10
+ const WeChatLoginUtil = exports.WeChatLoginUtil = {
11
+ doLogin: (WeiXinId, WeiXinSecret, callback) => {
12
+ WeChat.sendAuthRequest('snsapi_userinfo').then(ret => {
13
+ console.log('wechat auth success ', ret);
14
+ let accessTokenUrl = 'https://api.weixin.qq.com/sns/oauth2/access_token?appid=' + WeiXinId + '&secret=' + WeiXinSecret + '&code=' + ret.code + '&grant_type=authorization_code';
15
+ fetch(accessTokenUrl).then(res => {
16
+ return res.json();
17
+ }).then(res => {
18
+ console.log('wechat get access code success: ', res.access_token);
19
+ let userInfoUrl = 'https://api.weixin.qq.com/sns/userinfo?access_token=' + res.access_token + '&openid=' + res.openid;
20
+ fetch(userInfoUrl).then(res => {
21
+ return res.json();
22
+ }).then(json => {
23
+ console.log('wechat get user info success: ', json);
24
+ callback({
25
+ nickname: json.nickname,
26
+ headimgurl: json.headimgurl,
27
+ openid: json.openid,
28
+ unionid: json.unionid
29
+ });
30
+ }).catch(e => {
31
+ console.warn('wechat get user info fail ', e);
32
+ callback({
33
+ error: e
34
+ });
35
+ });
36
+ }).catch(e => {
37
+ console.warn('wechat get access code fail ', e);
38
+ callback({
39
+ error: e
40
+ });
41
+ });
42
+ }).catch(e => {
43
+ console.warn('wechat auth fail ', e);
44
+ callback({
45
+ error: e
46
+ });
47
+ });
48
+ }
49
+ };
50
+ //# sourceMappingURL=WeChatLoginUtil.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["WeChat","_interopRequireWildcard","require","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","WeChatLoginUtil","exports","doLogin","WeiXinId","WeiXinSecret","callback","sendAuthRequest","then","ret","console","log","accessTokenUrl","code","fetch","res","json","access_token","userInfoUrl","openid","nickname","headimgurl","unionid","catch","e","warn","error"],"sources":["WeChatLoginUtil.ts"],"sourcesContent":["import * as WeChat from 'react-native-wechat-lib';\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((res) => {\n return res.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"],"mappings":"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"}
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.i18n = void 0;
7
+ var _reactNativeToolkit = require("@norcy/react-native-toolkit");
8
+ var _i18nJs = require("i18n-js");
9
+ var _reactNative = require("react-native");
10
+ var _enUS = _interopRequireDefault(require("../locales/en-US.json"));
11
+ var _zhCN = _interopRequireDefault(require("../locales/zh-CN.json"));
12
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
+ /**
14
+ * 多语言配置文件
15
+ */
16
+
17
+ const i18n = exports.i18n = new _i18nJs.I18n();
18
+ i18n.enableFallback = true;
19
+
20
+ // 加载语言包
21
+ i18n.translations = {
22
+ zh: _zhCN.default,
23
+ en: _enUS.default
24
+ };
25
+ i18n.locale = 'zh';
26
+ const language = _reactNativeToolkit.SyncPrefData.getPrefString('language');
27
+ console.log('i18n init', language);
28
+ if (language == 'en') {
29
+ i18n.locale = 'en';
30
+ } else if (language == 'zh') {} else {
31
+ // 空的 或 auto
32
+ if (_reactNative.NativeModules.RNLocalize) {
33
+ var _locales$;
34
+ const RNLocalize = require('react-native-localize');
35
+ const locales = RNLocalize.getLocales();
36
+ const systemLanguage = (_locales$ = locales[0]) === null || _locales$ === void 0 ? void 0 : _locales$.languageCode;
37
+ if (systemLanguage == 'en') {
38
+ i18n.locale = 'en';
39
+ }
40
+ }
41
+ }
42
+ if (__DEV__) {
43
+ // i18n.locale = 'en';
44
+ // i18n.locale = 'zh';
45
+ }
46
+ //# sourceMappingURL=i18n.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_reactNativeToolkit","require","_i18nJs","_reactNative","_enUS","_interopRequireDefault","_zhCN","obj","__esModule","default","i18n","exports","I18n","enableFallback","translations","zh","en","locale","language","SyncPrefData","getPrefString","console","log","NativeModules","RNLocalize","_locales$","locales","getLocales","systemLanguage","languageCode","__DEV__"],"sources":["i18n.ts"],"sourcesContent":["/**\n * 多语言配置文件\n */\n\nimport { SyncPrefData } from '@norcy/react-native-toolkit';\nimport { I18n } from 'i18n-js';\nimport { NativeModules } from 'react-native';\nimport en from '../locales/en-US.json';\nimport zh from '../locales/zh-CN.json';\n\nexport const i18n = new I18n();\n\ni18n.enableFallback = true;\n\n// 加载语言包\ni18n.translations = {\n zh,\n en,\n};\ni18n.locale = 'zh';\n\nconst language = SyncPrefData.getPrefString('language');\nconsole.log('i18n init', language);\nif (language == 'en') {\n i18n.locale = 'en';\n} else if (language == 'zh') {\n} else {\n // 空的 或 auto\n if (NativeModules.RNLocalize) {\n const RNLocalize = require('react-native-localize');\n const locales = RNLocalize.getLocales();\n const systemLanguage = locales[0]?.languageCode;\n if (systemLanguage == 'en') {\n i18n.locale = 'en';\n }\n }\n}\n\nif (__DEV__) {\n // i18n.locale = 'en';\n // i18n.locale = 'zh';\n}\n"],"mappings":";;;;;;AAIA,IAAAA,mBAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,YAAA,GAAAF,OAAA;AACA,IAAAG,KAAA,GAAAC,sBAAA,CAAAJ,OAAA;AACA,IAAAK,KAAA,GAAAD,sBAAA,CAAAJ,OAAA;AAAuC,SAAAI,uBAAAE,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AARvC;AACA;AACA;;AAQO,MAAMG,IAAI,GAAAC,OAAA,CAAAD,IAAA,GAAG,IAAIE,YAAI,CAAC,CAAC;AAE9BF,IAAI,CAACG,cAAc,GAAG,IAAI;;AAE1B;AACAH,IAAI,CAACI,YAAY,GAAG;EAClBC,EAAE,EAAFA,aAAE;EACFC,EAAE,EAAFA;AACF,CAAC;AACDN,IAAI,CAACO,MAAM,GAAG,IAAI;AAElB,MAAMC,QAAQ,GAAGC,gCAAY,CAACC,aAAa,CAAC,UAAU,CAAC;AACvDC,OAAO,CAACC,GAAG,CAAC,WAAW,EAAEJ,QAAQ,CAAC;AAClC,IAAIA,QAAQ,IAAI,IAAI,EAAE;EACpBR,IAAI,CAACO,MAAM,GAAG,IAAI;AACpB,CAAC,MAAM,IAAIC,QAAQ,IAAI,IAAI,EAAE,CAC7B,CAAC,MAAM;EACL;EACA,IAAIK,0BAAa,CAACC,UAAU,EAAE;IAAA,IAAAC,SAAA;IAC5B,MAAMD,UAAU,GAAGvB,OAAO,CAAC,uBAAuB,CAAC;IACnD,MAAMyB,OAAO,GAAGF,UAAU,CAACG,UAAU,CAAC,CAAC;IACvC,MAAMC,cAAc,IAAAH,SAAA,GAAGC,OAAO,CAAC,CAAC,CAAC,cAAAD,SAAA,uBAAVA,SAAA,CAAYI,YAAY;IAC/C,IAAID,cAAc,IAAI,IAAI,EAAE;MAC1BlB,IAAI,CAACO,MAAM,GAAG,IAAI;IACpB;EACF;AACF;AAEA,IAAIa,OAAO,EAAE;EACX;EACA;AAAA"}
@@ -6,15 +6,15 @@ Object.defineProperty(exports, "__esModule", {
6
6
  var _exportNames = {};
7
7
  exports.default = void 0;
8
8
  var _reactNative = require("react-native");
9
- var _SyncPrefData = require("./SyncPrefData");
10
- Object.keys(_SyncPrefData).forEach(function (key) {
9
+ var _AppleLoginUtil = require("./AppleLoginUtil");
10
+ Object.keys(_AppleLoginUtil).forEach(function (key) {
11
11
  if (key === "default" || key === "__esModule") return;
12
12
  if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
13
- if (key in exports && exports[key] === _SyncPrefData[key]) return;
13
+ if (key in exports && exports[key] === _AppleLoginUtil[key]) return;
14
14
  Object.defineProperty(exports, key, {
15
15
  enumerable: true,
16
16
  get: function () {
17
- return _SyncPrefData[key];
17
+ return _AppleLoginUtil[key];
18
18
  }
19
19
  });
20
20
  });
@@ -30,6 +30,18 @@ Object.keys(_Notification).forEach(function (key) {
30
30
  }
31
31
  });
32
32
  });
33
+ var _PrefData = require("./PrefData");
34
+ Object.keys(_PrefData).forEach(function (key) {
35
+ if (key === "default" || key === "__esModule") return;
36
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
37
+ if (key in exports && exports[key] === _PrefData[key]) return;
38
+ Object.defineProperty(exports, key, {
39
+ enumerable: true,
40
+ get: function () {
41
+ return _PrefData[key];
42
+ }
43
+ });
44
+ });
33
45
  var _ReportUtil = require("./ReportUtil");
34
46
  Object.keys(_ReportUtil).forEach(function (key) {
35
47
  if (key === "default" || key === "__esModule") return;
@@ -54,15 +66,27 @@ Object.keys(_SentryManager).forEach(function (key) {
54
66
  }
55
67
  });
56
68
  });
57
- var _AppleLoginUtil = require("./AppleLoginUtil");
58
- Object.keys(_AppleLoginUtil).forEach(function (key) {
69
+ var _SyncPrefData = require("./SyncPrefData");
70
+ Object.keys(_SyncPrefData).forEach(function (key) {
59
71
  if (key === "default" || key === "__esModule") return;
60
72
  if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
61
- if (key in exports && exports[key] === _AppleLoginUtil[key]) return;
73
+ if (key in exports && exports[key] === _SyncPrefData[key]) return;
62
74
  Object.defineProperty(exports, key, {
63
75
  enumerable: true,
64
76
  get: function () {
65
- return _AppleLoginUtil[key];
77
+ return _SyncPrefData[key];
78
+ }
79
+ });
80
+ });
81
+ var _WeChatLoginUtil = require("./WeChatLoginUtil");
82
+ Object.keys(_WeChatLoginUtil).forEach(function (key) {
83
+ if (key === "default" || key === "__esModule") return;
84
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
85
+ if (key in exports && exports[key] === _WeChatLoginUtil[key]) return;
86
+ Object.defineProperty(exports, key, {
87
+ enumerable: true,
88
+ get: function () {
89
+ return _WeChatLoginUtil[key];
66
90
  }
67
91
  });
68
92
  });
@@ -78,15 +102,15 @@ Object.keys(_constant).forEach(function (key) {
78
102
  }
79
103
  });
80
104
  });
81
- var _PrefData = require("./PrefData");
82
- Object.keys(_PrefData).forEach(function (key) {
105
+ var _i18n = require("./i18n");
106
+ Object.keys(_i18n).forEach(function (key) {
83
107
  if (key === "default" || key === "__esModule") return;
84
108
  if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
85
- if (key in exports && exports[key] === _PrefData[key]) return;
109
+ if (key in exports && exports[key] === _i18n[key]) return;
86
110
  Object.defineProperty(exports, key, {
87
111
  enumerable: true,
88
112
  get: function () {
89
- return _PrefData[key];
113
+ return _i18n[key];
90
114
  }
91
115
  });
92
116
  });
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","_SyncPrefData","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_Notification","_ReportUtil","_SentryManager","_AppleLoginUtil","_constant","_PrefData","ReactNativeToolkit","NativeModules","_default","default"],"sources":["index.tsx"],"sourcesContent":["import { NativeModules } from 'react-native';\n\ntype ReactNativeToolkitType = {\n multiply(a: number, b: number): Promise<number>;\n};\n\nconst { ReactNativeToolkit } = NativeModules;\n\nexport default ReactNativeToolkit as ReactNativeToolkitType;\nexport * from './SyncPrefData';\nexport * from './Notification';\nexport * from './ReportUtil';\nexport * from './SentryManager';\nexport * from './AppleLoginUtil';\nexport * from './constant';\nexport * from './PrefData';\n"],"mappings":"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"}
1
+ {"version":3,"names":["_reactNative","require","_AppleLoginUtil","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_Notification","_PrefData","_ReportUtil","_SentryManager","_SyncPrefData","_WeChatLoginUtil","_constant","_i18n","ReactNativeToolkit","NativeModules","_default","default"],"sources":["index.tsx"],"sourcesContent":["import { NativeModules } from 'react-native';\n\ntype ReactNativeToolkitType = {\n multiply(a: number, b: number): Promise<number>;\n};\n\nconst { ReactNativeToolkit } = NativeModules;\n\nexport default ReactNativeToolkit as ReactNativeToolkitType;\nexport * from './AppleLoginUtil';\nexport * from './Notification';\nexport * from './PrefData';\nexport * from './ReportUtil';\nexport * from './SentryManager';\nexport * from './SyncPrefData';\nexport * from './WeChatLoginUtil';\nexport * from './constant';\nexport * from './i18n';\n"],"mappings":"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"}
@@ -8,11 +8,6 @@ export const BuildInPrefs = {
8
8
  key: 'LastLoginType_Key',
9
9
  type: 'int',
10
10
  default: -1
11
- },
12
- isFirstLaunch: {
13
- key: 'isFirstLaunch_Key2',
14
- type: 'bool',
15
- default: true
16
11
  }
17
12
  };
18
13
  const getPrefByKey = (Prefs, key) => {
@@ -1 +1 @@
1
- {"version":3,"names":["AsyncStorage","EventEmitter","require","eventEmitter","isDataLoaded","_PrefDatas","BuildInPrefs","LastLoginType","key","type","default","isFirstLaunch","getPrefByKey","Prefs","keyOfPref","PrefData","load","initPrefs","console","log","keys","pref","push","values","getMultiDatas","i","length","value","JSON","parse","parseInt","emit","getValue","setValue","finalValue","stringify","toString","storeData","addListener","callback","on","error","setItem","e","multiGet"],"sources":["PrefData.ts"],"sourcesContent":["import AsyncStorage from '@react-native-community/async-storage';\n\nconst EventEmitter = require('events').EventEmitter;\nconst eventEmitter = new EventEmitter();\n\nlet isDataLoaded = false;\n\nexport interface PrefType {\n key: string;\n type: string;\n default: any;\n}\n\nexport interface PrefsType {\n [key: string]: PrefType;\n}\n\nconst _PrefDatas: { [key: string]: any } = {};\n\nexport const BuildInPrefs: PrefsType = {\n LastLoginType: {\n key: 'LastLoginType_Key',\n type: 'int',\n default: -1,\n },\n isFirstLaunch: {\n key: 'isFirstLaunch_Key2',\n type: 'bool',\n default: true,\n },\n};\n\nconst getPrefByKey = (Prefs: PrefsType, key: string) => {\n for (const keyOfPref in Prefs) {\n if (Prefs[keyOfPref].key === key) {\n return Prefs[keyOfPref];\n }\n }\n return null;\n};\n\nexport const PrefData = {\n load: async (initPrefs: PrefsType) => {\n console.log('读取配置');\n let keys = [];\n const Prefs = { ...BuildInPrefs, ...initPrefs };\n for (const pref in Prefs) {\n keys.push(Prefs[pref].key);\n }\n const values = await getMultiDatas(keys);\n\n for (let i = 0; i < values.length; i++) {\n const key = values[i][0];\n const value = values[i][1];\n const pref = getPrefByKey(Prefs, key);\n if (!pref) {\n continue;\n }\n // console.log(key, value, pref);\n if (!value) {\n _PrefDatas[key] = pref.default;\n } else if (pref.type === 'object' || pref.type === 'array') {\n _PrefDatas[key] = JSON.parse(value);\n } else if (pref.type === 'int') {\n _PrefDatas[key] = parseInt(value, 10);\n } else if (pref.type === 'bool') {\n _PrefDatas[key] = JSON.parse(value);\n } else {\n _PrefDatas[key] = value;\n }\n // console.log(\n // '配置读取结果:',\n // key,\n // _PrefDatas[key],\n // typeof _PrefDatas[key],\n // );\n }\n\n eventEmitter.emit('load');\n isDataLoaded = true;\n },\n\n getValue: (pref: PrefType) => {\n return _PrefDatas[pref.key];\n },\n\n setValue: async (pref: PrefType, value: any) => {\n const key = pref.key;\n let finalValue: string;\n _PrefDatas[key] = value;\n if (pref.type === 'object' || pref.type === 'array') {\n finalValue = JSON.stringify(value);\n } else if (pref.type === 'int') {\n finalValue = value.toString();\n } else if (pref.type === 'bool') {\n finalValue = value.toString();\n } else {\n finalValue = value;\n }\n\n await storeData(key, finalValue);\n },\n\n addListener: (callback: Function) => {\n if (isDataLoaded) {\n callback && callback();\n return;\n }\n eventEmitter.on('load', callback);\n },\n};\n\nconst storeData = async (key: string, value: string) => {\n try {\n if (typeof value !== 'string') {\n console.error('只接受 String');\n }\n // console.log('save to storage ' + value);\n await AsyncStorage.setItem(key, value);\n } catch (e) {\n console.error(e);\n }\n};\n\nconst getMultiDatas = async (keys: string[]) => {\n try {\n const values = await AsyncStorage.multiGet(keys);\n // console.log('read from storage ' + values);\n return values;\n } catch (e) {\n console.error(e);\n return [];\n }\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["AsyncStorage","EventEmitter","require","eventEmitter","isDataLoaded","_PrefDatas","BuildInPrefs","LastLoginType","key","type","default","getPrefByKey","Prefs","keyOfPref","PrefData","load","initPrefs","console","log","keys","pref","push","values","getMultiDatas","i","length","value","JSON","parse","parseInt","emit","getValue","setValue","finalValue","stringify","toString","storeData","addListener","callback","on","error","setItem","e","multiGet"],"sources":["PrefData.ts"],"sourcesContent":["import AsyncStorage from '@react-native-community/async-storage';\n\nconst EventEmitter = require('events').EventEmitter;\nconst eventEmitter = new EventEmitter();\n\nlet isDataLoaded = false;\n\nexport interface PrefType {\n key: string;\n type: string;\n default: any;\n}\n\nexport interface PrefsType {\n [key: string]: PrefType;\n}\n\nconst _PrefDatas: { [key: string]: any } = {};\n\nexport const BuildInPrefs: PrefsType = {\n LastLoginType: {\n key: 'LastLoginType_Key',\n type: 'int',\n default: -1,\n },\n};\n\nconst getPrefByKey = (Prefs: PrefsType, key: string) => {\n for (const keyOfPref in Prefs) {\n if (Prefs[keyOfPref].key === key) {\n return Prefs[keyOfPref];\n }\n }\n return null;\n};\n\nexport const PrefData = {\n load: async (initPrefs: PrefsType) => {\n console.log('读取配置');\n let keys = [];\n const Prefs = { ...BuildInPrefs, ...initPrefs };\n for (const pref in Prefs) {\n keys.push(Prefs[pref].key);\n }\n const values = await getMultiDatas(keys);\n\n for (let i = 0; i < values.length; i++) {\n const key = values[i][0];\n const value = values[i][1];\n const pref = getPrefByKey(Prefs, key);\n if (!pref) {\n continue;\n }\n // console.log(key, value, pref);\n if (!value) {\n _PrefDatas[key] = pref.default;\n } else if (pref.type === 'object' || pref.type === 'array') {\n _PrefDatas[key] = JSON.parse(value);\n } else if (pref.type === 'int') {\n _PrefDatas[key] = parseInt(value, 10);\n } else if (pref.type === 'bool') {\n _PrefDatas[key] = JSON.parse(value);\n } else {\n _PrefDatas[key] = value;\n }\n // console.log(\n // '配置读取结果:',\n // key,\n // _PrefDatas[key],\n // typeof _PrefDatas[key],\n // );\n }\n\n eventEmitter.emit('load');\n isDataLoaded = true;\n },\n\n getValue: (pref: PrefType) => {\n return _PrefDatas[pref.key];\n },\n\n setValue: async (pref: PrefType, value: any) => {\n const key = pref.key;\n let finalValue: string;\n _PrefDatas[key] = value;\n if (pref.type === 'object' || pref.type === 'array') {\n finalValue = JSON.stringify(value);\n } else if (pref.type === 'int') {\n finalValue = value.toString();\n } else if (pref.type === 'bool') {\n finalValue = value.toString();\n } else {\n finalValue = value;\n }\n\n await storeData(key, finalValue);\n },\n\n addListener: (callback: Function) => {\n if (isDataLoaded) {\n callback && callback();\n return;\n }\n eventEmitter.on('load', callback);\n },\n};\n\nconst storeData = async (key: string, value: string) => {\n try {\n if (typeof value !== 'string') {\n console.error('只接受 String');\n }\n // console.log('save to storage ' + value);\n await AsyncStorage.setItem(key, value);\n } catch (e) {\n console.error(e);\n }\n};\n\nconst getMultiDatas = async (keys: string[]) => {\n try {\n const values = await AsyncStorage.multiGet(keys);\n // console.log('read from storage ' + values);\n return values;\n } catch (e) {\n console.error(e);\n return [];\n }\n};\n"],"mappings":"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"}
@@ -78,7 +78,7 @@ export const ReportUtil = {
78
78
  ...validParams,
79
79
  ...ReportUtil.getCommonInfo()
80
80
  };
81
- console.log(realParams);
81
+ console.log('[Report]', realParams);
82
82
  NativeModules.NCYReport.report(eventId, realParams);
83
83
  },
84
84
  setCommonInfo: (key, value) => {
@@ -1 +1 @@
1
- {"version":3,"names":["NativeModules","Platform","getBrand","getDeviceId","getModel","getReadableVersion","Notification","CommonInfo","appVer","platform","OS","sysVer","Version","model","brand","device","enable","__DEV__","NCYReport","isValidReport","eventId","params","length","console","error","Array","isArray","key","convertToValidParams","ret","value","JSON","stringify","ReportUtil","init","addListener","_ref","user","signIn","AVUser","get","setCommonInfo","signOut","report","validParams","realParams","getCommonInfo","log","viewAppear","page","enterPage","viewDisappear","leavePage"],"sources":["ReportUtil.ts"],"sourcesContent":["import { NativeModules, Platform } from 'react-native';\nimport {\n getBrand,\n getDeviceId,\n getModel,\n getReadableVersion,\n} from 'react-native-device-info';\nimport { Notification } from './Notification';\nimport { UserType } from './constant';\n\nexport interface ReportItemType {\n [key: string]: number | string;\n}\n\nconst CommonInfo: ReportItemType = {\n appVer: getReadableVersion(),\n platform: Platform.OS,\n sysVer: Platform.Version,\n model: getModel(),\n brand: getBrand(),\n device: getDeviceId(),\n};\n\nconst enable = () => {\n if (__DEV__) {\n return false;\n }\n if (!NativeModules.NCYReport) {\n return false;\n }\n return true;\n};\n\nconst isValidReport = (eventId: string, params?: ReportItemType) => {\n if (typeof eventId !== 'string' || eventId?.length === 0) {\n console.error('Report 数据非法 1');\n return false;\n }\n\n if (params == null) {\n return true;\n }\n\n if (typeof params !== 'object' || Array.isArray(params)) {\n console.error('Report 数据非法 2');\n return false;\n }\n\n for (const key in params) {\n if (typeof key !== 'string') {\n console.error('Report 数据非法 3');\n return false;\n }\n }\n\n return true;\n};\n\nconst convertToValidParams = (params?: ReportItemType) => {\n const ret: ReportItemType = {};\n for (const key in params) {\n const value = JSON.stringify(params[key]);\n ret[key] = value;\n }\n return ret;\n};\n\nexport const ReportUtil = {\n init: () => {\n if (!enable()) {\n return;\n }\n\n Notification.addListener(\n 'onLogin',\n ({ error, user }: { error: any; user: UserType }) => {\n if (!error && user) {\n NativeModules.NCYReport.signIn(user.AVUser.get('objectId'));\n ReportUtil.setCommonInfo('user', user.AVUser.get('objectId'));\n }\n }\n );\n\n Notification.addListener('onLogout', () => {\n NativeModules.NCYReport.signOut();\n ReportUtil.setCommonInfo('user', '');\n });\n },\n\n report: (eventId: string, params?: ReportItemType) => {\n if (!enable()) {\n return;\n }\n\n if (!isValidReport(eventId, params)) {\n return;\n }\n\n const validParams = convertToValidParams(params);\n const realParams = { ...validParams, ...ReportUtil.getCommonInfo() };\n console.log(realParams);\n NativeModules.NCYReport.report(eventId, realParams);\n },\n\n setCommonInfo: (key: string, value: string) => {\n CommonInfo[key] = value;\n },\n\n getCommonInfo: () => {\n return CommonInfo;\n },\n\n viewAppear: (page: string) => {\n if (!__DEV__) {\n console.log(page, 'viewWillAppear');\n }\n\n if (!enable()) {\n return;\n }\n\n NativeModules.NCYReport.enterPage(page);\n },\n\n viewDisappear: (page: string) => {\n if (!__DEV__) {\n console.log(page, 'viewWillDisappear');\n }\n\n if (!enable()) {\n return;\n }\n\n NativeModules.NCYReport.leavePage(page);\n },\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["NativeModules","Platform","getBrand","getDeviceId","getModel","getReadableVersion","Notification","CommonInfo","appVer","platform","OS","sysVer","Version","model","brand","device","enable","__DEV__","NCYReport","isValidReport","eventId","params","length","console","error","Array","isArray","key","convertToValidParams","ret","value","JSON","stringify","ReportUtil","init","addListener","_ref","user","signIn","AVUser","get","setCommonInfo","signOut","report","validParams","realParams","getCommonInfo","log","viewAppear","page","enterPage","viewDisappear","leavePage"],"sources":["ReportUtil.ts"],"sourcesContent":["import { NativeModules, Platform } from 'react-native';\nimport {\n getBrand,\n getDeviceId,\n getModel,\n getReadableVersion,\n} from 'react-native-device-info';\nimport { Notification } from './Notification';\nimport { UserType } from './constant';\n\nexport interface ReportItemType {\n [key: string]: number | string;\n}\n\nconst CommonInfo: ReportItemType = {\n appVer: getReadableVersion(),\n platform: Platform.OS,\n sysVer: Platform.Version,\n model: getModel(),\n brand: getBrand(),\n device: getDeviceId(),\n};\n\nconst enable = () => {\n if (__DEV__) {\n return false;\n }\n if (!NativeModules.NCYReport) {\n return false;\n }\n return true;\n};\n\nconst isValidReport = (eventId: string, params?: ReportItemType) => {\n if (typeof eventId !== 'string' || eventId?.length === 0) {\n console.error('Report 数据非法 1');\n return false;\n }\n\n if (params == null) {\n return true;\n }\n\n if (typeof params !== 'object' || Array.isArray(params)) {\n console.error('Report 数据非法 2');\n return false;\n }\n\n for (const key in params) {\n if (typeof key !== 'string') {\n console.error('Report 数据非法 3');\n return false;\n }\n }\n\n return true;\n};\n\nconst convertToValidParams = (params?: ReportItemType) => {\n const ret: ReportItemType = {};\n for (const key in params) {\n const value = JSON.stringify(params[key]);\n ret[key] = value;\n }\n return ret;\n};\n\nexport const ReportUtil = {\n init: () => {\n if (!enable()) {\n return;\n }\n\n Notification.addListener(\n 'onLogin',\n ({ error, user }: { error: any; user: UserType }) => {\n if (!error && user) {\n NativeModules.NCYReport.signIn(user.AVUser.get('objectId'));\n ReportUtil.setCommonInfo('user', user.AVUser.get('objectId'));\n }\n }\n );\n\n Notification.addListener('onLogout', () => {\n NativeModules.NCYReport.signOut();\n ReportUtil.setCommonInfo('user', '');\n });\n },\n\n report: (eventId: string, params?: ReportItemType) => {\n if (!enable()) {\n return;\n }\n\n if (!isValidReport(eventId, params)) {\n return;\n }\n\n const validParams = convertToValidParams(params);\n const realParams = { ...validParams, ...ReportUtil.getCommonInfo() };\n console.log('[Report]', realParams);\n NativeModules.NCYReport.report(eventId, realParams);\n },\n\n setCommonInfo: (key: string, value: string) => {\n CommonInfo[key] = value;\n },\n\n getCommonInfo: () => {\n return CommonInfo;\n },\n\n viewAppear: (page: string) => {\n if (!__DEV__) {\n console.log(page, 'viewWillAppear');\n }\n\n if (!enable()) {\n return;\n }\n\n NativeModules.NCYReport.enterPage(page);\n },\n\n viewDisappear: (page: string) => {\n if (!__DEV__) {\n console.log(page, 'viewWillDisappear');\n }\n\n if (!enable()) {\n return;\n }\n\n NativeModules.NCYReport.leavePage(page);\n },\n};\n"],"mappings":"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"}
@@ -0,0 +1,42 @@
1
+ import * as WeChat from 'react-native-wechat-lib';
2
+ export const WeChatLoginUtil = {
3
+ doLogin: (WeiXinId, WeiXinSecret, callback) => {
4
+ WeChat.sendAuthRequest('snsapi_userinfo').then(ret => {
5
+ console.log('wechat auth success ', ret);
6
+ let accessTokenUrl = 'https://api.weixin.qq.com/sns/oauth2/access_token?appid=' + WeiXinId + '&secret=' + WeiXinSecret + '&code=' + ret.code + '&grant_type=authorization_code';
7
+ fetch(accessTokenUrl).then(res => {
8
+ return res.json();
9
+ }).then(res => {
10
+ console.log('wechat get access code success: ', res.access_token);
11
+ let userInfoUrl = 'https://api.weixin.qq.com/sns/userinfo?access_token=' + res.access_token + '&openid=' + res.openid;
12
+ fetch(userInfoUrl).then(res => {
13
+ return res.json();
14
+ }).then(json => {
15
+ console.log('wechat get user info success: ', json);
16
+ callback({
17
+ nickname: json.nickname,
18
+ headimgurl: json.headimgurl,
19
+ openid: json.openid,
20
+ unionid: json.unionid
21
+ });
22
+ }).catch(e => {
23
+ console.warn('wechat get user info fail ', e);
24
+ callback({
25
+ error: e
26
+ });
27
+ });
28
+ }).catch(e => {
29
+ console.warn('wechat get access code fail ', e);
30
+ callback({
31
+ error: e
32
+ });
33
+ });
34
+ }).catch(e => {
35
+ console.warn('wechat auth fail ', e);
36
+ callback({
37
+ error: e
38
+ });
39
+ });
40
+ }
41
+ };
42
+ //# sourceMappingURL=WeChatLoginUtil.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["WeChat","WeChatLoginUtil","doLogin","WeiXinId","WeiXinSecret","callback","sendAuthRequest","then","ret","console","log","accessTokenUrl","code","fetch","res","json","access_token","userInfoUrl","openid","nickname","headimgurl","unionid","catch","e","warn","error"],"sources":["WeChatLoginUtil.ts"],"sourcesContent":["import * as WeChat from 'react-native-wechat-lib';\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((res) => {\n return res.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"],"mappings":"AAAA,OAAO,KAAKA,MAAM,MAAM,yBAAyB;AAEjD,OAAO,MAAMC,eAAe,GAAG;EAC7BC,OAAO,EAAEA,CAACC,QAAgB,EAAEC,YAAoB,EAAEC,QAAkB,KAAK;IACvEL,MAAM,CAACM,eAAe,CAAC,iBAAiB,CAAC,CACtCC,IAAI,CAAEC,GAAG,IAAK;MACbC,OAAO,CAACC,GAAG,CAAC,sBAAsB,EAAEF,GAAG,CAAC;MAExC,IAAIG,cAAc,GAChB,0DAA0D,GAC1DR,QAAQ,GACR,UAAU,GACVC,YAAY,GACZ,QAAQ,GACRI,GAAG,CAACI,IAAI,GACR,gCAAgC;MAClCC,KAAK,CAACF,cAAc,CAAC,CAClBJ,IAAI,CAAEO,GAAG,IAAK;QACb,OAAOA,GAAG,CAACC,IAAI,CAAC,CAAC;MACnB,CAAC,CAAC,CACDR,IAAI,CAAEO,GAAG,IAAK;QACbL,OAAO,CAACC,GAAG,CAAC,kCAAkC,EAAEI,GAAG,CAACE,YAAY,CAAC;QACjE,IAAIC,WAAW,GACb,sDAAsD,GACtDH,GAAG,CAACE,YAAY,GAChB,UAAU,GACVF,GAAG,CAACI,MAAM;QACZL,KAAK,CAACI,WAAW,CAAC,CACfV,IAAI,CAAEO,GAAG,IAAK;UACb,OAAOA,GAAG,CAACC,IAAI,CAAC,CAAC;QACnB,CAAC,CAAC,CACDR,IAAI,CAAEQ,IAAI,IAAK;UACdN,OAAO,CAACC,GAAG,CAAC,gCAAgC,EAAEK,IAAI,CAAC;UACnDV,QAAQ,CAAC;YACPc,QAAQ,EAAEJ,IAAI,CAACI,QAAQ;YACvBC,UAAU,EAAEL,IAAI,CAACK,UAAU;YAC3BF,MAAM,EAAEH,IAAI,CAACG,MAAM;YACnBG,OAAO,EAAEN,IAAI,CAACM;UAChB,CAAC,CAAC;QACJ,CAAC,CAAC,CACDC,KAAK,CAAEC,CAAC,IAAK;UACZd,OAAO,CAACe,IAAI,CAAC,4BAA4B,EAAED,CAAC,CAAC;UAC7ClB,QAAQ,CAAC;YAAEoB,KAAK,EAAEF;UAAE,CAAC,CAAC;QACxB,CAAC,CAAC;MACN,CAAC,CAAC,CACDD,KAAK,CAAEC,CAAC,IAAK;QACZd,OAAO,CAACe,IAAI,CAAC,8BAA8B,EAAED,CAAC,CAAC;QAC/ClB,QAAQ,CAAC;UAAEoB,KAAK,EAAEF;QAAE,CAAC,CAAC;MACxB,CAAC,CAAC;IACN,CAAC,CAAC,CACDD,KAAK,CAAEC,CAAM,IAAK;MACjBd,OAAO,CAACe,IAAI,CAAC,mBAAmB,EAAED,CAAC,CAAC;MACpClB,QAAQ,CAAC;QAAEoB,KAAK,EAAEF;MAAE,CAAC,CAAC;IACxB,CAAC,CAAC;EACN;AACF,CAAC"}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * 多语言配置文件
3
+ */
4
+
5
+ import { SyncPrefData } from '@norcy/react-native-toolkit';
6
+ import { I18n } from 'i18n-js';
7
+ import { NativeModules } from 'react-native';
8
+ import en from '../locales/en-US.json';
9
+ import zh from '../locales/zh-CN.json';
10
+ export const i18n = new I18n();
11
+ i18n.enableFallback = true;
12
+
13
+ // 加载语言包
14
+ i18n.translations = {
15
+ zh,
16
+ en
17
+ };
18
+ i18n.locale = 'zh';
19
+ const language = SyncPrefData.getPrefString('language');
20
+ console.log('i18n init', language);
21
+ if (language == 'en') {
22
+ i18n.locale = 'en';
23
+ } else if (language == 'zh') {} else {
24
+ // 空的 或 auto
25
+ if (NativeModules.RNLocalize) {
26
+ var _locales$;
27
+ const RNLocalize = require('react-native-localize');
28
+ const locales = RNLocalize.getLocales();
29
+ const systemLanguage = (_locales$ = locales[0]) === null || _locales$ === void 0 ? void 0 : _locales$.languageCode;
30
+ if (systemLanguage == 'en') {
31
+ i18n.locale = 'en';
32
+ }
33
+ }
34
+ }
35
+ if (__DEV__) {
36
+ // i18n.locale = 'en';
37
+ // i18n.locale = 'zh';
38
+ }
39
+ //# sourceMappingURL=i18n.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["SyncPrefData","I18n","NativeModules","en","zh","i18n","enableFallback","translations","locale","language","getPrefString","console","log","RNLocalize","_locales$","require","locales","getLocales","systemLanguage","languageCode","__DEV__"],"sources":["i18n.ts"],"sourcesContent":["/**\n * 多语言配置文件\n */\n\nimport { SyncPrefData } from '@norcy/react-native-toolkit';\nimport { I18n } from 'i18n-js';\nimport { NativeModules } from 'react-native';\nimport en from '../locales/en-US.json';\nimport zh from '../locales/zh-CN.json';\n\nexport const i18n = new I18n();\n\ni18n.enableFallback = true;\n\n// 加载语言包\ni18n.translations = {\n zh,\n en,\n};\ni18n.locale = 'zh';\n\nconst language = SyncPrefData.getPrefString('language');\nconsole.log('i18n init', language);\nif (language == 'en') {\n i18n.locale = 'en';\n} else if (language == 'zh') {\n} else {\n // 空的 或 auto\n if (NativeModules.RNLocalize) {\n const RNLocalize = require('react-native-localize');\n const locales = RNLocalize.getLocales();\n const systemLanguage = locales[0]?.languageCode;\n if (systemLanguage == 'en') {\n i18n.locale = 'en';\n }\n }\n}\n\nif (__DEV__) {\n // i18n.locale = 'en';\n // i18n.locale = 'zh';\n}\n"],"mappings":"AAAA;AACA;AACA;;AAEA,SAASA,YAAY,QAAQ,6BAA6B;AAC1D,SAASC,IAAI,QAAQ,SAAS;AAC9B,SAASC,aAAa,QAAQ,cAAc;AAC5C,OAAOC,EAAE,MAAM,uBAAuB;AACtC,OAAOC,EAAE,MAAM,uBAAuB;AAEtC,OAAO,MAAMC,IAAI,GAAG,IAAIJ,IAAI,CAAC,CAAC;AAE9BI,IAAI,CAACC,cAAc,GAAG,IAAI;;AAE1B;AACAD,IAAI,CAACE,YAAY,GAAG;EAClBH,EAAE;EACFD;AACF,CAAC;AACDE,IAAI,CAACG,MAAM,GAAG,IAAI;AAElB,MAAMC,QAAQ,GAAGT,YAAY,CAACU,aAAa,CAAC,UAAU,CAAC;AACvDC,OAAO,CAACC,GAAG,CAAC,WAAW,EAAEH,QAAQ,CAAC;AAClC,IAAIA,QAAQ,IAAI,IAAI,EAAE;EACpBJ,IAAI,CAACG,MAAM,GAAG,IAAI;AACpB,CAAC,MAAM,IAAIC,QAAQ,IAAI,IAAI,EAAE,CAC7B,CAAC,MAAM;EACL;EACA,IAAIP,aAAa,CAACW,UAAU,EAAE;IAAA,IAAAC,SAAA;IAC5B,MAAMD,UAAU,GAAGE,OAAO,CAAC,uBAAuB,CAAC;IACnD,MAAMC,OAAO,GAAGH,UAAU,CAACI,UAAU,CAAC,CAAC;IACvC,MAAMC,cAAc,IAAAJ,SAAA,GAAGE,OAAO,CAAC,CAAC,CAAC,cAAAF,SAAA,uBAAVA,SAAA,CAAYK,YAAY;IAC/C,IAAID,cAAc,IAAI,IAAI,EAAE;MAC1Bb,IAAI,CAACG,MAAM,GAAG,IAAI;IACpB;EACF;AACF;AAEA,IAAIY,OAAO,EAAE;EACX;EACA;AAAA"}
@@ -3,11 +3,13 @@ const {
3
3
  ReactNativeToolkit
4
4
  } = NativeModules;
5
5
  export default ReactNativeToolkit;
6
- export * from './SyncPrefData';
6
+ export * from './AppleLoginUtil';
7
7
  export * from './Notification';
8
+ export * from './PrefData';
8
9
  export * from './ReportUtil';
9
10
  export * from './SentryManager';
10
- export * from './AppleLoginUtil';
11
+ export * from './SyncPrefData';
12
+ export * from './WeChatLoginUtil';
11
13
  export * from './constant';
12
- export * from './PrefData';
14
+ export * from './i18n';
13
15
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["NativeModules","ReactNativeToolkit"],"sources":["index.tsx"],"sourcesContent":["import { NativeModules } from 'react-native';\n\ntype ReactNativeToolkitType = {\n multiply(a: number, b: number): Promise<number>;\n};\n\nconst { ReactNativeToolkit } = NativeModules;\n\nexport default ReactNativeToolkit as ReactNativeToolkitType;\nexport * from './SyncPrefData';\nexport * from './Notification';\nexport * from './ReportUtil';\nexport * from './SentryManager';\nexport * from './AppleLoginUtil';\nexport * from './constant';\nexport * from './PrefData';\n"],"mappings":"AAAA,SAASA,aAAa,QAAQ,cAAc;AAM5C,MAAM;EAAEC;AAAmB,CAAC,GAAGD,aAAa;AAE5C,eAAeC,kBAAkB;AACjC,cAAc,gBAAgB;AAC9B,cAAc,gBAAgB;AAC9B,cAAc,cAAc;AAC5B,cAAc,iBAAiB;AAC/B,cAAc,kBAAkB;AAChC,cAAc,YAAY;AAC1B,cAAc,YAAY"}
1
+ {"version":3,"names":["NativeModules","ReactNativeToolkit"],"sources":["index.tsx"],"sourcesContent":["import { NativeModules } from 'react-native';\n\ntype ReactNativeToolkitType = {\n multiply(a: number, b: number): Promise<number>;\n};\n\nconst { ReactNativeToolkit } = NativeModules;\n\nexport default ReactNativeToolkit as ReactNativeToolkitType;\nexport * from './AppleLoginUtil';\nexport * from './Notification';\nexport * from './PrefData';\nexport * from './ReportUtil';\nexport * from './SentryManager';\nexport * from './SyncPrefData';\nexport * from './WeChatLoginUtil';\nexport * from './constant';\nexport * from './i18n';\n"],"mappings":"AAAA,SAASA,aAAa,QAAQ,cAAc;AAM5C,MAAM;EAAEC;AAAmB,CAAC,GAAGD,aAAa;AAE5C,eAAeC,kBAAkB;AACjC,cAAc,kBAAkB;AAChC,cAAc,gBAAgB;AAC9B,cAAc,YAAY;AAC1B,cAAc,cAAc;AAC5B,cAAc,iBAAiB;AAC/B,cAAc,gBAAgB;AAC9B,cAAc,mBAAmB;AACjC,cAAc,YAAY;AAC1B,cAAc,QAAQ"}
@@ -0,0 +1,3 @@
1
+ export declare const WeChatLoginUtil: {
2
+ doLogin: (WeiXinId: string, WeiXinSecret: string, callback: Function) => void;
3
+ };
@@ -0,0 +1,5 @@
1
+ /**
2
+ * 多语言配置文件
3
+ */
4
+ import { I18n } from 'i18n-js';
5
+ export declare const i18n: I18n;
@@ -3,10 +3,12 @@ type ReactNativeToolkitType = {
3
3
  };
4
4
  declare const _default: ReactNativeToolkitType;
5
5
  export default _default;
6
- export * from './SyncPrefData';
6
+ export * from './AppleLoginUtil';
7
7
  export * from './Notification';
8
+ export * from './PrefData';
8
9
  export * from './ReportUtil';
9
10
  export * from './SentryManager';
10
- export * from './AppleLoginUtil';
11
+ export * from './SyncPrefData';
12
+ export * from './WeChatLoginUtil';
11
13
  export * from './constant';
12
- export * from './PrefData';
14
+ export * from './i18n';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@norcy/react-native-toolkit",
3
- "version": "0.1.7",
3
+ "version": "0.1.9",
4
4
  "description": "My Toolkit",
5
5
  "main": "lib/commonjs/index",
6
6
  "module": "lib/module/index",
@@ -65,7 +65,9 @@
65
65
  "react-native-device-info": "^10.0.2",
66
66
  "@sentry/react-native": "^3.4.3",
67
67
  "leancloud-storage": "^4.10.1",
68
- "@react-native-community/async-storage": "^1.12.0"
68
+ "@react-native-community/async-storage": "^1.12.0",
69
+ "i18n-js": "^4.2.2",
70
+ "react-native-wechat-lib": "^1.1.26"
69
71
  },
70
72
  "peerDependencies": {
71
73
  "react": "*",
@@ -73,8 +75,10 @@
73
75
  "@invertase/react-native-apple-authentication": "*",
74
76
  "react-native-device-info": "*",
75
77
  "@sentry/react-native": "*",
78
+ "leancloud-storage": "*",
76
79
  "@react-native-community/async-storage": "*",
77
- "leancloud-storage": "*"
80
+ "i18n-js": "*",
81
+ "react-native-wechat-lib": "*"
78
82
  },
79
83
  "jest": {
80
84
  "preset": "react-native",
package/src/PrefData.ts CHANGED
@@ -23,11 +23,6 @@ export const BuildInPrefs: PrefsType = {
23
23
  type: 'int',
24
24
  default: -1,
25
25
  },
26
- isFirstLaunch: {
27
- key: 'isFirstLaunch_Key2',
28
- type: 'bool',
29
- default: true,
30
- },
31
26
  };
32
27
 
33
28
  const getPrefByKey = (Prefs: PrefsType, key: string) => {
package/src/ReportUtil.ts CHANGED
@@ -98,7 +98,7 @@ export const ReportUtil = {
98
98
 
99
99
  const validParams = convertToValidParams(params);
100
100
  const realParams = { ...validParams, ...ReportUtil.getCommonInfo() };
101
- console.log(realParams);
101
+ console.log('[Report]', realParams);
102
102
  NativeModules.NCYReport.report(eventId, realParams);
103
103
  },
104
104
 
@@ -0,0 +1,56 @@
1
+ import * as WeChat from 'react-native-wechat-lib';
2
+
3
+ export const WeChatLoginUtil = {
4
+ doLogin: (WeiXinId: string, WeiXinSecret: string, callback: Function) => {
5
+ WeChat.sendAuthRequest('snsapi_userinfo')
6
+ .then((ret) => {
7
+ console.log('wechat auth success ', ret);
8
+
9
+ let accessTokenUrl =
10
+ 'https://api.weixin.qq.com/sns/oauth2/access_token?appid=' +
11
+ WeiXinId +
12
+ '&secret=' +
13
+ WeiXinSecret +
14
+ '&code=' +
15
+ ret.code +
16
+ '&grant_type=authorization_code';
17
+ fetch(accessTokenUrl)
18
+ .then((res) => {
19
+ return res.json();
20
+ })
21
+ .then((res) => {
22
+ console.log('wechat get access code success: ', res.access_token);
23
+ let userInfoUrl =
24
+ 'https://api.weixin.qq.com/sns/userinfo?access_token=' +
25
+ res.access_token +
26
+ '&openid=' +
27
+ res.openid;
28
+ fetch(userInfoUrl)
29
+ .then((res) => {
30
+ return res.json();
31
+ })
32
+ .then((json) => {
33
+ console.log('wechat get user info success: ', json);
34
+ callback({
35
+ nickname: json.nickname,
36
+ headimgurl: json.headimgurl,
37
+ openid: json.openid,
38
+ unionid: json.unionid,
39
+ });
40
+ })
41
+ .catch((e) => {
42
+ console.warn('wechat get user info fail ', e);
43
+ callback({ error: e });
44
+ });
45
+ })
46
+ .catch((e) => {
47
+ console.warn('wechat get access code fail ', e);
48
+ callback({ error: e });
49
+ });
50
+ })
51
+ .catch((e: any) => {
52
+ console.warn('wechat auth fail ', e);
53
+ callback({ error: e });
54
+ });
55
+ },
56
+ };
package/src/i18n.ts ADDED
@@ -0,0 +1,42 @@
1
+ /**
2
+ * 多语言配置文件
3
+ */
4
+
5
+ import { SyncPrefData } from '@norcy/react-native-toolkit';
6
+ import { I18n } from 'i18n-js';
7
+ import { NativeModules } from 'react-native';
8
+ import en from '../locales/en-US.json';
9
+ import zh from '../locales/zh-CN.json';
10
+
11
+ export const i18n = new I18n();
12
+
13
+ i18n.enableFallback = true;
14
+
15
+ // 加载语言包
16
+ i18n.translations = {
17
+ zh,
18
+ en,
19
+ };
20
+ i18n.locale = 'zh';
21
+
22
+ const language = SyncPrefData.getPrefString('language');
23
+ console.log('i18n init', language);
24
+ if (language == 'en') {
25
+ i18n.locale = 'en';
26
+ } else if (language == 'zh') {
27
+ } else {
28
+ // 空的 或 auto
29
+ if (NativeModules.RNLocalize) {
30
+ const RNLocalize = require('react-native-localize');
31
+ const locales = RNLocalize.getLocales();
32
+ const systemLanguage = locales[0]?.languageCode;
33
+ if (systemLanguage == 'en') {
34
+ i18n.locale = 'en';
35
+ }
36
+ }
37
+ }
38
+
39
+ if (__DEV__) {
40
+ // i18n.locale = 'en';
41
+ // i18n.locale = 'zh';
42
+ }
package/src/index.tsx CHANGED
@@ -7,10 +7,12 @@ type ReactNativeToolkitType = {
7
7
  const { ReactNativeToolkit } = NativeModules;
8
8
 
9
9
  export default ReactNativeToolkit as ReactNativeToolkitType;
10
- export * from './SyncPrefData';
10
+ export * from './AppleLoginUtil';
11
11
  export * from './Notification';
12
+ export * from './PrefData';
12
13
  export * from './ReportUtil';
13
14
  export * from './SentryManager';
14
- export * from './AppleLoginUtil';
15
+ export * from './SyncPrefData';
16
+ export * from './WeChatLoginUtil';
15
17
  export * from './constant';
16
- export * from './PrefData';
18
+ export * from './i18n';