@norcy/react-native-toolkit 0.1.20 → 0.1.21

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.
@@ -0,0 +1,69 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.AppBadgeHelper = exports.AppBadgeContext = void 0;
7
+ var _react = _interopRequireDefault(require("react"));
8
+ var _PrefData = require("./PrefData");
9
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
10
+ const AppBadgeContext = exports.AppBadgeContext = /*#__PURE__*/_react.default.createContext({
11
+ appBadgeValue: [],
12
+ setAppBadgeValue: () => {}
13
+ });
14
+ const AppBadgeHelper = exports.AppBadgeHelper = {
15
+ initBadge: (context, badges) => {
16
+ _PrefData.PrefData.addListener(() => {
17
+ const clearedBadges = _PrefData.PrefData.getValue(_PrefData.BuildInPrefs.ClearBadge);
18
+ // 收集 Key 值
19
+ let allBadges = [];
20
+ const keys = Object.keys(badges);
21
+ for (const key of keys) {
22
+ const badge = badges[key];
23
+ // 动态占位的 key 值不存在,不应该被添加
24
+ if (badge.key) {
25
+ allBadges.push(badge.key);
26
+ }
27
+ }
28
+ console.log('allBadges', allBadges);
29
+
30
+ // 内存更新
31
+ AppBadgeHelper._calculateValidBadge(context, allBadges, clearedBadges);
32
+ });
33
+ },
34
+ // 最新红点 = appBadgs - clearedBadges
35
+ _calculateValidBadge: (context, allBadges, clearedBadges) => {
36
+ let result = [];
37
+ for (let i = 0; i < allBadges.length; ++i) {
38
+ const badge = allBadges[i];
39
+ // 展示过一次的就不再展示
40
+ if (!clearedBadges.includes(badge)) {
41
+ result.push(badge);
42
+ }
43
+ }
44
+ console.log('current badge', result);
45
+ context.setAppBadgeValue(result);
46
+ },
47
+ clearBadge: (context, scene) => {
48
+ // 内存判断
49
+ if (!AppBadgeHelper.hasBadge(context, scene)) {
50
+ return;
51
+ }
52
+
53
+ // 内存更新
54
+ AppBadgeHelper._calculateValidBadge(context, [...context.appBadgeValue],
55
+ // 必须深复制一下,不然不会引起 state 变化
56
+ [scene.key]);
57
+
58
+ // 硬盘更新
59
+ let clearBadges = _PrefData.PrefData.getValue(_PrefData.BuildInPrefs.ClearBadge);
60
+ if (!clearBadges.includes(scene.key)) {
61
+ clearBadges.push(scene.key);
62
+ _PrefData.PrefData.setValue(_PrefData.BuildInPrefs.ClearBadge, clearBadges);
63
+ }
64
+ },
65
+ hasBadge: (context, scene) => {
66
+ return context.appBadgeValue.includes(scene === null || scene === void 0 ? void 0 : scene.key) ? true : null;
67
+ }
68
+ };
69
+ //# sourceMappingURL=AppBadgeContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_PrefData","obj","__esModule","default","AppBadgeContext","exports","React","createContext","appBadgeValue","setAppBadgeValue","AppBadgeHelper","initBadge","context","badges","PrefData","addListener","clearedBadges","getValue","BuildInPrefs","ClearBadge","allBadges","keys","Object","key","badge","push","console","log","_calculateValidBadge","result","i","length","includes","clearBadge","scene","hasBadge","clearBadges","setValue"],"sources":["AppBadgeContext.ts"],"sourcesContent":["import React from 'react';\nimport { BuildInPrefs, PrefData } from './PrefData';\n\ninterface AppBadgeContextType {\n appBadgeValue: string[];\n setAppBadgeValue: Function;\n}\nexport const AppBadgeContext = React.createContext<AppBadgeContextType>({\n appBadgeValue: [],\n setAppBadgeValue: () => {},\n});\n\nexport interface BadgeType {\n key: string;\n}\n\nexport const AppBadgeHelper = {\n initBadge: (\n context: AppBadgeContextType,\n badges: { [key: string]: BadgeType }\n ) => {\n PrefData.addListener(() => {\n const clearedBadges = PrefData.getValue(BuildInPrefs.ClearBadge);\n // 收集 Key 值\n let allBadges = [];\n const keys = Object.keys(badges);\n for (const key of keys) {\n const badge = badges[key];\n // 动态占位的 key 值不存在,不应该被添加\n if (badge.key) {\n allBadges.push(badge.key);\n }\n }\n console.log('allBadges', allBadges);\n\n // 内存更新\n AppBadgeHelper._calculateValidBadge(context, allBadges, clearedBadges);\n });\n },\n\n // 最新红点 = appBadgs - clearedBadges\n _calculateValidBadge: (\n context: AppBadgeContextType,\n allBadges: string[],\n clearedBadges: string[]\n ) => {\n let result = [];\n for (let i = 0; i < allBadges.length; ++i) {\n const badge = allBadges[i];\n // 展示过一次的就不再展示\n if (!clearedBadges.includes(badge)) {\n result.push(badge);\n }\n }\n console.log('current badge', result);\n context.setAppBadgeValue(result);\n },\n\n clearBadge: (context: AppBadgeContextType, scene: BadgeType) => {\n // 内存判断\n if (!AppBadgeHelper.hasBadge(context, scene)) {\n return;\n }\n\n // 内存更新\n AppBadgeHelper._calculateValidBadge(\n context,\n [...context.appBadgeValue], // 必须深复制一下,不然不会引起 state 变化\n [scene.key]\n );\n\n // 硬盘更新\n let clearBadges = PrefData.getValue(BuildInPrefs.ClearBadge);\n if (!clearBadges.includes(scene.key)) {\n clearBadges.push(scene.key);\n PrefData.setValue(BuildInPrefs.ClearBadge, clearBadges);\n }\n },\n\n hasBadge: (context: AppBadgeContextType, scene: BadgeType) => {\n return context.appBadgeValue.includes(scene?.key) ? true : null;\n },\n};\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","_reactNativeDeviceInfo","_AppleLoginUtil","_Notification","_PrefData","_WeChatLoginUtil","_constant","AV","CURRENT_USER","WeiXinId","WeiXinSecret","AVUserToLocalUser","user","nickname","get","email","headimgurl","type","AVUser","onLoginFinish","_ref","isAuto","error","code","data","PrefData","setValue","BuildInPrefs","LastLoginType","Notification","postNotification","doLeanCloudLogin","authData","userData","callback","console","log","loginType","loginTypeNum","LoginType","LoginTypeApple","LoginTypeWeChat","LoginTypeVisitor","User","loginWithAuthData","failOnNotExist","then","newUser","setEmail","set","Platform","OS","isNew","error2","LoginManager","exports","setup","WeChatId","WeChatSecret","autoLogin","currentAsync","login","devAuthData","arguments","length","undefined","loadingCallback","cuurentUser","__DEV__","_ref2","identityToken","AppleLoginUtil","requestAppleUserForLogin","userId","openid","access_token","expires_in","fetchAndUpdateCredentialState","_ref3","result","LoginState","AUTHORIZED","_ref4","loginUser","error3","WeChatLoginUtil","doLogin","_ref5","unionid","_ref6","uniqueId","getUniqueIdSync","_ref7","logOut","isLogin","currentUser","isVisitor","_LoginManager$current","batchUpdateUser","keys","values","oldValues","i","push","save","e","updateUser","key","value","deleteUser","requestDeleteAccount","destroy","lastLoginType","getValue","fetchWeChatAvatar","_ref8"],"sources":["LoginManager.ts"],"sourcesContent":["import { User } from 'leancloud-storage';\nimport { Platform } from 'react-native';\nimport { getUniqueIdSync } from 'react-native-device-info';\nimport { AppleLoginUtil } from './AppleLoginUtil';\nimport { Notification } from './Notification';\nimport { BuildInPrefs, PrefData } from './PrefData';\nimport { WeChatLoginUtil } from './WeChatLoginUtil';\nimport {\n LoginAuthDataType,\n LoginState,\n LoginType,\n LoginUserDataType,\n UserType,\n} from './constant';\n\nconst AV = require('leancloud-storage');\n\nlet CURRENT_USER: UserType | null = null;\n\nlet WeiXinId = '';\nlet WeiXinSecret = '';\n\nconst AVUserToLocalUser = (user: User) => {\n return {\n nickname: user.get('nickname'),\n email: user.get('email'),\n headimgurl: user.get('headimgurl'),\n type: user.get('type'),\n AVUser: user,\n };\n};\n\nconst onLoginFinish = ({\n isAuto = false,\n user,\n error,\n code,\n}: {\n isAuto?: boolean;\n user?: UserType;\n error?: string | object;\n code?: number;\n}) => {\n const data = { isAuto, user, error, code };\n if (user) {\n PrefData.setValue(BuildInPrefs.LastLoginType, user.type);\n }\n Notification.postNotification('onLogin', data);\n};\n\nconst doLeanCloudLogin = async (\n authData: LoginAuthDataType,\n userData: LoginUserDataType | undefined,\n callback: ({ user, error }: { user?: UserType; error?: any }) => void\n) => {\n console.log('Lean Cloud 开始登录', userData);\n // loginType 空说明是老用户\n const loginType = authData.loginType ? authData.loginType : 'apple';\n let loginTypeNum = LoginType.LoginTypeApple;\n if (loginType === 'wechat') {\n loginTypeNum = LoginType.LoginTypeWeChat;\n } else if (loginType === 'visitor') {\n loginTypeNum = LoginType.LoginTypeVisitor;\n }\n\n AV.User.loginWithAuthData(authData, loginType, { failOnNotExist: true }).then(\n (user: User) => {\n // 登录成功\n console.log('Lean Cloud 登录成功');\n // 每次重新鉴权都更新头像和昵称,避免微信头像过期\n // if (userData?.nickname) {\n // user.set('nickname', userData?.nickname);\n // }\n // if (userData?.headimgurl) {\n // user.set('headimgurl', userData?.headimgurl);\n // }\n // user.save();\n CURRENT_USER = AVUserToLocalUser(user);\n callback({ user: CURRENT_USER });\n },\n (error: any) => {\n if (error.code === 211) {\n // 创建用户,并补充资料\n console.log('创建用户,并补充资料');\n const newUser = new AV.User();\n const email = userData?.email;\n if (email) {\n newUser.setEmail(email);\n }\n newUser.set('nickname', userData?.nickname);\n newUser.set('headimgurl', userData?.headimgurl);\n newUser.set('type', loginTypeNum);\n if (Platform.OS === 'android') {\n newUser.set('source', 2);\n }\n newUser.set('toLDB', 1);\n newUser.loginWithAuthData(authData, loginType).then(\n (user: User) => {\n // 登录成功\n console.log('Lean Cloud 注册成功');\n CURRENT_USER = AVUserToLocalUser(user);\n CURRENT_USER.isNew = true;\n // 标记为当前用户是在本机注册的 TODO\n // PrefData.setValue(Prefs.RegisterInThisDevice, true);\n callback({ user: CURRENT_USER });\n },\n (error2: any) => {\n // 登录失败\n console.log('Lean Cloud 登录失败', error2);\n callback({ error: error2 });\n }\n );\n } else {\n // 登录失败\n console.log('Lean Cloud 登录失败', error);\n callback({ error: error });\n }\n }\n );\n};\n\nexport const LoginManager = {\n setup: (WeChatId: string, WeChatSecret: string) => {\n WeiXinId = WeChatId;\n WeiXinSecret = WeChatSecret;\n },\n\n // 自动根据已有的 User 信息进行登录鉴权,如果 User 为空则失败\n autoLogin: async () => {\n const user = await AV.User.currentAsync();\n if (user) {\n console.log('自动登录成功');\n CURRENT_USER = AVUserToLocalUser(user);\n onLoginFinish({ isAuto: true, user: CURRENT_USER });\n } else {\n onLoginFinish({ isAuto: true, error: 'User Not Login Yet' });\n }\n },\n\n // 如果 User 为空,则唤起苹果登录框;如果 User 不为空,直接鉴权\n login: async (\n type: LoginType,\n devAuthData: LoginAuthDataType | null = null,\n loadingCallback: Function\n ) => {\n // 如果之前已经鉴权过,则直接使用上次鉴权的 AuthData\n const cuurentUser = await AV.User.currentAsync();\n if (cuurentUser) {\n await LoginManager.autoLogin();\n return;\n }\n\n // 改为注入 delegate\n if (__DEV__) {\n if (devAuthData) {\n doLeanCloudLogin(devAuthData, undefined, ({ user, error }) => {\n onLoginFinish({ user, error });\n });\n return;\n }\n }\n\n if (type === LoginType.LoginTypeApple) {\n const { user, email, identityToken, error, code } =\n await AppleLoginUtil.requestAppleUserForLogin();\n if (!user || error) {\n onLoginFinish({ error, code });\n return;\n } else {\n let userData = {\n userId: user,\n email: email,\n authData: {\n openid: user,\n access_token: identityToken,\n expires_in: 99999999,\n loginType: 'apple',\n },\n };\n\n AppleLoginUtil.fetchAndUpdateCredentialState(\n userData.userId,\n ({ result, error: error2 }: { result: number; error: any }) => {\n if (error || result !== LoginState.AUTHORIZED) {\n onLoginFinish({ error: error2 });\n } else {\n loadingCallback && loadingCallback();\n doLeanCloudLogin(\n userData.authData,\n userData,\n ({ user: loginUser, error: error3 }) => {\n onLoginFinish({ user: loginUser, error: error3 });\n }\n );\n }\n }\n );\n }\n } else if (type === LoginType.LoginTypeWeChat) {\n WeChatLoginUtil.doLogin(\n WeiXinId,\n WeiXinSecret,\n ({\n nickname,\n headimgurl,\n openid,\n unionid,\n error,\n }: {\n nickname: string;\n headimgurl: string;\n openid: string;\n unionid: string;\n error: any;\n }) => {\n if (error) {\n onLoginFinish({ error });\n } else {\n let userData = {\n nickname: nickname,\n headimgurl: headimgurl,\n authData: {\n openid: openid,\n unionid: unionid,\n access_token: openid,\n expires_in: 99999999,\n loginType: 'wechat',\n },\n };\n loadingCallback && loadingCallback();\n doLeanCloudLogin(\n userData.authData,\n userData,\n ({ user, error: error2 }) => {\n onLoginFinish({ user, error: error2 });\n }\n );\n }\n }\n );\n } else if (type === LoginType.LoginTypeVisitor) {\n const uniqueId = getUniqueIdSync();\n console.log(uniqueId);\n let userData = {\n nickname: 'Visitor',\n authData: {\n openid: uniqueId,\n access_token: uniqueId,\n expires_in: 99999999,\n loginType: 'visitor',\n },\n };\n loadingCallback && loadingCallback();\n doLeanCloudLogin(userData.authData, userData, ({ user, error }) => {\n onLoginFinish({ user, error });\n });\n } else {\n onLoginFinish({ error: 'Unknown Login Type' });\n }\n },\n\n logOut: (callback: Function) => {\n console.log('onLogout');\n AV.User.logOut();\n CURRENT_USER = null;\n callback && callback();\n Notification.postNotification('onLogout');\n },\n\n isLogin: () => {\n return LoginManager.currentUser() != null;\n },\n\n isVisitor: () => {\n return (\n LoginManager.isLogin() &&\n LoginManager.currentUser()?.type === LoginType.LoginTypeVisitor\n );\n },\n\n currentUser: () => {\n // console.log('current user is ', CURRENT_USER);\n return CURRENT_USER;\n },\n\n batchUpdateUser: async (\n keys: string[],\n values: (string | Date)[],\n callback?: Function\n ) => {\n console.log('Batch Update User Begin: ' + keys + ' ' + values);\n const user = await AV.User.currentAsync();\n if (!user) {\n return;\n }\n const oldValues = [];\n for (let i = 0; i < keys.length; i++) {\n oldValues.push(user.get(keys[i]));\n user.set(keys[i], values[i]);\n }\n try {\n const newUser = await user.save();\n CURRENT_USER = AVUserToLocalUser(newUser);\n console.log('Batch Update User End', user);\n callback && callback();\n } catch (e) {\n console.error(e);\n for (let i = 0; i < keys.length; i++) {\n user.set(keys[i], oldValues[i]);\n }\n callback && callback(e);\n }\n },\n\n updateUser: (key: string, value: string, callback?: Function) => {\n LoginManager.batchUpdateUser([key], [value], callback);\n },\n\n deleteUser: async (callback: Function) => {\n try {\n if (!CURRENT_USER) {\n return;\n }\n if (CURRENT_USER.type === LoginType.LoginTypeApple) {\n await AppleLoginUtil.requestDeleteAccount();\n }\n const user = await AV.User.currentAsync();\n console.log('get user success');\n await user.destroy();\n console.log('delete user success');\n callback();\n } catch (error) {\n console.error(error);\n callback(error);\n }\n },\n\n lastLoginType: () => {\n return PrefData.getValue(BuildInPrefs.LastLoginType);\n },\n\n fetchWeChatAvatar: (callback: Function) => {\n WeChatLoginUtil.doLogin(\n WeiXinId,\n WeiXinSecret,\n ({ headimgurl }: { headimgurl: string }) => {\n callback({ headimgurl });\n }\n );\n },\n};\n"],"mappings":";;;;;;AACA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,sBAAA,GAAAD,OAAA;AACA,IAAAE,eAAA,GAAAF,OAAA;AACA,IAAAG,aAAA,GAAAH,OAAA;AACA,IAAAI,SAAA,GAAAJ,OAAA;AACA,IAAAK,gBAAA,GAAAL,OAAA;AACA,IAAAM,SAAA,GAAAN,OAAA;AAQA,MAAMO,EAAE,GAAGP,OAAO,CAAC,mBAAmB,CAAC;AAEvC,IAAIQ,YAA6B,GAAG,IAAI;AAExC,IAAIC,QAAQ,GAAG,EAAE;AACjB,IAAIC,YAAY,GAAG,EAAE;AAErB,MAAMC,iBAAiB,GAAIC,IAAU,IAAK;EACxC,OAAO;IACLC,QAAQ,EAAED,IAAI,CAACE,GAAG,CAAC,UAAU,CAAC;IAC9BC,KAAK,EAAEH,IAAI,CAACE,GAAG,CAAC,OAAO,CAAC;IACxBE,UAAU,EAAEJ,IAAI,CAACE,GAAG,CAAC,YAAY,CAAC;IAClCG,IAAI,EAAEL,IAAI,CAACE,GAAG,CAAC,MAAM,CAAC;IACtBI,MAAM,EAAEN;EACV,CAAC;AACH,CAAC;AAED,MAAMO,aAAa,GAAGC,IAAA,IAUhB;EAAA,IAViB;IACrBC,MAAM,GAAG,KAAK;IACdT,IAAI;IACJU,KAAK;IACLC;EAMF,CAAC,GAAAH,IAAA;EACC,MAAMI,IAAI,GAAG;IAAEH,MAAM;IAAET,IAAI;IAAEU,KAAK;IAAEC;EAAK,CAAC;EAC1C,IAAIX,IAAI,EAAE;IACRa,kBAAQ,CAACC,QAAQ,CAACC,sBAAY,CAACC,aAAa,EAAEhB,IAAI,CAACK,IAAI,CAAC;EAC1D;EACAY,0BAAY,CAACC,gBAAgB,CAAC,SAAS,EAAEN,IAAI,CAAC;AAChD,CAAC;AAED,MAAMO,gBAAgB,GAAG,MAAAA,CACvBC,QAA2B,EAC3BC,QAAuC,EACvCC,QAAqE,KAClE;EACHC,OAAO,CAACC,GAAG,CAAC,iBAAiB,EAAEH,QAAQ,CAAC;EACxC;EACA,MAAMI,SAAS,GAAGL,QAAQ,CAACK,SAAS,GAAGL,QAAQ,CAACK,SAAS,GAAG,OAAO;EACnE,IAAIC,YAAY,GAAGC,mBAAS,CAACC,cAAc;EAC3C,IAAIH,SAAS,KAAK,QAAQ,EAAE;IAC1BC,YAAY,GAAGC,mBAAS,CAACE,eAAe;EAC1C,CAAC,MAAM,IAAIJ,SAAS,KAAK,SAAS,EAAE;IAClCC,YAAY,GAAGC,mBAAS,CAACG,gBAAgB;EAC3C;EAEAnC,EAAE,CAACoC,IAAI,CAACC,iBAAiB,CAACZ,QAAQ,EAAEK,SAAS,EAAE;IAAEQ,cAAc,EAAE;EAAK,CAAC,CAAC,CAACC,IAAI,CAC1ElC,IAAU,IAAK;IACd;IACAuB,OAAO,CAACC,GAAG,CAAC,iBAAiB,CAAC;IAC9B;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA5B,YAAY,GAAGG,iBAAiB,CAACC,IAAI,CAAC;IACtCsB,QAAQ,CAAC;MAAEtB,IAAI,EAAEJ;IAAa,CAAC,CAAC;EAClC,CAAC,EACAc,KAAU,IAAK;IACd,IAAIA,KAAK,CAACC,IAAI,KAAK,GAAG,EAAE;MACtB;MACAY,OAAO,CAACC,GAAG,CAAC,YAAY,CAAC;MACzB,MAAMW,OAAO,GAAG,IAAIxC,EAAE,CAACoC,IAAI,CAAC,CAAC;MAC7B,MAAM5B,KAAK,GAAGkB,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAElB,KAAK;MAC7B,IAAIA,KAAK,EAAE;QACTgC,OAAO,CAACC,QAAQ,CAACjC,KAAK,CAAC;MACzB;MACAgC,OAAO,CAACE,GAAG,CAAC,UAAU,EAAEhB,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEpB,QAAQ,CAAC;MAC3CkC,OAAO,CAACE,GAAG,CAAC,YAAY,EAAEhB,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEjB,UAAU,CAAC;MAC/C+B,OAAO,CAACE,GAAG,CAAC,MAAM,EAAEX,YAAY,CAAC;MACjC,IAAIY,qBAAQ,CAACC,EAAE,KAAK,SAAS,EAAE;QAC7BJ,OAAO,CAACE,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;MAC1B;MACAF,OAAO,CAACE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;MACvBF,OAAO,CAACH,iBAAiB,CAACZ,QAAQ,EAAEK,SAAS,CAAC,CAACS,IAAI,CAChDlC,IAAU,IAAK;QACd;QACAuB,OAAO,CAACC,GAAG,CAAC,iBAAiB,CAAC;QAC9B5B,YAAY,GAAGG,iBAAiB,CAACC,IAAI,CAAC;QACtCJ,YAAY,CAAC4C,KAAK,GAAG,IAAI;QACzB;QACA;QACAlB,QAAQ,CAAC;UAAEtB,IAAI,EAAEJ;QAAa,CAAC,CAAC;MAClC,CAAC,EACA6C,MAAW,IAAK;QACf;QACAlB,OAAO,CAACC,GAAG,CAAC,iBAAiB,EAAEiB,MAAM,CAAC;QACtCnB,QAAQ,CAAC;UAAEZ,KAAK,EAAE+B;QAAO,CAAC,CAAC;MAC7B,CACF,CAAC;IACH,CAAC,MAAM;MACL;MACAlB,OAAO,CAACC,GAAG,CAAC,iBAAiB,EAAEd,KAAK,CAAC;MACrCY,QAAQ,CAAC;QAAEZ,KAAK,EAAEA;MAAM,CAAC,CAAC;IAC5B;EACF,CACF,CAAC;AACH,CAAC;AAEM,MAAMgC,YAAY,GAAAC,OAAA,CAAAD,YAAA,GAAG;EAC1BE,KAAK,EAAEA,CAACC,QAAgB,EAAEC,YAAoB,KAAK;IACjDjD,QAAQ,GAAGgD,QAAQ;IACnB/C,YAAY,GAAGgD,YAAY;EAC7B,CAAC;EAED;EACAC,SAAS,EAAE,MAAAA,CAAA,KAAY;IACrB,MAAM/C,IAAI,GAAG,MAAML,EAAE,CAACoC,IAAI,CAACiB,YAAY,CAAC,CAAC;IACzC,IAAIhD,IAAI,EAAE;MACRuB,OAAO,CAACC,GAAG,CAAC,QAAQ,CAAC;MACrB5B,YAAY,GAAGG,iBAAiB,CAACC,IAAI,CAAC;MACtCO,aAAa,CAAC;QAAEE,MAAM,EAAE,IAAI;QAAET,IAAI,EAAEJ;MAAa,CAAC,CAAC;IACrD,CAAC,MAAM;MACLW,aAAa,CAAC;QAAEE,MAAM,EAAE,IAAI;QAAEC,KAAK,EAAE;MAAqB,CAAC,CAAC;IAC9D;EACF,CAAC;EAED;EACAuC,KAAK,EAAE,eAAAA,CACL5C,IAAe,EAGZ;IAAA,IAFH6C,WAAqC,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,IAAI;IAAA,IAC5CG,eAAyB,GAAAH,SAAA,CAAAC,MAAA,OAAAD,SAAA,MAAAE,SAAA;IAEzB;IACA,MAAME,WAAW,GAAG,MAAM5D,EAAE,CAACoC,IAAI,CAACiB,YAAY,CAAC,CAAC;IAChD,IAAIO,WAAW,EAAE;MACf,MAAMb,YAAY,CAACK,SAAS,CAAC,CAAC;MAC9B;IACF;;IAEA;IACA,IAAIS,OAAO,EAAE;MACX,IAAIN,WAAW,EAAE;QACf/B,gBAAgB,CAAC+B,WAAW,EAAEG,SAAS,EAAEI,KAAA,IAAqB;UAAA,IAApB;YAAEzD,IAAI;YAAEU;UAAM,CAAC,GAAA+C,KAAA;UACvDlD,aAAa,CAAC;YAAEP,IAAI;YAAEU;UAAM,CAAC,CAAC;QAChC,CAAC,CAAC;QACF;MACF;IACF;IAEA,IAAIL,IAAI,KAAKsB,mBAAS,CAACC,cAAc,EAAE;MACrC,MAAM;QAAE5B,IAAI;QAAEG,KAAK;QAAEuD,aAAa;QAAEhD,KAAK;QAAEC;MAAK,CAAC,GAC/C,MAAMgD,8BAAc,CAACC,wBAAwB,CAAC,CAAC;MACjD,IAAI,CAAC5D,IAAI,IAAIU,KAAK,EAAE;QAClBH,aAAa,CAAC;UAAEG,KAAK;UAAEC;QAAK,CAAC,CAAC;QAC9B;MACF,CAAC,MAAM;QACL,IAAIU,QAAQ,GAAG;UACbwC,MAAM,EAAE7D,IAAI;UACZG,KAAK,EAAEA,KAAK;UACZiB,QAAQ,EAAE;YACR0C,MAAM,EAAE9D,IAAI;YACZ+D,YAAY,EAAEL,aAAa;YAC3BM,UAAU,EAAE,QAAQ;YACpBvC,SAAS,EAAE;UACb;QACF,CAAC;QAEDkC,8BAAc,CAACM,6BAA6B,CAC1C5C,QAAQ,CAACwC,MAAM,EACfK,KAAA,IAA+D;UAAA,IAA9D;YAAEC,MAAM;YAAEzD,KAAK,EAAE+B;UAAuC,CAAC,GAAAyB,KAAA;UACxD,IAAIxD,KAAK,IAAIyD,MAAM,KAAKC,oBAAU,CAACC,UAAU,EAAE;YAC7C9D,aAAa,CAAC;cAAEG,KAAK,EAAE+B;YAAO,CAAC,CAAC;UAClC,CAAC,MAAM;YACLa,eAAe,IAAIA,eAAe,CAAC,CAAC;YACpCnC,gBAAgB,CACdE,QAAQ,CAACD,QAAQ,EACjBC,QAAQ,EACRiD,KAAA,IAAwC;cAAA,IAAvC;gBAAEtE,IAAI,EAAEuE,SAAS;gBAAE7D,KAAK,EAAE8D;cAAO,CAAC,GAAAF,KAAA;cACjC/D,aAAa,CAAC;gBAAEP,IAAI,EAAEuE,SAAS;gBAAE7D,KAAK,EAAE8D;cAAO,CAAC,CAAC;YACnD,CACF,CAAC;UACH;QACF,CACF,CAAC;MACH;IACF,CAAC,MAAM,IAAInE,IAAI,KAAKsB,mBAAS,CAACE,eAAe,EAAE;MAC7C4C,gCAAe,CAACC,OAAO,CACrB7E,QAAQ,EACRC,YAAY,EACZ6E,KAAA,IAYM;QAAA,IAZL;UACC1E,QAAQ;UACRG,UAAU;UACV0D,MAAM;UACNc,OAAO;UACPlE;QAOF,CAAC,GAAAiE,KAAA;QACC,IAAIjE,KAAK,EAAE;UACTH,aAAa,CAAC;YAAEG;UAAM,CAAC,CAAC;QAC1B,CAAC,MAAM;UACL,IAAIW,QAAQ,GAAG;YACbpB,QAAQ,EAAEA,QAAQ;YAClBG,UAAU,EAAEA,UAAU;YACtBgB,QAAQ,EAAE;cACR0C,MAAM,EAAEA,MAAM;cACdc,OAAO,EAAEA,OAAO;cAChBb,YAAY,EAAED,MAAM;cACpBE,UAAU,EAAE,QAAQ;cACpBvC,SAAS,EAAE;YACb;UACF,CAAC;UACD6B,eAAe,IAAIA,eAAe,CAAC,CAAC;UACpCnC,gBAAgB,CACdE,QAAQ,CAACD,QAAQ,EACjBC,QAAQ,EACRwD,KAAA,IAA6B;YAAA,IAA5B;cAAE7E,IAAI;cAAEU,KAAK,EAAE+B;YAAO,CAAC,GAAAoC,KAAA;YACtBtE,aAAa,CAAC;cAAEP,IAAI;cAAEU,KAAK,EAAE+B;YAAO,CAAC,CAAC;UACxC,CACF,CAAC;QACH;MACF,CACF,CAAC;IACH,CAAC,MAAM,IAAIpC,IAAI,KAAKsB,mBAAS,CAACG,gBAAgB,EAAE;MAC9C,MAAMgD,QAAQ,GAAG,IAAAC,sCAAe,EAAC,CAAC;MAClCxD,OAAO,CAACC,GAAG,CAACsD,QAAQ,CAAC;MACrB,IAAIzD,QAAQ,GAAG;QACbpB,QAAQ,EAAE,SAAS;QACnBmB,QAAQ,EAAE;UACR0C,MAAM,EAAEgB,QAAQ;UAChBf,YAAY,EAAEe,QAAQ;UACtBd,UAAU,EAAE,QAAQ;UACpBvC,SAAS,EAAE;QACb;MACF,CAAC;MACD6B,eAAe,IAAIA,eAAe,CAAC,CAAC;MACpCnC,gBAAgB,CAACE,QAAQ,CAACD,QAAQ,EAAEC,QAAQ,EAAE2D,KAAA,IAAqB;QAAA,IAApB;UAAEhF,IAAI;UAAEU;QAAM,CAAC,GAAAsE,KAAA;QAC5DzE,aAAa,CAAC;UAAEP,IAAI;UAAEU;QAAM,CAAC,CAAC;MAChC,CAAC,CAAC;IACJ,CAAC,MAAM;MACLH,aAAa,CAAC;QAAEG,KAAK,EAAE;MAAqB,CAAC,CAAC;IAChD;EACF,CAAC;EAEDuE,MAAM,EAAG3D,QAAkB,IAAK;IAC9BC,OAAO,CAACC,GAAG,CAAC,UAAU,CAAC;IACvB7B,EAAE,CAACoC,IAAI,CAACkD,MAAM,CAAC,CAAC;IAChBrF,YAAY,GAAG,IAAI;IACnB0B,QAAQ,IAAIA,QAAQ,CAAC,CAAC;IACtBL,0BAAY,CAACC,gBAAgB,CAAC,UAAU,CAAC;EAC3C,CAAC;EAEDgE,OAAO,EAAEA,CAAA,KAAM;IACb,OAAOxC,YAAY,CAACyC,WAAW,CAAC,CAAC,IAAI,IAAI;EAC3C,CAAC;EAEDC,SAAS,EAAEA,CAAA,KAAM;IAAA,IAAAC,qBAAA;IACf,OACE3C,YAAY,CAACwC,OAAO,CAAC,CAAC,IACtB,EAAAG,qBAAA,GAAA3C,YAAY,CAACyC,WAAW,CAAC,CAAC,cAAAE,qBAAA,uBAA1BA,qBAAA,CAA4BhF,IAAI,MAAKsB,mBAAS,CAACG,gBAAgB;EAEnE,CAAC;EAEDqD,WAAW,EAAEA,CAAA,KAAM;IACjB;IACA,OAAOvF,YAAY;EACrB,CAAC;EAED0F,eAAe,EAAE,MAAAA,CACfC,IAAc,EACdC,MAAyB,EACzBlE,QAAmB,KAChB;IACHC,OAAO,CAACC,GAAG,CAAC,2BAA2B,GAAG+D,IAAI,GAAG,GAAG,GAAGC,MAAM,CAAC;IAC9D,MAAMxF,IAAI,GAAG,MAAML,EAAE,CAACoC,IAAI,CAACiB,YAAY,CAAC,CAAC;IACzC,IAAI,CAAChD,IAAI,EAAE;MACT;IACF;IACA,MAAMyF,SAAS,GAAG,EAAE;IACpB,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGH,IAAI,CAACnC,MAAM,EAAEsC,CAAC,EAAE,EAAE;MACpCD,SAAS,CAACE,IAAI,CAAC3F,IAAI,CAACE,GAAG,CAACqF,IAAI,CAACG,CAAC,CAAC,CAAC,CAAC;MACjC1F,IAAI,CAACqC,GAAG,CAACkD,IAAI,CAACG,CAAC,CAAC,EAAEF,MAAM,CAACE,CAAC,CAAC,CAAC;IAC9B;IACA,IAAI;MACF,MAAMvD,OAAO,GAAG,MAAMnC,IAAI,CAAC4F,IAAI,CAAC,CAAC;MACjChG,YAAY,GAAGG,iBAAiB,CAACoC,OAAO,CAAC;MACzCZ,OAAO,CAACC,GAAG,CAAC,uBAAuB,EAAExB,IAAI,CAAC;MAC1CsB,QAAQ,IAAIA,QAAQ,CAAC,CAAC;IACxB,CAAC,CAAC,OAAOuE,CAAC,EAAE;MACVtE,OAAO,CAACb,KAAK,CAACmF,CAAC,CAAC;MAChB,KAAK,IAAIH,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGH,IAAI,CAACnC,MAAM,EAAEsC,CAAC,EAAE,EAAE;QACpC1F,IAAI,CAACqC,GAAG,CAACkD,IAAI,CAACG,CAAC,CAAC,EAAED,SAAS,CAACC,CAAC,CAAC,CAAC;MACjC;MACApE,QAAQ,IAAIA,QAAQ,CAACuE,CAAC,CAAC;IACzB;EACF,CAAC;EAEDC,UAAU,EAAEA,CAACC,GAAW,EAAEC,KAAa,EAAE1E,QAAmB,KAAK;IAC/DoB,YAAY,CAAC4C,eAAe,CAAC,CAACS,GAAG,CAAC,EAAE,CAACC,KAAK,CAAC,EAAE1E,QAAQ,CAAC;EACxD,CAAC;EAED2E,UAAU,EAAE,MAAO3E,QAAkB,IAAK;IACxC,IAAI;MACF,IAAI,CAAC1B,YAAY,EAAE;QACjB;MACF;MACA,IAAIA,YAAY,CAACS,IAAI,KAAKsB,mBAAS,CAACC,cAAc,EAAE;QAClD,MAAM+B,8BAAc,CAACuC,oBAAoB,CAAC,CAAC;MAC7C;MACA,MAAMlG,IAAI,GAAG,MAAML,EAAE,CAACoC,IAAI,CAACiB,YAAY,CAAC,CAAC;MACzCzB,OAAO,CAACC,GAAG,CAAC,kBAAkB,CAAC;MAC/B,MAAMxB,IAAI,CAACmG,OAAO,CAAC,CAAC;MACpB5E,OAAO,CAACC,GAAG,CAAC,qBAAqB,CAAC;MAClCF,QAAQ,CAAC,CAAC;IACZ,CAAC,CAAC,OAAOZ,KAAK,EAAE;MACda,OAAO,CAACb,KAAK,CAACA,KAAK,CAAC;MACpBY,QAAQ,CAACZ,KAAK,CAAC;IACjB;EACF,CAAC;EAED0F,aAAa,EAAEA,CAAA,KAAM;IACnB,OAAOvF,kBAAQ,CAACwF,QAAQ,CAACtF,sBAAY,CAACC,aAAa,CAAC;EACtD,CAAC;EAEDsF,iBAAiB,EAAGhF,QAAkB,IAAK;IACzCmD,gCAAe,CAACC,OAAO,CACrB7E,QAAQ,EACRC,YAAY,EACZyG,KAAA,IAA4C;MAAA,IAA3C;QAAEnG;MAAmC,CAAC,GAAAmG,KAAA;MACrCjF,QAAQ,CAAC;QAAElB;MAAW,CAAC,CAAC;IAC1B,CACF,CAAC;EACH;AACF,CAAC"}
1
+ {"version":3,"names":["_reactNative","require","_reactNativeDeviceInfo","_AppleLoginUtil","_Notification","_PrefData","_WeChatLoginUtil","_constant","AV","CURRENT_USER","WeiXinId","WeiXinSecret","AVUserToLocalUser","user","nickname","get","email","headimgurl","type","AVUser","onLoginFinish","_ref","isAuto","error","code","data","PrefData","setValue","BuildInPrefs","LastLoginType","Notification","postNotification","doLeanCloudLogin","authData","userData","callback","console","log","loginType","loginTypeNum","LoginType","LoginTypeApple","LoginTypeWeChat","LoginTypeVisitor","User","loginWithAuthData","failOnNotExist","then","newUser","setEmail","set","Platform","OS","isNew","error2","LoginManager","exports","setup","WeChatId","WeChatSecret","autoLogin","currentAsync","login","devAuthData","arguments","length","undefined","loadingCallback","cuurentUser","__DEV__","_ref2","identityToken","AppleLoginUtil","requestAppleUserForLogin","userId","openid","access_token","expires_in","fetchAndUpdateCredentialState","_ref3","result","LoginState","AUTHORIZED","_ref4","loginUser","error3","WeChatLoginUtil","doLogin","_ref5","unionid","_ref6","uniqueId","getUniqueIdSync","_ref7","logOut","isLogin","currentUser","isVisitor","_LoginManager$current","batchUpdateUser","keys","values","oldValues","i","push","save","e","updateUser","key","value","deleteUser","requestDeleteAccount","destroy","lastLoginType","getValue","fetchWeChatAvatar","_ref8"],"sources":["LoginManager.ts"],"sourcesContent":["import { User } from 'leancloud-storage';\nimport { Platform } from 'react-native';\nimport { getUniqueIdSync } from 'react-native-device-info';\nimport { AppleLoginUtil } from './AppleLoginUtil';\nimport { Notification } from './Notification';\nimport { BuildInPrefs, PrefData } from './PrefData';\nimport { WeChatLoginUtil } from './WeChatLoginUtil';\nimport {\n LoginAuthDataType,\n LoginState,\n LoginType,\n LoginUserDataType,\n UserType,\n} from './constant';\n\nconst AV = require('leancloud-storage');\n\nlet CURRENT_USER: UserType | null = null;\n\nlet WeiXinId = '';\nlet WeiXinSecret = '';\n\nconst AVUserToLocalUser = (user: User) => {\n return {\n nickname: user.get('nickname'),\n email: user.get('email'),\n headimgurl: user.get('headimgurl'),\n type: user.get('type'),\n AVUser: user,\n };\n};\n\nconst onLoginFinish = ({\n isAuto = false,\n user,\n error,\n code,\n}: {\n isAuto?: boolean;\n user?: UserType;\n error?: string | object;\n code?: number;\n}) => {\n const data = { isAuto, user, error, code };\n if (user) {\n PrefData.setValue(BuildInPrefs.LastLoginType, user.type);\n }\n Notification.postNotification('onLogin', data);\n};\n\nconst doLeanCloudLogin = async (\n authData: LoginAuthDataType,\n userData: LoginUserDataType | undefined,\n callback: ({ user, error }: { user?: UserType; error?: any }) => void\n) => {\n console.log('Lean Cloud 开始登录', userData);\n // loginType 空说明是老用户\n const loginType = authData.loginType ? authData.loginType : 'apple';\n let loginTypeNum = LoginType.LoginTypeApple;\n if (loginType === 'wechat') {\n loginTypeNum = LoginType.LoginTypeWeChat;\n } else if (loginType === 'visitor') {\n loginTypeNum = LoginType.LoginTypeVisitor;\n }\n\n AV.User.loginWithAuthData(authData, loginType, { failOnNotExist: true }).then(\n (user: User) => {\n // 登录成功\n console.log('Lean Cloud 登录成功');\n // 每次重新鉴权都更新头像和昵称,避免微信头像过期\n // if (userData?.nickname) {\n // user.set('nickname', userData?.nickname);\n // }\n // if (userData?.headimgurl) {\n // user.set('headimgurl', userData?.headimgurl);\n // }\n // user.save();\n CURRENT_USER = AVUserToLocalUser(user);\n callback({ user: CURRENT_USER });\n },\n (error: any) => {\n if (error.code === 211) {\n // 创建用户,并补充资料\n console.log('创建用户,并补充资料');\n const newUser = new AV.User();\n const email = userData?.email;\n if (email) {\n newUser.setEmail(email);\n }\n newUser.set('nickname', userData?.nickname);\n newUser.set('headimgurl', userData?.headimgurl);\n newUser.set('type', loginTypeNum);\n if (Platform.OS === 'android') {\n newUser.set('source', 2);\n }\n newUser.set('toLDB', 1);\n newUser.loginWithAuthData(authData, loginType).then(\n (user: User) => {\n // 登录成功\n console.log('Lean Cloud 注册成功');\n CURRENT_USER = AVUserToLocalUser(user);\n CURRENT_USER.isNew = true;\n // 标记为当前用户是在本机注册的 TODO\n // PrefData.setValue(Prefs.RegisterInThisDevice, true);\n callback({ user: CURRENT_USER });\n },\n (error2: any) => {\n // 登录失败\n console.log('Lean Cloud 登录失败', error2);\n callback({ error: error2 });\n }\n );\n } else {\n // 登录失败\n console.log('Lean Cloud 登录失败', error);\n callback({ error: error });\n }\n }\n );\n};\n\nexport const LoginManager = {\n setup: (WeChatId: string, WeChatSecret: string) => {\n WeiXinId = WeChatId;\n WeiXinSecret = WeChatSecret;\n },\n\n // 自动根据已有的 User 信息进行登录鉴权,如果 User 为空则失败\n autoLogin: async () => {\n const user = await AV.User.currentAsync();\n if (user) {\n console.log('自动登录成功');\n CURRENT_USER = AVUserToLocalUser(user);\n onLoginFinish({ isAuto: true, user: CURRENT_USER });\n } else {\n onLoginFinish({ isAuto: true, error: 'User Not Login Yet' });\n }\n },\n\n // 如果 User 为空,则唤起苹果登录框;如果 User 不为空,直接鉴权\n login: async (\n type: LoginType,\n devAuthData: LoginAuthDataType | null = null,\n loadingCallback: Function\n ) => {\n // 如果之前已经鉴权过,则直接使用上次鉴权的 AuthData\n const cuurentUser = await AV.User.currentAsync();\n if (cuurentUser) {\n await LoginManager.autoLogin();\n return;\n }\n\n // 改为注入 delegate\n if (__DEV__) {\n if (devAuthData) {\n doLeanCloudLogin(devAuthData, undefined, ({ user, error }) => {\n onLoginFinish({ user, error });\n });\n return;\n }\n }\n\n if (type === LoginType.LoginTypeApple) {\n const { user, email, identityToken, error, code } =\n await AppleLoginUtil.requestAppleUserForLogin();\n if (!user || error) {\n onLoginFinish({ error, code });\n return;\n } else {\n let userData = {\n userId: user,\n email: email,\n authData: {\n openid: user,\n access_token: identityToken,\n expires_in: 99999999,\n loginType: 'apple',\n },\n };\n\n AppleLoginUtil.fetchAndUpdateCredentialState(\n userData.userId,\n ({ result, error: error2 }: { result: number; error: any }) => {\n if (error || result !== LoginState.AUTHORIZED) {\n onLoginFinish({ error: error2 });\n } else {\n loadingCallback && loadingCallback();\n doLeanCloudLogin(\n userData.authData,\n userData,\n ({ user: loginUser, error: error3 }) => {\n onLoginFinish({ user: loginUser, error: error3 });\n }\n );\n }\n }\n );\n }\n } else if (type === LoginType.LoginTypeWeChat) {\n WeChatLoginUtil.doLogin(\n WeiXinId,\n WeiXinSecret,\n ({\n nickname,\n headimgurl,\n openid,\n unionid,\n error,\n }: {\n nickname: string;\n headimgurl: string;\n openid: string;\n unionid: string;\n error: any;\n }) => {\n if (error) {\n onLoginFinish({ error });\n } else {\n let userData = {\n nickname: nickname,\n headimgurl: headimgurl,\n authData: {\n openid: openid,\n unionid: unionid,\n access_token: openid,\n expires_in: 99999999,\n loginType: 'wechat',\n },\n };\n loadingCallback && loadingCallback();\n doLeanCloudLogin(\n userData.authData,\n userData,\n ({ user, error: error2 }) => {\n onLoginFinish({ user, error: error2 });\n }\n );\n }\n }\n );\n } else if (type === LoginType.LoginTypeVisitor) {\n const uniqueId = getUniqueIdSync();\n console.log(uniqueId);\n let userData = {\n nickname: 'Visitor',\n authData: {\n openid: uniqueId,\n access_token: uniqueId,\n expires_in: 99999999,\n loginType: 'visitor',\n },\n };\n loadingCallback && loadingCallback();\n doLeanCloudLogin(userData.authData, userData, ({ user, error }) => {\n onLoginFinish({ user, error });\n });\n } else {\n onLoginFinish({ error: 'Unknown Login Type' });\n }\n },\n\n logOut: (callback: Function) => {\n console.log('onLogout');\n AV.User.logOut();\n CURRENT_USER = null;\n callback && callback();\n Notification.postNotification('onLogout');\n },\n\n isLogin: () => {\n return LoginManager.currentUser() != null;\n },\n\n isVisitor: () => {\n return (\n LoginManager.isLogin() &&\n LoginManager.currentUser()?.type === LoginType.LoginTypeVisitor\n );\n },\n\n currentUser: () => {\n // console.log('current user is ', CURRENT_USER);\n return CURRENT_USER;\n },\n\n batchUpdateUser: async (\n keys: string[],\n values: (string | Date)[],\n callback?: Function\n ) => {\n console.log('Batch Update User Begin: ' + keys + ' ' + values);\n const user = await AV.User.currentAsync();\n if (!user) {\n return;\n }\n const oldValues = [];\n for (let i = 0; i < keys.length; i++) {\n oldValues.push(user.get(keys[i]));\n user.set(keys[i], values[i]);\n }\n try {\n const newUser = await user.save();\n CURRENT_USER = AVUserToLocalUser(newUser);\n console.log('Batch Update User End', user);\n callback && callback();\n } catch (e) {\n console.error(e);\n for (let i = 0; i < keys.length; i++) {\n user.set(keys[i], oldValues[i]);\n }\n callback && callback(e);\n }\n },\n\n updateUser: (key: string, value: string | Date, callback?: Function) => {\n LoginManager.batchUpdateUser([key], [value], callback);\n },\n\n deleteUser: async (callback: Function) => {\n try {\n if (!CURRENT_USER) {\n return;\n }\n if (CURRENT_USER.type === LoginType.LoginTypeApple) {\n await AppleLoginUtil.requestDeleteAccount();\n }\n const user = await AV.User.currentAsync();\n console.log('get user success');\n await user.destroy();\n console.log('delete user success');\n callback();\n } catch (error) {\n console.error(error);\n callback(error);\n }\n },\n\n lastLoginType: () => {\n return PrefData.getValue(BuildInPrefs.LastLoginType);\n },\n\n fetchWeChatAvatar: (callback: Function) => {\n WeChatLoginUtil.doLogin(\n WeiXinId,\n WeiXinSecret,\n ({ headimgurl }: { headimgurl: string }) => {\n callback({ headimgurl });\n }\n );\n },\n};\n"],"mappings":"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"}
@@ -35,6 +35,11 @@ const BuildInPrefs = exports.BuildInPrefs = {
35
35
  key: 'Message_Key5',
36
36
  type: 'array',
37
37
  default: []
38
+ },
39
+ ClearBadge: {
40
+ key: 'BADGE_DATA_KEY_20230307',
41
+ type: 'array',
42
+ default: []
38
43
  }
