/**
 * 信任登录相关API
 */

import {
	http,
	Method
} from '@/utils/request.js';
  // 使用storage模块的方法设置登录状态为false
import storage from "@/utils/storage.js";
const request = http.request;

/**
 * 登出
 * @returns {Promise} 登出结果
 */
export function webLogout() {
    // 实际环境中应该调用后端登出接口
	return http.request({
		url: "/auth/logout",
		method: Method.DELETE,
		header: {
		  'Authorization': `Bearer ${storage.getAccessToken()}`
		},
    //   success: (res) => {
		  // console.log("退出登录请求",res);
    //     if (res.data.code === 200) {
    //       clearLoginState();
    //       resolve(res);
    //     } else {
    //       reject(res.data.message || '登出失败');
    //     }
    //   },
    //   fail: () => {
    //     reject('网络错误，请稍后再试');
    //   },
    //   complete: () => {
    //     // 无论成功失败都清除本地登录状态
    //     clearLoginState();
    //   }
  });
}
/**
 * H5用户手机号密码注册
 * @param params
 */
export function register(params) {
  return http.request({
    url: "/auth/register",
    method: Method.POST,
    data:params,
	header: {
	'Client-Type':'H5',
	},
  });
}

/**
 * H5用户手机号密码登录
 * @param params
 */
export function phoneLogin(params) {
  return http.request({
    url: "/auth/login",
    method: Method.POST,
    data:params,
	header: {
	'Client-Type':'H5',
	},
  });
}

/**
 * 上传用户头像和昵称
 * @param params
 */
export function uploadInfo(params) {
  return http.request({
    url: "uniapp/wechat/uploadInfo",
    method: Method.POST,
    needToken: true,
    data:params,
  });
}


/**
 * 小程序自动登录
 * @param params
 */
export function mpAutoLogin(params) {
	return http.request({
		url: `uniapp/wechat/login`,
		method: Method.POST,
		needToken: true,
		data: params,
		header: {
		  'Authorization': `Bearer ${storage.getAccessToken()}`
		},
	});
}
/**
 * 登出
 * @returns {Promise} 登出结果
 */
export function logout() {
  return new Promise((resolve, reject) => {
    // 实际环境中应该调用后端登出接口
	http.request({
		url: "uniapp/wechat/logout",
		method: Method.POST,
		header: {
		  'Authorization': `Bearer ${storage.getAccessToken()}`
		},
      success: (res) => {
		  console.log("退出登录请求",res);
        if (res.data.code === 200) {
          clearLoginState();
          resolve();
        } else {
          reject(res.data.message || '登出失败');
        }
      },
      fail: () => {
        reject('网络错误，请稍后再试');
      },
      complete: () => {
        // 无论成功失败都清除本地登录状态
        clearLoginState();
      }
    });
   
    
    // 清除登录状态
    clearLoginState();
    resolve();
  });
}
/**
 * 清除登录状态
 * 从本地存储中移除所有与登录相关的信息
 */
export function clearLoginState() {


  storage.setHasLogin(false);
  storage.setAccessToken('');
  storage.setUserInfo('');
  // storage.setPlots('');
}

