@norcy/react-native-toolkit 0.2.1 → 0.2.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (135) hide show
  1. package/.github/workflows/publish-on-main.yml +2 -2
  2. package/.husky/pre-commit +2 -0
  3. package/lib/commonjs/AppBadgeContext.js +2 -2
  4. package/lib/commonjs/AppBadgeContext.js.map +1 -1
  5. package/lib/commonjs/AppLink.js +4 -6
  6. package/lib/commonjs/AppLink.js.map +1 -1
  7. package/lib/commonjs/AppleLoginUtil.js.map +1 -1
  8. package/lib/commonjs/ConfigDataModel.js +5 -7
  9. package/lib/commonjs/ConfigDataModel.js.map +1 -1
  10. package/lib/commonjs/DevConfig.js +1 -2
  11. package/lib/commonjs/DevConfig.js.map +1 -1
  12. package/lib/commonjs/Frequence.js +5 -13
  13. package/lib/commonjs/Frequence.js.map +1 -1
  14. package/lib/commonjs/LoginManager.js +53 -68
  15. package/lib/commonjs/LoginManager.js.map +1 -1
  16. package/lib/commonjs/MessageModel.js +5 -8
  17. package/lib/commonjs/MessageModel.js.map +1 -1
  18. package/lib/commonjs/Notification.js.map +1 -1
  19. package/lib/commonjs/PlatformHelper.js +18 -0
  20. package/lib/commonjs/PlatformHelper.js.map +1 -0
  21. package/lib/commonjs/PrefData.js +2 -3
  22. package/lib/commonjs/PrefData.js.map +1 -1
  23. package/lib/commonjs/ReportUtil.js +4 -5
  24. package/lib/commonjs/ReportUtil.js.map +1 -1
  25. package/lib/commonjs/SentryManager.js +4 -7
  26. package/lib/commonjs/SentryManager.js.map +1 -1
  27. package/lib/commonjs/SyncPrefData.js +5 -19
  28. package/lib/commonjs/SyncPrefData.js.map +1 -1
  29. package/lib/commonjs/Tool.js +54 -27
  30. package/lib/commonjs/Tool.js.map +1 -1
  31. package/lib/commonjs/VersionManager.js +7 -9
  32. package/lib/commonjs/VersionManager.js.map +1 -1
  33. package/lib/commonjs/VipAndroidManager.js +7 -9
  34. package/lib/commonjs/VipAndroidManager.js.map +1 -1
  35. package/lib/commonjs/VipManager.js +46 -38
  36. package/lib/commonjs/VipManager.js.map +1 -1
  37. package/lib/commonjs/WeChatLoginUtil.js +5 -6
  38. package/lib/commonjs/WeChatLoginUtil.js.map +1 -1
  39. package/lib/commonjs/constant.js.map +1 -1
  40. package/lib/commonjs/index.js +12 -0
  41. package/lib/commonjs/index.js.map +1 -1
  42. package/lib/commonjs/package.json +1 -0
  43. package/lib/module/AppBadgeContext.js +3 -1
  44. package/lib/module/AppBadgeContext.js.map +1 -1
  45. package/lib/module/AppLink.js +5 -5
  46. package/lib/module/AppLink.js.map +1 -1
  47. package/lib/module/AppleLoginUtil.js +2 -0
  48. package/lib/module/AppleLoginUtil.js.map +1 -1
  49. package/lib/module/ConfigDataModel.js +7 -7
  50. package/lib/module/ConfigDataModel.js.map +1 -1
  51. package/lib/module/DevConfig.js +3 -2
  52. package/lib/module/DevConfig.js.map +1 -1
  53. package/lib/module/Frequence.js +7 -13
  54. package/lib/module/Frequence.js.map +1 -1
  55. package/lib/module/LoginManager.js +55 -68
  56. package/lib/module/LoginManager.js.map +1 -1
  57. package/lib/module/MessageModel.js +7 -8
  58. package/lib/module/MessageModel.js.map +1 -1
  59. package/lib/module/Notification.js +2 -0
  60. package/lib/module/Notification.js.map +1 -1
  61. package/lib/module/PlatformHelper.js +15 -0
  62. package/lib/module/PlatformHelper.js.map +1 -0
  63. package/lib/module/PrefData.js +3 -2
  64. package/lib/module/PrefData.js.map +1 -1
  65. package/lib/module/ReportUtil.js +6 -5
  66. package/lib/module/ReportUtil.js.map +1 -1
  67. package/lib/module/SentryManager.js +5 -5
  68. package/lib/module/SentryManager.js.map +1 -1
  69. package/lib/module/SyncPrefData.js +8 -19
  70. package/lib/module/SyncPrefData.js.map +1 -1
  71. package/lib/module/Tool.js +53 -24
  72. package/lib/module/Tool.js.map +1 -1
  73. package/lib/module/VersionManager.js +8 -8
  74. package/lib/module/VersionManager.js.map +1 -1
  75. package/lib/module/VipAndroidManager.js +7 -6
  76. package/lib/module/VipAndroidManager.js.map +1 -1
  77. package/lib/module/VipManager.js +47 -37
  78. package/lib/module/VipManager.js.map +1 -1
  79. package/lib/module/WeChatLoginUtil.js +6 -4
  80. package/lib/module/WeChatLoginUtil.js.map +1 -1
  81. package/lib/module/constant.js +2 -0
  82. package/lib/module/constant.js.map +1 -1
  83. package/lib/module/index.js +3 -0
  84. package/lib/module/index.js.map +1 -1
  85. package/lib/module/package.json +1 -0
  86. package/lib/typescript/AppBadgeContext.d.ts +1 -0
  87. package/lib/typescript/AppBadgeContext.d.ts.map +1 -0
  88. package/lib/typescript/AppLink.d.ts +1 -0
  89. package/lib/typescript/AppLink.d.ts.map +1 -0
  90. package/lib/typescript/AppleLoginUtil.d.ts +1 -0
  91. package/lib/typescript/AppleLoginUtil.d.ts.map +1 -0
  92. package/lib/typescript/ConfigDataModel.d.ts +1 -0
  93. package/lib/typescript/ConfigDataModel.d.ts.map +1 -0
  94. package/lib/typescript/DevConfig.d.ts +1 -0
  95. package/lib/typescript/DevConfig.d.ts.map +1 -0
  96. package/lib/typescript/Frequence.d.ts +1 -0
  97. package/lib/typescript/Frequence.d.ts.map +1 -0
  98. package/lib/typescript/LoginManager.d.ts +2 -1
  99. package/lib/typescript/LoginManager.d.ts.map +1 -0
  100. package/lib/typescript/MessageModel.d.ts +1 -0
  101. package/lib/typescript/MessageModel.d.ts.map +1 -0
  102. package/lib/typescript/Notification.d.ts +1 -0
  103. package/lib/typescript/Notification.d.ts.map +1 -0
  104. package/lib/typescript/PlatformHelper.d.ts +6 -0
  105. package/lib/typescript/PlatformHelper.d.ts.map +1 -0
  106. package/lib/typescript/PrefData.d.ts +1 -0
  107. package/lib/typescript/PrefData.d.ts.map +1 -0
  108. package/lib/typescript/ReportUtil.d.ts +1 -0
  109. package/lib/typescript/ReportUtil.d.ts.map +1 -0
  110. package/lib/typescript/SentryManager.d.ts +1 -0
  111. package/lib/typescript/SentryManager.d.ts.map +1 -0
  112. package/lib/typescript/SyncPrefData.d.ts +1 -0
  113. package/lib/typescript/SyncPrefData.d.ts.map +1 -0
  114. package/lib/typescript/Tool.d.ts +3 -2
  115. package/lib/typescript/Tool.d.ts.map +1 -0
  116. package/lib/typescript/VersionManager.d.ts +2 -1
  117. package/lib/typescript/VersionManager.d.ts.map +1 -0
  118. package/lib/typescript/VipAndroidManager.d.ts +1 -0
  119. package/lib/typescript/VipAndroidManager.d.ts.map +1 -0
  120. package/lib/typescript/VipManager.d.ts +1 -0
  121. package/lib/typescript/VipManager.d.ts.map +1 -0
  122. package/lib/typescript/WeChatLoginUtil.d.ts +1 -0
  123. package/lib/typescript/WeChatLoginUtil.d.ts.map +1 -0
  124. package/lib/typescript/constant.d.ts +1 -0
  125. package/lib/typescript/constant.d.ts.map +1 -0
  126. package/lib/typescript/index.d.ts +2 -0
  127. package/lib/typescript/index.d.ts.map +1 -0
  128. package/package.json +63 -42
  129. package/src/PlatformHelper.ts +19 -0
  130. package/src/PrefData.ts +1 -1
  131. package/src/SyncPrefData.ts +6 -17
  132. package/src/Tool.ts +49 -15
  133. package/src/VipManager.ts +22 -4
  134. package/src/index.tsx +1 -0
  135. package/yarn.lock +5709 -7162
