@norcy/react-native-toolkit 0.1.121 → 0.1.124
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.DS_Store +0 -0
- package/.vscode/settings.json +9 -0
- package/{cocoa_plugins/cocoapods-rn-toolkit/lib → ios}/.DS_Store +0 -0
- package/ios/ReactNativeToolkit.xcodeproj/project.xcworkspace/contents.xcworkspacedata +4 -0
- package/lib/commonjs/ConfigDataModel.js +1 -1
- package/lib/commonjs/ConfigDataModel.js.map +1 -1
- package/lib/commonjs/MessageModel.js +1 -13
- package/lib/commonjs/MessageModel.js.map +1 -1
- package/lib/commonjs/VersionManager.js +20 -23
- package/lib/commonjs/VersionManager.js.map +1 -1
- package/lib/module/ConfigDataModel.js +1 -1
- package/lib/module/ConfigDataModel.js.map +1 -1
- package/lib/module/MessageModel.js +1 -13
- package/lib/module/MessageModel.js.map +1 -1
- package/lib/module/VersionManager.js +20 -23
- package/lib/module/VersionManager.js.map +1 -1
- package/lib/typescript/VersionManager.d.ts +1 -1
- package/package.json +1 -1
- package/{cocoa_plugins/cocoapods-rn-toolkit/lib/cocoapods-rn-toolkit → src}/.DS_Store +0 -0
- package/src/ConfigDataModel.ts +3 -1
- package/src/MessageModel.ts +1 -13
- package/src/VersionManager.ts +25 -35
- package/yarn-error.log +11644 -0
- package/cocoa_plugins/.DS_Store +0 -0
- package/cocoa_plugins/cocoapods-rn-toolkit/.DS_Store +0 -0
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["getReadableVersion","
|
1
|
+
{"version":3,"names":["getReadableVersion","semverCoerce","semverGt","semverGte","DevConfig","BuildInPrefs","PrefData","safeCoerce","version","coerced","VersionInfo","currentAppVersion","latestAppVersion","currentBundleVersion","latestBundleVersion","VersionManager","init","_ref","Number","addListenerOnce","getValue","CurrentBundleVersion","isDanger","__DEV__","hasValue","DevDanger","appVer","setBundleVer","bundleVer","setValue","hasNewAppVer","hasNewBundleVer","isValidVersion","minVer","maxVer","_minVer","_maxVer","trim"],"sources":["VersionManager.ts"],"sourcesContent":["import { getReadableVersion } from 'react-native-device-info';\nimport semverCoerce from 'semver/functions/coerce';\nimport semverGt from 'semver/functions/gt';\nimport semverGte from 'semver/functions/gte';\nimport { DevConfig } from './DevConfig';\nimport { BuildInPrefs, PrefData } from './PrefData';\n\n// 辅助函数:安全获取版本\nconst safeCoerce = (version: string) => {\n const coerced = semverCoerce(version);\n return coerced ? coerced.version : '0.0.0';\n};\n\nlet VersionInfo = {\n currentAppVersion: safeCoerce(getReadableVersion()),\n latestAppVersion: safeCoerce(getReadableVersion()),\n currentBundleVersion: 0,\n latestBundleVersion: 0,\n};\n\nexport const VersionManager = {\n init: ({\n latestAppVersion,\n latestBundleVersion,\n }: {\n latestAppVersion: string;\n latestBundleVersion?: string;\n }) => {\n if (latestAppVersion) {\n VersionInfo.latestAppVersion = safeCoerce(latestAppVersion);\n }\n\n if (latestBundleVersion) {\n VersionInfo.latestBundleVersion = Number(latestBundleVersion);\n }\n\n PrefData.addListenerOnce(() => {\n VersionInfo.currentBundleVersion = PrefData.getValue(\n BuildInPrefs.CurrentBundleVersion\n );\n });\n },\n\n isDanger: () => {\n if (__DEV__ && DevConfig.hasValue(BuildInPrefs.DevDanger)) {\n return DevConfig.getValue(BuildInPrefs.DevDanger);\n }\n // current > online,就危险\n return semverGt(\n VersionInfo.currentAppVersion,\n VersionInfo.latestAppVersion\n );\n },\n\n appVer: () => {\n return VersionInfo.currentAppVersion;\n },\n\n setBundleVer: (bundleVer: string) => {\n if (bundleVer) {\n VersionInfo.currentBundleVersion = Number(bundleVer);\n PrefData.setValue(\n BuildInPrefs.CurrentBundleVersion,\n VersionInfo.currentBundleVersion\n );\n }\n },\n\n bundleVer: () => {\n return VersionInfo.currentBundleVersion;\n },\n\n getReadableVersion: () => {\n return (\n VersionInfo.currentAppVersion +\n (VersionInfo.currentBundleVersion\n ? '(' + VersionInfo.currentBundleVersion + ')'\n : '')\n );\n },\n\n hasNewAppVer: () => {\n // online > current,才有新版本\n return semverGt(\n VersionInfo.latestAppVersion,\n VersionInfo.currentAppVersion\n );\n },\n\n hasNewBundleVer: () => {\n // latestBundleVersion 如果没命中,则为 0,此时判断为无新 Bundle\n return VersionInfo.latestBundleVersion > VersionInfo.currentBundleVersion;\n },\n\n isValidVersion: (minVer?: string, maxVer?: string) => {\n minVer = minVer?.trim();\n maxVer = maxVer?.trim();\n // 确保 cur 处于 [minVer, maxVer)\n if (!!minVer && semverGt(safeCoerce(minVer), VersionManager.appVer())) {\n return false;\n }\n if (!!maxVer && semverGte(VersionManager.appVer(), safeCoerce(maxVer))) {\n return false;\n }\n return true;\n },\n};\n"],"mappings":"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"}
|
@@ -4,7 +4,7 @@ export declare const VersionManager: {
|
|
4
4
|
latestBundleVersion?: string | undefined;
|
5
5
|
}) => void;
|
6
6
|
isDanger: () => any;
|
7
|
-
appVer: () =>
|
7
|
+
appVer: () => string;
|
8
8
|
setBundleVer: (bundleVer: string) => void;
|
9
9
|
bundleVer: () => number;
|
10
10
|
getReadableVersion: () => string;
|
package/package.json
CHANGED
Binary file
|
package/src/ConfigDataModel.ts
CHANGED
@@ -44,7 +44,9 @@ const handleVersionInfo = () => {
|
|
44
44
|
latestAppVersion: ConfigDataModel.get(
|
45
45
|
Platform.OS === 'android' ? 'aov' : 'ov'
|
46
46
|
),
|
47
|
-
latestBundleVersion: ConfigDataModel.get(
|
47
|
+
latestBundleVersion: ConfigDataModel.get(
|
48
|
+
Platform.OS === 'android' ? 'abov' : 'bov'
|
49
|
+
),
|
48
50
|
});
|
49
51
|
};
|
50
52
|
|
package/src/MessageModel.ts
CHANGED
@@ -1,6 +1,5 @@
|
|
1
1
|
import { Object } from 'leancloud-storage';
|
2
2
|
import { Platform } from 'react-native';
|
3
|
-
import { getReadableVersion } from 'react-native-device-info';
|
4
3
|
import { ConfigDataModel } from './ConfigDataModel';
|
5
4
|
import { FreConfigType, FrequenceManager } from './Frequence';
|
6
5
|
import { LoginManager, LoginResultDataType } from './LoginManager';
|
@@ -13,9 +12,6 @@ import { VipManager } from './VipManager';
|
|
13
12
|
const AV = require('leancloud-storage');
|
14
13
|
const EventEmitter = require('events').EventEmitter;
|
15
14
|
const eventEmitter = new EventEmitter();
|
16
|
-
const semverGt = require('semver/functions/gt');
|
17
|
-
const semverGte = require('semver/functions/gte');
|
18
|
-
const semverCoerce = require('semver/functions/coerce');
|
19
15
|
|
20
16
|
export interface Message {
|
21
17
|
objectId: string;
|
@@ -41,18 +37,10 @@ let MyMessages: Message[] = [];
|
|
41
37
|
|
42
38
|
const _filterByVersion = (items: Message[]): Message[] => {
|
43
39
|
let ret: Message[] = [];
|
44
|
-
const curVer = semverCoerce(getReadableVersion()).version;
|
45
40
|
for (const item of items) {
|
46
|
-
|
47
|
-
const maxVer = item.maxVer?.trim();
|
48
|
-
// 确保 cur 处于 [minVer, maxVer)
|
49
|
-
if (!!minVer && semverGt(semverCoerce(minVer).version, curVer)) {
|
41
|
+
if (!VersionManager.isValidVersion(item.minVer, item.maxVer)) {
|
50
42
|
continue;
|
51
43
|
}
|
52
|
-
if (!!maxVer && semverGte(curVer, semverCoerce(maxVer).version)) {
|
53
|
-
continue;
|
54
|
-
}
|
55
|
-
|
56
44
|
ret.push(item);
|
57
45
|
}
|
58
46
|
return ret;
|
package/src/VersionManager.ts
CHANGED
@@ -1,14 +1,19 @@
|
|
1
1
|
import { getReadableVersion } from 'react-native-device-info';
|
2
|
+
import semverCoerce from 'semver/functions/coerce';
|
3
|
+
import semverGt from 'semver/functions/gt';
|
4
|
+
import semverGte from 'semver/functions/gte';
|
2
5
|
import { DevConfig } from './DevConfig';
|
3
6
|
import { BuildInPrefs, PrefData } from './PrefData';
|
4
7
|
|
5
|
-
|
6
|
-
const
|
7
|
-
const
|
8
|
+
// 辅助函数:安全获取版本
|
9
|
+
const safeCoerce = (version: string) => {
|
10
|
+
const coerced = semverCoerce(version);
|
11
|
+
return coerced ? coerced.version : '0.0.0';
|
12
|
+
};
|
8
13
|
|
9
14
|
let VersionInfo = {
|
10
|
-
currentAppVersion:
|
11
|
-
latestAppVersion:
|
15
|
+
currentAppVersion: safeCoerce(getReadableVersion()),
|
16
|
+
latestAppVersion: safeCoerce(getReadableVersion()),
|
12
17
|
currentBundleVersion: 0,
|
13
18
|
latestBundleVersion: 0,
|
14
19
|
};
|
@@ -22,12 +27,11 @@ export const VersionManager = {
|
|
22
27
|
latestBundleVersion?: string;
|
23
28
|
}) => {
|
24
29
|
if (latestAppVersion) {
|
25
|
-
VersionInfo.latestAppVersion =
|
30
|
+
VersionInfo.latestAppVersion = safeCoerce(latestAppVersion);
|
26
31
|
}
|
27
32
|
|
28
33
|
if (latestBundleVersion) {
|
29
|
-
VersionInfo.latestBundleVersion =
|
30
|
-
semverCoerce(latestBundleVersion).version;
|
34
|
+
VersionInfo.latestBundleVersion = Number(latestBundleVersion);
|
31
35
|
}
|
32
36
|
|
33
37
|
PrefData.addListenerOnce(() => {
|
@@ -42,10 +46,10 @@ export const VersionManager = {
|
|
42
46
|
return DevConfig.getValue(BuildInPrefs.DevDanger);
|
43
47
|
}
|
44
48
|
// current > online,就危险
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
+
return semverGt(
|
50
|
+
VersionInfo.currentAppVersion,
|
51
|
+
VersionInfo.latestAppVersion
|
52
|
+
);
|
49
53
|
},
|
50
54
|
|
51
55
|
appVer: () => {
|
@@ -54,7 +58,7 @@ export const VersionManager = {
|
|
54
58
|
|
55
59
|
setBundleVer: (bundleVer: string) => {
|
56
60
|
if (bundleVer) {
|
57
|
-
VersionInfo.currentBundleVersion =
|
61
|
+
VersionInfo.currentBundleVersion = Number(bundleVer);
|
58
62
|
PrefData.setValue(
|
59
63
|
BuildInPrefs.CurrentBundleVersion,
|
60
64
|
VersionInfo.currentBundleVersion
|
@@ -77,39 +81,25 @@ export const VersionManager = {
|
|
77
81
|
|
78
82
|
hasNewAppVer: () => {
|
79
83
|
// online > current,才有新版本
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
+
return semverGt(
|
85
|
+
VersionInfo.latestAppVersion,
|
86
|
+
VersionInfo.currentAppVersion
|
87
|
+
);
|
84
88
|
},
|
85
89
|
|
86
90
|
hasNewBundleVer: () => {
|
87
91
|
// latestBundleVersion 如果没命中,则为 0,此时判断为无新 Bundle
|
88
|
-
|
89
|
-
semverGt(
|
90
|
-
VersionInfo.latestBundleVersion,
|
91
|
-
VersionInfo.currentBundleVersion
|
92
|
-
)
|
93
|
-
) {
|
94
|
-
return true;
|
95
|
-
}
|
96
|
-
return false;
|
92
|
+
return VersionInfo.latestBundleVersion > VersionInfo.currentBundleVersion;
|
97
93
|
},
|
98
94
|
|
99
95
|
isValidVersion: (minVer?: string, maxVer?: string) => {
|
100
96
|
minVer = minVer?.trim();
|
101
97
|
maxVer = maxVer?.trim();
|
102
|
-
//
|
103
|
-
if (
|
104
|
-
!!minVer &&
|
105
|
-
semverGt(semverCoerce(minVer).version, VersionManager.appVer())
|
106
|
-
) {
|
98
|
+
// 确保 cur 处于 [minVer, maxVer)
|
99
|
+
if (!!minVer && semverGt(safeCoerce(minVer), VersionManager.appVer())) {
|
107
100
|
return false;
|
108
101
|
}
|
109
|
-
if (
|
110
|
-
!!maxVer &&
|
111
|
-
semverGte(VersionManager.appVer(), semverCoerce(maxVer).version)
|
112
|
-
) {
|
102
|
+
if (!!maxVer && semverGte(VersionManager.appVer(), safeCoerce(maxVer))) {
|
113
103
|
return false;
|
114
104
|
}
|
115
105
|
return true;
|