@huaapp001/m-play 0.0.1
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/LICENSE +20 -0
- package/MPlay.podspec +20 -0
- package/README.md +33 -0
- package/android/build.gradle +83 -0
- package/android/gradle.properties +5 -0
- package/android/src/main/AndroidManifest.xml +2 -0
- package/android/src/main/java/com/mplay/MPlayModule.kt +23 -0
- package/android/src/main/java/com/mplay/MPlayPackage.kt +33 -0
- package/ios/MPlay.h +5 -0
- package/ios/MPlay.mm +18 -0
- package/lib/module/NativeMPlay.js +5 -0
- package/lib/module/NativeMPlay.js.map +1 -0
- package/lib/module/config/index.js +29 -0
- package/lib/module/config/index.js.map +1 -0
- package/lib/module/index.js +6 -0
- package/lib/module/index.js.map +1 -0
- package/lib/module/package/assets/loading.png +0 -0
- package/lib/module/package/atoms/global.js +20 -0
- package/lib/module/package/atoms/global.js.map +1 -0
- package/lib/module/package/components/webview/index.js +89 -0
- package/lib/module/package/components/webview/index.js.map +1 -0
- package/lib/module/package/const/storage.js +12 -0
- package/lib/module/package/const/storage.js.map +1 -0
- package/lib/module/package/hooks/useAppGetUID.js +47 -0
- package/lib/module/package/hooks/useAppGetUID.js.map +1 -0
- package/lib/module/package/hooks/useGetNetwork.js +19 -0
- package/lib/module/package/hooks/useGetNetwork.js.map +1 -0
- package/lib/module/package/hooks/useGetUserToken.js +48 -0
- package/lib/module/package/hooks/useGetUserToken.js.map +1 -0
- package/lib/module/package/hooks/useGoogleAndIosLogin.js +34 -0
- package/lib/module/package/hooks/useGoogleAndIosLogin.js.map +1 -0
- package/lib/module/package/hooks/useInitAfInfo.js +183 -0
- package/lib/module/package/hooks/useInitAfInfo.js.map +1 -0
- package/lib/module/package/request/constants.js +14 -0
- package/lib/module/package/request/constants.js.map +1 -0
- package/lib/module/package/request/index.js +70 -0
- package/lib/module/package/request/index.js.map +1 -0
- package/lib/module/package/request/type.js +4 -0
- package/lib/module/package/request/type.js.map +1 -0
- package/lib/module/package/screens/home/index.js +90 -0
- package/lib/module/package/screens/home/index.js.map +1 -0
- package/lib/module/package/screens/middle/components/CustomProgressBar.js +131 -0
- package/lib/module/package/screens/middle/components/CustomProgressBar.js.map +1 -0
- package/lib/module/package/screens/middle/index.js +105 -0
- package/lib/module/package/screens/middle/index.js.map +1 -0
- package/lib/module/package/utils/extractQueryParams.js +13 -0
- package/lib/module/package/utils/extractQueryParams.js.map +1 -0
- package/lib/module/package/utils/getUrlFromDevice.js +36 -0
- package/lib/module/package/utils/getUrlFromDevice.js.map +1 -0
- package/lib/module/package/utils/optionalDependencies.js +70 -0
- package/lib/module/package/utils/optionalDependencies.js.map +1 -0
- package/lib/module/package/utils/rwd.js +20 -0
- package/lib/module/package/utils/rwd.js.map +1 -0
- package/lib/module/types/global.d.js +4 -0
- package/lib/module/types/global.d.js.map +1 -0
- package/lib/module/types/optional-modules.d.js +2 -0
- package/lib/module/types/optional-modules.d.js.map +1 -0
- package/package.json +173 -0
@@ -0,0 +1,183 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
import AsyncStorage from '@react-native-async-storage/async-storage';
|
4
|
+
import Clipboard from '@react-native-clipboard/clipboard';
|
5
|
+
import { isFirstInitAfSuccessAtom, schemeDeepLinkParamsAtom } from "../atoms/global.js";
|
6
|
+
import { useAtomValue, useSetAtom } from 'jotai';
|
7
|
+
import { useEffect } from 'react';
|
8
|
+
import { Linking } from 'react-native';
|
9
|
+
import appsFlyer from 'react-native-appsflyer';
|
10
|
+
import { APP_FIRST_INIT_ADJUST_KEY } from "../const/storage.js";
|
11
|
+
import useGetNetwork from "./useGetNetwork.js";
|
12
|
+
import { isAllowAttAccessAtom } from "../atoms/global.js";
|
13
|
+
import { extractQueryParams } from "../utils/extractQueryParams.js";
|
14
|
+
import { getUrlFromDevice } from "../utils/getUrlFromDevice.js";
|
15
|
+
import { getConfig } from "../../config/index.js";
|
16
|
+
const useInitAfInfo = () => {
|
17
|
+
const systemConfig = getConfig();
|
18
|
+
const setSchemeDeepLinkParamsAtom = useSetAtom(schemeDeepLinkParamsAtom);
|
19
|
+
const [isConnected] = useGetNetwork();
|
20
|
+
const isAllowAttAccess = useAtomValue(isAllowAttAccessAtom);
|
21
|
+
const setIsFirstInitAfSuccessAtom = useSetAtom(isFirstInitAfSuccessAtom);
|
22
|
+
|
23
|
+
/** 处理深链信息 */
|
24
|
+
const processDeepLink = data => {
|
25
|
+
const {
|
26
|
+
deeplink,
|
27
|
+
isAJ = false,
|
28
|
+
isLoadTwo = false
|
29
|
+
} = data;
|
30
|
+
// TODO 可删除
|
31
|
+
console.log('deeplinkdeeplink------->>>>>', deeplink);
|
32
|
+
if (!isLoadTwo && isAJ) {
|
33
|
+
global.IS_FIRST_LOAD_DEEP_LINK = true;
|
34
|
+
global.AF_END_LOAD_TIME = new Date().getTime();
|
35
|
+
}
|
36
|
+
let params = {};
|
37
|
+
if (deeplink.includes(systemConfig.adjustConfig.ONELINK_SHARE_VALUE)) {
|
38
|
+
const url = deeplink.split(systemConfig.adjustConfig.ONELINK_SHARE_VALUE)[1];
|
39
|
+
params = extractQueryParams(url) ?? {};
|
40
|
+
if (params.deep_link_value) {
|
41
|
+
processDeepLink({
|
42
|
+
deeplink: systemConfig.adjustConfig.ONELINK_NO_HTTP_VALUE + decodeURIComponent(params.deep_link_value),
|
43
|
+
isAJ,
|
44
|
+
isLoadTwo: true
|
45
|
+
});
|
46
|
+
return;
|
47
|
+
}
|
48
|
+
}
|
49
|
+
if (deeplink.includes(systemConfig.adjustConfig.ONELINK_NO_HTTP_VALUE)) {
|
50
|
+
const url = deeplink.split(systemConfig.adjustConfig.ONELINK_NO_HTTP_VALUE)[1];
|
51
|
+
params = extractQueryParams(url) ?? {};
|
52
|
+
// 做一个兜底处理 目前安卓模拟器会出现右边的情况 ONELINK_NO_HTTP_VALUE?deep_link_value=ONELINK_NO_HTTP_VALUE
|
53
|
+
if (params.deep_link_value) {
|
54
|
+
processDeepLink({
|
55
|
+
deeplink: systemConfig.adjustConfig.ONELINK_NO_HTTP_VALUE + decodeURIComponent(params.deep_link_value),
|
56
|
+
isAJ,
|
57
|
+
isLoadTwo: true
|
58
|
+
});
|
59
|
+
return;
|
60
|
+
}
|
61
|
+
}
|
62
|
+
console.log('params', params);
|
63
|
+
setSchemeDeepLinkParamsAtom(params);
|
64
|
+
setIsFirstInitAfSuccessAtom(true);
|
65
|
+
};
|
66
|
+
|
67
|
+
/** 剪切板信息 */
|
68
|
+
const handlePasteboardInfo = async () => {
|
69
|
+
// TODO 可删除
|
70
|
+
console.log('deeplinkdeeplink------->>>>>handlePasteboardInfo');
|
71
|
+
// 若是之前执行过,该值是true,但是之前若是没给它赋值是不会相等的
|
72
|
+
const isNotFirstInit = (await AsyncStorage.getItem(APP_FIRST_INIT_ADJUST_KEY)) === 'true';
|
73
|
+
// TODO 可删除
|
74
|
+
console.log('deeplinkdeeplink------->>>>>handlePasteboardInfo---isNotFirstInit', await AsyncStorage.getItem(APP_FIRST_INIT_ADJUST_KEY), isNotFirstInit);
|
75
|
+
if (isNotFirstInit) {
|
76
|
+
return;
|
77
|
+
}
|
78
|
+
// 剪切板内容
|
79
|
+
let pasteboardValue = await Clipboard.getString();
|
80
|
+
// TODO 可删除
|
81
|
+
console.log('deeplinkdeeplink------->>>>>handlePasteboardInfo---pasteboardValue', pasteboardValue);
|
82
|
+
if (pasteboardValue && pasteboardValue.includes(systemConfig.adjustConfig.completePrefixUrl)) {
|
83
|
+
global.wakeUpDeepLinkType = 'clipboard';
|
84
|
+
}
|
85
|
+
if (!pasteboardValue || !pasteboardValue.includes(systemConfig.adjustConfig.completePrefixUrl)) {
|
86
|
+
// 走设备是否匹配 请求接口返回信息
|
87
|
+
pasteboardValue = await getUrlFromDevice();
|
88
|
+
if (pasteboardValue) {
|
89
|
+
global.wakeUpDeepLinkType = 'ip';
|
90
|
+
}
|
91
|
+
}
|
92
|
+
if (pasteboardValue) {
|
93
|
+
processDeepLink({
|
94
|
+
deeplink: pasteboardValue,
|
95
|
+
isAJ: !isNotFirstInit
|
96
|
+
});
|
97
|
+
}
|
98
|
+
await AsyncStorage.setItem(APP_FIRST_INIT_ADJUST_KEY, 'true');
|
99
|
+
};
|
100
|
+
useEffect(() => {
|
101
|
+
// TODO 可删除
|
102
|
+
console.log('deeplinkdeeplink------->>>>>isAllowAttAccess', isAllowAttAccess);
|
103
|
+
if (!isAllowAttAccess) {
|
104
|
+
return;
|
105
|
+
}
|
106
|
+
// TODO 可删除
|
107
|
+
console.log('isAllowAttAccessisAllowAttAccess111---->>>.', isAllowAttAccess);
|
108
|
+
// 记录下af初始化加载时的时间
|
109
|
+
global.AF_START_LOAD_TIME = new Date().getTime();
|
110
|
+
appsFlyer.onDeepLink(res => {
|
111
|
+
// TODO 可删除
|
112
|
+
console.log('deeplinkdeeplink------->>>>>deepLinkStatus', res);
|
113
|
+
// 若是对应这个状态直接走兜底逻辑
|
114
|
+
if (res?.deepLinkStatus === 'NOT_FOUND') {
|
115
|
+
handlePasteboardInfo();
|
116
|
+
return;
|
117
|
+
}
|
118
|
+
const linkValue = decodeURIComponent(res?.data?.deep_link_value);
|
119
|
+
// 若是值不存在走兜底逻辑
|
120
|
+
if (!linkValue || linkValue === 'undefined') {
|
121
|
+
handlePasteboardInfo();
|
122
|
+
return;
|
123
|
+
}
|
124
|
+
global.wakeUpDeepLinkType = 'af';
|
125
|
+
processDeepLink({
|
126
|
+
deeplink: `${systemConfig.adjustConfig.ONELINK_NO_HTTP_VALUE}?${linkValue}`,
|
127
|
+
isAJ: res?.isDeferred
|
128
|
+
});
|
129
|
+
AsyncStorage.setItem(APP_FIRST_INIT_ADJUST_KEY, 'true');
|
130
|
+
});
|
131
|
+
// TODO 可删除
|
132
|
+
console.log('appsFlyerappsFlyer---->>>', appsFlyer);
|
133
|
+
appsFlyer.initSdk({
|
134
|
+
devKey: systemConfig.adjustConfig.devKey,
|
135
|
+
isDebug: __DEV__,
|
136
|
+
appId: systemConfig.adjustConfig.appId,
|
137
|
+
onInstallConversionDataListener: true,
|
138
|
+
onDeepLinkListener: true,
|
139
|
+
//for iOS 14.5
|
140
|
+
timeToWaitForATTUserAuthorization: 10
|
141
|
+
}, result => {
|
142
|
+
console.log(result, 'isAllowAttAccessisAllowAttAccessresult');
|
143
|
+
}, error => {
|
144
|
+
console.error(error, 'isAllowAttAccessisAllowAttAccesserror');
|
145
|
+
});
|
146
|
+
// 或者9秒之后设置为true
|
147
|
+
setTimeout(() => {
|
148
|
+
AsyncStorage.setItem(APP_FIRST_INIT_ADJUST_KEY, 'true');
|
149
|
+
}, Number(systemConfig.adjustConfig.ADJUST_MAX_DELAY_TIME) + 1000);
|
150
|
+
// 监听 已经启动,但是被h5换起来了会触发这个方法
|
151
|
+
Linking.addEventListener('url', ({
|
152
|
+
url
|
153
|
+
}) => {
|
154
|
+
processDeepLink({
|
155
|
+
deeplink: url
|
156
|
+
});
|
157
|
+
});
|
158
|
+
Linking.getInitialURL().then(url => {
|
159
|
+
// 冷启动的时候,会触发这个
|
160
|
+
if (url) {
|
161
|
+
processDeepLink({
|
162
|
+
deeplink: url
|
163
|
+
});
|
164
|
+
}
|
165
|
+
});
|
166
|
+
}, [setSchemeDeepLinkParamsAtom, setIsFirstInitAfSuccessAtom, isAllowAttAccess]);
|
167
|
+
useEffect(() => {
|
168
|
+
if (!isConnected) {
|
169
|
+
return;
|
170
|
+
}
|
171
|
+
const timeout = setTimeout(async () => {
|
172
|
+
if ((await AsyncStorage.getItem(APP_FIRST_INIT_ADJUST_KEY)) !== 'true') {
|
173
|
+
await handlePasteboardInfo();
|
174
|
+
}
|
175
|
+
setIsFirstInitAfSuccessAtom(true);
|
176
|
+
}, Number(systemConfig.adjustConfig.ADJUST_MAX_DELAY_TIME));
|
177
|
+
return () => {
|
178
|
+
clearTimeout(timeout);
|
179
|
+
};
|
180
|
+
}, [isConnected]);
|
181
|
+
};
|
182
|
+
export default useInitAfInfo;
|
183
|
+
//# sourceMappingURL=useInitAfInfo.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"names":["AsyncStorage","Clipboard","isFirstInitAfSuccessAtom","schemeDeepLinkParamsAtom","useAtomValue","useSetAtom","useEffect","Linking","appsFlyer","APP_FIRST_INIT_ADJUST_KEY","useGetNetwork","isAllowAttAccessAtom","extractQueryParams","getUrlFromDevice","getConfig","useInitAfInfo","systemConfig","setSchemeDeepLinkParamsAtom","isConnected","isAllowAttAccess","setIsFirstInitAfSuccessAtom","processDeepLink","data","deeplink","isAJ","isLoadTwo","console","log","global","IS_FIRST_LOAD_DEEP_LINK","AF_END_LOAD_TIME","Date","getTime","params","includes","adjustConfig","ONELINK_SHARE_VALUE","url","split","deep_link_value","ONELINK_NO_HTTP_VALUE","decodeURIComponent","handlePasteboardInfo","isNotFirstInit","getItem","pasteboardValue","getString","completePrefixUrl","wakeUpDeepLinkType","setItem","AF_START_LOAD_TIME","onDeepLink","res","deepLinkStatus","linkValue","isDeferred","initSdk","devKey","isDebug","__DEV__","appId","onInstallConversionDataListener","onDeepLinkListener","timeToWaitForATTUserAuthorization","result","error","setTimeout","Number","ADJUST_MAX_DELAY_TIME","addEventListener","getInitialURL","then","timeout","clearTimeout"],"sourceRoot":"../../../../src","sources":["package/hooks/useInitAfInfo.ts"],"mappings":"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","ignoreList":[]}
|
@@ -0,0 +1,14 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
export const REQUEST_METHODS = {
|
4
|
+
GET: 'GET',
|
5
|
+
POST: 'POST',
|
6
|
+
PUT: 'PUT',
|
7
|
+
DELETE: 'DELETE'
|
8
|
+
};
|
9
|
+
export const CONTENT_TYPE = {
|
10
|
+
JSON: 'application/json;charset=UTF-8',
|
11
|
+
FORM_URLENCODED: 'application/x-www-form-urlencoded;charset=UTF-8',
|
12
|
+
FORM_DATA: 'multipart/form-data;charset=UTF-8'
|
13
|
+
};
|
14
|
+
//# sourceMappingURL=constants.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"names":["REQUEST_METHODS","GET","POST","PUT","DELETE","CONTENT_TYPE","JSON","FORM_URLENCODED","FORM_DATA"],"sourceRoot":"../../../../src","sources":["package/request/constants.ts"],"mappings":";;AAAA,OAAO,MAAMA,eAAe,GAAG;EAC7BC,GAAG,EAAE,KAAK;EACVC,IAAI,EAAE,MAAM;EACZC,GAAG,EAAE,KAAK;EACVC,MAAM,EAAE;AACV,CAAC;AAED,OAAO,MAAMC,YAAY,GAAG;EAC1BC,IAAI,EAAE,gCAAgC;EACtCC,eAAe,EAAE,iDAAiD;EAClEC,SAAS,EAAE;AACb,CAAC","ignoreList":[]}
|
@@ -0,0 +1,70 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
import { Platform } from 'react-native';
|
4
|
+
import axios from 'axios';
|
5
|
+
import { CONTENT_TYPE } from "./constants.js";
|
6
|
+
import { getConfig } from "../../config/index.js";
|
7
|
+
const createAxiosInstance = () => {
|
8
|
+
const systemConfig = getConfig();
|
9
|
+
const instance = axios.create({
|
10
|
+
baseURL: systemConfig.header.apiUrl,
|
11
|
+
timeout: 10000,
|
12
|
+
headers: {
|
13
|
+
'Content-Type': CONTENT_TYPE.JSON
|
14
|
+
}
|
15
|
+
});
|
16
|
+
instance.interceptors.request.use(config => {
|
17
|
+
const mergedConfig = {
|
18
|
+
...config
|
19
|
+
};
|
20
|
+
mergedConfig.headers = mergedConfig.headers || {};
|
21
|
+
if (global.userToken) {
|
22
|
+
mergedConfig.headers.Authorization = global.userToken;
|
23
|
+
}
|
24
|
+
mergedConfig.headers.TYPE = Platform.OS;
|
25
|
+
mergedConfig.headers.NID = systemConfig.header.appId;
|
26
|
+
mergedConfig.headers.PACKAGENAME = systemConfig.header.PACKAGENAME;
|
27
|
+
if (!global.userToken && global.userId) {
|
28
|
+
mergedConfig.headers.UID = global.userId;
|
29
|
+
}
|
30
|
+
return mergedConfig;
|
31
|
+
});
|
32
|
+
instance.interceptors.response.use(response => {
|
33
|
+
if (response.data.code === 200) {
|
34
|
+
return response.data;
|
35
|
+
}
|
36
|
+
|
37
|
+
// FIXME: Fix me the types
|
38
|
+
return response.data;
|
39
|
+
}, error => {
|
40
|
+
if (error.response) {
|
41
|
+
return Promise.reject(error.response.data || {
|
42
|
+
message: 'Unknown server error'
|
43
|
+
});
|
44
|
+
} else if (error.request) {
|
45
|
+
return Promise.reject({
|
46
|
+
message: 'No response received from server'
|
47
|
+
});
|
48
|
+
} else {
|
49
|
+
return Promise.reject({
|
50
|
+
message: error.message || 'Unknown error occurred'
|
51
|
+
});
|
52
|
+
}
|
53
|
+
});
|
54
|
+
return instance;
|
55
|
+
};
|
56
|
+
const axiosInstance = createAxiosInstance();
|
57
|
+
export const axiosGet = (url, params, config) => {
|
58
|
+
return axiosInstance.get(url, {
|
59
|
+
params,
|
60
|
+
...config
|
61
|
+
});
|
62
|
+
};
|
63
|
+
export const axiosPost = (url, data, config) => {
|
64
|
+
return axiosInstance.post(url, data, config);
|
65
|
+
};
|
66
|
+
export const axiosPostFormData = (url, data, config) => {
|
67
|
+
return axiosInstance.post(url, data, config);
|
68
|
+
};
|
69
|
+
export default axiosInstance;
|
70
|
+
//# sourceMappingURL=index.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"names":["Platform","axios","CONTENT_TYPE","getConfig","createAxiosInstance","systemConfig","instance","create","baseURL","header","apiUrl","timeout","headers","JSON","interceptors","request","use","config","mergedConfig","global","userToken","Authorization","TYPE","OS","NID","appId","PACKAGENAME","userId","UID","response","data","code","error","Promise","reject","message","axiosInstance","axiosGet","url","params","get","axiosPost","post","axiosPostFormData"],"sourceRoot":"../../../../src","sources":["package/request/index.ts"],"mappings":"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","ignoreList":[]}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../../src","sources":["package/request/type.ts"],"mappings":"","ignoreList":[]}
|
@@ -0,0 +1,90 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
import React, { useEffect, useMemo, useRef } from 'react';
|
4
|
+
import { Platform, View } from 'react-native';
|
5
|
+
import { createJsbridge } from '@tianzhitong/js-bridge';
|
6
|
+
import WebView from "../../components/webview/index.js";
|
7
|
+
import useGetUserToken from "../../hooks/useGetUserToken.js";
|
8
|
+
import { useAtom, useAtomValue } from 'jotai';
|
9
|
+
import { bPackageWebviewLoadingFinishAtom, MiddleScreenLoadingFinishAtom, schemeDeepLinkParamsAtom } from "../../atoms/global.js";
|
10
|
+
import MiddleScreen from "../middle/index.js";
|
11
|
+
import useAppGetUID from "../../hooks/useAppGetUID.js";
|
12
|
+
import useInitAfInfo from "../../hooks/useInitAfInfo.js";
|
13
|
+
import { useSafeAreaInsets } from 'react-native-safe-area-context';
|
14
|
+
import { getConfig } from "../../../config/index.js";
|
15
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
16
|
+
const Home = () => {
|
17
|
+
const safeAreaInsets = useSafeAreaInsets();
|
18
|
+
const systemConfig = getConfig();
|
19
|
+
const {
|
20
|
+
top,
|
21
|
+
bottom
|
22
|
+
} = safeAreaInsets;
|
23
|
+
const webRef = useRef(null);
|
24
|
+
const middleScreenLoadingFinish = useAtomValue(MiddleScreenLoadingFinishAtom);
|
25
|
+
const [bPackageWebviewLoadingFinish, setBPackageWebviewLoadingFinish] = useAtom(bPackageWebviewLoadingFinishAtom);
|
26
|
+
const schemeDeepLinkParams = useAtomValue(schemeDeepLinkParamsAtom);
|
27
|
+
const jsbridge = useMemo(() => {
|
28
|
+
return createJsbridge({
|
29
|
+
getWebViewRef: () => webRef
|
30
|
+
});
|
31
|
+
}, []);
|
32
|
+
useEffect(() => {
|
33
|
+
if (!(bPackageWebviewLoadingFinish && middleScreenLoadingFinish)) {
|
34
|
+
return;
|
35
|
+
}
|
36
|
+
if (schemeDeepLinkParams.pageName) {
|
37
|
+
jsbridge.postMessage({
|
38
|
+
type: 'SEND_H5_PARAMS',
|
39
|
+
payload: schemeDeepLinkParams
|
40
|
+
});
|
41
|
+
}
|
42
|
+
}, [schemeDeepLinkParams, bPackageWebviewLoadingFinish, middleScreenLoadingFinish, jsbridge]);
|
43
|
+
useGetUserToken(jsbridge);
|
44
|
+
return /*#__PURE__*/_jsx(View, {
|
45
|
+
style: {
|
46
|
+
flex: 1,
|
47
|
+
opacity: bPackageWebviewLoadingFinish && middleScreenLoadingFinish ? 1 : 0
|
48
|
+
},
|
49
|
+
children: /*#__PURE__*/_jsx(WebView, {
|
50
|
+
ref: webRef,
|
51
|
+
source: {
|
52
|
+
uri: `${systemConfig.webviewUrl}?platform=${Platform.OS}&app_version=${'1.1.1'}&user_id=${global.GLOBAL_USER_UID}&top=${top}&bottom=${bottom}`
|
53
|
+
},
|
54
|
+
onInvokeMessage: () => {},
|
55
|
+
onLoadEnd: () => {
|
56
|
+
console.log('onLoadEnd');
|
57
|
+
setBPackageWebviewLoadingFinish(true);
|
58
|
+
}
|
59
|
+
})
|
60
|
+
});
|
61
|
+
};
|
62
|
+
const ProviderBPackageIndex = props => {
|
63
|
+
const {
|
64
|
+
children
|
65
|
+
} = props;
|
66
|
+
const {
|
67
|
+
isLoading,
|
68
|
+
isAPackage
|
69
|
+
} = useAppGetUID();
|
70
|
+
const middleScreenLoadingFinish = useAtomValue(MiddleScreenLoadingFinishAtom);
|
71
|
+
const schemeDeepLinkParams = useAtomValue(schemeDeepLinkParamsAtom);
|
72
|
+
console.log('schemeDeepLinkParams', schemeDeepLinkParams);
|
73
|
+
useInitAfInfo();
|
74
|
+
if (!isLoading) {
|
75
|
+
return null;
|
76
|
+
}
|
77
|
+
console.log('isAPackage', isAPackage);
|
78
|
+
if (isAPackage) {
|
79
|
+
return children;
|
80
|
+
}
|
81
|
+
console.log('middleScreenLoadingFinish', middleScreenLoadingFinish);
|
82
|
+
return /*#__PURE__*/_jsxs(View, {
|
83
|
+
style: {
|
84
|
+
flex: 1
|
85
|
+
},
|
86
|
+
children: [!middleScreenLoadingFinish && /*#__PURE__*/_jsx(MiddleScreen, {}), /*#__PURE__*/_jsx(Home, {})]
|
87
|
+
});
|
88
|
+
};
|
89
|
+
export default ProviderBPackageIndex;
|
90
|
+
//# sourceMappingURL=index.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"names":["React","useEffect","useMemo","useRef","Platform","View","createJsbridge","WebView","useGetUserToken","useAtom","useAtomValue","bPackageWebviewLoadingFinishAtom","MiddleScreenLoadingFinishAtom","schemeDeepLinkParamsAtom","MiddleScreen","useAppGetUID","useInitAfInfo","useSafeAreaInsets","getConfig","jsx","_jsx","jsxs","_jsxs","Home","safeAreaInsets","systemConfig","top","bottom","webRef","middleScreenLoadingFinish","bPackageWebviewLoadingFinish","setBPackageWebviewLoadingFinish","schemeDeepLinkParams","jsbridge","getWebViewRef","pageName","postMessage","type","payload","style","flex","opacity","children","ref","source","uri","webviewUrl","OS","global","GLOBAL_USER_UID","onInvokeMessage","onLoadEnd","console","log","ProviderBPackageIndex","props","isLoading","isAPackage"],"sourceRoot":"../../../../../src","sources":["package/screens/home/index.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAuBC,SAAS,EAAEC,OAAO,EAAEC,MAAM,QAAQ,OAAO;AAC5E,SAASC,QAAQ,EAAEC,IAAI,QAAQ,cAAc;AAC7C,SAASC,cAAc,QAAQ,wBAAwB;AACvD,OAAOC,OAAO,MAAM,mCAA0B;AAC9C,OAAOC,eAAe,MAAM,gCAA6B;AACzD,SAASC,OAAO,EAAEC,YAAY,QAAQ,OAAO;AAC7C,SACEC,gCAAgC,EAChCC,6BAA6B,EAC7BC,wBAAwB,QACnB,uBAAoB;AAC3B,OAAOC,YAAY,MAAM,oBAAW;AACpC,OAAOC,YAAY,MAAM,6BAA0B;AACnD,OAAOC,aAAa,MAAM,8BAA2B;AACrD,SAASC,iBAAiB,QAAQ,gCAAgC;AAClE,SAASC,SAAS,QAAQ,0BAAiB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAG5C,MAAMC,IAAI,GAAGA,CAAA,KAAM;EACjB,MAAMC,cAAc,GAAGP,iBAAiB,CAAC,CAAC;EAC1C,MAAMQ,YAAY,GAAGP,SAAS,CAAC,CAAC;EAChC,MAAM;IAAEQ,GAAG;IAAEC;EAAO,CAAC,GAAGH,cAAc;EACtC,MAAMI,MAAM,GAAGzB,MAAM,CAAM,IAAI,CAAC;EAChC,MAAM0B,yBAAyB,GAAGnB,YAAY,CAACE,6BAA6B,CAAC;EAC7E,MAAM,CAACkB,4BAA4B,EAAEC,+BAA+B,CAAC,GACnEtB,OAAO,CAACE,gCAAgC,CAAC;EAE3C,MAAMqB,oBAAoB,GAAGtB,YAAY,CAACG,wBAAwB,CAAC;EAEnE,MAAMoB,QAAQ,GAAG/B,OAAO,CAAC,MAAM;IAC7B,OAAOI,cAAc,CAAC;MAAE4B,aAAa,EAAEA,CAAA,KAAMN;IAAO,CAAC,CAAC;EACxD,CAAC,EAAE,EAAE,CAAC;EAEN3B,SAAS,CAAC,MAAM;IACd,IAAI,EAAE6B,4BAA4B,IAAID,yBAAyB,CAAC,EAAE;MAChE;IACF;IACA,IAAIG,oBAAoB,CAACG,QAAQ,EAAE;MACjCF,QAAQ,CAACG,WAAW,CAAC;QACnBC,IAAI,EAAE,gBAAgB;QACtBC,OAAO,EAAEN;MACX,CAAC,CAAC;IACJ;EACF,CAAC,EAAE,CAACA,oBAAoB,EAAEF,4BAA4B,EAACD,yBAAyB,EAAEI,QAAQ,CAAC,CAAC;EAE5FzB,eAAe,CAACyB,QAAQ,CAAC;EAEzB,oBACEb,IAAA,CAACf,IAAI;IACHkC,KAAK,EAAE;MACLC,IAAI,EAAE,CAAC;MACPC,OAAO,EACLX,4BAA4B,IAAID,yBAAyB,GAAG,CAAC,GAAG;IACpE,CAAE;IAAAa,QAAA,eAEFtB,IAAA,CAACb,OAAO;MACNoC,GAAG,EAAEf,MAAO;MACZgB,MAAM,EAAE;QACNC,GAAG,EAAE,GAAGpB,YAAY,CAACqB,UAAU,aAAa1C,QAAQ,CAAC2C,EAAE,gBACrC,OAAO,YAAYC,MAAM,CAACC,eAAe,QACjDvB,GAAG,WAAWC,MAAM;MAChC,CAAE;MACFuB,eAAe,EAAEA,CAAA,KAAM,CAAE,CAAE;MAC3BC,SAAS,EAAEA,CAAA,KAAM;QACfC,OAAO,CAACC,GAAG,CAAC,WAAW,CAAC;QACxBtB,+BAA+B,CAAC,IAAI,CAAC;MACvC;IAAE,CACH;EAAC,CACE,CAAC;AAEX,CAAC;AAGD,MAAMuB,qBAAqB,GAAIC,KAAwB,IAAM;EAC3D,MAAM;IACJb;EACF,CAAC,GAAGa,KAAK;EACT,MAAM;IAAEC,SAAS;IAACC;EAAY,CAAC,GAAG1C,YAAY,CAAC,CAAC;EAChD,MAAMc,yBAAyB,GAAGnB,YAAY,CAACE,6BAA6B,CAAC;EAC7E,MAAMoB,oBAAoB,GAAGtB,YAAY,CAACG,wBAAwB,CAAC;EACnEuC,OAAO,CAACC,GAAG,CAAC,sBAAsB,EAACrB,oBAAoB,CAAC;EACxDhB,aAAa,CAAC,CAAC;EAEf,IAAI,CAACwC,SAAS,EAAE;IACd,OAAO,IAAI;EACb;EACAJ,OAAO,CAACC,GAAG,CAAC,YAAY,EAACI,UAAU,CAAC;EACpC,IAAIA,UAAU,EAAE;IACd,OAAOf,QAAQ;EACjB;EACAU,OAAO,CAACC,GAAG,CAAC,2BAA2B,EAACxB,yBAAyB,CAAC;EAClE,oBACEP,KAAA,CAACjB,IAAI;IAACkC,KAAK,EAAE;MAAEC,IAAI,EAAE;IAAE,CAAE;IAAAE,QAAA,GACtB,CAACb,yBAAyB,iBAAIT,IAAA,CAACN,YAAY,IAAE,CAAC,eAC/CM,IAAA,CAACG,IAAI,IAAG,CAAC;EAAA,CACL,CAAC;AAEX,CAAC;AAED,eAAe+B,qBAAqB","ignoreList":[]}
|
@@ -0,0 +1,131 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
import React, { useState, useEffect, useRef, useImperativeHandle, forwardRef } from 'react';
|
4
|
+
import { View, Text, StyleSheet, Animated, Easing } from 'react-native';
|
5
|
+
import { rwd } from "../../../utils/rwd.js";
|
6
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
7
|
+
const CustomProgressBar = /*#__PURE__*/forwardRef(({
|
8
|
+
duration = 5000,
|
9
|
+
height = rwd(10),
|
10
|
+
backgroundColor = '#e0e0e0',
|
11
|
+
fillColor = '#4CAF50',
|
12
|
+
showPercentage = true,
|
13
|
+
borderRadius = 10,
|
14
|
+
textStyle = {},
|
15
|
+
containerStyle = {},
|
16
|
+
onComplete = () => {}
|
17
|
+
}, ref) => {
|
18
|
+
const progress = useState(new Animated.Value(0))[0];
|
19
|
+
const [currentProgress, setCurrentProgress] = useState(0);
|
20
|
+
const animationRef = useRef(null);
|
21
|
+
let listenerId = useRef('');
|
22
|
+
const animateTo = (value, callback) => {
|
23
|
+
// Stop any ongoing animation
|
24
|
+
if (animationRef.current) {
|
25
|
+
animationRef.current.stop();
|
26
|
+
}
|
27
|
+
|
28
|
+
// Calculate remaining duration proportionally
|
29
|
+
const remainingDuration = duration * ((100 - currentProgress) / 100);
|
30
|
+
animationRef.current = Animated.timing(progress, {
|
31
|
+
toValue: value,
|
32
|
+
duration: remainingDuration,
|
33
|
+
easing: Easing.linear,
|
34
|
+
useNativeDriver: false
|
35
|
+
});
|
36
|
+
animationRef.current.start(() => {
|
37
|
+
if (value === 100 && callback) {
|
38
|
+
callback();
|
39
|
+
}
|
40
|
+
});
|
41
|
+
};
|
42
|
+
useEffect(() => {
|
43
|
+
// Add listener to animation value
|
44
|
+
listenerId.current = progress.addListener(({
|
45
|
+
value
|
46
|
+
}) => {
|
47
|
+
setCurrentProgress(Math.floor(value));
|
48
|
+
});
|
49
|
+
|
50
|
+
// Start initial animation
|
51
|
+
animateTo(100, onComplete);
|
52
|
+
|
53
|
+
// Clean up listener
|
54
|
+
return () => {
|
55
|
+
progress.removeListener(listenerId.current);
|
56
|
+
if (animationRef.current) {
|
57
|
+
animationRef.current.stop();
|
58
|
+
}
|
59
|
+
};
|
60
|
+
}, [duration]);
|
61
|
+
useImperativeHandle(ref, () => ({
|
62
|
+
completeProgress: () => {
|
63
|
+
// Stop current animation and jump to 100%
|
64
|
+
if (animationRef.current) {
|
65
|
+
animationRef.current.stop();
|
66
|
+
}
|
67
|
+
progress.setValue(100);
|
68
|
+
setCurrentProgress(100);
|
69
|
+
onComplete();
|
70
|
+
},
|
71
|
+
setProgress: value => {
|
72
|
+
// Set to specific value (0-100)
|
73
|
+
const clampedValue = Math.min(100, Math.max(0, value));
|
74
|
+
if (animationRef.current) {
|
75
|
+
animationRef.current.stop();
|
76
|
+
}
|
77
|
+
progress.setValue(clampedValue);
|
78
|
+
setCurrentProgress(clampedValue);
|
79
|
+
if (clampedValue === 100) {
|
80
|
+
onComplete();
|
81
|
+
}
|
82
|
+
},
|
83
|
+
startAnimation: () => {
|
84
|
+
// Restart animation from current position
|
85
|
+
animateTo(100, onComplete);
|
86
|
+
}
|
87
|
+
}), [progress, currentProgress, onComplete]);
|
88
|
+
const widthInterpolation = progress.interpolate({
|
89
|
+
inputRange: [0, 100],
|
90
|
+
outputRange: ['0%', '100%']
|
91
|
+
});
|
92
|
+
return /*#__PURE__*/_jsxs(View, {
|
93
|
+
style: [styles.container, containerStyle],
|
94
|
+
children: [/*#__PURE__*/_jsx(View, {
|
95
|
+
style: [styles.progressBar, {
|
96
|
+
height,
|
97
|
+
backgroundColor,
|
98
|
+
borderRadius
|
99
|
+
}],
|
100
|
+
children: /*#__PURE__*/_jsx(Animated.View, {
|
101
|
+
style: [styles.progressFill, {
|
102
|
+
width: widthInterpolation,
|
103
|
+
backgroundColor: fillColor,
|
104
|
+
borderRadius
|
105
|
+
}]
|
106
|
+
})
|
107
|
+
}), showPercentage && /*#__PURE__*/_jsxs(Text, {
|
108
|
+
style: [styles.progressText, textStyle],
|
109
|
+
children: [currentProgress, "%"]
|
110
|
+
})]
|
111
|
+
});
|
112
|
+
});
|
113
|
+
const styles = StyleSheet.create({
|
114
|
+
container: {
|
115
|
+
width: '100%',
|
116
|
+
padding: rwd(20)
|
117
|
+
},
|
118
|
+
progressBar: {
|
119
|
+
overflow: 'hidden'
|
120
|
+
},
|
121
|
+
progressFill: {
|
122
|
+
height: '100%'
|
123
|
+
},
|
124
|
+
progressText: {
|
125
|
+
marginTop: rwd(8),
|
126
|
+
textAlign: 'center',
|
127
|
+
fontSize: rwd(16)
|
128
|
+
}
|
129
|
+
});
|
130
|
+
export default CustomProgressBar;
|
131
|
+
//# sourceMappingURL=CustomProgressBar.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"names":["React","useState","useEffect","useRef","useImperativeHandle","forwardRef","View","Text","StyleSheet","Animated","Easing","rwd","jsx","_jsx","jsxs","_jsxs","CustomProgressBar","duration","height","backgroundColor","fillColor","showPercentage","borderRadius","textStyle","containerStyle","onComplete","ref","progress","Value","currentProgress","setCurrentProgress","animationRef","listenerId","animateTo","value","callback","current","stop","remainingDuration","timing","toValue","easing","linear","useNativeDriver","start","addListener","Math","floor","removeListener","completeProgress","setValue","setProgress","clampedValue","min","max","startAnimation","widthInterpolation","interpolate","inputRange","outputRange","style","styles","container","children","progressBar","progressFill","width","progressText","create","padding","overflow","marginTop","textAlign","fontSize"],"sourceRoot":"../../../../../../src","sources":["package/screens/middle/components/CustomProgressBar.tsx"],"mappings":"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","ignoreList":[]}
|
@@ -0,0 +1,105 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
import { useAtomValue, useSetAtom } from 'jotai';
|
4
|
+
import { useEffect, useRef, useState } from 'react';
|
5
|
+
import { Image, StatusBar, Text, View } from 'react-native';
|
6
|
+
import CustomProgressBar from "./components/CustomProgressBar.js";
|
7
|
+
import { bPackageWebviewLoadingFinishAtom, isFirstInitAfSuccessAtom, MiddleScreenLoadingFinishAtom } from "../../atoms/global.js";
|
8
|
+
import { rwd } from "../../utils/rwd.js";
|
9
|
+
import { getConfig } from "../../../config/index.js";
|
10
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
11
|
+
const MiddleScreen = () => {
|
12
|
+
const systemConfig = getConfig();
|
13
|
+
const progressRef = useRef(null);
|
14
|
+
/** 深度链接是否成功 */
|
15
|
+
const isFirstInitAfSuccess = useAtomValue(isFirstInitAfSuccessAtom);
|
16
|
+
/** b包webview是否加载完成 */
|
17
|
+
const bPackageWebviewLoadingFinish = useAtomValue(bPackageWebviewLoadingFinishAtom);
|
18
|
+
/** 100%动画是否执行完毕 */
|
19
|
+
const setIsAnimationSuccess = useSetAtom(MiddleScreenLoadingFinishAtom);
|
20
|
+
const [isLoading, setIsLoading] = useState(false);
|
21
|
+
useEffect(() => {
|
22
|
+
// 深度链接成功,等于成功一半,无需走进度条
|
23
|
+
if (isFirstInitAfSuccess) {
|
24
|
+
setIsLoading(true);
|
25
|
+
}
|
26
|
+
}, [isFirstInitAfSuccess]);
|
27
|
+
useEffect(() => {
|
28
|
+
if (bPackageWebviewLoadingFinish && isLoading) {
|
29
|
+
progressRef.current?.completeProgress();
|
30
|
+
setIsAnimationSuccess(true);
|
31
|
+
}
|
32
|
+
}, [isLoading, bPackageWebviewLoadingFinish, setIsAnimationSuccess]);
|
33
|
+
return /*#__PURE__*/_jsxs(View, {
|
34
|
+
style: {
|
35
|
+
width: '100%',
|
36
|
+
height: '100%'
|
37
|
+
},
|
38
|
+
children: [/*#__PURE__*/_jsx(StatusBar, {
|
39
|
+
translucent: true,
|
40
|
+
barStyle: "light-content",
|
41
|
+
backgroundColor: "transparent"
|
42
|
+
}), /*#__PURE__*/_jsxs(View, {
|
43
|
+
style: {
|
44
|
+
flex: 1,
|
45
|
+
backgroundColor: '#12141D',
|
46
|
+
paddingTop: '50%'
|
47
|
+
},
|
48
|
+
children: [/*#__PURE__*/_jsxs(View, {
|
49
|
+
style: {
|
50
|
+
justifyContent: 'center',
|
51
|
+
alignItems: 'center'
|
52
|
+
},
|
53
|
+
children: [/*#__PURE__*/_jsx(Image, {
|
54
|
+
source: {
|
55
|
+
uri: systemConfig.adjustConfig.bgImage
|
56
|
+
},
|
57
|
+
style: {
|
58
|
+
width: rwd(170),
|
59
|
+
height: rwd(170)
|
60
|
+
}
|
61
|
+
}), /*#__PURE__*/_jsx(Text, {
|
62
|
+
style: {
|
63
|
+
color: '#fff',
|
64
|
+
fontSize: rwd(34),
|
65
|
+
fontWeight: 600,
|
66
|
+
marginTop: rwd(50)
|
67
|
+
},
|
68
|
+
children: systemConfig.adjustConfig.appName
|
69
|
+
})]
|
70
|
+
}), /*#__PURE__*/_jsxs(View, {
|
71
|
+
style: {
|
72
|
+
position: 'absolute',
|
73
|
+
bottom: '20%',
|
74
|
+
width: '100%'
|
75
|
+
},
|
76
|
+
children: [/*#__PURE__*/_jsx(CustomProgressBar, {
|
77
|
+
ref: progressRef,
|
78
|
+
duration: 8000,
|
79
|
+
fillColor: "#3498db" // 蓝色进度条
|
80
|
+
,
|
81
|
+
textStyle: {
|
82
|
+
color: '#3498db',
|
83
|
+
fontWeight: 'bold'
|
84
|
+
} // 蓝色文字
|
85
|
+
,
|
86
|
+
onComplete: () => {
|
87
|
+
setIsLoading(true);
|
88
|
+
console.log('进度完成!');
|
89
|
+
}
|
90
|
+
}), /*#__PURE__*/_jsx(Text, {
|
91
|
+
style: {
|
92
|
+
color: '#fff',
|
93
|
+
fontSize: rwd(24),
|
94
|
+
fontWeight: 600,
|
95
|
+
marginTop: rwd(30),
|
96
|
+
textAlign: 'center'
|
97
|
+
},
|
98
|
+
children: systemConfig.adjustConfig.loadingText
|
99
|
+
})]
|
100
|
+
})]
|
101
|
+
})]
|
102
|
+
});
|
103
|
+
};
|
104
|
+
export default MiddleScreen;
|
105
|
+
//# sourceMappingURL=index.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"names":["useAtomValue","useSetAtom","useEffect","useRef","useState","Image","StatusBar","Text","View","CustomProgressBar","bPackageWebviewLoadingFinishAtom","isFirstInitAfSuccessAtom","MiddleScreenLoadingFinishAtom","rwd","getConfig","jsx","_jsx","jsxs","_jsxs","MiddleScreen","systemConfig","progressRef","isFirstInitAfSuccess","bPackageWebviewLoadingFinish","setIsAnimationSuccess","isLoading","setIsLoading","current","completeProgress","style","width","height","children","translucent","barStyle","backgroundColor","flex","paddingTop","justifyContent","alignItems","source","uri","adjustConfig","bgImage","color","fontSize","fontWeight","marginTop","appName","position","bottom","ref","duration","fillColor","textStyle","onComplete","console","log","textAlign","loadingText"],"sourceRoot":"../../../../../src","sources":["package/screens/middle/index.tsx"],"mappings":"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","ignoreList":[]}
|