添加登录和后端校验

完成后端设计(未在本仓库体现),通过安全的手段完成了登录鉴权
This commit is contained in:
2026-08-06 16:27:36 +08:00
commit b19a56003f
286 changed files with 51650 additions and 0 deletions
+39
View File
@@ -0,0 +1,39 @@
import { useCallback, useEffect } from 'react'
import Taro, { useDidShow } from '@tarojs/taro'
import { applyPageBackground } from '../utils/themeBackground'
export interface UseStatusBarOptions {
/** 顶部系统状态栏(iOS 时间/电量)文字颜色模式:
* - 'auto'(默认):跟随当前 App 主题,浅色黑字、深色白字
* - 'light':强制白字(顶部是深色图片/背景的页面用)
* - 'dark':强制黑字
*/
mode?: 'auto' | 'light' | 'dark'
}
/**
* 同步当前页面的 iOS 系统状态栏(时间、电量)文字颜色。
* 每个页面只调用一次,避免全局 Provider 与页面生命周期竞争写入。
*/
export function useStatusBar(resolvedTheme: 'light' | 'dark', options: UseStatusBarOptions = {}) {
const { mode = 'auto' } = options
const apply = useCallback(() => {
const isDarkText = mode === 'dark' || (mode === 'auto' && resolvedTheme === 'light')
const frontColor = isDarkText ? '#000000' : '#ffffff'
const bgColor = isDarkText ? '#ffffff' : '#1e1e2f'
Taro.setNavigationBarColor({ frontColor, backgroundColor: bgColor })
// 同步页面背景色,确保自定义导航区(状态栏下方、胶囊按钮区域)跟随主题,
// 避免深色模式下顶部残留白色条带。
// 注意:iOS 上顶部/底部窗口背景需分别用 backgroundColorTop / Bottom 指定,
// 仅设置 backgroundColor 在 iOS 上无法覆盖顶部导航区。
applyPageBackground(resolvedTheme, bgColor)
}, [mode, resolvedTheme])
// 主题切换后立即更新当前页面。
useEffect(apply, [apply])
// 导航返回、切换 Tab 或从后台恢复后,以当前页面主题重新覆盖原生默认值。
useDidShow(apply)
}