Commit a30223ad by haojie

1

parent a5f84f81
<svg width="25" height="25" viewBox="0 0 25 25" fill="none" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<rect width="25" height="25" rx="5" fill="url(#pattern0)"/>
<defs>
<pattern id="pattern0" patternContentUnits="objectBoundingBox" width="1" height="1">
<use xlink:href="#image0_1451_6005" transform="scale(0.00195312)"/>
</pattern>
<image id="image0_1451_6005" width="512" height="512" xlink:href="data:image/png;base64,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"/>
</defs>
</svg>
\ No newline at end of file
...@@ -34,6 +34,9 @@ ...@@ -34,6 +34,9 @@
margin-left: 12px; margin-left: 12px;
} }
} }
& > :not(:first-child) {
margin-top: 12px;
}
} }
} }
} }
......
...@@ -3,10 +3,12 @@ import { useFoxDialog } from '@/store/dialog'; ...@@ -3,10 +3,12 @@ import { useFoxDialog } from '@/store/dialog';
import './index.less'; import './index.less';
import CloseSvg from '@/assets/svg/dialog/close.svg'; import CloseSvg from '@/assets/svg/dialog/close.svg';
import FoxSvg from '@/assets/svg/dialog/fox.svg'; import FoxSvg from '@/assets/svg/dialog/fox.svg';
import BkSvg from '@/assets/img/bk_wallet.png';
import { MessagePlugin } from 'tdesign-vue-next'; import { MessagePlugin } from 'tdesign-vue-next';
import Loading from '../Loading'; import Loading from '../Loading';
import { useFoxWallet } from '@/store/FoxWallet'; import { useFoxWallet } from '@/store/FoxWallet';
import { useI18n } from 'vue-i18n'; import { useI18n } from 'vue-i18n';
import { Connect_Fox_tp_wallet, Connect_BK_wallet } from '@/utils/ethers';
export default defineComponent({ export default defineComponent({
setup(props) { setup(props) {
const { $state: foxDialog } = useFoxDialog(); const { $state: foxDialog } = useFoxDialog();
...@@ -20,8 +22,13 @@ export default defineComponent({ ...@@ -20,8 +22,13 @@ export default defineComponent({
{ {
icon: <FoxSvg></FoxSvg>, icon: <FoxSvg></FoxSvg>,
label: 'MetaMask Wallet', label: 'MetaMask Wallet',
value: '', value: 'fox',
}, },
// {
// icon: <img src={BkSvg} alt="" />,
// label: 'BitKeep',
// value: 'bk',
// },
], ],
}); });
const dialogHead = () => { const dialogHead = () => {
...@@ -30,23 +37,19 @@ export default defineComponent({ ...@@ -30,23 +37,19 @@ export default defineComponent({
const closeIcon = () => { const closeIcon = () => {
return <CloseSvg></CloseSvg>; return <CloseSvg></CloseSvg>;
}; };
// 连接小狐狸或tp
const getConnectFox = async (tooltip: boolean) => { const getConnectFox = async (tooltip: boolean) => {
// 这里是用户主动连接,临时存储到本地,刷新页面时自动赋值 // 这里是用户主动连接,临时存储到本地,刷新页面时自动赋值
let eth: any = window; let eth: any = window;
try { try {
const accounts = await eth.ethereum.request({ // 连接小狐狸或tp
method: 'eth_requestAccounts', let address_list = await Connect_Fox_tp_wallet();
}); if (address_list.address) {
if (accounts[0]) { userAddress.address = address_list.address;
userAddress.address = accounts[0]; userAddress.MaskAddress = address_list.MaskAddress;
userAddress.MaskAddress = `${accounts[0].slice( userAddress.value = 'fox';
0, // 记录上次连接的钱包
6 window.sessionStorage.setItem('ConnectFox', 'fox');
)}...${accounts[0].slice(
accounts[0].length - 4,
accounts[0].length
)}`;
window.sessionStorage.setItem('ConnectFox', 'true');
} }
if (tooltip) { if (tooltip) {
MessagePlugin.closeAll(); MessagePlugin.closeAll();
...@@ -65,12 +68,35 @@ export default defineComponent({ ...@@ -65,12 +68,35 @@ export default defineComponent({
console.log(e); console.log(e);
} }
}; };
const CustConnectBk = async (tooltip: boolean) => {
try {
let address_list: any = await Connect_BK_wallet();
if (address_list.address) {
userAddress.address = address_list.address;
userAddress.MaskAddress = address_list.MaskAddress;
userAddress.value = 'bk';
// 记录上次连接的钱包
window.sessionStorage.setItem('ConnectFox', 'bk');
if (tooltip) {
MessagePlugin.closeAll();
MessagePlugin.success(t('header.connectSuccess'));
}
}
} catch (e) {
console.log(e);
}
};
// 连接钱包 // 连接钱包
const ToConnectWallet = async (item: any) => { const ToConnectWallet = async (item: any) => {
try { try {
loading.value = false; loading.value = false;
if (item.value == 'fox') {
// 连接钱包--主动连接--需要提示文字 // 连接钱包--主动连接--需要提示文字
getConnectFox(true); getConnectFox(true);
} else if (item.value == 'bk') {
// 连接bk
CustConnectBk(true);
}
} catch (e) { } catch (e) {
console.log(e); console.log(e);
loading.value = false; loading.value = false;
...@@ -79,9 +105,12 @@ export default defineComponent({ ...@@ -79,9 +105,12 @@ export default defineComponent({
// 自动连接-- // 自动连接--
const custConnect = () => { const custConnect = () => {
let ConnectFox = window.sessionStorage.getItem('ConnectFox'); let ConnectFox = window.sessionStorage.getItem('ConnectFox');
if (ConnectFox == 'true') { if (ConnectFox == 'fox') {
// 不显示提示文字 // 不显示提示文字
getConnectFox(false); getConnectFox(false);
} else if (ConnectFox == 'bk') {
// 连接bk
CustConnectBk(false);
} }
}; };
onMounted(() => { onMounted(() => {
......
...@@ -14,7 +14,7 @@ import { ...@@ -14,7 +14,7 @@ import {
} from '@/utils/api/BlindBox'; } from '@/utils/api/BlindBox';
import { useRoute } from 'vue-router'; import { useRoute } from 'vue-router';
import { useI18n } from 'vue-i18n'; import { useI18n } from 'vue-i18n';
import { fox_EtherPay } from '@/utils/ethers'; import { fox_EtherPay, bk_EtherPay } from '@/utils/ethers';
import Loading from '@/components/Loading'; import Loading from '@/components/Loading';
export default defineComponent({ export default defineComponent({
props: { props: {
...@@ -92,6 +92,7 @@ export default defineComponent({ ...@@ -92,6 +92,7 @@ export default defineComponent({
} }
} }
}; };
// 小狐狸-tp支付
const send_token = async () => { const send_token = async () => {
let hash: any = await fox_EtherPay(FoxWallet.to, props.info.price); let hash: any = await fox_EtherPay(FoxWallet.to, props.info.price);
if (hash) { if (hash) {
...@@ -100,14 +101,27 @@ export default defineComponent({ ...@@ -100,14 +101,27 @@ export default defineComponent({
recharge(hash, parseInt(props.info.price)); recharge(hash, parseInt(props.info.price));
} }
}; };
// bk-支付
const send_bk_token = async () => {
let hash: any = await bk_EtherPay(FoxWallet.to, props.info.price);
if (hash) {
UserHash.value = hash;
// 发送充值信息
recharge(hash, parseInt(props.info.price));
}
};
// 支付 // 支付
const Payment = () => { const Payment = () => {
if (!FoxWallet.to) { if (!FoxWallet.to) {
MessagePlugin.warning(t('raffle.Missingpayment')); MessagePlugin.warning(t('raffle.Missingpayment'));
return; return;
} }
if (FoxWallet.value == 'fox') {
// ethers // ethers
send_token(); send_token();
} else if (FoxWallet.value == 'bk') {
send_bk_token();
}
}; };
const getUserBuyStatus = async () => { const getUserBuyStatus = async () => {
try { try {
......
...@@ -6,6 +6,7 @@ export const useFoxWallet = defineStore('FoxWallet', { ...@@ -6,6 +6,7 @@ export const useFoxWallet = defineStore('FoxWallet', {
address: '', address: '',
MaskAddress: '', MaskAddress: '',
to: '', to: '',
value: '',
}; };
}, },
}); });
import { ethers } from 'ethers'; import { ethers } from 'ethers';
import { MessagePlugin } from 'tdesign-vue-next'; import { MessagePlugin } from 'tdesign-vue-next';
import ERC20ABI from './ERC20ABI.json'; import ERC20ABI from './ERC20ABI.json';
// 发起交易 let eth: any = window;
// 发起交易--小狐狸-tp支付
export const fox_EtherPay = async (to: string, price: number) => { export const fox_EtherPay = async (to: string, price: number) => {
try { try {
let eth: any = window;
// 代币地址 // 代币地址
const USDT = '0xc5a25e92e691635BDd6DF2e904633Dc3152360cD'; const USDT = '0xc5a25e92e691635BDd6DF2e904633Dc3152360cD';
const provider = new ethers.providers.Web3Provider(eth.ethereum); const provider = new ethers.providers.Web3Provider(eth.ethereum);
...@@ -34,49 +35,48 @@ export const fox_EtherPay = async (to: string, price: number) => { ...@@ -34,49 +35,48 @@ export const fox_EtherPay = async (to: string, price: number) => {
} }
}; };
export interface MyWalletOptions { export const bk_EtherPay = async (to: string, price: number) => {
chains: any[]; try {
shimDisconnect?: boolean; } catch (e) {
} console.log(e);
// const TokenPocket = ({ chains, shimDisconnect }: MyWalletOptions) => { }
// let eth: any = window; };
// let tpEtheruem = typeof eth !== 'undefined' ? eth.ethereum : undefined; // 是否安装小狐狸钱包插件
// const isTokenPocketInjected = export const CanNotDownLoadFoxWallet = () => {};
// typeof tpEtheruem !== 'undefined' && tpEtheruem?.isTokenPocket === true;
// const shouldUseWalletConnect = !isBrowser && !isTokenPocketInjected; // 连接小狐狸或tp钱包
// return { export const Connect_Fox_tp_wallet = async () => {
// id: 'Token Pocket', const accounts = await eth.ethereum.request({
// name: 'Token Pocket', method: 'eth_requestAccounts',
// iconUrl: TokenpocketSVG, });
// iconBackground: 'transparent', return address_filter(accounts);
// installed: !shouldUseWalletConnect ? isTokenPocketInjected : undefined, };
// downloadUrls: {
// android: // 连接bk钱包
// 'https://play.google.com/store/apps/details?id=vip.mytokenpocket', export const Connect_BK_wallet = async () => {
// ios: 'https://apps.apple.com/cn/app/tokenpocket-trusted-wallet/id1436028697', const provider = eth.bitkeep && eth.bitkeep.ethereum;
// browserExtension: if (!provider) {
// 'https://chrome.google.com/webstore/detail/tokenpocket/mfgccjchihfkkindfppnaooecgfneiii', MessagePlugin.warning('尚未安装BitKeep');
// qrCode: return;
// 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAARgAAAEYAQMAAAC9QHvPAAAABlBMVEX///8AAABVwtN+AAACj0lEQVRo3uWawbHDIAxEN+ODj5RAKe4s5nfmUlyCjz4w1tcukNSAwkwSC54OCAkkHERti7FdeCNZcXmDP/x5x77cWWMlLnMDWK/NKrK5woHVBO9254NKszLZnvXCy7yxi7/PcmUX8uFW+QHmzW6zE3Zj+6vuBDUEg8XOXc59p+Nl3oEfYJrPF8ayC5scoALoPj8rY2wXl9rn7t3P+hU0FpfpbSvLMIsZ1z1/hjAtw+7dLj6cLqbjDeRiPncKcZlv+LZ4loJ6nfMRYE6GT4plH985/gB9wyLMCI/NIMkkhbHc8yjapttnSsZnOdIH7HX1BxlCCoDmHpbBeoI+j8H07mx1PbdntUmZ7zGb+H3Cg9o/UpBzb8EZ//QSBzIWlYq58CDZtAy0utybsRrHDwA8c6UNxGXslBUeANqSP8kHXFO58aRMa1p3ePhChrioQCEyw662uulE5aZmKvwwomFipq9wLhVy7uO9WFegdliGEq1gLHHY9XI3f0YOqQCYkmEFrunCmSpBhsDOcU8sAjPdPvBxgDnkS8XPuKCxqRmXH4hTbkwhlzESl+Exa3f6bsmj6Bu3UNuczKJriHZ/WOjcqs3F9DwqNvMwasnQPgxsAN3nncOcjH9rdUdKqPCVIQQHZzyrSFzuUz5PjsttdreHMiUDjC3ZzlHQqqgrIz8Mzui1RrtWU8lOoVBBlpuSGXsU575j7QcQk0XzpnUPy/TWwld3p+NsUv3uI3Myi7H1PcpGUtXuJfROKjLT3lvxbBIjn6dg3T7ApEzLliRxumLk096UYUVn8KpQDetwOobPbyz85mb2mrybwviPR237s0VmAOg/A94NZGO3LoipDUzLGBsZMx2z4/LlmyiHZX64/QPNL9thE1XE0AAAAABJRU5ErkJggg==', }
// }, // 连接钱包
// createConnector: () => { const accounts = await provider.request({ method: 'eth_requestAccounts' });
// const connector = shouldUseWalletConnect return address_filter(accounts);
// ? getWalletConnectConnector({ chains }) };
// : new InjectedConnector({ chains, options: { shimDisconnect } });
// return { // 地址过滤
// connector, export const address_filter = (accounts: string[]) => {
// mobile: { if (accounts && accounts[0]) {
// getUri: shouldUseWalletConnect return {
// ? async () => { address: accounts[0],
// const connectorInfo: any = await connector.getProvider(); MaskAddress: `${accounts[0].slice(0, 6)}...${accounts[0].slice(
// return `tpoutside://wc?uri=${encodeURIComponent( accounts[0].length - 4,
// connectorInfo?.connector?.uri accounts[0].length
// )}`; )}`,
// } };
// : undefined, }
// }, return {
// }; address: '',
// }, MaskAddress: '',
// }; };
// }; };
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment