# xcy-admin **Repository Path**: xince-cloud/xcy-admin ## Basic Information - **Project Name**: xcy-admin - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-06-09 - **Last Updated**: 2026-07-01 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # XCY 运营后台 (xcy-admin) XCY 运营后台前端。Vue 3 + Vite + Vue Router 4 + Pinia + Element Plus + axios。 ## 快速开始 ```bash npm i npm run dev ``` - 开发端口: **5174** - 需后端运行在 **http://localhost:8080**(Vite 将 `/api` 代理到后端) ## 构建 ```bash npm run build # 产物输出到 dist/ npm run preview # 本地预览构建产物 ``` ## 目录结构 ``` src/ api/http.js axios 实例 (baseURL '/api', Bearer token, 响应拆封) router/ index.js 路由入口 + 守卫;自动汇总 modules/*.js modules/ 路由片段目录 (page agent 在此添加路由) layout/index.vue 主框架 (侧边菜单 + router-view) store/user.js Pinia 用户态 (token / login / logout) views/ login/index.vue 运营登录页 main.js 应用入口 App.vue ``` ## 路由自动加载约定 `src/router/index.js` 使用 `import.meta.glob('./modules/*.js', { eager: true })` 自动收集 `src/router/modules/` 下所有路由片段,挂载到 `Layout` 的 `children`。 新增页面时:在 `src/router/modules/` 添加一个 `.js` 文件,`export default` 一个路由记录 (或路由记录数组),并在 `src/views/` 下创建对应组件。**无需改动 `router/index.js`。** 示例 `src/router/modules/org-audit.js`: ```js export default { path: '/org-audit', name: 'OrgAudit', component: () => import('@/views/org-audit/index.vue'), meta: { title: '机构审核' } } ``` ## 鉴权 - token 存于 `localStorage` key `xcy_admin_token` - 路由守卫:无 token 跳转 `/login`(`meta.public` 路由除外) - HTTP 响应 `code === 401 || code === 1003` 自动清 token 并跳登录 - 登录暂复用机构登录端点 `POST /api/v1/auth/org/login { orgId, username, password }`