import { BlockChain } from "@/components/chain/BlockChain"; import axios from "axios" const API_BASE = import.meta.env.VUE_APP_MKT_API const API_UAW = import.meta.env.VUE_APP_UAW_API const net_id = import.meta.env.VUE_APP_NET_ID const toJson = res => res.json(); const httpPost = async (url, data, token) => { token = token || await 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, token) => { token = token || await 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, token) => { const url = `${API_BASE}/api/asset/${net_id}/${account_address}` return httpGet(url, data, token) } // 获取上架出售得NFTS export const apiHangingState = async (data,account_address) => { const url = `${API_BASE}/api/listing/${net_id}/${account_address}` return httpGet(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 apiLockState = async (account_address,data, token) => { const url = `${API_BASE}/api/market/product/lock/${net_id}/${account_address}` return httpPost(url, data, token) } // 详情 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, {}) } // UAW查询领取 export const apiCecInfo = async(address) => { let res = await axios.get(`${API_UAW}/task/api/cec/info/${address}`) return res.data } // 获取游戏内资产 export const apiHeroList = async(data, token) => { const url = `${API_BASE}/api/ingame/asset/hero/list` return httpPost(url, data, token) } export const apiUnlockOrMint = async (data, token) => { const url = `${API_BASE}/api/nft/stacking/unlock` return httpPost(url, data, token) } export const apiMintNft = async (data, token) => { const url = `${API_BASE}/api/ingame/asset/hero/mint` return httpPost(url, data, token) }