@@ -1 +1 @@
1
- {"version":3,"names":["Platform","ConfigDataModel","FrequenceManager","LoginManager","Notification","BuildInPrefs","PrefData","Tool","VersionManager","VipManager","AV","require","EventEmitter","eventEmitter","MyMessages","_filterByVersion","items","ret","item","isValidVersion","minVer","maxVer","push","_handleReadMessages","__DEV__","readMsgs","getValue","Messages","includes","objectId","isRead","_item$key","key","get","hasNewAppVer","updatedAt","Date","toString","length","freConfig","limit","gap","canRun","configValue","_getConfigValue","lastTimestamp","isDataReady","isConfigStateReady","isNetwordDataReady","OnlineItems","_handleResponse","customFilter","isDanger","map","jsonify","sort","a","b","dateA","getTime","dateB","console","log","MessageModel","emitChange","init","addListener","fetch","_ref","isAuto","_LoginManager$current","query","Query","equalTo","OS","isForeverVip","isVip","notEqualTo","userQuery","sizeEqualTo","userId","currentUser","AVUser","selectUserQuery","or","and","descending","find","then","catch","e","error","getUnreadMessages","filter","getAllMessages","removeMessage","message","index","findIndex","splice","readIndex","indexOf","setValue","reset","markMessageRead","markFinish","emit","slice","addListenerOnce","callback","once","on","removeListener"],"sources":["MessageModel.ts"],"sourcesContent":["import { Object } from 'leancloud-storage';\nimport { Platform } from 'react-native';\nimport { ConfigDataModel } from './ConfigDataModel';\nimport { FreConfigType, FrequenceManager } from './Frequence';\nimport { LoginManager, LoginSuccessResultType } from './LoginManager';\nimport { Notification } from './Notification';\nimport { BuildInPrefs, PrefData } from './PrefData';\nimport { Tool } from './Tool';\nimport { VersionManager } from './VersionManager';\nimport { VipManager } from './VipManager';\n\nconst AV = require('leancloud-storage');\nconst EventEmitter = require('events').EventEmitter;\nconst eventEmitter = new EventEmitter();\n\nexport interface Message {\n objectId: string;\n android: boolean;\n ios: boolean;\n title?: string;\n content?: string;\n maxVer?: string;\n minVer?: string;\n key?: string;\n updatedAt: string;\n valid: boolean;\n vipFilter?: number;\n isRead: boolean;\n users?: string[];\n limit?: number;\n gap?: number;\n url: string;\n actionTitle?: string;\n}\n\nlet MyMessages: Message[] = [];\n\nconst _filterByVersion = (items: Message[]): Message[] => {\n let ret: Message[] = [];\n for (const item of items) {\n if (!VersionManager.isValidVersion(item.minVer, item.maxVer)) {\n continue;\n }\n ret.push(item);\n }\n return ret;\n};\n\nconst _handleReadMessages = (items: Message[]): Message[] => {\n if (__DEV__) {\n // return items;\n }\n\n // 根据已读状态标为已读\n const readMsgs = PrefData.getValue(BuildInPrefs.Messages);\n for (const item of items) {\n if (readMsgs.includes(item.objectId)) {\n item.isRead = true;\n }\n }\n\n // 挑选需要强制未读\n for (const item of items) {\n if (!item.isRead) {\n continue;\n }\n if (item.key === 'changeLog') {\n // 强制升级弹窗\n // Message 是在 Config 回包之后再请求的,因此此时 Config 的值一定是准确的\n if (\n ConfigDataModel.get('upgrade_alert') &&\n VersionManager.hasNewAppVer()\n ) {\n item.isRead = false;\n item.updatedAt = new Date().toString();\n }\n } else if (item.key?.length) {\n // 如果是带 Key 的,那么会根据 limit 或 gap 再给一次标为未读的机会\n const freConfig: FreConfigType = {\n key: item.key,\n limit: item.limit,\n gap: item.gap,\n };\n if (FrequenceManager.canRun(freConfig)) {\n item.isRead = false;\n item.updatedAt = new Date().toString();\n } else {\n const configValue = FrequenceManager._getConfigValue(freConfig);\n if (configValue.lastTimestamp) {\n item.updatedAt = new Date(\n configValue.lastTimestamp * 1000\n ).toString();\n }\n }\n }\n }\n\n return items;\n};\n\nlet isDataReady = false;\nlet isConfigStateReady = false;\nlet isNetwordDataReady = false;\nlet OnlineItems: Object[] = [];\n\nconst _handleResponse = (customFilter?: MessageFilter) => {\n if (!isConfigStateReady || !OnlineItems.length || !isNetwordDataReady) {\n return;\n }\n\n if (VersionManager.isDanger()) {\n return;\n }\n\n MyMessages = OnlineItems.map((item) => Tool.jsonify(item));\n MyMessages = _filterByVersion(MyMessages);\n if (customFilter) {\n MyMessages = customFilter(MyMessages);\n }\n\n MyMessages = _handleReadMessages(MyMessages);\n\n // 由于强制插入的未读消息更改了时间,因此需要重新排序\n MyMessages = MyMessages.sort((a: Message, b: Message) => {\n let dateA = new Date(a.updatedAt).getTime();\n let dateB = new Date(b.updatedAt).getTime();\n return dateB - dateA;\n });\n console.log('Message 处理完毕');\n isDataReady = true;\n MessageModel.emitChange();\n};\n\nexport type MessageFilter = (oldMessage: Message[]) => Message[];\n\nexport const MessageModel = {\n init: (customFilter?: MessageFilter) => {\n Notification.addListener('onVipRefresh', () => {\n MessageModel.fetch(customFilter);\n });\n\n ConfigDataModel.addListener(() => {\n if (!isConfigStateReady) {\n isConfigStateReady = true;\n _handleResponse(customFilter);\n }\n });\n\n Notification.addListener(\n 'onLoginSuccess',\n ({ isAuto }: LoginSuccessResultType) => {\n if (!isAuto) {\n isDataReady = false;\n isConfigStateReady = false;\n isNetwordDataReady = false;\n OnlineItems = [];\n MessageModel.fetch(customFilter);\n }\n }\n );\n },\n\n fetch: (customFilter?: MessageFilter) => {\n // 确保可重入,但如果网络一直出错的话,每次调用都会一直发\n if (isNetwordDataReady) {\n return;\n }\n\n let query = new AV.Query('Message');\n query.equalTo('valid', true).equalTo(Platform.OS, true);\n\n if (VipManager.isForeverVip()) {\n query.equalTo('vipFilter', 0);\n } else if (VipManager.isVip()) {\n // 这里如果后续增加枚举,就会有问题\n query.notEqualTo('vipFilter', 1);\n }\n\n let userQuery = new AV.Query('Message').sizeEqualTo('users', 0);\n const userId = LoginManager.currentUser()?.AVUser.get('objectId');\n if (userId) {\n const selectUserQuery = new AV.Query('Message').equalTo('users', userId);\n userQuery = AV.Query.or(userQuery, selectUserQuery);\n }\n query = AV.Query.and(query, userQuery);\n\n query\n .descending('updatedAt')\n .find()\n .then(async (items: Object[]) => {\n console.log('Message 抓取完毕');\n isNetwordDataReady = true;\n OnlineItems = items;\n _handleResponse(customFilter);\n })\n .catch((e: any) => {\n console.error(e);\n });\n },\n\n getUnreadMessages: (): Message[] => {\n return MyMessages.filter((item) => !item.isRead);\n },\n\n getAllMessages: (): Message[] => {\n return MyMessages;\n },\n\n removeMessage: async (message: Message) => {\n if (!message.objectId) {\n return;\n }\n\n // 从内存中移除\n const index = MyMessages.findIndex(\n (item) => item.objectId === message.objectId\n );\n if (index !== -1) {\n MyMessages.splice(index, 1);\n }\n\n // 从已读状态中移除\n const readMsgs = PrefData.getValue(BuildInPrefs.Messages);\n const readIndex = readMsgs.indexOf(message.objectId);\n if (readIndex !== -1) {\n readMsgs.splice(readIndex, 1);\n await PrefData.setValue(BuildInPrefs.Messages, readMsgs);\n }\n\n // 如果消息有 key,也需要清理频率管理器的状态\n if (message.key) {\n const freConfig: FreConfigType = {\n key: message.key,\n limit: message.limit,\n gap: message.gap,\n };\n FrequenceManager.reset(freConfig);\n }\n\n MessageModel.emitChange();\n },\n\n markMessageRead: async (message: Message) => {\n if (message.isRead || !message.objectId) {\n return;\n }\n message.isRead = true;\n\n if (message.key) {\n const freConfig: FreConfigType = {\n key: message.key,\n limit: message.limit,\n gap: message.gap,\n };\n // 能被展示出来的 message 一定是符合 FrequenceManager.canRun 的\n FrequenceManager.markFinish(freConfig);\n }\n\n const readMsgs = PrefData.getValue(BuildInPrefs.Messages);\n readMsgs.push(message.objectId);\n await PrefData.setValue(BuildInPrefs.Messages, readMsgs);\n MessageModel.emitChange();\n },\n\n emitChange: () => {\n eventEmitter.emit('change', MyMessages.slice());\n },\n\n addListenerOnce: (callback: Function) => {\n if (isDataReady) {\n callback && callback();\n return;\n }\n eventEmitter.once('change', callback);\n },\n\n addListener: (callback: Function) => {\n if (isDataReady) {\n callback && callback();\n return callback;\n }\n eventEmitter.on('change', callback);\n return callback;\n },\n\n removeListener: (callback: Function) => {\n eventEmitter.removeListener('change', callback);\n },\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["Platform","ConfigDataModel","FrequenceManager","LoginManager","Notification","BuildInPrefs","PrefData","Tool","VersionManager","VipManager","AV","require","EventEmitter","eventEmitter","MyMessages","_filterByVersion","items","ret","item","isValidVersion","minVer","maxVer","push","_handleReadMessages","__DEV__","readMsgs","getValue","Messages","includes","objectId","isRead","key","get","hasNewAppVer","updatedAt","Date","toString","length","freConfig","limit","gap","canRun","configValue","_getConfigValue","lastTimestamp","isDataReady","isConfigStateReady","isNetwordDataReady","OnlineItems","_handleResponse","customFilter","isDanger","map","jsonify","sort","a","b","dateA","getTime","dateB","console","log","MessageModel","emitChange","init","addListener","fetch","isAuto","query","Query","equalTo","OS","isForeverVip","isVip","notEqualTo","userQuery","sizeEqualTo","userId","currentUser","AVUser","selectUserQuery","or","and","descending","find","then","catch","e","error","getUnreadMessages","filter","getAllMessages","removeMessage","message","index","findIndex","splice","readIndex","indexOf","setValue","reset","markMessageRead","markFinish","emit","slice","addListenerOnce","callback","once","on","removeListener"],"sourceRoot":"../../src","sources":["MessageModel.ts"],"mappings":"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","ignoreList":[]}
@@ -1,3 +1,5 @@
1
+ "use strict";
2
+
1
3
  const EventEmitter = require('events').EventEmitter;
2
4
  const eventEmitter = new EventEmitter();
3
5
  const ListenerToEvent = {};
@@ -1 +1 @@
1
- {"version":3,"names":["EventEmitter","require","eventEmitter","ListenerToEvent","Notification","addListener","event","callback","skipCache","key","toString","on","addListenerOnce","once","removeListener","removeAllListeners","keys","Object","postNotification","args","emit"],"sources":["Notification.ts"],"sourcesContent":["const EventEmitter = require('events').EventEmitter;\nconst eventEmitter = new EventEmitter();\n\ninterface ListenerType {\n [key: string]: string;\n}\n\nconst ListenerToEvent: ListenerType = {};\n\nexport const Notification = {\n addListener: (event: string, callback: Function, skipCache?: boolean) => {\n const key = callback.toString();\n if (skipCache || !ListenerToEvent[key]) {\n eventEmitter.on(event, callback);\n ListenerToEvent[key] = event;\n }\n return callback;\n },\n\n addListenerOnce: (event: string, callback: Function) => {\n eventEmitter.once(event, callback);\n },\n\n removeListener: (callback: Function) => {\n const key = callback.toString();\n const event = ListenerToEvent[key];\n delete ListenerToEvent[key];\n eventEmitter.removeListener(event, callback);\n },\n\n removeAllListeners: (event: string) => {\n const keys = Object.keys(ListenerToEvent);\n for (const key of keys) {\n if (ListenerToEvent[key] === event) {\n delete ListenerToEvent[key];\n }\n }\n eventEmitter.removeAllListeners(event);\n },\n\n postNotification: (event: string, args?: object) => {\n eventEmitter.emit(event, args);\n },\n};\n"],"mappings":"AAAA,MAAMA,YAAY,GAAGC,OAAO,CAAC,QAAQ,CAAC,CAACD,YAAY;AACnD,MAAME,YAAY,GAAG,IAAIF,YAAY,CAAC,CAAC;AAMvC,MAAMG,eAA6B,GAAG,CAAC,CAAC;AAExC,OAAO,MAAMC,YAAY,GAAG;EAC1BC,WAAW,EAAEA,CAACC,KAAa,EAAEC,QAAkB,EAAEC,SAAmB,KAAK;IACvE,MAAMC,GAAG,GAAGF,QAAQ,CAACG,QAAQ,CAAC,CAAC;IAC/B,IAAIF,SAAS,IAAI,CAACL,eAAe,CAACM,GAAG,CAAC,EAAE;MACtCP,YAAY,CAACS,EAAE,CAACL,KAAK,EAAEC,QAAQ,CAAC;MAChCJ,eAAe,CAACM,GAAG,CAAC,GAAGH,KAAK;IAC9B;IACA,OAAOC,QAAQ;EACjB,CAAC;EAEDK,eAAe,EAAEA,CAACN,KAAa,EAAEC,QAAkB,KAAK;IACtDL,YAAY,CAACW,IAAI,CAACP,KAAK,EAAEC,QAAQ,CAAC;EACpC,CAAC;EAEDO,cAAc,EAAGP,QAAkB,IAAK;IACtC,MAAME,GAAG,GAAGF,QAAQ,CAACG,QAAQ,CAAC,CAAC;IAC/B,MAAMJ,KAAK,GAAGH,eAAe,CAACM,GAAG,CAAC;IAClC,OAAON,eAAe,CAACM,GAAG,CAAC;IAC3BP,YAAY,CAACY,cAAc,CAACR,KAAK,EAAEC,QAAQ,CAAC;EAC9C,CAAC;EAEDQ,kBAAkB,EAAGT,KAAa,IAAK;IACrC,MAAMU,IAAI,GAAGC,MAAM,CAACD,IAAI,CAACb,eAAe,CAAC;IACzC,KAAK,MAAMM,GAAG,IAAIO,IAAI,EAAE;MACtB,IAAIb,eAAe,CAACM,GAAG,CAAC,KAAKH,KAAK,EAAE;QAClC,OAAOH,eAAe,CAACM,GAAG,CAAC;MAC7B;IACF;IACAP,YAAY,CAACa,kBAAkB,CAACT,KAAK,CAAC;EACxC,CAAC;EAEDY,gBAAgB,EAAEA,CAACZ,KAAa,EAAEa,IAAa,KAAK;IAClDjB,YAAY,CAACkB,IAAI,CAACd,KAAK,EAAEa,IAAI,CAAC;EAChC;AACF,CAAC"}
1
+ {"version":3,"names":["EventEmitter","require","eventEmitter","ListenerToEvent","Notification","addListener","event","callback","skipCache","key","toString","on","addListenerOnce","once","removeListener","removeAllListeners","keys","Object","postNotification","args","emit"],"sourceRoot":"../../src","sources":["Notification.ts"],"mappings":";;AAAA,MAAMA,YAAY,GAAGC,OAAO,CAAC,QAAQ,CAAC,CAACD,YAAY;AACnD,MAAME,YAAY,GAAG,IAAIF,YAAY,CAAC,CAAC;AAMvC,MAAMG,eAA6B,GAAG,CAAC,CAAC;AAExC,OAAO,MAAMC,YAAY,GAAG;EAC1BC,WAAW,EAAEA,CAACC,KAAa,EAAEC,QAAkB,EAAEC,SAAmB,KAAK;IACvE,MAAMC,GAAG,GAAGF,QAAQ,CAACG,QAAQ,CAAC,CAAC;IAC/B,IAAIF,SAAS,IAAI,CAACL,eAAe,CAACM,GAAG,CAAC,EAAE;MACtCP,YAAY,CAACS,EAAE,CAACL,KAAK,EAAEC,QAAQ,CAAC;MAChCJ,eAAe,CAACM,GAAG,CAAC,GAAGH,KAAK;IAC9B;IACA,OAAOC,QAAQ;EACjB,CAAC;EAEDK,eAAe,EAAEA,CAACN,KAAa,EAAEC,QAAkB,KAAK;IACtDL,YAAY,CAACW,IAAI,CAACP,KAAK,EAAEC,QAAQ,CAAC;EACpC,CAAC;EAEDO,cAAc,EAAGP,QAAkB,IAAK;IACtC,MAAME,GAAG,GAAGF,QAAQ,CAACG,QAAQ,CAAC,CAAC;IAC/B,MAAMJ,KAAK,GAAGH,eAAe,CAACM,GAAG,CAAC;IAClC,OAAON,eAAe,CAACM,GAAG,CAAC;IAC3BP,YAAY,CAACY,cAAc,CAACR,KAAK,EAAEC,QAAQ,CAAC;EAC9C,CAAC;EAEDQ,kBAAkB,EAAGT,KAAa,IAAK;IACrC,MAAMU,IAAI,GAAGC,MAAM,CAACD,IAAI,CAACb,eAAe,CAAC;IACzC,KAAK,MAAMM,GAAG,IAAIO,IAAI,EAAE;MACtB,IAAIb,eAAe,CAACM,GAAG,CAAC,KAAKH,KAAK,EAAE;QAClC,OAAOH,eAAe,CAACM,GAAG,CAAC;MAC7B;IACF;IACAP,YAAY,CAACa,kBAAkB,CAACT,KAAK,CAAC;EACxC,CAAC;EAEDY,gBAAgB,EAAEA,CAACZ,KAAa,EAAEa,IAAa,KAAK;IAClDjB,YAAY,CAACkB,IAAI,CAACd,KAAK,EAAEa,IAAI,CAAC;EAChC;AACF,CAAC","ignoreList":[]}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+
3
+ import { Platform } from 'react-native';
4
+
5
+ // 扩展 Platform.OS 类型以支持鸿蒙
6
+
7
+ const platformOS = Platform.OS;
8
+
9
+ // 平台判断工具方法
10
+ export const PlatformHelper = {
11
+ isIOS: () => platformOS === 'ios',
12
+ isAndroid: () => platformOS === 'android',
13
+ isHarmony: () => platformOS === 'harmony'
14
+ };
15
+ //# sourceMappingURL=PlatformHelper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Platform","platformOS","OS","PlatformHelper","isIOS","isAndroid","isHarmony"],"sourceRoot":"../../src","sources":["PlatformHelper.ts"],"mappings":";;AAAA,SAASA,QAAQ,QAAQ,cAAc;;AAEvC;;AASA,MAAMC,UAAU,GAAGD,QAAQ,CAACE,EAAoB;;AAEhD;AACA,OAAO,MAAMC,cAAc,GAAG;EAC5BC,KAAK,EAAEA,CAAA,KAAeH,UAAU,KAAK,KAAK;EAC1CI,SAAS,EAAEA,CAAA,KAAeJ,UAAU,KAAK,SAAS;EAClDK,SAAS,EAAEA,CAAA,KAAeL,UAAU,KAAK;AAC3C,CAAC","ignoreList":[]}
@@ -1,4 +1,6 @@
1
- import AsyncStorage from '@react-native-community/async-storage';
1
+ "use strict";
2
+
3
+ import AsyncStorage from '@react-native-async-storage/async-storage';
2
4
  const EventEmitter = require('events').EventEmitter;
3
5
  const eventEmitter = new EventEmitter();
4
6
  let isDataLoaded = false;
@@ -107,7 +109,6 @@ export const PrefData = {
107
109
  // typeof _PrefDatas[key],
108
110
  // );
109
111
  }
110
-
111
112
  console.log('读取配置结束');
112
113
  isDataLoaded = true;
113
114
  eventEmitter.emit('load');
@@ -1 +1 @@
1
- {"version":3,"names":["AsyncStorage","EventEmitter","require","eventEmitter","isDataLoaded","_PrefDatas","BuildInPrefs","LastLoginType","key","type","default","DevVip","DevDanger","FrequenceConfig","Messages","ClearBadge","RegisterInThisDevice","LanguageMode","DisplayMode","Vibrate","CurrentBundleVersion","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","addListenerOnce","once","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 RegisterInThisDevice: {\n key: 'RegisterInThisDevice_Key',\n type: 'bool',\n default: false,\n },\n LanguageMode: {\n key: 'Language_MODE_SELECT_KEY',\n type: 'int',\n default: 0,\n },\n DisplayMode: {\n key: 'Display_MODE_SELECT_KEY',\n type: 'int',\n default: 0,\n },\n Vibrate: {\n key: 'Vibrate',\n type: 'bool',\n default: true,\n },\n CurrentBundleVersion: {\n key: 'CurrentBundleVersion',\n type: 'int',\n default: 0,\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: string[] = [];\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\n // console.log(\n // '配置读取结果:',\n // key,\n // _PrefDatas[key],\n // typeof _PrefDatas[key],\n // );\n }\n\n console.log('读取配置结束');\n isDataLoaded = true;\n eventEmitter.emit('load');\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 addListenerOnce: (callback: Function) => {\n if (isDataLoaded) {\n callback && callback();\n return;\n }\n eventEmitter.once('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","RegisterInThisDevice","LanguageMode","DisplayMode","Vibrate","CurrentBundleVersion","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","addListenerOnce","once","error","setItem","e","multiGet"],"sourceRoot":"../../src","sources":["PrefData.ts"],"mappings":"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","ignoreList":[]}
@@ -1,3 +1,5 @@
1
+ "use strict";
2
+
1
3
  import { NativeModules, Platform } from 'react-native';
2
4
  import { getBrand, getDeviceId, getModel, getReadableVersion } from 'react-native-device-info';
3
5
  import { Notification } from './Notification';
@@ -16,7 +18,7 @@ const enable = () => {
16
18
  return true;
17
19
  };
18
20
  const isValidReport = (eventId, params) => {
19
- if (typeof eventId !== 'string' || (eventId === null || eventId === void 0 ? void 0 : eventId.length) === 0) {
21
+ if (typeof eventId !== 'string' || eventId?.length === 0) {
20
22
  console.error('Report 数据非法 1');
21
23
  return false;
22
24
  }
@@ -48,10 +50,9 @@ export const ReportUtil = {
48
50
  if (!enable()) {
49
51
  return;
50
52
  }
51
- Notification.addListener('onLoginSuccess', _ref => {
52
- let {
53
- user
54
- } = _ref;
53
+ Notification.addListener('onLoginSuccess', ({
54
+ user
55
+ }) => {
55
56
  if (!__DEV__) {
56
57
  NativeModules.NCYReport.signIn(user.AVUser.get('objectId'));
57
58
  }
@@ -1 +1 @@
1
- {"version":3,"names":["NativeModules","Platform","getBrand","getDeviceId","getModel","getReadableVersion","Notification","CommonInfo","appVer","platform","OS","sysVer","Version","model","brand","device","enable","NCYReport","isValidReport","eventId","params","length","console","error","Array","isArray","key","convertToValidParams","ret","value","JSON","stringify","ReportUtil","init","addListener","_ref","user","__DEV__","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 { LoginSuccessResultType } from './LoginManager';\nimport { Notification } from './Notification';\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 (!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 'onLoginSuccess',\n ({ user }: LoginSuccessResultType) => {\n if (!__DEV__) {\n NativeModules.NCYReport.signIn(user.AVUser.get('objectId'));\n }\n ReportUtil.setCommonInfo('user', user.AVUser.get('objectId'));\n }\n );\n\n Notification.addListener('onLogout', () => {\n if (!__DEV__) {\n NativeModules.NCYReport.signOut();\n }\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]', eventId, realParams);\n if (!__DEV__) {\n NativeModules.NCYReport.report(eventId, realParams);\n }\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 if (!__DEV__) {\n NativeModules.NCYReport.enterPage(page);\n }\n },\n\n viewDisappear: (page: string) => {\n if (!__DEV__) {\n console.log(page, 'viewWillDisappear');\n }\n\n if (!enable()) {\n return;\n }\n\n if (!__DEV__) {\n NativeModules.NCYReport.leavePage(page);\n }\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","NCYReport","isValidReport","eventId","params","length","console","error","Array","isArray","key","convertToValidParams","ret","value","JSON","stringify","ReportUtil","init","addListener","user","__DEV__","signIn","AVUser","get","setCommonInfo","signOut","report","validParams","realParams","getCommonInfo","log","viewAppear","page","enterPage","viewDisappear","leavePage"],"sourceRoot":"../../src","sources":["ReportUtil.ts"],"mappings":";;AAAA,SAASA,aAAa,EAAEC,QAAQ,QAAQ,cAAc;AACtD,SACEC,QAAQ,EACRC,WAAW,EACXC,QAAQ,EACRC,kBAAkB,QACb,0BAA0B;AAEjC,SAASC,YAAY,QAAQ,gBAAgB;AAM7C,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,IAAI,CAAChB,aAAa,CAACiB,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,IAAIA,OAAO,EAAEE,MAAM,KAAK,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,CAACjB,MAAM,CAAC,CAAC,EAAE;MACb;IACF;IAEAV,YAAY,CAAC4B,WAAW,CACtB,gBAAgB,EAChB,CAAC;MAAEC;IAA6B,CAAC,KAAK;MACpC,IAAI,CAACC,OAAO,EAAE;QACZpC,aAAa,CAACiB,SAAS,CAACoB,MAAM,CAACF,IAAI,CAACG,MAAM,CAACC,GAAG,CAAC,UAAU,CAAC,CAAC;MAC7D;MACAP,UAAU,CAACQ,aAAa,CAAC,MAAM,EAAEL,IAAI,CAACG,MAAM,CAACC,GAAG,CAAC,UAAU,CAAC,CAAC;IAC/D,CACF,CAAC;IAEDjC,YAAY,CAAC4B,WAAW,CAAC,UAAU,EAAE,MAAM;MACzC,IAAI,CAACE,OAAO,EAAE;QACZpC,aAAa,CAACiB,SAAS,CAACwB,OAAO,CAAC,CAAC;MACnC;MACAT,UAAU,CAACQ,aAAa,CAAC,MAAM,EAAE,EAAE,CAAC;IACtC,CAAC,CAAC;EACJ,CAAC;EAEDE,MAAM,EAAEA,CAACvB,OAAe,EAAEC,MAAuB,KAAK;IACpD,IAAI,CAACJ,MAAM,CAAC,CAAC,EAAE;MACb;IACF;IAEA,IAAI,CAACE,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,EAAE3B,OAAO,EAAEyB,UAAU,CAAC;IAC5C,IAAI,CAACR,OAAO,EAAE;MACZpC,aAAa,CAACiB,SAAS,CAACyB,MAAM,CAACvB,OAAO,EAAEyB,UAAU,CAAC;IACrD;EACF,CAAC;EAEDJ,aAAa,EAAEA,CAACd,GAAW,EAAEG,KAAa,KAAK;IAC7CtB,UAAU,CAACmB,GAAG,CAAC,GAAGG,KAAK;EACzB,CAAC;EAEDgB,aAAa,EAAEA,CAAA,KAAM;IACnB,OAAOtC,UAAU;EACnB,CAAC;EAEDwC,UAAU,EAAGC,IAAY,IAAK;IAC5B,IAAI,CAACZ,OAAO,EAAE;MACZd,OAAO,CAACwB,GAAG,CAACE,IAAI,EAAE,gBAAgB,CAAC;IACrC;IAEA,IAAI,CAAChC,MAAM,CAAC,CAAC,EAAE;MACb;IACF;IAEA,IAAI,CAACoB,OAAO,EAAE;MACZpC,aAAa,CAACiB,SAAS,CAACgC,SAAS,CAACD,IAAI,CAAC;IACzC;EACF,CAAC;EAEDE,aAAa,EAAGF,IAAY,IAAK;IAC/B,IAAI,CAACZ,OAAO,EAAE;MACZd,OAAO,CAACwB,GAAG,CAACE,IAAI,EAAE,mBAAmB,CAAC;IACxC;IAEA,IAAI,CAAChC,MAAM,CAAC,CAAC,EAAE;MACb;IACF;IAEA,IAAI,CAACoB,OAAO,EAAE;MACZpC,aAAa,CAACiB,SAAS,CAACkC,SAAS,CAACH,IAAI,CAAC;IACzC;EACF;AACF,CAAC","ignoreList":[]}
@@ -1,3 +1,5 @@
1
+ "use strict";
2
+
1
3
  import * as Sentry from '@sentry/react-native';
2
4
  import { Notification } from './Notification';
3
5
  import { ToolkitConfig } from './Tool';
@@ -14,10 +16,9 @@ export const SentryManager = {
14
16
  dsn: ToolkitConfig.SentryDSN,
15
17
  tracesSampleRate: 1.0
16
18
  });
17
- Notification.addListener('onLoginSuccess', _ref => {
18
- let {
19
- user
20
- } = _ref;
19
+ Notification.addListener('onLoginSuccess', ({
20
+ user
21
+ }) => {
21
22
  const sentryUser = {
22
23
  id: user.AVUser.get('objectId'),
23
24
  email: user.email,
@@ -34,7 +35,6 @@ export const SentryManager = {
34
35
  // throw new Error('My first Sentry error!');
35
36
  }
36
37
  },
37
-
38
38
  setTag: (key, value) => {
39
39
  if (isReady) {
40
40
  if (key.length) {
@@ -1 +1 @@
1
- {"version":3,"names":["Sentry","Notification","ToolkitConfig","isReady","SentryManager","init","__DEV__","SentryDSN","console","log","dsn","tracesSampleRate","addListener","_ref","user","sentryUser","id","AVUser","get","email","username","nickname","setUser","setTag","key","value","length"],"sources":["SentryManager.ts"],"sourcesContent":["import * as Sentry from '@sentry/react-native';\nimport { LoginSuccessResultType } from './LoginManager';\nimport { Notification } from './Notification';\nimport { ToolkitConfig } from './Tool';\n\nlet isReady = false;\nexport const SentryManager = {\n init: () => {\n isReady = !__DEV__ && !!ToolkitConfig.SentryDSN;\n if (!isReady) {\n console.log('不使用 Sentry');\n } else {\n // DEV 下不打开 Sentry\n console.log('使用 Sentry');\n Sentry.init({\n dsn: ToolkitConfig.SentryDSN,\n tracesSampleRate: 1.0,\n });\n\n Notification.addListener(\n 'onLoginSuccess',\n ({ user }: LoginSuccessResultType) => {\n const sentryUser: Sentry.User = {\n id: user.AVUser.get('objectId'),\n email: user.email,\n username: user.nickname,\n };\n Sentry.setUser(sentryUser);\n }\n );\n\n Notification.addListener('onLogout', () => {\n Sentry.setUser(null);\n });\n\n // Sentry.nativeCrash();\n // Sentry.captureException(new Error('测试77!'));\n // throw new Error('My first Sentry error!');\n }\n },\n\n setTag: (key: string, value: any) => {\n if (isReady) {\n if (key.length) {\n Sentry.setTag(key, value);\n }\n }\n },\n};\n"],"mappings":"AAAA,OAAO,KAAKA,MAAM,MAAM,sBAAsB;AAE9C,SAASC,YAAY,QAAQ,gBAAgB;AAC7C,SAASC,aAAa,QAAQ,QAAQ;AAEtC,IAAIC,OAAO,GAAG,KAAK;AACnB,OAAO,MAAMC,aAAa,GAAG;EAC3BC,IAAI,EAAEA,CAAA,KAAM;IACVF,OAAO,GAAG,CAACG,OAAO,IAAI,CAAC,CAACJ,aAAa,CAACK,SAAS;IAC/C,IAAI,CAACJ,OAAO,EAAE;MACZK,OAAO,CAACC,GAAG,CAAC,YAAY,CAAC;IAC3B,CAAC,MAAM;MACL;MACAD,OAAO,CAACC,GAAG,CAAC,WAAW,CAAC;MACxBT,MAAM,CAACK,IAAI,CAAC;QACVK,GAAG,EAAER,aAAa,CAACK,SAAS;QAC5BI,gBAAgB,EAAE;MACpB,CAAC,CAAC;MAEFV,YAAY,CAACW,WAAW,CACtB,gBAAgB,EAChBC,IAAA,IAAsC;QAAA,IAArC;UAAEC;QAA6B,CAAC,GAAAD,IAAA;QAC/B,MAAME,UAAuB,GAAG;UAC9BC,EAAE,EAAEF,IAAI,CAACG,MAAM,CAACC,GAAG,CAAC,UAAU,CAAC;UAC/BC,KAAK,EAAEL,IAAI,CAACK,KAAK;UACjBC,QAAQ,EAAEN,IAAI,CAACO;QACjB,CAAC;QACDrB,MAAM,CAACsB,OAAO,CAACP,UAAU,CAAC;MAC5B,CACF,CAAC;MAEDd,YAAY,CAACW,WAAW,CAAC,UAAU,EAAE,MAAM;QACzCZ,MAAM,CAACsB,OAAO,CAAC,IAAI,CAAC;MACtB,CAAC,CAAC;;MAEF;MACA;MACA;IACF;EACF,CAAC;;EAEDC,MAAM,EAAEA,CAACC,GAAW,EAAEC,KAAU,KAAK;IACnC,IAAItB,OAAO,EAAE;MACX,IAAIqB,GAAG,CAACE,MAAM,EAAE;QACd1B,MAAM,CAACuB,MAAM,CAACC,GAAG,EAAEC,KAAK,CAAC;MAC3B;IACF;EACF;AACF,CAAC"}
1
+ {"version":3,"names":["Sentry","Notification","ToolkitConfig","isReady","SentryManager","init","__DEV__","SentryDSN","console","log","dsn","tracesSampleRate","addListener","user","sentryUser","id","AVUser","get","email","username","nickname","setUser","setTag","key","value","length"],"sourceRoot":"../../src","sources":["SentryManager.ts"],"mappings":";;AAAA,OAAO,KAAKA,MAAM,MAAM,sBAAsB;AAE9C,SAASC,YAAY,QAAQ,gBAAgB;AAC7C,SAASC,aAAa,QAAQ,QAAQ;AAEtC,IAAIC,OAAO,GAAG,KAAK;AACnB,OAAO,MAAMC,aAAa,GAAG;EAC3BC,IAAI,EAAEA,CAAA,KAAM;IACVF,OAAO,GAAG,CAACG,OAAO,IAAI,CAAC,CAACJ,aAAa,CAACK,SAAS;IAC/C,IAAI,CAACJ,OAAO,EAAE;MACZK,OAAO,CAACC,GAAG,CAAC,YAAY,CAAC;IAC3B,CAAC,MAAM;MACL;MACAD,OAAO,CAACC,GAAG,CAAC,WAAW,CAAC;MACxBT,MAAM,CAACK,IAAI,CAAC;QACVK,GAAG,EAAER,aAAa,CAACK,SAAS;QAC5BI,gBAAgB,EAAE;MACpB,CAAC,CAAC;MAEFV,YAAY,CAACW,WAAW,CACtB,gBAAgB,EAChB,CAAC;QAAEC;MAA6B,CAAC,KAAK;QACpC,MAAMC,UAAuB,GAAG;UAC9BC,EAAE,EAAEF,IAAI,CAACG,MAAM,CAACC,GAAG,CAAC,UAAU,CAAC;UAC/BC,KAAK,EAAEL,IAAI,CAACK,KAAK;UACjBC,QAAQ,EAAEN,IAAI,CAACO;QACjB,CAAC;QACDpB,MAAM,CAACqB,OAAO,CAACP,UAAU,CAAC;MAC5B,CACF,CAAC;MAEDb,YAAY,CAACW,WAAW,CAAC,UAAU,EAAE,MAAM;QACzCZ,MAAM,CAACqB,OAAO,CAAC,IAAI,CAAC;MACtB,CAAC,CAAC;;MAEF;MACA;MACA;IACF;EACF,CAAC;EAEDC,MAAM,EAAEA,CAACC,GAAW,EAAEC,KAAU,KAAK;IACnC,IAAIrB,OAAO,EAAE;MACX,IAAIoB,GAAG,CAACE,MAAM,EAAE;QACdzB,MAAM,CAACsB,MAAM,CAACC,GAAG,EAAEC,KAAK,CAAC;MAC3B;IACF;EACF;AACF,CAAC","ignoreList":[]}
@@ -1,26 +1,15 @@
1
- import { NativeModules, Platform, Settings } from 'react-native';
1
+ "use strict";
2
+
3
+ import { MMKV } from 'react-native-mmkv';
4
+
5
+ // 创建 MMKV 实例用于同步存储
6
+ const storage = new MMKV();
2
7
  export const SyncPrefData = {
3
8
  setPrefString: (key, value) => {
4
- if (Platform.OS === 'ios') {
5
- Settings.set({
6
- [key]: value
7
- });
8
- } else {
9
- if (!NativeModules.NCYAPI) {
10
- return;
11
- }
12
- NativeModules.NCYAPI.setData(key, value);
13
- }
9
+ storage.set(key, value);
14
10
  },
15
11
  getPrefString: key => {
16
- if (Platform.OS === 'ios') {
17
- return Settings.get(key);
18
- } else {
19
- if (!NativeModules.NCYAPI) {
20
- return '';
21
- }
22
- return NativeModules.NCYAPI.getData(key);
23
- }
12
+ return storage.getString(key) ?? '';
24
13
  }
25
14
  };
26
15
  //# sourceMappingURL=SyncPrefData.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["NativeModules","Platform","Settings","SyncPrefData","setPrefString","key","value","OS","set","NCYAPI","setData","getPrefString","get","getData"],"sources":["SyncPrefData.ts"],"sourcesContent":["import { NativeModules, Platform, Settings } from 'react-native';\n\nexport const SyncPrefData = {\n setPrefString: (key: string, value: string) => {\n if (Platform.OS === 'ios') {\n Settings.set({ [key]: value });\n } else {\n if (!NativeModules.NCYAPI) {\n return;\n }\n NativeModules.NCYAPI.setData(key, value);\n }\n },\n\n getPrefString: (key: string): string => {\n if (Platform.OS === 'ios') {\n return Settings.get(key);\n } else {\n if (!NativeModules.NCYAPI) {\n return '';\n }\n return NativeModules.NCYAPI.getData(key);\n }\n },\n};\n"],"mappings":"AAAA,SAASA,aAAa,EAAEC,QAAQ,EAAEC,QAAQ,QAAQ,cAAc;AAEhE,OAAO,MAAMC,YAAY,GAAG;EAC1BC,aAAa,EAAEA,CAACC,GAAW,EAAEC,KAAa,KAAK;IAC7C,IAAIL,QAAQ,CAACM,EAAE,KAAK,KAAK,EAAE;MACzBL,QAAQ,CAACM,GAAG,CAAC;QAAE,CAACH,GAAG,GAAGC;MAAM,CAAC,CAAC;IAChC,CAAC,MAAM;MACL,IAAI,CAACN,aAAa,CAACS,MAAM,EAAE;QACzB;MACF;MACAT,aAAa,CAACS,MAAM,CAACC,OAAO,CAACL,GAAG,EAAEC,KAAK,CAAC;IAC1C;EACF,CAAC;EAEDK,aAAa,EAAGN,GAAW,IAAa;IACtC,IAAIJ,QAAQ,CAACM,EAAE,KAAK,KAAK,EAAE;MACzB,OAAOL,QAAQ,CAACU,GAAG,CAACP,GAAG,CAAC;IAC1B,CAAC,MAAM;MACL,IAAI,CAACL,aAAa,CAACS,MAAM,EAAE;QACzB,OAAO,EAAE;MACX;MACA,OAAOT,aAAa,CAACS,MAAM,CAACI,OAAO,CAACR,GAAG,CAAC;IAC1C;EACF;AACF,CAAC"}
1
+ {"version":3,"names":["MMKV","storage","SyncPrefData","setPrefString","key","value","set","getPrefString","getString"],"sourceRoot":"../../src","sources":["SyncPrefData.ts"],"mappings":";;AAAA,SAASA,IAAI,QAAQ,mBAAmB;;AAExC;AACA,MAAMC,OAAO,GAAG,IAAID,IAAI,CAAC,CAAC;AAE1B,OAAO,MAAME,YAAY,GAAG;EAC1BC,aAAa,EAAEA,CAACC,GAAW,EAAEC,KAAa,KAAK;IAC7CJ,OAAO,CAACK,GAAG,CAACF,GAAG,EAAEC,KAAK,CAAC;EACzB,CAAC;EAEDE,aAAa,EAAGH,GAAW,IAAa;IACtC,OAAOH,OAAO,CAACO,SAAS,CAACJ,GAAG,CAAC,IAAI,EAAE;EACrC;AACF,CAAC","ignoreList":[]}
@@ -1,9 +1,12 @@
1
+ "use strict";
2
+
1
3
  import { AppLink } from '@norcy/react-native-toolkit';
2
- import CameraRoll from '@react-native-community/cameraroll';
4
+ import { CameraRoll } from '@react-native-camera-roll/camera-roll';
3
5
  import { useState } from 'react';
4
6
  import { Alert, Linking, NativeModules, PermissionsAndroid, Platform, Vibration } from 'react-native';
5
7
  import { getBrand, getDeviceId, getManufacturerSync, hasHmsSync, isLandscapeSync, isTablet } from 'react-native-device-info';
6
8
  import Toast from 'react-native-simple-toast';
9
+ import { PlatformHelper } from './PlatformHelper';
7
10
  import { BuildInPrefs, PrefData } from './PrefData';
8
11
  import { ReportUtil } from './ReportUtil';
9
12
  export let ToolkitConfig;
@@ -91,8 +94,7 @@ export const Tool = {
91
94
  return str.startsWith('http');
92
95
  },
93
96
  get_url_extension: url => {
94
- var _url$split$;
95
- return (_url$split$ = url.split(/[#?]/)[0]) === null || _url$split$ === void 0 || (_url$split$ = _url$split$.split('.')) === null || _url$split$ === void 0 || (_url$split$ = _url$split$.pop()) === null || _url$split$ === void 0 ? void 0 : _url$split$.trim();
97
+ return url.split(/[#?]/)[0]?.split('.')?.pop()?.trim();
96
98
  },
97
99
  generateObjectId: () => {
98
100
  var timestamp = (new Date().getTime() / 1000 | 0).toString(16); // eslint-disable-line no-bitwise
@@ -100,7 +102,6 @@ export const Tool = {
100
102
  return (Math.random() * 16 | 0).toString(16).toLowerCase(); // eslint-disable-line no-bitwise
101
103
  });
102
104
  },
103
-
104
105
  /**
105
106
  * Format bytes as human-readable text.
106
107
  *
@@ -111,9 +112,7 @@ export const Tool = {
111
112
  *
112
113
  * @return Formatted string.
113
114
  */
114
- humanFileSize: function (bytes) {
115
- let si = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
116
- let dp = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;
115
+ humanFileSize: (bytes, si = false, dp = 1) => {
117
116
  const thresh = si ? 1000 : 1024;
118
117
  if (Math.abs(bytes) < thresh) {
119
118
  return bytes + ' B';
@@ -146,13 +145,16 @@ export const Tool = {
146
145
  },
147
146
  goAppStoreReview: () => {
148
147
  ReportUtil.report('StoreReview');
149
- if (Platform.OS === 'ios') {
148
+ if (PlatformHelper.isIOS()) {
150
149
  Linking.canOpenURL('itms-apps://').then(supported => {
151
150
  if (supported) {
152
151
  Linking.openURL(ToolkitConfig.iOSReviewUrl);
153
152
  }
154
153
  });
155
- } else {
154
+ } else if (PlatformHelper.isHarmony()) {
155
+ console.error('TODO: 鸿蒙平台的应用市场评价功能待实现');
156
+ // TODO: 实现鸿蒙应用市场跳转逻辑(华为应用市场)
157
+ } else if (PlatformHelper.isAndroid()) {
156
158
  if (NativeModules.CheckPackageInstallation) {
157
159
  NativeModules.CheckPackageInstallation.isPackageInstalled('com.coolapk.market', isInstalled => {
158
160
  if (isInstalled) {
@@ -170,13 +172,16 @@ export const Tool = {
170
172
  }
171
173
  },
172
174
  goUpgrade: () => {
173
- if (Platform.OS === 'ios') {
175
+ if (PlatformHelper.isIOS()) {
174
176
  Linking.canOpenURL('itms-apps://').then(supported => {
175
177
  if (supported) {
176
178
  Linking.openURL(ToolkitConfig.iOSStoreScheme);
177
179
  }
178
180
  });
179
- } else {
181
+ } else if (PlatformHelper.isHarmony()) {
182
+ console.error('TODO: 鸿蒙平台的应用升级功能待实现');
183
+ // TODO: 实现鸿蒙升级逻辑(华为应用市场或 H5 下载页)
184
+ } else if (PlatformHelper.isAndroid()) {
180
185
  // 使用短链别名,不然 Android 的 AppLink 会直接吃掉官网,导致 App 内无法使用浏览器打开官网
181
186
  Linking.openURL(ToolkitConfig.AppWebsiteAlias);
182
187
  }
@@ -187,7 +192,15 @@ export const Tool = {
187
192
  }
188
193
  },
189
194
  hasAndroidWritePermission: async beforeRequest => {
190
- if (Platform.OS !== 'android') {
195
+ if (PlatformHelper.isIOS()) {
196
+ return true;
197
+ }
198
+ if (PlatformHelper.isHarmony()) {
199
+ console.error('TODO: 鸿蒙平台的存储权限检查待实现');
200
+ // TODO: 实现鸿蒙存储权限逻辑
201
+ return true; // 暂时返回 true,避免阻塞功能
202
+ }
203
+ if (!PlatformHelper.isAndroid()) {
191
204
  return true;
192
205
  }
193
206
  const permission = PermissionsAndroid.PERMISSIONS.WRITE_EXTERNAL_STORAGE;
@@ -197,7 +210,7 @@ export const Tool = {
197
210
  }
198
211
 
199
212
  // 对 MANAGE_EXTERNAL_STORAGE 再检查一次
200
- if (NativeModules.NCYAPI.checkManagePermission) {
213
+ if (NativeModules.NCYAPI?.checkManagePermission) {
201
214
  if (await NativeModules.NCYAPI.checkManagePermission()) {
202
215
  return true;
203
216
  }
@@ -212,7 +225,7 @@ export const Tool = {
212
225
  if (status === 'granted') {
213
226
  return true;
214
227
  }
215
- if (NativeModules.NCYAPI.requestManagePermission) {
228
+ if (NativeModules.NCYAPI?.requestManagePermission) {
216
229
  if (await NativeModules.NCYAPI.requestManagePermission()) {
217
230
  return true;
218
231
  }
@@ -229,18 +242,26 @@ export const Tool = {
229
242
  }
230
243
 
231
244
  // 检查权限
232
- if (Platform.OS === 'android' && !(await Tool.hasAndroidWritePermission(beforeRequest))) {
245
+ if (PlatformHelper.isAndroid() && !(await Tool.hasAndroidWritePermission(beforeRequest))) {
233
246
  return {
234
247
  errorCode: -1
235
248
  };
236
249
  }
250
+ if (PlatformHelper.isHarmony()) {
251
+ console.error('TODO: 鸿蒙平台的图片保存功能待实现');
252
+ // TODO: 实现鸿蒙图片保存逻辑
253
+ return {
254
+ errorCode: -99,
255
+ errMsg: 'HarmonyOS not implemented'
256
+ };
257
+ }
237
258
 
238
259
  // iOS 或本地图片直接保存
239
- if (Platform.OS === 'ios' || !Tool.isRemoteURL(url)) {
260
+ if (PlatformHelper.isIOS() || !Tool.isRemoteURL(url)) {
240
261
  try {
241
262
  await CameraRoll.save(url, {
242
263
  type: 'photo',
243
- album: albumName !== null && albumName !== void 0 ? albumName : ToolkitConfig.AppName
264
+ album: albumName ?? ToolkitConfig.AppName
244
265
  });
245
266
  return {
246
267
  errorCode: 0
@@ -309,10 +330,12 @@ export const Tool = {
309
330
  if (!VibrateEnable) {
310
331
  return;
311
332
  }
312
- if (Platform.OS === 'ios') {
313
- var _NativeModules$NCYVib;
314
- (_NativeModules$NCYVib = NativeModules.NCYVibration) === null || _NativeModules$NCYVib === void 0 || _NativeModules$NCYVib.vibrate();
315
- } else {
333
+ if (PlatformHelper.isIOS()) {
334
+ NativeModules.NCYVibration?.vibrate();
335
+ } else if (PlatformHelper.isHarmony()) {
336
+ console.error('TODO: 鸿蒙平台的震动功能待实现');
337
+ // TODO: 实现鸿蒙震动逻辑
338
+ } else if (PlatformHelper.isAndroid()) {
316
339
  if (androidVibratePermissionStatus === -1) {
317
340
  androidVibratePermissionStatus = (await PermissionsAndroid.check(
318
341
  // @ts-ignore
@@ -325,8 +348,12 @@ export const Tool = {
325
348
  } catch (error) {}
326
349
  },
327
350
  isPad: () => {
328
- if (Platform.OS === 'ios') {
329
- return Platform.isPad;
351
+ if (PlatformHelper.isIOS()) {
352
+ return Platform.isPad ?? false;
353
+ } else if (PlatformHelper.isHarmony()) {
354
+ console.error('TODO: 鸿蒙平台的平板检测功能待实现');
355
+ // TODO: 实现鸿蒙平板检测逻辑
356
+ return false; // 暂时返回 false
330
357
  } else {
331
358
  return isTablet();
332
359
  }
@@ -335,7 +362,9 @@ export const Tool = {
335
362
  return isLandscapeSync() && Tool.isPad();
336
363
  },
337
364
  isHuaweiDevice: () => {
338
- if (Platform.OS !== 'android') return false;
365
+ // 鸿蒙设备肯定是华为设备
366
+ if (PlatformHelper.isHarmony()) return true;
367
+ if (!PlatformHelper.isAndroid()) return false;
339
368
  try {
340
369
  if (hasHmsSync()) return true;
341
370
  } catch {}
@@ -1 +1 @@
1
- {"version":3,"names":["AppLink","CameraRoll","useState","Alert","Linking","NativeModules","PermissionsAndroid","Platform","Vibration","getBrand","getDeviceId","getManufacturerSync","hasHmsSync","isLandscapeSync","isTablet","Toast","BuildInPrefs","PrefData","ReportUtil","ToolkitConfig","initToolkitConfig","config","_isPlainObject","target","toString","Object","getPrototypeOf","prototype","_jsonify","toJSON","Array","isArray","map","_getAlertDataFromConfig","undefined","ret","title","message","buttons","button","push","text","onPress","report","open","style","androidVibratePermissionStatus","VibrateEnable","Tool","sleep","delay","Promise","resolve","setTimeout","formatDate","date","fmt","o","getMonth","getDate","getHours","getMinutes","getSeconds","Math","floor","getMilliseconds","test","replace","RegExp","$1","getFullYear","substr","length","k","jsonify","keys","reduce","result","key","isChinese","value","isRemoteURL","str","startsWith","get_url_extension","url","_url$split$","split","pop","trim","generateObjectId","timestamp","Date","getTime","random","toLowerCase","humanFileSize","bytes","si","arguments","dp","thresh","abs","units","u","r","round","toFixed","useForceUpdate","setValue","showToast","toast","showWithGravity","SHORT","CENTER","alertWithConfig","alertData","alert","goAppStoreReview","OS","canOpenURL","then","supported","openURL","iOSReviewUrl","CheckPackageInstallation","isPackageInstalled","isInstalled","goToMarket","AndroidPackageName","AndroidStoreScheme","goUpgrade","iOSStoreScheme","AppWebsiteAlias","notifyMe","__DEV__","fetch","PushDeerUrl","encodeURIComponent","hasAndroidWritePermission","beforeRequest","permission","PERMISSIONS","WRITE_EXTERNAL_STORAGE","hasPermission","check","NCYAPI","checkManagePermission","sure","status","request","requestManagePermission","savePicture","albumName","console","log","errorCode","errMsg","save","type","album","AppName","error","JSON","stringify","extension","ReactNativeBlobUtil","require","default","res","fileCache","appendExt","path","e1","setVibrateEnable","enable","Vibrate","getVibrateEnable","vibrate","getValue","_NativeModules$NCYVib","NCYVibration","isPad","isHorizontalPad","isHuaweiDevice","some","name","includes"],"sources":["Tool.ts"],"sourcesContent":["import { AppLink } from '@norcy/react-native-toolkit';\nimport CameraRoll from '@react-native-community/cameraroll';\nimport { useState } from 'react';\nimport {\n Alert,\n Linking,\n NativeModules,\n PermissionsAndroid,\n Platform,\n Vibration,\n} from 'react-native';\nimport {\n getBrand,\n getDeviceId,\n getManufacturerSync,\n hasHmsSync,\n isLandscapeSync,\n isTablet,\n} from 'react-native-device-info';\nimport Toast from 'react-native-simple-toast';\nimport { BuildInPrefs, PrefData } from './PrefData';\nimport { ReportUtil } from './ReportUtil';\n\nexport interface ToolkitConfigType {\n iOSStoreUrl: string;\n AndroidStoreUrl: string;\n iOSStoreScheme: string;\n AndroidStoreScheme: string;\n iOSReviewUrl: string;\n AndroidPackageName: string;\n\n AppName: string;\n AppWebsite: string;\n AppWebsiteAlias: string;\n AppScheme: string;\n\n PolicyUrl: string;\n TermsUrl: string;\n\n PushDeerUrl: string;\n\n RC_API_KEY: string;\n RC_ENTITLEMENT_ID: string;\n RC_PROXY_URL: string;\n WeChatPayServer: string;\n WeiXinId: string;\n WeiXinSecret: string;\n\n SentryDSN: string;\n}\n\ninterface AlertConfig {\n title?: string;\n message?: string;\n buttons: {\n text: string;\n target?: string;\n report?: string;\n }[];\n}\n\nexport let ToolkitConfig: ToolkitConfigType;\n\nexport const initToolkitConfig = (config: ToolkitConfigType) => {\n ToolkitConfig = config;\n};\n\nconst _isPlainObject = (target: any) => {\n return (\n target &&\n target.toString() === '[object Object]' &&\n Object.getPrototypeOf(target) === Object.prototype\n );\n};\n\nconst _jsonify = (target: any): any => {\n if (target && typeof target.toJSON === 'function') return target.toJSON();\n // map() 方法创建一个新数组,其结果是该数组中的每个元素都调用一次提供的函数后的返回值\n if (Array.isArray(target)) return target.map(_jsonify);\n return target;\n};\n\nconst _getAlertDataFromConfig = (config?: AlertConfig) => {\n if (!config) {\n return undefined;\n }\n\n const ret: any = {\n title: config.title,\n message: config.message,\n };\n\n const buttons: any = [];\n\n for (const button of config.buttons) {\n if (button.target) {\n buttons.push({\n text: button.text,\n onPress: () => {\n button.report && ReportUtil.report(button.report);\n AppLink.open(button.target);\n },\n });\n } else {\n buttons.push({\n text: button.text,\n style: 'cancel',\n });\n }\n }\n\n ret.buttons = buttons;\n\n return ret;\n};\n\nlet androidVibratePermissionStatus = -1;\n\nlet VibrateEnable: boolean | undefined;\n\nexport const Tool = {\n sleep: (delay: number) =>\n new Promise((resolve) => setTimeout(resolve, delay)),\n\n formatDate(date: Date, fmt?: string): string {\n fmt = fmt ? fmt : 'yyyy-MM-dd';\n var o: { [key: string]: number } = {\n 'M+': date.getMonth() + 1, //月份\n 'd+': date.getDate(), //日\n 'h+': date.getHours(), //小时\n 'm+': date.getMinutes(), //分\n 's+': date.getSeconds(), //秒\n 'q+': Math.floor((date.getMonth() + 3) / 3), //季度\n 'S': date.getMilliseconds(), //毫秒\n };\n\n // 获取年份\n if (/(y+)/i.test(fmt)) {\n fmt = fmt.replace(\n RegExp.$1,\n (date.getFullYear() + '').substr(4 - RegExp.$1.length)\n );\n }\n\n for (var k in o) {\n if (new RegExp('(' + k + ')', 'i').test(fmt)) {\n fmt = fmt.replace(\n RegExp.$1,\n (RegExp.$1.length === 1\n ? o[k]\n : ('00' + o[k]).substr(('' + o[k]).length)\n ).toString()\n );\n }\n }\n return fmt;\n },\n\n jsonify: (target: any) =>\n _isPlainObject(target)\n ? Object.keys(target).reduce(\n (result, key) => ({\n ...result,\n [key]: _jsonify(target[key]),\n }),\n {}\n )\n : _jsonify(target),\n\n isChinese: (value: string) => {\n return /[\\u4E00-\\u9FA5]+/g.test(value);\n },\n\n isRemoteURL: (str: string) => {\n return str.startsWith('http');\n },\n\n get_url_extension: (url: string) => {\n return url.split(/[#?]/)[0]?.split('.')?.pop()?.trim();\n },\n\n generateObjectId: () => {\n var timestamp = ((new Date().getTime() / 1000) | 0).toString(16); // eslint-disable-line no-bitwise\n return (\n timestamp +\n 'xxxxxxxxxxxxxxxx'.replace(/[x]/g, function () {\n return ((Math.random() * 16) | 0).toString(16).toLowerCase(); // eslint-disable-line no-bitwise\n })\n );\n },\n\n /**\n * Format bytes as human-readable text.\n *\n * @param bytes Number of bytes.\n * @param si True to use metric (SI) units, aka powers of 1000. False to use\n * binary (IEC), aka powers of 1024.\n * @param dp Number of decimal places to display.\n *\n * @return Formatted string.\n */\n humanFileSize: (bytes: number, si = false, dp = 1) => {\n const thresh = si ? 1000 : 1024;\n\n if (Math.abs(bytes) < thresh) {\n return bytes + ' B';\n }\n\n const units = ['KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];\n let u = -1;\n const r = 10 ** dp;\n\n do {\n bytes /= thresh;\n ++u;\n } while (\n Math.round(Math.abs(bytes) * r) / r >= thresh &&\n u < units.length - 1\n );\n\n return bytes.toFixed(dp) + ' ' + units[u];\n },\n\n useForceUpdate: () => {\n const [, setValue] = useState(0);\n return () => setValue((value) => value + 1);\n },\n\n showToast: (toast: string) => {\n if (toast) {\n Toast.showWithGravity(toast, Toast.SHORT, Toast.CENTER);\n }\n },\n\n alertWithConfig: (config?: AlertConfig) => {\n const alertData = _getAlertDataFromConfig(config);\n if (alertData) {\n Alert.alert(alertData.title, alertData.message, alertData.buttons);\n return true;\n }\n return false;\n },\n\n goAppStoreReview: () => {\n ReportUtil.report('StoreReview');\n if (Platform.OS === 'ios') {\n Linking.canOpenURL('itms-apps://').then((supported) => {\n if (supported) {\n Linking.openURL(ToolkitConfig.iOSReviewUrl);\n }\n });\n } else {\n if (NativeModules.CheckPackageInstallation) {\n NativeModules.CheckPackageInstallation.isPackageInstalled(\n 'com.coolapk.market',\n (isInstalled: boolean) => {\n if (isInstalled) {\n if (NativeModules.CheckPackageInstallation.goToMarket) {\n NativeModules.CheckPackageInstallation.goToMarket(\n ToolkitConfig.AndroidPackageName,\n 'com.coolapk.market',\n 'com.coolapk.market.activity.AppViewActivity'\n );\n } else {\n Tool.showToast('请用酷安市场打开');\n Linking.openURL(ToolkitConfig.AndroidStoreScheme);\n }\n } else {\n Tool.showToast('需要先安装酷安市场');\n }\n }\n );\n }\n }\n },\n\n goUpgrade: () => {\n if (Platform.OS === 'ios') {\n Linking.canOpenURL('itms-apps://').then((supported) => {\n if (supported) {\n Linking.openURL(ToolkitConfig.iOSStoreScheme);\n }\n });\n } else {\n // 使用短链别名,不然 Android 的 AppLink 会直接吃掉官网,导致 App 内无法使用浏览器打开官网\n Linking.openURL(ToolkitConfig.AppWebsiteAlias);\n }\n },\n\n notifyMe: async (text: string) => {\n if (!__DEV__) {\n await fetch(ToolkitConfig.PushDeerUrl + encodeURIComponent(text));\n }\n },\n\n hasAndroidWritePermission: async (beforeRequest?: () => Promise<boolean>) => {\n if (Platform.OS !== 'android') {\n return true;\n }\n\n const permission = PermissionsAndroid.PERMISSIONS.WRITE_EXTERNAL_STORAGE;\n\n const hasPermission = await PermissionsAndroid.check(permission);\n if (hasPermission) {\n return true;\n }\n\n // 对 MANAGE_EXTERNAL_STORAGE 再检查一次\n if (NativeModules.NCYAPI.checkManagePermission) {\n if (await NativeModules.NCYAPI.checkManagePermission()) {\n return true;\n }\n }\n\n if (beforeRequest) {\n const sure = await beforeRequest();\n if (!sure) {\n return false;\n }\n }\n\n const status = await PermissionsAndroid.request(permission);\n if (status === 'granted') {\n return true;\n }\n\n if (NativeModules.NCYAPI.requestManagePermission) {\n if (await NativeModules.NCYAPI.requestManagePermission()) {\n return true;\n }\n }\n\n return false;\n },\n\n savePicture: async (\n url: string,\n albumName?: string,\n beforeRequest?: () => Promise<boolean>\n ) => {\n console.log('savePicture', url);\n\n if (!url) {\n return { errorCode: -5, errMsg: 'url is empty' };\n }\n\n // 检查权限\n if (\n Platform.OS === 'android' &&\n !(await Tool.hasAndroidWritePermission(beforeRequest))\n ) {\n return { errorCode: -1 };\n }\n\n // iOS 或本地图片直接保存\n if (Platform.OS === 'ios' || !Tool.isRemoteURL(url)) {\n try {\n await CameraRoll.save(url, {\n type: 'photo',\n album: albumName ?? ToolkitConfig.AppName,\n });\n return { errorCode: 0 };\n } catch (error: any) {\n console.error(error);\n return { errorCode: -2, errMsg: JSON.stringify(error) };\n }\n }\n\n // 安卓远程图片需要下载\n const extension = Tool.get_url_extension(url);\n try {\n if (!NativeModules.ReactNativeBlobUtil) {\n Tool.goUpgrade();\n return { errorCode: -5, errMsg: 'low version' };\n }\n let ReactNativeBlobUtil = require('react-native-blob-util').default;\n const res = await ReactNativeBlobUtil!\n .config({\n fileCache: true,\n appendExt: extension,\n })\n .fetch('GET', url, {});\n // the temp file path\n console.log('The file saved to ', res.path());\n try {\n await CameraRoll.save('file://' + res.path(), {\n type: 'photo',\n album: albumName,\n });\n return { errorCode: 0 };\n } catch (e1) {\n console.error(e1 + '\\n' + res.path());\n return { errorCode: -3, errMsg: JSON.stringify(e1) };\n }\n } catch (error) {\n console.error(error);\n return { errorCode: -4, errMsg: JSON.stringify(error) };\n }\n },\n\n setVibrateEnable: (enable: boolean) => {\n PrefData.setValue(BuildInPrefs.Vibrate, enable);\n VibrateEnable = enable;\n },\n\n getVibrateEnable: () => {\n return VibrateEnable === undefined ? true : VibrateEnable;\n },\n\n vibrate: async () => {\n try {\n if (VibrateEnable === undefined) {\n VibrateEnable = PrefData.getValue(BuildInPrefs.Vibrate);\n }\n if (!VibrateEnable) {\n return;\n }\n if (Platform.OS === 'ios') {\n NativeModules.NCYVibration?.vibrate();\n } else {\n if (androidVibratePermissionStatus === -1) {\n androidVibratePermissionStatus = (await PermissionsAndroid.check(\n // @ts-ignore\n 'android.permission.VIBRATE'\n ))\n ? 1\n : 0;\n }\n if (androidVibratePermissionStatus === 1) {\n Vibration.vibrate(5);\n }\n }\n } catch (error) {}\n },\n\n isPad: () => {\n if (Platform.OS === 'ios') {\n return Platform.isPad;\n } else {\n return isTablet();\n }\n },\n\n isHorizontalPad: () => {\n return isLandscapeSync() && Tool.isPad();\n },\n\n isHuaweiDevice: () => {\n if (Platform.OS !== 'android') return false;\n try {\n if (hasHmsSync()) return true;\n } catch {}\n return [getManufacturerSync(), getBrand(), getDeviceId()].some(\n (name) =>\n name.toLowerCase().includes('huawei') ||\n name.toLowerCase().includes('honor')\n );\n },\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["AppLink","CameraRoll","useState","Alert","Linking","NativeModules","PermissionsAndroid","Platform","Vibration","getBrand","getDeviceId","getManufacturerSync","hasHmsSync","isLandscapeSync","isTablet","Toast","PlatformHelper","BuildInPrefs","PrefData","ReportUtil","ToolkitConfig","initToolkitConfig","config","_isPlainObject","target","toString","Object","getPrototypeOf","prototype","_jsonify","toJSON","Array","isArray","map","_getAlertDataFromConfig","undefined","ret","title","message","buttons","button","push","text","onPress","report","open","style","androidVibratePermissionStatus","VibrateEnable","Tool","sleep","delay","Promise","resolve","setTimeout","formatDate","date","fmt","o","getMonth","getDate","getHours","getMinutes","getSeconds","Math","floor","getMilliseconds","test","replace","RegExp","$1","getFullYear","substr","length","k","jsonify","keys","reduce","result","key","isChinese","value","isRemoteURL","str","startsWith","get_url_extension","url","split","pop","trim","generateObjectId","timestamp","Date","getTime","random","toLowerCase","humanFileSize","bytes","si","dp","thresh","abs","units","u","r","round","toFixed","useForceUpdate","setValue","showToast","toast","showWithGravity","SHORT","CENTER","alertWithConfig","alertData","alert","goAppStoreReview","isIOS","canOpenURL","then","supported","openURL","iOSReviewUrl","isHarmony","console","error","isAndroid","CheckPackageInstallation","isPackageInstalled","isInstalled","goToMarket","AndroidPackageName","AndroidStoreScheme","goUpgrade","iOSStoreScheme","AppWebsiteAlias","notifyMe","__DEV__","fetch","PushDeerUrl","encodeURIComponent","hasAndroidWritePermission","beforeRequest","permission","PERMISSIONS","WRITE_EXTERNAL_STORAGE","hasPermission","check","NCYAPI","checkManagePermission","sure","status","request","requestManagePermission","savePicture","albumName","log","errorCode","errMsg","save","type","album","AppName","JSON","stringify","extension","ReactNativeBlobUtil","require","default","res","fileCache","appendExt","path","e1","setVibrateEnable","enable","Vibrate","getVibrateEnable","vibrate","getValue","NCYVibration","isPad","isHorizontalPad","isHuaweiDevice","some","name","includes"],"sourceRoot":"../../src","sources":["Tool.ts"],"mappings":"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","ignoreList":[]}