@norcy/react-native-toolkit 0.1.6 → 0.1.8

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 (46) hide show
  1. package/lib/commonjs/AppleLoginUtil.js +2 -3
  2. package/lib/commonjs/AppleLoginUtil.js.map +1 -1
  3. package/lib/commonjs/PrefData.js +0 -5
  4. package/lib/commonjs/PrefData.js.map +1 -1
  5. package/lib/commonjs/ReportUtil.js +3 -4
  6. package/lib/commonjs/ReportUtil.js.map +1 -1
  7. package/lib/commonjs/SentryManager.js +2 -3
  8. package/lib/commonjs/SentryManager.js.map +1 -1
  9. package/lib/commonjs/WeChatLoginUtil.js +50 -0
  10. package/lib/commonjs/WeChatLoginUtil.js.map +1 -0
  11. package/lib/commonjs/i18n.js +46 -0
  12. package/lib/commonjs/i18n.js.map +1 -0
  13. package/lib/commonjs/index.js +36 -12
  14. package/lib/commonjs/index.js.map +1 -1
  15. package/lib/module/AppleLoginUtil.js +1 -2
  16. package/lib/module/AppleLoginUtil.js.map +1 -1
  17. package/lib/module/PrefData.js +0 -5
  18. package/lib/module/PrefData.js.map +1 -1
  19. package/lib/module/ReportUtil.js +2 -3
  20. package/lib/module/ReportUtil.js.map +1 -1
  21. package/lib/module/SentryManager.js +1 -2
  22. package/lib/module/SentryManager.js.map +1 -1
  23. package/lib/module/WeChatLoginUtil.js +43 -0
  24. package/lib/module/WeChatLoginUtil.js.map +1 -0
  25. package/lib/module/i18n.js +39 -0
  26. package/lib/module/i18n.js.map +1 -0
  27. package/lib/module/index.js +5 -3
  28. package/lib/module/index.js.map +1 -1
  29. package/lib/typescript/{AppleLoginUtil.d.ts → src/AppleLoginUtil.d.ts} +1 -2
  30. package/lib/typescript/{ReportUtil.d.ts → src/ReportUtil.d.ts} +1 -2
  31. package/lib/typescript/{SentryManager.d.ts → src/SentryManager.d.ts} +1 -2
  32. package/lib/typescript/src/WeChatLoginUtil.d.ts +4 -0
  33. package/lib/typescript/src/i18n.d.ts +5 -0
  34. package/lib/typescript/{index.d.ts → src/index.d.ts} +5 -3
  35. package/package.json +7 -3
  36. package/src/AppleLoginUtil.ts +1 -3
  37. package/src/PrefData.ts +0 -5
  38. package/src/ReportUtil.ts +2 -4
  39. package/src/SentryManager.ts +1 -3
  40. package/src/WeChatLoginUtil.ts +58 -0
  41. package/src/i18n.ts +42 -0
  42. package/src/index.tsx +5 -3
  43. /package/lib/typescript/{Notification.d.ts → src/Notification.d.ts} +0 -0
  44. /package/lib/typescript/{PrefData.d.ts → src/PrefData.d.ts} +0 -0
  45. /package/lib/typescript/{SyncPrefData.d.ts → src/SyncPrefData.d.ts} +0 -0
  46. /package/lib/typescript/{constant.d.ts → src/constant.d.ts} +0 -0
@@ -3,12 +3,12 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.default = void 0;
6
+ exports.AppleLoginUtil = void 0;
7
7
  var _reactNativeAppleAuthentication = require("@invertase/react-native-apple-authentication");
8
8
  var _reactNativeDeviceInfo = require("react-native-device-info");
9
9
  var _constant = require("./constant");
10
10
  const AV = require('leancloud-storage');
11
- const AppleLoginUtil = {
11
+ const AppleLoginUtil = exports.AppleLoginUtil = {
12
12
  // 这是监听苹果取消授权的回调,目前不需要
13
13
  // appleAuth.onCredentialRevoked(async () => {
14
14
  // fetchAndUpdateCredentialState(loginUser).catch(error => {
@@ -134,5 +134,4 @@ const AppleLoginUtil = {
134
134
  }
135
135
  }
136
136
  };
137
- var _default = exports.default = AppleLoginUtil;
138
137
  //# sourceMappingURL=AppleLoginUtil.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNativeAppleAuthentication","require","_reactNativeDeviceInfo","_constant","AV","AppleLoginUtil","fetchAndUpdateCredentialState","user","callback","console","log","result","LoginState","NOTLOGIN","error","credentialState","appleAuth","getCredentialStateForUser","State","AUTHORIZED","warn","requestAppleUserForLogin","isSupported","appleAuthRequestResponse","performRequest","requestedOperation","Operation","LOGIN","requestedScopes","Scope","EMAIL","FULL_NAME","newUser","email","identityToken","code","Error","CANCELED","requestAppleUserForLogout","LOGOUT","authorizationCode","requestDeleteAccount","token","Cloud","run","bundleId","getBundleId","_default","exports","default"],"sources":["AppleLoginUtil.ts"],"sourcesContent":["import { appleAuth } from '@invertase/react-native-apple-authentication';\nimport { getBundleId } from 'react-native-device-info';\nimport { LoginState } from './constant';\n\nconst AV = require('leancloud-storage');\n\nconst AppleLoginUtil = {\n // 这是监听苹果取消授权的回调,目前不需要\n // appleAuth.onCredentialRevoked(async () => {\n // fetchAndUpdateCredentialState(loginUser).catch(error => {\n // updateCredentialStateForUser(`Error: ${error.code}`)\n // });\n // });\n\n fetchAndUpdateCredentialState: async (user: string, callback: Function) => {\n console.log('User 正在登录鉴权:', user);\n\n if (user === null) {\n callback({ result: LoginState.NOTLOGIN }, { error: 'USER EMPTY' });\n } else {\n const credentialState = await appleAuth.getCredentialStateForUser(user);\n if (credentialState === appleAuth.State.AUTHORIZED) {\n console.log('登录鉴权成功');\n callback({ result: LoginState.AUTHORIZED });\n } else {\n console.warn('登录鉴权失败');\n callback(\n { result: LoginState.NOTLOGIN },\n { error: 'Authorized Failed' }\n );\n }\n }\n },\n\n requestAppleUserForLogin: async () => {\n if (!appleAuth.isSupported) {\n return { error: 'Apple Auth Not Supported' };\n }\n\n // start a login request\n try {\n const appleAuthRequestResponse = await appleAuth.performRequest({\n requestedOperation: appleAuth.Operation.LOGIN,\n requestedScopes: [appleAuth.Scope.EMAIL, appleAuth.Scope.FULL_NAME],\n });\n\n console.log('appleAuthRequestResponse login', appleAuthRequestResponse);\n\n const { user: newUser, email, identityToken } = appleAuthRequestResponse;\n\n console.log(`Apple Authentication Completed, ${newUser}, ${email}`);\n\n return { user: newUser, email: email, identityToken: identityToken };\n } catch (error: any) {\n if (error.code === appleAuth.Error.CANCELED) {\n // console.warn('User canceled Apple Sign in.');\n return { error: 'User Cancel Login', code: error.code };\n } else {\n // console.warn('登录鉴权出错: ', error);\n return { error: 'Login Request Fail', code: error.code };\n }\n }\n },\n\n requestAppleUserForLogout: async () => {\n if (!appleAuth.isSupported) {\n throw { error: 'Apple Auth Not Supported', code: -1 };\n }\n\n // start a login request\n try {\n const appleAuthRequestResponse = await appleAuth.performRequest({\n requestedOperation: appleAuth.Operation.LOGOUT,\n });\n\n console.log('appleAuthRequestResponse logout', appleAuthRequestResponse);\n\n return { authorizationCode: appleAuthRequestResponse.authorizationCode };\n } catch (error: any) {\n if (error.code === appleAuth.Error.CANCELED) {\n throw { error: 'User Cancel Logout', code: error.code };\n } else {\n throw { error: 'Logout Request Fail', code: error.code };\n }\n }\n },\n\n requestDeleteAccount: async () => {\n if (appleAuth.isSupported) {\n const { authorizationCode } =\n await AppleLoginUtil.requestAppleUserForLogout();\n console.log('get authorizationCode success', authorizationCode);\n const { token } = await AV.Cloud.run('getToken', {\n authorizationCode,\n bundleId: getBundleId(),\n });\n console.log('get token success', token);\n await AV.Cloud.run('revokeAppleAccount', {\n token,\n bundleId: getBundleId(),\n });\n console.log('revoke account success');\n }\n },\n};\n\nexport default AppleLoginUtil;\n"],"mappings":";;;;;;AAAA,IAAAA,+BAAA,GAAAC,OAAA;AACA,IAAAC,sBAAA,GAAAD,OAAA;AACA,IAAAE,SAAA,GAAAF,OAAA;AAEA,MAAMG,EAAE,GAAGH,OAAO,CAAC,mBAAmB,CAAC;AAEvC,MAAMI,cAAc,GAAG;EACrB;EACA;EACA;EACA;EACA;EACA;;EAEAC,6BAA6B,EAAE,MAAAA,CAAOC,IAAY,EAAEC,QAAkB,KAAK;IACzEC,OAAO,CAACC,GAAG,CAAC,cAAc,EAAEH,IAAI,CAAC;IAEjC,IAAIA,IAAI,KAAK,IAAI,EAAE;MACjBC,QAAQ,CAAC;QAAEG,MAAM,EAAEC,oBAAU,CAACC;MAAS,CAAC,EAAE;QAAEC,KAAK,EAAE;MAAa,CAAC,CAAC;IACpE,CAAC,MAAM;MACL,MAAMC,eAAe,GAAG,MAAMC,yCAAS,CAACC,yBAAyB,CAACV,IAAI,CAAC;MACvE,IAAIQ,eAAe,KAAKC,yCAAS,CAACE,KAAK,CAACC,UAAU,EAAE;QAClDV,OAAO,CAACC,GAAG,CAAC,QAAQ,CAAC;QACrBF,QAAQ,CAAC;UAAEG,MAAM,EAAEC,oBAAU,CAACO;QAAW,CAAC,CAAC;MAC7C,CAAC,MAAM;QACLV,OAAO,CAACW,IAAI,CAAC,QAAQ,CAAC;QACtBZ,QAAQ,CACN;UAAEG,MAAM,EAAEC,oBAAU,CAACC;QAAS,CAAC,EAC/B;UAAEC,KAAK,EAAE;QAAoB,CAC/B,CAAC;MACH;IACF;EACF,CAAC;EAEDO,wBAAwB,EAAE,MAAAA,CAAA,KAAY;IACpC,IAAI,CAACL,yCAAS,CAACM,WAAW,EAAE;MAC1B,OAAO;QAAER,KAAK,EAAE;MAA2B,CAAC;IAC9C;;IAEA;IACA,IAAI;MACF,MAAMS,wBAAwB,GAAG,MAAMP,yCAAS,CAACQ,cAAc,CAAC;QAC9DC,kBAAkB,EAAET,yCAAS,CAACU,SAAS,CAACC,KAAK;QAC7CC,eAAe,EAAE,CAACZ,yCAAS,CAACa,KAAK,CAACC,KAAK,EAAEd,yCAAS,CAACa,KAAK,CAACE,SAAS;MACpE,CAAC,CAAC;MAEFtB,OAAO,CAACC,GAAG,CAAC,gCAAgC,EAAEa,wBAAwB,CAAC;MAEvE,MAAM;QAAEhB,IAAI,EAAEyB,OAAO;QAAEC,KAAK;QAAEC;MAAc,CAAC,GAAGX,wBAAwB;MAExEd,OAAO,CAACC,GAAG,CAAE,mCAAkCsB,OAAQ,KAAIC,KAAM,EAAC,CAAC;MAEnE,OAAO;QAAE1B,IAAI,EAAEyB,OAAO;QAAEC,KAAK,EAAEA,KAAK;QAAEC,aAAa,EAAEA;MAAc,CAAC;IACtE,CAAC,CAAC,OAAOpB,KAAU,EAAE;MACnB,IAAIA,KAAK,CAACqB,IAAI,KAAKnB,yCAAS,CAACoB,KAAK,CAACC,QAAQ,EAAE;QAC3C;QACA,OAAO;UAAEvB,KAAK,EAAE,mBAAmB;UAAEqB,IAAI,EAAErB,KAAK,CAACqB;QAAK,CAAC;MACzD,CAAC,MAAM;QACL;QACA,OAAO;UAAErB,KAAK,EAAE,oBAAoB;UAAEqB,IAAI,EAAErB,KAAK,CAACqB;QAAK,CAAC;MAC1D;IACF;EACF,CAAC;EAEDG,yBAAyB,EAAE,MAAAA,CAAA,KAAY;IACrC,IAAI,CAACtB,yCAAS,CAACM,WAAW,EAAE;MAC1B,MAAM;QAAER,KAAK,EAAE,0BAA0B;QAAEqB,IAAI,EAAE,CAAC;MAAE,CAAC;IACvD;;IAEA;IACA,IAAI;MACF,MAAMZ,wBAAwB,GAAG,MAAMP,yCAAS,CAACQ,cAAc,CAAC;QAC9DC,kBAAkB,EAAET,yCAAS,CAACU,SAAS,CAACa;MAC1C,CAAC,CAAC;MAEF9B,OAAO,CAACC,GAAG,CAAC,iCAAiC,EAAEa,wBAAwB,CAAC;MAExE,OAAO;QAAEiB,iBAAiB,EAAEjB,wBAAwB,CAACiB;MAAkB,CAAC;IAC1E,CAAC,CAAC,OAAO1B,KAAU,EAAE;MACnB,IAAIA,KAAK,CAACqB,IAAI,KAAKnB,yCAAS,CAACoB,KAAK,CAACC,QAAQ,EAAE;QAC3C,MAAM;UAAEvB,KAAK,EAAE,oBAAoB;UAAEqB,IAAI,EAAErB,KAAK,CAACqB;QAAK,CAAC;MACzD,CAAC,MAAM;QACL,MAAM;UAAErB,KAAK,EAAE,qBAAqB;UAAEqB,IAAI,EAAErB,KAAK,CAACqB;QAAK,CAAC;MAC1D;IACF;EACF,CAAC;EAEDM,oBAAoB,EAAE,MAAAA,CAAA,KAAY;IAChC,IAAIzB,yCAAS,CAACM,WAAW,EAAE;MACzB,MAAM;QAAEkB;MAAkB,CAAC,GACzB,MAAMnC,cAAc,CAACiC,yBAAyB,CAAC,CAAC;MAClD7B,OAAO,CAACC,GAAG,CAAC,+BAA+B,EAAE8B,iBAAiB,CAAC;MAC/D,MAAM;QAAEE;MAAM,CAAC,GAAG,MAAMtC,EAAE,CAACuC,KAAK,CAACC,GAAG,CAAC,UAAU,EAAE;QAC/CJ,iBAAiB;QACjBK,QAAQ,EAAE,IAAAC,kCAAW,EAAC;MACxB,CAAC,CAAC;MACFrC,OAAO,CAACC,GAAG,CAAC,mBAAmB,EAAEgC,KAAK,CAAC;MACvC,MAAMtC,EAAE,CAACuC,KAAK,CAACC,GAAG,CAAC,oBAAoB,EAAE;QACvCF,KAAK;QACLG,QAAQ,EAAE,IAAAC,kCAAW,EAAC;MACxB,CAAC,CAAC;MACFrC,OAAO,CAACC,GAAG,CAAC,wBAAwB,CAAC;IACvC;EACF;AACF,CAAC;AAAC,IAAAqC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEa5C,cAAc"}
