fix
This commit is contained in:
parent
ee652db9be
commit
4cb9067683
23
index.html
23
index.html
@ -10,6 +10,15 @@
|
||||
property="og:description"
|
||||
content="CounterFire.games | Gacha is blinking! Quest and Rewards.Join Counter Fire and Rise of Gacha. Get your gacha and rewards. A new evolution about Web3Gaming."
|
||||
/>
|
||||
<meta
|
||||
name="description"
|
||||
content="CounterFire.games | Gacha is blinking! Quest and Rewards.Join Counter Fire and Rise of Gacha. Get your gacha and rewards. A new evolution about Web3Gaming."
|
||||
/>
|
||||
<meta
|
||||
name="keywords"
|
||||
content="CounterFire;CF;Gamefi;Web3;web3gaming; Cf game;Cf mobile; CounterFire googleplay; CounterFire Appstore;
|
||||
battle royale;token;airdrop;p2e; play to earn, free to play, blockchain game;Arbitrum game;Arbitrum. Cryptocurrency; Crypto;anime game;anime web3 game;Two-dimensional game;shooting game;Anime shooting mobile game"
|
||||
/>
|
||||
<meta property="og:type" content="website" />
|
||||
<meta property="og:url" content="https://www.counterfire.games/" />
|
||||
<meta
|
||||
@ -31,5 +40,19 @@
|
||||
<body>
|
||||
<div id="app"></div>
|
||||
<script type="module" src="/src/main.js"></script>
|
||||
<!-- Google tag (gtag.js) -->
|
||||
<script
|
||||
async
|
||||
src="https://www.googletagmanager.com/gtag/js?id=G-9WFW3HQTR8"
|
||||
></script>
|
||||
<script>
|
||||
window.dataLayer = window.dataLayer || [];
|
||||
function gtag() {
|
||||
dataLayer.push(arguments);
|
||||
}
|
||||
gtag("js", new Date());
|
||||
|
||||
gtag("config", "G-9WFW3HQTR8");
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
5665
package-lock.json
generated
5665
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@ -2,7 +2,6 @@
|
||||
"name": "my-vue-app",
|
||||
"private": true,
|
||||
"version": "0.0.0",
|
||||
"type": "module",
|
||||
"scripts": {
|
||||
"dev": "vite --host --mode dev",
|
||||
"build:dev": "vite build --mode dev",
|
||||
@ -26,6 +25,7 @@
|
||||
"normalize.css": "^8.0.1",
|
||||
"pinia": "^2.0.30",
|
||||
"postcss-px-to-viewport": "^1.1.1",
|
||||
"prerender-spa-plugin-next": "^4.2.3",
|
||||
"process": "^0.11.10",
|
||||
"rollup-plugin-polyfill-node": "^0.12.0",
|
||||
"stream-browserify": "^3.0.0",
|
||||
@ -34,6 +34,9 @@
|
||||
"uuid": "^9.0.0",
|
||||
"video.js": "^8.0.4",
|
||||
"videojs-flash": "^2.2.1",
|
||||
"vite-plugin-pages": "^0.31.0",
|
||||
"vite-plugin-ssr": "^0.4.132",
|
||||
"vite-ssg": "^0.22.2",
|
||||
"vue": "^3.2.45",
|
||||
"vue-3d-loader": "^2.1.5",
|
||||
"vue-router": "^4.1.6",
|
||||
|
BIN
src/assets/img/task/bg-c.png
Normal file
BIN
src/assets/img/task/bg-c.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 500 KiB |
BIN
src/assets/img/task/bg.jpg
Normal file
BIN
src/assets/img/task/bg.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 207 KiB |
@ -327,7 +327,14 @@ import {
|
||||
} from "@/api/User";
|
||||
import { useChainStore } from "@/store/chain";
|
||||
import { useAppStore } from "@/store/app";
|
||||
import { ref, onMounted, watch, reactive, inject } from "vue";
|
||||
import {
|
||||
ref,
|
||||
onMounted,
|
||||
watch,
|
||||
reactive,
|
||||
inject,
|
||||
getCurrentInstance,
|
||||
} from "vue";
|
||||
import { v4 as uuidv4 } from "uuid";
|
||||
import { hasMetamask } from "@/utils/chain.util";
|
||||
import { message, notification } from "ant-design-vue";
|
||||
@ -375,6 +382,15 @@ async function login(event) {
|
||||
}
|
||||
}
|
||||
}
|
||||
const assign = (source, target) => {
|
||||
if (target === undefined || target === null) {
|
||||
throw new TypeError("Cannot convert undefined or null to object");
|
||||
}
|
||||
|
||||
for (let key in target) {
|
||||
source[key] = target[key];
|
||||
}
|
||||
};
|
||||
const updateLogin = async () => {
|
||||
currentTask.value = 2;
|
||||
};
|
||||
@ -427,7 +443,7 @@ const checkUserStatus = async () => {
|
||||
// console.log("Success! UserStatus successfully obtained.");
|
||||
const resu = await UserInfo({ account: AppModule.accountId });
|
||||
if (resu) {
|
||||
Object.assign(userInfo, resu);
|
||||
assign(userInfo, resu);
|
||||
const formatAddress = (address) => {
|
||||
if (address.length >= 15) {
|
||||
return (
|
||||
@ -493,7 +509,7 @@ const handDiscode = async () => {
|
||||
// console.log("Success! UserStatus successfully obtained.");
|
||||
const resu = await UserInfo({ account: AppModule.accountId });
|
||||
if (resu) {
|
||||
Object.assign(userInfo, resu);
|
||||
assign(userInfo, resu);
|
||||
const formatAddress = (address) => {
|
||||
if (address.length >= 15) {
|
||||
return (
|
||||
@ -632,7 +648,7 @@ const checkUserStatustw = async () => {
|
||||
// console.log("Success! UserStatus successfully obtained.");
|
||||
const resu = await UserInfo({ account: AppModule.accountId });
|
||||
if (resu) {
|
||||
Object.assign(userInfo, resu);
|
||||
assign(userInfo, resu);
|
||||
const formatAddress = (address) => {
|
||||
if (address.length >= 15) {
|
||||
return (
|
||||
@ -702,7 +718,7 @@ const handTwitter = async () => {
|
||||
const resu = await UserInfo({ account: AppModule.accountId });
|
||||
if (resu) {
|
||||
// userInfo.value = resq
|
||||
Object.assign(userInfo, resu);
|
||||
assign(userInfo, resu);
|
||||
console.log(userInfo.twitter, "-=-=-userInfo.twitter");
|
||||
const formatAddress = (address) => {
|
||||
if (address.length >= 15) {
|
||||
@ -784,7 +800,7 @@ const handQuote = () => {
|
||||
"Adorable! join with me in @_CounterFire,Bring Gacha home with you \nShe will unveil even more rewards as she bursts out of her shell.\n#CounterFire Now available on Google Play,A new evolution about #Web3Gaming";
|
||||
const url = `https://twitter.com/intent/tweet?text=${encodeURIComponent(
|
||||
text
|
||||
)}&url=https://counterfire.games/?code=${code}`;
|
||||
)}&url=https://www.counterfire.games/?code=${code}`;
|
||||
window.open(url, "_blank", "width=500,height=600");
|
||||
};
|
||||
|
||||
@ -799,36 +815,19 @@ const handQuoteVerification = createDebouncedFunction(async () => {
|
||||
if (resq && resq.status[5] == 1) {
|
||||
isQuote.value = true;
|
||||
quoteLoading.value = false;
|
||||
|
||||
// isClaim.value = true;
|
||||
const resjoin = await getJoin({
|
||||
account: AppModule.accountId,
|
||||
invite_code: route.query.code,
|
||||
});
|
||||
|
||||
console.log(route.query.code, "invite code2");
|
||||
if (resjoin.errcode == 0) {
|
||||
// addNotification("successful");
|
||||
}
|
||||
|
||||
const balance = await chain.chainManager.bc.getBalances(
|
||||
AppModule.accountId
|
||||
);
|
||||
if (balance) {
|
||||
isBalance.value = balance;
|
||||
}
|
||||
if (
|
||||
resq &&
|
||||
balance == 0 &&
|
||||
resq.status.every((status) => status == 1)
|
||||
) {
|
||||
if (resq && (!resq.claim || Number(resq.claim) == 0) && resq.status.every((status) => status == 1)) {
|
||||
isClaim.value = true;
|
||||
isBalance.value = Number(resq.claim);
|
||||
} else {
|
||||
isClaim.value = false;
|
||||
isBalance.value = Number(resq.claim);
|
||||
}
|
||||
let resqd = await Claim({
|
||||
account: AppModule.accountId,
|
||||
claim: balance,
|
||||
});
|
||||
}
|
||||
// console.log(route.query.code, "invite code1");
|
||||
}
|
||||
@ -850,8 +849,7 @@ const handClaim = async () => {
|
||||
isTwitter.value &&
|
||||
isFollowCEBG.value &&
|
||||
isQuote.value &&
|
||||
chain.logined &&
|
||||
isBalance.value == 0
|
||||
chain.logined
|
||||
) {
|
||||
claimLoading.value = true;
|
||||
try {
|
||||
@ -888,12 +886,6 @@ const handClaim = async () => {
|
||||
isClaim.value = false;
|
||||
isBalance.value = 1;
|
||||
claimLoading.value = false;
|
||||
const balance = await chain.chainManager.bc.getBalances(
|
||||
AppModule.accountId
|
||||
);
|
||||
if (balance) {
|
||||
isBalance.value = 1;
|
||||
}
|
||||
}
|
||||
if (resq.errcode !== 0) {
|
||||
claimLoading.value = false;
|
||||
@ -921,7 +913,9 @@ watch(
|
||||
if (chain.logined == true) {
|
||||
currentTask.value = 2;
|
||||
}
|
||||
const resq = await UserStatus({ account: AppModule.accountId });
|
||||
const resq = await UserStatus({
|
||||
account: AppModule.accountId,invite_code: route.query.code
|
||||
});
|
||||
if (resq) {
|
||||
if (chain.logined == true) {
|
||||
currentTask.value = 2;
|
||||
@ -945,26 +939,13 @@ watch(
|
||||
if (resq && resq.status[5] == 1) {
|
||||
isQuote.value = true;
|
||||
}
|
||||
if (newValue == true) {
|
||||
const balance = await chain.chainManager.bc.getBalances(
|
||||
AppModule.accountId
|
||||
);
|
||||
if (balance) {
|
||||
isBalance.value = balance;
|
||||
}
|
||||
if (
|
||||
resq &&
|
||||
balance == 0 &&
|
||||
resq.status.every((status) => status == 1)
|
||||
) {
|
||||
isClaim.value = true;
|
||||
} else {
|
||||
isClaim.value = false;
|
||||
}
|
||||
let resqd = await Claim({
|
||||
account: AppModule.accountId,
|
||||
claim: balance,
|
||||
});
|
||||
|
||||
if (resq && (!resq.claim || Number(resq.claim) == 0) && resq.status.every((status) => status == 1)) {
|
||||
isClaim.value = true;
|
||||
isBalance.value = Number(resq.claim);
|
||||
} else {
|
||||
isClaim.value = false;
|
||||
isBalance.value = Number(resq.claim);
|
||||
}
|
||||
}
|
||||
// if(resq.errcode !== 0){
|
||||
@ -990,7 +971,7 @@ watch(
|
||||
|
||||
if (resu) {
|
||||
// userInfo.value = resq
|
||||
Object.assign(userInfo, resu);
|
||||
assign(userInfo, resu);
|
||||
console.log(userInfo.twitter, "-=-=-userInfo.twitter");
|
||||
const formatAddress = (address) => {
|
||||
if (address.length >= 15) {
|
||||
@ -1031,12 +1012,10 @@ onMounted(async () => {
|
||||
currentTask.value = 2;
|
||||
}
|
||||
|
||||
const resq = await UserStatus({ account: AppModule.accountId });
|
||||
if (JSON.stringify(lastResq.value) === JSON.stringify(resq)) {
|
||||
return;
|
||||
}
|
||||
//lastResq.value = JSON.parse(JSON.stringify(resq));
|
||||
lastResq.value = JSON.parse(JSON.stringify(resq));
|
||||
const resq = await UserStatus({
|
||||
account: AppModule.accountId,invite_code: route.query.code,
|
||||
});
|
||||
|
||||
if (resq) {
|
||||
if (chain.logined == true) {
|
||||
currentTask.value = 2;
|
||||
@ -1061,16 +1040,12 @@ onMounted(async () => {
|
||||
isQuote.value = true;
|
||||
}
|
||||
|
||||
const balance = await chain.chainManager.bc.getBalances(
|
||||
AppModule.accountId
|
||||
);
|
||||
if (balance) {
|
||||
isBalance.value = balance;
|
||||
}
|
||||
if (resq && balance == 0 && resq.status.every((status) => status == 1)) {
|
||||
if (resq && (!resq.claim || Number(resq.claim) == 0) && resq.status.every((status) => status == 1)) {
|
||||
isClaim.value = true;
|
||||
isBalance.value = Number(resq.claim);
|
||||
} else {
|
||||
isClaim.value = false;
|
||||
isBalance.value = Number(resq.claim);
|
||||
}
|
||||
if (resq && resq.status.every((status) => status == 1)) {
|
||||
const res = await getJoin({
|
||||
@ -1083,7 +1058,7 @@ onMounted(async () => {
|
||||
|
||||
if (resu) {
|
||||
// userInfo.value = resq
|
||||
Object.assign(userInfo, resu);
|
||||
assign(userInfo, resu);
|
||||
const formatAddress = (address) => {
|
||||
if (address.length >= 15) {
|
||||
return (
|
||||
|
@ -292,6 +292,16 @@ const formattedData = computed(() => {
|
||||
const typesInRegular = computed(() =>
|
||||
userInfo.regular.map((item) => item.type).join("<br/>")
|
||||
);
|
||||
|
||||
const assign = (source, target)=>{
|
||||
if (target === undefined || target === null) {
|
||||
throw new TypeError('Cannot convert undefined or null to object')
|
||||
}
|
||||
|
||||
for (let key in target) {
|
||||
source[key] = target[key]
|
||||
}
|
||||
}
|
||||
const totalRegularPoints = computed(() =>
|
||||
userInfo.regular.reduce((total, item) => total + item.point, 0)
|
||||
);
|
||||
@ -328,7 +338,7 @@ const handleCopy = () => {
|
||||
watch(
|
||||
() => chain.logined,
|
||||
async (newValue, oldValue) => {
|
||||
console.log("logined changed from", oldValue, "to", newValue);
|
||||
// console.log("logined changed from", oldValue, "to", newValue);
|
||||
const res = await getLeaderboard({ offset: 0, limit: 100 });
|
||||
console.log(res);
|
||||
if (res) {
|
||||
@ -342,7 +352,8 @@ watch(
|
||||
console.log(data.value, "ff");
|
||||
}
|
||||
const userStatus = await UserStatus({ account: AppModule.accountId });
|
||||
if (userStatus && userStatus.status.every((status) => status == 1)) {
|
||||
|
||||
if ( userStatus && userStatus.claim && Number(userStatus.claim) !== 0 && userStatus.status.every((status) => status == 1)) {
|
||||
isStatus.value = true;
|
||||
const resjoin = await getJoin({
|
||||
account: AppModule.accountId,
|
||||
@ -353,7 +364,7 @@ watch(
|
||||
|
||||
if (resq) {
|
||||
// userInfo.value = resq
|
||||
Object.assign(userInfo, resq);
|
||||
assign(userInfo, resq);
|
||||
inviteLink.value = `${import.meta.env.VUE_APP_GPAL_API}/?code=${
|
||||
userInfo.invite_code
|
||||
}`;
|
||||
@ -376,14 +387,14 @@ onMounted(async () => {
|
||||
console.log(data.value, "ff");
|
||||
}
|
||||
const resStatus = await UserStatus({ account: AppModule.accountId });
|
||||
if (resStatus && resStatus.status.every((status) => status == 1)) {
|
||||
if ( resStatus && resStatus.claim && Number(resStatus.claim) !== 0 && resStatus.status.every((status) => status == 1)) {
|
||||
isStatus.value = true;
|
||||
}
|
||||
const resq = await UserInfo({ account: AppModule.accountId });
|
||||
|
||||
if (resq) {
|
||||
// userInfo.value = resq
|
||||
Object.assign(userInfo, resq);
|
||||
assign(userInfo, resq);
|
||||
inviteLink.value = `${import.meta.env.VUE_APP_GPAL_API}/?code=${
|
||||
userInfo.invite_code
|
||||
}`;
|
||||
|
@ -23,6 +23,9 @@ notification.config({
|
||||
rtl: true,
|
||||
});
|
||||
const app = createApp(App);
|
||||
|
||||
app.config.globalProperties.$log = console.log.bind(console);
|
||||
|
||||
app
|
||||
.use(pinia)
|
||||
.use(VueClipboard)
|
||||
|
@ -3,6 +3,8 @@ import { message } from 'ant-design-vue'
|
||||
|
||||
import glodata from '@/store/user_global';
|
||||
|
||||
// console.log(import.meta.env);
|
||||
|
||||
const service = axios.create({
|
||||
baseURL: import.meta.env.VUE_APP_BASE_API2,
|
||||
timeout: 10000
|
||||
@ -11,7 +13,22 @@ const service = axios.create({
|
||||
// Request interceptors
|
||||
service.interceptors.request.use(
|
||||
(config) => {
|
||||
// Removed the token handling
|
||||
// Add X-Access-Token header to every request, you can add other custom headers here
|
||||
if (glodata.token) {
|
||||
if (config.url) {
|
||||
if (config.url.indexOf('?') > 0) {
|
||||
config.url += `&token=${glodata.token}`
|
||||
} else {
|
||||
config.url += `?token=${glodata.token}`
|
||||
}
|
||||
if (config.url.indexOf('account=') < 0 && glodata.accountId) {
|
||||
config.url += `&account=${glodata.accountId}`
|
||||
}
|
||||
if (config.url.indexOf('net_id=') < 0 && glodata.chainId) {
|
||||
config.url += `&net_id=${glodata.chainId}`
|
||||
}
|
||||
}
|
||||
}
|
||||
config.headers['Content-Type'] = 'application/json'
|
||||
return config
|
||||
},
|
||||
@ -23,17 +40,18 @@ service.interceptors.request.use(
|
||||
// Response interceptors
|
||||
service.interceptors.response.use(
|
||||
(response) => {
|
||||
// Some example codes here:
|
||||
// code == 0: success
|
||||
// code == 10: username or password is incorrect
|
||||
// You can change this part for your own usage.
|
||||
const res = response.data
|
||||
if (res.errcode) {
|
||||
// Uncomment this block if you want to show an error message
|
||||
/*
|
||||
Message({
|
||||
message: res.errmsg || 'Error',
|
||||
type: 'error',
|
||||
duration: 5 * 1000
|
||||
})
|
||||
*/
|
||||
// return Promise.reject(new Error(res.errmsg || 'Error'))
|
||||
// Message({
|
||||
// message: res.errmsg || 'Error',
|
||||
// type: 'error',
|
||||
// duration: 5 * 1000
|
||||
// })
|
||||
// return Promise.reject(new Error(res.errmsg || 'Error'))
|
||||
} else {
|
||||
return response.data
|
||||
}
|
||||
|
@ -54,7 +54,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="bg">
|
||||
<img src="@/assets/img/task/bg.png" alt="" />
|
||||
<img src="@/assets/img/task/bg.jpg" alt="" />
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
@ -3,6 +3,7 @@ import vue from "@vitejs/plugin-vue";
|
||||
// import requireTransform from "vite-plugin-require-transform";
|
||||
// 如果编辑器提示 path 模块找不到,则可以安装一下 @types/node -> npm i @types/node -D
|
||||
import { resolve } from "path";
|
||||
import prerender from 'vite-plugin-prerender'
|
||||
import nodePolyfills from 'rollup-plugin-polyfill-node';
|
||||
|
||||
// https://vitejs.dev/config/
|
||||
|
Loading…
x
Reference in New Issue
Block a user