123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205 |
- using LitJson;
- using Newtonsoft.Json;
- using Newtonsoft.Json.Linq;
- using SC.XR.Unity;
- using System;
- using System.Collections;
- using System.Collections.Generic;
- using UnityEngine;
- public class LoginDataManager:Singleton<LoginDataManager>
- {
- string[] testAclist =new string[] { "罗江", "戴广军", "程裕翔", "王玉洁", "伊鹏飞", "戈晓芬","胡佳骏" };
- List<AccountData> ldata;
-
-
- public void GetLoginData(Action<List<AccountData>> callback)
- {
- ldata = new List<AccountData>();
- if(WindowsManager.Instance.isTest)
- {
- AccountData adata;
- for (int i = 0; i < testAclist.Length; i++)
- {
- adata = new AccountData();
- adata.number = testAclist[i];
- adata.name = testAclist[i];
- adata.avatar = new AccountAvatar();
- adata.avatar.path = Application.streamingAssetsPath + "/icon/" + i + ".png";
- ldata.Add(adata);
- }
- }
- HttpTool.Instance.Post(HttpEdustryAction.LoginList, "", (string msg) => {
- Debug.Log(msg);
- JObject jObject = JObject.Parse(msg);
- if (jObject["code"].ToString() == "200")
- {
- Debug.Log("DGJ ==> "+ jObject["data"]["list"].ToString());
-
- ldata.AddRange(JsonConvert.DeserializeObject<List<AccountData>>(jObject["data"]["list"].ToString()));
- Debug.Log(ldata.Count);
- WindowsManager.Instance.StartCoroutine(testBack(callback));
- }
- else
- {
- Debug.LogError(" 获取登录列表失败 "+ jObject["code"].ToString());
- WindowsManager.Instance.StartCoroutine(testBack(callback));
- }
- });
-
- }
- IEnumerator testBack(Action<List<AccountData>> callback)
- {
- yield return null;
- callback.Invoke(ldata);
- }
- List<AccountData> OftenUseldata;
-
- public void GetOftenUseLoginData(Action<List<AccountData>> callback)
- {
- OftenUseldata = new List<AccountData>();
- JsonData data = getOftenUseAcc();
- if(data.IsArray)
- {
- AccountData adata;
- for (int i = data.Count-1; i >=0 ; i--)
- {
- adata = new AccountData();
- adata.number = data[i]["number"].ToString();
- adata.name = data[i]["name"].ToString();
- if(adata.avatar==null)
- {
- adata.avatar = new AccountAvatar();
- }
- if(data[i].Keys.Contains("avatar"))
- {
- Debug.Log(data[i]["avatar"].ToString());
- JsonData avatardata = JsonMapper.ToObject(data[i]["avatar"].ToString());
- if (avatardata.Keys.Contains("path"))
- {
- adata.avatar.path = avatardata["path"].ToString();
- adata.avatar.host = avatardata["host"].ToString();
- }
- }
- adata.phone = data[i]["phone"].ToString();
- OftenUseldata.Add(adata);
- }
- }
- WindowsManager.Instance.StartCoroutine(testOftenUseBack(callback));
- }
- int checkData(JsonData adata)
- {
- JsonData data = getOftenUseAcc();
- if (data.IsArray)
- {
- for (int i = data.Count - 1; i >= 0; i--)
- {
- if(adata["number"].ToString() == data[i]["number"].ToString())
- {
- return i;
- }
- }
- }
- return -1;
- }
- IEnumerator testOftenUseBack(Action<List<AccountData>> callback)
- {
- yield return null;
- callback.Invoke(OftenUseldata);
-
- }
-
- public void setOftenUseAcc(AccountData adata)
- {
- JsonData data = getOftenUseAcc();
- JsonData accData = new JsonData();
- accData["name"] = adata.name;
- accData["phone"] = adata.phone;
- accData["number"] = adata.number;
- accData["avatar"] = JsonConvert.SerializeObject(adata.avatar);
- int index = checkData(accData);
-
- JsonData accDataNew = new JsonData();
- accDataNew.Add(accData);
- if(data!=null&&data.IsArray)
- {
- for (int i = 0; i < data.Count; i++)
- {
- if (index != i)
- accDataNew.Add(data[i]);
- if (accDataNew.Count >= 4)
- break;
- }
- }
- PlayerPrefs.SetString("OftenUse", accDataNew.ToJson());
- PlayerPrefs.Save();
-
- }
-
- public JsonData getOftenUseAcc()
- {
-
- string OftenUse = PlayerPrefs.GetString("OftenUse");
- Debug.Log("DGJ ===> getOftenUseAcc " + OftenUse);
- JsonData data = new JsonData();
- if (OftenUse != "" && OftenUse != null)
- {
- try
- {
- data = JsonMapper.ToObject(OftenUse);
- }
- catch
- {
- }
- }
- return data;
- }
- }
- public class AccountData
- {
- public string name { get; set; }
- public string phone { get; set; }
- public string number { get; set; }
- public AccountAvatar avatar { get; set; }
- }
- public class AccountData2
- {
- public string name { get; set; }
- public string phone { get; set; }
- public string number { get; set; }
- public AccountAvatar avatar { get; set; }
- }
- public class AccountAvatar
- {
- public int id { get; set; }
-
- public string path { get; set; }
- public string host { get; set; }
- }
|