user.ts 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190
  1. import { CardType, EnumExamType, EnumSmsType, EnumUserType } from "@/common/enum";
  2. export interface LoginInfo {
  3. accessToken: string;
  4. refreshToken: string;
  5. expiresTime: string;
  6. openid: string;
  7. }
  8. export interface StudentExamInfo {
  9. nickName: string;
  10. location: string;
  11. endYear: number;
  12. examType?: EnumExamType;
  13. examMajor?: string;
  14. }
  15. export interface InviteInfo {
  16. inviteCode?: string;
  17. }
  18. export interface CultureScores {
  19. biology?: number;
  20. chemistry?: number;
  21. physics?: number;
  22. chinese?: number;
  23. english?: number;
  24. foreign?: number;
  25. geography?: number;
  26. history?: number;
  27. mathematics?: number;
  28. political?: number;
  29. }
  30. export interface SchoolListQueryDTO {
  31. keyword?: string;
  32. pageNum: number;
  33. pageSize: number;
  34. examType?: string;
  35. }
  36. export interface SchoolItem {
  37. id: number;
  38. name: string;
  39. location: string;
  40. }
  41. export interface ClassListQueryDTO {
  42. schoolId: number;
  43. }
  44. export interface ClassItem {
  45. id: number;
  46. name: string;
  47. schoolId: number;
  48. }
  49. export interface CardInfo {
  50. agentId?: number;
  51. agentName?: string;
  52. assignExamType?: EnumExamType;
  53. assignLocation?: string;
  54. assignSchoolId?: number;
  55. assignSchoolName?: string;
  56. cardNo: string;
  57. cardId: number;
  58. classId?: number;
  59. className?: string;
  60. endYear?: number;
  61. password: string;
  62. }
  63. export interface RegisterInfo {
  64. classId?: number;
  65. endYear: number;
  66. examType: string;
  67. inviteCode?: string;
  68. location: string;
  69. examMajor?: string;
  70. nickName: string;
  71. schoolId?: number;
  72. schoolName?: string;
  73. scores: Scores;
  74. username?: string;
  75. mobile: string;
  76. password: string;
  77. code: string;
  78. uuid: string;
  79. openId?: string;
  80. }
  81. export interface BindCardInfo extends RegisterInfo {
  82. cardNo?: string;
  83. // 临时信息
  84. schoolClassName?: string;
  85. }
  86. export interface Scores {
  87. biology?: number;
  88. chemistry?: number;
  89. physics?: number;
  90. chinese?: number;
  91. english?: number;
  92. foreign?: number;
  93. geography?: number;
  94. history?: number;
  95. mathematics?: number;
  96. political?: number;
  97. skill?: number; // 职业技能成绩
  98. }
  99. export interface SmsRequestDTO {
  100. mobile: string;
  101. smsType?: EnumSmsType;
  102. uuid?: string;
  103. code?: string;
  104. }
  105. export interface CaptchaImage {
  106. img: string;
  107. uuid: string;
  108. }
  109. export interface LoginRequestDTO {
  110. code?: string;
  111. mobile?: string;
  112. password?: string;
  113. username?: string;
  114. uuid?: string;
  115. }
  116. export interface MobileLoginResponseDTO {
  117. code?: number;
  118. message?: string;
  119. mobile?: string;
  120. openId?: string;
  121. }
  122. export interface UserInfo {
  123. admin: boolean;
  124. avatar?: string;
  125. cardId?: number;
  126. code: string;
  127. endYear: number;
  128. examType: EnumExamType;
  129. examMajor?: string;
  130. inviteCode?: string;
  131. location: string;
  132. nickName: string;
  133. phonenumber: string;
  134. regStatus: string;
  135. userId: number;
  136. userName: string;
  137. scores: Scores;
  138. userType: EnumUserType,
  139. accountType: number,
  140. schoolName: string;
  141. schoolClassName: string;
  142. classId?: number;
  143. schoolId?: number;
  144. campusClassName?: string;
  145. campusName?: string;
  146. classSelect: number; // 0: 不可修改班级 1: 可修改班级
  147. wxOpenId?: string;
  148. }
  149. export interface VipCardInfo {
  150. campusId: number; // 校区ID
  151. classId: number; // 班级ID
  152. className: string; // 班级名称
  153. schoolId: number; // 学校ID
  154. schoolName: string; // 学校名称
  155. year: number; // 入学年份
  156. endYear: number; // 毕业年份
  157. outDate: string; // 到期时间
  158. type: CardType;
  159. }
  160. export type UserRole = 'vip' | 'normal' | 'guest' | 'teacher' | 'agent' | 'auditor'
  161. // export interface BindCardInfo {
  162. // cardNo: string;
  163. // password: string;
  164. // }
  165. export interface WxLoginRequestDTO {
  166. phoneCode: string;
  167. loginCode: string;
  168. }