diff --git a/code/base-project/base-app/app.json b/code/base-project/base-app/app.json
index 3b251446..3b5394c8 100644
--- a/code/base-project/base-app/app.json
+++ b/code/base-project/base-app/app.json
@@ -17,6 +17,7 @@
"supportsTablet": true
},
"android": {
+ "softwareKeyboardLayoutMode": "pan",
"adaptiveIcon": {
"foregroundImage": "./assets/adaptive-icon.png",
"backgroundColor": "#ffffff"
diff --git a/code/base-project/base-app/src/app/(tabs)/_layout.tsx b/code/base-project/base-app/src/app/(tabs)/_layout.tsx
index 972cf8d6..31ad47d0 100644
--- a/code/base-project/base-app/src/app/(tabs)/_layout.tsx
+++ b/code/base-project/base-app/src/app/(tabs)/_layout.tsx
@@ -1,4 +1,5 @@
import type { TabbarItem } from '@/components/custom/Tabbar'
+import { KeyboardProvider } from 'react-native-keyboard-controller'
import CustomTabbar from '@/components/custom/Tabbar'
import { toast } from '@/utils/toast'
@@ -42,6 +43,8 @@ export default function TabsLayout() {
]
return (
-
+
+
+
)
}
diff --git a/code/base-project/base-app/src/app/(tabs)/chat.tsx b/code/base-project/base-app/src/app/(tabs)/chat.tsx
index 9177fb38..18cade92 100644
--- a/code/base-project/base-app/src/app/(tabs)/chat.tsx
+++ b/code/base-project/base-app/src/app/(tabs)/chat.tsx
@@ -1,68 +1,64 @@
+import type {
+ TextInputProps,
+} from 'react-native'
import React from 'react'
import {
StyleSheet,
- Text,
- TextInput,
- TouchableOpacity,
- View,
+ TextInput as TextInputRN,
} from 'react-native'
-import { KeyboardAvoidingView } from 'react-native-keyboard-controller'
+import { KeyboardAwareScrollView } from 'react-native-keyboard-controller'
-export default function KeyboardAvoidingViewExample() {
+function TextInput(props: TextInputProps) {
return (
-
+ )
+}
+
+export default function AwareScrollView() {
+ return (
+
-
- Header
-
-
-
-
-
- Submit
-
-
-
+ {Array.from({ length: 10 }).fill(0).map((_, i) => (
+
+ ))}
+
)
}
const styles = StyleSheet.create({
+ container: {
+ paddingHorizontal: 16,
+ },
content: {
- flex: 1,
- maxHeight: 600,
- },
- heading: {
- fontSize: 36,
- marginBottom: 48,
- fontWeight: '600',
- },
- inner: {
- padding: 24,
- flex: 1,
- justifyContent: 'space-between',
+ paddingTop: 50,
},
textInput: {
- height: 45,
- borderColor: '#000000',
- borderWidth: 1,
+ width: '100%',
+ minHeight: 50,
+ maxHeight: 200,
+ marginBottom: 50,
+ borderColor: 'black',
+ borderWidth: 2,
+ marginRight: 160,
borderRadius: 10,
- marginBottom: 36,
- paddingLeft: 10,
- },
- button: {
- marginTop: 12,
- height: 45,
- borderRadius: 10,
- backgroundColor: 'rgb(40, 64, 147)',
- justifyContent: 'center',
- alignItems: 'center',
- },
- text: {
- fontWeight: '500',
- fontSize: 16,
- color: 'white',
+ color: 'black',
+ paddingHorizontal: 12,
},
})
diff --git a/code/base-project/base-app/src/app/(tabs)/money/components/AddDrawer.tsx b/code/base-project/base-app/src/app/(tabs)/money/components/AddDrawer.tsx
index d32fc32f..24cf68eb 100644
--- a/code/base-project/base-app/src/app/(tabs)/money/components/AddDrawer.tsx
+++ b/code/base-project/base-app/src/app/(tabs)/money/components/AddDrawer.tsx
@@ -2,8 +2,7 @@ import type { MoneyCategoryResult } from '@/request/api/money'
import type { MoneyCategory } from '@/types/money'
import Big from 'big.js'
import { useEffect, useRef, useState } from 'react'
-import { Keyboard, Platform, Pressable, StyleSheet, Text, TouchableWithoutFeedback, View } from 'react-native'
-import { KeyboardProvider } from 'react-native-keyboard-controller'
+import { Keyboard, KeyboardAvoidingView, Platform, Pressable, StyleSheet, Text, TouchableWithoutFeedback, View } from 'react-native'
import { useSafeAreaInsets } from 'react-native-safe-area-context'
import { AInput, LucideIcon } from '@/components/common/ao'
import SegmentedTabs from '@/components/common/ao/SegmentedTabs'
@@ -367,7 +366,6 @@ export default function AddMoneyDrawer({
{showKeydown && (
-
@@ -382,7 +380,6 @@ export default function AddMoneyDrawer({
{keydownInput}
-
setIsFocused(true)}
onBlur={() => setIsFocused(false)}
/>
+
@@ -438,12 +436,12 @@ export default function AddMoneyDrawer({
})}
- {/* {isFocused && (
+ {isFocused && (
- )} */}
+ )}
)}
diff --git a/code/base-project/base-app/src/app/(tabs)/money/index.tsx b/code/base-project/base-app/src/app/(tabs)/money/index.tsx
index 65e23ec3..458e1e7d 100644
--- a/code/base-project/base-app/src/app/(tabs)/money/index.tsx
+++ b/code/base-project/base-app/src/app/(tabs)/money/index.tsx
@@ -2,6 +2,7 @@ import type { LayoutChangeEvent } from 'react-native'
import { LinearGradient } from 'expo-linear-gradient'
import React, { useRef, useState } from 'react'
import { ScrollView, Text, View } from 'react-native'
+import { KeyboardAvoidingView, KeyboardProvider } from 'react-native-keyboard-controller'
import { useSafeAreaInsets } from 'react-native-safe-area-context'
import { LucideIcon } from '@/components/common/ao'
import { IconJiaotong } from '@/components/iconfont'
@@ -154,7 +155,6 @@ export default function Money() {
setShowDrawer(false)
}}
/>
-
)
}
diff --git a/code/base-project/base-app/src/app/(tabs)/user.tsx b/code/base-project/base-app/src/app/(tabs)/user.tsx
index 62855fad..305f43fe 100644
--- a/code/base-project/base-app/src/app/(tabs)/user.tsx
+++ b/code/base-project/base-app/src/app/(tabs)/user.tsx
@@ -1,6 +1,6 @@
import { router } from 'expo-router'
import { StyleSheet, Text, View } from 'react-native'
-import { AButton } from '@/components/common/ao'
+import { AButton, AInput } from '@/components/common/ao'
import { useUserStore } from '@/store/user'
export default function User() {
@@ -49,6 +49,8 @@ export default function User() {
>
跳转到登陆页面
+
+
)
}
diff --git a/code/base-project/base-app/src/app/auth/login.tsx b/code/base-project/base-app/src/app/auth/login.tsx
index 2d288fb2..d3c476fc 100644
--- a/code/base-project/base-app/src/app/auth/login.tsx
+++ b/code/base-project/base-app/src/app/auth/login.tsx
@@ -96,7 +96,7 @@ export default function AuthLogin() {
handleInputChange('account', text)}
+ onChangeText={text => handleInputChange('account', text)}
/>
@@ -104,7 +104,7 @@ export default function AuthLogin() {
handleInputChange('password', text)}
+ onChangeText={text => handleInputChange('password', text)}
/>
diff --git a/code/base-project/base-app/src/app/auth/register.tsx b/code/base-project/base-app/src/app/auth/register.tsx
index 95b989a3..38d4c20d 100644
--- a/code/base-project/base-app/src/app/auth/register.tsx
+++ b/code/base-project/base-app/src/app/auth/register.tsx
@@ -75,7 +75,7 @@ export default function AuthRegister() {
placeholder="请输入账号"
leftIcon={UserRound}
value={form.username}
- onChange={text => handleInputChange('username', text)}
+ onChangeText={text => handleInputChange('username', text)}
/>
@@ -89,7 +89,7 @@ export default function AuthRegister() {
leftIcon={Lock}
isPassword
value={form.password}
- onChange={text => handleInputChange('password', text)}
+ onChangeText={text => handleInputChange('password', text)}
/>
@@ -109,7 +109,7 @@ export default function AuthRegister() {
leftIcon={Lock}
isPassword
value={form.confirmPassword}
- onChange={text => handleInputChange('confirmPassword', text)}
+ onChangeText={text => handleInputChange('confirmPassword', text)}
/>
diff --git a/code/base-project/base-app/src/request/index.ts b/code/base-project/base-app/src/request/index.ts
index 6c068bd8..4085918d 100644
--- a/code/base-project/base-app/src/request/index.ts
+++ b/code/base-project/base-app/src/request/index.ts
@@ -30,8 +30,8 @@ function isWhiteListed(url: string) {
}
const alovaInstance = createAlova({
- // baseURL: 'http://192.168.5.6:8085/app',
- baseURL: 'http://192.168.1.136:8085/app',
+ baseURL: 'http://192.168.5.6:8085/app',
+ // baseURL: 'http://192.168.1.136:8085/app',
requestAdapter: axiosRequestAdapter(),
timeout: 5000,
cacheFor: null,
diff --git a/notes/前端开发/react-native/expo.md b/notes/前端开发/react-native/expo.md
index 621d3114..e34b8453 100644
--- a/notes/前端开发/react-native/expo.md
+++ b/notes/前端开发/react-native/expo.md
@@ -1221,9 +1221,9 @@ keytool -genkey -v -keystore android-release.keystore -alias my-key-alias -keyal
```bash
systemProp.http.proxyHost=127.0.0.1
-systemProp.http.proxyPort=7897
+systemProp.http.proxyPort=7890
systemProp.https.proxyHost=127.0.0.1
-systemProp.https.proxyPort=7897
+systemProp.https.proxyPort=7890
```
打包结果在 `android/app/build/outputs/apt/release` 包下。