import {Injectable} from '@angular/core';
import {HttpClient, HttpHeaders} from "@angular/common/http";

//得到用户列表
import * as Parse from "parse"

(Parse as any).serverURL = "https://web2023.fmode.cn/parse"
// https://web2023.fmode.cn/s0210490/api/user/login
Parse.initialize("dev")

@Injectable({
  providedIn: 'root'
})
export class UserService {

  get currentUser() {
    try {
      let currentUser = JSON.parse(localStorage.getItem("USER_AUTH") || "error")
      return currentUser
    } catch (err) {

    }
    return {}
  }

  set currentUser(v) {
    localStorage.setItem("USER_AUTH", JSON.stringify(v))
  }

  constructor(private http: HttpClient) {
  }

  UserList = [{
    account: '',
    password: '',
    age: '',
    gender: '',
    name: '',
    signDate: '',
    skills: '',
    member: '',

  }]

  //
  //   [
  //   {
  //     username: "liu",
  //     password: "123",
  //     nickname: 'lj',
  //     gender: '男',
  //     title: '工程师',
  //     desc: '元宇宙工程师',
  //     balance: 100,
  //     phoneNumber: '1380000000'
  //   },
  //   {username: "liu1", password: "123"},
  //   {username: "liu2", password: "123"},
  //   {username: "liu3", password: "123"},
  // ]

  /*
  * 检查用户密码是否正确
  * */
  // async searchUser(searchText?: string): Promise<boolean | object> {
  //   let query = new Parse.Query("LjUser");
  //   if (searchText) {
  //     query.equalTo(`name`, searchText)
  //     console.log("查找中.....")
  //     let list = query.find();
  //     return list
  //   }
  //   return false
  // }

  // async checkUserPassword(user: { account: string; password: string }) {
  //   console.log(user.password)
  //   return new Promise<boolean>(async (resolve, reject) => {
  //       //   try {
  //       //     const url = 'http://web2023.fmode.cn:23000/s0210490/user/login/get'; // 替换为实际的接口 URL
  //       //     const response = await this.http.post(url, user).toPromise();
  //       //     return response as boolean;
  //       //   } catch (error) {
  //       //     console.error(error);
  //       //     return false;
  //       //   }
  //       //
  //       // })
  //
  //       // console.log(user.account)
  //       // console.log(typeof user.password)
  //       // var GameScore = Parse.Object.extend("LjUser");
  //       // var query = new Parse.Query(GameScore);
  //       // query.equalTo("account", user.account);
  //       // query.first().then(function (result: Parse.Object<Parse.Attributes> | undefined) {
  //       //   if (result?.get("account") === user.account) {
  //       //     if (result?.get("password") === user.password) {
  //       //       localStorage.setItem("USER_AUTH", JSON.stringify(result));
  //       //       console.log("登录成功");
  //       //       resolve(true);
  //       //     } else {
  //       //       reject("用户或者密码错误");
  //       //     }
  //       //   } else {
  //       //     reject("用户或者密码错误");
  //       //   }
  //       // }).catch(function (error) {
  //       //   console.log(error)
  //       // });
  //     }
  //   );
  // }

  async checkUserByAccount(account: string, password: string) {
    // const url = 'http://web2023.fmode.cn:23000/user/login';
    const url = 'https://web2023.fmode.cn/s0210490/api/user/login';

    // const url = 'http://localhost:23000/user/login';
    const data = {account, password}
    const headers = new HttpHeaders({
      'Content-Type': 'application/json'
    });
    // let result = await this.http.post(url, data, {headers}).toPromise();
    // if (result) {
    //   console.log(result)
    //   localStorage.setItem("USER_AUTH", JSON.stringify(result));
    //   return true;
    // } else {
    //   return false;
    // }

    //
    // const params = new HttpParams()
    //   .set('account', account)
    //   .set('password', password);

    // return this.http.get(url, {params}).toPromise();

    return new Promise(resolve => {
      this.http.post(url, data, {headers}).subscribe((result) => {
        if (result) {
          console.log(result)
          localStorage.setItem("USER_AUTH", JSON.stringify(result));
          resolve(true);
        } else {
          resolve(false);
        }
      });
    })


  }

//验证密码是否正确
// if (exites.password != user.password)
//   throw "用户密码错误";
// return true;
}
