CounterFireGames/src/utils/marketplace.js
2024-06-26 17:12:35 +08:00

107 lines
2.8 KiB
JavaScript

import { BlockChain } from "@/components/chain/BlockChain";
import axios from "axios"
const API_BASE = import.meta.env.VUE_APP_MKT_API
const net_id = import.meta.env.VUE_APP_NET_ID
const toJson = res => res.json();
const httpPost = async (url, data) => {
const token = new BlockChain().token;
let headers = {"Content-Type": "application/json"};
// let token = token;
if (token) {
headers['Authorization'] = `Bearer ${token}`;
}
return fetch(url, {
method: "POST",
body: JSON.stringify(data),
headers
}).then(toJson);
}
const httpGet = async (url, data) => {
const token = new BlockChain().token;
let headers = {"Content-Type": "application/json"};
if (token) {
headers['Authorization'] = `Bearer ${token}`;
}
url = url + (url.indexOf('?') > -1 ? "&" : "?" )+ new URLSearchParams(data).toString()
return fetch(url, {
method: "GET",
headers
}).then(toJson);
}
// 获取市场所有
export const apiMarketplaceState = async (data) => {
const url = `${API_BASE}/api/market/product/list/${net_id}`;
// return httpPost(url, data)
let res = await axios.post(url,data,
{ })
// console.log(res)
return res.data
}
// 获取nft地板价
export const apiGetPrice = async (data) => {
const url = `${API_BASE}/api/market/product/query_price`
return httpGet(url, data)
}
// 获取我拥有得资产
export const apiAssetsState = async (account_address, data) => {
const url = `${API_BASE}/api/asset/${net_id}/${account_address}`
return httpGet(url, data)
}
// 获取上架出售得NFTS
export const apiHangingState = async (data) => {
const url = `${API_BASE}/api/market/product/list/${net_id}`
return httpPost(url, data)
}
// 账号交易历史
export const apiHistoryState = async (account_address,data) => {
const url = `${API_BASE}/api/market/transaction/history/${net_id}/${account_address}`
return httpGet(url, data)
}
// 详情
export const apiDetail = async (account_address) => {
const url = `${API_BASE}/api/market/transaction/history/${net_id}/${account_address}`
return httpGet(url, {})
}
// 获取购物车列表
export const apiGetCartList = async () => {
const url = `${API_BASE}/api/shopcart/list`
return httpGet(url, {})
}
// 添加购物车
export const apiAddCartList = async (data) => {
const url = `${API_BASE}/api/shopcart/add`
return httpPost(url, data)
}
// 删除购物中nft
export const apiDelCartList = async (data) => {
const url = `${API_BASE}/api/shopcart/del`
return httpPost(url, data)
}
// 清空购物车
export const apiClearCartList = async () => {
const url = `${API_BASE}/api/shopcart/clear`
return httpPost(url, {net_id})
}
export const nftDetail = async(address, tokenId) => {
const url = `${API_BASE}/api/market/product/goods/${net_id}/${address}/${tokenId}`
return httpGet(url, {})
}