@norcy/react-native-toolkit 0.1.7 → 0.1.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/commonjs/PrefData.js +0 -5
- package/lib/commonjs/PrefData.js.map +1 -1
- package/lib/commonjs/ReportUtil.js +1 -1
- package/lib/commonjs/ReportUtil.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/PrefData.js +0 -5
- package/lib/module/PrefData.js.map +1 -1
- package/lib/module/ReportUtil.js +1 -1
- package/lib/module/ReportUtil.js.map +1 -1
- package/lib/module/WeChatLoginUtil.js +42 -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/src/WeChatLoginUtil.d.ts +3 -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/PrefData.ts +0 -5
- package/src/ReportUtil.ts +1 -1
- package/src/WeChatLoginUtil.ts +56 -0
- package/src/i18n.ts +42 -0
- package/src/index.tsx +5 -3
- /package/lib/typescript/{AppleLoginUtil.d.ts → src/AppleLoginUtil.d.ts} +0 -0
- /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/{ReportUtil.d.ts → src/ReportUtil.d.ts} +0 -0
- /package/lib/typescript/{SentryManager.d.ts → src/SentryManager.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
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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"}
|
|
@@ -84,7 +84,7 @@ const ReportUtil = exports.ReportUtil = {
|
|
|
84
84
|
...validParams,
|
|
85
85
|
...ReportUtil.getCommonInfo()
|
|
86
86
|
};
|
|
87
|
-
console.log(realParams);
|
|
87
|
+
console.log('[Report]', realParams);
|
|
88
88
|
_reactNative.NativeModules.NCYReport.report(eventId, realParams);
|
|
89
89
|
},
|
|
90
90
|
setCommonInfo: (key, value) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","_reactNativeDeviceInfo","_Notification","CommonInfo","appVer","getReadableVersion","platform","Platform","OS","sysVer","Version","model","getModel","brand","getBrand","device","getDeviceId","enable","__DEV__","NativeModules","NCYReport","isValidReport","eventId","params","length","console","error","Array","isArray","key","convertToValidParams","ret","value","JSON","stringify","ReportUtil","exports","init","Notification","addListener","_ref","user","signIn","AVUser","get","setCommonInfo","signOut","report","validParams","realParams","getCommonInfo","log","viewAppear","page","enterPage","viewDisappear","leavePage"],"sources":["ReportUtil.ts"],"sourcesContent":["import { NativeModules, Platform } from 'react-native';\nimport {\n getBrand,\n getDeviceId,\n getModel,\n getReadableVersion,\n} from 'react-native-device-info';\nimport { Notification } from './Notification';\nimport { UserType } from './constant';\n\nexport interface ReportItemType {\n [key: string]: number | string;\n}\n\nconst CommonInfo: ReportItemType = {\n appVer: getReadableVersion(),\n platform: Platform.OS,\n sysVer: Platform.Version,\n model: getModel(),\n brand: getBrand(),\n device: getDeviceId(),\n};\n\nconst enable = () => {\n if (__DEV__) {\n return false;\n }\n if (!NativeModules.NCYReport) {\n return false;\n }\n return true;\n};\n\nconst isValidReport = (eventId: string, params?: ReportItemType) => {\n if (typeof eventId !== 'string' || eventId?.length === 0) {\n console.error('Report 数据非法 1');\n return false;\n }\n\n if (params == null) {\n return true;\n }\n\n if (typeof params !== 'object' || Array.isArray(params)) {\n console.error('Report 数据非法 2');\n return false;\n }\n\n for (const key in params) {\n if (typeof key !== 'string') {\n console.error('Report 数据非法 3');\n return false;\n }\n }\n\n return true;\n};\n\nconst convertToValidParams = (params?: ReportItemType) => {\n const ret: ReportItemType = {};\n for (const key in params) {\n const value = JSON.stringify(params[key]);\n ret[key] = value;\n }\n return ret;\n};\n\nexport const ReportUtil = {\n init: () => {\n if (!enable()) {\n return;\n }\n\n Notification.addListener(\n 'onLogin',\n ({ error, user }: { error: any; user: UserType }) => {\n if (!error && user) {\n NativeModules.NCYReport.signIn(user.AVUser.get('objectId'));\n ReportUtil.setCommonInfo('user', user.AVUser.get('objectId'));\n }\n }\n );\n\n Notification.addListener('onLogout', () => {\n NativeModules.NCYReport.signOut();\n ReportUtil.setCommonInfo('user', '');\n });\n },\n\n report: (eventId: string, params?: ReportItemType) => {\n if (!enable()) {\n return;\n }\n\n if (!isValidReport(eventId, params)) {\n return;\n }\n\n const validParams = convertToValidParams(params);\n const realParams = { ...validParams, ...ReportUtil.getCommonInfo() };\n console.log(realParams);\n NativeModules.NCYReport.report(eventId, realParams);\n },\n\n setCommonInfo: (key: string, value: string) => {\n CommonInfo[key] = value;\n },\n\n getCommonInfo: () => {\n return CommonInfo;\n },\n\n viewAppear: (page: string) => {\n if (!__DEV__) {\n console.log(page, 'viewWillAppear');\n }\n\n if (!enable()) {\n return;\n }\n\n NativeModules.NCYReport.enterPage(page);\n },\n\n viewDisappear: (page: string) => {\n if (!__DEV__) {\n console.log(page, 'viewWillDisappear');\n }\n\n if (!enable()) {\n return;\n }\n\n NativeModules.NCYReport.leavePage(page);\n },\n};\n"],"mappings":"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
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_reactNativeDeviceInfo","_Notification","CommonInfo","appVer","getReadableVersion","platform","Platform","OS","sysVer","Version","model","getModel","brand","getBrand","device","getDeviceId","enable","__DEV__","NativeModules","NCYReport","isValidReport","eventId","params","length","console","error","Array","isArray","key","convertToValidParams","ret","value","JSON","stringify","ReportUtil","exports","init","Notification","addListener","_ref","user","signIn","AVUser","get","setCommonInfo","signOut","report","validParams","realParams","getCommonInfo","log","viewAppear","page","enterPage","viewDisappear","leavePage"],"sources":["ReportUtil.ts"],"sourcesContent":["import { NativeModules, Platform } from 'react-native';\nimport {\n getBrand,\n getDeviceId,\n getModel,\n getReadableVersion,\n} from 'react-native-device-info';\nimport { Notification } from './Notification';\nimport { UserType } from './constant';\n\nexport interface ReportItemType {\n [key: string]: number | string;\n}\n\nconst CommonInfo: ReportItemType = {\n appVer: getReadableVersion(),\n platform: Platform.OS,\n sysVer: Platform.Version,\n model: getModel(),\n brand: getBrand(),\n device: getDeviceId(),\n};\n\nconst enable = () => {\n if (__DEV__) {\n return false;\n }\n if (!NativeModules.NCYReport) {\n return false;\n }\n return true;\n};\n\nconst isValidReport = (eventId: string, params?: ReportItemType) => {\n if (typeof eventId !== 'string' || eventId?.length === 0) {\n console.error('Report 数据非法 1');\n return false;\n }\n\n if (params == null) {\n return true;\n }\n\n if (typeof params !== 'object' || Array.isArray(params)) {\n console.error('Report 数据非法 2');\n return false;\n }\n\n for (const key in params) {\n if (typeof key !== 'string') {\n console.error('Report 数据非法 3');\n return false;\n }\n }\n\n return true;\n};\n\nconst convertToValidParams = (params?: ReportItemType) => {\n const ret: ReportItemType = {};\n for (const key in params) {\n const value = JSON.stringify(params[key]);\n ret[key] = value;\n }\n return ret;\n};\n\nexport const ReportUtil = {\n init: () => {\n if (!enable()) {\n return;\n }\n\n Notification.addListener(\n 'onLogin',\n ({ error, user }: { error: any; user: UserType }) => {\n if (!error && user) {\n NativeModules.NCYReport.signIn(user.AVUser.get('objectId'));\n ReportUtil.setCommonInfo('user', user.AVUser.get('objectId'));\n }\n }\n );\n\n Notification.addListener('onLogout', () => {\n NativeModules.NCYReport.signOut();\n ReportUtil.setCommonInfo('user', '');\n });\n },\n\n report: (eventId: string, params?: ReportItemType) => {\n if (!enable()) {\n return;\n }\n\n if (!isValidReport(eventId, params)) {\n return;\n }\n\n const validParams = convertToValidParams(params);\n const realParams = { ...validParams, ...ReportUtil.getCommonInfo() };\n console.log('[Report]', realParams);\n NativeModules.NCYReport.report(eventId, realParams);\n },\n\n setCommonInfo: (key: string, value: string) => {\n CommonInfo[key] = value;\n },\n\n getCommonInfo: () => {\n return CommonInfo;\n },\n\n viewAppear: (page: string) => {\n if (!__DEV__) {\n console.log(page, 'viewWillAppear');\n }\n\n if (!enable()) {\n return;\n }\n\n NativeModules.NCYReport.enterPage(page);\n },\n\n viewDisappear: (page: string) => {\n if (!__DEV__) {\n console.log(page, 'viewWillDisappear');\n }\n\n if (!enable()) {\n return;\n }\n\n NativeModules.NCYReport.leavePage(page);\n },\n};\n"],"mappings":"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"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.WeChatLoginUtil = void 0;
|
|
7
|
+
var WeChat = _interopRequireWildcard(require("react-native-wechat-lib"));
|
|
8
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
9
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
10
|
+
const WeChatLoginUtil = exports.WeChatLoginUtil = {
|
|
11
|
+
doLogin: (WeiXinId, WeiXinSecret, callback) => {
|
|
12
|
+
WeChat.sendAuthRequest('snsapi_userinfo').then(ret => {
|
|
13
|
+
console.log('wechat auth success ', ret);
|
|
14
|
+
let accessTokenUrl = 'https://api.weixin.qq.com/sns/oauth2/access_token?appid=' + WeiXinId + '&secret=' + WeiXinSecret + '&code=' + ret.code + '&grant_type=authorization_code';
|
|
15
|
+
fetch(accessTokenUrl).then(res => {
|
|
16
|
+
return res.json();
|
|
17
|
+
}).then(res => {
|
|
18
|
+
console.log('wechat get access code success: ', res.access_token);
|
|
19
|
+
let userInfoUrl = 'https://api.weixin.qq.com/sns/userinfo?access_token=' + res.access_token + '&openid=' + res.openid;
|
|
20
|
+
fetch(userInfoUrl).then(res => {
|
|
21
|
+
return res.json();
|
|
22
|
+
}).then(json => {
|
|
23
|
+
console.log('wechat get user info success: ', json);
|
|
24
|
+
callback({
|
|
25
|
+
nickname: json.nickname,
|
|
26
|
+
headimgurl: json.headimgurl,
|
|
27
|
+
openid: json.openid,
|
|
28
|
+
unionid: json.unionid
|
|
29
|
+
});
|
|
30
|
+
}).catch(e => {
|
|
31
|
+
console.warn('wechat get user info fail ', e);
|
|
32
|
+
callback({
|
|
33
|
+
error: e
|
|
34
|
+
});
|
|
35
|
+
});
|
|
36
|
+
}).catch(e => {
|
|
37
|
+
console.warn('wechat get access code fail ', e);
|
|
38
|
+
callback({
|
|
39
|
+
error: e
|
|
40
|
+
});
|
|
41
|
+
});
|
|
42
|
+
}).catch(e => {
|
|
43
|
+
console.warn('wechat auth fail ', e);
|
|
44
|
+
callback({
|
|
45
|
+
error: e
|
|
46
|
+
});
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
};
|
|
50
|
+
//# sourceMappingURL=WeChatLoginUtil.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["WeChat","_interopRequireWildcard","require","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","WeChatLoginUtil","exports","doLogin","WeiXinId","WeiXinSecret","callback","sendAuthRequest","then","ret","console","log","accessTokenUrl","code","fetch","res","json","access_token","userInfoUrl","openid","nickname","headimgurl","unionid","catch","e","warn","error"],"sources":["WeChatLoginUtil.ts"],"sourcesContent":["import * as WeChat from 'react-native-wechat-lib';\n\nexport const WeChatLoginUtil = {\n doLogin: (WeiXinId: string, WeiXinSecret: string, callback: Function) => {\n WeChat.sendAuthRequest('snsapi_userinfo')\n .then((ret) => {\n console.log('wechat auth success ', ret);\n\n let accessTokenUrl =\n 'https://api.weixin.qq.com/sns/oauth2/access_token?appid=' +\n WeiXinId +\n '&secret=' +\n WeiXinSecret +\n '&code=' +\n ret.code +\n '&grant_type=authorization_code';\n fetch(accessTokenUrl)\n .then((res) => {\n return res.json();\n })\n .then((res) => {\n console.log('wechat get access code success: ', res.access_token);\n let userInfoUrl =\n 'https://api.weixin.qq.com/sns/userinfo?access_token=' +\n res.access_token +\n '&openid=' +\n res.openid;\n fetch(userInfoUrl)\n .then((res) => {\n return res.json();\n })\n .then((json) => {\n console.log('wechat get user info success: ', json);\n callback({\n nickname: json.nickname,\n headimgurl: json.headimgurl,\n openid: json.openid,\n unionid: json.unionid,\n });\n })\n .catch((e) => {\n console.warn('wechat get user info fail ', e);\n callback({ error: e });\n });\n })\n .catch((e) => {\n console.warn('wechat get access code fail ', e);\n callback({ error: e });\n });\n })\n .catch((e: any) => {\n console.warn('wechat auth fail ', e);\n callback({ error: e });\n });\n },\n};\n"],"mappings":"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"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.i18n = void 0;
|
|
7
|
+
var _reactNativeToolkit = require("@norcy/react-native-toolkit");
|
|
8
|
+
var _i18nJs = require("i18n-js");
|
|
9
|
+
var _reactNative = require("react-native");
|
|
10
|
+
var _enUS = _interopRequireDefault(require("../locales/en-US.json"));
|
|
11
|
+
var _zhCN = _interopRequireDefault(require("../locales/zh-CN.json"));
|
|
12
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
13
|
+
/**
|
|
14
|
+
* 多语言配置文件
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
const i18n = exports.i18n = new _i18nJs.I18n();
|
|
18
|
+
i18n.enableFallback = true;
|
|
19
|
+
|
|
20
|
+
// 加载语言包
|
|
21
|
+
i18n.translations = {
|
|
22
|
+
zh: _zhCN.default,
|
|
23
|
+
en: _enUS.default
|
|
24
|
+
};
|
|
25
|
+
i18n.locale = 'zh';
|
|
26
|
+
const language = _reactNativeToolkit.SyncPrefData.getPrefString('language');
|
|
27
|
+
console.log('i18n init', language);
|
|
28
|
+
if (language == 'en') {
|
|
29
|
+
i18n.locale = 'en';
|
|
30
|
+
} else if (language == 'zh') {} else {
|
|
31
|
+
// 空的 或 auto
|
|
32
|
+
if (_reactNative.NativeModules.RNLocalize) {
|
|
33
|
+
var _locales$;
|
|
34
|
+
const RNLocalize = require('react-native-localize');
|
|
35
|
+
const locales = RNLocalize.getLocales();
|
|
36
|
+
const systemLanguage = (_locales$ = locales[0]) === null || _locales$ === void 0 ? void 0 : _locales$.languageCode;
|
|
37
|
+
if (systemLanguage == 'en') {
|
|
38
|
+
i18n.locale = 'en';
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
if (__DEV__) {
|
|
43
|
+
// i18n.locale = 'en';
|
|
44
|
+
// i18n.locale = 'zh';
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=i18n.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_reactNativeToolkit","require","_i18nJs","_reactNative","_enUS","_interopRequireDefault","_zhCN","obj","__esModule","default","i18n","exports","I18n","enableFallback","translations","zh","en","locale","language","SyncPrefData","getPrefString","console","log","NativeModules","RNLocalize","_locales$","locales","getLocales","systemLanguage","languageCode","__DEV__"],"sources":["i18n.ts"],"sourcesContent":["/**\n * 多语言配置文件\n */\n\nimport { SyncPrefData } from '@norcy/react-native-toolkit';\nimport { I18n } from 'i18n-js';\nimport { NativeModules } from 'react-native';\nimport en from '../locales/en-US.json';\nimport zh from '../locales/zh-CN.json';\n\nexport const i18n = new I18n();\n\ni18n.enableFallback = true;\n\n// 加载语言包\ni18n.translations = {\n zh,\n en,\n};\ni18n.locale = 'zh';\n\nconst language = SyncPrefData.getPrefString('language');\nconsole.log('i18n init', language);\nif (language == 'en') {\n i18n.locale = 'en';\n} else if (language == 'zh') {\n} else {\n // 空的 或 auto\n if (NativeModules.RNLocalize) {\n const RNLocalize = require('react-native-localize');\n const locales = RNLocalize.getLocales();\n const systemLanguage = locales[0]?.languageCode;\n if (systemLanguage == 'en') {\n i18n.locale = 'en';\n }\n }\n}\n\nif (__DEV__) {\n // i18n.locale = 'en';\n // i18n.locale = 'zh';\n}\n"],"mappings":";;;;;;AAIA,IAAAA,mBAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,YAAA,GAAAF,OAAA;AACA,IAAAG,KAAA,GAAAC,sBAAA,CAAAJ,OAAA;AACA,IAAAK,KAAA,GAAAD,sBAAA,CAAAJ,OAAA;AAAuC,SAAAI,uBAAAE,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AARvC;AACA;AACA;;AAQO,MAAMG,IAAI,GAAAC,OAAA,CAAAD,IAAA,GAAG,IAAIE,YAAI,CAAC,CAAC;AAE9BF,IAAI,CAACG,cAAc,GAAG,IAAI;;AAE1B;AACAH,IAAI,CAACI,YAAY,GAAG;EAClBC,EAAE,EAAFA,aAAE;EACFC,EAAE,EAAFA;AACF,CAAC;AACDN,IAAI,CAACO,MAAM,GAAG,IAAI;AAElB,MAAMC,QAAQ,GAAGC,gCAAY,CAACC,aAAa,CAAC,UAAU,CAAC;AACvDC,OAAO,CAACC,GAAG,CAAC,WAAW,EAAEJ,QAAQ,CAAC;AAClC,IAAIA,QAAQ,IAAI,IAAI,EAAE;EACpBR,IAAI,CAACO,MAAM,GAAG,IAAI;AACpB,CAAC,MAAM,IAAIC,QAAQ,IAAI,IAAI,EAAE,CAC7B,CAAC,MAAM;EACL;EACA,IAAIK,0BAAa,CAACC,UAAU,EAAE;IAAA,IAAAC,SAAA;IAC5B,MAAMD,UAAU,GAAGvB,OAAO,CAAC,uBAAuB,CAAC;IACnD,MAAMyB,OAAO,GAAGF,UAAU,CAACG,UAAU,CAAC,CAAC;IACvC,MAAMC,cAAc,IAAAH,SAAA,GAAGC,OAAO,CAAC,CAAC,CAAC,cAAAD,SAAA,uBAAVA,SAAA,CAAYI,YAAY;IAC/C,IAAID,cAAc,IAAI,IAAI,EAAE;MAC1BlB,IAAI,CAACO,MAAM,GAAG,IAAI;IACpB;EACF;AACF;AAEA,IAAIa,OAAO,EAAE;EACX;EACA;AAAA"}
|
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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"}
|
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":"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"}
|
package/lib/module/ReportUtil.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["NativeModules","Platform","getBrand","getDeviceId","getModel","getReadableVersion","Notification","CommonInfo","appVer","platform","OS","sysVer","Version","model","brand","device","enable","__DEV__","NCYReport","isValidReport","eventId","params","length","console","error","Array","isArray","key","convertToValidParams","ret","value","JSON","stringify","ReportUtil","init","addListener","_ref","user","signIn","AVUser","get","setCommonInfo","signOut","report","validParams","realParams","getCommonInfo","log","viewAppear","page","enterPage","viewDisappear","leavePage"],"sources":["ReportUtil.ts"],"sourcesContent":["import { NativeModules, Platform } from 'react-native';\nimport {\n getBrand,\n getDeviceId,\n getModel,\n getReadableVersion,\n} from 'react-native-device-info';\nimport { Notification } from './Notification';\nimport { UserType } from './constant';\n\nexport interface ReportItemType {\n [key: string]: number | string;\n}\n\nconst CommonInfo: ReportItemType = {\n appVer: getReadableVersion(),\n platform: Platform.OS,\n sysVer: Platform.Version,\n model: getModel(),\n brand: getBrand(),\n device: getDeviceId(),\n};\n\nconst enable = () => {\n if (__DEV__) {\n return false;\n }\n if (!NativeModules.NCYReport) {\n return false;\n }\n return true;\n};\n\nconst isValidReport = (eventId: string, params?: ReportItemType) => {\n if (typeof eventId !== 'string' || eventId?.length === 0) {\n console.error('Report 数据非法 1');\n return false;\n }\n\n if (params == null) {\n return true;\n }\n\n if (typeof params !== 'object' || Array.isArray(params)) {\n console.error('Report 数据非法 2');\n return false;\n }\n\n for (const key in params) {\n if (typeof key !== 'string') {\n console.error('Report 数据非法 3');\n return false;\n }\n }\n\n return true;\n};\n\nconst convertToValidParams = (params?: ReportItemType) => {\n const ret: ReportItemType = {};\n for (const key in params) {\n const value = JSON.stringify(params[key]);\n ret[key] = value;\n }\n return ret;\n};\n\nexport const ReportUtil = {\n init: () => {\n if (!enable()) {\n return;\n }\n\n Notification.addListener(\n 'onLogin',\n ({ error, user }: { error: any; user: UserType }) => {\n if (!error && user) {\n NativeModules.NCYReport.signIn(user.AVUser.get('objectId'));\n ReportUtil.setCommonInfo('user', user.AVUser.get('objectId'));\n }\n }\n );\n\n Notification.addListener('onLogout', () => {\n NativeModules.NCYReport.signOut();\n ReportUtil.setCommonInfo('user', '');\n });\n },\n\n report: (eventId: string, params?: ReportItemType) => {\n if (!enable()) {\n return;\n }\n\n if (!isValidReport(eventId, params)) {\n return;\n }\n\n const validParams = convertToValidParams(params);\n const realParams = { ...validParams, ...ReportUtil.getCommonInfo() };\n console.log(realParams);\n NativeModules.NCYReport.report(eventId, realParams);\n },\n\n setCommonInfo: (key: string, value: string) => {\n CommonInfo[key] = value;\n },\n\n getCommonInfo: () => {\n return CommonInfo;\n },\n\n viewAppear: (page: string) => {\n if (!__DEV__) {\n console.log(page, 'viewWillAppear');\n }\n\n if (!enable()) {\n return;\n }\n\n NativeModules.NCYReport.enterPage(page);\n },\n\n viewDisappear: (page: string) => {\n if (!__DEV__) {\n console.log(page, 'viewWillDisappear');\n }\n\n if (!enable()) {\n return;\n }\n\n NativeModules.NCYReport.leavePage(page);\n },\n};\n"],"mappings":"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
|
|
1
|
+
{"version":3,"names":["NativeModules","Platform","getBrand","getDeviceId","getModel","getReadableVersion","Notification","CommonInfo","appVer","platform","OS","sysVer","Version","model","brand","device","enable","__DEV__","NCYReport","isValidReport","eventId","params","length","console","error","Array","isArray","key","convertToValidParams","ret","value","JSON","stringify","ReportUtil","init","addListener","_ref","user","signIn","AVUser","get","setCommonInfo","signOut","report","validParams","realParams","getCommonInfo","log","viewAppear","page","enterPage","viewDisappear","leavePage"],"sources":["ReportUtil.ts"],"sourcesContent":["import { NativeModules, Platform } from 'react-native';\nimport {\n getBrand,\n getDeviceId,\n getModel,\n getReadableVersion,\n} from 'react-native-device-info';\nimport { Notification } from './Notification';\nimport { UserType } from './constant';\n\nexport interface ReportItemType {\n [key: string]: number | string;\n}\n\nconst CommonInfo: ReportItemType = {\n appVer: getReadableVersion(),\n platform: Platform.OS,\n sysVer: Platform.Version,\n model: getModel(),\n brand: getBrand(),\n device: getDeviceId(),\n};\n\nconst enable = () => {\n if (__DEV__) {\n return false;\n }\n if (!NativeModules.NCYReport) {\n return false;\n }\n return true;\n};\n\nconst isValidReport = (eventId: string, params?: ReportItemType) => {\n if (typeof eventId !== 'string' || eventId?.length === 0) {\n console.error('Report 数据非法 1');\n return false;\n }\n\n if (params == null) {\n return true;\n }\n\n if (typeof params !== 'object' || Array.isArray(params)) {\n console.error('Report 数据非法 2');\n return false;\n }\n\n for (const key in params) {\n if (typeof key !== 'string') {\n console.error('Report 数据非法 3');\n return false;\n }\n }\n\n return true;\n};\n\nconst convertToValidParams = (params?: ReportItemType) => {\n const ret: ReportItemType = {};\n for (const key in params) {\n const value = JSON.stringify(params[key]);\n ret[key] = value;\n }\n return ret;\n};\n\nexport const ReportUtil = {\n init: () => {\n if (!enable()) {\n return;\n }\n\n Notification.addListener(\n 'onLogin',\n ({ error, user }: { error: any; user: UserType }) => {\n if (!error && user) {\n NativeModules.NCYReport.signIn(user.AVUser.get('objectId'));\n ReportUtil.setCommonInfo('user', user.AVUser.get('objectId'));\n }\n }\n );\n\n Notification.addListener('onLogout', () => {\n NativeModules.NCYReport.signOut();\n ReportUtil.setCommonInfo('user', '');\n });\n },\n\n report: (eventId: string, params?: ReportItemType) => {\n if (!enable()) {\n return;\n }\n\n if (!isValidReport(eventId, params)) {\n return;\n }\n\n const validParams = convertToValidParams(params);\n const realParams = { ...validParams, ...ReportUtil.getCommonInfo() };\n console.log('[Report]', realParams);\n NativeModules.NCYReport.report(eventId, realParams);\n },\n\n setCommonInfo: (key: string, value: string) => {\n CommonInfo[key] = value;\n },\n\n getCommonInfo: () => {\n return CommonInfo;\n },\n\n viewAppear: (page: string) => {\n if (!__DEV__) {\n console.log(page, 'viewWillAppear');\n }\n\n if (!enable()) {\n return;\n }\n\n NativeModules.NCYReport.enterPage(page);\n },\n\n viewDisappear: (page: string) => {\n if (!__DEV__) {\n console.log(page, 'viewWillDisappear');\n }\n\n if (!enable()) {\n return;\n }\n\n NativeModules.NCYReport.leavePage(page);\n },\n};\n"],"mappings":"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,OAAO,MAAMI,UAAU,GAAG;EACxBC,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,CAAC,UAAU,EAAEF,UAAU,CAAC;IACnC7C,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"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import * as WeChat from 'react-native-wechat-lib';
|
|
2
|
+
export const WeChatLoginUtil = {
|
|
3
|
+
doLogin: (WeiXinId, WeiXinSecret, callback) => {
|
|
4
|
+
WeChat.sendAuthRequest('snsapi_userinfo').then(ret => {
|
|
5
|
+
console.log('wechat auth success ', ret);
|
|
6
|
+
let accessTokenUrl = 'https://api.weixin.qq.com/sns/oauth2/access_token?appid=' + WeiXinId + '&secret=' + WeiXinSecret + '&code=' + ret.code + '&grant_type=authorization_code';
|
|
7
|
+
fetch(accessTokenUrl).then(res => {
|
|
8
|
+
return res.json();
|
|
9
|
+
}).then(res => {
|
|
10
|
+
console.log('wechat get access code success: ', res.access_token);
|
|
11
|
+
let userInfoUrl = 'https://api.weixin.qq.com/sns/userinfo?access_token=' + res.access_token + '&openid=' + res.openid;
|
|
12
|
+
fetch(userInfoUrl).then(res => {
|
|
13
|
+
return res.json();
|
|
14
|
+
}).then(json => {
|
|
15
|
+
console.log('wechat get user info success: ', json);
|
|
16
|
+
callback({
|
|
17
|
+
nickname: json.nickname,
|
|
18
|
+
headimgurl: json.headimgurl,
|
|
19
|
+
openid: json.openid,
|
|
20
|
+
unionid: json.unionid
|
|
21
|
+
});
|
|
22
|
+
}).catch(e => {
|
|
23
|
+
console.warn('wechat get user info fail ', e);
|
|
24
|
+
callback({
|
|
25
|
+
error: e
|
|
26
|
+
});
|
|
27
|
+
});
|
|
28
|
+
}).catch(e => {
|
|
29
|
+
console.warn('wechat get access code fail ', e);
|
|
30
|
+
callback({
|
|
31
|
+
error: e
|
|
32
|
+
});
|
|
33
|
+
});
|
|
34
|
+
}).catch(e => {
|
|
35
|
+
console.warn('wechat auth fail ', e);
|
|
36
|
+
callback({
|
|
37
|
+
error: e
|
|
38
|
+
});
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
};
|
|
42
|
+
//# sourceMappingURL=WeChatLoginUtil.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["WeChat","WeChatLoginUtil","doLogin","WeiXinId","WeiXinSecret","callback","sendAuthRequest","then","ret","console","log","accessTokenUrl","code","fetch","res","json","access_token","userInfoUrl","openid","nickname","headimgurl","unionid","catch","e","warn","error"],"sources":["WeChatLoginUtil.ts"],"sourcesContent":["import * as WeChat from 'react-native-wechat-lib';\n\nexport const WeChatLoginUtil = {\n doLogin: (WeiXinId: string, WeiXinSecret: string, callback: Function) => {\n WeChat.sendAuthRequest('snsapi_userinfo')\n .then((ret) => {\n console.log('wechat auth success ', ret);\n\n let accessTokenUrl =\n 'https://api.weixin.qq.com/sns/oauth2/access_token?appid=' +\n WeiXinId +\n '&secret=' +\n WeiXinSecret +\n '&code=' +\n ret.code +\n '&grant_type=authorization_code';\n fetch(accessTokenUrl)\n .then((res) => {\n return res.json();\n })\n .then((res) => {\n console.log('wechat get access code success: ', res.access_token);\n let userInfoUrl =\n 'https://api.weixin.qq.com/sns/userinfo?access_token=' +\n res.access_token +\n '&openid=' +\n res.openid;\n fetch(userInfoUrl)\n .then((res) => {\n return res.json();\n })\n .then((json) => {\n console.log('wechat get user info success: ', json);\n callback({\n nickname: json.nickname,\n headimgurl: json.headimgurl,\n openid: json.openid,\n unionid: json.unionid,\n });\n })\n .catch((e) => {\n console.warn('wechat get user info fail ', e);\n callback({ error: e });\n });\n })\n .catch((e) => {\n console.warn('wechat get access code fail ', e);\n callback({ error: e });\n });\n })\n .catch((e: any) => {\n console.warn('wechat auth fail ', e);\n callback({ error: e });\n });\n },\n};\n"],"mappings":"AAAA,OAAO,KAAKA,MAAM,MAAM,yBAAyB;AAEjD,OAAO,MAAMC,eAAe,GAAG;EAC7BC,OAAO,EAAEA,CAACC,QAAgB,EAAEC,YAAoB,EAAEC,QAAkB,KAAK;IACvEL,MAAM,CAACM,eAAe,CAAC,iBAAiB,CAAC,CACtCC,IAAI,CAAEC,GAAG,IAAK;MACbC,OAAO,CAACC,GAAG,CAAC,sBAAsB,EAAEF,GAAG,CAAC;MAExC,IAAIG,cAAc,GAChB,0DAA0D,GAC1DR,QAAQ,GACR,UAAU,GACVC,YAAY,GACZ,QAAQ,GACRI,GAAG,CAACI,IAAI,GACR,gCAAgC;MAClCC,KAAK,CAACF,cAAc,CAAC,CAClBJ,IAAI,CAAEO,GAAG,IAAK;QACb,OAAOA,GAAG,CAACC,IAAI,CAAC,CAAC;MACnB,CAAC,CAAC,CACDR,IAAI,CAAEO,GAAG,IAAK;QACbL,OAAO,CAACC,GAAG,CAAC,kCAAkC,EAAEI,GAAG,CAACE,YAAY,CAAC;QACjE,IAAIC,WAAW,GACb,sDAAsD,GACtDH,GAAG,CAACE,YAAY,GAChB,UAAU,GACVF,GAAG,CAACI,MAAM;QACZL,KAAK,CAACI,WAAW,CAAC,CACfV,IAAI,CAAEO,GAAG,IAAK;UACb,OAAOA,GAAG,CAACC,IAAI,CAAC,CAAC;QACnB,CAAC,CAAC,CACDR,IAAI,CAAEQ,IAAI,IAAK;UACdN,OAAO,CAACC,GAAG,CAAC,gCAAgC,EAAEK,IAAI,CAAC;UACnDV,QAAQ,CAAC;YACPc,QAAQ,EAAEJ,IAAI,CAACI,QAAQ;YACvBC,UAAU,EAAEL,IAAI,CAACK,UAAU;YAC3BF,MAAM,EAAEH,IAAI,CAACG,MAAM;YACnBG,OAAO,EAAEN,IAAI,CAACM;UAChB,CAAC,CAAC;QACJ,CAAC,CAAC,CACDC,KAAK,CAAEC,CAAC,IAAK;UACZd,OAAO,CAACe,IAAI,CAAC,4BAA4B,EAAED,CAAC,CAAC;UAC7ClB,QAAQ,CAAC;YAAEoB,KAAK,EAAEF;UAAE,CAAC,CAAC;QACxB,CAAC,CAAC;MACN,CAAC,CAAC,CACDD,KAAK,CAAEC,CAAC,IAAK;QACZd,OAAO,CAACe,IAAI,CAAC,8BAA8B,EAAED,CAAC,CAAC;QAC/ClB,QAAQ,CAAC;UAAEoB,KAAK,EAAEF;QAAE,CAAC,CAAC;MACxB,CAAC,CAAC;IACN,CAAC,CAAC,CACDD,KAAK,CAAEC,CAAM,IAAK;MACjBd,OAAO,CAACe,IAAI,CAAC,mBAAmB,EAAED,CAAC,CAAC;MACpClB,QAAQ,CAAC;QAAEoB,KAAK,EAAEF;MAAE,CAAC,CAAC;IACxB,CAAC,CAAC;EACN;AACF,CAAC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 多语言配置文件
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
import { SyncPrefData } from '@norcy/react-native-toolkit';
|
|
6
|
+
import { I18n } from 'i18n-js';
|
|
7
|
+
import { NativeModules } from 'react-native';
|
|
8
|
+
import en from '../locales/en-US.json';
|
|
9
|
+
import zh from '../locales/zh-CN.json';
|
|
10
|
+
export const i18n = new I18n();
|
|
11
|
+
i18n.enableFallback = true;
|
|
12
|
+
|
|
13
|
+
// 加载语言包
|
|
14
|
+
i18n.translations = {
|
|
15
|
+
zh,
|
|
16
|
+
en
|
|
17
|
+
};
|
|
18
|
+
i18n.locale = 'zh';
|
|
19
|
+
const language = SyncPrefData.getPrefString('language');
|
|
20
|
+
console.log('i18n init', language);
|
|
21
|
+
if (language == 'en') {
|
|
22
|
+
i18n.locale = 'en';
|
|
23
|
+
} else if (language == 'zh') {} else {
|
|
24
|
+
// 空的 或 auto
|
|
25
|
+
if (NativeModules.RNLocalize) {
|
|
26
|
+
var _locales$;
|
|
27
|
+
const RNLocalize = require('react-native-localize');
|
|
28
|
+
const locales = RNLocalize.getLocales();
|
|
29
|
+
const systemLanguage = (_locales$ = locales[0]) === null || _locales$ === void 0 ? void 0 : _locales$.languageCode;
|
|
30
|
+
if (systemLanguage == 'en') {
|
|
31
|
+
i18n.locale = 'en';
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
if (__DEV__) {
|
|
36
|
+
// i18n.locale = 'en';
|
|
37
|
+
// i18n.locale = 'zh';
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=i18n.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["SyncPrefData","I18n","NativeModules","en","zh","i18n","enableFallback","translations","locale","language","getPrefString","console","log","RNLocalize","_locales$","require","locales","getLocales","systemLanguage","languageCode","__DEV__"],"sources":["i18n.ts"],"sourcesContent":["/**\n * 多语言配置文件\n */\n\nimport { SyncPrefData } from '@norcy/react-native-toolkit';\nimport { I18n } from 'i18n-js';\nimport { NativeModules } from 'react-native';\nimport en from '../locales/en-US.json';\nimport zh from '../locales/zh-CN.json';\n\nexport const i18n = new I18n();\n\ni18n.enableFallback = true;\n\n// 加载语言包\ni18n.translations = {\n zh,\n en,\n};\ni18n.locale = 'zh';\n\nconst language = SyncPrefData.getPrefString('language');\nconsole.log('i18n init', language);\nif (language == 'en') {\n i18n.locale = 'en';\n} else if (language == 'zh') {\n} else {\n // 空的 或 auto\n if (NativeModules.RNLocalize) {\n const RNLocalize = require('react-native-localize');\n const locales = RNLocalize.getLocales();\n const systemLanguage = locales[0]?.languageCode;\n if (systemLanguage == 'en') {\n i18n.locale = 'en';\n }\n }\n}\n\nif (__DEV__) {\n // i18n.locale = 'en';\n // i18n.locale = 'zh';\n}\n"],"mappings":"AAAA;AACA;AACA;;AAEA,SAASA,YAAY,QAAQ,6BAA6B;AAC1D,SAASC,IAAI,QAAQ,SAAS;AAC9B,SAASC,aAAa,QAAQ,cAAc;AAC5C,OAAOC,EAAE,MAAM,uBAAuB;AACtC,OAAOC,EAAE,MAAM,uBAAuB;AAEtC,OAAO,MAAMC,IAAI,GAAG,IAAIJ,IAAI,CAAC,CAAC;AAE9BI,IAAI,CAACC,cAAc,GAAG,IAAI;;AAE1B;AACAD,IAAI,CAACE,YAAY,GAAG;EAClBH,EAAE;EACFD;AACF,CAAC;AACDE,IAAI,CAACG,MAAM,GAAG,IAAI;AAElB,MAAMC,QAAQ,GAAGT,YAAY,CAACU,aAAa,CAAC,UAAU,CAAC;AACvDC,OAAO,CAACC,GAAG,CAAC,WAAW,EAAEH,QAAQ,CAAC;AAClC,IAAIA,QAAQ,IAAI,IAAI,EAAE;EACpBJ,IAAI,CAACG,MAAM,GAAG,IAAI;AACpB,CAAC,MAAM,IAAIC,QAAQ,IAAI,IAAI,EAAE,CAC7B,CAAC,MAAM;EACL;EACA,IAAIP,aAAa,CAACW,UAAU,EAAE;IAAA,IAAAC,SAAA;IAC5B,MAAMD,UAAU,GAAGE,OAAO,CAAC,uBAAuB,CAAC;IACnD,MAAMC,OAAO,GAAGH,UAAU,CAACI,UAAU,CAAC,CAAC;IACvC,MAAMC,cAAc,IAAAJ,SAAA,GAAGE,OAAO,CAAC,CAAC,CAAC,cAAAF,SAAA,uBAAVA,SAAA,CAAYK,YAAY;IAC/C,IAAID,cAAc,IAAI,IAAI,EAAE;MAC1Bb,IAAI,CAACG,MAAM,GAAG,IAAI;IACpB;EACF;AACF;AAEA,IAAIY,OAAO,EAAE;EACX;EACA;AAAA"}
|
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"}
|
|
@@ -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.9",
|
|
4
4
|
"description": "My Toolkit",
|
|
5
5
|
"main": "lib/commonjs/index",
|
|
6
6
|
"module": "lib/module/index",
|
|
@@ -65,7 +65,9 @@
|
|
|
65
65
|
"react-native-device-info": "^10.0.2",
|
|
66
66
|
"@sentry/react-native": "^3.4.3",
|
|
67
67
|
"leancloud-storage": "^4.10.1",
|
|
68
|
-
"@react-native-community/async-storage": "^1.12.0"
|
|
68
|
+
"@react-native-community/async-storage": "^1.12.0",
|
|
69
|
+
"i18n-js": "^4.2.2",
|
|
70
|
+
"react-native-wechat-lib": "^1.1.26"
|
|
69
71
|
},
|
|
70
72
|
"peerDependencies": {
|
|
71
73
|
"react": "*",
|
|
@@ -73,8 +75,10 @@
|
|
|
73
75
|
"@invertase/react-native-apple-authentication": "*",
|
|
74
76
|
"react-native-device-info": "*",
|
|
75
77
|
"@sentry/react-native": "*",
|
|
78
|
+
"leancloud-storage": "*",
|
|
76
79
|
"@react-native-community/async-storage": "*",
|
|
77
|
-
"
|
|
80
|
+
"i18n-js": "*",
|
|
81
|
+
"react-native-wechat-lib": "*"
|
|
78
82
|
},
|
|
79
83
|
"jest": {
|
|
80
84
|
"preset": "react-native",
|
package/src/PrefData.ts
CHANGED
package/src/ReportUtil.ts
CHANGED
|
@@ -98,7 +98,7 @@ export const ReportUtil = {
|
|
|
98
98
|
|
|
99
99
|
const validParams = convertToValidParams(params);
|
|
100
100
|
const realParams = { ...validParams, ...ReportUtil.getCommonInfo() };
|
|
101
|
-
console.log(realParams);
|
|
101
|
+
console.log('[Report]', realParams);
|
|
102
102
|
NativeModules.NCYReport.report(eventId, realParams);
|
|
103
103
|
},
|
|
104
104
|
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import * as WeChat from 'react-native-wechat-lib';
|
|
2
|
+
|
|
3
|
+
export const WeChatLoginUtil = {
|
|
4
|
+
doLogin: (WeiXinId: string, WeiXinSecret: string, callback: Function) => {
|
|
5
|
+
WeChat.sendAuthRequest('snsapi_userinfo')
|
|
6
|
+
.then((ret) => {
|
|
7
|
+
console.log('wechat auth success ', ret);
|
|
8
|
+
|
|
9
|
+
let accessTokenUrl =
|
|
10
|
+
'https://api.weixin.qq.com/sns/oauth2/access_token?appid=' +
|
|
11
|
+
WeiXinId +
|
|
12
|
+
'&secret=' +
|
|
13
|
+
WeiXinSecret +
|
|
14
|
+
'&code=' +
|
|
15
|
+
ret.code +
|
|
16
|
+
'&grant_type=authorization_code';
|
|
17
|
+
fetch(accessTokenUrl)
|
|
18
|
+
.then((res) => {
|
|
19
|
+
return res.json();
|
|
20
|
+
})
|
|
21
|
+
.then((res) => {
|
|
22
|
+
console.log('wechat get access code success: ', res.access_token);
|
|
23
|
+
let userInfoUrl =
|
|
24
|
+
'https://api.weixin.qq.com/sns/userinfo?access_token=' +
|
|
25
|
+
res.access_token +
|
|
26
|
+
'&openid=' +
|
|
27
|
+
res.openid;
|
|
28
|
+
fetch(userInfoUrl)
|
|
29
|
+
.then((res) => {
|
|
30
|
+
return res.json();
|
|
31
|
+
})
|
|
32
|
+
.then((json) => {
|
|
33
|
+
console.log('wechat get user info success: ', json);
|
|
34
|
+
callback({
|
|
35
|
+
nickname: json.nickname,
|
|
36
|
+
headimgurl: json.headimgurl,
|
|
37
|
+
openid: json.openid,
|
|
38
|
+
unionid: json.unionid,
|
|
39
|
+
});
|
|
40
|
+
})
|
|
41
|
+
.catch((e) => {
|
|
42
|
+
console.warn('wechat get user info fail ', e);
|
|
43
|
+
callback({ error: e });
|
|
44
|
+
});
|
|
45
|
+
})
|
|
46
|
+
.catch((e) => {
|
|
47
|
+
console.warn('wechat get access code fail ', e);
|
|
48
|
+
callback({ error: e });
|
|
49
|
+
});
|
|
50
|
+
})
|
|
51
|
+
.catch((e: any) => {
|
|
52
|
+
console.warn('wechat auth fail ', e);
|
|
53
|
+
callback({ error: e });
|
|
54
|
+
});
|
|
55
|
+
},
|
|
56
|
+
};
|
package/src/i18n.ts
ADDED
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 多语言配置文件
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
import { SyncPrefData } from '@norcy/react-native-toolkit';
|
|
6
|
+
import { I18n } from 'i18n-js';
|
|
7
|
+
import { NativeModules } from 'react-native';
|
|
8
|
+
import en from '../locales/en-US.json';
|
|
9
|
+
import zh from '../locales/zh-CN.json';
|
|
10
|
+
|
|
11
|
+
export const i18n = new I18n();
|
|
12
|
+
|
|
13
|
+
i18n.enableFallback = true;
|
|
14
|
+
|
|
15
|
+
// 加载语言包
|
|
16
|
+
i18n.translations = {
|
|
17
|
+
zh,
|
|
18
|
+
en,
|
|
19
|
+
};
|
|
20
|
+
i18n.locale = 'zh';
|
|
21
|
+
|
|
22
|
+
const language = SyncPrefData.getPrefString('language');
|
|
23
|
+
console.log('i18n init', language);
|
|
24
|
+
if (language == 'en') {
|
|
25
|
+
i18n.locale = 'en';
|
|
26
|
+
} else if (language == 'zh') {
|
|
27
|
+
} else {
|
|
28
|
+
// 空的 或 auto
|
|
29
|
+
if (NativeModules.RNLocalize) {
|
|
30
|
+
const RNLocalize = require('react-native-localize');
|
|
31
|
+
const locales = RNLocalize.getLocales();
|
|
32
|
+
const systemLanguage = locales[0]?.languageCode;
|
|
33
|
+
if (systemLanguage == 'en') {
|
|
34
|
+
i18n.locale = 'en';
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
if (__DEV__) {
|
|
40
|
+
// i18n.locale = 'en';
|
|
41
|
+
// i18n.locale = 'zh';
|
|
42
|
+
}
|
package/src/index.tsx
CHANGED
|
@@ -7,10 +7,12 @@ type ReactNativeToolkitType = {
|
|
|
7
7
|
const { ReactNativeToolkit } = NativeModules;
|
|
8
8
|
|
|
9
9
|
export default ReactNativeToolkit as ReactNativeToolkitType;
|
|
10
|
-
export * from './
|
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|