|
|
1 månad sedan | |
|---|---|---|
| app | 1 månad sedan | |
| server/api | 1 månad sedan | |
| .gitignore | 1 månad sedan | |
| README.md | 1 månad sedan | |
| nuxt.config.js | 1 månad sedan | |
| package.json | 1 månad sedan | |
| pnpm-lock.yaml | 1 månad sedan | |
| pnpm-workspace.yaml | 1 månad sedan | |
奇想宇宙 PC 端站点,基于 Nuxt 4 重构,支持 SSR / SEO。
| 类别 | 技术 |
|---|---|
| 框架 | Nuxt 4.5 + Vue 3.5 |
| 渲染 | SSR(服务端渲染,开箱即用) |
| 样式 | TailwindCSS |
| 包管理 | pnpm |
| 语言 | JavaScript(无 TypeScript) |
| 后端 | ThinkJS(ai_api / ai_server,不动) |
npm install -g pnpm)# 安装/切换 Node(如用 nvm-windows)
nvm install 22.19.0
nvm use 22.19.0
# 安装依赖
pnpm install
# 启动开发服务器(监听局域网,端口 6888)
pnpm run dev
# → http://localhost:6888
# → http://<你的局域网IP>:6888
# 生产构建
pnpm run build
# 预览生产构建
pnpm run preview
pc_nuxt/
├── app/
│ ├── app.vue # 根组件
│ ├── assets/css/main.css # TailwindCSS 入口
│ ├── composables/useApi.js # ai_api 接口封装(自动导入)
│ ├── layouts/default.vue # 默认布局
│ └── pages/ # 页面(文件路由)
│ └── index.vue # 首页
├── server/api/[...].js # 服务端 API 代理 → ai_api
├── nuxt.config.js # Nuxt 4 配置
├── package.json
└── pnpm-lock.yaml
aionline/
├── pc_nuxt/ ← 本仓库(PC 端 Nuxt 4 重构)
├── ai_api/ ← 主 API 后端(ThinkJS,不修改)
├── ai_server/ ← AI 能力后端(ThinkJS,不修改)
├── pc/ ← 原 PC 端(Vue2 + Webpack4,逐步废弃)
├── m/ ← 移动端 H5
├── ai_admin/ ← 管理后台
├── ai_uniapp/ ← 跨端应用
└── ws/ ← 设备管理
各子项目相互独立,不共享 node_modules。
const api = useApi()
// GET 请求
const res = await api.get('/user/info', { id: 1 })
// res = { code: 0, data: {...}, list: [...], msg: 'ok' }
// POST 请求(自动转 x-www-form-urlencoded)
const res = await api.post('/user/login', { username, password })
| code | 含义 |
|---|---|
0 |
成功,数据在 data / list 字段 |
1000 |
业务异常,错误信息在 msg |
1009 |
登录失效,客户端自动跳转 /login |
# 环境变量(优先级最高)
API_BASE=http://192.168.1.100:8360 pnpm run dev
# 或直接修改 nuxt.config.js 中的 runtimeConfig.public.apiBase
前端调 /api/** 会自动代理到 ai_api,路径示例:
$fetch('/api/user/info')
→ server/api/[...].js 代理转发
→ http://localhost:8360/user/info(自动附带 cookie)
.vue 文件使用 <script setup>useSeoMeta() 设置 title / description