using System; using System.Collections; using System.Collections.Generic; using System.Xml.Linq; using UnityEngine; using UnityEngine.Networking; using System.Threading.Tasks; using Newtonsoft.Json; public class WebConnact : MonoBehaviour { private string token; // 保存 token 以便在整个类中使用 void Start() { // 由于除登录注册外的其他方法,都需要登录后返回的token // 因此登录不在此发送请求(同时) // 采用监听和事件回调的方法,只有监听到登录和token返回时,才运行其他方法 LoginAndGetToken.OnTokenReceived += HandleTokenReceived; // 订阅事件,当 gameEscapeId 更新时调用 HandleGameEscapeIdUpdated selectGameEscape512.OnGameEscapeIdUpdated += HandleGameEscapeIdUpdated; } void HandleTokenReceived(string receivedToken) { // 保存 token token = receivedToken; // 将接收到的 token 保存在类变量中 //Debug.Log("HandleTokenReceived监听:" + token); // 首次调用时,暂时没有 escapeId 可以传递,因此传 -1 Loding(token, -1); } void HandleGameEscapeIdUpdated(int newGameEscapeId) { Debug.Log("GameEscapeId 已更新为: " + newGameEscapeId); // 在这里调用 Loding 方法并传递最新的 escapeId Loding(token, newGameEscapeId); } // 传入 token 和更新后的 escapeId public async void Loding(string token, int newGameEscapeId) { // 用来给请求头赋值 string Authorization = token; Debug.Log("Loding(Authorization)请求头赋值: " + Authorization); // 如果 newGameEscapeId 不是初始值(-1),则使用它 int escapeId = newGameEscapeId != -1 ? newGameEscapeId : 0; Debug.Log("使用最新的 escapeId: " + escapeId); // 你剩下的网络请求逻辑 // 例如:在需要用到 escapeId 的地方直接使用它 //1.3,完善用户信息//已通过 User_InformationHead user = new User_InformationHead(); Dictionary head13 = new Dictionary { { "Authorization", Authorization }, // 设置授权头 }; string UserNewInfoBody = @" { ""nickName"": ""wulongxiao"", ""headImg"": ""https://fantasymonster-app.oss-cn-hangzhou.aliyuncs.com/upload/imgs/127e4e42d7c0405aab53359c1b278a9c.png"", ""gender"": 1, ""birthday"": ""2023-12-12 12:12:12"" }"; //打印 JSON 请求体,用于调试 Debug.Log("JSON Request Data: " + UserNewInfoBody); string response13 = await web.SendRequest("http://121.40.42.41:8080/snail/user/update", "POST", UserNewInfoBody, head13); Debug.Log("1.3完善用户信息" + response13); ////1.4查询用户详情(新增) Dictionary head14 = new Dictionary { { "Authorization", Authorization }, // 设置授权头 }; string response14 = await web.SendRequest("http://121.40.42.41:8080/snail/user/queryUserInfo", "POST", "{}", head14); Debug.Log("1.4查询用户详情" + response14); //2.1商城列表//已通过 Mall_List mall_virtual = new Mall_List(); mall_virtual.productType = 0; mall_virtual.pageNo = 1; mall_virtual.pageSize = 20; string mall_virtualponse = await web.SendRequest("http://121.40.42.41:8080/snail/product/page", "POST", JsonUtility.ToJson(mall_virtual)); Debug.Log("2.1商城列表:" + mall_virtualponse); //2.1,商城列表//已通过 Mall_List mall = new Mall_List(); mall.productType = 1; //mall.pageNo = 1; //mall.pageSize = 20;//这两个属性是默认值可以省略不写,默认是1跟20 string response21 = await web.SendRequest("http://121.40.42.41:8080/snail/product/page", "POST", JsonUtility.ToJson(mall)); Debug.Log("2.1商城列表:" + response21); //2.2,获取商城商品详情//已通过 Dictionary head22 = new Dictionary { { "Authorization", Authorization }, // 设置授权头 }; Product_Details product = new Product_Details(); product.productId = 1; string response22 = await web.SendRequest("http://121.40.42.41:8080/snail/product/info", "POST", JsonUtility.ToJson(product), head22); Debug.Log("JSON Request Data: " + JsonUtility.ToJson(product)); Debug.Log("2.2,获取商城商品详情" + response22); //2.3,商品购买(无支付)//已通过 Mall_buy mall_Buy = new Mall_buy(); Dictionary head23 = new Dictionary { { "Authorization", Authorization }, // 设置授权头 }; mall_Buy.userId = 106; mall_Buy.productId = 1; string response23 = await web.SendRequest("http://121.40.42.41:8080/snail/product/buy", "POST", JsonUtility.ToJson(mall_Buy), head23); Debug.Log("2.3,商品购买(无支付)" + response23); //3.1,查询公告分页://已通过 Query_Announcement query_Announcement = new Query_Announcement(); query_Announcement.userId = 106; query_Announcement.pageNo = 1; query_Announcement.pageSize = 20; string response31 = await web.SendRequest("http://121.40.42.41:8080/snail/notice/page", "POST", JsonUtility.ToJson(query_Announcement)); Debug.Log("3.1,查询公告分页:" + response31); //3.2,查询公告详情://已通过 int AnnouncementId = 1; string response32 = await web.SendRequest($"http://121.40.42.41:8080/snail/notice/info?noticeId={AnnouncementId}", "GET"); Debug.Log("3.2,查询公告详情:" + response32); //================================================================================================================================= //4.1查询靓号池分页//已通过 Dictionary head41 = new Dictionary { { "Authorization", Authorization }, // 设置授权头 }; int orderByBeansCoin = 1; string response41 = await web.SendRequest("http://121.40.42.41:8080/snail/cutePool/page", "POST", JsonUtility.ToJson(orderByBeansCoin), head41); Debug.Log("查询靓号池分页" + response41); //================================================================================================================================= //4.2购买欢乐豆//已通过 Dictionary head42 = new Dictionary { { "Authorization", Authorization }, // 设置授权头 }; string buyCutePool = @" { ""userId"": 106, ""cutePoolId"": 2 }"; //打印 JSON 请求体,用于调试 Debug.Log("JSON Request Data: " + buyCutePool); string response42 = await web.SendRequest("http://121.40.42.41:8080/snail/cutePool/buy", "POST", buyCutePool, head42); Debug.Log("购买欢乐豆" + response42); //============================================================================================================================ //5.1查询最近一场大屠杀 Dictionary head51 = new Dictionary { { "Authorization", Authorization }, // 设置授权头 }; // 使用最新的 escapeId 在请求体中 string response51 = await web.SendRequest("http://121.40.42.41:8080/snail/gameEscape/queryLatest", "POST", "{}", head51); Debug.Log("5.1查询最近一场大屠杀: " + response51); //==================================================================================================================== // 5.1.2查询各大逃亡房间最新详情(高性能版): Dictionary head512 = new Dictionary { { "Authorization", Authorization }, // 设置授权头 }; string queryEscapeRoomListBody = $@" {{ ""userId"": 106, ""escapeId"": {escapeId} }}"; string response512 = await web.SendRequest("http://121.40.42.41:8080/snail/gameEscape/queryEscapeRoomList", "POST", queryEscapeRoomListBody, head512); Debug.Log("5.1.2查询各大逃亡房间最新详情(高性能版): " + response512); //5.1.3,用户下注: Dictionary head513 = new Dictionary { { "Authorization", Authorization }, // 设置授权头 }; string userBetBody = $@" {{ ""userId"": 106, ""escapeId"": {escapeId}, ""bet"": 100, ""roomNo"":1 }}"; string response513 = await web.SendRequest("http://121.40.42.41:8080/snail/gameEscape/userBet", "POST", userBetBody, head513); Debug.Log("5.1.3,用户下注:" + response513); //5.1.4,查询击杀 Dictionary head514 = new Dictionary { { "Authorization", Authorization }, // 设置授权头 }; string selectKill = $@" {{ ""userId"": 106, ""escapeId"": {escapeId} }}"; string response514 = await web.SendRequest("http://121.40.42.41:8080/snail/gameEscape/queryKill", "POST", selectKill, head514); Debug.Log("5.1.4,查询击杀:" + response514); //5.1.5,查询结算 Dictionary head515 = new Dictionary { { "Authorization", Authorization }, // 设置授权头 }; string queryUserBetResult = $@" {{ ""userId"": 106, ""escapeId"": {escapeId} }}"; string response515 = await web.SendRequest("http://121.40.42.41:8080/snail/gameEscape/queryUserBetResult", "POST", queryUserBetResult, head515); Debug.Log("5.1.5,查询结算:" + response515); } void OnDestroy() { // 取消监听,避免内存泄漏 LoginAndGetToken.OnTokenReceived -= HandleTokenReceived; selectGameEscape512.OnGameEscapeIdUpdated -= HandleGameEscapeIdUpdated; } // Update is called once per frame void Update() { } } /*public class WebConnact : MonoBehaviour { void Start() { //由于除登录注册外的其他方法,都需要登录后返回的token //因此登录不在此发送请求(同时) //采用监听和事件回调的方法,只有监听到登录和token返回时,才运行其他方法 LoginAndGetToken.OnTokenReceived += HandleTokenReceived; //Loding(); // 订阅事件,当 gameEscapeId 更新时调用 HandleGameEscapeIdUpdated selectGameEscape512.OnGameEscapeIdUpdated += HandleGameEscapeIdUpdated; } void HandleTokenReceived(string token) { // 使用 token //string loginToken=token; Debug.Log("HandleTokenReceived监听:"+token); Loding(token); } void HandleGameEscapeIdUpdated(int newGameEscapeId) { Debug.Log("GameEscapeId 已更新为: " + newGameEscapeId); // 在这里添加你想要执行的逻辑 } // 传入 token 和更新后的 escapeId public async void Loding(string token, int newGameEscapeId) { // 用来给请求头赋值 string Authorization = token; Debug.Log("Loding(Authorization)请求头赋值" + Authorization); // 如果 newGameEscapeId 不是初始值(-1),则使用它 int escapeId = newGameEscapeId != -1 ? newGameEscapeId : 0; Debug.Log("使用最新的 escapeId: " + escapeId); //loginbody body = new loginbody(); //body.userName = "15151658596";// + 15151658596; //body.password = "123456";// + 123456; //body.verifyCode = 111111; //string regisestrespose = await web.SendRequest("http://121.40.42.41:8080/snail/user/register", "POST", JsonUtility.ToJson(body)); //Debug.Log(regisestrespose); //注册请求 //已通过 //loginbody body = new loginbody(); //body.userName = "15151658596";// + 15151658596; //body.password = "123456";// + 123456; //body.verifyCode = 111111; //string loginResponse = await web.SendRequest("http://121.40.42.41:8080/snail/user/login", "POST", JsonUtility.ToJson(body)); //Debug.Log(loginResponse); //登录请求//已通过 ////1.3,完善用户信息//已通过 ////User_InformationHead user = new User_InformationHead(); //Dictionary head13 = new Dictionary //{ // { "Authorization", Authorization }, // 设置授权头 // }; //string UserNewInfoBody = @" // { // ""nickName"": ""wulongxiao"", // ""headImg"": ""https://fantasymonster-app.oss-cn-hangzhou.aliyuncs.com/upload/imgs/127e4e42d7c0405aab53359c1b278a9c.png"", // ""gender"": 1, // ""birthday"": ""2023-12-12 12:12:12"" // }"; ////打印 JSON 请求体,用于调试 //Debug.Log("JSON Request Data: " + UserNewInfoBody); //string response13 = await web.SendRequest("http://121.40.42.41:8080/snail/user/update", "POST", UserNewInfoBody, head13); //Debug.Log("1.3完善用户信息" + response13); ////1.4查询用户详情(新增) //Dictionary head14 = new Dictionary //{ // { "Authorization", Authorization }, // 设置授权头 // }; //string response14 = await web.SendRequest("http://121.40.42.41:8080/snail/user/queryUserInfo", "POST", "{}", head14); //Debug.Log("1.4查询用户详情" + response14); ////2.1商城列表//已通过 //Mall_List mall_virtual = new Mall_List(); //mall_virtual.productType = 0; //mall_virtual.pageNo = 1; //mall_virtual.pageSize = 20; //string mall_virtualponse = await web.SendRequest("http://121.40.42.41:8080/snail/product/page", "POST", JsonUtility.ToJson(mall_virtual)); //Debug.Log("2.1商城列表:" + mall_virtualponse); ////2.1,商城列表//已通过 //Mall_List mall = new Mall_List(); //mall.productType = 1; ////mall.pageNo = 1; ////mall.pageSize = 20;//这两个属性是默认值可以省略不写,默认是1跟20 //string response21 = await web.SendRequest("http://121.40.42.41:8080/snail/product/page", "POST", JsonUtility.ToJson(mall)); //Debug.Log("2.1商城列表:" + response21); ////2.2,获取商城商品详情//已通过 //Dictionary head22 = new Dictionary //{ // { "Authorization", Authorization }, // 设置授权头 // }; //Product_Details product = new Product_Details(); //product.productId = 1; //string response22 = await web.SendRequest("http://121.40.42.41:8080/snail/product/info", "POST", JsonUtility.ToJson(product), head22); //Debug.Log("JSON Request Data: " + JsonUtility.ToJson(product)); //Debug.Log("2.2,获取商城商品详情" + response22); ////2.3,商品购买(无支付)//已通过 //Mall_buy mall_Buy = new Mall_buy(); //Dictionary head23 = new Dictionary //{ // { "Authorization", Authorization }, // 设置授权头 // }; //mall_Buy.userId = 106; //mall_Buy.productId = 1; //string response23 = await web.SendRequest("http://121.40.42.41:8080/snail/product/buy", "POST", JsonUtility.ToJson(mall_Buy), head23); //Debug.Log("2.3,商品购买(无支付)" + response23); ////3.1,查询公告分页://已通过 //Query_Announcement query_Announcement = new Query_Announcement(); //query_Announcement.userId = 106; //query_Announcement.pageNo = 1; //query_Announcement.pageSize = 20; //string response31 = await web.SendRequest("http://121.40.42.41:8080/snail/notice/page", "POST", JsonUtility.ToJson(query_Announcement)); //Debug.Log("3.1,查询公告分页:" + response31); ////3.2,查询公告详情://已通过 //int AnnouncementId = 1; //string response32 = await web.SendRequest($"http://121.40.42.41:8080/snail/notice/info?noticeId={AnnouncementId}", "GET"); //Debug.Log("3.2,查询公告详情:" + response32); ////4.1查询靓号池分页//已通过 //Dictionary head41 = new Dictionary //{ // { "Authorization", Authorization }, // 设置授权头 // }; //int orderByBeansCoin = 1; //string response41 = await web.SendRequest("http://121.40.42.41:8080/snail/cutePool/page", "POST", JsonUtility.ToJson(orderByBeansCoin), head41); //Debug.Log("查询靓号池分页" + response41); ////4.2购买欢乐豆//已通过 //Dictionary head42 = new Dictionary //{ // { "Authorization", Authorization }, // 设置授权头 // }; //string buyCutePool = @" // { // ""userId"": 106, // ""cutePoolId"": 2 // }"; ////打印 JSON 请求体,用于调试 //Debug.Log("JSON Request Data: " + buyCutePool); //string response42 = await web.SendRequest("http://121.40.42.41:8080/snail/cutePool/buy", "POST", buyCutePool, head42); //Debug.Log("购买欢乐豆" + response42); ////5.1查询最近一场大屠杀//已通过 //Dictionary head51 = new Dictionary //{ // { "Authorization", Authorization }, // 设置授权头 // }; //string response51 = await web.SendRequest("http://121.40.42.41:8080/snail/gameEscape/queryLatest", "POST", "{}", head51); //Debug.Log("5.1查询最近一场大屠杀" + response51);//查询最近一场大逃亡游戏详情: ////5.1.2查询各大逃亡房间最新详情(高性能版) //Dictionary head512 = new Dictionary //{ // { "Authorization", Authorization }, // 设置授权头 // }; //string queryEscapeRoomListBody = @" // { // ""userId"": 106, // ""escapeId"": 24336 // }"; //string response512 = await web.SendRequest("http://121.40.42.41:8080/snail/gameEscape/queryEscapeRoomList", "POST", queryEscapeRoomListBody, head512); //Debug.Log("5.1.2查询各大逃亡房间最新详情(高性能版)" + response512); ////5.1.3,用户下注: //Dictionary head513 = new Dictionary //{ // { "Authorization", Authorization }, // 设置授权头 // }; //string userBetBody = @" // { // ""userId"": 106, // ""escapeId"": 24381, // ""bet"": 100, // ""roomNo"":1 // }"; //string response513 = await web.SendRequest("http://121.40.42.41:8080/snail/gameEscape/userBet", "POST", userBetBody, head513); //Debug.Log("5.1.3,用户下注:" + response513); //5.1.4,查询击杀 Dictionary head514 = new Dictionary { { "Authorization", Authorization }, // 设置授权头 }; string selectKill = @" { ""userId"": 106, ""escapeId"": {escapeId} }"; string response514 = await web.SendRequest("http://121.40.42.41:8080/snail/gameEscape/queryKill", "POST", selectKill, head514); Debug.Log("5.1.4,查询击杀:" + response514); //////5.1.5,查询结算 //Dictionary head515 = new Dictionary //{ // { "Authorization", Authorization }, // 设置授权头 // }; //string queryUserBetResult = @" // { // ""userId"": 106, // ""escapeId"": 24377 // }"; //string response515 = await web.SendRequest("http://121.40.42.41:8080/snail/gameEscape/queryUserBetResult", "POST", queryUserBetResult, head515); //Debug.Log("5.1.5,查询结算:" + response515); //=========================================================================================================================== } void OnDestroy() { LoginAndGetToken.OnTokenReceived -= HandleTokenReceived; } // Update is called once per frame void Update() { } }*/ [Serializable] public class Search_room//登录和注册用 { public int userId; } //[Serializable] //public class loginbody//登录和注册用 //{ // public string userName; // public string password; // public int verifyCode; //} [System.Serializable] public class User_InformationHead //完善用户信息 { public string nickName; public string headImg; public string gender; public string birthday; } [Serializable] public class Query_Announcement //查询公告分页 { public int userId; public int pageNo; public int pageSize; } [Serializable] public class Mall_List //获取商城列表 { public int productType; public int pageNo; public int pageSize; } [Serializable] public class Product_Details//商品详情,有问题 { public int productId; } [Serializable] public class Mall_buy { public int productId; public int userId; } [Serializable] public class cutePoolPage { public int orderByBeansCoin; }