2024-11-12 20:46:23 +08:00
using System ;
using System.Collections ;
using System.Collections.Generic ;
using UnityEngine ;
using System.Threading.Tasks ;
using Newtonsoft.Json ;
2024-11-13 21:52:56 +08:00
using UnityEngine.UI ;
/ * public class loadMall : MonoBehaviour
2024-11-12 20:46:23 +08:00
{
public string token = null ; // <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> µ<EFBFBD> token<65> <6E> <EFBFBD> <EFBFBD> ʼ Ϊ null
public int escapeId = - 1 ; // <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> µ<EFBFBD> escapeId<49> <64> <EFBFBD> <EFBFBD> ʼ Ϊ -1 <20> <> ʾ δ<CABE> <CEB4> <EFBFBD> <EFBFBD>
void Start ( )
{
// ע<> <D7A2> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ¼<EFBFBD> <C2BC> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> յ<EFBFBD> token ʱ<> <CAB1> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> HandleTokenReceived
LoginAndGetToken . OnTokenReceived + = HandleTokenReceived ;
// ע<> <D7A2> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> escapeId <20> <> <EFBFBD> <EFBFBD> ʱ<EFBFBD> <CAB1> <EFBFBD> <EFBFBD> HandleGameEscapeIdUpdated<65> <64> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ִ<EFBFBD> <D6B4> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
2024-11-14 18:09:37 +08:00
selectLatest511 . OnGameEscapeIdUpdated + = HandleGameEscapeIdUpdated ;
2024-11-12 20:46:23 +08:00
}
// <20> <> <EFBFBD> <EFBFBD> <EFBFBD> յ<EFBFBD> token ʱ<> <CAB1> <EFBFBD> <EFBFBD> <EFBFBD> ˷<EFBFBD> <CBB7> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> token
public void HandleTokenReceived ( string receivedToken )
{
token = receivedToken ; // <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> µ<EFBFBD> token
// <20> ״ε<D7B4> <CEB5> ü<EFBFBD> <C3BC> س<EFBFBD> ʼ <EFBFBD> <CABC> <EFBFBD> <EFBFBD>
LoadInitialData ( ) ;
//LoadGameEscapeData();
//Debug.Log("<22> <> <EFBFBD> յ<EFBFBD> <D5B5> µ<EFBFBD> token: " + token);
}
// <20> <> <EFBFBD> <EFBFBD> Ϸ<EFBFBD> <CFB7> <EFBFBD> <EFBFBD> ID <20> <> <EFBFBD> <EFBFBD> ʱ<EFBFBD> <CAB1> <EFBFBD> <EFBFBD> <EFBFBD> ˷<EFBFBD> <CBB7> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> µ<EFBFBD> escapeId
public async void HandleGameEscapeIdUpdated ( int newGameEscapeId )
{
escapeId = newGameEscapeId ; // <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> µ<EFBFBD> escapeId
await LoadMallData ( ) ; //=====================================================================<3D> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ϊ<EFBFBD> <CEAA> <EFBFBD> <EFBFBD> д<EFBFBD> <D0B4> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Է<EFBFBD> <D4B7> <EFBFBD> <EFBFBD> κεط<CEB5> <D8B7> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> input.GetKeyDown.....<2E> <> <EFBFBD> <EFBFBD> <EFBFBD> ĵ<EFBFBD> <C4B5> <EFBFBD> <EFBFBD> Է<EFBFBD> <D4B7> <EFBFBD> <EFBFBD> <EFBFBD>
//Debug.Log("<22> <> <EFBFBD> յ<EFBFBD> <D5B5> µ<EFBFBD> GameEscapeId: " + escapeId);
}
// <20> <> <EFBFBD> س<EFBFBD> ʼ <EFBFBD> <CABC> <EFBFBD> ݣ<EFBFBD> ʹ <EFBFBD> <CAB9> <EFBFBD> <EFBFBD> <EFBFBD> µ<EFBFBD> token
public async void LoadInitialData ( )
{
if ( string . IsNullOrEmpty ( token ) )
{
Debug . LogWarning ( "<22> <EFBFBD> <DEB7> <EFBFBD> <EFBFBD> س<EFBFBD> ʼ <EFBFBD> <CABC> <EFBFBD> ݣ<EFBFBD> token δ<> <CEB4> <EFBFBD> á<EFBFBD> " ) ;
return ;
}
await LoadMallData ( ) ; //=====================================================================<3D> <> <EFBFBD> ڴ˴ <DAB4> ֻΪ<D6BB> <CEAA> <EFBFBD> <EFBFBD> һ <EFBFBD> <D2BB> <EFBFBD> <EFBFBD> ɫ<EFBFBD> <C9AB> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ġ<EFBFBD> <C4A1> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Բ<EFBFBD> Ҫ
}
// <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ϸ<EFBFBD> <CFB7> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ݣ<EFBFBD> ʹ <EFBFBD> <CAB9> <EFBFBD> <EFBFBD> <EFBFBD> µ<EFBFBD> escapeId <20> <> token
public async void selectQueryKill1 ( )
{
if ( string . IsNullOrEmpty ( token ) )
{
Debug . LogWarning ( "<22> <EFBFBD> <DEB7> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ϸ<EFBFBD> <CFB7> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ݣ<EFBFBD> token δ<> <CEB4> <EFBFBD> á<EFBFBD> " ) ;
return ;
}
if ( escapeId = = - 1 )
{
Debug . LogWarning ( "<22> <EFBFBD> <DEB7> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ϸ<EFBFBD> <CFB7> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ݣ<EFBFBD> escapeId δ<> <CEB4> <EFBFBD> á<EFBFBD> " ) ;
return ;
}
await LoadMallData ( ) ; //==========================================================================================================================================================================
}
//===============================================================================================================================================================================================================================
// <20> <> <EFBFBD> <EFBFBD> <EFBFBD> ̳<EFBFBD> <CCB3> <EFBFBD> <EFBFBD> <EFBFBD>
public async Task LoadMallData ( )
{
// <20> <> ѯ<EFBFBD> ̳<EFBFBD> <CCB3> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ʒ <EFBFBD> б <EFBFBD>
await QueryMallList ( 0 ) ;
// <20> <> ѯ<EFBFBD> ̳<EFBFBD> ʵ<EFBFBD> <CAB5> <EFBFBD> <EFBFBD> Ʒ <EFBFBD> б <EFBFBD>
await QueryMallList ( 1 ) ;
// <20> <> ȡ<EFBFBD> <C8A1> Ʒ <EFBFBD> <C6B7> <EFBFBD> <EFBFBD>
await GetMallProductDetails ( 1 ) ;
// <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ʒ
await BuyMallProduct ( 106 , 1 ) ;
}
// <20> <> ѯ<EFBFBD> ̳<EFBFBD> <CCB3> б <EFBFBD>
public async Task QueryMallList ( int productType )
{
var headers = CreateHeaders ( ) ;
Mall_List mallList = new Mall_List
{
productType = productType
} ;
string response = await web . SendRequest ( "http://121.40.42.41:8080/snail/product/page" , "POST" , JsonUtility . ToJson ( mallList ) , headers ) ;
Debug . Log ( $"<22> ̳<EFBFBD> <CCB3> б <EFBFBD> (productType: {productType}) <20> <> Ӧ: " + response ) ;
}
// <20> <> ȡ<EFBFBD> ̳<EFBFBD> <CCB3> <EFBFBD> Ʒ <EFBFBD> <C6B7> <EFBFBD> <EFBFBD>
public async Task GetMallProductDetails ( int productId )
{
var headers = CreateHeaders ( ) ;
Product_Details productDetails = new Product_Details
{
productId = productId
} ;
string response = await web . SendRequest ( "http://121.40.42.41:8080/snail/product/info" , "POST" , JsonUtility . ToJson ( productDetails ) , headers ) ;
Debug . Log ( "<22> <> ȡ<EFBFBD> <C8A1> Ʒ <EFBFBD> <C6B7> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ӧ: " + response ) ;
}
// <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ʒ
public async Task BuyMallProduct ( int userId , int productId )
{
var headers = CreateHeaders ( ) ;
Mall_buy mallBuy = new Mall_buy
{
userId = userId ,
productId = productId
} ;
string response = await web . SendRequest ( "http://121.40.42.41:8080/snail/product/buy" , "POST" , JsonUtility . ToJson ( mallBuy ) , headers ) ;
Debug . Log ( "<22> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ʒ <EFBFBD> <C6B7> Ӧ: " + response ) ;
}
//===============================================================================================================================================================================================================================
// <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ͷ<EFBFBD> <CDB7> ʹ <EFBFBD> <CAB9> <EFBFBD> <EFBFBD> <EFBFBD> µ<EFBFBD> token
public Dictionary < string , string > CreateHeaders ( )
{
if ( string . IsNullOrEmpty ( token ) )
{
Debug . LogWarning ( "<22> <> <EFBFBD> Դ<EFBFBD> <D4B4> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ͷʱ<CDB7> <CAB1> token δ<> <CEB4> <EFBFBD> á<EFBFBD> " ) ;
return new Dictionary < string , string > ( ) ;
}
return new Dictionary < string , string >
{
{ "Authorization" , token }
} ;
}
void OnDestroy ( )
{
// ע<> <D7A2> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ¼<EFBFBD> <C2BC> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ڴ<EFBFBD> й©
LoginAndGetToken . OnTokenReceived - = HandleTokenReceived ;
2024-11-14 18:09:37 +08:00
selectLatest511 . OnGameEscapeIdUpdated - = HandleGameEscapeIdUpdated ;
2024-11-12 20:46:23 +08:00
}
2024-11-13 21:52:56 +08:00
} * /
2024-11-15 12:09:52 +08:00
/ * public class LoadMall : MonoBehaviour
2024-11-13 21:52:56 +08:00
{
public string token = null ; // <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> µ<EFBFBD> token<65> <6E> <EFBFBD> <EFBFBD> ʼ Ϊ null
public int escapeId = - 1 ; // <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> µ<EFBFBD> escapeId<49> <64> <EFBFBD> <EFBFBD> ʼ Ϊ -1 <20> <> ʾ δ<CABE> <CEB4> <EFBFBD> <EFBFBD>
private string lastMallResponse = null ; // <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> µ<EFBFBD> <C2B5> ̳Dz<CCB3> <C7B2> <EFBFBD> <EFBFBD> <EFBFBD> Ӧ
// <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> һ <EFBFBD> <D2BB> <EFBFBD> ֶ<EFBFBD> <D6B6> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ̳<EFBFBD> <CCB3> <EFBFBD> <EFBFBD> ݵİ<DDB5> ť========================================================================================
public Button loadMallButton ;
void Start ( )
{
// ע<> <D7A2> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ¼<EFBFBD> <C2BC> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> յ<EFBFBD> token ʱ<> <CAB1> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> HandleTokenReceived
LoginAndGetToken . OnTokenReceived + = HandleTokenReceived ;
// ע<> <D7A2> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> escapeId <20> <> <EFBFBD> <EFBFBD> ʱ<EFBFBD> <CAB1> <EFBFBD> <EFBFBD> HandleGameEscapeIdUpdated
2024-11-14 18:09:37 +08:00
selectLatest511 . OnGameEscapeIdUpdated + = HandleGameEscapeIdUpdated ;
2024-11-13 21:52:56 +08:00
// <20> <> <EFBFBD> 谴ť<E8B0B4> <C5A5> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ʱ<EFBFBD> <CAB1> <EFBFBD> <EFBFBD> OnLoadMallButtonClicked========================================================================
if ( loadMallButton ! = null )
{
loadMallButton . onClick . AddListener ( OnLoadMallButtonClicked ) ;
}
}
// <20> <> <EFBFBD> <EFBFBD> <EFBFBD> յ<EFBFBD> token ʱ<> <CAB1> <EFBFBD> <EFBFBD> <EFBFBD> ˷<EFBFBD> <CBB7> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> token
public void HandleTokenReceived ( string receivedToken )
{
token = receivedToken ; // <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> µ<EFBFBD> token
Debug . Log ( "<22> <> <EFBFBD> յ<EFBFBD> <D5B5> µ<EFBFBD> token: " + token ) ;
// <20> ״ε<D7B4> <CEB5> ü<EFBFBD> <C3BC> س<EFBFBD> ʼ <EFBFBD> <CABC> <EFBFBD> <EFBFBD>
LoadInitialData ( ) ;
}
// <20> <> <EFBFBD> <EFBFBD> Ϸ<EFBFBD> <CFB7> <EFBFBD> <EFBFBD> ID <20> <> <EFBFBD> <EFBFBD> ʱ<EFBFBD> <CAB1> <EFBFBD> <EFBFBD> <EFBFBD> ˷<EFBFBD> <CBB7> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> µ<EFBFBD> escapeId
public async void HandleGameEscapeIdUpdated ( int newGameEscapeId )
{
escapeId = newGameEscapeId ; // <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> µ<EFBFBD> escapeId
Debug . Log ( "<22> <> <EFBFBD> յ<EFBFBD> <D5B5> µ<EFBFBD> GameEscapeId: " + escapeId ) ;
// <20> ڽ<EFBFBD> <DABD> յ<EFBFBD> escapeId <20> <> <EFBFBD> <EFBFBD> ʱ<EFBFBD> Զ<EFBFBD> <D4B6> <EFBFBD> <EFBFBD> ü<EFBFBD> <C3BC> <EFBFBD> <EFBFBD> ̳<EFBFBD> <CCB3> <EFBFBD> <EFBFBD> <EFBFBD>
lastMallResponse = await LoadMallData ( ) ;
Debug . Log ( "HandleGameEscapeIdUpdated <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ̳<EFBFBD> <CCB3> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ӧ: " + lastMallResponse ) ;
}
// <20> <> <EFBFBD> س<EFBFBD> ʼ <EFBFBD> <CABC> <EFBFBD> ݣ<EFBFBD> ʹ <EFBFBD> <CAB9> <EFBFBD> <EFBFBD> <EFBFBD> µ<EFBFBD> token
public async void LoadInitialData ( )
{
if ( string . IsNullOrEmpty ( token ) )
{
Debug . LogWarning ( "<22> <EFBFBD> <DEB7> <EFBFBD> <EFBFBD> س<EFBFBD> ʼ <EFBFBD> <CABC> <EFBFBD> ݣ<EFBFBD> token δ<> <CEB4> <EFBFBD> á<EFBFBD> " ) ;
return ;
}
// <20> <> <EFBFBD> ü<EFBFBD> <C3BC> <EFBFBD> <EFBFBD> ̳<EFBFBD> <CCB3> <EFBFBD> <EFBFBD> ݷ<EFBFBD> <DDB7> <EFBFBD>
lastMallResponse = await LoadMallData ( ) ;
Debug . Log ( "<22> <> ʼ <EFBFBD> <CABC> <EFBFBD> ص<EFBFBD> <D8B5> ̳<EFBFBD> <CCB3> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ӧ: " + lastMallResponse ) ;
}
// <20> <> ť<EFBFBD> <C5A5> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <F3B4A5B7> ̳<EFBFBD> <CCB3> <EFBFBD> <EFBFBD> ݼ<EFBFBD> <DDBC> ز<EFBFBD> <D8B2> <EFBFBD>
public async void OnLoadMallButtonClicked ( )
{
// <20> <> <EFBFBD> <EFBFBD> token <20> Ƿ<EFBFBD> <C7B7> <EFBFBD> <EFBFBD> <EFBFBD> ȷ<EFBFBD> <C8B7> <EFBFBD> <EFBFBD>
if ( string . IsNullOrEmpty ( token ) )
{
Debug . LogWarning ( "<22> <EFBFBD> <DEB7> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ̳<EFBFBD> <CCB3> <EFBFBD> <EFBFBD> ݣ<EFBFBD> token δ<> <CEB4> <EFBFBD> á<EFBFBD> " ) ;
return ;
}
// <20> <> <EFBFBD> ü<EFBFBD> <C3BC> <EFBFBD> <EFBFBD> ̳<EFBFBD> <CCB3> <EFBFBD> <EFBFBD> ݷ<EFBFBD> <DDB7> <EFBFBD>
lastMallResponse = await LoadMallData ( ) ;
Debug . Log ( "<22> û<EFBFBD> <C3BB> <EFBFBD> ť<EFBFBD> <C5A5> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ̳<EFBFBD> <CCB3> <EFBFBD> <EFBFBD> ݼ<EFBFBD> <DDBC> <EFBFBD> <EFBFBD> <EFBFBD> Ӧ: " + lastMallResponse ) ;
// <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ӧ<EFBFBD> <D3A6> <EFBFBD> <EFBFBD> һ <EFBFBD> <D2BB> <EFBFBD> Ĵ<EFBFBD> <C4B4> <EFBFBD>
HandleMallResponse ( lastMallResponse ) ;
}
// <20> <> <EFBFBD> <EFBFBD> <EFBFBD> ̳<EFBFBD> <CCB3> <EFBFBD> <EFBFBD> <EFBFBD>
public async Task < string > LoadMallData ( )
{
if ( string . IsNullOrEmpty ( token ) )
{
Debug . LogWarning ( "<22> <EFBFBD> <DEB7> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ̳<EFBFBD> <CCB3> <EFBFBD> <EFBFBD> ݣ<EFBFBD> token δ<> <CEB4> <EFBFBD> á<EFBFBD> " ) ;
return null ;
}
var headers = CreateHeaders ( ) ;
// <20> <> ѯ<EFBFBD> ̳<EFBFBD> <CCB3> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ʒ <EFBFBD> б <EFBFBD>
await QueryMallList ( 0 ) ;
// <20> <> ѯ<EFBFBD> ̳<EFBFBD> ʵ<EFBFBD> <CAB5> <EFBFBD> <EFBFBD> Ʒ <EFBFBD> б <EFBFBD>
await QueryMallList ( 1 ) ;
// <20> <> ȡ<EFBFBD> <C8A1> Ʒ <EFBFBD> <C6B7> <EFBFBD> <EFBFBD>
await GetMallProductDetails ( 1 ) ;
// <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ʒ
await BuyMallProduct ( 106 , 1 ) ;
Debug . Log ( "<22> ̳<EFBFBD> <CCB3> <EFBFBD> <EFBFBD> ݼ<EFBFBD> <DDBC> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> " ) ;
return "<22> ̳<EFBFBD> <CCB3> <EFBFBD> <EFBFBD> ݼ<EFBFBD> <DDBC> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> " ;
}
// <20> <> ѯ<EFBFBD> ̳<EFBFBD> <CCB3> б <EFBFBD>
public async Task QueryMallList ( int productType )
{
var headers = CreateHeaders ( ) ;
Mall_List mallList = new Mall_List
{
productType = productType
} ;
string response = await web . SendRequest ( "http://121.40.42.41:8080/snail/product/page" , "POST" , JsonUtility . ToJson ( mallList ) , headers ) ;
Debug . Log ( $"<22> ̳<EFBFBD> <CCB3> б <EFBFBD> (productType: {productType}) <20> <> Ӧ: " + response ) ;
}
// <20> <> ȡ<EFBFBD> ̳<EFBFBD> <CCB3> <EFBFBD> Ʒ <EFBFBD> <C6B7> <EFBFBD> <EFBFBD>
public async Task GetMallProductDetails ( int productId )
{
var headers = CreateHeaders ( ) ;
Product_Details productDetails = new Product_Details
{
productId = productId
} ;
string response = await web . SendRequest ( "http://121.40.42.41:8080/snail/product/info" , "POST" , JsonUtility . ToJson ( productDetails ) , headers ) ;
Debug . Log ( "<22> <> ȡ<EFBFBD> <C8A1> Ʒ <EFBFBD> <C6B7> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ӧ: " + response ) ;
}
// <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ʒ
public async Task BuyMallProduct ( int userId , int productId )
{
var headers = CreateHeaders ( ) ;
Mall_buy mallBuy = new Mall_buy
{
userId = userId ,
productId = productId
} ;
string response = await web . SendRequest ( "http://121.40.42.41:8080/snail/product/buy" , "POST" , JsonUtility . ToJson ( mallBuy ) , headers ) ;
Debug . Log ( "<22> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ʒ <EFBFBD> <C6B7> Ӧ: " + response ) ;
}
// <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ͷ<EFBFBD> <CDB7> ʹ <EFBFBD> <CAB9> <EFBFBD> <EFBFBD> <EFBFBD> µ<EFBFBD> token
public Dictionary < string , string > CreateHeaders ( )
{
if ( string . IsNullOrEmpty ( token ) )
{
Debug . LogWarning ( "<22> <> <EFBFBD> Դ<EFBFBD> <D4B4> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ͷʱ<CDB7> <CAB1> token δ<> <CEB4> <EFBFBD> á<EFBFBD> " ) ;
return new Dictionary < string , string > ( ) ;
}
return new Dictionary < string , string >
{
{ "Authorization" , token }
} ;
}
// <20> <> <EFBFBD> <EFBFBD> <EFBFBD> ̳<EFBFBD> <CCB3> <EFBFBD> <EFBFBD> ݵ<EFBFBD> <DDB5> <EFBFBD> Ӧ
private void HandleMallResponse ( string response )
{
if ( response . Contains ( "<22> <> <EFBFBD> <EFBFBD> " ) )
{
Debug . Log ( "<22> ̳<EFBFBD> <CCB3> <EFBFBD> <EFBFBD> ݼ<EFBFBD> <DDBC> سɹ<D8B3> <C9B9> <EFBFBD> " ) ;
}
else
{
Debug . LogWarning ( "<22> ̳<EFBFBD> <CCB3> <EFBFBD> <EFBFBD> ݼ<EFBFBD> <DDBC> <EFBFBD> ʧ<EFBFBD> ܣ<EFBFBD> <DCA3> <EFBFBD> Ӧ: " + response ) ;
}
}
void OnDestroy ( )
{
// ע<> <D7A2> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ¼<EFBFBD> <C2BC> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ڴ<EFBFBD> й©
LoginAndGetToken . OnTokenReceived - = HandleTokenReceived ;
2024-11-14 18:09:37 +08:00
selectLatest511 . OnGameEscapeIdUpdated - = HandleGameEscapeIdUpdated ;
2024-11-13 21:52:56 +08:00
// ȡ<> <C8A1> <EFBFBD> <EFBFBD> ť<EFBFBD> ĵ<EFBFBD> <C4B5> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ==============================================================================================
if ( loadMallButton ! = null )
{
loadMallButton . onClick . RemoveListener ( OnLoadMallButtonClicked ) ;
}
}
2024-11-15 12:09:52 +08:00
} * /
//<2F> <> <EFBFBD> <EFBFBD> +<2B> <> <EFBFBD> <EFBFBD>
public class LoadMall : MonoBehaviour
{
// <20> <> <EFBFBD> <EFBFBD> ģʽ ʵ<CABD> <CAB5>
public static LoadMall Instance { get ; private set ; }
// ȫ<> ֱ<EFBFBD> <D6B1> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ڴ洢<DAB4> <E6B4A2> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> صľ<D8B5> <C4BE> <EFBFBD> <EFBFBD> ֶ<EFBFBD>
public string token = null ; // <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> µ<EFBFBD> token<65> <6E> <EFBFBD> <EFBFBD> ʼ Ϊ null
public int escapeId = - 1 ; // <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> µ<EFBFBD> escapeId<49> <64> <EFBFBD> <EFBFBD> ʼ Ϊ -1 <20> <> ʾ δ<CABE> <CEB4> <EFBFBD> <EFBFBD>
private string lastMallResponse = null ; // <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> µ<EFBFBD> <C2B5> ̳Dz<CCB3> <C7B2> <EFBFBD> <EFBFBD> <EFBFBD> Ӧ
// <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ص<EFBFBD> <D8B5> ֶΣ<D6B6> <CEA3> <EFBFBD> Ϊȫ<CEAA> ֱ<EFBFBD> <D6B1> <EFBFBD>
public int code ; // <20> <> <EFBFBD> <EFBFBD> ״̬<D7B4> 룬<EFBFBD> <EBA3AC> <EFBFBD> <EFBFBD> 200 <20> <> ʾ <EFBFBD> ɹ<EFBFBD>
public string message ; // <20> <> ʾ <EFBFBD> <CABE> Ϣ
public int pageNo ; // <20> <> Ʒ <EFBFBD> <C6B7> ҳ<EFBFBD> <D2B3> Ϣ<EFBFBD> е <EFBFBD> <D0B5> <EFBFBD> ʼ ҳ
public int pageSize ; // <20> <> Ʒ <EFBFBD> <C6B7> ҳ<EFBFBD> <D2B3> Ϣ<EFBFBD> е <EFBFBD> ÿҳչʾ
public int totalCount ; // <20> <> Ʒ <EFBFBD> <C6B7> ҳ<EFBFBD> <D2B3> Ϣ<EFBFBD> е <EFBFBD> <D0B5> ܼ<EFBFBD> ¼<EFBFBD> <C2BC>
public List < Product > productList ; // <20> <> Ʒ <EFBFBD> <C6B7> <EFBFBD> <EFBFBD> <EFBFBD> б <EFBFBD>
// <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> һ <EFBFBD> <D2BB> <EFBFBD> ֶ<EFBFBD> <D6B6> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ̳<EFBFBD> <CCB3> <EFBFBD> <EFBFBD> ݵİ<DDB5> ť
public Button loadMallButton ;
void Awake ( )
{
// ʵ<> ֵ<EFBFBD> <D6B5> <EFBFBD> ģʽ
if ( Instance = = null )
{
Instance = this ;
DontDestroyOnLoad ( gameObject ) ; // <20> <> ֤<EFBFBD> <D6A4> ʵ<EFBFBD> <CAB5> <EFBFBD> ڳ<EFBFBD> <DAB3> <EFBFBD> <EFBFBD> л<EFBFBD> ʱ<EFBFBD> <CAB1> <EFBFBD> ᱻ<EFBFBD> <E1B1BB> <EFBFBD> <EFBFBD>
}
else
{
Destroy ( gameObject ) ;
}
}
void Start ( )
{
// ע<> <D7A2> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ¼<EFBFBD> <C2BC> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> յ<EFBFBD> token ʱ<> <CAB1> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> HandleTokenReceived
LoginAndGetToken . OnTokenReceived + = HandleTokenReceived ;
// ע<> <D7A2> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> escapeId <20> <> <EFBFBD> <EFBFBD> ʱ<EFBFBD> <CAB1> <EFBFBD> <EFBFBD> HandleGameEscapeIdUpdated
2024-11-15 23:31:54 +08:00
//selectLatest511.OnGameEscapeIdUpdated += HandleGameEscapeIdUpdated;
2024-11-15 12:09:52 +08:00
// <20> <> <EFBFBD> 谴ť<E8B0B4> <C5A5> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ʱ<EFBFBD> <CAB1> <EFBFBD> <EFBFBD> OnLoadMallButtonClicked
if ( loadMallButton ! = null )
{
loadMallButton . onClick . AddListener ( OnLoadMallButtonClicked ) ;
}
}
// <20> <> <EFBFBD> <EFBFBD> <EFBFBD> յ<EFBFBD> token ʱ<> <CAB1> <EFBFBD> <EFBFBD> <EFBFBD> ˷<EFBFBD> <CBB7> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> token
public void HandleTokenReceived ( string receivedToken )
{
token = receivedToken ; // <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> µ<EFBFBD> token
Debug . Log ( "<22> <> <EFBFBD> յ<EFBFBD> <D5B5> µ<EFBFBD> token: " + token ) ;
// <20> ״ε<D7B4> <CEB5> ü<EFBFBD> <C3BC> س<EFBFBD> ʼ <EFBFBD> <CABC> <EFBFBD> <EFBFBD>
LoadInitialData ( ) ;
}
// <20> <> <EFBFBD> <EFBFBD> Ϸ<EFBFBD> <CFB7> <EFBFBD> <EFBFBD> ID <20> <> <EFBFBD> <EFBFBD> ʱ<EFBFBD> <CAB1> <EFBFBD> <EFBFBD> <EFBFBD> ˷<EFBFBD> <CBB7> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> µ<EFBFBD> escapeId
public async void HandleGameEscapeIdUpdated ( int newGameEscapeId )
{
escapeId = newGameEscapeId ; // <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> µ<EFBFBD> escapeId
Debug . Log ( "<22> <> <EFBFBD> յ<EFBFBD> <D5B5> µ<EFBFBD> GameEscapeId: " + escapeId ) ;
// <20> ڽ<EFBFBD> <DABD> յ<EFBFBD> escapeId <20> <> <EFBFBD> <EFBFBD> ʱ<EFBFBD> Զ<EFBFBD> <D4B6> <EFBFBD> <EFBFBD> ü<EFBFBD> <C3BC> <EFBFBD> <EFBFBD> ̳<EFBFBD> <CCB3> <EFBFBD> <EFBFBD> <EFBFBD>
lastMallResponse = await LoadMallData ( ) ;
Debug . Log ( "HandleGameEscapeIdUpdated <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ̳<EFBFBD> <CCB3> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ӧ: " + lastMallResponse ) ;
// <20> <> <EFBFBD> <EFBFBD> <EFBFBD> ̳<EFBFBD> <CCB3> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ӧ
ParseMallResponse ( lastMallResponse ) ;
}
// <20> <> <EFBFBD> س<EFBFBD> ʼ <EFBFBD> <CABC> <EFBFBD> ݣ<EFBFBD> ʹ <EFBFBD> <CAB9> <EFBFBD> <EFBFBD> <EFBFBD> µ<EFBFBD> token
public async void LoadInitialData ( )
{
if ( string . IsNullOrEmpty ( token ) )
{
Debug . LogWarning ( "<22> <EFBFBD> <DEB7> <EFBFBD> <EFBFBD> س<EFBFBD> ʼ <EFBFBD> <CABC> <EFBFBD> ݣ<EFBFBD> token δ<> <CEB4> <EFBFBD> á<EFBFBD> " ) ;
return ;
}
// <20> <> <EFBFBD> ü<EFBFBD> <C3BC> <EFBFBD> <EFBFBD> ̳<EFBFBD> <CCB3> <EFBFBD> <EFBFBD> ݷ<EFBFBD> <DDB7> <EFBFBD>
lastMallResponse = await LoadMallData ( ) ;
Debug . Log ( "<22> <> ʼ <EFBFBD> <CABC> <EFBFBD> ص<EFBFBD> <D8B5> ̳<EFBFBD> <CCB3> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ӧ: " + lastMallResponse ) ;
// <20> <> <EFBFBD> <EFBFBD> <EFBFBD> ̳<EFBFBD> <CCB3> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ӧ
ParseMallResponse ( lastMallResponse ) ;
}
// <20> <> ť<EFBFBD> <C5A5> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <F3B4A5B7> ̳<EFBFBD> <CCB3> <EFBFBD> <EFBFBD> ݼ<EFBFBD> <DDBC> ز<EFBFBD> <D8B2> <EFBFBD>
public async void OnLoadMallButtonClicked ( )
{
// <20> <> <EFBFBD> <EFBFBD> token <20> Ƿ<EFBFBD> <C7B7> <EFBFBD> <EFBFBD> <EFBFBD> ȷ<EFBFBD> <C8B7> <EFBFBD> <EFBFBD>
if ( string . IsNullOrEmpty ( token ) )
{
Debug . LogWarning ( "<22> <EFBFBD> <DEB7> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ̳<EFBFBD> <CCB3> <EFBFBD> <EFBFBD> ݣ<EFBFBD> token δ<> <CEB4> <EFBFBD> á<EFBFBD> " ) ;
return ;
}
// <20> <> <EFBFBD> ü<EFBFBD> <C3BC> <EFBFBD> <EFBFBD> ̳<EFBFBD> <CCB3> <EFBFBD> <EFBFBD> ݷ<EFBFBD> <DDB7> <EFBFBD>
lastMallResponse = await LoadMallData ( ) ;
Debug . Log ( "<22> û<EFBFBD> <C3BB> <EFBFBD> ť<EFBFBD> <C5A5> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ̳<EFBFBD> <CCB3> <EFBFBD> <EFBFBD> ݼ<EFBFBD> <DDBC> <EFBFBD> <EFBFBD> <EFBFBD> Ӧ: " + lastMallResponse ) ;
// <20> <> <EFBFBD> <EFBFBD> <EFBFBD> ̳<EFBFBD> <CCB3> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ӧ
ParseMallResponse ( lastMallResponse ) ;
}
// <20> <> <EFBFBD> <EFBFBD> <EFBFBD> ̳<EFBFBD> <CCB3> <EFBFBD> <EFBFBD> <EFBFBD>
public async Task < string > LoadMallData ( )
{
if ( string . IsNullOrEmpty ( token ) )
{
Debug . LogWarning ( "<22> <EFBFBD> <DEB7> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ̳<EFBFBD> <CCB3> <EFBFBD> <EFBFBD> ݣ<EFBFBD> token δ<> <CEB4> <EFBFBD> á<EFBFBD> " ) ;
return null ;
}
var headers = CreateHeaders ( ) ;
string body = @"{}" ; // <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ը<EFBFBD> <D4B8> <EFBFBD> <EFBFBD> <EFBFBD> Ҫ<EFBFBD> <EFBFBD> <DEB8> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
Debug . Log ( "<22> <> <EFBFBD> ڼ<EFBFBD> <DABC> <EFBFBD> <EFBFBD> ̳<EFBFBD> <CCB3> <EFBFBD> <EFBFBD> <EFBFBD> ..." ) ;
string response = await web . SendRequest ( "http://121.40.42.41:8080/snail/product/page" , "POST" , body , headers ) ;
Debug . Log ( "<22> ̳<EFBFBD> <CCB3> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ӧ: " + response ) ;
return response ; // <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ӧ
}
// <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ͷ<EFBFBD> <CDB7> ʹ <EFBFBD> <CAB9> <EFBFBD> <EFBFBD> <EFBFBD> µ<EFBFBD> token
public Dictionary < string , string > CreateHeaders ( )
{
if ( string . IsNullOrEmpty ( token ) )
{
Debug . LogWarning ( "<22> <> <EFBFBD> Դ<EFBFBD> <D4B4> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ͷʱ<CDB7> <CAB1> token δ<> <CEB4> <EFBFBD> á<EFBFBD> " ) ;
return new Dictionary < string , string > ( ) ;
}
return new Dictionary < string , string >
{
{ "Authorization" , token }
} ;
}
// <20> <> <EFBFBD> <EFBFBD> <EFBFBD> ̳<EFBFBD> <CCB3> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ӧ<EFBFBD> <D3A6> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 浽ȫ<E6B5BD> ֱ<EFBFBD> <D6B1> <EFBFBD>
private void ParseMallResponse ( string response )
{
if ( string . IsNullOrEmpty ( response ) )
{
Debug . LogWarning ( "<22> <EFBFBD> <DEB7> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ̳<EFBFBD> <CCB3> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ӧ<EFBFBD> <D3A6> <EFBFBD> <EFBFBD> ӦΪ<D3A6> ա <EFBFBD> " ) ;
return ;
}
try
{
// ʹ <> <CAB9> Newtonsoft.Json <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ӧ
MallResponse mallResponse = JsonConvert . DeserializeObject < MallResponse > ( response ) ;
// <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ݸ<EFBFBD> ֵ<EFBFBD> <D6B5> ȫ<EFBFBD> ֱ<EFBFBD> <D6B1> <EFBFBD>
code = mallResponse . code ;
message = mallResponse . message ;
if ( mallResponse . data ! = null )
{
pageNo = mallResponse . data . pageNo ;
pageSize = mallResponse . data . pageSize ;
totalCount = mallResponse . data . totalCount ;
productList = mallResponse . data . dataList ;
// <20> <> ӡ<EFBFBD> <D3A1> Ʒ <EFBFBD> б <EFBFBD> <D0B1> <EFBFBD> Ϣ
foreach ( var product in productList )
{
Debug . Log ( $"<22> <> Ʒ ID: {product.productId}, <20> <> <EFBFBD> <EFBFBD> : {product.name}, <20> ۸<EFBFBD> : {product.price}" ) ;
}
}
else
{
Debug . LogWarning ( "<22> ̳<EFBFBD> <CCB3> <EFBFBD> <EFBFBD> ݶ<EFBFBD> <DDB6> <EFBFBD> Ϊ<EFBFBD> գ <EFBFBD> <D5A3> <EFBFBD> <DEB7> <EFBFBD> ȡ<EFBFBD> <C8A1> ϸ<EFBFBD> <CFB8> Ϣ" ) ;
}
}
catch ( System . Exception e )
{
Debug . LogWarning ( "<22> <> <EFBFBD> <EFBFBD> <EFBFBD> ̳<EFBFBD> <CCB3> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ӧʱ<D3A6> <CAB1> <EFBFBD> <EFBFBD> : " + e . Message ) ;
}
}
void OnDestroy ( )
{
// ע<> <D7A2> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ¼<EFBFBD> <C2BC> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ڴ<EFBFBD> й©
LoginAndGetToken . OnTokenReceived - = HandleTokenReceived ;
2024-11-15 23:31:54 +08:00
//selectLatest511.OnGameEscapeIdUpdated -= HandleGameEscapeIdUpdated;
2024-11-15 12:09:52 +08:00
// ȡ<> <C8A1> <EFBFBD> <EFBFBD> ť<EFBFBD> ĵ<EFBFBD> <C4B5> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
if ( loadMallButton ! = null )
{
loadMallButton . onClick . RemoveListener ( OnLoadMallButtonClicked ) ;
}
}
}
// <20> ̳<EFBFBD> <CCB3> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ӧ<EFBFBD> ࣬<EFBFBD> <E0A3AC> <EFBFBD> ڴ洢<DAB4> <E6B4A2> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ӧ<EFBFBD> <D3A6> <EFBFBD> <EFBFBD>
public class MallResponse
{
public int code { get ; set ; } // <20> <> <EFBFBD> <EFBFBD> ״̬<D7B4> 룬<EFBFBD> <EBA3AC> <EFBFBD> <EFBFBD> 200 <20> <> ʾ <EFBFBD> ɹ<EFBFBD>
public string message { get ; set ; } // <20> <> ʾ <EFBFBD> <CABE> Ϣ
public MallData data { get ; set ; } // <20> ̳Ƿ<CCB3> ҳ<EFBFBD> <D2B3> Ϣ
}
// <20> ̳Ƿ<CCB3> ҳ<EFBFBD> <D2B3> <EFBFBD> <EFBFBD> <EFBFBD> ࣬<EFBFBD> <E0A3AC> <EFBFBD> ڴ洢<DAB4> <E6B4A2> ҳ<EFBFBD> <D2B3> ϸ<EFBFBD> <CFB8> Ϣ
public class MallData
{
public int pageNo { get ; set ; } // <20> <> ʼ ҳ
public int pageSize { get ; set ; } // ÿҳչʾ
public int totalCount { get ; set ; } // <20> ܼ<EFBFBD> ¼<EFBFBD> <C2BC>
public List < Product > dataList { get ; set ; } // <20> <> Ʒ <EFBFBD> <C6B7> <EFBFBD> <EFBFBD> <EFBFBD> б <EFBFBD>
}
// <20> <> Ʒ <EFBFBD> ࣬<EFBFBD> <E0A3AC> <EFBFBD> ڴ洢<DAB4> <E6B4A2> Ʒ <EFBFBD> <C6B7> <EFBFBD> <EFBFBD> ϸ<EFBFBD> <CFB8> Ϣ
public class Product
{
public int productId { get ; set ; } // <20> <> Ʒ ID
public string name { get ; set ; } // <20> <> Ʒ <EFBFBD> <C6B7> <EFBFBD> <EFBFBD>
public string cover { get ; set ; } // <20> <> Ʒ <EFBFBD> <C6B7> <EFBFBD> <EFBFBD>
public string pic { get ; set ; } // <20> <> Ʒ ͼƬ
public float price { get ; set ; } // <20> <> Ʒ <EFBFBD> ۸<EFBFBD>
2024-11-13 21:52:56 +08:00
}