@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.
- package/lib/commonjs/AppleLoginUtil.js +2 -3
- package/lib/commonjs/AppleLoginUtil.js.map +1 -1
- package/lib/commonjs/PrefData.js +0 -5
- package/lib/commonjs/PrefData.js.map +1 -1
- package/lib/commonjs/ReportUtil.js +3 -4
- package/lib/commonjs/ReportUtil.js.map +1 -1
- package/lib/commonjs/SentryManager.js +2 -3
- package/lib/commonjs/SentryManager.js.map +1 -1
- package/lib/commonjs/WeChatLoginUtil.js +50 -0
- package/lib/commonjs/WeChatLoginUtil.js.map +1 -0
- package/lib/commonjs/i18n.js +46 -0
- package/lib/commonjs/i18n.js.map +1 -0
- package/lib/commonjs/index.js +36 -12
- package/lib/commonjs/index.js.map +1 -1
- package/lib/module/AppleLoginUtil.js +1 -2
- package/lib/module/AppleLoginUtil.js.map +1 -1
- package/lib/module/PrefData.js +0 -5
- package/lib/module/PrefData.js.map +1 -1
- package/lib/module/ReportUtil.js +2 -3
- package/lib/module/ReportUtil.js.map +1 -1
- package/lib/module/SentryManager.js +1 -2
- package/lib/module/SentryManager.js.map +1 -1
- package/lib/module/WeChatLoginUtil.js +43 -0
- package/lib/module/WeChatLoginUtil.js.map +1 -0
- package/lib/module/i18n.js +39 -0
- package/lib/module/i18n.js.map +1 -0
- package/lib/module/index.js +5 -3
- package/lib/module/index.js.map +1 -1
- package/lib/typescript/{AppleLoginUtil.d.ts → src/AppleLoginUtil.d.ts} +1 -2
- package/lib/typescript/{ReportUtil.d.ts → src/ReportUtil.d.ts} +1 -2
- package/lib/typescript/{SentryManager.d.ts → src/SentryManager.d.ts} +1 -2
- package/lib/typescript/src/WeChatLoginUtil.d.ts +4 -0
- package/lib/typescript/src/i18n.d.ts +5 -0
- package/lib/typescript/{index.d.ts → src/index.d.ts} +5 -3
- package/package.json +7 -3
- package/src/AppleLoginUtil.ts +1 -3
- package/src/PrefData.ts +0 -5
- package/src/ReportUtil.ts +2 -4
- package/src/SentryManager.ts +1 -3
- package/src/WeChatLoginUtil.ts +58 -0
- package/src/i18n.ts +42 -0
- package/src/index.tsx +5 -3
- /package/lib/typescript/{Notification.d.ts → src/Notification.d.ts} +0 -0
- /package/lib/typescript/{PrefData.d.ts → src/PrefData.d.ts} +0 -0
- /package/lib/typescript/{SyncPrefData.d.ts → src/SyncPrefData.d.ts} +0 -0
- /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.
|
|
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"
|
|
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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"}
|
package/lib/commonjs/PrefData.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_asyncStorage","_interopRequireDefault","require","obj","__esModule","default","EventEmitter","eventEmitter","isDataLoaded","_PrefDatas","BuildInPrefs","exports","LastLoginType","key","type","
|
|
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.
|
|
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"
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_reactNativeDeviceInfo","_Notification","CommonInfo","appVer","getReadableVersion","platform","Platform","OS","sysVer","Version","model","getModel","brand","getBrand","device","getDeviceId","enable","__DEV__","NativeModules","NCYReport","isValidReport","eventId","params","length","console","error","Array","isArray","key","convertToValidParams","ret","value","JSON","stringify","ReportUtil","exports","init","Notification","addListener","_ref","user","signIn","AVUser","get","setCommonInfo","signOut","report","validParams","realParams","getCommonInfo","log","viewAppear","page","enterPage","viewDisappear","leavePage"],"sources":["ReportUtil.ts"],"sourcesContent":["import { NativeModules, Platform } from 'react-native';\nimport {\n getBrand,\n getDeviceId,\n getModel,\n getReadableVersion,\n} from 'react-native-device-info';\nimport { Notification } from './Notification';\nimport { UserType } from './constant';\n\nexport interface ReportItemType {\n [key: string]: number | string;\n}\n\nconst CommonInfo: ReportItemType = {\n appVer: getReadableVersion(),\n platform: Platform.OS,\n sysVer: Platform.Version,\n model: getModel(),\n brand: getBrand(),\n device: getDeviceId(),\n};\n\nconst enable = () => {\n if (__DEV__) {\n return false;\n }\n if (!NativeModules.NCYReport) {\n return false;\n }\n return true;\n};\n\nconst isValidReport = (eventId: string, params?: ReportItemType) => {\n if (typeof eventId !== 'string' || eventId?.length === 0) {\n console.error('Report 数据非法 1');\n return false;\n }\n\n if (params == null) {\n return true;\n }\n\n if (typeof params !== 'object' || Array.isArray(params)) {\n console.error('Report 数据非法 2');\n return false;\n }\n\n for (const key in params) {\n if (typeof key !== 'string') {\n console.error('Report 数据非法 3');\n return false;\n }\n }\n\n return true;\n};\n\nconst convertToValidParams = (params?: ReportItemType) => {\n const ret: ReportItemType = {};\n for (const key in params) {\n const value = JSON.stringify(params[key]);\n ret[key] = value;\n }\n return ret;\n};\n\nexport const ReportUtil = {\n init: () => {\n if (!enable()) {\n return;\n }\n\n Notification.addListener(\n 'onLogin',\n ({ error, user }: { error: any; user: UserType }) => {\n if (!error && user) {\n NativeModules.NCYReport.signIn(user.AVUser.get('objectId'));\n ReportUtil.setCommonInfo('user', user.AVUser.get('objectId'));\n }\n }\n );\n\n Notification.addListener('onLogout', () => {\n NativeModules.NCYReport.signOut();\n ReportUtil.setCommonInfo('user', '');\n });\n },\n\n report: (eventId: string, params?: ReportItemType) => {\n if (!enable()) {\n return;\n }\n\n if (!isValidReport(eventId, params)) {\n return;\n }\n\n const validParams = convertToValidParams(params);\n const realParams = { ...validParams, ...ReportUtil.getCommonInfo() };\n console.log('[Report]', realParams);\n NativeModules.NCYReport.report(eventId, realParams);\n },\n\n setCommonInfo: (key: string, value: string) => {\n CommonInfo[key] = value;\n },\n\n getCommonInfo: () => {\n return CommonInfo;\n },\n\n viewAppear: (page: string) => {\n if (!__DEV__) {\n console.log(page, 'viewWillAppear');\n }\n\n if (!enable()) {\n return;\n }\n\n NativeModules.NCYReport.enterPage(page);\n },\n\n viewDisappear: (page: string) => {\n if (!__DEV__) {\n console.log(page, 'viewWillDisappear');\n }\n\n if (!enable()) {\n return;\n }\n\n NativeModules.NCYReport.leavePage(page);\n },\n};\n"],"mappings":"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"}
|
|
@@ -3,12 +3,12 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.
|
|
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"
|
|
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"}
|
package/lib/commonjs/index.js
CHANGED
|
@@ -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
|
|
10
|
-
Object.keys(
|
|
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] ===
|
|
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
|
|
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
|
|
58
|
-
Object.keys(
|
|
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] ===
|
|
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
|
|
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
|
|
82
|
-
Object.keys(
|
|
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] ===
|
|
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
|
|
113
|
+
return _i18n[key];
|
|
90
114
|
}
|
|
91
115
|
});
|
|
92
116
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","
|
|
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\
|
|
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":"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"}
|
package/lib/module/PrefData.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["AsyncStorage","EventEmitter","require","eventEmitter","isDataLoaded","_PrefDatas","BuildInPrefs","LastLoginType","key","type","default","
|
|
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":"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;AACF,CAAC;AAED,MAAMC,YAAY,GAAGA,CAACC,KAAgB,EAAEJ,GAAW,KAAK;EACtD,KAAK,MAAMK,SAAS,IAAID,KAAK,EAAE;IAC7B,IAAIA,KAAK,CAACC,SAAS,CAAC,CAACL,GAAG,KAAKA,GAAG,EAAE;MAChC,OAAOI,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,GAAGN,YAAY;MAAE,GAAGU;IAAU,CAAC;IAC/C,KAAK,MAAMI,IAAI,IAAIR,KAAK,EAAE;MACxBO,IAAI,CAACE,IAAI,CAACT,KAAK,CAACQ,IAAI,CAAC,CAACZ,GAAG,CAAC;IAC5B;IACA,MAAMc,MAAM,GAAG,MAAMC,aAAa,CAACJ,IAAI,CAAC;IAExC,KAAK,IAAIK,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGF,MAAM,CAACG,MAAM,EAAED,CAAC,EAAE,EAAE;MACtC,MAAMhB,GAAG,GAAGc,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,EAAEJ,GAAG,CAAC;MACrC,IAAI,CAACY,IAAI,EAAE;QACT;MACF;MACA;MACA,IAAI,CAACM,KAAK,EAAE;QACVrB,UAAU,CAACG,GAAG,CAAC,GAAGY,IAAI,CAACV,OAAO;MAChC,CAAC,MAAM,IAAIU,IAAI,CAACX,IAAI,KAAK,QAAQ,IAAIW,IAAI,CAACX,IAAI,KAAK,OAAO,EAAE;QAC1DJ,UAAU,CAACG,GAAG,CAAC,GAAGmB,IAAI,CAACC,KAAK,CAACF,KAAK,CAAC;MACrC,CAAC,MAAM,IAAIN,IAAI,CAACX,IAAI,KAAK,KAAK,EAAE;QAC9BJ,UAAU,CAACG,GAAG,CAAC,GAAGqB,QAAQ,CAACH,KAAK,EAAE,EAAE,CAAC;MACvC,CAAC,MAAM,IAAIN,IAAI,CAACX,IAAI,KAAK,MAAM,EAAE;QAC/BJ,UAAU,CAACG,GAAG,CAAC,GAAGmB,IAAI,CAACC,KAAK,CAACF,KAAK,CAAC;MACrC,CAAC,MAAM;QACLrB,UAAU,CAACG,GAAG,CAAC,GAAGkB,KAAK;MACzB;MACA;MACA;MACA;MACA;MACA;MACA;IACF;;IAEAvB,YAAY,CAAC2B,IAAI,CAAC,MAAM,CAAC;IACzB1B,YAAY,GAAG,IAAI;EACrB,CAAC;EAED2B,QAAQ,EAAGX,IAAc,IAAK;IAC5B,OAAOf,UAAU,CAACe,IAAI,CAACZ,GAAG,CAAC;EAC7B,CAAC;EAEDwB,QAAQ,EAAE,MAAAA,CAAOZ,IAAc,EAAEM,KAAU,KAAK;IAC9C,MAAMlB,GAAG,GAAGY,IAAI,CAACZ,GAAG;IACpB,IAAIyB,UAAkB;IACtB5B,UAAU,CAACG,GAAG,CAAC,GAAGkB,KAAK;IACvB,IAAIN,IAAI,CAACX,IAAI,KAAK,QAAQ,IAAIW,IAAI,CAACX,IAAI,KAAK,OAAO,EAAE;MACnDwB,UAAU,GAAGN,IAAI,CAACO,SAAS,CAACR,KAAK,CAAC;IACpC,CAAC,MAAM,IAAIN,IAAI,CAACX,IAAI,KAAK,KAAK,EAAE;MAC9BwB,UAAU,GAAGP,KAAK,CAACS,QAAQ,CAAC,CAAC;IAC/B,CAAC,MAAM,IAAIf,IAAI,CAACX,IAAI,KAAK,MAAM,EAAE;MAC/BwB,UAAU,GAAGP,KAAK,CAACS,QAAQ,CAAC,CAAC;IAC/B,CAAC,MAAM;MACLF,UAAU,GAAGP,KAAK;IACpB;IAEA,MAAMU,SAAS,CAAC5B,GAAG,EAAEyB,UAAU,CAAC;EAClC,CAAC;EAEDI,WAAW,EAAGC,QAAkB,IAAK;IACnC,IAAIlC,YAAY,EAAE;MAChBkC,QAAQ,IAAIA,QAAQ,CAAC,CAAC;MACtB;IACF;IACAnC,YAAY,CAACoC,EAAE,CAAC,MAAM,EAAED,QAAQ,CAAC;EACnC;AACF,CAAC;AAED,MAAMF,SAAS,GAAG,MAAAA,CAAO5B,GAAW,EAAEkB,KAAa,KAAK;EACtD,IAAI;IACF,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;MAC7BT,OAAO,CAACuB,KAAK,CAAC,YAAY,CAAC;IAC7B;IACA;IACA,MAAMxC,YAAY,CAACyC,OAAO,CAACjC,GAAG,EAAEkB,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,MAAMtB,YAAY,CAAC2C,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"}
|
package/lib/module/ReportUtil.js
CHANGED
|
@@ -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\
|
|
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\
|
|
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"}
|
package/lib/module/index.js
CHANGED
|
@@ -3,11 +3,13 @@ const {
|
|
|
3
3
|
ReactNativeToolkit
|
|
4
4
|
} = NativeModules;
|
|
5
5
|
export default ReactNativeToolkit;
|
|
6
|
-
export * from './
|
|
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 './
|
|
11
|
+
export * from './SyncPrefData';
|
|
12
|
+
export * from './WeChatLoginUtil';
|
|
11
13
|
export * from './constant';
|
|
12
|
-
export * from './
|
|
14
|
+
export * from './i18n';
|
|
13
15
|
//# sourceMappingURL=index.js.map
|
package/lib/module/index.js.map
CHANGED
|
@@ -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 './
|
|
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;
|
|
@@ -3,10 +3,12 @@ type ReactNativeToolkitType = {
|
|
|
3
3
|
};
|
|
4
4
|
declare const _default: ReactNativeToolkitType;
|
|
5
5
|
export default _default;
|
|
6
|
-
export * from './
|
|
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 './
|
|
11
|
+
export * from './SyncPrefData';
|
|
12
|
+
export * from './WeChatLoginUtil';
|
|
11
13
|
export * from './constant';
|
|
12
|
-
export * from './
|
|
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.
|
|
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
|
-
"
|
|
80
|
+
"i18n-js": "*",
|
|
81
|
+
"react-native-wechat-lib": "*"
|
|
78
82
|
},
|
|
79
83
|
"jest": {
|
|
80
84
|
"preset": "react-native",
|
package/src/AppleLoginUtil.ts
CHANGED
|
@@ -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
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;
|
package/src/SentryManager.ts
CHANGED
|
@@ -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 './
|
|
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 './
|
|
15
|
+
export * from './SyncPrefData';
|
|
16
|
+
export * from './WeChatLoginUtil';
|
|
15
17
|
export * from './constant';
|
|
16
|
-
export * from './
|
|
18
|
+
export * from './i18n';
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|