@norcy/react-native-toolkit 0.1.34 → 0.1.35

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.
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","_reactNativeDeviceInfo","_ConfigDataModel","_Frequence","_LoginManager","_PrefData","_Tool","_VipManager","AV","EventEmitter","eventEmitter","semverGt","semverGte","semverCoerce","isDataLoaded","MyMessages","_filterByVersion","items","ret","curVer","getReadableVersion","version","item","_item$minVer","_item$maxVer","minVer","trim","maxVer","length","push","_filterByVip","isVip","VipManager","isForeverVip","vipFilter","_filterByUser","users","LoginManager","isLogin","_LoginManager$current","includes","currentUser","AVUser","get","_handleReadMessages","__DEV__","readMsgs","PrefData","getValue","BuildInPrefs","Messages","objectId","isRead","_item$key","key","config","ConfigDataModel","getVersionConfig","hasNewVersion","updatedAt","Date","toString","freConfig","limit","gap","FrequenceManager","canRun","markFinishForTime","markFinishForCount","MessageModel","exports","fetch","query","Query","equalTo","Platform","OS","descending","find","then","console","log","map","Tool","jsonify","sort","a","b","dateA","getTime","dateB","emitChange","catch","e","error","getUnreadMessages","filter","getAllMessages","markMessageRead","message","setValue","handleMessageAction","url","navigation","startsWith","ToolkitConfig","iOSStoreUrl","AndroidStoreUrl","goAppStoreReview","Linking","canOpenURL","supported","openURL","navigate","emit","slice","addListenerOnce","callback","once"],"sources":["MessageModel.ts"],"sourcesContent":["import { NavigationProp, ParamListBase } from '@react-navigation/native';\nimport { Linking, Platform } from 'react-native';\nimport { getReadableVersion } from 'react-native-device-info';\nimport { ConfigDataModel } from './ConfigDataModel';\nimport { FreConfigType, FrequenceManager } from './Frequence';\nimport { LoginManager } from './LoginManager';\nimport { BuildInPrefs, PrefData } from './PrefData';\nimport { Tool, ToolkitConfig } from './Tool';\nimport { VipManager } from './VipManager';\n\nconst AV = require('leancloud-storage');\nconst EventEmitter = require('events').EventEmitter;\nconst eventEmitter = new EventEmitter();\nconst semverGt = require('semver/functions/gt');\nconst semverGte = require('semver/functions/gte');\nconst semverCoerce = require('semver/functions/coerce');\n\nlet isDataLoaded = false;\n\ninterface 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}\n\nlet MyMessages: Message[] = [];\n\nconst _filterByVersion = (items: Message[]): Message[] => {\n let ret: Message[] = [];\n const curVer = semverCoerce(getReadableVersion()).version;\n for (const item of items) {\n const minVer = item.minVer?.trim();\n const maxVer = item.maxVer?.trim();\n // 确保 cur 处于 [minVer, maxVer)\n if (minVer?.length && semverGt(semverCoerce(minVer).version, curVer)) {\n continue;\n }\n if (maxVer?.length && semverGte(curVer, semverCoerce(maxVer).version)) {\n continue;\n }\n\n ret.push(item);\n }\n return ret;\n};\n\nconst _filterByVip = (items: Message[]): Message[] => {\n let ret: Message[] = [];\n const isVip = VipManager.isVip();\n const isForeverVip = VipManager.isForeverVip();\n for (const item of items) {\n const vipFilter = item.vipFilter;\n if (\n vipFilter === 0 ||\n (vipFilter === 1 && !isVip) ||\n (vipFilter === 2 && !isForeverVip)\n ) {\n ret.push(item);\n }\n }\n return ret;\n};\n\nconst _filterByUser = (items: Message[]): Message[] => {\n let ret: Message[] = [];\n for (const item of items) {\n const users = item.users;\n if (users?.length) {\n if (LoginManager.isLogin()) {\n if (\n users?.includes(LoginManager.currentUser()?.AVUser.get('objectId'))\n ) {\n ret.push(item);\n }\n }\n } else {\n ret.push(item);\n }\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 const config = ConfigDataModel.getVersionConfig();\n if (ConfigDataModel.get('upgrade_alert') && config.hasNewVersion) {\n item.isRead = false;\n item.updatedAt = new Date().toString();\n }\n } else if (item.key?.length) {\n const freConfig: FreConfigType = {\n key: item.key,\n limit: item.limit,\n gap: item.gap,\n };\n if (FrequenceManager.canRun(freConfig)) {\n if (freConfig.gap) {\n FrequenceManager.markFinishForTime(freConfig);\n } else if (freConfig.limit) {\n FrequenceManager.markFinishForCount(freConfig);\n }\n\n item.isRead = false;\n item.updatedAt = new Date().toString();\n }\n }\n }\n\n return items;\n};\n\nexport const MessageModel = {\n fetch: () => {\n const query = new AV.Query('Message');\n query\n .equalTo('valid', true)\n .equalTo(Platform.OS, true)\n .descending('updatedAt');\n query\n .find()\n .then(async (items: any[]) => {\n console.log('Message 抓取完毕');\n MyMessages = items.map((item) => Tool.jsonify(item));\n MyMessages = _filterByVersion(MyMessages);\n MyMessages = _filterByVip(MyMessages);\n MyMessages = _filterByUser(MyMessages);\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 isDataLoaded = true;\n MessageModel.emitChange();\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 markMessageRead: async (message: Message) => {\n if (message.isRead || !message.objectId) {\n return;\n }\n message.isRead = true;\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 handleMessageAction: (\n url: string,\n navigation: NavigationProp<ParamListBase>\n ) => {\n if (\n url.startsWith(ToolkitConfig.iOSStoreUrl) ||\n url.startsWith(ToolkitConfig.AndroidStoreUrl)\n ) {\n Tool.goAppStoreReview();\n return;\n }\n\n if (url?.length > 0) {\n Linking.canOpenURL(url)\n .then((supported) => {\n if (supported) {\n Linking.openURL(url);\n } else {\n navigation.navigate(url);\n }\n })\n .catch(() => {\n navigation.navigate(url);\n });\n }\n },\n\n emitChange: () => {\n eventEmitter.emit('change', MyMessages.slice());\n },\n\n addListenerOnce: (callback: Function) => {\n if (isDataLoaded) {\n callback && callback();\n return;\n }\n eventEmitter.once('change', callback);\n },\n};\n"],"mappings":";;;;;;AACA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,sBAAA,GAAAD,OAAA;AACA,IAAAE,gBAAA,GAAAF,OAAA;AACA,IAAAG,UAAA,GAAAH,OAAA;AACA,IAAAI,aAAA,GAAAJ,OAAA;AACA,IAAAK,SAAA,GAAAL,OAAA;AACA,IAAAM,KAAA,GAAAN,OAAA;AACA,IAAAO,WAAA,GAAAP,OAAA;AAEA,MAAMQ,EAAE,GAAGR,OAAO,CAAC,mBAAmB,CAAC;AACvC,MAAMS,YAAY,GAAGT,OAAO,CAAC,QAAQ,CAAC,CAACS,YAAY;AACnD,MAAMC,YAAY,GAAG,IAAID,YAAY,CAAC,CAAC;AACvC,MAAME,QAAQ,GAAGX,OAAO,CAAC,qBAAqB,CAAC;AAC/C,MAAMY,SAAS,GAAGZ,OAAO,CAAC,sBAAsB,CAAC;AACjD,MAAMa,YAAY,GAAGb,OAAO,CAAC,yBAAyB,CAAC;AAEvD,IAAIc,YAAY,GAAG,KAAK;AAoBxB,IAAIC,UAAqB,GAAG,EAAE;AAE9B,MAAMC,gBAAgB,GAAIC,KAAgB,IAAgB;EACxD,IAAIC,GAAc,GAAG,EAAE;EACvB,MAAMC,MAAM,GAAGN,YAAY,CAAC,IAAAO,yCAAkB,EAAC,CAAC,CAAC,CAACC,OAAO;EACzD,KAAK,MAAMC,IAAI,IAAIL,KAAK,EAAE;IAAA,IAAAM,YAAA,EAAAC,YAAA;IACxB,MAAMC,MAAM,IAAAF,YAAA,GAAGD,IAAI,CAACG,MAAM,cAAAF,YAAA,uBAAXA,YAAA,CAAaG,IAAI,CAAC,CAAC;IAClC,MAAMC,MAAM,IAAAH,YAAA,GAAGF,IAAI,CAACK,MAAM,cAAAH,YAAA,uBAAXA,YAAA,CAAaE,IAAI,CAAC,CAAC;IAClC;IACA,IAAID,MAAM,aAANA,MAAM,eAANA,MAAM,CAAEG,MAAM,IAAIjB,QAAQ,CAACE,YAAY,CAACY,MAAM,CAAC,CAACJ,OAAO,EAAEF,MAAM,CAAC,EAAE;MACpE;IACF;IACA,IAAIQ,MAAM,aAANA,MAAM,eAANA,MAAM,CAAEC,MAAM,IAAIhB,SAAS,CAACO,MAAM,EAAEN,YAAY,CAACc,MAAM,CAAC,CAACN,OAAO,CAAC,EAAE;MACrE;IACF;IAEAH,GAAG,CAACW,IAAI,CAACP,IAAI,CAAC;EAChB;EACA,OAAOJ,GAAG;AACZ,CAAC;AAED,MAAMY,YAAY,GAAIb,KAAgB,IAAgB;EACpD,IAAIC,GAAc,GAAG,EAAE;EACvB,MAAMa,KAAK,GAAGC,sBAAU,CAACD,KAAK,CAAC,CAAC;EAChC,MAAME,YAAY,GAAGD,sBAAU,CAACC,YAAY,CAAC,CAAC;EAC9C,KAAK,MAAMX,IAAI,IAAIL,KAAK,EAAE;IACxB,MAAMiB,SAAS,GAAGZ,IAAI,CAACY,SAAS;IAChC,IACEA,SAAS,KAAK,CAAC,IACdA,SAAS,KAAK,CAAC,IAAI,CAACH,KAAM,IAC1BG,SAAS,KAAK,CAAC,IAAI,CAACD,YAAa,EAClC;MACAf,GAAG,CAACW,IAAI,CAACP,IAAI,CAAC;IAChB;EACF;EACA,OAAOJ,GAAG;AACZ,CAAC;AAED,MAAMiB,aAAa,GAAIlB,KAAgB,IAAgB;EACrD,IAAIC,GAAc,GAAG,EAAE;EACvB,KAAK,MAAMI,IAAI,IAAIL,KAAK,EAAE;IACxB,MAAMmB,KAAK,GAAGd,IAAI,CAACc,KAAK;IACxB,IAAIA,KAAK,aAALA,KAAK,eAALA,KAAK,CAAER,MAAM,EAAE;MACjB,IAAIS,0BAAY,CAACC,OAAO,CAAC,CAAC,EAAE;QAAA,IAAAC,qBAAA;QAC1B,IACEH,KAAK,aAALA,KAAK,eAALA,KAAK,CAAEI,QAAQ,EAAAD,qBAAA,GAACF,0BAAY,CAACI,WAAW,CAAC,CAAC,cAAAF,qBAAA,uBAA1BA,qBAAA,CAA4BG,MAAM,CAACC,GAAG,CAAC,UAAU,CAAC,CAAC,EACnE;UACAzB,GAAG,CAACW,IAAI,CAACP,IAAI,CAAC;QAChB;MACF;IACF,CAAC,MAAM;MACLJ,GAAG,CAACW,IAAI,CAACP,IAAI,CAAC;IAChB;EACF;EACA,OAAOJ,GAAG;AACZ,CAAC;AAED,MAAM0B,mBAAmB,GAAI3B,KAAgB,IAAgB;EAC3D,IAAI4B,OAAO,EAAE;IACX;EAAA;;EAGF;EACA,MAAMC,QAAQ,GAAGC,kBAAQ,CAACC,QAAQ,CAACC,sBAAY,CAACC,QAAQ,CAAC;EACzD,KAAK,MAAM5B,IAAI,IAAIL,KAAK,EAAE;IACxB,IAAI6B,QAAQ,CAACN,QAAQ,CAAClB,IAAI,CAAC6B,QAAQ,CAAC,EAAE;MACpC7B,IAAI,CAAC8B,MAAM,GAAG,IAAI;IACpB;EACF;;EAEA;EACA,KAAK,MAAM9B,IAAI,IAAIL,KAAK,EAAE;IAAA,IAAAoC,SAAA;IACxB,IAAI,CAAC/B,IAAI,CAAC8B,MAAM,EAAE;MAChB;IACF;IACA,IAAI9B,IAAI,CAACgC,GAAG,KAAK,WAAW,EAAE;MAC5B;MACA;MACA,MAAMC,MAAM,GAAGC,gCAAe,CAACC,gBAAgB,CAAC,CAAC;MACjD,IAAID,gCAAe,CAACb,GAAG,CAAC,eAAe,CAAC,IAAIY,MAAM,CAACG,aAAa,EAAE;QAChEpC,IAAI,CAAC8B,MAAM,GAAG,KAAK;QACnB9B,IAAI,CAACqC,SAAS,GAAG,IAAIC,IAAI,CAAC,CAAC,CAACC,QAAQ,CAAC,CAAC;MACxC;IACF,CAAC,MAAM,KAAAR,SAAA,GAAI/B,IAAI,CAACgC,GAAG,cAAAD,SAAA,eAARA,SAAA,CAAUzB,MAAM,EAAE;MAC3B,MAAMkC,SAAwB,GAAG;QAC/BR,GAAG,EAAEhC,IAAI,CAACgC,GAAG;QACbS,KAAK,EAAEzC,IAAI,CAACyC,KAAK;QACjBC,GAAG,EAAE1C,IAAI,CAAC0C;MACZ,CAAC;MACD,IAAIC,2BAAgB,CAACC,MAAM,CAACJ,SAAS,CAAC,EAAE;QACtC,IAAIA,SAAS,CAACE,GAAG,EAAE;UACjBC,2BAAgB,CAACE,iBAAiB,CAACL,SAAS,CAAC;QAC/C,CAAC,MAAM,IAAIA,SAAS,CAACC,KAAK,EAAE;UAC1BE,2BAAgB,CAACG,kBAAkB,CAACN,SAAS,CAAC;QAChD;QAEAxC,IAAI,CAAC8B,MAAM,GAAG,KAAK;QACnB9B,IAAI,CAACqC,SAAS,GAAG,IAAIC,IAAI,CAAC,CAAC,CAACC,QAAQ,CAAC,CAAC;MACxC;IACF;EACF;EAEA,OAAO5C,KAAK;AACd,CAAC;AAEM,MAAMoD,YAAY,GAAAC,OAAA,CAAAD,YAAA,GAAG;EAC1BE,KAAK,EAAEA,CAAA,KAAM;IACX,MAAMC,KAAK,GAAG,IAAIhE,EAAE,CAACiE,KAAK,CAAC,SAAS,CAAC;IACrCD,KAAK,CACFE,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CACtBA,OAAO,CAACC,qBAAQ,CAACC,EAAE,EAAE,IAAI,CAAC,CAC1BC,UAAU,CAAC,WAAW,CAAC;IAC1BL,KAAK,CACFM,IAAI,CAAC,CAAC,CACNC,IAAI,CAAC,MAAO9D,KAAY,IAAK;MAC5B+D,OAAO,CAACC,GAAG,CAAC,cAAc,CAAC;MAC3BlE,UAAU,GAAGE,KAAK,CAACiE,GAAG,CAAE5D,IAAI,IAAK6D,UAAI,CAACC,OAAO,CAAC9D,IAAI,CAAC,CAAC;MACpDP,UAAU,GAAGC,gBAAgB,CAACD,UAAU,CAAC;MACzCA,UAAU,GAAGe,YAAY,CAACf,UAAU,CAAC;MACrCA,UAAU,GAAGoB,aAAa,CAACpB,UAAU,CAAC;MACtCA,UAAU,GAAG6B,mBAAmB,CAAC7B,UAAU,CAAC;;MAE5C;MACAA,UAAU,GAAGA,UAAU,CAACsE,IAAI,CAAC,CAACC,CAAU,EAAEC,CAAU,KAAK;QACvD,IAAIC,KAAK,GAAG,IAAI5B,IAAI,CAAC0B,CAAC,CAAC3B,SAAS,CAAC,CAAC8B,OAAO,CAAC,CAAC;QAC3C,IAAIC,KAAK,GAAG,IAAI9B,IAAI,CAAC2B,CAAC,CAAC5B,SAAS,CAAC,CAAC8B,OAAO,CAAC,CAAC;QAC3C,OAAOC,KAAK,GAAGF,KAAK;MACtB,CAAC,CAAC;MACF1E,YAAY,GAAG,IAAI;MACnBuD,YAAY,CAACsB,UAAU,CAAC,CAAC;IAC3B,CAAC,CAAC,CACDC,KAAK,CAAEC,CAAM,IAAK;MACjBb,OAAO,CAACc,KAAK,CAACD,CAAC,CAAC;IAClB,CAAC,CAAC;EACN,CAAC;EAEDE,iBAAiB,EAAEA,CAAA,KAAiB;IAClC,OAAOhF,UAAU,CAACiF,MAAM,CAAE1E,IAAI,IAAK,CAACA,IAAI,CAAC8B,MAAM,CAAC;EAClD,CAAC;EAED6C,cAAc,EAAEA,CAAA,KAAiB;IAC/B,OAAOlF,UAAU;EACnB,CAAC;EAEDmF,eAAe,EAAE,MAAOC,OAAgB,IAAK;IAC3C,IAAIA,OAAO,CAAC/C,MAAM,IAAI,CAAC+C,OAAO,CAAChD,QAAQ,EAAE;MACvC;IACF;IACAgD,OAAO,CAAC/C,MAAM,GAAG,IAAI;IACrB,MAAMN,QAAQ,GAAGC,kBAAQ,CAACC,QAAQ,CAACC,sBAAY,CAACC,QAAQ,CAAC;IACzDJ,QAAQ,CAACjB,IAAI,CAACsE,OAAO,CAAChD,QAAQ,CAAC;IAC/B,MAAMJ,kBAAQ,CAACqD,QAAQ,CAACnD,sBAAY,CAACC,QAAQ,EAAEJ,QAAQ,CAAC;IACxDuB,YAAY,CAACsB,UAAU,CAAC,CAAC;EAC3B,CAAC;EAEDU,mBAAmB,EAAEA,CACnBC,GAAW,EACXC,UAAyC,KACtC;IACH,IACED,GAAG,CAACE,UAAU,CAACC,mBAAa,CAACC,WAAW,CAAC,IACzCJ,GAAG,CAACE,UAAU,CAACC,mBAAa,CAACE,eAAe,CAAC,EAC7C;MACAxB,UAAI,CAACyB,gBAAgB,CAAC,CAAC;MACvB;IACF;IAEA,IAAI,CAAAN,GAAG,aAAHA,GAAG,uBAAHA,GAAG,CAAE1E,MAAM,IAAG,CAAC,EAAE;MACnBiF,oBAAO,CAACC,UAAU,CAACR,GAAG,CAAC,CACpBvB,IAAI,CAAEgC,SAAS,IAAK;QACnB,IAAIA,SAAS,EAAE;UACbF,oBAAO,CAACG,OAAO,CAACV,GAAG,CAAC;QACtB,CAAC,MAAM;UACLC,UAAU,CAACU,QAAQ,CAACX,GAAG,CAAC;QAC1B;MACF,CAAC,CAAC,CACDV,KAAK,CAAC,MAAM;QACXW,UAAU,CAACU,QAAQ,CAACX,GAAG,CAAC;MAC1B,CAAC,CAAC;IACN;EACF,CAAC;EAEDX,UAAU,EAAEA,CAAA,KAAM;IAChBjF,YAAY,CAACwG,IAAI,CAAC,QAAQ,EAAEnG,UAAU,CAACoG,KAAK,CAAC,CAAC,CAAC;EACjD,CAAC;EAEDC,eAAe,EAAGC,QAAkB,IAAK;IACvC,IAAIvG,YAAY,EAAE;MAChBuG,QAAQ,IAAIA,QAAQ,CAAC,CAAC;MACtB;IACF;IACA3G,YAAY,CAAC4G,IAAI,CAAC,QAAQ,EAAED,QAAQ,CAAC;EACvC;AACF,CAAC"}
1
+ {"version":3,"names":["_reactNative","require","_reactNativeDeviceInfo","_ConfigDataModel","_Frequence","_LoginManager","_PrefData","_Tool","_VipManager","AV","EventEmitter","eventEmitter","semverGt","semverGte","semverCoerce","isDataLoaded","MyMessages","_filterByVersion","items","ret","curVer","getReadableVersion","version","item","_item$minVer","_item$maxVer","minVer","trim","maxVer","length","push","_filterByVip","isVip","VipManager","isForeverVip","vipFilter","_filterByUser","users","LoginManager","isLogin","_LoginManager$current","includes","currentUser","AVUser","get","_handleReadMessages","__DEV__","readMsgs","PrefData","getValue","BuildInPrefs","Messages","objectId","isRead","_item$key","key","config","ConfigDataModel","getVersionConfig","hasNewVersion","updatedAt","Date","toString","freConfig","limit","gap","FrequenceManager","canRun","markFinishForTime","markFinishForCount","MessageModel","exports","fetch","query","Query","equalTo","Platform","OS","descending","find","then","console","log","map","Tool","jsonify","sort","a","b","dateA","getTime","dateB","emitChange","catch","e","error","getUnreadMessages","filter","getAllMessages","markMessageRead","message","setValue","handleMessageAction","url","navigation","startsWith","ToolkitConfig","iOSStoreUrl","AndroidStoreUrl","goAppStoreReview","Linking","canOpenURL","supported","openURL","navigate","emit","slice","addListenerOnce","callback","once"],"sources":["MessageModel.ts"],"sourcesContent":["import { NavigationProp, ParamListBase } from '@react-navigation/native';\nimport { Linking, Platform } from 'react-native';\nimport { getReadableVersion } from 'react-native-device-info';\nimport { ConfigDataModel } from './ConfigDataModel';\nimport { FreConfigType, FrequenceManager } from './Frequence';\nimport { LoginManager } from './LoginManager';\nimport { BuildInPrefs, PrefData } from './PrefData';\nimport { Tool, ToolkitConfig } from './Tool';\nimport { VipManager } from './VipManager';\n\nconst AV = require('leancloud-storage');\nconst EventEmitter = require('events').EventEmitter;\nconst eventEmitter = new EventEmitter();\nconst semverGt = require('semver/functions/gt');\nconst semverGte = require('semver/functions/gte');\nconst semverCoerce = require('semver/functions/coerce');\n\nlet isDataLoaded = false;\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}\n\nlet MyMessages: Message[] = [];\n\nconst _filterByVersion = (items: Message[]): Message[] => {\n let ret: Message[] = [];\n const curVer = semverCoerce(getReadableVersion()).version;\n for (const item of items) {\n const minVer = item.minVer?.trim();\n const maxVer = item.maxVer?.trim();\n // 确保 cur 处于 [minVer, maxVer)\n if (minVer?.length && semverGt(semverCoerce(minVer).version, curVer)) {\n continue;\n }\n if (maxVer?.length && semverGte(curVer, semverCoerce(maxVer).version)) {\n continue;\n }\n\n ret.push(item);\n }\n return ret;\n};\n\nconst _filterByVip = (items: Message[]): Message[] => {\n let ret: Message[] = [];\n const isVip = VipManager.isVip();\n const isForeverVip = VipManager.isForeverVip();\n for (const item of items) {\n const vipFilter = item.vipFilter;\n if (\n vipFilter === 0 ||\n (vipFilter === 1 && !isVip) ||\n (vipFilter === 2 && !isForeverVip)\n ) {\n ret.push(item);\n }\n }\n return ret;\n};\n\nconst _filterByUser = (items: Message[]): Message[] => {\n let ret: Message[] = [];\n for (const item of items) {\n const users = item.users;\n if (users?.length) {\n if (LoginManager.isLogin()) {\n if (\n users?.includes(LoginManager.currentUser()?.AVUser.get('objectId'))\n ) {\n ret.push(item);\n }\n }\n } else {\n ret.push(item);\n }\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 const config = ConfigDataModel.getVersionConfig();\n if (ConfigDataModel.get('upgrade_alert') && config.hasNewVersion) {\n item.isRead = false;\n item.updatedAt = new Date().toString();\n }\n } else if (item.key?.length) {\n const freConfig: FreConfigType = {\n key: item.key,\n limit: item.limit,\n gap: item.gap,\n };\n if (FrequenceManager.canRun(freConfig)) {\n if (freConfig.gap) {\n FrequenceManager.markFinishForTime(freConfig);\n } else if (freConfig.limit) {\n FrequenceManager.markFinishForCount(freConfig);\n }\n\n item.isRead = false;\n item.updatedAt = new Date().toString();\n }\n }\n }\n\n return items;\n};\n\nexport const MessageModel = {\n fetch: () => {\n const query = new AV.Query('Message');\n query\n .equalTo('valid', true)\n .equalTo(Platform.OS, true)\n .descending('updatedAt');\n query\n .find()\n .then(async (items: any[]) => {\n console.log('Message 抓取完毕');\n MyMessages = items.map((item) => Tool.jsonify(item));\n MyMessages = _filterByVersion(MyMessages);\n MyMessages = _filterByVip(MyMessages);\n MyMessages = _filterByUser(MyMessages);\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 isDataLoaded = true;\n MessageModel.emitChange();\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 markMessageRead: async (message: Message) => {\n if (message.isRead || !message.objectId) {\n return;\n }\n message.isRead = true;\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 handleMessageAction: (\n url: string,\n navigation: NavigationProp<ParamListBase>\n ) => {\n if (\n url.startsWith(ToolkitConfig.iOSStoreUrl) ||\n url.startsWith(ToolkitConfig.AndroidStoreUrl)\n ) {\n Tool.goAppStoreReview();\n return;\n }\n\n if (url?.length > 0) {\n Linking.canOpenURL(url)\n .then((supported) => {\n if (supported) {\n Linking.openURL(url);\n } else {\n navigation.navigate(url);\n }\n })\n .catch(() => {\n navigation.navigate(url);\n });\n }\n },\n\n emitChange: () => {\n eventEmitter.emit('change', MyMessages.slice());\n },\n\n addListenerOnce: (callback: Function) => {\n if (isDataLoaded) {\n callback && callback();\n return;\n }\n eventEmitter.once('change', callback);\n },\n};\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"names":["Linking","Platform","getReadableVersion","ConfigDataModel","FrequenceManager","LoginManager","BuildInPrefs","PrefData","Tool","ToolkitConfig","VipManager","AV","require","EventEmitter","eventEmitter","semverGt","semverGte","semverCoerce","isDataLoaded","MyMessages","_filterByVersion","items","ret","curVer","version","item","_item$minVer","_item$maxVer","minVer","trim","maxVer","length","push","_filterByVip","isVip","isForeverVip","vipFilter","_filterByUser","users","isLogin","_LoginManager$current","includes","currentUser","AVUser","get","_handleReadMessages","__DEV__","readMsgs","getValue","Messages","objectId","isRead","_item$key","key","config","getVersionConfig","hasNewVersion","updatedAt","Date","toString","freConfig","limit","gap","canRun","markFinishForTime","markFinishForCount","MessageModel","fetch","query","Query","equalTo","OS","descending","find","then","console","log","map","jsonify","sort","a","b","dateA","getTime","dateB","emitChange","catch","e","error","getUnreadMessages","filter","getAllMessages","markMessageRead","message","setValue","handleMessageAction","url","navigation","startsWith","iOSStoreUrl","AndroidStoreUrl","goAppStoreReview","canOpenURL","supported","openURL","navigate","emit","slice","addListenerOnce","callback","once"],"sources":["MessageModel.ts"],"sourcesContent":["import { NavigationProp, ParamListBase } from '@react-navigation/native';\nimport { Linking, Platform } from 'react-native';\nimport { getReadableVersion } from 'react-native-device-info';\nimport { ConfigDataModel } from './ConfigDataModel';\nimport { FreConfigType, FrequenceManager } from './Frequence';\nimport { LoginManager } from './LoginManager';\nimport { BuildInPrefs, PrefData } from './PrefData';\nimport { Tool, ToolkitConfig } from './Tool';\nimport { VipManager } from './VipManager';\n\nconst AV = require('leancloud-storage');\nconst EventEmitter = require('events').EventEmitter;\nconst eventEmitter = new EventEmitter();\nconst semverGt = require('semver/functions/gt');\nconst semverGte = require('semver/functions/gte');\nconst semverCoerce = require('semver/functions/coerce');\n\nlet isDataLoaded = false;\n\ninterface 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}\n\nlet MyMessages: Message[] = [];\n\nconst _filterByVersion = (items: Message[]): Message[] => {\n let ret: Message[] = [];\n const curVer = semverCoerce(getReadableVersion()).version;\n for (const item of items) {\n const minVer = item.minVer?.trim();\n const maxVer = item.maxVer?.trim();\n // 确保 cur 处于 [minVer, maxVer)\n if (minVer?.length && semverGt(semverCoerce(minVer).version, curVer)) {\n continue;\n }\n if (maxVer?.length && semverGte(curVer, semverCoerce(maxVer).version)) {\n continue;\n }\n\n ret.push(item);\n }\n return ret;\n};\n\nconst _filterByVip = (items: Message[]): Message[] => {\n let ret: Message[] = [];\n const isVip = VipManager.isVip();\n const isForeverVip = VipManager.isForeverVip();\n for (const item of items) {\n const vipFilter = item.vipFilter;\n if (\n vipFilter === 0 ||\n (vipFilter === 1 && !isVip) ||\n (vipFilter === 2 && !isForeverVip)\n ) {\n ret.push(item);\n }\n }\n return ret;\n};\n\nconst _filterByUser = (items: Message[]): Message[] => {\n let ret: Message[] = [];\n for (const item of items) {\n const users = item.users;\n if (users?.length) {\n if (LoginManager.isLogin()) {\n if (\n users?.includes(LoginManager.currentUser()?.AVUser.get('objectId'))\n ) {\n ret.push(item);\n }\n }\n } else {\n ret.push(item);\n }\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 const config = ConfigDataModel.getVersionConfig();\n if (ConfigDataModel.get('upgrade_alert') && config.hasNewVersion) {\n item.isRead = false;\n item.updatedAt = new Date().toString();\n }\n } else if (item.key?.length) {\n const freConfig: FreConfigType = {\n key: item.key,\n limit: item.limit,\n gap: item.gap,\n };\n if (FrequenceManager.canRun(freConfig)) {\n if (freConfig.gap) {\n FrequenceManager.markFinishForTime(freConfig);\n } else if (freConfig.limit) {\n FrequenceManager.markFinishForCount(freConfig);\n }\n\n item.isRead = false;\n item.updatedAt = new Date().toString();\n }\n }\n }\n\n return items;\n};\n\nexport const MessageModel = {\n fetch: () => {\n const query = new AV.Query('Message');\n query\n .equalTo('valid', true)\n .equalTo(Platform.OS, true)\n .descending('updatedAt');\n query\n .find()\n .then(async (items: any[]) => {\n console.log('Message 抓取完毕');\n MyMessages = items.map((item) => Tool.jsonify(item));\n MyMessages = _filterByVersion(MyMessages);\n MyMessages = _filterByVip(MyMessages);\n MyMessages = _filterByUser(MyMessages);\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 isDataLoaded = true;\n MessageModel.emitChange();\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 markMessageRead: async (message: Message) => {\n if (message.isRead || !message.objectId) {\n return;\n }\n message.isRead = true;\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 handleMessageAction: (\n url: string,\n navigation: NavigationProp<ParamListBase>\n ) => {\n if (\n url.startsWith(ToolkitConfig.iOSStoreUrl) ||\n url.startsWith(ToolkitConfig.AndroidStoreUrl)\n ) {\n Tool.goAppStoreReview();\n return;\n }\n\n if (url?.length > 0) {\n Linking.canOpenURL(url)\n .then((supported) => {\n if (supported) {\n Linking.openURL(url);\n } else {\n navigation.navigate(url);\n }\n })\n .catch(() => {\n navigation.navigate(url);\n });\n }\n },\n\n emitChange: () => {\n eventEmitter.emit('change', MyMessages.slice());\n },\n\n addListenerOnce: (callback: Function) => {\n if (isDataLoaded) {\n callback && callback();\n return;\n }\n eventEmitter.once('change', callback);\n },\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["Linking","Platform","getReadableVersion","ConfigDataModel","FrequenceManager","LoginManager","BuildInPrefs","PrefData","Tool","ToolkitConfig","VipManager","AV","require","EventEmitter","eventEmitter","semverGt","semverGte","semverCoerce","isDataLoaded","MyMessages","_filterByVersion","items","ret","curVer","version","item","_item$minVer","_item$maxVer","minVer","trim","maxVer","length","push","_filterByVip","isVip","isForeverVip","vipFilter","_filterByUser","users","isLogin","_LoginManager$current","includes","currentUser","AVUser","get","_handleReadMessages","__DEV__","readMsgs","getValue","Messages","objectId","isRead","_item$key","key","config","getVersionConfig","hasNewVersion","updatedAt","Date","toString","freConfig","limit","gap","canRun","markFinishForTime","markFinishForCount","MessageModel","fetch","query","Query","equalTo","OS","descending","find","then","console","log","map","jsonify","sort","a","b","dateA","getTime","dateB","emitChange","catch","e","error","getUnreadMessages","filter","getAllMessages","markMessageRead","message","setValue","handleMessageAction","url","navigation","startsWith","iOSStoreUrl","AndroidStoreUrl","goAppStoreReview","canOpenURL","supported","openURL","navigate","emit","slice","addListenerOnce","callback","once"],"sources":["MessageModel.ts"],"sourcesContent":["import { NavigationProp, ParamListBase } from '@react-navigation/native';\nimport { Linking, Platform } from 'react-native';\nimport { getReadableVersion } from 'react-native-device-info';\nimport { ConfigDataModel } from './ConfigDataModel';\nimport { FreConfigType, FrequenceManager } from './Frequence';\nimport { LoginManager } from './LoginManager';\nimport { BuildInPrefs, PrefData } from './PrefData';\nimport { Tool, ToolkitConfig } from './Tool';\nimport { VipManager } from './VipManager';\n\nconst AV = require('leancloud-storage');\nconst EventEmitter = require('events').EventEmitter;\nconst eventEmitter = new EventEmitter();\nconst semverGt = require('semver/functions/gt');\nconst semverGte = require('semver/functions/gte');\nconst semverCoerce = require('semver/functions/coerce');\n\nlet isDataLoaded = false;\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}\n\nlet MyMessages: Message[] = [];\n\nconst _filterByVersion = (items: Message[]): Message[] => {\n let ret: Message[] = [];\n const curVer = semverCoerce(getReadableVersion()).version;\n for (const item of items) {\n const minVer = item.minVer?.trim();\n const maxVer = item.maxVer?.trim();\n // 确保 cur 处于 [minVer, maxVer)\n if (minVer?.length && semverGt(semverCoerce(minVer).version, curVer)) {\n continue;\n }\n if (maxVer?.length && semverGte(curVer, semverCoerce(maxVer).version)) {\n continue;\n }\n\n ret.push(item);\n }\n return ret;\n};\n\nconst _filterByVip = (items: Message[]): Message[] => {\n let ret: Message[] = [];\n const isVip = VipManager.isVip();\n const isForeverVip = VipManager.isForeverVip();\n for (const item of items) {\n const vipFilter = item.vipFilter;\n if (\n vipFilter === 0 ||\n (vipFilter === 1 && !isVip) ||\n (vipFilter === 2 && !isForeverVip)\n ) {\n ret.push(item);\n }\n }\n return ret;\n};\n\nconst _filterByUser = (items: Message[]): Message[] => {\n let ret: Message[] = [];\n for (const item of items) {\n const users = item.users;\n if (users?.length) {\n if (LoginManager.isLogin()) {\n if (\n users?.includes(LoginManager.currentUser()?.AVUser.get('objectId'))\n ) {\n ret.push(item);\n }\n }\n } else {\n ret.push(item);\n }\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 const config = ConfigDataModel.getVersionConfig();\n if (ConfigDataModel.get('upgrade_alert') && config.hasNewVersion) {\n item.isRead = false;\n item.updatedAt = new Date().toString();\n }\n } else if (item.key?.length) {\n const freConfig: FreConfigType = {\n key: item.key,\n limit: item.limit,\n gap: item.gap,\n };\n if (FrequenceManager.canRun(freConfig)) {\n if (freConfig.gap) {\n FrequenceManager.markFinishForTime(freConfig);\n } else if (freConfig.limit) {\n FrequenceManager.markFinishForCount(freConfig);\n }\n\n item.isRead = false;\n item.updatedAt = new Date().toString();\n }\n }\n }\n\n return items;\n};\n\nexport const MessageModel = {\n fetch: () => {\n const query = new AV.Query('Message');\n query\n .equalTo('valid', true)\n .equalTo(Platform.OS, true)\n .descending('updatedAt');\n query\n .find()\n .then(async (items: any[]) => {\n console.log('Message 抓取完毕');\n MyMessages = items.map((item) => Tool.jsonify(item));\n MyMessages = _filterByVersion(MyMessages);\n MyMessages = _filterByVip(MyMessages);\n MyMessages = _filterByUser(MyMessages);\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 isDataLoaded = true;\n MessageModel.emitChange();\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 markMessageRead: async (message: Message) => {\n if (message.isRead || !message.objectId) {\n return;\n }\n message.isRead = true;\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 handleMessageAction: (\n url: string,\n navigation: NavigationProp<ParamListBase>\n ) => {\n if (\n url.startsWith(ToolkitConfig.iOSStoreUrl) ||\n url.startsWith(ToolkitConfig.AndroidStoreUrl)\n ) {\n Tool.goAppStoreReview();\n return;\n }\n\n if (url?.length > 0) {\n Linking.canOpenURL(url)\n .then((supported) => {\n if (supported) {\n Linking.openURL(url);\n } else {\n navigation.navigate(url);\n }\n })\n .catch(() => {\n navigation.navigate(url);\n });\n }\n },\n\n emitChange: () => {\n eventEmitter.emit('change', MyMessages.slice());\n },\n\n addListenerOnce: (callback: Function) => {\n if (isDataLoaded) {\n callback && callback();\n return;\n }\n eventEmitter.once('change', callback);\n },\n};\n"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { NavigationProp, ParamListBase } from '@react-navigation/native';
2
- interface Message {
2
+ export interface Message {
3
3
  objectId: string;
4
4
  android: boolean;
5
5
  ios: boolean;
@@ -25,4 +25,3 @@ export declare const MessageModel: {
25
25
  emitChange: () => void;
26
26
  addListenerOnce: (callback: Function) => void;
27
27
  };
28
- export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@norcy/react-native-toolkit",
3
- "version": "0.1.34",
3
+ "version": "0.1.35",
4
4
  "description": "My Toolkit",
5
5
  "main": "lib/commonjs/index",
6
6
  "module": "lib/module/index",
@@ -17,7 +17,7 @@ const semverCoerce = require('semver/functions/coerce');
17
17
 
18
18
  let isDataLoaded = false;
19
19
 
20
- interface Message {
20
+ export interface Message {
21
21
  objectId: string;
22
22
  android: boolean;
23
23
  ios: boolean;