Files
AIclinicalresearch/frontend-v2/src/framework/permission/usePermission.ts
HaHafeng e3e7e028e8 feat(platform): Complete platform infrastructure implementation and verification
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
2025-11-18 08:00:41 +08:00

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'