1
+ {"version":3,"names":["_reactNativeAppleAuthentication","require","_reactNativeDeviceInfo","_constant","AV","AppleLoginUtil","exports","fetchAndUpdateCredentialState","user","callback","console","log","result","LoginState","NOTLOGIN","error","credentialState","appleAuth","getCredentialStateForUser","State","AUTHORIZED","warn","requestAppleUserForLogin","isSupported","appleAuthRequestResponse","performRequest","requestedOperation","Operation","LOGIN","requestedScopes","Scope","EMAIL","FULL_NAME","newUser","email","identityToken","code","Error","CANCELED","requestAppleUserForLogout","LOGOUT","authorizationCode","requestDeleteAccount","token","Cloud","run","bundleId","getBundleId"],"sources":["AppleLoginUtil.ts"],"sourcesContent":["import { appleAuth } from '@invertase/react-native-apple-authentication';\nimport { getBundleId } from 'react-native-device-info';\nimport { LoginState } from './constant';\n\nconst AV = require('leancloud-storage');\n\nexport const AppleLoginUtil = {\n // 这是监听苹果取消授权的回调,目前不需要\n // appleAuth.onCredentialRevoked(async () => {\n // fetchAndUpdateCredentialState(loginUser).catch(error => {\n // updateCredentialStateForUser(`Error: ${error.code}`)\n // });\n // });\n\n fetchAndUpdateCredentialState: async (user: string, callback: Function) => {\n console.log('User 正在登录鉴权:', user);\n\n if (user === null) {\n callback({ result: LoginState.NOTLOGIN }, { error: 'USER EMPTY' });\n } else {\n const credentialState = await appleAuth.getCredentialStateForUser(user);\n if (credentialState === appleAuth.State.AUTHORIZED) {\n console.log('登录鉴权成功');\n callback({ result: LoginState.AUTHORIZED });\n } else {\n console.warn('登录鉴权失败');\n callback(\n { result: LoginState.NOTLOGIN },\n { error: 'Authorized Failed' }\n );\n }\n }\n },\n\n requestAppleUserForLogin: async () => {\n if (!appleAuth.isSupported) {\n return { error: 'Apple Auth Not Supported' };\n }\n\n // start a login request\n try {\n const appleAuthRequestResponse = await appleAuth.performRequest({\n requestedOperation: appleAuth.Operation.LOGIN,\n requestedScopes: [appleAuth.Scope.EMAIL, appleAuth.Scope.FULL_NAME],\n });\n\n console.log('appleAuthRequestResponse login', appleAuthRequestResponse);\n\n const { user: newUser, email, identityToken } = appleAuthRequestResponse;\n\n console.log(`Apple Authentication Completed, ${newUser}, ${email}`);\n\n return { user: newUser, email: email, identityToken: identityToken };\n } catch (error: any) {\n if (error.code === appleAuth.Error.CANCELED) {\n // console.warn('User canceled Apple Sign in.');\n return { error: 'User Cancel Login', code: error.code };\n } else {\n // console.warn('登录鉴权出错: ', error);\n return { error: 'Login Request Fail', code: error.code };\n }\n }\n },\n\n requestAppleUserForLogout: async () => {\n if (!appleAuth.isSupported) {\n throw { error: 'Apple Auth Not Supported', code: -1 };\n }\n\n // start a login request\n try {\n const appleAuthRequestResponse = await appleAuth.performRequest({\n requestedOperation: appleAuth.Operation.LOGOUT,\n });\n\n console.log('appleAuthRequestResponse logout', appleAuthRequestResponse);\n\n return { authorizationCode: appleAuthRequestResponse.authorizationCode };\n } catch (error: any) {\n if (error.code === appleAuth.Error.CANCELED) {\n throw { error: 'User Cancel Logout', code: error.code };\n } else {\n throw { error: 'Logout Request Fail', code: error.code };\n }\n }\n },\n\n requestDeleteAccount: async () => {\n if (appleAuth.isSupported) {\n const { authorizationCode } =\n await AppleLoginUtil.requestAppleUserForLogout();\n console.log('get authorizationCode success', authorizationCode);\n const { token } = await AV.Cloud.run('getToken', {\n authorizationCode,\n bundleId: getBundleId(),\n });\n console.log('get token success', token);\n await AV.Cloud.run('revokeAppleAccount', {\n token,\n bundleId: getBundleId(),\n });\n console.log('revoke account success');\n }\n },\n};\n"],"mappings":"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"}
@@ -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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"}
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.default = void 0;
6
+ exports.ReportUtil = void 0;
7
7
  var _reactNative = require("react-native");
8
8
  var _reactNativeDeviceInfo = require("react-native-device-info");
9
9
  var _Notification = require("./Notification");
