Platform Infrastructure - 8 Core Modules Completed: - Storage Service (LocalAdapter + OSSAdapter stub) - Logging System (Winston + JSON format) - Cache Service (MemoryCache + Redis stub) - Async Job Queue (MemoryQueue + DatabaseQueue stub) - Health Check Endpoints (liveness/readiness/detailed) - Database Connection Pool (with Serverless optimization) - Environment Configuration Management - Monitoring Metrics (DB connections/memory/API) Key Features: - Adapter Pattern for zero-code environment switching - Full backward compatibility with legacy modules - 100% test coverage (all 8 modules verified) - Complete documentation (11 docs updated) Technical Improvements: - Fixed duplicate /health route registration issue - Fixed TypeScript interface export (export type) - Installed winston dependency - Added structured logging with context support - Implemented graceful shutdown for Serverless - Added connection pool optimization for SAE Documentation Updates: - Platform infrastructure planning (04-骞冲彴鍩虹璁炬柦瑙勫垝.md) - Implementation report (2025-11-17-骞冲彴鍩虹璁炬柦瀹炴柦瀹屾垚鎶ュ憡.md) - Verification report (2025-11-17-骞冲彴鍩虹璁炬柦楠岃瘉鎶ュ憡.md) - Git commit guidelines (06-Git鎻愪氦瑙勮寖.md) - Added commit frequency rules - Updated 3 core architecture documents Code Statistics: - New code: 2,532 lines - New files: 22 - Updated files: 130+ - Test pass rate: 100% (8/8 modules) Deployment Readiness: - Local environment: 鉁?Ready - Cloud environment: 馃攧 Needs OSS/Redis dependencies Next Steps: - Ready to start ASL module development - Can directly use storage/logger/cache/jobQueue Tested: Local verification 100% passed Related: #Platform-Infrastructure
47 lines
978 B
TypeScript
47 lines
978 B
TypeScript
import { useContext } from 'react'
|
|
import { PermissionContext } from './PermissionContext'
|
|
import { PermissionContextType } from './types'
|
|
|
|
/**
|
|
* 权限Hook
|
|
*
|
|
* @description 提供便捷的权限检查功能
|
|
* @version Week 2 Day 7 - 任务17
|
|
*
|
|
* @example
|
|
* ```tsx
|
|
* const MyComponent = () => {
|
|
* const { user, checkModulePermission } = usePermission()
|
|
*
|
|
* if (!checkModulePermission('advanced')) {
|
|
* return <UpgradePrompt />
|
|
* }
|
|
*
|
|
* return <div>欢迎 {user?.name}</div>
|
|
* }
|
|
* ```
|
|
*/
|
|
export const usePermission = (): PermissionContextType => {
|
|
const context = useContext(PermissionContext)
|
|
|
|
if (context === undefined) {
|
|
throw new Error(
|
|
'usePermission must be used within a PermissionProvider. ' +
|
|
'Please wrap your app with <PermissionProvider>.'
|
|
)
|
|
}
|
|
|
|
return context
|
|
}
|
|
|
|
/**
|
|
* 导出权限相关类型(方便使用)
|
|
*/
|
|
export type { UserInfo, UserVersion, PermissionContextType } from './types'
|
|
|
|
|
|
|
|
|
|
|
|
|