user-service.js 818 B

123456789101112131415161718192021222324252627282930
  1. /**
  2. * modules/user/user-service.js —— 用户模块服务。
  3. * 真实项目用 http;示例用内存数据,保持零后端可跑。
  4. */
  5. import { signal } from '@lit-labs/signals';
  6. class UserService {
  7. #users = signal([
  8. { id: 1, name: '张三', role: 'admin' },
  9. { id: 2, name: '李四', role: 'editor' },
  10. { id: 3, name: '王五', role: 'viewer' },
  11. ]);
  12. get users() { return this.#users; }
  13. findById(id) {
  14. return this.#users.get().find((u) => String(u.id) === String(id)) ?? null;
  15. }
  16. async fetchList() {
  17. // 真实项目:return (await http.get('/users')).items;
  18. return this.#users.get();
  19. }
  20. update(id, patch) {
  21. this.#users.set(this.#users.get().map((u) => (String(u.id) === String(id) ? { ...u, ...patch } : u)));
  22. }
  23. }
  24. export const userService = new UserService();