由于其它的导航页多少有些使用上的不便,要么功能缺失,要么功能丰富但卡顿等等。
所以我借助 AI 写了一个基于 Next.js 构建的个人导航页面,具有美观的界面和较丰富的自定义功能。





npm install
npm run dev
在浏览器中打开 http://localhost:3000 查看效果。
npm run build npm start
以下内容有待优化完善
src/ ├── app/ # Next.js App Router │ ├── api/ # API路由 │ │ ├── auth/ # 认证相关API │ │ │ ├── callback/ # 回调路由 │ │ │ ├── login/ # 登录路由 │ │ │ ├── logout/ # 登出路由 │ │ │ └── status/ # 状态路由 │ │ ├── bing-image/ # Bing图片API │ │ ├── debug/ # 调试API │ │ ├── onedrive/ # OneDrive API │ │ │ ├── links/ # 链接相关API │ │ │ └── settings/ # 设置相关API │ │ └── zhihu-hot/ # 知乎热榜API │ ├── favicon.ico # 网站图标 │ ├── globals.css # 全局样式 │ ├── layout.tsx # 根布局 │ └── page.tsx # 主页面 ├── components/ # React 组件 │ ├── AboutDialog.tsx # 关于对话框 │ ├── Clock.tsx # 时钟组件 │ ├── DataManagement.tsx # 数据管理组件 │ ├── Footer.tsx # 页脚组件 │ ├── Header.tsx # 头部组件 │ ├── HelpDialog.tsx # 帮助对话框 │ ├── LinkForm.tsx # 链接表单组件 │ ├── LinksGrid.tsx # 链接网格组件 │ ├── MovieCalendar.tsx # 电影日历组件 │ ├── OneDriveAuth.tsx # OneDrive认证组件 │ ├── Search.tsx # 搜索组件 │ ├── StorageSettings.tsx # 存储设置组件 │ ├── TodoDialog.tsx # 待办事项对话框 │ ├── UnifiedSettings.tsx # 统一设置面板组件 │ ├── Weather.tsx # 天气组件 │ └── ZhihuHotBoardDialog.tsx # 知乎热榜对话框 ├── lib/ # 工具函数 │ ├── auth.ts # OneDrive认证 │ ├── onedrive.ts # OneDrive操作 │ ├── onedrive-storage.ts # OneDrive存储操作 │ ├── storage.ts # 本地存储操作 │ └── utils.ts # 通用工具函数 └── types/ # TypeScript 类型定义 └── index.ts # 类型定义
详细的部署指南请参考 DEPLOYMENT.md。
项目需要以下环境变量:
# Azure OAuth 配置
AZURE_CLIENT_ID=your_azure_client_id
AZURE_CLIENT_SECRET=your_azure_client_secret
AZURE_TENANT_ID=your_azure_tenant_id
AZURE_REDIRECT_URI=http://localhost:3000/api/auth/callback # 开发环境
# JWT 密钥
JWT_SECRET=your_jwt_secret_key
# 心知天气API配置
NEXT_PUBLIC_SENIVERSE_API_KEY=your_seniverse_api_key
感谢 upapi 提供的知乎热榜 API,
感谢此刻电影 提供的电影日历 API,
感谢 bing.img.run 提供的 Bing 图片 API,
感谢Favicon.im 提供的 Favicon API。
欢迎提交 Issue 和 Pull Request!
MIT License