refactor(YiwangxinMultip): 重构项目并重命名
- 重命名项目为 YiwangxinMultip - 重构项目结构,更新文件路径和命名 - 更新代码以适应新的项目结构- 添加新的功能模块和依赖
这个提交包含在:
父节点
974696aa4e
当前提交
28646bf960
@ -1,2 +0,0 @@
|
|||||||
BUNDLE_PATH: "vendor/bundle"
|
|
||||||
BUNDLE_FORCE_RUBY_PLATFORM: 1
|
|
||||||
@ -77,9 +77,9 @@ android {
|
|||||||
buildToolsVersion rootProject.ext.buildToolsVersion
|
buildToolsVersion rootProject.ext.buildToolsVersion
|
||||||
compileSdk rootProject.ext.compileSdkVersion
|
compileSdk rootProject.ext.compileSdkVersion
|
||||||
|
|
||||||
namespace "com.reactnativemultip80"
|
namespace "com.trust.ywx"
|
||||||
defaultConfig {
|
defaultConfig {
|
||||||
applicationId "com.reactnativemultip80"
|
applicationId "com.trust.ywx"
|
||||||
minSdkVersion rootProject.ext.minSdkVersion
|
minSdkVersion rootProject.ext.minSdkVersion
|
||||||
targetSdkVersion rootProject.ext.targetSdkVersion
|
targetSdkVersion rootProject.ext.targetSdkVersion
|
||||||
versionCode 1
|
versionCode 1
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
package com.reactnativemultip80
|
package com.trust.ywx
|
||||||
|
|
||||||
import com.facebook.react.ReactActivity
|
import com.facebook.react.ReactActivity
|
||||||
import com.facebook.react.ReactActivityDelegate
|
import com.facebook.react.ReactActivityDelegate
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package com.reactnativemultip80
|
package com.trust.ywx
|
||||||
|
|
||||||
import android.app.Application
|
import android.app.Application
|
||||||
import com.facebook.react.PackageList
|
import com.facebook.react.PackageList
|
||||||
@ -1,3 +1,3 @@
|
|||||||
<resources>
|
<resources>
|
||||||
<string name="app_name">ReactNativeMultip80</string>
|
<string name="app_name">医网信UP</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
pluginManagement { includeBuild("../node_modules/@react-native/gradle-plugin") }
|
pluginManagement { includeBuild("../node_modules/@react-native/gradle-plugin") }
|
||||||
plugins { id("com.facebook.react.settings") }
|
plugins { id("com.facebook.react.settings") }
|
||||||
extensions.configure(com.facebook.react.ReactSettingsExtension){ ex -> ex.autolinkLibrariesFromCommand() }
|
extensions.configure(com.facebook.react.ReactSettingsExtension){ ex -> ex.autolinkLibrariesFromCommand() }
|
||||||
rootProject.name = 'ReactNativeMultip80'
|
rootProject.name = 'YiwangxinMultip'
|
||||||
include ':app'
|
include ':app'
|
||||||
includeBuild('../node_modules/@react-native/gradle-plugin')
|
includeBuild('../node_modules/@react-native/gradle-plugin')
|
||||||
|
|||||||
14
bundle/app.android.bundle
普通文件
14
bundle/app.android.bundle
普通文件
@ -0,0 +1,14 @@
|
|||||||
|
__d(function(g,r,i,a,m,e,d){var n=r(d[0]),t=r(d[1]),p=n(r(d[2]));t.AppRegistry.registerComponent("app",function(){return p.default})},10000000,[5,3,10000001]);
|
||||||
|
__d(function(g,r,i,a,m,e,d){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t=r(d[0]),n=r(d[1]);var l=t.StyleSheet.create({container:{flex:1}});e.default=function(){var c='dark'===(0,t.useColorScheme)();return(0,n.jsxs)(t.View,{style:l.container,children:[(0,n.jsx)(t.StatusBar,{barStyle:c?'light-content':'dark-content'}),(0,n.jsx)(r(d[2]).NewAppScreen,{templateFileName:"App.tsx"})]})}},10000001,[3,243,10000002]);
|
||||||
|
__d(function(g,r,i,a,m,e,d){var n=r(d[0]);Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"NewAppScreen",{enumerable:!0,get:function(){return t.default}});var t=n(r(d[1]))},10000002,[5,10000003]);
|
||||||
|
__d(function(g,_r,_i,a,m,_e,d){var e=_r(d[0]);Object.defineProperty(_e,"__esModule",{value:!0}),_e.default=function(e){var c=e.templateFileName,u=void 0===c?'App.tsx':c,h=(0,_r(d[6]).useTheme)().colors,f='dark'===(0,r.useColorScheme)(),p=(0,r.useWindowDimensions)().width>600;return(0,i.jsx)(r.SafeAreaView,{style:{backgroundColor:h.background},children:(0,i.jsx)(r.ScrollView,{children:(0,i.jsxs)(r.View,{style:[s.container,{paddingTop:o}],children:[(0,i.jsxs)(r.View,{style:s.header,children:[(0,i.jsx)(r.Image,{style:s.logo,source:_r(f?d[7]:d[8])}),(0,i.jsx)(_r(d[6]).ThemedText,{style:s.title,children:"Welcome to React Native"}),(x=[_r(d[9]).version.major,_r(d[9]).version.minor,_r(d[9]).version.patch].join('.')+(null!=_r(d[9]).version.prerelease?'-'+_r(d[9]).version.prerelease:''),(0,i.jsxs)(_r(d[6]).ThemedText,{color:"secondary",style:s.label,children:["Version: ",x]})),l(),(0,i.jsxs)(_r(d[6]).ThemedText,{style:[s.callout,{backgroundColor:h.backgroundHighlight}],children:["\ud83d\udca1\u2002Open",' ',(0,i.jsx)(r.Text,{style:s.calloutEmphasis,children:u})," to get started"]})]}),(0,i.jsxs)(r.View,{style:s.linksContainer,children:[(0,i.jsx)(_r(d[6]).ThemedText,{style:s.linksTitle,children:"Learn & Explore"}),t.default.map(function(e,t){var o=e.title,l=e.description,c=e.url;return(0,i.jsx)(r.TouchableHighlight,{activeOpacity:.6,underlayColor:h.background,onPress:function(){return(0,n.default)(c)},style:[s.link,{maxWidth:p?240:360,borderColor:h.cardOutline,backgroundColor:h.cardBackground}],children:(0,i.jsxs)(r.View,{children:[(0,i.jsx)(_r(d[6]).ThemedText,{style:s.linkText,children:o}),(0,i.jsx)(_r(d[6]).ThemedText,{style:{color:h.textSecondary},children:l})]})},t)})]})]})})});var x};var t=e(_r(d[1])),r=((function(e,t){if("function"==typeof WeakMap)var r=new WeakMap,n=new WeakMap;(function(e,t){if(!t&&e&&e.__esModule)return e;var i,o,l={__proto__:null,default:e};if(null===e||"object"!=typeof e&&"function"!=typeof e)return l;if(i=t?n:r){if(i.has(e))return i.get(e);i.set(e,l)}for(var s in e)"default"!==s&&{}.hasOwnProperty.call(e,s)&&((o=(i=Object.defineProperty)&&Object.getOwnPropertyDescriptor(e,s))&&(o.get||o.set)?i(l,s,o):l[s]=e[s])})(e,t)})(_r(d[2])),_r(d[3])),n=e(_r(d[4])),i=_r(d[5]);var o=r.Platform.select({android:r.StatusBar.currentHeight||0,default:0});function l(){return null==g.HermesInternal?null:(0,i.jsx)(_r(d[6]).ThemedText,{color:"secondary",style:s.label,children:"JS Engine: Hermes"})}var s=r.StyleSheet.create({container:{flexGrow:1,alignItems:'center',paddingHorizontal:24},header:{width:'100%',alignItems:'center',marginTop:64,marginBottom:48},logo:{height:80,aspectRatio:1,marginBottom:24},title:{fontSize:24,fontWeight:'600',marginBottom:24},label:{fontSize:14,marginBottom:8},callout:{width:'100%',maxWidth:320,marginTop:36,paddingVertical:16,paddingHorizontal:20,paddingLeft:16,borderRadius:12,fontSize:16,textAlign:'center'},calloutEmphasis:{fontWeight:'bold'},linksContainer:{flex:1,flexWrap:'wrap',flexDirection:'row',justifyContent:'center',columnGap:12,rowGap:12,maxWidth:800,marginBottom:48},linksTitle:{width:'100%',fontSize:18,fontWeight:'600',textAlign:'center',marginBottom:20},link:{width:'100%',paddingVertical:20,paddingHorizontal:24,borderRadius:12,borderWidth:1,boxShadow:'0 4px 8px rgba(0, 0, 0, .03)'},linkText:{marginBottom:4,fontSize:16,fontWeight:'600'}})},10000003,[5,10000004,1,3,10000005,243,10000007,10000008,10000010,10000011]);
|
||||||
|
__d(function(g,r,i,a,m,e,d){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;e.default=[{title:'Hello World',description:'Learn the basics',url:'https://reactnative.dev/docs/tutorial'},{title:'Fast Refresh',description:'See edits instantly',url:'https://reactnative.dev/docs/fast-refresh'},{title:'DevTools',description:'View logs & debug your app',url:'https://reactnative.dev/docs/debugging'},{title:'Components',description:'View components and APIs',url:'https://reactnative.dev/docs/components-and-apis'},{title:'Style',description:'Use the style prop',url:'https://reactnative.dev/docs/style'},{title:'Layout',description:'Flexbox & layout techniques',url:'https://reactnative.dev/docs/flexbox'},{title:'Navigation',description:'Move between screens',url:'https://reactnative.dev/docs/navigation'},{title:'Networking',description:'Use the Fetch API',url:'https://reactnative.dev/docs/network'},{title:'Showcase',description:'Featured React Native apps',url:'https://reactnative.dev/showcase'},{title:'Blog',description:'Latest news & updates',url:'https://reactnative.dev/blog'},{title:'Community',description:'Expore & get help',url:'https://reactnative.dev/community/overview'},{title:'Follow @reactnative',description:'Stay in touch on X',url:'https://x.com/reactnative'}]},10000004,[]);
|
||||||
|
__d(function(g,r,i,a,m,e,d){'use strict';Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(t){fetch(r(d[0]).default().url+'open-url',{method:'POST',headers:{'Content-Type':'application/json'},body:JSON.stringify({url:t})})}},10000005,[10000006]);
|
||||||
|
__d(function(g,r,i,a,m,e,d){var l=r(d[0]);Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(){if(void 0===t){var l=n.default.getConstants().scriptURL,f=l.match(/^https?:\/\/.*?\//);t=f?f[0]:null,u=f?l:null}return{url:null!=t?t:o,fullBundleUrl:u,bundleLoadedFromServer:null!==t}};var t,u,n=l(r(d[1])),o='http://localhost:8081/'},10000006,[5,90]);
|
||||||
|
__d(function(g,_r,_i,a,m,_e,d){var e=_r(d[0]);Object.defineProperty(_e,"__esModule",{value:!0}),_e.ThemedText=function(e){var c=e.color,u=e.style,i=(0,r.default)(e,n),l=f().colors;return(0,o.jsx)(t.Text,Object.assign({style:[{color:'secondary'===c?l.textSecondary:l.textPrimary},u]},i))},_e.useTheme=f;var r=e(_r(d[1])),t=((function(e,r){if("function"==typeof WeakMap)var t=new WeakMap,o=new WeakMap;(function(e,r){if(!r&&e&&e.__esModule)return e;var n,c,f={__proto__:null,default:e};if(null===e||"object"!=typeof e&&"function"!=typeof e)return f;if(n=r?o:t){if(n.has(e))return n.get(e);n.set(e,f)}for(var u in e)"default"!==u&&{}.hasOwnProperty.call(e,u)&&((c=(n=Object.defineProperty)&&Object.getOwnPropertyDescriptor(e,u))&&(c.get||c.set)?n(f,u,c):f[u]=e[u])})(e,r)})(_r(d[2])),_r(d[3])),o=_r(d[4]),n=["color","style"];var c={light:{background:'#f3f3f3',backgroundHighlight:'#cfe6ee',cardBackground:'#fff',cardOutline:'#dae1e7',textPrimary:'#000',textSecondary:'#404756'},dark:{background:'#000',backgroundHighlight:'#193c47',cardBackground:'#222',cardOutline:'#444',textPrimary:'#fff',textSecondary:'#c0c1c4'}};function f(){var e=(0,t.useColorScheme)();return{colors:c['dark'===e?'dark':'light']}}},10000007,[5,6,1,3,243]);
|
||||||
|
__d(function(g,r,i,a,m,e,d){m.exports=r(d[0]).registerAsset({__packager_asset:!0,httpServerLocation:"/assets/node_modules/@react-native/new-app-screen/src/assets",width:600,height:600,scales:[1],hash:"0ef16cc369ea357e5984182b0a594063",name:"react-dark",type:"png"})},10000008,[10000009]);
|
||||||
|
__d(function(g,r,i,a,m,e,d){'use strict';m.exports=r(d[0])},10000009,[92]);
|
||||||
|
__d(function(g,r,i,a,m,e,d){m.exports=r(d[0]).registerAsset({__packager_asset:!0,httpServerLocation:"/assets/node_modules/@react-native/new-app-screen/src/assets",width:600,height:600,scales:[1],hash:"8da88b43e2d0d034dadb964f31f3b1bf",name:"react-light",type:"png"})},10000010,[10000009]);
|
||||||
|
__d(function(g,r,i,a,m,e,d){Object.defineProperty(e,"__esModule",{value:!0}),e.version=void 0;e.version={major:0,minor:80,patch:1,prerelease:null}},10000011,[]);
|
||||||
|
__r(108);
|
||||||
|
__r(10000000);
|
||||||
二进制文件未显示。
|
之后 宽度: | 高度: | 大小: 64 KiB |
二进制文件未显示。
|
之后 宽度: | 高度: | 大小: 63 KiB |
1
bundle/raw/keep.xml
普通文件
1
bundle/raw/keep.xml
普通文件
@ -0,0 +1 @@
|
|||||||
|
<resources xmlns:tools="http://schemas.android.com/tools" tools:keep="@drawable/node_modules_reactnative_newappscreen_src_assets_reactdark,@drawable/node_modules_reactnative_newappscreen_src_assets_reactlight" />
|
||||||
文件差异因一行或多行过长而隐藏
6
index.js
6
index.js
@ -1,3 +1,3 @@
|
|||||||
import './src/app/app.js';
|
import './src/app/app';
|
||||||
import './src/ywq/ywq.js';
|
import './src/ywq/ywq';
|
||||||
import './src/hospital/hospital.js';
|
import './src/hospital/hospital';
|
||||||
|
|||||||
20
package.json
20
package.json
@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"name": "ReactNativeMultip80",
|
"name": "YiwangxinMultip",
|
||||||
"version": "0.0.1",
|
"version": "0.0.1",
|
||||||
"private": true,
|
"private": true,
|
||||||
"scripts": {
|
"scripts": {
|
||||||
@ -8,12 +8,26 @@
|
|||||||
"lint": "eslint .",
|
"lint": "eslint .",
|
||||||
"start": "react-native start",
|
"start": "react-native start",
|
||||||
"test": "jest",
|
"test": "jest",
|
||||||
"build-android-common": "react-native bundle --platform android --dev false --entry-file ./src/common/common.js --bundle-output ./bundle/common.android.bundle --assets-dest ./bundle --config metro.common.config.js --minify true --reset-cache"
|
"build-android-common": "react-native bundle --platform android --dev false --entry-file src/common/common.ts --bundle-output ./bundle/common.android.bundle --assets-dest ./bundle --config metro.common.config.js --minify true --reset-cache",
|
||||||
|
"build-android-app": "react-native bundle --platform android --dev false --entry-file src/app/app.ts --bundle-output ./bundle/app.android.bundle --assets-dest ./bundle --config metro.main.config.js --minify true --reset-cache",
|
||||||
|
"build-android-ywq": "react-native bundle --platform android --dev false --entry-file src/ywq/ywq.ts --bundle-output ./bundle/ywq.android.bundle --assets-dest ./bundle --config metro.main.config.js --minify true --reset-cache",
|
||||||
|
"build-android-hospital": "react-native bundle --platform android --dev false --entry-file src/hospital/hospital.ts --bundle-output ./bundle/hospital.android.bundle --assets-dest ./bundle --config metro.main.config.js --minify true --reset-cache"
|
||||||
},
|
},
|
||||||
|
"codegenConfig": {
|
||||||
|
"name": "SpecsManager",
|
||||||
|
"type": "modules",
|
||||||
|
"jsSrcsDir": "./src/specs",
|
||||||
|
"android": {
|
||||||
|
"javaPackageName": "com.trust.ywx.specs"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
"@react-native-async-storage/async-storage": "^2.2.0",
|
||||||
|
"@react-native/new-app-screen": "0.80.1",
|
||||||
"react": "19.1.0",
|
"react": "19.1.0",
|
||||||
"react-native": "0.80.1",
|
"react-native": "0.80.1",
|
||||||
"@react-native/new-app-screen": "0.80.1"
|
"react-native-storage": "^1.0.1"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@babel/core": "^7.25.2",
|
"@babel/core": "^7.25.2",
|
||||||
|
|||||||
5
src/app.json
普通文件
5
src/app.json
普通文件
@ -0,0 +1,5 @@
|
|||||||
|
{
|
||||||
|
"app": {
|
||||||
|
"name": "app"
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -1,4 +1,4 @@
|
|||||||
import { AppRegistry } from 'react-native';
|
import { AppRegistry } from 'react-native';
|
||||||
import App from './App';
|
import App from './App.tsx';
|
||||||
|
|
||||||
AppRegistry.registerComponent("app", () => App);
|
AppRegistry.registerComponent("app", () => App);
|
||||||
14
src/common/NavigationHelper.ts
普通文件
14
src/common/NavigationHelper.ts
普通文件
@ -0,0 +1,14 @@
|
|||||||
|
import { storageApp } from './StorageHelper.ts';
|
||||||
|
import NavigationManager from '../specs/SpecsManager.ts';
|
||||||
|
|
||||||
|
export const pushByName = (name: string, params: any) => {
|
||||||
|
storageApp
|
||||||
|
.save({
|
||||||
|
key: 'MessageActivity',
|
||||||
|
data: params,
|
||||||
|
expires: 1000 * 3600,
|
||||||
|
})
|
||||||
|
.finally(() => {
|
||||||
|
NavigationManager.navigate(name);
|
||||||
|
});
|
||||||
|
};
|
||||||
9
src/common/StorageHelper.ts
普通文件
9
src/common/StorageHelper.ts
普通文件
@ -0,0 +1,9 @@
|
|||||||
|
import Storage from 'react-native-storage';
|
||||||
|
import AsyncStorage from '@react-native-async-storage/async-storage';
|
||||||
|
|
||||||
|
export const storageApp = new Storage({
|
||||||
|
size: 1000,
|
||||||
|
storageBackend: AsyncStorage,
|
||||||
|
defaultExpires: 1000 * 3600 * 24,
|
||||||
|
enableCache: true,
|
||||||
|
});
|
||||||
11
src/specs/SpecsManager.ts
普通文件
11
src/specs/SpecsManager.ts
普通文件
@ -0,0 +1,11 @@
|
|||||||
|
import type {TurboModule} from 'react-native';
|
||||||
|
import {TurboModuleRegistry} from 'react-native';
|
||||||
|
|
||||||
|
export interface Spec extends TurboModule {
|
||||||
|
navigate(name: string): void;
|
||||||
|
pop(name: string): void;
|
||||||
|
}
|
||||||
|
|
||||||
|
export default TurboModuleRegistry.getEnforcing<Spec>(
|
||||||
|
'NavigationManager',
|
||||||
|
) as Spec;
|
||||||
正在加载...
在新工单中引用
屏蔽一个用户