Commit Graph

10 Commits

Author SHA1 Message Date
559970c5b7 feat: one account can bind both netease + skin identities
- db: user_identities table (UNIQUE user_id+source), migrate backfill from users
- auth: GET/POST/DELETE /api/auth/identities - bind/unbind/list identities
  (netease requires UID, one per source, name uniqueness, keep >=1)
- register/external/plugin/admin-created users auto-write primary identity
- tickets: submit uses selected identity (validated belongs to user)
- dashboard: 我的身份 card with bind/unbind UI
- ticket-create: identity selector when >1 identity
2026-08-17 01:17:09 +08:00
5e998b2201 fix: hide type tabs when embedded in home page 2026-07-17 13:41:29 +08:00
d697ea1353 fix: add priority selector to ticket create form 2026-07-17 13:25:17 +08:00
17bf5a611d feat: type tabs on create form (report/suggestion/appeal) 2026-07-17 00:21:48 +08:00
021351d898 fix: restore from regex corruption, JS-bind modal close, data-action delegation 2026-07-15 03:53:16 +08:00
f0e891b17c fix: data-action delegation + convert onclick to event listeners, sidebar+logout+modals 2026-07-15 02:44:18 +08:00
4f4df7e479 fix: backend+frontend full audit - 15 bugs fixed across all files 2026-07-13 04:07:18 +08:00
10b6ff94ed feat: admin complaint (owner only) + result appeal (one per ticket, owner only) 2026-07-12 15:19:09 +08:00
de1bca9d8a fix: client-side file size limit 20→50MB to match server 2026-07-12 13:03:46 +08:00
247a4e851d feat: MC Report System - MySQL + Express + Vanilla JS SPA 2026-07-12 01:23:19 +08:00