Files
pnoker a73ba1267a refactor(web,auth): httpOnly cookie auth + CSP + dedup + type debt
- token: httpOnly+Secure+SameSite cookie (backend Set/Clear + filter Cookie-first read), frontend axios drops X-Auth-Token, auth store uses sessionStorage flag, router guard checks flag
- security: CSP + nosniff + Referrer-Policy in index.html; delete dead getCookies/setCookies/removeCookies; remove Base64 obfuscation from storageUtil
- fix: 24 double-notification .catch failMessage removed (interceptor handles); storageUtil boolean get/set asymmetry fixed
- types: DeviceDetail/profile-detail/device-edit {} as any -> Partial<DeviceRecord>/DriverRecord/ProfileRecord
- dedup: API CRUD factory (11 modules), i18n confirmDelete interpolation (54 lines removed), CardShell unified + shared form-width mixin

Verification: vue-tsc green / 158 unit tests pass / mvn compile green
2026-08-08 18:40:58 +08:00
..

1. Prepare

  • git
  • Visual Studio Code
  • nodejs >= 22 (enforced by engines in package.json)
  • pnpm 11.3.0 (pinned via packageManager), install using corepack enable && corepack prepare pnpm@11.3.0 --activate

2. Source code

git clone https://github.com/pnoker/iot-dc3.git

3. Develop

cd iot-dc3/dc3-web

# install
pnpm install

# run
pnpm dev

The dev server runs on http://localhost:8080 and proxies API calls to the backend gateway (http://localhost:8000), so start the backend stack first.

4. More

For the full command surface (build, type-check, lint, unit/component/E2E tests), the tech stack, environment configuration (src/config/env/), and project conventions, see AGENTS.md.