@@ -52,7 +52,7 @@ const convertToValidParams = params => {
52
52
  }
53
53
  return ret;
54
54
  };
55
- const ReportUtil = {
55
+ const ReportUtil = exports.ReportUtil = {
56
56
  init: () => {
57
57
  if (!enable()) {
58
58
  return;
@@ -84,7 +84,7 @@ const 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) => {
@@ -112,5 +112,4 @@ const ReportUtil = {
112
112
  _reactNative.NativeModules.NCYReport.leavePage(page);
113
113
  }
114
114
  };
115
- var _default = exports.default = ReportUtil;
116
115
  //# sourceMappingURL=ReportUtil.js.map
@@ -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","init","Notification","addListener","_ref","user","signIn","AVUser","get","setCommonInfo","signOut","report","validParams","realParams","getCommonInfo","log","viewAppear","page","enterPage","viewDisappear","leavePage","_default","exports","default"],"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\nconst 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\nexport default ReportUtil;\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":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,sBAAA,GAAAD,OAAA;AAMA,IAAAE,aAAA,GAAAF,OAAA;AAOA,MAAMG,UAA0B,GAAG;EACjCC,MAAM,EAAE,IAAAC,yCAAkB,EAAC,CAAC;EAC5BC,QAAQ,EAAEC,qBAAQ,CAACC,EAAE;EACrBC,MAAM,EAAEF,qBAAQ,CAACG,OAAO;EACxBC,KAAK,EAAE,IAAAC,+BAAQ,EAAC,CAAC;EACjBC,KAAK,EAAE,IAAAC,+BAAQ,EAAC,CAAC;EACjBC,MAAM,EAAE,IAAAC,kCAAW,EAAC;AACtB,CAAC;AAED,MAAMC,MAAM,GAAGA,CAAA,KAAM;EACnB,IAAIC,OAAO,EAAE;IACX,OAAO,KAAK;EACd;EACA,IAAI,CAACC,0BAAa,CAACC,SAAS,EAAE;IAC5B,OAAO,KAAK;EACd;EACA,OAAO,IAAI;AACb,CAAC;AAED,MAAMC,aAAa,GAAGA,CAACC,OAAe,EAAEC,MAAuB,KAAK;EAClE,IAAI,OAAOD,OAAO,KAAK,QAAQ,IAAI,CAAAA,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEE,MAAM,MAAK,CAAC,EAAE;IACxDC,OAAO,CAACC,KAAK,CAAC,eAAe,CAAC;IAC9B,OAAO,KAAK;EACd;EAEA,IAAIH,MAAM,IAAI,IAAI,EAAE;IAClB,OAAO,IAAI;EACb;EAEA,IAAI,OAAOA,MAAM,KAAK,QAAQ,IAAII,KAAK,CAACC,OAAO,CAACL,MAAM,CAAC,EAAE;IACvDE,OAAO,CAACC,KAAK,CAAC,eAAe,CAAC;IAC9B,OAAO,KAAK;EACd;EAEA,KAAK,MAAMG,GAAG,IAAIN,MAAM,EAAE;IACxB,IAAI,OAAOM,GAAG,KAAK,QAAQ,EAAE;MAC3BJ,OAAO,CAACC,KAAK,CAAC,eAAe,CAAC;MAC9B,OAAO,KAAK;IACd;EACF;EAEA,OAAO,IAAI;AACb,CAAC;AAED,MAAMI,oBAAoB,GAAIP,MAAuB,IAAK;EACxD,MAAMQ,GAAmB,GAAG,CAAC,CAAC;EAC9B,KAAK,MAAMF,GAAG,IAAIN,MAAM,EAAE;IACxB,MAAMS,KAAK,GAAGC,IAAI,CAACC,SAAS,CAACX,MAAM,CAACM,GAAG,CAAC,CAAC;IACzCE,GAAG,CAACF,GAAG,CAAC,GAAGG,KAAK;EAClB;EACA,OAAOD,GAAG;AACZ,CAAC;AAEM,MAAMI,UAAU,GAAAC,OAAA,CAAAD,UAAA,GAAG;EACxBE,IAAI,EAAEA,CAAA,KAAM;IACV,IAAI,CAACpB,MAAM,CAAC,CAAC,EAAE;MACb;IACF;IAEAqB,0BAAY,CAACC,WAAW,CACtB,SAAS,EACTC,IAAA,IAAqD;MAAA,IAApD;QAAEd,KAAK;QAAEe;MAAqC,CAAC,GAAAD,IAAA;MAC9C,IAAI,CAACd,KAAK,IAAIe,IAAI,EAAE;QAClBtB,0BAAa,CAACC,SAAS,CAACsB,MAAM,CAACD,IAAI,CAACE,MAAM,CAACC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC3DT,UAAU,CAACU,aAAa,CAAC,MAAM,EAAEJ,IAAI,CAACE,MAAM,CAACC,GAAG,CAAC,UAAU,CAAC,CAAC;MAC/D;IACF,CACF,CAAC;IAEDN,0BAAY,CAACC,WAAW,CAAC,UAAU,EAAE,MAAM;MACzCpB,0BAAa,CAACC,SAAS,CAAC0B,OAAO,CAAC,CAAC;MACjCX,UAAU,CAACU,aAAa,CAAC,MAAM,EAAE,EAAE,CAAC;IACtC,CAAC,CAAC;EACJ,CAAC;EAEDE,MAAM,EAAEA,CAACzB,OAAe,EAAEC,MAAuB,KAAK;IACpD,IAAI,CAACN,MAAM,CAAC,CAAC,EAAE;MACb;IACF;IAEA,IAAI,CAACI,aAAa,CAACC,OAAO,EAAEC,MAAM,CAAC,EAAE;MACnC;IACF;IAEA,MAAMyB,WAAW,GAAGlB,oBAAoB,CAACP,MAAM,CAAC;IAChD,MAAM0B,UAAU,GAAG;MAAE,GAAGD,WAAW;MAAE,GAAGb,UAAU,CAACe,aAAa,CAAC;IAAE,CAAC;IACpEzB,OAAO,CAAC0B,GAAG,CAAC,UAAU,EAAEF,UAAU,CAAC;IACnC9B,0BAAa,CAACC,SAAS,CAAC2B,MAAM,CAACzB,OAAO,EAAE2B,UAAU,CAAC;EACrD,CAAC;EAEDJ,aAAa,EAAEA,CAAChB,GAAW,EAAEG,KAAa,KAAK;IAC7C7B,UAAU,CAAC0B,GAAG,CAAC,GAAGG,KAAK;EACzB,CAAC;EAEDkB,aAAa,EAAEA,CAAA,KAAM;IACnB,OAAO/C,UAAU;EACnB,CAAC;EAEDiD,UAAU,EAAGC,IAAY,IAAK;IAC5B,IAAI,CAACnC,OAAO,EAAE;MACZO,OAAO,CAAC0B,GAAG,CAACE,IAAI,EAAE,gBAAgB,CAAC;IACrC;IAEA,IAAI,CAACpC,MAAM,CAAC,CAAC,EAAE;MACb;IACF;IAEAE,0BAAa,CAACC,SAAS,CAACkC,SAAS,CAACD,IAAI,CAAC;EACzC,CAAC;EAEDE,aAAa,EAAGF,IAAY,IAAK;IAC/B,IAAI,CAACnC,OAAO,EAAE;MACZO,OAAO,CAAC0B,GAAG,CAACE,IAAI,EAAE,mBAAmB,CAAC;IACxC;IAEA,IAAI,CAACpC,MAAM,CAAC,CAAC,EAAE;MACb;IACF;IAEAE,0BAAa,CAACC,SAAS,CAACoC,SAAS,CAACH,IAAI,CAAC;EACzC;AACF,CAAC"}
@@ -3,12 +3,12 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.default = void 0;
6
+ exports.SentryManager = void 0;
7
7
  var _reactNativeToolkit = require("@norcy/react-native-toolkit");
8
8
  var Sentry = _interopRequireWildcard(require("@sentry/react-native"));
9
9
  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); }
10
10
  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; }
