UserApi.ts 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. import { DataModel } from '@imengyu/js-request-transform';
  2. import { AppServerRequestModule } from '../RequestModules';
  3. export class LoginResult extends DataModel<LoginResult> {
  4. constructor() {
  5. super(LoginResult, "登录结果");
  6. this._convertTable = {
  7. token: { clientSide: 'string', clientSideRequired: true },
  8. };
  9. this._afterSolveServer = () => {
  10. this.userInfo.id = this.id;
  11. this.userInfo.mobile = this.mobile;
  12. this.userInfo.nickname = this.nickname;
  13. this.userInfo.avatar = this.avatar;
  14. this.userInfo.username = this.username;
  15. }
  16. }
  17. id = 0;
  18. username = '';
  19. nickname = '';
  20. mobile = '';
  21. avatar = '';
  22. bio = '';
  23. score = null as number|null;
  24. token = '';
  25. userId = null as number|null;
  26. createtime = null as number|null;
  27. expiretime = null as number|null;
  28. expiresIn = null as number|null;
  29. inheritorId = null as number|null;
  30. userInfo = new UserInfo();
  31. }
  32. export class UserInfo extends DataModel<UserInfo> {
  33. constructor() {
  34. super(UserInfo, "用户信息");
  35. this.setNameMapperCase('Camel', 'Snake');
  36. this._convertTable = {
  37. id: { clientSide: 'number', serverSide: 'number', clientSideRequired: true },
  38. }
  39. }
  40. id = 0;
  41. userId = 0;
  42. mobile = '';
  43. nickname = '';
  44. avatar = '';
  45. username = '';
  46. }
  47. export class UserApi extends AppServerRequestModule<DataModel> {
  48. constructor() {
  49. super();
  50. }
  51. async login(data: {
  52. mobile: string,
  53. password: string,
  54. }) {
  55. return (await this.post('/ich/inheritor/login', data, '登录', undefined, LoginResult)).data as LoginResult;
  56. }
  57. async refresh() {
  58. return (await this.post('/ich/inheritor/refresh', {}, '刷新token', undefined, LoginResult)).data as LoginResult;
  59. }
  60. }
  61. export default new UserApi();