user.ts 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. /**
  2. * Copyright (c) 2013-Now https://jeesite.com All rights reserved.
  3. * No deletion without permission, or be held responsible to law.
  4. * @author ThinkGem
  5. */
  6. import { defHttp } from '@jeesite/core/utils/http/axios';
  7. import { useGlobSetting } from '@jeesite/core/hooks/setting';
  8. import { BasicModel, Page } from '@jeesite/core/api/model/baseModel';
  9. import { encryptByBase64 } from '@jeesite/core/utils/cipher';
  10. const { adminPath } = useGlobSetting();
  11. export interface User extends BasicModel<User> {
  12. userCode?: string; // 用户编码
  13. loginCode?: string; // 登录账号
  14. userName?: string; // 用户昵称
  15. password?: string; // 登录密码
  16. email?: string; // 电子邮箱
  17. mobile?: string; // 手机号码
  18. phone?: string; // 办公电话
  19. sex?: string; // 用户性别
  20. avatar?: string; // 头像路径
  21. sign?: string; // 个性签名
  22. wxOpenid?: string; // 绑定的微信号
  23. mobileImei?: string; // 绑定的手机串号
  24. userType?: string; // 用户类型(none未设置 employee员工 member会员)
  25. refCode?: string; // 用户类型引用编号
  26. refName?: string; // 用户类型引用姓名
  27. mgrType?: string; // 管理员类型(0非管理员 1系统管理员 2二级管理员)
  28. lastLoginIp?: string; // 最后登陆IP
  29. lastLoginDate?: string; // 最后登陆时间
  30. freezeDate?: string; // 冻结时间
  31. freezeCause?: string; // 冻结原因
  32. userWeight?: number; // 用户权重(降序)
  33. avatarBase64?: string; // 头像Base64数据,修改头像时用
  34. oldLastLoginIp?: string; // 上次登陆IP
  35. oldLastLoginDate?: string; // 上次登陆日期
  36. roleCode?: string; // 根据角色查询用户条件
  37. isAll?: string; // 不过滤数据权限,查询全部用户
  38. ctrlPermi?: string; // 权限控制类型(拥有权限、管理权限)
  39. }
  40. export const userListData = (params?: User | any) =>
  41. defHttp.post<Page<User>>({ url: adminPath + '/sys/user/listData', params });
  42. export const checkLoginCode = (oldLoginCode: string, loginCode: string) =>
  43. defHttp.get<User>({
  44. url: adminPath + '/sys/user/checkLoginCode',
  45. params: { oldLoginCode, loginCode },
  46. });
  47. export const userInfo = (params?: any) => defHttp.post<User>({ url: adminPath + '/sys/user/info', params });
  48. export const infoSaveBase = (params?: any) => defHttp.post<User>({ url: adminPath + '/sys/user/infoSaveBase', params });
  49. export const infoSavePwd = (params?: any) => {
  50. params.oldPassword = encryptByBase64(params.oldPassword);
  51. params.newPassword = encryptByBase64(params.newPassword);
  52. params.confirmNewPassword = encryptByBase64(params.confirmNewPassword);
  53. return defHttp.post<User>({ url: adminPath + '/sys/user/infoSavePwd', params });
  54. };
  55. export const infoSavePqa = (params?: any) => {
  56. params.validPassword = encryptByBase64(params.validPassword);
  57. params.oldPwdQuestionAnswer = encryptByBase64(params.oldPwdQuestionAnswer);
  58. params.oldPwdQuestionAnswer2 = encryptByBase64(params.oldPwdQuestionAnswer2);
  59. params.oldPwdQuestionAnswer3 = encryptByBase64(params.oldPwdQuestionAnswer3);
  60. params.pwdQuestionAnswer = encryptByBase64(params.pwdQuestionAnswer);
  61. params.pwdQuestionAnswer2 = encryptByBase64(params.pwdQuestionAnswer2);
  62. params.pwdQuestionAnswer3 = encryptByBase64(params.pwdQuestionAnswer3);
  63. return defHttp.post<User>({ url: adminPath + '/sys/user/infoSavePqa', params });
  64. };