You need to sign in or sign up before continuing.
user.js 2.03 KB
import { fn, fetch } from '@/api/fn';

const Api = {
  GetProfile: '/srv/?a=user&t=get_profile',
  Login: '/srv/?a=user&t=login',
  LoginStatus: '/srv/?a=user&t=login_status',
  Logout: '/srv/?a=user&t=logout',
  UpdateProfile: '/srv/?a=user&t=update_profile',
}

/**
 * @description 获取个人信息
 * @remark 
 * @param {Object} params 请求参数
 * @returns {Promise<{
 *   code: number; // 状态码
 *   msg: string; // 消息
 *   data: {
 *     user: {
 *       id: integer; // 用户ID
 *       name: string; // 姓名
 *       employee_no: string; // 工号
 *       avatar: object; // 头像
 *     };
 *   };
 * }>}
 */
export const getProfileAPI = (params) => fn(fetch.get(Api.GetProfile, params));

/**
 * @description 登录并绑定openid
 * @remark 
 * @param {Object} params 请求参数
 * @param {string} params.uuid 
 * @param {string} params.password 
 * @returns {Promise<{
 *   code: number; // 状态码
 *   msg: string; // 消息
 *   data: any;
 * }>}
 */
export const loginAPI = (params) => fn(fetch.post(Api.Login, params));

/**
 * @description 查询登录状态
 * @remark 
 * @param {Object} params 请求参数
 * @returns {Promise<{
 *   code: number; // 状态码
 *   msg: string; // 消息
 *   data: {
 *     is_login: boolean; // true=登录,false=未登录
 *     is_openid: boolean; // true=已授权,false=未授权
 *   };
 * }>}
 */
export const loginStatusAPI = (params) => fn(fetch.get(Api.LoginStatus, params));

/**
 * @description 退出登录并解绑openid
 * @remark 
 * @param {Object} params 请求参数
 * @returns {Promise<{
 *   code: number; // 状态码
 *   msg: string; // 消息
 *   data: any;
 * }>}
 */
export const logoutAPI = (params) => fn(fetch.post(Api.Logout, params));

/**
 * @description 更新个人资料
 * @remark 
 * @param {Object} params 请求参数
 * @param {object} params.avatar 
 * @returns {Promise<{
 *   code: number; // 状态码
 *   msg: string; // 消息
 *   data: any;
 * }>}
 */
export const updateProfileAPI = (params) => fn(fetch.post(Api.UpdateProfile, params));