# rat-sapling-ui **Repository Path**: ratcoder/rat-sapling-ui ## Basic Information - **Project Name**: rat-sapling-ui - **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-08-27 - **Last Updated**: 2026-08-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # rat-sapling-ui SSO 认证中心(rat-sso-api / rat-sso-ui)的客户端前端项目,技术栈与认证中心前端保持一致: - Vue 3 + TypeScript + Vite - Element Plus(unplugin 自动按需引入) - Pinia + Vue Router + Axios ## 多模块打包 项目分为常驻的 `common` 与按需打包的业务模块: - `src/common`:始终打包,只包含工具类与 SSO 对接代码(http、config、auth store、ssoApi、类型、登录中转页/404),不含业务页面。 - `src/modules/<模块名>`:业务模块,按 `VITE_MODULES` 配置决定是否打包;每个模块的路由前缀为 `/模块名`(如 `/demo`)。 启用/停用模块只需修改 `.env`: ```env VITE_MODULES=demo ``` 多个模块用逗号分隔:`VITE_MODULES=demo,xxx`。`predev` / `prebuild` 会自动根据该配置重新生成 `src/modules/index.ts`,未启用的模块不会进入打包产物。 新增模块:在 `src/modules` 下创建目录并实现 `index.ts`(导出 `ModuleConfig`),然后把模块名加入 `VITE_MODULES` 即可。 ## 开发 ```bash npm install npm run dev ``` 默认端口 3002,`/api` 代理到客户端后端 `http://demo.back:10002`。 ## SSO 对接(前后端分离 H5 方案) - `/auth` 为 SSO 中转页:无 `ticket` 时通过 `/sso/getSsoAuthUrl` 跳转认证中心授权页;认证中心带 `ticket` 回跳后,通过 `/sso/doLoginByTicket` 换取本地 token。 - 路由守卫通过 `/sso/isLogin` 判断登录状态,未登录跳转 `/auth`。 - 登出调用 `/sso/logout`(全端注销)或 `/sso/logoutByAlone`(仅本应用)。