11
- const SentryManager = {
11
+ const SentryManager = exports.SentryManager = {
12
12
  init: () => {
13
13
  if (__DEV__) {
14
14
  console.log('__DEV__ 下不使用 Sentry');
@@ -51,5 +51,4 @@ const SentryManager = {
51
51
  }
52
52
  }
53
53
  };
54
- var _default = exports.default = SentryManager;
55
54
  //# sourceMappingURL=SentryManager.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNativeToolkit","require","Sentry","_interopRequireWildcard","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","SentryManager","init","__DEV__","console","log","dsn","tracesSampleRate","Notification","addListener","_ref","error","user","sentryUser","id","AVUser","email","username","nickname","setUser","setTag","value","length","_default","exports"],"sources":["SentryManager.ts"],"sourcesContent":["import { Notification, UserType } from '@norcy/react-native-toolkit';\nimport * as Sentry from '@sentry/react-native';\n\nconst SentryManager = {\n init: () => {\n if (__DEV__) {\n console.log('__DEV__ 下不使用 Sentry');\n } else {\n // DEV 下不打开 Sentry\n console.log('__RELEASE__ 下使用 Sentry');\n Sentry.init({\n dsn: 'https://a67f2741a16c45c4a66527b8f8b046a2@o473216.ingest.sentry.io/6509175',\n tracesSampleRate: 1.0,\n });\n\n Notification.addListener(\n 'onLogin',\n ({ error, user }: { error: any; user: UserType }) => {\n if (!error && user) {\n const sentryUser: Sentry.User = {\n id: user.AVUser.get('objectId'),\n email: user.email,\n username: user.nickname,\n };\n Sentry.setUser(sentryUser);\n }\n }\n );\n\n Notification.addListener('onLogout', () => {\n Sentry.setUser(null);\n });\n\n // Sentry.nativeCrash();\n // Sentry.captureException(new Error('测试77!'));\n // throw new Error('My first Sentry error!');\n }\n },\n\n setTag: (key: string, value: any) => {\n if (!__DEV__) {\n if (key.length) {\n Sentry.setTag(key, value);\n }\n }\n },\n};\n\nexport default SentryManager;\n"],"mappings":";;;;;;AAAA,IAAAA,mBAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAC,uBAAA,CAAAF,OAAA;AAA+C,SAAAG,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,SAAAF,wBAAAM,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;AAE/C,MAAMW,aAAa,GAAG;EACpBC,IAAI,EAAEA,CAAA,KAAM;IACV,IAAIC,OAAO,EAAE;MACXC,OAAO,CAACC,GAAG,CAAC,qBAAqB,CAAC;IACpC,CAAC,MAAM;MACL;MACAD,OAAO,CAACC,GAAG,CAAC,wBAAwB,CAAC;MACrC5B,MAAM,CAACyB,IAAI,CAAC;QACVI,GAAG,EAAE,2EAA2E;QAChFC,gBAAgB,EAAE;MACpB,CAAC,CAAC;MAEFC,gCAAY,CAACC,WAAW,CACtB,SAAS,EACTC,IAAA,IAAqD;QAAA,IAApD;UAAEC,KAAK;UAAEC;QAAqC,CAAC,GAAAF,IAAA;QAC9C,IAAI,CAACC,KAAK,IAAIC,IAAI,EAAE;UAClB,MAAMC,UAAuB,GAAG;YAC9BC,EAAE,EAAEF,IAAI,CAACG,MAAM,CAAC1B,GAAG,CAAC,UAAU,CAAC;YAC/B2B,KAAK,EAAEJ,IAAI,CAACI,KAAK;YACjBC,QAAQ,EAAEL,IAAI,CAACM;UACjB,CAAC;UACDzC,MAAM,CAAC0C,OAAO,CAACN,UAAU,CAAC;QAC5B;MACF,CACF,CAAC;MAEDL,gCAAY,CAACC,WAAW,CAAC,UAAU,EAAE,MAAM;QACzChC,MAAM,CAAC0C,OAAO,CAAC,IAAI,CAAC;MACtB,CAAC,CAAC;;MAEF;MACA;MACA;IACF;EACF,CAAC;;EAEDC,MAAM,EAAEA,CAACzB,GAAW,EAAE0B,KAAU,KAAK;IACnC,IAAI,CAAClB,OAAO,EAAE;MACZ,IAAIR,GAAG,CAAC2B,MAAM,EAAE;QACd7C,MAAM,CAAC2C,MAAM,CAACzB,GAAG,EAAE0B,KAAK,CAAC;MAC3B;IACF;EACF;AACF,CAAC;AAAC,IAAAE,QAAA,GAAAC,OAAA,CAAAtC,OAAA,GAEae,aAAa"}
1
+ {"version":3,"names":["_reactNativeToolkit","require","Sentry","_interopRequireWildcard","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","SentryManager","exports","init","__DEV__","console","log","dsn","tracesSampleRate","Notification","addListener","_ref","error","user","sentryUser","id","AVUser","email","username","nickname","setUser","setTag","value","length"],"sources":["SentryManager.ts"],"sourcesContent":["import { Notification, UserType } from '@norcy/react-native-toolkit';\nimport * as Sentry from '@sentry/react-native';\n\nexport const SentryManager = {\n init: () => {\n if (__DEV__) {\n console.log('__DEV__ 下不使用 Sentry');\n } else {\n // DEV 下不打开 Sentry\n console.log('__RELEASE__ 下使用 Sentry');\n Sentry.init({\n dsn: 'https://a67f2741a16c45c4a66527b8f8b046a2@o473216.ingest.sentry.io/6509175',\n tracesSampleRate: 1.0,\n });\n\n Notification.addListener(\n 'onLogin',\n ({ error, user }: { error: any; user: UserType }) => {\n if (!error && user) {\n const sentryUser: Sentry.User = {\n id: user.AVUser.get('objectId'),\n email: user.email,\n username: user.nickname,\n };\n Sentry.setUser(sentryUser);\n }\n }\n );\n\n Notification.addListener('onLogout', () => {\n Sentry.setUser(null);\n });\n\n // Sentry.nativeCrash();\n // Sentry.captureException(new Error('测试77!'));\n // throw new Error('My first Sentry error!');\n }\n },\n\n setTag: (key: string, value: any) => {\n if (!__DEV__) {\n if (key.length) {\n Sentry.setTag(key, value);\n }\n }\n },\n};\n"],"mappings":";;;;;;AAAA,IAAAA,mBAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAC,uBAAA,CAAAF,OAAA;AAA+C,SAAAG,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,SAAAF,wBAAAM,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;AAExC,MAAMW,aAAa,GAAAC,OAAA,CAAAD,aAAA,GAAG;EAC3BE,IAAI,EAAEA,CAAA,KAAM;IACV,IAAIC,OAAO,EAAE;MACXC,OAAO,CAACC,GAAG,CAAC,qBAAqB,CAAC;IACpC,CAAC,MAAM;MACL;MACAD,OAAO,CAACC,GAAG,CAAC,wBAAwB,CAAC;MACrC7B,MAAM,CAAC0B,IAAI,CAAC;QACVI,GAAG,EAAE,2EAA2E;QAChFC,gBAAgB,EAAE;MACpB,CAAC,CAAC;MAEFC,gCAAY,CAACC,WAAW,CACtB,SAAS,EACTC,IAAA,IAAqD;QAAA,IAApD;UAAEC,KAAK;UAAEC;QAAqC,CAAC,GAAAF,IAAA;QAC9C,IAAI,CAACC,KAAK,IAAIC,IAAI,EAAE;UAClB,MAAMC,UAAuB,GAAG;YAC9BC,EAAE,EAAEF,IAAI,CAACG,MAAM,CAAC3B,GAAG,CAAC,UAAU,CAAC;YAC/B4B,KAAK,EAAEJ,IAAI,CAACI,KAAK;YACjBC,QAAQ,EAAEL,IAAI,CAACM;UACjB,CAAC;UACD1C,MAAM,CAAC2C,OAAO,CAACN,UAAU,CAAC;QAC5B;MACF,CACF,CAAC;MAEDL,gCAAY,CAACC,WAAW,CAAC,UAAU,EAAE,MAAM;QACzCjC,MAAM,CAAC2C,OAAO,CAAC,IAAI,CAAC;MACtB,CAAC,CAAC;;MAEF;MACA;MACA;IACF;EACF,CAAC;;EAEDC,MAAM,EAAEA,CAAC1B,GAAW,EAAE2B,KAAU,KAAK;IACnC,IAAI,CAAClB,OAAO,EAAE;MACZ,IAAIT,GAAG,CAAC4B,MAAM,EAAE;QACd9C,MAAM,CAAC4C,MAAM,CAAC1B,GAAG,EAAE2B,KAAK,CAAC;MAC3B;IACF;EACF;AACF,CAAC"}
@@ -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\nconst 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\nexport { WeChatLoginUtil };\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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"}
@@ -2,7 +2,7 @@ import { appleAuth } from '@invertase/react-native-apple-authentication';
2
2
  import { getBundleId } from 'react-native-device-info';
3
3
  import { LoginState } from './constant';
4
4
  const AV = require('leancloud-storage');
5
- const AppleLoginUtil = {
5
+ export const AppleLoginUtil = {
6
6
  // 这是监听苹果取消授权的回调,目前不需要
7
7
  // appleAuth.onCredentialRevoked(async () => {
8
8
  // fetchAndUpdateCredentialState(loginUser).catch(error => {
@@ -128,5 +128,4 @@ const AppleLoginUtil = {
128
128
  }
129
129
  }
130
130
  };
131
- export default AppleLoginUtil;
132
131
  //# sourceMappingURL=AppleLoginUtil.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["appleAuth","getBundleId","LoginState","AV","require","AppleLoginUtil","fetchAndUpdateCredentialState","user","callback","console","log","result","NOTLOGIN","error","credentialState","getCredentialStateForUser","State","AUTHORIZED","warn","requestAppleUserForLogin","isSupported","appleAuthRequestResponse","performRequest","requestedOperation","Operation","LOGIN","requestedScopes","Scope","EMAIL","FULL_NAME","newUser","email","identityToken","code","Error","CANCELED","requestAppleUserForLogout","LOGOUT","authorizationCode","requestDeleteAccount","token","Cloud","run","bundleId"],"sources":["AppleLoginUtil.ts"],"sourcesContent":["import { appleAuth } from '@invertase/react-native-apple-authentication';\nimport { getBundleId } from 'react-native-device-info';\nimport { LoginState } from './constant';\n\nconst AV = require('leancloud-storage');\n\nconst AppleLoginUtil = {\n // 这是监听苹果取消授权的回调,目前不需要\n // appleAuth.onCredentialRevoked(async () => {\n // fetchAndUpdateCredentialState(loginUser).catch(error => {\n // updateCredentialStateForUser(`Error: ${error.code}`)\n // });\n // });\n\n fetchAndUpdateCredentialState: async (user: string, callback: Function) => {\n console.log('User 正在登录鉴权:', user);\n\n if (user === null) {\n callback({ result: LoginState.NOTLOGIN }, { error: 'USER EMPTY' });\n } else {\n const credentialState = await appleAuth.getCredentialStateForUser(user);\n if (credentialState === appleAuth.State.AUTHORIZED) {\n console.log('登录鉴权成功');\n callback({ result: LoginState.AUTHORIZED });\n } else {\n console.warn('登录鉴权失败');\n callback(\n { result: LoginState.NOTLOGIN },\n { error: 'Authorized Failed' }\n );\n }\n }\n },\n\n requestAppleUserForLogin: async () => {\n if (!appleAuth.isSupported) {\n return { error: 'Apple Auth Not Supported' };\n }\n\n // start a login request\n try {\n const appleAuthRequestResponse = await appleAuth.performRequest({\n requestedOperation: appleAuth.Operation.LOGIN,\n requestedScopes: [appleAuth.Scope.EMAIL, appleAuth.Scope.FULL_NAME],\n });\n\n console.log('appleAuthRequestResponse login', appleAuthRequestResponse);\n\n const { user: newUser, email, identityToken } = appleAuthRequestResponse;\n\n console.log(`Apple Authentication Completed, ${newUser}, ${email}`);\n\n return { user: newUser, email: email, identityToken: identityToken };\n } catch (error: any) {\n if (error.code === appleAuth.Error.CANCELED) {\n // console.warn('User canceled Apple Sign in.');\n return { error: 'User Cancel Login', code: error.code };\n } else {\n // console.warn('登录鉴权出错: ', error);\n return { error: 'Login Request Fail', code: error.code };\n }\n }\n },\n\n requestAppleUserForLogout: async () => {\n if (!appleAuth.isSupported) {\n throw { error: 'Apple Auth Not Supported', code: -1 };\n }\n\n // start a login request\n try {\n const appleAuthRequestResponse = await appleAuth.performRequest({\n requestedOperation: appleAuth.Operation.LOGOUT,\n });\n\n console.log('appleAuthRequestResponse logout', appleAuthRequestResponse);\n\n return { authorizationCode: appleAuthRequestResponse.authorizationCode };\n } catch (error: any) {\n if (error.code === appleAuth.Error.CANCELED) {\n throw { error: 'User Cancel Logout', code: error.code };\n } else {\n throw { error: 'Logout Request Fail', code: error.code };\n }\n }\n },\n\n requestDeleteAccount: async () => {\n if (appleAuth.isSupported) {\n const { authorizationCode } =\n await AppleLoginUtil.requestAppleUserForLogout();\n console.log('get authorizationCode success', authorizationCode);\n const { token } = await AV.Cloud.run('getToken', {\n authorizationCode,\n bundleId: getBundleId(),\n });\n console.log('get token success', token);\n await AV.Cloud.run('revokeAppleAccount', {\n token,\n bundleId: getBundleId(),\n });\n console.log('revoke account success');\n }\n },\n};\n\nexport default AppleLoginUtil;\n"],"mappings":"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"}
1
+ {"version":3,"names":["appleAuth","getBundleId","LoginState","AV","require","AppleLoginUtil","fetchAndUpdateCredentialState","user","callback","console","log","result","NOTLOGIN","error","credentialState","getCredentialStateForUser","State","AUTHORIZED","warn","requestAppleUserForLogin","isSupported","appleAuthRequestResponse","performRequest","requestedOperation","Operation","LOGIN","requestedScopes","Scope","EMAIL","FULL_NAME","newUser","email","identityToken","code","Error","CANCELED","requestAppleUserForLogout","LOGOUT","authorizationCode","requestDeleteAccount","token","Cloud","run","bundleId"],"sources":["AppleLoginUtil.ts"],"sourcesContent":["import { appleAuth } from '@invertase/react-native-apple-authentication';\nimport { getBundleId } from 'react-native-device-info';\nimport { LoginState } from './constant';\n\nconst AV = require('leancloud-storage');\n\nexport const AppleLoginUtil = {\n // 这是监听苹果取消授权的回调,目前不需要\n // appleAuth.onCredentialRevoked(async () => {\n // fetchAndUpdateCredentialState(loginUser).catch(error => {\n // updateCredentialStateForUser(`Error: ${error.code}`)\n // });\n // });\n\n fetchAndUpdateCredentialState: async (user: string, callback: Function) => {\n console.log('User 正在登录鉴权:', user);\n\n if (user === null) {\n callback({ result: LoginState.NOTLOGIN }, { error: 'USER EMPTY' });\n } else {\n const credentialState = await appleAuth.getCredentialStateForUser(user);\n if (credentialState === appleAuth.State.AUTHORIZED) {\n console.log('登录鉴权成功');\n callback({ result: LoginState.AUTHORIZED });\n } else {\n console.warn('登录鉴权失败');\n callback(\n { result: LoginState.NOTLOGIN },\n { error: 'Authorized Failed' }\n );\n }\n }\n },\n\n requestAppleUserForLogin: async () => {\n if (!appleAuth.isSupported) {\n return { error: 'Apple Auth Not Supported' };\n }\n\n // start a login request\n try {\n const appleAuthRequestResponse = await appleAuth.performRequest({\n requestedOperation: appleAuth.Operation.LOGIN,\n requestedScopes: [appleAuth.Scope.EMAIL, appleAuth.Scope.FULL_NAME],\n });\n\n console.log('appleAuthRequestResponse login', appleAuthRequestResponse);\n\n const { user: newUser, email, identityToken } = appleAuthRequestResponse;\n\n console.log(`Apple Authentication Completed, ${newUser}, ${email}`);\n\n return { user: newUser, email: email, identityToken: identityToken };\n } catch (error: any) {\n if (error.code === appleAuth.Error.CANCELED) {\n // console.warn('User canceled Apple Sign in.');\n return { error: 'User Cancel Login', code: error.code };\n } else {\n // console.warn('登录鉴权出错: ', error);\n return { error: 'Login Request Fail', code: error.code };\n }\n }\n },\n\n requestAppleUserForLogout: async () => {\n if (!appleAuth.isSupported) {\n throw { error: 'Apple Auth Not Supported', code: -1 };\n }\n\n // start a login request\n try {\n const appleAuthRequestResponse = await appleAuth.performRequest({\n requestedOperation: appleAuth.Operation.LOGOUT,\n });\n\n console.log('appleAuthRequestResponse logout', appleAuthRequestResponse);\n\n return { authorizationCode: appleAuthRequestResponse.authorizationCode };\n } catch (error: any) {\n if (error.code === appleAuth.Error.CANCELED) {\n throw { error: 'User Cancel Logout', code: error.code };\n } else {\n throw { error: 'Logout Request Fail', code: error.code };\n }\n }\n },\n\n requestDeleteAccount: async () => {\n if (appleAuth.isSupported) {\n const { authorizationCode } =\n await AppleLoginUtil.requestAppleUserForLogout();\n console.log('get authorizationCode success', authorizationCode);\n const { token } = await AV.Cloud.run('getToken', {\n authorizationCode,\n bundleId: getBundleId(),\n });\n console.log('get token success', token);\n await AV.Cloud.run('revokeAppleAccount', {\n token,\n bundleId: getBundleId(),\n });\n console.log('revoke account success');\n }\n },\n};\n"],"mappings":"AAAA,SAASA,SAAS,QAAQ,8CAA8C;AACxE,SAASC,WAAW,QAAQ,0BAA0B;AACtD,SAASC,UAAU,QAAQ,YAAY;AAEvC,MAAMC,EAAE,GAAGC,OAAO,CAAC,mBAAmB,CAAC;AAEvC,OAAO,MAAMC,cAAc,GAAG;EAC5B;EACA;EACA;EACA;EACA;EACA;;EAEAC,6BAA6B,EAAE,MAAAA,CAAOC,IAAY,EAAEC,QAAkB,KAAK;IACzEC,OAAO,CAACC,GAAG,CAAC,cAAc,EAAEH,IAAI,CAAC;IAEjC,IAAIA,IAAI,KAAK,IAAI,EAAE;MACjBC,QAAQ,CAAC;QAAEG,MAAM,EAAET,UAAU,CAACU;MAAS,CAAC,EAAE;QAAEC,KAAK,EAAE;MAAa,CAAC,CAAC;IACpE,CAAC,MAAM;MACL,MAAMC,eAAe,GAAG,MAAMd,SAAS,CAACe,yBAAyB,CAACR,IAAI,CAAC;MACvE,IAAIO,eAAe,KAAKd,SAAS,CAACgB,KAAK,CAACC,UAAU,EAAE;QAClDR,OAAO,CAACC,GAAG,CAAC,QAAQ,CAAC;QACrBF,QAAQ,CAAC;UAAEG,MAAM,EAAET,UAAU,CAACe;QAAW,CAAC,CAAC;MAC7C,CAAC,MAAM;QACLR,OAAO,CAACS,IAAI,CAAC,QAAQ,CAAC;QACtBV,QAAQ,CACN;UAAEG,MAAM,EAAET,UAAU,CAACU;QAAS,CAAC,EAC/B;UAAEC,KAAK,EAAE;QAAoB,CAC/B,CAAC;MACH;IACF;EACF,CAAC;EAEDM,wBAAwB,EAAE,MAAAA,CAAA,KAAY;IACpC,IAAI,CAACnB,SAAS,CAACoB,WAAW,EAAE;MAC1B,OAAO;QAAEP,KAAK,EAAE;MAA2B,CAAC;IAC9C;;IAEA;IACA,IAAI;MACF,MAAMQ,wBAAwB,GAAG,MAAMrB,SAAS,CAACsB,cAAc,CAAC;QAC9DC,kBAAkB,EAAEvB,SAAS,CAACwB,SAAS,CAACC,KAAK;QAC7CC,eAAe,EAAE,CAAC1B,SAAS,CAAC2B,KAAK,CAACC,KAAK,EAAE5B,SAAS,CAAC2B,KAAK,CAACE,SAAS;MACpE,CAAC,CAAC;MAEFpB,OAAO,CAACC,GAAG,CAAC,gCAAgC,EAAEW,wBAAwB,CAAC;MAEvE,MAAM;QAAEd,IAAI,EAAEuB,OAAO;QAAEC,KAAK;QAAEC;MAAc,CAAC,GAAGX,wBAAwB;MAExEZ,OAAO,CAACC,GAAG,CAAE,mCAAkCoB,OAAQ,KAAIC,KAAM,EAAC,CAAC;MAEnE,OAAO;QAAExB,IAAI,EAAEuB,OAAO;QAAEC,KAAK,EAAEA,KAAK;QAAEC,aAAa,EAAEA;MAAc,CAAC;IACtE,CAAC,CAAC,OAAOnB,KAAU,EAAE;MACnB,IAAIA,KAAK,CAACoB,IAAI,KAAKjC,SAAS,CAACkC,KAAK,CAACC,QAAQ,EAAE;QAC3C;QACA,OAAO;UAAEtB,KAAK,EAAE,mBAAmB;UAAEoB,IAAI,EAAEpB,KAAK,CAACoB;QAAK,CAAC;MACzD,CAAC,MAAM;QACL;QACA,OAAO;UAAEpB,KAAK,EAAE,oBAAoB;UAAEoB,IAAI,EAAEpB,KAAK,CAACoB;QAAK,CAAC;MAC1D;IACF;EACF,CAAC;EAEDG,yBAAyB,EAAE,MAAAA,CAAA,KAAY;IACrC,IAAI,CAACpC,SAAS,CAACoB,WAAW,EAAE;MAC1B,MAAM;QAAEP,KAAK,EAAE,0BAA0B;QAAEoB,IAAI,EAAE,CAAC;MAAE,CAAC;IACvD;;IAEA;IACA,IAAI;MACF,MAAMZ,wBAAwB,GAAG,MAAMrB,SAAS,CAACsB,cAAc,CAAC;QAC9DC,kBAAkB,EAAEvB,SAAS,CAACwB,SAAS,CAACa;MAC1C,CAAC,CAAC;MAEF5B,OAAO,CAACC,GAAG,CAAC,iCAAiC,EAAEW,wBAAwB,CAAC;MAExE,OAAO;QAAEiB,iBAAiB,EAAEjB,wBAAwB,CAACiB;MAAkB,CAAC;IAC1E,CAAC,CAAC,OAAOzB,KAAU,EAAE;MACnB,IAAIA,KAAK,CAACoB,IAAI,KAAKjC,SAAS,CAACkC,KAAK,CAACC,QAAQ,EAAE;QAC3C,MAAM;UAAEtB,KAAK,EAAE,oBAAoB;UAAEoB,IAAI,EAAEpB,KAAK,CAACoB;QAAK,CAAC;MACzD,CAAC,MAAM;QACL,MAAM;UAAEpB,KAAK,EAAE,qBAAqB;UAAEoB,IAAI,EAAEpB,KAAK,CAACoB;QAAK,CAAC;MAC1D;IACF;EACF,CAAC;EAEDM,oBAAoB,EAAE,MAAAA,CAAA,KAAY;IAChC,IAAIvC,SAAS,CAACoB,WAAW,EAAE;MACzB,MAAM;QAAEkB;MAAkB,CAAC,GACzB,MAAMjC,cAAc,CAAC+B,yBAAyB,CAAC,CAAC;MAClD3B,OAAO,CAACC,GAAG,CAAC,+BAA+B,EAAE4B,iBAAiB,CAAC;MAC/D,MAAM;QAAEE;MAAM,CAAC,GAAG,MAAMrC,EAAE,CAACsC,KAAK,CAACC,GAAG,CAAC,UAAU,EAAE;QAC/CJ,iBAAiB;QACjBK,QAAQ,EAAE1C,WAAW,CAAC;MACxB,CAAC,CAAC;MACFQ,OAAO,CAACC,GAAG,CAAC,mBAAmB,EAAE8B,KAAK,CAAC;MACvC,MAAMrC,EAAE,CAACsC,KAAK,CAACC,GAAG,CAAC,oBAAoB,EAAE;QACvCF,KAAK;QACLG,QAAQ,EAAE1C,WAAW,CAAC;MACxB,CAAC,CAAC;MACFQ,OAAO,CAACC,GAAG,CAAC,wBAAwB,CAAC;IACvC;EACF;AACF,CAAC"}
@@ -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":"AAAA,OAAOA,YAAY,MAAM,uCAAuC;AAEhE,MAAMC,YAAY,GAAGC,OAAO,CAAC,QAAQ,CAAC,CAACD,YAAY;AACnD,MAAME,YAAY,GAAG,IAAIF,YAAY,CAAC,CAAC;AAEvC,IAAIG,YAAY,GAAG,KAAK;AAYxB,MAAMC,UAAkC,GAAG,CAAC,CAAC;AAE7C,OAAO,MAAMC,YAAuB,GAAG;EACrCC,aAAa,EAAE;IACbC,GAAG,EAAE,mBAAmB;IACxBC,IAAI,EAAE,KAAK;IACXC,OAAO,EAAE,CAAC;EACZ,CAAC;EACDC,aAAa,EAAE;IACbH,GAAG,EAAE,oBAAoB;IACzBC,IAAI,EAAE,MAAM;IACZC,OAAO,EAAE;EACX;AACF,CAAC;AAED,MAAME,YAAY,GAAGA,CAACC,KAAgB,EAAEL,GAAW,KAAK;EACtD,KAAK,MAAMM,SAAS,IAAID,KAAK,EAAE;IAC7B,IAAIA,KAAK,CAACC,SAAS,CAAC,CAACN,GAAG,KAAKA,GAAG,EAAE;MAChC,OAAOK,KAAK,CAACC,SAAS,CAAC;IACzB;EACF;EACA,OAAO,IAAI;AACb,CAAC;AAED,OAAO,MAAMC,QAAQ,GAAG;EACtBC,IAAI,EAAE,MAAOC,SAAoB,IAAK;IACpCC,OAAO,CAACC,GAAG,CAAC,MAAM,CAAC;IACnB,IAAIC,IAAI,GAAG,EAAE;IACb,MAAMP,KAAK,GAAG;MAAE,GAAGP,YAAY;MAAE,GAAGW;IAAU,CAAC;IAC/C,KAAK,MAAMI,IAAI,IAAIR,KAAK,EAAE;MACxBO,IAAI,CAACE,IAAI,CAACT,KAAK,CAACQ,IAAI,CAAC,CAACb,GAAG,CAAC;IAC5B;IACA,MAAMe,MAAM,GAAG,MAAMC,aAAa,CAACJ,IAAI,CAAC;IAExC,KAAK,IAAIK,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGF,MAAM,CAACG,MAAM,EAAED,CAAC,EAAE,EAAE;MACtC,MAAMjB,GAAG,GAAGe,MAAM,CAACE,CAAC,CAAC,CAAC,CAAC,CAAC;MACxB,MAAME,KAAK,GAAGJ,MAAM,CAACE,CAAC,CAAC,CAAC,CAAC,CAAC;MAC1B,MAAMJ,IAAI,GAAGT,YAAY,CAACC,KAAK,EAAEL,GAAG,CAAC;MACrC,IAAI,CAACa,IAAI,EAAE;QACT;MACF;MACA;MACA,IAAI,CAACM,KAAK,EAAE;QACVtB,UAAU,CAACG,GAAG,CAAC,GAAGa,IAAI,CAACX,OAAO;MAChC,CAAC,MAAM,IAAIW,IAAI,CAACZ,IAAI,KAAK,QAAQ,IAAIY,IAAI,CAACZ,IAAI,KAAK,OAAO,EAAE;QAC1DJ,UAAU,CAACG,GAAG,CAAC,GAAGoB,IAAI,CAACC,KAAK,CAACF,KAAK,CAAC;MACrC,CAAC,MAAM,IAAIN,IAAI,CAACZ,IAAI,KAAK,KAAK,EAAE;QAC9BJ,UAAU,CAACG,GAAG,CAAC,GAAGsB,QAAQ,CAACH,KAAK,EAAE,EAAE,CAAC;MACvC,CAAC,MAAM,IAAIN,IAAI,CAACZ,IAAI,KAAK,MAAM,EAAE;QAC/BJ,UAAU,CAACG,GAAG,CAAC,GAAGoB,IAAI,CAACC,KAAK,CAACF,KAAK,CAAC;MACrC,CAAC,MAAM;QACLtB,UAAU,CAACG,GAAG,CAAC,GAAGmB,KAAK;MACzB;MACA;MACA;MACA;MACA;MACA;MACA;IACF;;IAEAxB,YAAY,CAAC4B,IAAI,CAAC,MAAM,CAAC;IACzB3B,YAAY,GAAG,IAAI;EACrB,CAAC;EAED4B,QAAQ,EAAGX,IAAc,IAAK;IAC5B,OAAOhB,UAAU,CAACgB,IAAI,CAACb,GAAG,CAAC;EAC7B,CAAC;EAEDyB,QAAQ,EAAE,MAAAA,CAAOZ,IAAc,EAAEM,KAAU,KAAK;IAC9C,MAAMnB,GAAG,GAAGa,IAAI,CAACb,GAAG;IACpB,IAAI0B,UAAkB;IACtB7B,UAAU,CAACG,GAAG,CAAC,GAAGmB,KAAK;IACvB,IAAIN,IAAI,CAACZ,IAAI,KAAK,QAAQ,IAAIY,IAAI,CAACZ,IAAI,KAAK,OAAO,EAAE;MACnDyB,UAAU,GAAGN,IAAI,CAACO,SAAS,CAACR,KAAK,CAAC;IACpC,CAAC,MAAM,IAAIN,IAAI,CAACZ,IAAI,KAAK,KAAK,EAAE;MAC9ByB,UAAU,GAAGP,KAAK,CAACS,QAAQ,CAAC,CAAC;IAC/B,CAAC,MAAM,IAAIf,IAAI,CAACZ,IAAI,KAAK,MAAM,EAAE;MAC/ByB,UAAU,GAAGP,KAAK,CAACS,QAAQ,CAAC,CAAC;IAC/B,CAAC,MAAM;MACLF,UAAU,GAAGP,KAAK;IACpB;IAEA,MAAMU,SAAS,CAAC7B,GAAG,EAAE0B,UAAU,CAAC;EAClC,CAAC;EAEDI,WAAW,EAAGC,QAAkB,IAAK;IACnC,IAAInC,YAAY,EAAE;MAChBmC,QAAQ,IAAIA,QAAQ,CAAC,CAAC;MACtB;IACF;IACApC,YAAY,CAACqC,EAAE,CAAC,MAAM,EAAED,QAAQ,CAAC;EACnC;AACF,CAAC;AAED,MAAMF,SAAS,GAAG,MAAAA,CAAO7B,GAAW,EAAEmB,KAAa,KAAK;EACtD,IAAI;IACF,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;MAC7BT,OAAO,CAACuB,KAAK,CAAC,YAAY,CAAC;IAC7B;IACA;IACA,MAAMzC,YAAY,CAAC0C,OAAO,CAAClC,GAAG,EAAEmB,KAAK,CAAC;EACxC,CAAC,CAAC,OAAOgB,CAAC,EAAE;IACVzB,OAAO,CAACuB,KAAK,CAACE,CAAC,CAAC;EAClB;AACF,CAAC;AAED,MAAMnB,aAAa,GAAG,MAAOJ,IAAc,IAAK;EAC9C,IAAI;IACF,MAAMG,MAAM,GAAG,MAAMvB,YAAY,CAAC4C,QAAQ,CAACxB,IAAI,CAAC;IAChD;IACA,OAAOG,MAAM;EACf,CAAC,CAAC,OAAOoB,CAAC,EAAE;IACVzB,OAAO,CAACuB,KAAK,CAACE,CAAC,CAAC;IAChB,OAAO,EAAE;EACX;AACF,CAAC"}
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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"}
@@ -46,7 +46,7 @@ const convertToValidParams = params => {
46
46
  }
47
47
  return ret;
48
48
  };
49
- const ReportUtil = {
49
+ export const ReportUtil = {
50
50
  init: () => {
51
51
  if (!enable()) {
52
52
  return;
@@ -78,7 +78,7 @@ 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) => {
@@ -106,5 +106,4 @@ const ReportUtil = {
106
106
  NativeModules.NCYReport.leavePage(page);
107
107
  }
108
108
  };
109
- export default ReportUtil;
110
109
  //# sourceMappingURL=ReportUtil.js.map
@@ -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\nconst 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\nexport default ReportUtil;\n"],"mappings":"AAAA,SAASA,aAAa,EAAEC,QAAQ,QAAQ,cAAc;AACtD,SACEC,QAAQ,EACRC,WAAW,EACXC,QAAQ,EACRC,kBAAkB,QACb,0BAA0B;AACjC,SAASC,YAAY,QAAQ,gBAAgB;AAO7C,MAAMC,UAA0B,GAAG;EACjCC,MAAM,EAAEH,kBAAkB,CAAC,CAAC;EAC5BI,QAAQ,EAAER,QAAQ,CAACS,EAAE;EACrBC,MAAM,EAAEV,QAAQ,CAACW,OAAO;EACxBC,KAAK,EAAET,QAAQ,CAAC,CAAC;EACjBU,KAAK,EAAEZ,QAAQ,CAAC,CAAC;EACjBa,MAAM,EAAEZ,WAAW,CAAC;AACtB,CAAC;AAED,MAAMa,MAAM,GAAGA,CAAA,KAAM;EACnB,IAAIC,OAAO,EAAE;IACX,OAAO,KAAK;EACd;EACA,IAAI,CAACjB,aAAa,CAACkB,SAAS,EAAE;IAC5B,OAAO,KAAK;EACd;EACA,OAAO,IAAI;AACb,CAAC;AAED,MAAMC,aAAa,GAAGA,CAACC,OAAe,EAAEC,MAAuB,KAAK;EAClE,IAAI,OAAOD,OAAO,KAAK,QAAQ,IAAI,CAAAA,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEE,MAAM,MAAK,CAAC,EAAE;IACxDC,OAAO,CAACC,KAAK,CAAC,eAAe,CAAC;IAC9B,OAAO,KAAK;EACd;EAEA,IAAIH,MAAM,IAAI,IAAI,EAAE;IAClB,OAAO,IAAI;EACb;EAEA,IAAI,OAAOA,MAAM,KAAK,QAAQ,IAAII,KAAK,CAACC,OAAO,CAACL,MAAM,CAAC,EAAE;IACvDE,OAAO,CAACC,KAAK,CAAC,eAAe,CAAC;IAC9B,OAAO,KAAK;EACd;EAEA,KAAK,MAAMG,GAAG,IAAIN,MAAM,EAAE;IACxB,IAAI,OAAOM,GAAG,KAAK,QAAQ,EAAE;MAC3BJ,OAAO,CAACC,KAAK,CAAC,eAAe,CAAC;MAC9B,OAAO,KAAK;IACd;EACF;EAEA,OAAO,IAAI;AACb,CAAC;AAED,MAAMI,oBAAoB,GAAIP,MAAuB,IAAK;EACxD,MAAMQ,GAAmB,GAAG,CAAC,CAAC;EAC9B,KAAK,MAAMF,GAAG,IAAIN,MAAM,EAAE;IACxB,MAAMS,KAAK,GAAGC,IAAI,CAACC,SAAS,CAACX,MAAM,CAACM,GAAG,CAAC,CAAC;IACzCE,GAAG,CAACF,GAAG,CAAC,GAAGG,KAAK;EAClB;EACA,OAAOD,GAAG;AACZ,CAAC;AAED,MAAMI,UAAU,GAAG;EACjBC,IAAI,EAAEA,CAAA,KAAM;IACV,IAAI,CAAClB,MAAM,CAAC,CAAC,EAAE;MACb;IACF;IAEAV,YAAY,CAAC6B,WAAW,CACtB,SAAS,EACTC,IAAA,IAAqD;MAAA,IAApD;QAAEZ,KAAK;QAAEa;MAAqC,CAAC,GAAAD,IAAA;MAC9C,IAAI,CAACZ,KAAK,IAAIa,IAAI,EAAE;QAClBrC,aAAa,CAACkB,SAAS,CAACoB,MAAM,CAACD,IAAI,CAACE,MAAM,CAACC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC3DP,UAAU,CAACQ,aAAa,CAAC,MAAM,EAAEJ,IAAI,CAACE,MAAM,CAACC,GAAG,CAAC,UAAU,CAAC,CAAC;MAC/D;IACF,CACF,CAAC;IAEDlC,YAAY,CAAC6B,WAAW,CAAC,UAAU,EAAE,MAAM;MACzCnC,aAAa,CAACkB,SAAS,CAACwB,OAAO,CAAC,CAAC;MACjCT,UAAU,CAACQ,aAAa,CAAC,MAAM,EAAE,EAAE,CAAC;IACtC,CAAC,CAAC;EACJ,CAAC;EAEDE,MAAM,EAAEA,CAACvB,OAAe,EAAEC,MAAuB,KAAK;IACpD,IAAI,CAACL,MAAM,CAAC,CAAC,EAAE;MACb;IACF;IAEA,IAAI,CAACG,aAAa,CAACC,OAAO,EAAEC,MAAM,CAAC,EAAE;MACnC;IACF;IAEA,MAAMuB,WAAW,GAAGhB,oBAAoB,CAACP,MAAM,CAAC;IAChD,MAAMwB,UAAU,GAAG;MAAE,GAAGD,WAAW;MAAE,GAAGX,UAAU,CAACa,aAAa,CAAC;IAAE,CAAC;IACpEvB,OAAO,CAACwB,GAAG,CAACF,UAAU,CAAC;IACvB7C,aAAa,CAACkB,SAAS,CAACyB,MAAM,CAACvB,OAAO,EAAEyB,UAAU,CAAC;EACrD,CAAC;EAEDJ,aAAa,EAAEA,CAACd,GAAW,EAAEG,KAAa,KAAK;IAC7CvB,UAAU,CAACoB,GAAG,CAAC,GAAGG,KAAK;EACzB,CAAC;EAEDgB,aAAa,EAAEA,CAAA,KAAM;IACnB,OAAOvC,UAAU;EACnB,CAAC;EAEDyC,UAAU,EAAGC,IAAY,IAAK;IAC5B,IAAI,CAAChC,OAAO,EAAE;MACZM,OAAO,CAACwB,GAAG,CAACE,IAAI,EAAE,gBAAgB,CAAC;IACrC;IAEA,IAAI,CAACjC,MAAM,CAAC,CAAC,EAAE;MACb;IACF;IAEAhB,aAAa,CAACkB,SAAS,CAACgC,SAAS,CAACD,IAAI,CAAC;EACzC,CAAC;EAEDE,aAAa,EAAGF,IAAY,IAAK;IAC/B,IAAI,CAAChC,OAAO,EAAE;MACZM,OAAO,CAACwB,GAAG,CAACE,IAAI,EAAE,mBAAmB,CAAC;IACxC;IAEA,IAAI,CAACjC,MAAM,CAAC,CAAC,EAAE;MACb;IACF;IAEAhB,aAAa,CAACkB,SAAS,CAACkC,SAAS,CAACH,IAAI,CAAC;EACzC;AACF,CAAC;AAED,eAAehB,UAAU"}
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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"}
@@ -1,6 +1,6 @@
1
1
  import { Notification } from '@norcy/react-native-toolkit';
2
2
  import * as Sentry from '@sentry/react-native';
3
- const SentryManager = {
3
+ export const SentryManager = {
4
4
  init: () => {
5
5
  if (__DEV__) {
6
6
  console.log('__DEV__ 下不使用 Sentry');
@@ -43,5 +43,4 @@ const SentryManager = {
43
43
  }
44
44
  }
45
45
  };
46
- export default SentryManager;
47
46
  //# sourceMappingURL=SentryManager.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["Notification","Sentry","SentryManager","init","__DEV__","console","log","dsn","tracesSampleRate","addListener","_ref","error","user","sentryUser","id","AVUser","get","email","username","nickname","setUser","setTag","key","value","length"],"sources":["SentryManager.ts"],"sourcesContent":["import { Notification, UserType } from '@norcy/react-native-toolkit';\nimport * as Sentry from '@sentry/react-native';\n\nconst SentryManager = {\n init: () => {\n if (__DEV__) {\n console.log('__DEV__ 下不使用 Sentry');\n } else {\n // DEV 下不打开 Sentry\n console.log('__RELEASE__ 下使用 Sentry');\n Sentry.init({\n dsn: 'https://a67f2741a16c45c4a66527b8f8b046a2@o473216.ingest.sentry.io/6509175',\n tracesSampleRate: 1.0,\n });\n\n Notification.addListener(\n 'onLogin',\n ({ error, user }: { error: any; user: UserType }) => {\n if (!error && user) {\n const sentryUser: Sentry.User = {\n id: user.AVUser.get('objectId'),\n email: user.email,\n username: user.nickname,\n };\n Sentry.setUser(sentryUser);\n }\n }\n );\n\n Notification.addListener('onLogout', () => {\n Sentry.setUser(null);\n });\n\n // Sentry.nativeCrash();\n // Sentry.captureException(new Error('测试77!'));\n // throw new Error('My first Sentry error!');\n }\n },\n\n setTag: (key: string, value: any) => {\n if (!__DEV__) {\n if (key.length) {\n Sentry.setTag(key, value);\n }\n }\n },\n};\n\nexport default SentryManager;\n"],"mappings":"AAAA,SAASA,YAAY,QAAkB,6BAA6B;AACpE,OAAO,KAAKC,MAAM,MAAM,sBAAsB;AAE9C,MAAMC,aAAa,GAAG;EACpBC,IAAI,EAAEA,CAAA,KAAM;IACV,IAAIC,OAAO,EAAE;MACXC,OAAO,CAACC,GAAG,CAAC,qBAAqB,CAAC;IACpC,CAAC,MAAM;MACL;MACAD,OAAO,CAACC,GAAG,CAAC,wBAAwB,CAAC;MACrCL,MAAM,CAACE,IAAI,CAAC;QACVI,GAAG,EAAE,2EAA2E;QAChFC,gBAAgB,EAAE;MACpB,CAAC,CAAC;MAEFR,YAAY,CAACS,WAAW,CACtB,SAAS,EACTC,IAAA,IAAqD;QAAA,IAApD;UAAEC,KAAK;UAAEC;QAAqC,CAAC,GAAAF,IAAA;QAC9C,IAAI,CAACC,KAAK,IAAIC,IAAI,EAAE;UAClB,MAAMC,UAAuB,GAAG;YAC9BC,EAAE,EAAEF,IAAI,CAACG,MAAM,CAACC,GAAG,CAAC,UAAU,CAAC;YAC/BC,KAAK,EAAEL,IAAI,CAACK,KAAK;YACjBC,QAAQ,EAAEN,IAAI,CAACO;UACjB,CAAC;UACDlB,MAAM,CAACmB,OAAO,CAACP,UAAU,CAAC;QAC5B;MACF,CACF,CAAC;MAEDb,YAAY,CAACS,WAAW,CAAC,UAAU,EAAE,MAAM;QACzCR,MAAM,CAACmB,OAAO,CAAC,IAAI,CAAC;MACtB,CAAC,CAAC;;MAEF;MACA;MACA;IACF;EACF,CAAC;;EAEDC,MAAM,EAAEA,CAACC,GAAW,EAAEC,KAAU,KAAK;IACnC,IAAI,CAACnB,OAAO,EAAE;MACZ,IAAIkB,GAAG,CAACE,MAAM,EAAE;QACdvB,MAAM,CAACoB,MAAM,CAACC,GAAG,EAAEC,KAAK,CAAC;MAC3B;IACF;EACF;AACF,CAAC;AAED,eAAerB,aAAa"}
1
+ {"version":3,"names":["Notification","Sentry","SentryManager","init","__DEV__","console","log","dsn","tracesSampleRate","addListener","_ref","error","user","sentryUser","id","AVUser","get","email","username","nickname","setUser","setTag","key","value","length"],"sources":["SentryManager.ts"],"sourcesContent":["import { Notification, UserType } from '@norcy/react-native-toolkit';\nimport * as Sentry from '@sentry/react-native';\n\nexport const SentryManager = {\n init: () => {\n if (__DEV__) {\n console.log('__DEV__ 下不使用 Sentry');\n } else {\n // DEV 下不打开 Sentry\n console.log('__RELEASE__ 下使用 Sentry');\n Sentry.init({\n dsn: 'https://a67f2741a16c45c4a66527b8f8b046a2@o473216.ingest.sentry.io/6509175',\n tracesSampleRate: 1.0,\n });\n\n Notification.addListener(\n 'onLogin',\n ({ error, user }: { error: any; user: UserType }) => {\n if (!error && user) {\n const sentryUser: Sentry.User = {\n id: user.AVUser.get('objectId'),\n email: user.email,\n username: user.nickname,\n };\n Sentry.setUser(sentryUser);\n }\n }\n );\n\n Notification.addListener('onLogout', () => {\n Sentry.setUser(null);\n });\n\n // Sentry.nativeCrash();\n // Sentry.captureException(new Error('测试77!'));\n // throw new Error('My first Sentry error!');\n }\n },\n\n setTag: (key: string, value: any) => {\n if (!__DEV__) {\n if (key.length) {\n Sentry.setTag(key, value);\n }\n }\n },\n};\n"],"mappings":"AAAA,SAASA,YAAY,QAAkB,6BAA6B;AACpE,OAAO,KAAKC,MAAM,MAAM,sBAAsB;AAE9C,OAAO,MAAMC,aAAa,GAAG;EAC3BC,IAAI,EAAEA,CAAA,KAAM;IACV,IAAIC,OAAO,EAAE;MACXC,OAAO,CAACC,GAAG,CAAC,qBAAqB,CAAC;IACpC,CAAC,MAAM;MACL;MACAD,OAAO,CAACC,GAAG,CAAC,wBAAwB,CAAC;MACrCL,MAAM,CAACE,IAAI,CAAC;QACVI,GAAG,EAAE,2EAA2E;QAChFC,gBAAgB,EAAE;MACpB,CAAC,CAAC;MAEFR,YAAY,CAACS,WAAW,CACtB,SAAS,EACTC,IAAA,IAAqD;QAAA,IAApD;UAAEC,KAAK;UAAEC;QAAqC,CAAC,GAAAF,IAAA;QAC9C,IAAI,CAACC,KAAK,IAAIC,IAAI,EAAE;UAClB,MAAMC,UAAuB,GAAG;YAC9BC,EAAE,EAAEF,IAAI,CAACG,MAAM,CAACC,GAAG,CAAC,UAAU,CAAC;YAC/BC,KAAK,EAAEL,IAAI,CAACK,KAAK;YACjBC,QAAQ,EAAEN,IAAI,CAACO;UACjB,CAAC;UACDlB,MAAM,CAACmB,OAAO,CAACP,UAAU,CAAC;QAC5B;MACF,CACF,CAAC;MAEDb,YAAY,CAACS,WAAW,CAAC,UAAU,EAAE,MAAM;QACzCR,MAAM,CAACmB,OAAO,CAAC,IAAI,CAAC;MACtB,CAAC,CAAC;;MAEF;MACA;MACA;IACF;EACF,CAAC;;EAEDC,MAAM,EAAEA,CAACC,GAAW,EAAEC,KAAU,KAAK;IACnC,IAAI,CAACnB,OAAO,EAAE;MACZ,IAAIkB,GAAG,CAACE,MAAM,EAAE;QACdvB,MAAM,CAACoB,MAAM,CAACC,GAAG,EAAEC,KAAK,CAAC;MAC3B;IACF;EACF;AACF,CAAC"}
@@ -0,0 +1,43 @@
1
+ import * as WeChat from 'react-native-wechat-lib';
2
+ 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
+ export { WeChatLoginUtil };
43
+ //# 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\nconst 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\nexport { WeChatLoginUtil };\n"],"mappings":"AAAA,OAAO,KAAKA,MAAM,MAAM,yBAAyB;AAEjD,MAAMC,eAAe,GAAG;EACtBC,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;AAED,SAAStB,eAAe"}
@@ -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"}
@@ -1,4 +1,4 @@
1
- declare const AppleLoginUtil: {
1
+ export declare const AppleLoginUtil: {
2
2
  fetchAndUpdateCredentialState: (user: string, callback: Function) => Promise<void>;
3
3
  requestAppleUserForLogin: () => Promise<{
4
4
  error: string;
@@ -24,4 +24,3 @@ declare const AppleLoginUtil: {
24
24
  }>;
25
25
  requestDeleteAccount: () => Promise<void>;
26
26
  };
27
- export default AppleLoginUtil;
@@ -1,7 +1,7 @@
1
1
  export interface ReportItemType {
2
2
  [key: string]: number | string;
3
3
  }
4
- declare const ReportUtil: {
4
+ export declare const ReportUtil: {
5
5
  init: () => void;
6
6
  report: (eventId: string, params?: ReportItemType) => void;
7
7
  setCommonInfo: (key: string, value: string) => void;
@@ -9,4 +9,3 @@ declare const ReportUtil: {
9
9
  viewAppear: (page: string) => void;
10
10
  viewDisappear: (page: string) => void;
11
11
  };
12
- export default ReportUtil;
@@ -1,5 +1,4 @@
1
- declare const SentryManager: {
1
+ export declare const SentryManager: {
2
2
  init: () => void;
3
3
  setTag: (key: string, value: any) => void;
4
4
  };
5
- export default SentryManager;
@@ -0,0 +1,4 @@
1
+ declare const WeChatLoginUtil: {
2
+ doLogin: (WeiXinId: string, WeiXinSecret: string, callback: Function) => void;
3
+ };
4
+ export { WeChatLoginUtil };
@@ -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.6",
3
+ "version": "0.1.8",
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",
@@ -4,7 +4,7 @@ import { LoginState } from './constant';
4
4
 
5
5
  const AV = require('leancloud-storage');
6
6
 
7
- const AppleLoginUtil = {
7
+ export const AppleLoginUtil = {
8
8
  // 这是监听苹果取消授权的回调,目前不需要
9
9
  // appleAuth.onCredentialRevoked(async () => {
10
10
  // fetchAndUpdateCredentialState(loginUser).catch(error => {
@@ -103,5 +103,3 @@ const AppleLoginUtil = {
103
103
  }
104
104
  },
105
105
  };
106
-
107
- export default AppleLoginUtil;
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
@@ -65,7 +65,7 @@ const convertToValidParams = (params?: ReportItemType) => {
65
65
  return ret;
66
66
  };
67
67
 
68
- const ReportUtil = {
68
+ export const ReportUtil = {
69
69
  init: () => {
70
70
  if (!enable()) {
71
71
  return;
@@ -98,7 +98,7 @@ 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
 
@@ -134,5 +134,3 @@ const ReportUtil = {
134
134
  NativeModules.NCYReport.leavePage(page);
135
135
  },
136
136
  };
137
-
138
- export default ReportUtil;
@@ -1,7 +1,7 @@
1
1
  import { Notification, UserType } from '@norcy/react-native-toolkit';
2
2
  import * as Sentry from '@sentry/react-native';
3
3
 
4
- const SentryManager = {
4
+ export const SentryManager = {
5
5
  init: () => {
6
6
  if (__DEV__) {
7
7
  console.log('__DEV__ 下不使用 Sentry');
@@ -45,5 +45,3 @@ const SentryManager = {
45
45
  }
46
46
  },
47
47
  };
48
-
49
- export default SentryManager;
@@ -0,0 +1,58 @@
1
+ import * as WeChat from 'react-native-wechat-lib';
2
+
3
+ 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
+ };
57
+
58
+ export { WeChatLoginUtil };
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';