39
44
  };
40
45
  const getPrefByKey = (Prefs, key) => {
@@ -1 +1 @@
1
- {"version":3,"names":["_asyncStorage","_interopRequireDefault","require","obj","__esModule","default","EventEmitter","eventEmitter","isDataLoaded","_PrefDatas","BuildInPrefs","exports","LastLoginType","key","type","DevVip","DevDanger","FrequenceConfig","Messages","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 DevVip: {\n key: 'DevVip_Key',\n type: 'int',\n default: 0,\n },\n DevDanger: {\n key: 'DevDanger_Key',\n type: 'int',\n default: 0,\n },\n FrequenceConfig: {\n key: 'FrequenceConfig_Key',\n type: 'object',\n default: {},\n },\n Messages: {\n key: 'Message_Key5',\n type: 'array',\n default: [],\n },\n};\n\nconst getPrefByKey = (Prefs: PrefsType, key: string) => {\n for (const keyOfPref in Prefs) {\n if (Prefs[keyOfPref].key === key) {\n return Prefs[keyOfPref];\n }\n }\n return null;\n};\n\nexport const PrefData = {\n load: async (initPrefs: PrefsType) => {\n console.log('读取配置');\n let keys = [];\n const Prefs = { ...BuildInPrefs, ...initPrefs };\n for (const pref in Prefs) {\n keys.push(Prefs[pref].key);\n }\n const values = await getMultiDatas(keys);\n\n for (let i = 0; i < values.length; i++) {\n const key = values[i][0];\n const value = values[i][1];\n const pref = getPrefByKey(Prefs, key);\n if (!pref) {\n continue;\n }\n // console.log(key, value, pref);\n if (!value) {\n _PrefDatas[key] = pref.default;\n } else if (pref.type === 'object' || pref.type === 'array') {\n _PrefDatas[key] = JSON.parse(value);\n } else if (pref.type === 'int') {\n _PrefDatas[key] = parseInt(value, 10);\n } else if (pref.type === 'bool') {\n _PrefDatas[key] = JSON.parse(value);\n } else {\n _PrefDatas[key] = value;\n }\n // console.log(\n // '配置读取结果:',\n // key,\n // _PrefDatas[key],\n // typeof _PrefDatas[key],\n // );\n }\n\n eventEmitter.emit('load');\n isDataLoaded = true;\n },\n\n getValue: (pref: PrefType) => {\n return _PrefDatas[pref.key];\n },\n\n setValue: async (pref: PrefType, value: any) => {\n const key = pref.key;\n let finalValue: string;\n _PrefDatas[key] = value;\n if (pref.type === 'object' || pref.type === 'array') {\n finalValue = JSON.stringify(value);\n } else if (pref.type === 'int') {\n finalValue = value.toString();\n } else if (pref.type === 'bool') {\n finalValue = value.toString();\n } else {\n finalValue = value;\n }\n\n await storeData(key, finalValue);\n },\n\n addListener: (callback: Function) => {\n if (isDataLoaded) {\n callback && callback();\n return;\n }\n eventEmitter.on('load', callback);\n },\n};\n\nconst storeData = async (key: string, value: string) => {\n try {\n if (typeof value !== 'string') {\n console.error('只接受 String');\n }\n // console.log('save to storage ' + value);\n await AsyncStorage.setItem(key, value);\n } catch (e) {\n console.error(e);\n }\n};\n\nconst getMultiDatas = async (keys: string[]) => {\n try {\n const values = await AsyncStorage.multiGet(keys);\n // console.log('read from storage ' + values);\n return values;\n } catch (e) {\n console.error(e);\n return [];\n }\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["_asyncStorage","_interopRequireDefault","require","obj","__esModule","default","EventEmitter","eventEmitter","isDataLoaded","_PrefDatas","BuildInPrefs","exports","LastLoginType","key","type","DevVip","DevDanger","FrequenceConfig","Messages","ClearBadge","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 DevVip: {\n key: 'DevVip_Key',\n type: 'int',\n default: 0,\n },\n DevDanger: {\n key: 'DevDanger_Key',\n type: 'int',\n default: 0,\n },\n FrequenceConfig: {\n key: 'FrequenceConfig_Key',\n type: 'object',\n default: {},\n },\n Messages: {\n key: 'Message_Key5',\n type: 'array',\n default: [],\n },\n ClearBadge: {\n key: 'BADGE_DATA_KEY_20230307',\n type: 'array',\n default: [],\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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"}
@@ -6,6 +6,18 @@ Object.defineProperty(exports, "__esModule", {
6
6
  var _exportNames = {};
7
7
  exports.default = void 0;
8
8
  var _reactNative = require("react-native");
9
+ var _AppBadgeContext = require("./AppBadgeContext");
10
+ Object.keys(_AppBadgeContext).forEach(function (key) {
11
+ if (key === "default" || key === "__esModule") return;
12
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
13
+ if (key in exports && exports[key] === _AppBadgeContext[key]) return;
14
+ Object.defineProperty(exports, key, {
15
+ enumerable: true,
16
+ get: function () {
17
+ return _AppBadgeContext[key];
18
+ }
19
+ });
20
+ });
9
21
  var _AppleLoginUtil = require("./AppleLoginUtil");
10
22
  Object.keys(_AppleLoginUtil).forEach(function (key) {
11
23
  if (key === "default" || key === "__esModule") return;
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","_AppleLoginUtil","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_ConfigDataModel","_DevConfig","_Frequence","_LoginManager","_MessageModel","_Notification","_PrefData","_ReportUtil","_SentryManager","_SyncPrefData","_Tool","_VipAndroidManager","_VipManager","_WeChatLoginUtil","_constant","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 './ConfigDataModel';\nexport * from './DevConfig';\nexport * from './Frequence';\nexport * from './LoginManager';\nexport * from './MessageModel';\nexport * from './Notification';\nexport * from './PrefData';\nexport * from './ReportUtil';\nexport * from './SentryManager';\nexport * from './SyncPrefData';\nexport * from './Tool';\nexport * from './VipAndroidManager';\nexport * from './VipManager';\nexport * from './WeChatLoginUtil';\nexport * from './constant';\n"],"mappings":"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"}
1
+ {"version":3,"names":["_reactNative","require","_AppBadgeContext","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_AppleLoginUtil","_ConfigDataModel","_DevConfig","_Frequence","_LoginManager","_MessageModel","_Notification","_PrefData","_ReportUtil","_SentryManager","_SyncPrefData","_Tool","_VipAndroidManager","_VipManager","_WeChatLoginUtil","_constant","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 './AppBadgeContext';\nexport * from './AppleLoginUtil';\nexport * from './ConfigDataModel';\nexport * from './DevConfig';\nexport * from './Frequence';\nexport * from './LoginManager';\nexport * from './MessageModel';\nexport * from './Notification';\nexport * from './PrefData';\nexport * from './ReportUtil';\nexport * from './SentryManager';\nexport * from './SyncPrefData';\nexport * from './Tool';\nexport * from './VipAndroidManager';\nexport * from './VipManager';\nexport * from './WeChatLoginUtil';\nexport * from './constant';\n"],"mappings":"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"}
@@ -0,0 +1,62 @@
1
+ import React from 'react';
2
+ import { BuildInPrefs, PrefData } from './PrefData';
3
+ export const AppBadgeContext = /*#__PURE__*/React.createContext({
4
+ appBadgeValue: [],
5
+ setAppBadgeValue: () => {}
6
+ });
7
+ export const AppBadgeHelper = {
8
+ initBadge: (context, badges) => {
9
+ PrefData.addListener(() => {
10
+ const clearedBadges = PrefData.getValue(BuildInPrefs.ClearBadge);
11
+ // 收集 Key 值
12
+ let allBadges = [];
13
+ const keys = Object.keys(badges);
14
+ for (const key of keys) {
15
+ const badge = badges[key];
16
+ // 动态占位的 key 值不存在,不应该被添加
17
+ if (badge.key) {
18
+ allBadges.push(badge.key);
19
+ }
20
+ }
21
+ console.log('allBadges', allBadges);
22
+
23
+ // 内存更新
24
+ AppBadgeHelper._calculateValidBadge(context, allBadges, clearedBadges);
25
+ });
26
+ },
27
+ // 最新红点 = appBadgs - clearedBadges
28
+ _calculateValidBadge: (context, allBadges, clearedBadges) => {
29
+ let result = [];
30
+ for (let i = 0; i < allBadges.length; ++i) {
31
+ const badge = allBadges[i];
32
+ // 展示过一次的就不再展示
33
+ if (!clearedBadges.includes(badge)) {
34
+ result.push(badge);
35
+ }
36
+ }
37
+ console.log('current badge', result);
38
+ context.setAppBadgeValue(result);
39
+ },
40
+ clearBadge: (context, scene) => {
41
+ // 内存判断
42
+ if (!AppBadgeHelper.hasBadge(context, scene)) {
43
+ return;
44
+ }
45
+
46
+ // 内存更新
47
+ AppBadgeHelper._calculateValidBadge(context, [...context.appBadgeValue],
48
+ // 必须深复制一下,不然不会引起 state 变化
49
+ [scene.key]);
50
+
51
+ // 硬盘更新
52
+ let clearBadges = PrefData.getValue(BuildInPrefs.ClearBadge);
53
+ if (!clearBadges.includes(scene.key)) {
54
+ clearBadges.push(scene.key);
55
+ PrefData.setValue(BuildInPrefs.ClearBadge, clearBadges);
56
+ }
57
+ },
58
+ hasBadge: (context, scene) => {
59
+ return context.appBadgeValue.includes(scene === null || scene === void 0 ? void 0 : scene.key) ? true : null;
60
+ }
61
+ };
62
+ //# sourceMappingURL=AppBadgeContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","BuildInPrefs","PrefData","AppBadgeContext","createContext","appBadgeValue","setAppBadgeValue","AppBadgeHelper","initBadge","context","badges","addListener","clearedBadges","getValue","ClearBadge","allBadges","keys","Object","key","badge","push","console","log","_calculateValidBadge","result","i","length","includes","clearBadge","scene","hasBadge","clearBadges","setValue"],"sources":["AppBadgeContext.ts"],"sourcesContent":["import React from 'react';\nimport { BuildInPrefs, PrefData } from './PrefData';\n\ninterface AppBadgeContextType {\n appBadgeValue: string[];\n setAppBadgeValue: Function;\n}\nexport const AppBadgeContext = React.createContext<AppBadgeContextType>({\n appBadgeValue: [],\n setAppBadgeValue: () => {},\n});\n\nexport interface BadgeType {\n key: string;\n}\n\nexport const AppBadgeHelper = {\n initBadge: (\n context: AppBadgeContextType,\n badges: { [key: string]: BadgeType }\n ) => {\n PrefData.addListener(() => {\n const clearedBadges = PrefData.getValue(BuildInPrefs.ClearBadge);\n // 收集 Key 值\n let allBadges = [];\n const keys = Object.keys(badges);\n for (const key of keys) {\n const badge = badges[key];\n // 动态占位的 key 值不存在,不应该被添加\n if (badge.key) {\n allBadges.push(badge.key);\n }\n }\n console.log('allBadges', allBadges);\n\n // 内存更新\n AppBadgeHelper._calculateValidBadge(context, allBadges, clearedBadges);\n });\n },\n\n // 最新红点 = appBadgs - clearedBadges\n _calculateValidBadge: (\n context: AppBadgeContextType,\n allBadges: string[],\n clearedBadges: string[]\n ) => {\n let result = [];\n for (let i = 0; i < allBadges.length; ++i) {\n const badge = allBadges[i];\n // 展示过一次的就不再展示\n if (!clearedBadges.includes(badge)) {\n result.push(badge);\n }\n }\n console.log('current badge', result);\n context.setAppBadgeValue(result);\n },\n\n clearBadge: (context: AppBadgeContextType, scene: BadgeType) => {\n // 内存判断\n if (!AppBadgeHelper.hasBadge(context, scene)) {\n return;\n }\n\n // 内存更新\n AppBadgeHelper._calculateValidBadge(\n context,\n [...context.appBadgeValue], // 必须深复制一下,不然不会引起 state 变化\n [scene.key]\n );\n\n // 硬盘更新\n let clearBadges = PrefData.getValue(BuildInPrefs.ClearBadge);\n if (!clearBadges.includes(scene.key)) {\n clearBadges.push(scene.key);\n PrefData.setValue(BuildInPrefs.ClearBadge, clearBadges);\n }\n },\n\n hasBadge: (context: AppBadgeContextType, scene: BadgeType) => {\n return context.appBadgeValue.includes(scene?.key) ? true : null;\n },\n};\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,YAAY,EAAEC,QAAQ,QAAQ,YAAY;AAMnD,OAAO,MAAMC,eAAe,gBAAGH,KAAK,CAACI,aAAa,CAAsB;EACtEC,aAAa,EAAE,EAAE;EACjBC,gBAAgB,EAAEA,CAAA,KAAM,CAAC;AAC3B,CAAC,CAAC;AAMF,OAAO,MAAMC,cAAc,GAAG;EAC5BC,SAAS,EAAEA,CACTC,OAA4B,EAC5BC,MAAoC,KACjC;IACHR,QAAQ,CAACS,WAAW,CAAC,MAAM;MACzB,MAAMC,aAAa,GAAGV,QAAQ,CAACW,QAAQ,CAACZ,YAAY,CAACa,UAAU,CAAC;MAChE;MACA,IAAIC,SAAS,GAAG,EAAE;MAClB,MAAMC,IAAI,GAAGC,MAAM,CAACD,IAAI,CAACN,MAAM,CAAC;MAChC,KAAK,MAAMQ,GAAG,IAAIF,IAAI,EAAE;QACtB,MAAMG,KAAK,GAAGT,MAAM,CAACQ,GAAG,CAAC;QACzB;QACA,IAAIC,KAAK,CAACD,GAAG,EAAE;UACbH,SAAS,CAACK,IAAI,CAACD,KAAK,CAACD,GAAG,CAAC;QAC3B;MACF;MACAG,OAAO,CAACC,GAAG,CAAC,WAAW,EAAEP,SAAS,CAAC;;MAEnC;MACAR,cAAc,CAACgB,oBAAoB,CAACd,OAAO,EAAEM,SAAS,EAAEH,aAAa,CAAC;IACxE,CAAC,CAAC;EACJ,CAAC;EAED;EACAW,oBAAoB,EAAEA,CACpBd,OAA4B,EAC5BM,SAAmB,EACnBH,aAAuB,KACpB;IACH,IAAIY,MAAM,GAAG,EAAE;IACf,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGV,SAAS,CAACW,MAAM,EAAE,EAAED,CAAC,EAAE;MACzC,MAAMN,KAAK,GAAGJ,SAAS,CAACU,CAAC,CAAC;MAC1B;MACA,IAAI,CAACb,aAAa,CAACe,QAAQ,CAACR,KAAK,CAAC,EAAE;QAClCK,MAAM,CAACJ,IAAI,CAACD,KAAK,CAAC;MACpB;IACF;IACAE,OAAO,CAACC,GAAG,CAAC,eAAe,EAAEE,MAAM,CAAC;IACpCf,OAAO,CAACH,gBAAgB,CAACkB,MAAM,CAAC;EAClC,CAAC;EAEDI,UAAU,EAAEA,CAACnB,OAA4B,EAAEoB,KAAgB,KAAK;IAC9D;IACA,IAAI,CAACtB,cAAc,CAACuB,QAAQ,CAACrB,OAAO,EAAEoB,KAAK,CAAC,EAAE;MAC5C;IACF;;IAEA;IACAtB,cAAc,CAACgB,oBAAoB,CACjCd,OAAO,EACP,CAAC,GAAGA,OAAO,CAACJ,aAAa,CAAC;IAAE;IAC5B,CAACwB,KAAK,CAACX,GAAG,CACZ,CAAC;;IAED;IACA,IAAIa,WAAW,GAAG7B,QAAQ,CAACW,QAAQ,CAACZ,YAAY,CAACa,UAAU,CAAC;IAC5D,IAAI,CAACiB,WAAW,CAACJ,QAAQ,CAACE,KAAK,CAACX,GAAG,CAAC,EAAE;MACpCa,WAAW,CAACX,IAAI,CAACS,KAAK,CAACX,GAAG,CAAC;MAC3BhB,QAAQ,CAAC8B,QAAQ,CAAC/B,YAAY,CAACa,UAAU,EAAEiB,WAAW,CAAC;IACzD;EACF,CAAC;EAEDD,QAAQ,EAAEA,CAACrB,OAA4B,EAAEoB,KAAgB,KAAK;IAC5D,OAAOpB,OAAO,CAACJ,aAAa,CAACsB,QAAQ,CAACE,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEX,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI;EACjE;AACF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"names":["Platform","getUniqueIdSync","AppleLoginUtil","Notification","BuildInPrefs","PrefData","WeChatLoginUtil","LoginState","LoginType","AV","require","CURRENT_USER","WeiXinId","WeiXinSecret","AVUserToLocalUser","user","nickname","get","email","headimgurl","type","AVUser","onLoginFinish","_ref","isAuto","error","code","data","setValue","LastLoginType","postNotification","doLeanCloudLogin","authData","userData","callback","console","log","loginType","loginTypeNum","LoginTypeApple","LoginTypeWeChat","LoginTypeVisitor","User","loginWithAuthData","failOnNotExist","then","newUser","setEmail","set","OS","isNew","error2","LoginManager","setup","WeChatId","WeChatSecret","autoLogin","currentAsync","login","devAuthData","arguments","length","undefined","loadingCallback","cuurentUser","__DEV__","_ref2","identityToken","requestAppleUserForLogin","userId","openid","access_token","expires_in","fetchAndUpdateCredentialState","_ref3","result","AUTHORIZED","_ref4","loginUser","error3","doLogin","_ref5","unionid","_ref6","uniqueId","_ref7","logOut","isLogin","currentUser","isVisitor","_LoginManager$current","batchUpdateUser","keys","values","oldValues","i","push","save","e","updateUser","key","value","deleteUser","requestDeleteAccount","destroy","lastLoginType","getValue","fetchWeChatAvatar","_ref8"],"sources":["LoginManager.ts"],"sourcesContent":["import { User } from 'leancloud-storage';\nimport { Platform } from 'react-native';\nimport { getUniqueIdSync } from 'react-native-device-info';\nimport { AppleLoginUtil } from './AppleLoginUtil';\nimport { Notification } from './Notification';\nimport { BuildInPrefs, PrefData } from './PrefData';\nimport { WeChatLoginUtil } from './WeChatLoginUtil';\nimport {\n LoginAuthDataType,\n LoginState,\n LoginType,\n LoginUserDataType,\n UserType,\n} from './constant';\n\nconst AV = require('leancloud-storage');\n\nlet CURRENT_USER: UserType | null = null;\n\nlet WeiXinId = '';\nlet WeiXinSecret = '';\n\nconst AVUserToLocalUser = (user: User) => {\n return {\n nickname: user.get('nickname'),\n email: user.get('email'),\n headimgurl: user.get('headimgurl'),\n type: user.get('type'),\n AVUser: user,\n };\n};\n\nconst onLoginFinish = ({\n isAuto = false,\n user,\n error,\n code,\n}: {\n isAuto?: boolean;\n user?: UserType;\n error?: string | object;\n code?: number;\n}) => {\n const data = { isAuto, user, error, code };\n if (user) {\n PrefData.setValue(BuildInPrefs.LastLoginType, user.type);\n }\n Notification.postNotification('onLogin', data);\n};\n\nconst doLeanCloudLogin = async (\n authData: LoginAuthDataType,\n userData: LoginUserDataType | undefined,\n callback: ({ user, error }: { user?: UserType; error?: any }) => void\n) => {\n console.log('Lean Cloud 开始登录', userData);\n // loginType 空说明是老用户\n const loginType = authData.loginType ? authData.loginType : 'apple';\n let loginTypeNum = LoginType.LoginTypeApple;\n if (loginType === 'wechat') {\n loginTypeNum = LoginType.LoginTypeWeChat;\n } else if (loginType === 'visitor') {\n loginTypeNum = LoginType.LoginTypeVisitor;\n }\n\n AV.User.loginWithAuthData(authData, loginType, { failOnNotExist: true }).then(\n (user: User) => {\n // 登录成功\n console.log('Lean Cloud 登录成功');\n // 每次重新鉴权都更新头像和昵称,避免微信头像过期\n // if (userData?.nickname) {\n // user.set('nickname', userData?.nickname);\n // }\n // if (userData?.headimgurl) {\n // user.set('headimgurl', userData?.headimgurl);\n // }\n // user.save();\n CURRENT_USER = AVUserToLocalUser(user);\n callback({ user: CURRENT_USER });\n },\n (error: any) => {\n if (error.code === 211) {\n // 创建用户,并补充资料\n console.log('创建用户,并补充资料');\n const newUser = new AV.User();\n const email = userData?.email;\n if (email) {\n newUser.setEmail(email);\n }\n newUser.set('nickname', userData?.nickname);\n newUser.set('headimgurl', userData?.headimgurl);\n newUser.set('type', loginTypeNum);\n if (Platform.OS === 'android') {\n newUser.set('source', 2);\n }\n newUser.set('toLDB', 1);\n newUser.loginWithAuthData(authData, loginType).then(\n (user: User) => {\n // 登录成功\n console.log('Lean Cloud 注册成功');\n CURRENT_USER = AVUserToLocalUser(user);\n CURRENT_USER.isNew = true;\n // 标记为当前用户是在本机注册的 TODO\n // PrefData.setValue(Prefs.RegisterInThisDevice, true);\n callback({ user: CURRENT_USER });\n },\n (error2: any) => {\n // 登录失败\n console.log('Lean Cloud 登录失败', error2);\n callback({ error: error2 });\n }\n );\n } else {\n // 登录失败\n console.log('Lean Cloud 登录失败', error);\n callback({ error: error });\n }\n }\n );\n};\n\nexport const LoginManager = {\n setup: (WeChatId: string, WeChatSecret: string) => {\n WeiXinId = WeChatId;\n WeiXinSecret = WeChatSecret;\n },\n\n // 自动根据已有的 User 信息进行登录鉴权,如果 User 为空则失败\n autoLogin: async () => {\n const user = await AV.User.currentAsync();\n if (user) {\n console.log('自动登录成功');\n CURRENT_USER = AVUserToLocalUser(user);\n onLoginFinish({ isAuto: true, user: CURRENT_USER });\n } else {\n onLoginFinish({ isAuto: true, error: 'User Not Login Yet' });\n }\n },\n\n // 如果 User 为空,则唤起苹果登录框;如果 User 不为空,直接鉴权\n login: async (\n type: LoginType,\n devAuthData: LoginAuthDataType | null = null,\n loadingCallback: Function\n ) => {\n // 如果之前已经鉴权过,则直接使用上次鉴权的 AuthData\n const cuurentUser = await AV.User.currentAsync();\n if (cuurentUser) {\n await LoginManager.autoLogin();\n return;\n }\n\n // 改为注入 delegate\n if (__DEV__) {\n if (devAuthData) {\n doLeanCloudLogin(devAuthData, undefined, ({ user, error }) => {\n onLoginFinish({ user, error });\n });\n return;\n }\n }\n\n if (type === LoginType.LoginTypeApple) {\n const { user, email, identityToken, error, code } =\n await AppleLoginUtil.requestAppleUserForLogin();\n if (!user || error) {\n onLoginFinish({ error, code });\n return;\n } else {\n let userData = {\n userId: user,\n email: email,\n authData: {\n openid: user,\n access_token: identityToken,\n expires_in: 99999999,\n loginType: 'apple',\n },\n };\n\n AppleLoginUtil.fetchAndUpdateCredentialState(\n userData.userId,\n ({ result, error: error2 }: { result: number; error: any }) => {\n if (error || result !== LoginState.AUTHORIZED) {\n onLoginFinish({ error: error2 });\n } else {\n loadingCallback && loadingCallback();\n doLeanCloudLogin(\n userData.authData,\n userData,\n ({ user: loginUser, error: error3 }) => {\n onLoginFinish({ user: loginUser, error: error3 });\n }\n );\n }\n }\n );\n }\n } else if (type === LoginType.LoginTypeWeChat) {\n WeChatLoginUtil.doLogin(\n WeiXinId,\n WeiXinSecret,\n ({\n nickname,\n headimgurl,\n openid,\n unionid,\n error,\n }: {\n nickname: string;\n headimgurl: string;\n openid: string;\n unionid: string;\n error: any;\n }) => {\n if (error) {\n onLoginFinish({ error });\n } else {\n let userData = {\n nickname: nickname,\n headimgurl: headimgurl,\n authData: {\n openid: openid,\n unionid: unionid,\n access_token: openid,\n expires_in: 99999999,\n loginType: 'wechat',\n },\n };\n loadingCallback && loadingCallback();\n doLeanCloudLogin(\n userData.authData,\n userData,\n ({ user, error: error2 }) => {\n onLoginFinish({ user, error: error2 });\n }\n );\n }\n }\n );\n } else if (type === LoginType.LoginTypeVisitor) {\n const uniqueId = getUniqueIdSync();\n console.log(uniqueId);\n let userData = {\n nickname: 'Visitor',\n authData: {\n openid: uniqueId,\n access_token: uniqueId,\n expires_in: 99999999,\n loginType: 'visitor',\n },\n };\n loadingCallback && loadingCallback();\n doLeanCloudLogin(userData.authData, userData, ({ user, error }) => {\n onLoginFinish({ user, error });\n });\n } else {\n onLoginFinish({ error: 'Unknown Login Type' });\n }\n },\n\n logOut: (callback: Function) => {\n console.log('onLogout');\n AV.User.logOut();\n CURRENT_USER = null;\n callback && callback();\n Notification.postNotification('onLogout');\n },\n\n isLogin: () => {\n return LoginManager.currentUser() != null;\n },\n\n isVisitor: () => {\n return (\n LoginManager.isLogin() &&\n LoginManager.currentUser()?.type === LoginType.LoginTypeVisitor\n );\n },\n\n currentUser: () => {\n // console.log('current user is ', CURRENT_USER);\n return CURRENT_USER;\n },\n\n batchUpdateUser: async (\n keys: string[],\n values: (string | Date)[],\n callback?: Function\n ) => {\n console.log('Batch Update User Begin: ' + keys + ' ' + values);\n const user = await AV.User.currentAsync();\n if (!user) {\n return;\n }\n const oldValues = [];\n for (let i = 0; i < keys.length; i++) {\n oldValues.push(user.get(keys[i]));\n user.set(keys[i], values[i]);\n }\n try {\n const newUser = await user.save();\n CURRENT_USER = AVUserToLocalUser(newUser);\n console.log('Batch Update User End', user);\n callback && callback();\n } catch (e) {\n console.error(e);\n for (let i = 0; i < keys.length; i++) {\n user.set(keys[i], oldValues[i]);\n }\n callback && callback(e);\n }\n },\n\n updateUser: (key: string, value: string, callback?: Function) => {\n LoginManager.batchUpdateUser([key], [value], callback);\n },\n\n deleteUser: async (callback: Function) => {\n try {\n if (!CURRENT_USER) {\n return;\n }\n if (CURRENT_USER.type === LoginType.LoginTypeApple) {\n await AppleLoginUtil.requestDeleteAccount();\n }\n const user = await AV.User.currentAsync();\n console.log('get user success');\n await user.destroy();\n console.log('delete user success');\n callback();\n } catch (error) {\n console.error(error);\n callback(error);\n }\n },\n\n lastLoginType: () => {\n return PrefData.getValue(BuildInPrefs.LastLoginType);\n },\n\n fetchWeChatAvatar: (callback: Function) => {\n WeChatLoginUtil.doLogin(\n WeiXinId,\n WeiXinSecret,\n ({ headimgurl }: { headimgurl: string }) => {\n callback({ headimgurl });\n }\n );\n },\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["Platform","getUniqueIdSync","AppleLoginUtil","Notification","BuildInPrefs","PrefData","WeChatLoginUtil","LoginState","LoginType","AV","require","CURRENT_USER","WeiXinId","WeiXinSecret","AVUserToLocalUser","user","nickname","get","email","headimgurl","type","AVUser","onLoginFinish","_ref","isAuto","error","code","data","setValue","LastLoginType","postNotification","doLeanCloudLogin","authData","userData","callback","console","log","loginType","loginTypeNum","LoginTypeApple","LoginTypeWeChat","LoginTypeVisitor","User","loginWithAuthData","failOnNotExist","then","newUser","setEmail","set","OS","isNew","error2","LoginManager","setup","WeChatId","WeChatSecret","autoLogin","currentAsync","login","devAuthData","arguments","length","undefined","loadingCallback","cuurentUser","__DEV__","_ref2","identityToken","requestAppleUserForLogin","userId","openid","access_token","expires_in","fetchAndUpdateCredentialState","_ref3","result","AUTHORIZED","_ref4","loginUser","error3","doLogin","_ref5","unionid","_ref6","uniqueId","_ref7","logOut","isLogin","currentUser","isVisitor","_LoginManager$current","batchUpdateUser","keys","values","oldValues","i","push","save","e","updateUser","key","value","deleteUser","requestDeleteAccount","destroy","lastLoginType","getValue","fetchWeChatAvatar","_ref8"],"sources":["LoginManager.ts"],"sourcesContent":["import { User } from 'leancloud-storage';\nimport { Platform } from 'react-native';\nimport { getUniqueIdSync } from 'react-native-device-info';\nimport { AppleLoginUtil } from './AppleLoginUtil';\nimport { Notification } from './Notification';\nimport { BuildInPrefs, PrefData } from './PrefData';\nimport { WeChatLoginUtil } from './WeChatLoginUtil';\nimport {\n LoginAuthDataType,\n LoginState,\n LoginType,\n LoginUserDataType,\n UserType,\n} from './constant';\n\nconst AV = require('leancloud-storage');\n\nlet CURRENT_USER: UserType | null = null;\n\nlet WeiXinId = '';\nlet WeiXinSecret = '';\n\nconst AVUserToLocalUser = (user: User) => {\n return {\n nickname: user.get('nickname'),\n email: user.get('email'),\n headimgurl: user.get('headimgurl'),\n type: user.get('type'),\n AVUser: user,\n };\n};\n\nconst onLoginFinish = ({\n isAuto = false,\n user,\n error,\n code,\n}: {\n isAuto?: boolean;\n user?: UserType;\n error?: string | object;\n code?: number;\n}) => {\n const data = { isAuto, user, error, code };\n if (user) {\n PrefData.setValue(BuildInPrefs.LastLoginType, user.type);\n }\n Notification.postNotification('onLogin', data);\n};\n\nconst doLeanCloudLogin = async (\n authData: LoginAuthDataType,\n userData: LoginUserDataType | undefined,\n callback: ({ user, error }: { user?: UserType; error?: any }) => void\n) => {\n console.log('Lean Cloud 开始登录', userData);\n // loginType 空说明是老用户\n const loginType = authData.loginType ? authData.loginType : 'apple';\n let loginTypeNum = LoginType.LoginTypeApple;\n if (loginType === 'wechat') {\n loginTypeNum = LoginType.LoginTypeWeChat;\n } else if (loginType === 'visitor') {\n loginTypeNum = LoginType.LoginTypeVisitor;\n }\n\n AV.User.loginWithAuthData(authData, loginType, { failOnNotExist: true }).then(\n (user: User) => {\n // 登录成功\n console.log('Lean Cloud 登录成功');\n // 每次重新鉴权都更新头像和昵称,避免微信头像过期\n // if (userData?.nickname) {\n // user.set('nickname', userData?.nickname);\n // }\n // if (userData?.headimgurl) {\n // user.set('headimgurl', userData?.headimgurl);\n // }\n // user.save();\n CURRENT_USER = AVUserToLocalUser(user);\n callback({ user: CURRENT_USER });\n },\n (error: any) => {\n if (error.code === 211) {\n // 创建用户,并补充资料\n console.log('创建用户,并补充资料');\n const newUser = new AV.User();\n const email = userData?.email;\n if (email) {\n newUser.setEmail(email);\n }\n newUser.set('nickname', userData?.nickname);\n newUser.set('headimgurl', userData?.headimgurl);\n newUser.set('type', loginTypeNum);\n if (Platform.OS === 'android') {\n newUser.set('source', 2);\n }\n newUser.set('toLDB', 1);\n newUser.loginWithAuthData(authData, loginType).then(\n (user: User) => {\n // 登录成功\n console.log('Lean Cloud 注册成功');\n CURRENT_USER = AVUserToLocalUser(user);\n CURRENT_USER.isNew = true;\n // 标记为当前用户是在本机注册的 TODO\n // PrefData.setValue(Prefs.RegisterInThisDevice, true);\n callback({ user: CURRENT_USER });\n },\n (error2: any) => {\n // 登录失败\n console.log('Lean Cloud 登录失败', error2);\n callback({ error: error2 });\n }\n );\n } else {\n // 登录失败\n console.log('Lean Cloud 登录失败', error);\n callback({ error: error });\n }\n }\n );\n};\n\nexport const LoginManager = {\n setup: (WeChatId: string, WeChatSecret: string) => {\n WeiXinId = WeChatId;\n WeiXinSecret = WeChatSecret;\n },\n\n // 自动根据已有的 User 信息进行登录鉴权,如果 User 为空则失败\n autoLogin: async () => {\n const user = await AV.User.currentAsync();\n if (user) {\n console.log('自动登录成功');\n CURRENT_USER = AVUserToLocalUser(user);\n onLoginFinish({ isAuto: true, user: CURRENT_USER });\n } else {\n onLoginFinish({ isAuto: true, error: 'User Not Login Yet' });\n }\n },\n\n // 如果 User 为空,则唤起苹果登录框;如果 User 不为空,直接鉴权\n login: async (\n type: LoginType,\n devAuthData: LoginAuthDataType | null = null,\n loadingCallback: Function\n ) => {\n // 如果之前已经鉴权过,则直接使用上次鉴权的 AuthData\n const cuurentUser = await AV.User.currentAsync();\n if (cuurentUser) {\n await LoginManager.autoLogin();\n return;\n }\n\n // 改为注入 delegate\n if (__DEV__) {\n if (devAuthData) {\n doLeanCloudLogin(devAuthData, undefined, ({ user, error }) => {\n onLoginFinish({ user, error });\n });\n return;\n }\n }\n\n if (type === LoginType.LoginTypeApple) {\n const { user, email, identityToken, error, code } =\n await AppleLoginUtil.requestAppleUserForLogin();\n if (!user || error) {\n onLoginFinish({ error, code });\n return;\n } else {\n let userData = {\n userId: user,\n email: email,\n authData: {\n openid: user,\n access_token: identityToken,\n expires_in: 99999999,\n loginType: 'apple',\n },\n };\n\n AppleLoginUtil.fetchAndUpdateCredentialState(\n userData.userId,\n ({ result, error: error2 }: { result: number; error: any }) => {\n if (error || result !== LoginState.AUTHORIZED) {\n onLoginFinish({ error: error2 });\n } else {\n loadingCallback && loadingCallback();\n doLeanCloudLogin(\n userData.authData,\n userData,\n ({ user: loginUser, error: error3 }) => {\n onLoginFinish({ user: loginUser, error: error3 });\n }\n );\n }\n }\n );\n }\n } else if (type === LoginType.LoginTypeWeChat) {\n WeChatLoginUtil.doLogin(\n WeiXinId,\n WeiXinSecret,\n ({\n nickname,\n headimgurl,\n openid,\n unionid,\n error,\n }: {\n nickname: string;\n headimgurl: string;\n openid: string;\n unionid: string;\n error: any;\n }) => {\n if (error) {\n onLoginFinish({ error });\n } else {\n let userData = {\n nickname: nickname,\n headimgurl: headimgurl,\n authData: {\n openid: openid,\n unionid: unionid,\n access_token: openid,\n expires_in: 99999999,\n loginType: 'wechat',\n },\n };\n loadingCallback && loadingCallback();\n doLeanCloudLogin(\n userData.authData,\n userData,\n ({ user, error: error2 }) => {\n onLoginFinish({ user, error: error2 });\n }\n );\n }\n }\n );\n } else if (type === LoginType.LoginTypeVisitor) {\n const uniqueId = getUniqueIdSync();\n console.log(uniqueId);\n let userData = {\n nickname: 'Visitor',\n authData: {\n openid: uniqueId,\n access_token: uniqueId,\n expires_in: 99999999,\n loginType: 'visitor',\n },\n };\n loadingCallback && loadingCallback();\n doLeanCloudLogin(userData.authData, userData, ({ user, error }) => {\n onLoginFinish({ user, error });\n });\n } else {\n onLoginFinish({ error: 'Unknown Login Type' });\n }\n },\n\n logOut: (callback: Function) => {\n console.log('onLogout');\n AV.User.logOut();\n CURRENT_USER = null;\n callback && callback();\n Notification.postNotification('onLogout');\n },\n\n isLogin: () => {\n return LoginManager.currentUser() != null;\n },\n\n isVisitor: () => {\n return (\n LoginManager.isLogin() &&\n LoginManager.currentUser()?.type === LoginType.LoginTypeVisitor\n );\n },\n\n currentUser: () => {\n // console.log('current user is ', CURRENT_USER);\n return CURRENT_USER;\n },\n\n batchUpdateUser: async (\n keys: string[],\n values: (string | Date)[],\n callback?: Function\n ) => {\n console.log('Batch Update User Begin: ' + keys + ' ' + values);\n const user = await AV.User.currentAsync();\n if (!user) {\n return;\n }\n const oldValues = [];\n for (let i = 0; i < keys.length; i++) {\n oldValues.push(user.get(keys[i]));\n user.set(keys[i], values[i]);\n }\n try {\n const newUser = await user.save();\n CURRENT_USER = AVUserToLocalUser(newUser);\n console.log('Batch Update User End', user);\n callback && callback();\n } catch (e) {\n console.error(e);\n for (let i = 0; i < keys.length; i++) {\n user.set(keys[i], oldValues[i]);\n }\n callback && callback(e);\n }\n },\n\n updateUser: (key: string, value: string | Date, callback?: Function) => {\n LoginManager.batchUpdateUser([key], [value], callback);\n },\n\n deleteUser: async (callback: Function) => {\n try {\n if (!CURRENT_USER) {\n return;\n }\n if (CURRENT_USER.type === LoginType.LoginTypeApple) {\n await AppleLoginUtil.requestDeleteAccount();\n }\n const user = await AV.User.currentAsync();\n console.log('get user success');\n await user.destroy();\n console.log('delete user success');\n callback();\n } catch (error) {\n console.error(error);\n callback(error);\n }\n },\n\n lastLoginType: () => {\n return PrefData.getValue(BuildInPrefs.LastLoginType);\n },\n\n fetchWeChatAvatar: (callback: Function) => {\n WeChatLoginUtil.doLogin(\n WeiXinId,\n WeiXinSecret,\n ({ headimgurl }: { headimgurl: string }) => {\n callback({ headimgurl });\n }\n );\n },\n};\n"],"mappings":"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"}
@@ -28,6 +28,11 @@ export const BuildInPrefs = {
28
28
  key: 'Message_Key5',
29
29
  type: 'array',
30
30
  default: []
31
+ },
32
+ ClearBadge: {
33
+ key: 'BADGE_DATA_KEY_20230307',
34
+ type: 'array',
35
+ default: []
31
36
  }
32
37
  };
33
38
  const getPrefByKey = (Prefs, key) => {
@@ -1 +1 @@
1
- {"version":3,"names":["AsyncStorage","EventEmitter","require","eventEmitter","isDataLoaded","_PrefDatas","BuildInPrefs","LastLoginType","key","type","default","DevVip","DevDanger","FrequenceConfig","Messages","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 DevVip: {\n key: 'DevVip_Key',\n type: 'int',\n default: 0,\n },\n DevDanger: {\n key: 'DevDanger_Key',\n type: 'int',\n default: 0,\n },\n FrequenceConfig: {\n key: 'FrequenceConfig_Key',\n type: 'object',\n default: {},\n },\n Messages: {\n key: 'Message_Key5',\n type: 'array',\n default: [],\n },\n};\n\nconst getPrefByKey = (Prefs: PrefsType, key: string) => {\n for (const keyOfPref in Prefs) {\n if (Prefs[keyOfPref].key === key) {\n return Prefs[keyOfPref];\n }\n }\n return null;\n};\n\nexport const PrefData = {\n load: async (initPrefs: PrefsType) => {\n console.log('读取配置');\n let keys = [];\n const Prefs = { ...BuildInPrefs, ...initPrefs };\n for (const pref in Prefs) {\n keys.push(Prefs[pref].key);\n }\n const values = await getMultiDatas(keys);\n\n for (let i = 0; i < values.length; i++) {\n const key = values[i][0];\n const value = values[i][1];\n const pref = getPrefByKey(Prefs, key);\n if (!pref) {\n continue;\n }\n // console.log(key, value, pref);\n if (!value) {\n _PrefDatas[key] = pref.default;\n } else if (pref.type === 'object' || pref.type === 'array') {\n _PrefDatas[key] = JSON.parse(value);\n } else if (pref.type === 'int') {\n _PrefDatas[key] = parseInt(value, 10);\n } else if (pref.type === 'bool') {\n _PrefDatas[key] = JSON.parse(value);\n } else {\n _PrefDatas[key] = value;\n }\n // console.log(\n // '配置读取结果:',\n // key,\n // _PrefDatas[key],\n // typeof _PrefDatas[key],\n // );\n }\n\n eventEmitter.emit('load');\n isDataLoaded = true;\n },\n\n getValue: (pref: PrefType) => {\n return _PrefDatas[pref.key];\n },\n\n setValue: async (pref: PrefType, value: any) => {\n const key = pref.key;\n let finalValue: string;\n _PrefDatas[key] = value;\n if (pref.type === 'object' || pref.type === 'array') {\n finalValue = JSON.stringify(value);\n } else if (pref.type === 'int') {\n finalValue = value.toString();\n } else if (pref.type === 'bool') {\n finalValue = value.toString();\n } else {\n finalValue = value;\n }\n\n await storeData(key, finalValue);\n },\n\n addListener: (callback: Function) => {\n if (isDataLoaded) {\n callback && callback();\n return;\n }\n eventEmitter.on('load', callback);\n },\n};\n\nconst storeData = async (key: string, value: string) => {\n try {\n if (typeof value !== 'string') {\n console.error('只接受 String');\n }\n // console.log('save to storage ' + value);\n await AsyncStorage.setItem(key, value);\n } catch (e) {\n console.error(e);\n }\n};\n\nconst getMultiDatas = async (keys: string[]) => {\n try {\n const values = await AsyncStorage.multiGet(keys);\n // console.log('read from storage ' + values);\n return values;\n } catch (e) {\n console.error(e);\n return [];\n }\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["AsyncStorage","EventEmitter","require","eventEmitter","isDataLoaded","_PrefDatas","BuildInPrefs","LastLoginType","key","type","default","DevVip","DevDanger","FrequenceConfig","Messages","ClearBadge","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 DevVip: {\n key: 'DevVip_Key',\n type: 'int',\n default: 0,\n },\n DevDanger: {\n key: 'DevDanger_Key',\n type: 'int',\n default: 0,\n },\n FrequenceConfig: {\n key: 'FrequenceConfig_Key',\n type: 'object',\n default: {},\n },\n Messages: {\n key: 'Message_Key5',\n type: 'array',\n default: [],\n },\n ClearBadge: {\n key: 'BADGE_DATA_KEY_20230307',\n type: 'array',\n default: [],\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,6 +3,7 @@ const {
3
3
  ReactNativeToolkit
4
4
  } = NativeModules;
5
5
  export default ReactNativeToolkit;
6
+ export * from './AppBadgeContext';
6
7
  export * from './AppleLoginUtil';
7
8
  export * from './ConfigDataModel';
8
9
  export * from './DevConfig';
@@ -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 './AppleLoginUtil';\nexport * from './ConfigDataModel';\nexport * from './DevConfig';\nexport * from './Frequence';\nexport * from './LoginManager';\nexport * from './MessageModel';\nexport * from './Notification';\nexport * from './PrefData';\nexport * from './ReportUtil';\nexport * from './SentryManager';\nexport * from './SyncPrefData';\nexport * from './Tool';\nexport * from './VipAndroidManager';\nexport * from './VipManager';\nexport * from './WeChatLoginUtil';\nexport * from './constant';\n"],"mappings":"AAAA,SAASA,aAAa,QAAQ,cAAc;AAM5C,MAAM;EAAEC;AAAmB,CAAC,GAAGD,aAAa;AAE5C,eAAeC,kBAAkB;AACjC,cAAc,kBAAkB;AAChC,cAAc,mBAAmB;AACjC,cAAc,aAAa;AAC3B,cAAc,aAAa;AAC3B,cAAc,gBAAgB;AAC9B,cAAc,gBAAgB;AAC9B,cAAc,gBAAgB;AAC9B,cAAc,YAAY;AAC1B,cAAc,cAAc;AAC5B,cAAc,iBAAiB;AAC/B,cAAc,gBAAgB;AAC9B,cAAc,QAAQ;AACtB,cAAc,qBAAqB;AACnC,cAAc,cAAc;AAC5B,cAAc,mBAAmB;AACjC,cAAc,YAAY"}
1
+ {"version":3,"names":["NativeModules","ReactNativeToolkit"],"sources":["index.tsx"],"sourcesContent":["import { NativeModules } from 'react-native';\n\ntype ReactNativeToolkitType = {\n multiply(a: number, b: number): Promise<number>;\n};\n\nconst { ReactNativeToolkit } = NativeModules;\n\nexport default ReactNativeToolkit as ReactNativeToolkitType;\nexport * from './AppBadgeContext';\nexport * from './AppleLoginUtil';\nexport * from './ConfigDataModel';\nexport * from './DevConfig';\nexport * from './Frequence';\nexport * from './LoginManager';\nexport * from './MessageModel';\nexport * from './Notification';\nexport * from './PrefData';\nexport * from './ReportUtil';\nexport * from './SentryManager';\nexport * from './SyncPrefData';\nexport * from './Tool';\nexport * from './VipAndroidManager';\nexport * from './VipManager';\nexport * from './WeChatLoginUtil';\nexport * from './constant';\n"],"mappings":"AAAA,SAASA,aAAa,QAAQ,cAAc;AAM5C,MAAM;EAAEC;AAAmB,CAAC,GAAGD,aAAa;AAE5C,eAAeC,kBAAkB;AACjC,cAAc,mBAAmB;AACjC,cAAc,kBAAkB;AAChC,cAAc,mBAAmB;AACjC,cAAc,aAAa;AAC3B,cAAc,aAAa;AAC3B,cAAc,gBAAgB;AAC9B,cAAc,gBAAgB;AAC9B,cAAc,gBAAgB;AAC9B,cAAc,YAAY;AAC1B,cAAc,cAAc;AAC5B,cAAc,iBAAiB;AAC/B,cAAc,gBAAgB;AAC9B,cAAc,QAAQ;AACtB,cAAc,qBAAqB;AACnC,cAAc,cAAc;AAC5B,cAAc,mBAAmB;AACjC,cAAc,YAAY"}
@@ -0,0 +1,18 @@
1
+ import React from 'react';
2
+ interface AppBadgeContextType {
3
+ appBadgeValue: string[];
4
+ setAppBadgeValue: Function;
5
+ }
6
+ export declare const AppBadgeContext: React.Context<AppBadgeContextType>;
7
+ export interface BadgeType {
8
+ key: string;
9
+ }
10
+ export declare const AppBadgeHelper: {
11
+ initBadge: (context: AppBadgeContextType, badges: {
12
+ [key: string]: BadgeType;
13
+ }) => void;
14
+ _calculateValidBadge: (context: AppBadgeContextType, allBadges: string[], clearedBadges: string[]) => void;
15
+ clearBadge: (context: AppBadgeContextType, scene: BadgeType) => void;
16
+ hasBadge: (context: AppBadgeContextType, scene: BadgeType) => true | null;
17
+ };
18
+ export {};
@@ -8,7 +8,7 @@ export declare const LoginManager: {
8
8
  isVisitor: () => boolean;
9
9
  currentUser: () => UserType | null;
10
10
  batchUpdateUser: (keys: string[], values: (string | Date)[], callback?: Function) => Promise<void>;
11
- updateUser: (key: string, value: string, callback?: Function) => void;
11
+ updateUser: (key: string, value: string | Date, callback?: Function) => void;
12
12
  deleteUser: (callback: Function) => Promise<void>;
13
13
  lastLoginType: () => any;
14
14
  fetchWeChatAvatar: (callback: Function) => void;
@@ -3,6 +3,7 @@ type ReactNativeToolkitType = {
3
3
  };
4
4
  declare const _default: ReactNativeToolkitType;
5
5
  export default _default;
6
+ export * from './AppBadgeContext';
6
7
  export * from './AppleLoginUtil';
7
8
  export * from './ConfigDataModel';
8
9
  export * from './DevConfig';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@norcy/react-native-toolkit",
3
- "version": "0.1.20",
3
+ "version": "0.1.21",
4
4
  "description": "My Toolkit",
5
5
  "main": "lib/commonjs/index",
6
6
  "module": "lib/module/index",
@@ -0,0 +1,83 @@
1
+ import React from 'react';
2
+ import { BuildInPrefs, PrefData } from './PrefData';
3
+
4
+ interface AppBadgeContextType {
5
+ appBadgeValue: string[];
6
+ setAppBadgeValue: Function;
7
+ }
8
+ export const AppBadgeContext = React.createContext<AppBadgeContextType>({
9
+ appBadgeValue: [],
10
+ setAppBadgeValue: () => {},
11
+ });
12
+
13
+ export interface BadgeType {
14
+ key: string;
15
+ }
16
+
17
+ export const AppBadgeHelper = {
18
+ initBadge: (
19
+ context: AppBadgeContextType,
20
+ badges: { [key: string]: BadgeType }
21
+ ) => {
22
+ PrefData.addListener(() => {
23
+ const clearedBadges = PrefData.getValue(BuildInPrefs.ClearBadge);
24
+ // 收集 Key 值
25
+ let allBadges = [];
26
+ const keys = Object.keys(badges);
27
+ for (const key of keys) {
28
+ const badge = badges[key];
29
+ // 动态占位的 key 值不存在,不应该被添加
30
+ if (badge.key) {
31
+ allBadges.push(badge.key);
32
+ }
33
+ }
34
+ console.log('allBadges', allBadges);
35
+
36
+ // 内存更新
37
+ AppBadgeHelper._calculateValidBadge(context, allBadges, clearedBadges);
38
+ });
39
+ },
40
+
41
+ // 最新红点 = appBadgs - clearedBadges
42
+ _calculateValidBadge: (
43
+ context: AppBadgeContextType,
44
+ allBadges: string[],
45
+ clearedBadges: string[]
46
+ ) => {
47
+ let result = [];
48
+ for (let i = 0; i < allBadges.length; ++i) {
49
+ const badge = allBadges[i];
50
+ // 展示过一次的就不再展示
51
+ if (!clearedBadges.includes(badge)) {
52
+ result.push(badge);
53
+ }
54
+ }
55
+ console.log('current badge', result);
56
+ context.setAppBadgeValue(result);
57
+ },
58
+
59
+ clearBadge: (context: AppBadgeContextType, scene: BadgeType) => {
60
+ // 内存判断
61
+ if (!AppBadgeHelper.hasBadge(context, scene)) {
62
+ return;
63
+ }
64
+
65
+ // 内存更新
66
+ AppBadgeHelper._calculateValidBadge(
67
+ context,
68
+ [...context.appBadgeValue], // 必须深复制一下,不然不会引起 state 变化
69
+ [scene.key]
70
+ );
71
+
72
+ // 硬盘更新
73
+ let clearBadges = PrefData.getValue(BuildInPrefs.ClearBadge);
74
+ if (!clearBadges.includes(scene.key)) {
75
+ clearBadges.push(scene.key);
76
+ PrefData.setValue(BuildInPrefs.ClearBadge, clearBadges);
77
+ }
78
+ },
79
+
80
+ hasBadge: (context: AppBadgeContextType, scene: BadgeType) => {
81
+ return context.appBadgeValue.includes(scene?.key) ? true : null;
82
+ },
83
+ };
@@ -312,7 +312,7 @@ export const LoginManager = {
312
312
  }
313
313
  },
314
314
 
315
- updateUser: (key: string, value: string, callback?: Function) => {
315
+ updateUser: (key: string, value: string | Date, callback?: Function) => {
316
316
  LoginManager.batchUpdateUser([key], [value], callback);
317
317
  },
318
318
 
package/src/PrefData.ts CHANGED
@@ -43,6 +43,11 @@ export const BuildInPrefs: PrefsType = {
43
43
  type: 'array',
44
44
  default: [],
45
45
  },
46
+ ClearBadge: {
47
+ key: 'BADGE_DATA_KEY_20230307',
48
+ type: 'array',
49
+ default: [],
50
+ },
46
51
  };
47
52
 
48
53
  const getPrefByKey = (Prefs: PrefsType, key: string) => {
package/src/index.tsx CHANGED
@@ -7,6 +7,7 @@ type ReactNativeToolkitType = {
7
7
  const { ReactNativeToolkit } = NativeModules;
8
8
 
9
9
  export default ReactNativeToolkit as ReactNativeToolkitType;
10
+ export * from './AppBadgeContext';
10
11
  export * from './AppleLoginUtil';
11
12
  export * from './ConfigDataModel';
12
13
  export * from './DevConfig';