107 lines
3.9 KiB
Markdown
107 lines
3.9 KiB
Markdown
# role-admin
|
|
|
|
**English** | [中文](./README.md)
|
|
|
|
Store employee access-management admin UI, based on the `pure-admin-thin` template and customized for store, role, and employee CRUD workflows.
|
|
|
|
## Stack
|
|
|
|
- `Vue 3` + `TypeScript`
|
|
- `Vite`
|
|
- `Element Plus`
|
|
- `Pinia`
|
|
- `Vue Router`
|
|
- `Axios`
|
|
|
|
## Requirements
|
|
|
|
- `Node.js`: `^20.19.0 || >=22.13.0`
|
|
- `pnpm`: `>=9`
|
|
- Local backend: `/Users/mac033/Desktop/my-project/access-manage`
|
|
|
|
## Local Development
|
|
|
|
Start the backend first:
|
|
|
|
```bash
|
|
cd /Users/mac033/Desktop/my-project/access-manage
|
|
pnpm mysql:up
|
|
pnpm db:migrate
|
|
pnpm dev
|
|
```
|
|
|
|
Then start this admin UI:
|
|
|
|
```bash
|
|
cd /Users/mac033/Desktop/my-project/role-admin
|
|
pnpm install
|
|
pnpm dev
|
|
```
|
|
|
|
Open:
|
|
|
|
```text
|
|
http://localhost:8848/
|
|
```
|
|
|
|
## Project Structure
|
|
|
|
```text
|
|
.
|
|
├── .codex/skills/ # Repository-local skill for keeping README.md in sync
|
|
├── .husky/ # Git hooks for lint-staged and commitlint
|
|
├── build/ # Vite plugin, CDN, compression, and build helpers
|
|
├── mock/ # Template mock data for login and async routes
|
|
├── public/ # Static assets and runtime platform config
|
|
├── src/
|
|
│ ├── api/ # HTTP API wrappers; business APIs live in access.ts
|
|
│ ├── assets/ # Images, SVG files, and iconfont assets
|
|
│ ├── components/ # Shared template components
|
|
│ ├── config/ # Runtime config loader
|
|
│ ├── directives/ # Custom Vue directives
|
|
│ ├── layout/ # Admin layout, menu, tabs, navbar, and hooks
|
|
│ ├── plugins/ # Plugin registration
|
|
│ ├── router/ # Static routes, remaining routes, router instance, guards
|
|
│ ├── store/ # Pinia stores
|
|
│ ├── style/ # Global styles and themes
|
|
│ ├── utils/ # Auth, HTTP, storage, message, progress, and tree helpers
|
|
│ └── views/ # Pages; business pages live in employees, roles, stores
|
|
├── types/ # Global TypeScript declarations
|
|
├── AGENTS.md # Agent entrypoint that delegates to RTK.md
|
|
├── RTK.md # Repository collaboration rules
|
|
├── package.json # Dependencies, scripts, engines, and pnpm guard
|
|
└── vite.config.ts # Vite dev proxy, plugins, and build output config
|
|
```
|
|
|
|
This repository is not a monorepo and has no `packages/` directory. Important scripts are defined in `package.json`.
|
|
|
|
## Important Scripts
|
|
|
|
| Script | Purpose |
|
|
| -------------------- | -------------------------------------------------- |
|
|
| `pnpm dev` | Start the Vite dev server on the configured port |
|
|
| `pnpm build` | Clean `dist` and build for production |
|
|
| `pnpm build:staging` | Build with staging mode |
|
|
| `pnpm report` | Build and open a Rollup visualizer report |
|
|
| `pnpm preview` | Preview an existing `dist` build |
|
|
| `pnpm preview:build` | Build first, then preview |
|
|
| `pnpm typecheck` | Run TypeScript and Vue type checks |
|
|
| `pnpm lint` | Run ESLint, Prettier, and Stylelint fixes |
|
|
| `pnpm svgo` | Compress SVG files recursively |
|
|
| `pnpm clean:cache` | Reinstall dependencies after clearing local caches |
|
|
|
|
## Backend Proxy
|
|
|
|
Development mode proxies `/api` to `VITE_API_PROXY_TARGET`, defaulting to `http://localhost:3500`. The relevant files are `.env.development` and `vite.config.ts`.
|
|
|
|
## Documentation Sync Rule
|
|
|
|
When files, folders, package scripts, API modules, route modules, or key config files change, update `README.md` in the same change. The local skill is stored at `.codex/skills/readme-structure-sync/SKILL.md`.
|
|
|
|
## Verification
|
|
|
|
```bash
|
|
pnpm typecheck
|
|
pnpm build
|
|
```
|