@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.
Files changed (58) hide show
  1. package/LICENSE +20 -0
  2. package/MPlay.podspec +20 -0
  3. package/README.md +33 -0
  4. package/android/build.gradle +83 -0
  5. package/android/gradle.properties +5 -0
  6. package/android/src/main/AndroidManifest.xml +2 -0
  7. package/android/src/main/java/com/mplay/MPlayModule.kt +23 -0
  8. package/android/src/main/java/com/mplay/MPlayPackage.kt +33 -0
  9. package/ios/MPlay.h +5 -0
  10. package/ios/MPlay.mm +18 -0
  11. package/lib/module/NativeMPlay.js +5 -0
  12. package/lib/module/NativeMPlay.js.map +1 -0
  13. package/lib/module/config/index.js +29 -0
  14. package/lib/module/config/index.js.map +1 -0
  15. package/lib/module/index.js +6 -0
  16. package/lib/module/index.js.map +1 -0
  17. package/lib/module/package/assets/loading.png +0 -0
  18. package/lib/module/package/atoms/global.js +20 -0
  19. package/lib/module/package/atoms/global.js.map +1 -0
  20. package/lib/module/package/components/webview/index.js +89 -0
  21. package/lib/module/package/components/webview/index.js.map +1 -0
  22. package/lib/module/package/const/storage.js +12 -0
  23. package/lib/module/package/const/storage.js.map +1 -0
  24. package/lib/module/package/hooks/useAppGetUID.js +47 -0
  25. package/lib/module/package/hooks/useAppGetUID.js.map +1 -0
  26. package/lib/module/package/hooks/useGetNetwork.js +19 -0
  27. package/lib/module/package/hooks/useGetNetwork.js.map +1 -0
  28. package/lib/module/package/hooks/useGetUserToken.js +48 -0
  29. package/lib/module/package/hooks/useGetUserToken.js.map +1 -0
  30. package/lib/module/package/hooks/useGoogleAndIosLogin.js +34 -0
  31. package/lib/module/package/hooks/useGoogleAndIosLogin.js.map +1 -0
  32. package/lib/module/package/hooks/useInitAfInfo.js +183 -0
  33. package/lib/module/package/hooks/useInitAfInfo.js.map +1 -0
  34. package/lib/module/package/request/constants.js +14 -0
  35. package/lib/module/package/request/constants.js.map +1 -0
  36. package/lib/module/package/request/index.js +70 -0
  37. package/lib/module/package/request/index.js.map +1 -0
  38. package/lib/module/package/request/type.js +4 -0
  39. package/lib/module/package/request/type.js.map +1 -0
  40. package/lib/module/package/screens/home/index.js +90 -0
  41. package/lib/module/package/screens/home/index.js.map +1 -0
  42. package/lib/module/package/screens/middle/components/CustomProgressBar.js +131 -0
  43. package/lib/module/package/screens/middle/components/CustomProgressBar.js.map +1 -0
  44. package/lib/module/package/screens/middle/index.js +105 -0
  45. package/lib/module/package/screens/middle/index.js.map +1 -0
  46. package/lib/module/package/utils/extractQueryParams.js +13 -0
  47. package/lib/module/package/utils/extractQueryParams.js.map +1 -0
  48. package/lib/module/package/utils/getUrlFromDevice.js +36 -0
  49. package/lib/module/package/utils/getUrlFromDevice.js.map +1 -0
  50. package/lib/module/package/utils/optionalDependencies.js +70 -0
  51. package/lib/module/package/utils/optionalDependencies.js.map +1 -0
  52. package/lib/module/package/utils/rwd.js +20 -0
  53. package/lib/module/package/utils/rwd.js.map +1 -0
  54. package/lib/module/types/global.d.js +4 -0
  55. package/lib/module/types/global.d.js.map +1 -0
  56. package/lib/module/types/optional-modules.d.js +2 -0
  57. package/lib/module/types/optional-modules.d.js.map +1 -0
  58. package/package.json +173 -0
