user.d.ts 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235
  1. import { BaseDefine, MultipleQuery, MultipleResult } from './base'
  2. /** 用户管理 & 登录 */
  3. export namespace User {
  4. /** >>> user api <<< */
  5. /** 用户登录 */
  6. interface LoginResponse {
  7. accessToken: string
  8. activeTime: string
  9. allowIP: string[]
  10. denyIP: string[]
  11. identity: string
  12. secret: string
  13. sessionId: string
  14. /** 名称 */
  15. name: string
  16. /** 角色 */
  17. role: ROLE
  18. /** 用户ID */
  19. id: number
  20. /** 考试批次ID */
  21. examId: number
  22. /** 大题ID */
  23. mainNumber: number
  24. /** 评卷员状态 */
  25. stage: STAGE
  26. /** 科目代码 */
  27. subjectCode: string
  28. /** needRealName */
  29. needRealName: boolean
  30. }
  31. type UserLogin = BaseDefine<
  32. {
  33. loginName: string
  34. password: string
  35. },
  36. LoginResponse
  37. >
  38. /** 导出用户 */
  39. type ExportUser = BaseDefine<{
  40. enable?: boolean
  41. role?: ROLE
  42. loginName?: string
  43. name?: string
  44. mainNumber?: number
  45. subjectCode?: string
  46. }>
  47. interface BaseUserInfo {
  48. examId?: number
  49. examName?: string
  50. loginName: string
  51. mainNumber?: number
  52. markingGroupNumber?: number
  53. name?: string
  54. role: ROLE
  55. subjectCode: string
  56. enable: boolean
  57. }
  58. interface ResponseUserInfo extends BaseUserInfo {
  59. id: number
  60. createTime: string
  61. groupId: number
  62. subjectName: string
  63. roleName: string
  64. updateTime: string
  65. updaterName: string
  66. }
  67. /** 新增修改用户信息 */
  68. type SaveUserInfo = BaseDefine<
  69. BaseUserInfo & {
  70. id?: number
  71. password: string
  72. }
  73. >
  74. /** 批量创建用户 */
  75. type BulkSaveUser = BaseDefine<{
  76. /** 启用/禁用 */
  77. enable: boolean
  78. /** 账号位数 */
  79. loginNameLength: number
  80. /** 大题ID */
  81. mainNumber?: number
  82. /** 分组账号数量 */
  83. markingGroupAccounts?: number
  84. /** 小组号 */
  85. markingGroupNumber?: number
  86. /** 密码 */
  87. password: string
  88. /** 自定义前缀 */
  89. prefix: string
  90. /** 角色 */
  91. role: ROLE
  92. /** 起始数 */
  93. start?: number
  94. /** 科目代码 */
  95. subjectCode: string
  96. }>
  97. /** 查询用户信息 */
  98. type GetUserInfo = BaseDefine<
  99. {
  100. id: number
  101. },
  102. ResponseUserInfo
  103. >
  104. /** 查询当前用户信息 */
  105. type GetMyUserInfo = BaseDefine<null, ResponseUserInfo>
  106. /** 查询用户列表 */
  107. type GetUserList = BaseDefine<
  108. MultipleQuery<{
  109. enable?: boolean
  110. role?: ROLE
  111. loginName?: string
  112. name?: string
  113. mainNumber?: number
  114. subjectCode?: string
  115. }>,
  116. MultipleResult<ResponseUserInfo>
  117. >
  118. /** 修改用户密码 */
  119. type UpdateUserPwd = BaseDefine<{ password: string }>
  120. /** 修改用户姓名 */
  121. type UpdateUserName = BaseDefine<{ name: string }>
  122. /** 重置指定用户密码 */
  123. type ResetUsersPwd = BaseDefine<{ userIds: number[] }>
  124. /** 启用/禁用用户 */
  125. type ToggleEnableUsers = BaseDefine<{ ids: number[]; enable: boolean }>
  126. interface PrivilegeInfo {
  127. code: string
  128. id: number
  129. name: string
  130. nodeCode: string
  131. nodeId: string
  132. nodeName: string
  133. parentId: number
  134. parentNodeId: string
  135. privilegeType: string
  136. privilegeUri: string
  137. }
  138. /** 获取当前用户菜单 */
  139. type GetUserPrivilege = BaseDefine<null, PrivilegeInfo[]>
  140. /** 超管选择考试 */
  141. type CheckExam = BaseDefine<{ examId: number }>
  142. /** 获取评卷员Tree */
  143. interface Marker {
  144. createTime: string
  145. enable: boolean
  146. examId: number
  147. examName: string
  148. id: number
  149. loginName: string
  150. mainNumber: number
  151. markingGroupNumber: number
  152. name: string
  153. role: string
  154. roleName: string
  155. subjectCode: string
  156. updateTime: string
  157. updaterName: string
  158. }
  159. type GetMarkerTree = BaseDefine<
  160. { subjectCode: string; mainNumber?: number; name: string },
  161. { markers: Marker[]; markingGroupNumber: number }[]
  162. >
  163. type GetMarkerList = BaseDefine<{ subjectCode: string; mainNumber?: number; markingGroupNumber?: number }, Marker[]>
  164. interface UserInfo {
  165. config: string
  166. createTime: string
  167. enable: boolean
  168. examId: number
  169. examName: string
  170. id: number
  171. loginName: string
  172. mainNumber: number
  173. markDayCount: number
  174. markTotalCount: number
  175. markingGroupNumber: number
  176. name: string
  177. role: string
  178. roleName: string
  179. subjectCode: string
  180. subjectName: string
  181. updateTime: string
  182. updaterName: string
  183. }
  184. type GetUserGroup = BaseDefine<
  185. null,
  186. {
  187. /** 大组长 */
  188. chiffGroup: UserInfo[]
  189. /** 小组长 */
  190. deputyGroup: UserInfo[]
  191. /** 评卷小组 */
  192. markerGroup: {
  193. markingGroupNumber: number
  194. markers: UserInfo[]
  195. }[]
  196. }
  197. >
  198. /** >>> user api end <<< */
  199. export interface ApiMap {
  200. userLogin: UserLogin
  201. userLogout: null
  202. exportUser: ExportUser
  203. downloadUserTemplate: null
  204. saveUserInfo: SaveUserInfo
  205. getUserInfo: GetUserInfo
  206. getMyUserInfo: GetMyUserInfo
  207. getUserList: GetUserList
  208. updateUserPwd: UpdateUserPwd
  209. resetUsersPwd: ResetUsersPwd
  210. toggleEnableUsers: ToggleEnableUsers
  211. checkExam: CheckExam
  212. bulkSaveUser: BulkSaveUser
  213. updateUserName: UpdateUserName
  214. getUserPrivilege: GetUserPrivilege
  215. getMarkerTree: GetMarkerTree
  216. getMarkerList: GetMarkerList
  217. /** 用户分组 - 发消息 */
  218. getUserGroup: GetUserGroup
  219. }
  220. }