import request from "@/utils/request";

export const userApi = {
  // 账号密码登录 - 显示自定义 loading 文字
  accountLogin(data, onComplete) {
    // 在第一次登录的时候拿到旧的设备信息，deviceId改为用户名+设备型号
    const deviceInfo = uni.getStorageSync("deviceInfo");
    const newDeviceInfo = {
      ...deviceInfo,
      deviceId: `(${data.yhm})${deviceInfo.model}`,
    }
    uni.setStorageSync("deviceInfo", newDeviceInfo)

    const promise = request.post(
      `/service?ssServ=ss.login&yhm=${data.yhm}&mm=${data.mm}&wdConfirmationCaptchaService=0&wechatCode=${data.wechatCode}`,
      data,
      {
        loading: false, // 禁用全局 loading，由登录页面自己控制
        request: {
          timeout: 15000 // 登录请求 15 秒超时
        }
      }
    );

    // 无论成功还是失败，都调用完成回调
    if (onComplete) {
      promise.finally(() => {
        onComplete()
      })
    }

    return promise;
  },

  // 自动登录 - 静默登录，不显示 loading
  autoLogin(data) {
    return request.post(
      `/service?ssServ=ss.login&wdConfirmationCaptchaService=0&mdToken=${data.mdToken}`,
      data,
      {
        loading: false // 自动登录不显示 loading，避免打扰用户
      }
    );
  },

  // 微信登录 - 自定义 loading
  wechatLogin(data, onComplete) {
    const promise = request.post(
      `/service?ssServ=ss.login&wdConfirmationCaptchaService=0`,
      data,
      {
        loading: false, // 禁用全局 loading，由登录页面自己控制
        request: {
          timeout: 15000 // 微信登录请求 15 秒超时
        }
      }
    );

    // 无论成功还是失败，都调用完成回调
    if (onComplete) {
      promise.finally(() => {
        onComplete()
      })
    }

    return promise;
  }
};