package/LICENSE ADDED
@@ -0,0 +1,20 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 m-play
4
+ Permission is hereby granted, free of charge, to any person obtaining a copy
5
+ of this software and associated documentation files (the "Software"), to deal
6
+ in the Software without restriction, including without limitation the rights
7
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8
+ copies of the Software, and to permit persons to whom the Software is
9
+ furnished to do so, subject to the following conditions:
10
+
11
+ The above copyright notice and this permission notice shall be included in all
12
+ copies or substantial portions of the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
20
+ SOFTWARE.
package/MPlay.podspec ADDED
@@ -0,0 +1,20 @@
1
+ require "json"
2
+
3
+ package = JSON.parse(File.read(File.join(__dir__, "package.json")))
4
+
5
+ Pod::Spec.new do |s|
6
+ s.name = "MPlay"
7
+ s.version = package["version"]
8
+ s.summary = package["description"]
9
+ s.homepage = package["homepage"]
10
+ s.license = package["license"]
11
+ s.authors = package["author"]
12
+
13
+ s.platforms = { :ios => min_ios_version_supported }
14
+ s.source = { :git => "https://github.com/1111EWEEWEWEWEWEWE/m-play.git", :tag => "#{s.version}" }
15
+
16
+ s.source_files = "ios/**/*.{h,m,mm,cpp}"
17
+ s.private_header_files = "ios/**/*.h"
18
+
19
+ install_modules_dependencies(s)
20
+ end
package/README.md ADDED
@@ -0,0 +1,33 @@
1
+ # m-play
2
+
3
+ m-play
4
+
5
+ ## Installation
6
+
7
+ ```sh
8
+ npm install m-play
9
+ ```
10
+
11
+ ## Usage
12
+
13
+
14
+ ```js
15
+ import { multiply } from 'm-play';
16
+
17
+ // ...
18
+
19
+ const result = multiply(3, 7);
20
+ ```
21
+
22
+
23
+ ## Contributing
24
+
25
+ See the [contributing guide](CONTRIBUTING.md) to learn how to contribute to the repository and the development workflow.
26
+
27
+ ## License
28
+
29
+ MIT
30
+
31
+ ---
32
+
33
+ Made with [create-react-native-library](https://github.com/callstack/react-native-builder-bob)
@@ -0,0 +1,83 @@
1
+ buildscript {
2
+ ext.getExtOrDefault = {name ->
3
+ return rootProject.ext.has(name) ? rootProject.ext.get(name) : project.properties['MPlay_' + name]
4
+ }
5
+
6
+ repositories {
7
+ google()
8
+ mavenCentral()
9
+ }
10
+
11
+ dependencies {
12
+ classpath "com.android.tools.build:gradle:8.7.2"
13
+ // noinspection DifferentKotlinGradleVersion
14
+ classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:${getExtOrDefault('kotlinVersion')}"
15
+ }
16
+ }
17
+
18
+
19
+ apply plugin: "com.android.library"
20
+ apply plugin: "kotlin-android"
21
+
22
+ apply plugin: "com.facebook.react"
23
+
24
+ def getExtOrIntegerDefault(name) {
25
+ return rootProject.ext.has(name) ? rootProject.ext.get(name) : (project.properties["MPlay_" + name]).toInteger()
26
+ }
27
+
28
+ android {
29
+ namespace "com.mplay"
30
+
31
+ compileSdkVersion getExtOrIntegerDefault("compileSdkVersion")
32
+
33
+ defaultConfig {
34
+ minSdkVersion getExtOrIntegerDefault("minSdkVersion")
35
+ targetSdkVersion getExtOrIntegerDefault("targetSdkVersion")
36
+ }
37
+
38
+ buildFeatures {
39
+ buildConfig true
40
+ }
41
+
42
+ buildTypes {
43
+ release {
44
+ minifyEnabled false
45
+ }
46
+ }
47
+
48
+ lintOptions {
49
+ disable "GradleCompatible"
50
+ }
51
+
52
+ compileOptions {
53
+ sourceCompatibility JavaVersion.VERSION_1_8
54
+ targetCompatibility JavaVersion.VERSION_1_8
55
+ }
56
+
57
+ sourceSets {
58
+ main {
59
+ java.srcDirs += [
60
+ "generated/java",
61
+ "generated/jni"
62
+ ]
63
+ }
64
+ }
65
+ }
66
+
67
+ repositories {
68
+ mavenCentral()
69
+ google()
70
+ }
71
+
72
+ def kotlin_version = getExtOrDefault("kotlinVersion")
73
+
74
+ dependencies {
75
+ implementation "com.facebook.react:react-android"
76
+ implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
77
+ }
78
+
79
+ react {
80
+ jsRootDir = file("../src/")
81
+ libraryName = "MPlay"
82
+ codegenJavaPackageName = "com.mplay"
83
+ }
@@ -0,0 +1,5 @@
1
+ MPlay_kotlinVersion=2.0.21
2
+ MPlay_minSdkVersion=24
3
+ MPlay_targetSdkVersion=34
4
+ MPlay_compileSdkVersion=35
5
+ MPlay_ndkVersion=27.1.12297006
@@ -0,0 +1,2 @@
1
+ <manifest xmlns:android="http://schemas.android.com/apk/res/android">
2
+ </manifest>
@@ -0,0 +1,23 @@
1
+ package com.mplay
2
+
3
+ import com.facebook.react.bridge.ReactApplicationContext
4
+ import com.facebook.react.module.annotations.ReactModule
5
+
6
+ @ReactModule(name = MPlayModule.NAME)
7
+ class MPlayModule(reactContext: ReactApplicationContext) :
8
+ NativeMPlaySpec(reactContext) {
9
+
10
+ override fun getName(): String {
11
+ return NAME
12
+ }
13
+
14
+ // Example method
15
+ // See https://reactnative.dev/docs/native-modules-android
16
+ override fun multiply(a: Double, b: Double): Double {
17
+ return a * b
18
+ }
19
+
20
+ companion object {
21
+ const val NAME = "MPlay"
22
+ }
23
+ }
@@ -0,0 +1,33 @@
1
+ package com.mplay
2
+
3
+ import com.facebook.react.BaseReactPackage
4
+ import com.facebook.react.bridge.NativeModule
5
+ import com.facebook.react.bridge.ReactApplicationContext
6
+ import com.facebook.react.module.model.ReactModuleInfo
7
+ import com.facebook.react.module.model.ReactModuleInfoProvider
8
+ import java.util.HashMap
9
+
10
+ class MPlayPackage : BaseReactPackage() {
11
+ override fun getModule(name: String, reactContext: ReactApplicationContext): NativeModule? {
12
+ return if (name == MPlayModule.NAME) {
13
+ MPlayModule(reactContext)
14
+ } else {
15
+ null
16
+ }
17
+ }
18
+
19
+ override fun getReactModuleInfoProvider(): ReactModuleInfoProvider {
20
+ return ReactModuleInfoProvider {
21
+ val moduleInfos: MutableMap<String, ReactModuleInfo> = HashMap()
22
+ moduleInfos[MPlayModule.NAME] = ReactModuleInfo(
23
+ MPlayModule.NAME,
24
+ MPlayModule.NAME,
25
+ false, // canOverrideExistingModule
26
+ false, // needsEagerInit
27
+ false, // isCxxModule
28
+ true // isTurboModule
29
+ )
30
+ moduleInfos
31
+ }
32
+ }
33
+ }
package/ios/MPlay.h ADDED
@@ -0,0 +1,5 @@
1
+ #import <MPlaySpec/MPlaySpec.h>
2
+
3
+ @interface MPlay : NSObject <NativeMPlaySpec>
4
+
5
+ @end
package/ios/MPlay.mm ADDED
@@ -0,0 +1,18 @@
1
+ #import "MPlay.h"
2
+
3
+ @implementation MPlay
4
+ RCT_EXPORT_MODULE()
5
+
6
+ - (NSNumber *)multiply:(double)a b:(double)b {
7
+ NSNumber *result = @(a * b);
8
+
9
+ return result;
10
+ }
11
+
12
+ - (std::shared_ptr<facebook::react::TurboModule>)getTurboModule:
13
+ (const facebook::react::ObjCTurboModule::InitParams &)params
14
+ {
15
+ return std::make_shared<facebook::react::NativeMPlaySpecJSI>(params);
16
+ }
17
+
18
+ @end
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ import { TurboModuleRegistry } from 'react-native';
4
+ export default TurboModuleRegistry.getEnforcing('MPlay');
5
+ //# sourceMappingURL=NativeMPlay.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["TurboModuleRegistry","getEnforcing"],"sourceRoot":"../../src","sources":["NativeMPlay.ts"],"mappings":";;AACA,SAASA,mBAAmB,QAAQ,cAAc;AAMlD,eAAeA,mBAAmB,CAACC,YAAY,CAAO,OAAO,CAAC","ignoreList":[]}
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+
3
+ // 定义配置类型
4
+
5
+ // 声明全局类型
6
+
7
+ // 初始化全局配置
8
+ if (!global.__MPLAY_CONFIG__) {
9
+ global.__MPLAY_CONFIG__ = null;
10
+ }
11
+
12
+ // 设置配置
13
+ export const initializeConfig = config => {
14
+ global.__MPLAY_CONFIG__ = config;
15
+ };
16
+
17
+ // 获取配置
18
+ export const getConfig = () => {
19
+ if (!global.__MPLAY_CONFIG__) {
20
+ throw new Error('Config not initialized. Please call initializeConfig first.');
21
+ }
22
+ return global.__MPLAY_CONFIG__;
23
+ };
24
+
25
+ // 重置配置
26
+ export const resetConfig = () => {
27
+ global.__MPLAY_CONFIG__ = null;
28
+ };
29
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["global","__MPLAY_CONFIG__","initializeConfig","config","getConfig","Error","resetConfig"],"sourceRoot":"../../../src","sources":["config/index.ts"],"mappings":";;AAAA;;AAqBA;;AAKA;AACA,IAAI,CAACA,MAAM,CAACC,gBAAgB,EAAE;EAC1BD,MAAM,CAACC,gBAAgB,GAAG,IAAI;AAClC;;AAEA;AACA,OAAO,MAAMC,gBAAgB,GAAIC,MAAkB,IAAK;EACpDH,MAAM,CAACC,gBAAgB,GAAGE,MAAM;AACpC,CAAC;;AAED;AACA,OAAO,MAAMC,SAAS,GAAGA,CAAA,KAAkB;EACvC,IAAI,CAACJ,MAAM,CAACC,gBAAgB,EAAE;IAC1B,MAAM,IAAII,KAAK,CAAC,6DAA6D,CAAC;EAClF;EACA,OAAOL,MAAM,CAACC,gBAAgB;AAClC,CAAC;;AAED;AACA,OAAO,MAAMK,WAAW,GAAGA,CAAA,KAAM;EAC7BN,MAAM,CAACC,gBAAgB,GAAG,IAAI;AAClC,CAAC","ignoreList":[]}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+
3
+ import ProviderBPackageIndex from "./package/screens/home/index.js";
4
+ import { initializeConfig } from "./config/index.js";
5
+ export { ProviderBPackageIndex, initializeConfig };
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["ProviderBPackageIndex","initializeConfig"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;AAAA,OAAOA,qBAAqB,MAAM,iCAAwB;AAC1D,SAASC,gBAAgB,QAAQ,mBAAU;AAC3C,SAASD,qBAAqB,EAAEC,gBAAgB","ignoreList":[]}
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+
3
+ import { atom } from 'jotai';
4
+ import { Platform } from 'react-native';
5
+
6
+ /** 是否允许att权限访问 */
7
+ export const isAllowAttAccessAtom = atom(Platform.OS === 'android' ? true : false);
8
+
9
+ /** 存储的深链后面的参数-临时存储 后期需要清除 */
10
+ export const schemeDeepLinkParamsAtom = atom({});
11
+
12
+ /** 是否第一次初始化af成功 */
13
+ export const isFirstInitAfSuccessAtom = atom(false);
14
+
15
+ /** b包webview是否加载完成 */
16
+ export const bPackageWebviewLoadingFinishAtom = atom(false);
17
+
18
+ /** 中间页是否加载完成 */
19
+ export const MiddleScreenLoadingFinishAtom = atom(false);
20
+ //# sourceMappingURL=global.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["atom","Platform","isAllowAttAccessAtom","OS","schemeDeepLinkParamsAtom","isFirstInitAfSuccessAtom","bPackageWebviewLoadingFinishAtom","MiddleScreenLoadingFinishAtom"],"sourceRoot":"../../../../src","sources":["package/atoms/global.ts"],"mappings":";;AAAA,SAASA,IAAI,QAAQ,OAAO;AAC5B,SAASC,QAAQ,QAAQ,cAAc;;AAEvC;AACA,OAAO,MAAMC,oBAAoB,GAAGF,IAAI,CACtCC,QAAQ,CAACE,EAAE,KAAK,SAAS,GAAG,IAAI,GAAG,KACrC,CAAC;;AAED;AACA,OAAO,MAAMC,wBAAwB,GAAGJ,IAAI,CAAyB,CAAC,CAAC,CAAC;;AAExE;AACA,OAAO,MAAMK,wBAAwB,GAAGL,IAAI,CAAC,KAAK,CAAC;;AAEnD;AACA,OAAO,MAAMM,gCAAgC,GAAGN,IAAI,CAAC,KAAK,CAAC;;AAE3D;AACA,OAAO,MAAMO,6BAA6B,GAAGP,IAAI,CAAC,KAAK,CAAC","ignoreList":[]}
@@ -0,0 +1,89 @@
1
+ "use strict";
2
+
3
+ import React from 'react';
4
+ import { onMessageForRN } from '@tianzhitong/js-bridge';
5
+ import { WebView } from 'react-native-webview';
6
+
7
+ // 注入初始化代码
8
+ import { jsx as _jsx } from "react/jsx-runtime";
9
+ const injectJavaScriptInit = `
10
+ (function(){
11
+ window.ReactNativeJsBridge = {
12
+ callbackSeq: 1,
13
+ send: function(data) {
14
+ return new Promise(function(resolve, reject) {
15
+ const callbackName = 'ReactNativeWebViewCallback_' + ReactNativeJsBridge.callbackSeq++;
16
+
17
+ window[callbackName] = function(result) {
18
+ resolve(result);
19
+ delete window[callbackName];
20
+ };
21
+
22
+ window.ReactNativeWebView.postMessage(
23
+ JSON.stringify({
24
+ callbackId: callbackName,
25
+ data,
26
+ }),
27
+ );
28
+ });
29
+ },
30
+ };
31
+
32
+ window.ReactNativeJsBridge.send({
33
+ type: 'titleChange',
34
+ data: document.title,
35
+ });
36
+
37
+ new MutationObserver(function(mutations) {
38
+ window.ReactNativeJsBridge.send({
39
+ type: 'titleChange',
40
+ data: mutations[0].target.nodeValue,
41
+ });
42
+ }).observe(
43
+ document.querySelector('title'),
44
+ { subtree: true, characterData: true, childList: true }
45
+ );
46
+ })();
47
+ `;
48
+ export default props => {
49
+ const {
50
+ source = {},
51
+ ref,
52
+ onLoad = () => {},
53
+ onLoadEnd = () => {},
54
+ onShouldStartLoadWithRequest = null,
55
+ injectJavaScript = '',
56
+ ...other
57
+ } = props;
58
+ const handleOnLoad = e => {
59
+ onLoad(e);
60
+ };
61
+ const handleOnLoadEnd = e => {
62
+ onLoadEnd(e);
63
+ };
64
+ const hanldeShouldStartLoadWithRequest = e => {
65
+ if (onShouldStartLoadWithRequest) {
66
+ return onShouldStartLoadWithRequest(e);
67
+ }
68
+ return true;
69
+ };
70
+ return /*#__PURE__*/_jsx(WebView, {
71
+ ref: ref,
72
+ source: source,
73
+ webviewDebuggingEnabled: true,
74
+ domStorageEnabled: true // 启用 DOM 存储
75
+ ,
76
+ startInLoadingState: true // 显示加载指示器
77
+ ,
78
+ javaScriptEnabled: true // 启用 JavaScript
79
+ ,
80
+ onLoad: handleOnLoad,
81
+ onMessage: onMessageForRN,
82
+ onLoadEnd: handleOnLoadEnd,
83
+ onShouldStartLoadWithRequest: hanldeShouldStartLoadWithRequest,
84
+ injectedJavaScript: `${injectJavaScriptInit}${injectJavaScript}`,
85
+ allowsInlineMediaPlayback: true,
86
+ ...other
87
+ });
88
+ };
89
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","onMessageForRN","WebView","jsx","_jsx","injectJavaScriptInit","props","source","ref","onLoad","onLoadEnd","onShouldStartLoadWithRequest","injectJavaScript","other","handleOnLoad","e","handleOnLoadEnd","hanldeShouldStartLoadWithRequest","webviewDebuggingEnabled","domStorageEnabled","startInLoadingState","javaScriptEnabled","onMessage","injectedJavaScript","allowsInlineMediaPlayback"],"sourceRoot":"../../../../../src","sources":["package/components/webview/index.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAmD,OAAO;AACtE,SAASC,cAAc,QAAQ,wBAAwB;AACvD,SAASC,OAAO,QAAQ,sBAAsB;;AAE9C;AAAA,SAAAC,GAAA,IAAAC,IAAA;AACA,MAAMC,oBAAoB,GAAG;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AAED,eAAgBC,KAAU,IAAK;EAC7B,MAAM;IACJC,MAAM,GAAG,CAAC,CAAC;IACXC,GAAG;IACHC,MAAM,GAAGA,CAAA,KAAM,CAAC,CAAC;IACjBC,SAAS,GAAGA,CAAA,KAAM,CAAC,CAAC;IACpBC,4BAA4B,GAAG,IAAI;IACnCC,gBAAgB,GAAG,EAAE;IACrB,GAAGC;EACL,CAAC,GAAGP,KAAK;EAET,MAAMQ,YAAY,GAAIC,CAAC,IAAK;IAC1BN,MAAM,CAACM,CAAC,CAAC;EACX,CAAC;EAED,MAAMC,eAAe,GAAID,CAAC,IAAK;IAC7BL,SAAS,CAACK,CAAC,CAAC;EACd,CAAC;EAED,MAAME,gCAAgC,GAAIF,CAAC,IAAK;IAC9C,IAAIJ,4BAA4B,EAAE;MAChC,OAAOA,4BAA4B,CAACI,CAAC,CAAC;IACxC;IACA,OAAO,IAAI;EACb,CAAC;EAED,oBACEX,IAAA,CAACF,OAAO;IACNM,GAAG,EAAEA,GAAI;IACTD,MAAM,EAAEA,MAAO;IACfW,uBAAuB;IACvBC,iBAAiB,EAAE,IAAK,CAAC;IAAA;IACzBC,mBAAmB,EAAE,IAAK,CAAC;IAAA;IAC3BC,iBAAiB,EAAE,IAAK,CAAC;IAAA;IACzBZ,MAAM,EAAEK,YAAa;IACrBQ,SAAS,EAAErB,cAAe;IAC1BS,SAAS,EAAEM,eAAgB;IAC3BL,4BAA4B,EAAEM,gCAAiC;IAC/DM,kBAAkB,EAAE,GAAGlB,oBAAoB,GAAGO,gBAAgB,EAAG;IACjEY,yBAAyB,EAAE,IAAK;IAAA,GAC5BX;EAAK,CACV,CAAC;AAEN,CAAC","ignoreList":[]}
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+
3
+ export const STORAGE_USER_ID = 'STORAGE_USER_ID';
4
+ export const STORAGE_USER_TOKEN = 'STORAGE_USER_TOKEN';
5
+
6
+ /** 第一次初始化adjust存储key */
7
+ export const APP_FIRST_INIT_ADJUST_KEY = 'APP_FIRST_INIT_ADJUST_KEY';
8
+ /** 不带协议的 */
9
+ export const ONELINK_NO_HTTP_VALUE = 'com.play.flamshort://';
10
+ /** TODO 链接需要替换 */
11
+ export const ONELINK_SHARE_VALUE = 'https://flamshort.onelink.me/';
12
+ //# sourceMappingURL=storage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["STORAGE_USER_ID","STORAGE_USER_TOKEN","APP_FIRST_INIT_ADJUST_KEY","ONELINK_NO_HTTP_VALUE","ONELINK_SHARE_VALUE"],"sourceRoot":"../../../../src","sources":["package/const/storage.ts"],"mappings":";;AAAA,OAAO,MAAMA,eAAe,GAAG,iBAAiB;AAEhD,OAAO,MAAMC,kBAAkB,GAAG,oBAAoB;;AAEtD;AACA,OAAO,MAAMC,yBAAyB,GAAG,2BAA2B;AACpE;AACA,OAAO,MAAMC,qBAAqB,GAAG,uBAAuB;AAC5D;AACA,OAAO,MAAMC,mBAAmB,GAAG,+BAA+B","ignoreList":[]}
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+
3
+ import { axiosGet, axiosPost } from "../request/index.js";
4
+ import AsyncStorage from '@react-native-async-storage/async-storage';
5
+ import { useEffect, useState } from 'react';
6
+ import { NativeModules, Platform } from 'react-native';
7
+ import deviceInfo from 'react-native-device-info';
8
+ import { STORAGE_USER_ID } from "../const/storage.js";
9
+ import useGetNetwork from "./useGetNetwork.js";
10
+ const useAppGetUID = () => {
11
+ const [isLoading, setIsLoading] = useState(false);
12
+ const [isAPackage, setIsAPackage] = useState(false);
13
+ const [isConnectNetwork] = useGetNetwork();
14
+ useEffect(() => {
15
+ if (!isConnectNetwork) return;
16
+ const getUserId = async () => {
17
+ try {
18
+ // 获取ip地址
19
+ const ipRes = await axiosGet('/get_ip_info/');
20
+ console.log('ipRes', ipRes);
21
+ // 获取版本信息
22
+ const res = await axiosPost('/get_version/', {
23
+ phone_version: deviceInfo.getBrand(),
24
+ system_version: deviceInfo.getSystemVersion(),
25
+ language: Platform.OS === 'ios' ? NativeModules.SettingsManager?.settings?.AppleLocale || NativeModules.SettingsManager?.settings?.AppleLanguages[0] : NativeModules?.I18nManager?.localeIdentifier,
26
+ app_version: deviceInfo.getVersion(),
27
+ unique_id: deviceInfo.getUniqueIdSync() + '1112',
28
+ ip: ipRes.data.ip
29
+ });
30
+ console.log('resresres', res);
31
+ setIsAPackage(res.data.publishStatus !== '1');
32
+ global.GLOBAL_USER_UID = res.data.user_id;
33
+ AsyncStorage.setItem(STORAGE_USER_ID, String(res.data.user_id));
34
+ setIsLoading(true);
35
+ } catch (ex) {
36
+ console.log('ex111', ex);
37
+ }
38
+ };
39
+ getUserId();
40
+ }, [isConnectNetwork]);
41
+ return {
42
+ isLoading,
43
+ isAPackage
44
+ };
45
+ };
46
+ export default useAppGetUID;
47
+ //# sourceMappingURL=useAppGetUID.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["axiosGet","axiosPost","AsyncStorage","useEffect","useState","NativeModules","Platform","deviceInfo","STORAGE_USER_ID","useGetNetwork","useAppGetUID","isLoading","setIsLoading","isAPackage","setIsAPackage","isConnectNetwork","getUserId","ipRes","console","log","res","phone_version","getBrand","system_version","getSystemVersion","language","OS","SettingsManager","settings","AppleLocale","AppleLanguages","I18nManager","localeIdentifier","app_version","getVersion","unique_id","getUniqueIdSync","ip","data","publishStatus","global","GLOBAL_USER_UID","user_id","setItem","String","ex"],"sourceRoot":"../../../../src","sources":["package/hooks/useAppGetUID.ts"],"mappings":";;AAAA,SAASA,QAAQ,EAAEC,SAAS,QAAQ,qBAAY;AAChD,OAAOC,YAAY,MAAM,2CAA2C;AACpE,SAASC,SAAS,EAAEC,QAAQ,QAAQ,OAAO;AAC3C,SAASC,aAAa,EAAEC,QAAQ,QAAQ,cAAc;AACtD,OAAOC,UAAU,MAAM,0BAA0B;AACjD,SAASC,eAAe,QAAQ,qBAAkB;AAClD,OAAOC,aAAa,MAAM,oBAAiB;AAE3C,MAAMC,YAAY,GAAGA,CAAA,KAAM;EACzB,MAAM,CAACC,SAAS,EAAEC,YAAY,CAAC,GAAGR,QAAQ,CAAC,KAAK,CAAC;EACjD,MAAM,CAACS,UAAU,EAAEC,aAAa,CAAC,GAAGV,QAAQ,CAAC,KAAK,CAAC;EACnD,MAAM,CAACW,gBAAgB,CAAC,GAAGN,aAAa,CAAC,CAAC;EAC1CN,SAAS,CAAC,MAAM;IACd,IAAG,CAACY,gBAAgB,EAAE;IACtB,MAAMC,SAAS,GAAG,MAAAA,CAAA,KAAY;MAC5B,IAAI;QACF;QACA,MAAMC,KAAK,GAAG,MAAMjB,QAAQ,CAAC,eAAe,CAAC;QAC7CkB,OAAO,CAACC,GAAG,CAAC,OAAO,EAAEF,KAAK,CAAC;QAC3B;QACA,MAAMG,GAAG,GAAG,MAAMnB,SAAS,CAAC,eAAe,EAAE;UAC3CoB,aAAa,EAAEd,UAAU,CAACe,QAAQ,CAAC,CAAC;UACpCC,cAAc,EAAEhB,UAAU,CAACiB,gBAAgB,CAAC,CAAC;UAC7CC,QAAQ,EACNnB,QAAQ,CAACoB,EAAE,KAAK,KAAK,GACjBrB,aAAa,CAACsB,eAAe,EAAEC,QAAQ,EAAEC,WAAW,IACpDxB,aAAa,CAACsB,eAAe,EAAEC,QAAQ,EAAEE,cAAc,CAAC,CAAC,CAAC,GAC1DzB,aAAa,EAAE0B,WAAW,EAAEC,gBAAgB;UAClDC,WAAW,EAAE1B,UAAU,CAAC2B,UAAU,CAAC,CAAC;UACpCC,SAAS,EAAE5B,UAAU,CAAC6B,eAAe,CAAC,CAAC,GAAG,MAAM;UAChDC,EAAE,EAAEpB,KAAK,CAACqB,IAAI,CAACD;QACjB,CAAC,CAAC;QAEFnB,OAAO,CAACC,GAAG,CAAC,WAAW,EAACC,GAAG,CAAC;QAC5BN,aAAa,CAACM,GAAG,CAACkB,IAAI,CAACC,aAAa,KAAK,GAAG,CAAC;QAC7CC,MAAM,CAACC,eAAe,GAAGrB,GAAG,CAACkB,IAAI,CAACI,OAAO;QACzCxC,YAAY,CAACyC,OAAO,CAACnC,eAAe,EAAEoC,MAAM,CAACxB,GAAG,CAACkB,IAAI,CAACI,OAAO,CAAC,CAAC;QAC/D9B,YAAY,CAAC,IAAI,CAAC;MACpB,CAAC,CAAC,OAAOiC,EAAE,EAAE;QACX3B,OAAO,CAACC,GAAG,CAAC,OAAO,EAAE0B,EAAE,CAAC;MAC1B;IACF,CAAC;IACD7B,SAAS,CAAC,CAAC;EACb,CAAC,EAAE,CAACD,gBAAgB,CAAC,CAAC;EAEtB,OAAO;IACLJ,SAAS;IACTE;EACF,CAAC;AACH,CAAC;AAED,eAAeH,YAAY","ignoreList":[]}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+
3
+ import { useEffect, useState } from 'react';
4
+ import { useNetInfo } from '@react-native-community/netinfo';
5
+ const useGetNetwork = () => {
6
+ /** 启动app时是否有网络 */
7
+ const [isConnectNetwork, setIsConnectNetwork] = useState(false);
8
+ const {
9
+ isConnected
10
+ } = useNetInfo();
11
+ useEffect(() => {
12
+ if (isConnected) {
13
+ setIsConnectNetwork(true);
14
+ }
15
+ }, [isConnected, setIsConnectNetwork]);
16
+ return [isConnectNetwork];
17
+ };
18
+ export default useGetNetwork;
19
+ //# sourceMappingURL=useGetNetwork.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useEffect","useState","useNetInfo","useGetNetwork","isConnectNetwork","setIsConnectNetwork","isConnected"],"sourceRoot":"../../../../src","sources":["package/hooks/useGetNetwork.ts"],"mappings":";;AAAA,SAASA,SAAS,EAAEC,QAAQ,QAAQ,OAAO;AAC3C,SAASC,UAAU,QAAQ,iCAAiC;AAE5D,MAAMC,aAAa,GAAGA,CAAA,KAAM;EAC1B;EACA,MAAM,CAACC,gBAAgB,EAAEC,mBAAmB,CAAC,GAAGJ,QAAQ,CAAC,KAAK,CAAC;EAC/D,MAAM;IAAEK;EAAY,CAAC,GAAGJ,UAAU,CAAC,CAAC;EACpCF,SAAS,CAAC,MAAM;IACd,IAAIM,WAAW,EAAE;MACfD,mBAAmB,CAAC,IAAI,CAAC;IAC3B;EACF,CAAC,EAAE,CAACC,WAAW,EAAED,mBAAmB,CAAC,CAAC;EACtC,OAAO,CAACD,gBAAgB,CAAC;AAC3B,CAAC;AACD,eAAeD,aAAa","ignoreList":[]}
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+
3
+ import { useEffect } from 'react';
4
+ import useGoogleAndIosLogin from "./useGoogleAndIosLogin.js";
5
+ import DeviceInfo from 'react-native-device-info';
6
+ import { NativeModules, Platform } from 'react-native';
7
+ import { axiosPost } from "../request/index.js";
8
+ import AsyncStorage from '@react-native-async-storage/async-storage';
9
+ import { STORAGE_USER_TOKEN } from "../const/storage.js";
10
+ const useGetUserToken = jsbridge => {
11
+ const {
12
+ googleLogin
13
+ } = useGoogleAndIosLogin();
14
+ useEffect(() => {
15
+ jsbridge.addEventListener('LOG_IN', type => {
16
+ googleLogin().then(googleCredential => {
17
+ const params = {
18
+ uid: global.GLOBAL_USER_UID,
19
+ source: '',
20
+ phone_version: DeviceInfo.getBrand(),
21
+ system_version: DeviceInfo.getSystemVersion(),
22
+ language: Platform.OS === 'ios' ? NativeModules.SettingsManager.settings.AppleLocale || NativeModules.SettingsManager.settings.AppleLanguages[0] : NativeModules.I18nManager.localeIdentifier,
23
+ app_version: DeviceInfo.getVersion(),
24
+ account_type: 'google',
25
+ unique_id: '',
26
+ ip: DeviceInfo.getIpAddressSync(),
27
+ id_token: googleCredential?.token
28
+ };
29
+ console.log('params', googleCredential?.token);
30
+ axiosPost('/register/', params).then(res => {
31
+ console.log('res', res);
32
+ AsyncStorage.setItem(STORAGE_USER_TOKEN, res.data.token);
33
+ console.log('res.data.token', res.data.token);
34
+ jsbridge.postMessage({
35
+ type: 'USER_STATUS',
36
+ payload: {
37
+ token: res.data.token
38
+ }
39
+ });
40
+ }).catch(err => {
41
+ console.log('err', err);
42
+ });
43
+ });
44
+ });
45
+ }, []);
46
+ };
47
+ export default useGetUserToken;
48
+ //# sourceMappingURL=useGetUserToken.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useEffect","useGoogleAndIosLogin","DeviceInfo","NativeModules","Platform","axiosPost","AsyncStorage","STORAGE_USER_TOKEN","useGetUserToken","jsbridge","googleLogin","addEventListener","type","then","googleCredential","params","uid","global","GLOBAL_USER_UID","source","phone_version","getBrand","system_version","getSystemVersion","language","OS","SettingsManager","settings","AppleLocale","AppleLanguages","I18nManager","localeIdentifier","app_version","getVersion","account_type","unique_id","ip","getIpAddressSync","id_token","token","console","log","res","setItem","data","postMessage","payload","catch","err"],"sourceRoot":"../../../../src","sources":["package/hooks/useGetUserToken.ts"],"mappings":";;AAAA,SAASA,SAAS,QAAQ,OAAO;AACjC,OAAOC,oBAAoB,MAAM,2BAAwB;AACzD,OAAOC,UAAU,MAAM,0BAA0B;AACjD,SAASC,aAAa,EAAEC,QAAQ,QAAQ,cAAc;AACtD,SAASC,SAAS,QAAQ,qBAAY;AACtC,OAAOC,YAAY,MAAM,2CAA2C;AACpE,SAASC,kBAAkB,QAAQ,qBAAkB;AAErD,MAAMC,eAAe,GAAIC,QAAa,IAAK;EACzC,MAAM;IAAEC;EAAY,CAAC,GAAGT,oBAAoB,CAAC,CAAC;EAC9CD,SAAS,CAAC,MAAM;IACdS,QAAQ,CAACE,gBAAgB,CAAC,QAAQ,EAAGC,IAAY,IAAK;MACpDF,WAAW,CAAC,CAAC,CAACG,IAAI,CAAEC,gBAAgB,IAAK;QACvC,MAAMC,MAAM,GAAG;UACbC,GAAG,EAAEC,MAAM,CAACC,eAAe;UAC3BC,MAAM,EAAE,EAAE;UACVC,aAAa,EAAElB,UAAU,CAACmB,QAAQ,CAAC,CAAC;UACpCC,cAAc,EAAEpB,UAAU,CAACqB,gBAAgB,CAAC,CAAC;UAC7CC,QAAQ,EACNpB,QAAQ,CAACqB,EAAE,KAAK,KAAK,GACjBtB,aAAa,CAACuB,eAAe,CAACC,QAAQ,CAACC,WAAW,IAClDzB,aAAa,CAACuB,eAAe,CAACC,QAAQ,CAACE,cAAc,CAAC,CAAC,CAAC,GACxD1B,aAAa,CAAC2B,WAAW,CAACC,gBAAgB;UAChDC,WAAW,EAAE9B,UAAU,CAAC+B,UAAU,CAAC,CAAC;UACpCC,YAAY,EAAE,QAAQ;UACtBC,SAAS,EAAE,EAAE;UACbC,EAAE,EAAElC,UAAU,CAACmC,gBAAgB,CAAC,CAAC;UACjCC,QAAQ,EAAExB,gBAAgB,EAAEyB;QAC9B,CAAC;QACDC,OAAO,CAACC,GAAG,CAAC,QAAQ,EAAE3B,gBAAgB,EAAEyB,KAAK,CAAC;QAC9ClC,SAAS,CAAC,YAAY,EAAEU,MAAM,CAAC,CAC5BF,IAAI,CAAE6B,GAAG,IAAK;UACbF,OAAO,CAACC,GAAG,CAAC,KAAK,EAAEC,GAAG,CAAC;UACvBpC,YAAY,CAACqC,OAAO,CAACpC,kBAAkB,EAAEmC,GAAG,CAACE,IAAI,CAACL,KAAK,CAAC;UACxDC,OAAO,CAACC,GAAG,CAAC,gBAAgB,EAAEC,GAAG,CAACE,IAAI,CAACL,KAAK,CAAC;UAC7C9B,QAAQ,CAACoC,WAAW,CAAC;YACnBjC,IAAI,EAAE,aAAa;YACnBkC,OAAO,EAAE;cACPP,KAAK,EAAEG,GAAG,CAACE,IAAI,CAACL;YAClB;UACF,CAAC,CAAC;QACJ,CAAC,CAAC,CACDQ,KAAK,CAAEC,GAAG,IAAK;UACdR,OAAO,CAACC,GAAG,CAAC,KAAK,EAAEO,GAAG,CAAC;QACzB,CAAC,CAAC;MACN,CAAC,CAAC;IACJ,CAAC,CAAC;EACJ,CAAC,EAAE,EAAE,CAAC;AACR,CAAC;AAED,eAAexC,eAAe","ignoreList":[]}
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+
3
+ import { useEffect } from 'react';
4
+ import { GoogleSignin } from '@react-native-google-signin/google-signin';
5
+ import auth from '@react-native-firebase/auth';
6
+ const useGoogleAndIosLogin = () => {
7
+ useEffect(() => {
8
+ GoogleSignin.configure({
9
+ webClientId: '964229154053-r3o5j6c6fpq7r35eia03mpfnr5r8frgm.apps.googleusercontent.com',
10
+ iosClientId: '964229154053-kv218k58e53un307mu8d2i7lrr2ok1kt.apps.googleusercontent.com'
11
+ });
12
+ }, []);
13
+ const googleLogin = async () => {
14
+ try {
15
+ await GoogleSignin.hasPlayServices({
16
+ showPlayServicesUpdateDialog: true
17
+ });
18
+ await GoogleSignin.signOut();
19
+ const {
20
+ data
21
+ } = await GoogleSignin.signIn();
22
+ let googleCredential = auth.GoogleAuthProvider.credential(data.idToken);
23
+ return googleCredential;
24
+ } catch (error) {
25
+ // Toast.info('Login failed, please try again later');
26
+ console.log('谷歌catch错误', error);
27
+ }
28
+ };
29
+ return {
30
+ googleLogin
31
+ };
32
+ };
33
+ export default useGoogleAndIosLogin;
34
+ //# sourceMappingURL=useGoogleAndIosLogin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useEffect","GoogleSignin","auth","useGoogleAndIosLogin","configure","webClientId","iosClientId","googleLogin","hasPlayServices","showPlayServicesUpdateDialog","signOut","data","signIn","googleCredential","GoogleAuthProvider","credential","idToken","error","console","log"],"sourceRoot":"../../../../src","sources":["package/hooks/useGoogleAndIosLogin.ts"],"mappings":";;AAAA,SAASA,SAAS,QAAQ,OAAO;AACjC,SAASC,YAAY,QAAQ,2CAA2C;AACxE,OAAOC,IAAI,MAAM,6BAA6B;AAE9C,MAAMC,oBAAoB,GAAGA,CAAA,KAAM;EACjCH,SAAS,CAAC,MAAM;IACdC,YAAY,CAACG,SAAS,CAAC;MACrBC,WAAW,EACT,0EAA0E;MAC5EC,WAAW,EACT;IACJ,CAAC,CAAC;EACJ,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMC,WAAW,GAAG,MAAAA,CAAA,KAAY;IAC9B,IAAI;MACF,MAAMN,YAAY,CAACO,eAAe,CAAC;QACjCC,4BAA4B,EAAE;MAChC,CAAC,CAAC;MACF,MAAMR,YAAY,CAACS,OAAO,CAAC,CAAC;MAC5B,MAAM;QAAEC;MAAU,CAAC,GAAG,MAAMV,YAAY,CAACW,MAAM,CAAC,CAAC;MACjD,IAAIC,gBAAgB,GAAGX,IAAI,CAACY,kBAAkB,CAACC,UAAU,CAACJ,IAAI,CAACK,OAAO,CAAC;MACvE,OAAOH,gBAAgB;IACzB,CAAC,CAAC,OAAOI,KAAK,EAAE;MACd;MACAC,OAAO,CAACC,GAAG,CAAC,WAAW,EAAEF,KAAK,CAAC;IACjC;EACF,CAAC;EAED,OAAO;IACLV;EACF,CAAC;AACH,CAAC;AACD,eAAeJ,oBAAoB","ignoreList":[]}