import { server } from "@/utils/client";

// 前台用户绑定手机号
export const getBindPhoneApi = () => {
    return server.post<any>({
        url: "/v1/api/user/bind_phone",
        toast: true,
    });
};

// 前台用户手机号是否存在
export const getCheckUserPhoneExistApi = (params: any) => {
    return server.get<any>({
        url: "/v1/api/user/check_user_phone_exist",
        params,
        toast: true,
    });
};

// 找回密码
export const getFindPwdApi = (data: any) => {
    return server.post<any>({
        url: "/v1/api/user/find_pwd",
        data,
        toast: true,
    });
};

// 前台用户谷歌登录
export const getGoogleLoginApi = () => {
    return server.post<any>({
        url: "/v1/api/user/google_login",
    });
};

// 前台用户登录
export const getLoginApi = (data: any) => {
    return server.post<any>({
        url: "/v1/api/user/login",
        data,
        toast: true,
    });
};

// 前台用户登出
export const getLogoutApi = () => {
    return server.post<any>({
        url: "/v1/api/user/logout",
        toast: true,
    });
};

// 前台用户注册
export const getRegisterApi = (data: any) => {
    return server.post<any>({
        url: "/v1/api/user/register",
        data,
        toast: true,
    });
};

// 前台用户注册发送验证码
export const getSendCodeApi = (params: any) => {
    return server.get<any>({
        url: "/v1/api/user/send_code",
        params,
        toast: true,
    });
};

export interface UserInfoRep {
    /**
     * 账号
     */
    account?: string;
    /**
     * 用户头像
     */
    avatar_url?: string;
    /**
     * 邮箱地址
     */
    email?: string;
    /**
     * ID
     */
    id?: number;
    /**
     * 用户标签
     */
    label?: string;
    /**
     * 真实姓名
     */
    nick_name?: string;
    /**
     * 推荐码
     */
    referrer_code?: string;
    /**
     * 上级名字
     */
    referrer_name?: string;
    /**
     * 用户地址
     */
    user_address?: string;
    /**
     * 用户名
     */
    user_name?: string;
    /**
     * 用户电话号码
     */
    user_phone?: string;
}
// 前台用户获取信息
export const getUserInfoApi = () => {
    return server.post<any>({
        url: "/v1/api/user/user_info",
    });
};

export interface Wallet {
    /**
     * 用户头像
     */
    avatar_url?: string;
    /**
     * 货币类型
     */
    currency?: string;
    /**
     * 累计充值金额
     */
    deposit?: number;
    /**
     * 第一次充值时间
     */
    first_pay_time?: number;
    /**
     * 锁定活动代币
     */
    lock_point?: number;
    /**
     * 锁定积分
     */
    lock_score?: number;
    /**
     * 真实姓名
     */
    nick_name?: string;
    /**
     * 活动代币
     */
    point?: number;
    /**
     * 积分
     */
    Score?: number;
    /**
     * 用户名
     */
    user_name?: string;
}
// 前台用户获取金额信息
export const getUserMoneyApi = () => {
    return server.post<Wallet>({
        url: "/v1/api/user/user_money",
    });
};
// 前台用户充值
export const getUserRechargeApi = (data: any) => {
    return server.post<{ pay_url?: string }>({
        url: "/v1/api/user/user_recharge",
        data,
        toast: true,
    });
};
// 前台用户VIP信息
// POST /v1/api/user/user_vip_info
// 接口ID：201160713
// 接口地址：https://app.apifox.com/link/project/4790544/apis/api-201160713
export interface UserVipInfo {
    /**
     * vip经验
     */
    vip_exp: number;
    /**
     * vip等级
     */
    vip_level: number;
    /**
     * 下一级vip等级
     */
    vip_next_level: any;
    /**
     * vip等级经验
     */
    vip_score_exp: number;
}
export const getUserVipApi = () => {
    return server.post<UserVipInfo>({
        url: "/v1/api/user/user_vip_info",
    });
};

export interface DepositsRep {
    /**
     * 充值金额
     */
    amount: number;
    /**
     * 充值状态：created、pending、finished、canceled
     */
    status: string;
    /**
     * 充值时间：时间戳秒
     */
    time: number;
    /**
     * 充值标题说明
     */
    title: string;
}
