import { loginAuth, bindPhone } from "@/manager/LoginManager";
import { clientId } from "@/constant/base";
import { useAppStore } from "@/store";

// 跳转登录
export const goLogin = () => uni.navigateTo({ url: "/pages/login/index" });

// 登录成功后，返回上一页
export const goBack = () => uni.navigateBack({ delta: 1 });

// 登录逻辑
export const onLogin = async (e) => {
  console.info("onLogin code: ", e.detail);

  return new Promise(async (resolve, reject) => {
    // 判断用户拒绝
    if (e.detail.errno === 104) {
      reject();
      return;
    }

    await loginAuth(e).then(async () => {
      const { code } = e.detail;

      // 绑定手机号
      const params = { wechatPhoneCode: code, clientId: clientId };
      const res = await bindPhone(params);
      if (res.data) {
        resolve();
      }
    });
  });
};

// 检测token
export const checkToken = () => {
  return new Promise((resolve) => {
    const appStore = useAppStore();
    console.log("appStore.hasToken: ", appStore.hasToken);
    if (!appStore.hasToken) {
      console.log("没有token，跳转到登录页");
      goLogin();
      return;
    }
    resolve();
  });
};
