diff --git a/src/views/home/boxBtm.vue b/src/views/home/boxBtm.vue index 274b552..3371bfe 100644 --- a/src/views/home/boxBtm.vue +++ b/src/views/home/boxBtm.vue @@ -49,7 +49,7 @@

Invite friends to Boost,

Earn more rewards

-
+
2
Invite friends to Boost
@@ -93,6 +93,7 @@ export default { token: null, boxList: [], boxData: {}, + userData: {}, } }, mounted() { @@ -111,6 +112,21 @@ export default { this.boxList = res.data.data this.boxData = res.data.data[0] }, + // 复制助力链接 + copyLink(data) { + this.userData = JSON.parse(localStorage.getItem("userData")) + // console.log(data, this.userData.code) + // return + let url = `http://192.168.100.216:8030/home/new=${this.userData.code}/box=${data.shareCode}/id=${data.id}` + let oInput = document.createElement("input"); + oInput.value = url; + document.body.appendChild(oInput); + oInput.select(); + document.execCommand("Copy"); + oInput.className = "oInput"; + oInput.style.display = "none"; + this.$message.success("Copy succeeded"); + }, }, }; diff --git a/src/views/home/index.vue b/src/views/home/index.vue index d907be0..3373d52 100644 --- a/src/views/home/index.vue +++ b/src/views/home/index.vue @@ -825,17 +825,64 @@ export default { // 获取路由宝箱助力 async helpBtn() { if (this.$route.params.box != undefined) { - let boxId = this.$route.params.box.split("box="); - if (boxId[1] != "undefined") { + let boxCode = this.$route.params.box.split("box="); + let boxId = this.$route.params.boxId.split("id="); + if (boxCode[1] != "undefined") { + // 查询宝箱助力记录 + this.getHelpBoxLog(); + let boxState = await this.initBoxState(boxCode[1], boxId[1]) + console.log('助力状态', boxState) + // 1、助力次数是否用完 + if(bosState.userCurrent < bosState.userMax) { + // 2、宝箱助力次数是否上限 + if(chestCurrent < chestMax) { + // 3、是否已经助力此宝箱 + if(enhanced == 0) { + // 是否链接钱包 + if(await isWalletConnected()) { + // 助力上链签名 + let address = localStorage.getItem('myAddress') + let helpRes = await sendHelp(address, boxCode[1]) + // 轮询是否助力成功 + if(helpRes) { + let serTimeId = setInterval(async () => { + let res = await this.$axios.post( + "/api/chest/enhance", + { code: boxCode[1] }, + { headers: { Authorization: `Bearer ${this.token}` } } + ); + if (res.data.errcode == 0) { + this.helpAmount = res.data.data.score; + this.isHelpSuccess = true; + clearInterval(serTimeId) + } + }, 2000) + } + } else { + this.walletDialogVisible = true + } + } else { + this.$message.error('Already helped this treasure chest') + } + } else { + this.$message.error('The number of treasure chest boosts has been capped') + } + } else { + this.$message.error('The number of assists for the day has been capped') + } + + + + return if(await isWalletConnected()) { // let address = localStorage.getItem('myAddress') - // let helpRes = await sendHelp(address, boxId[1]) + // let helpRes = await sendHelp(address, boxCode[1]) this.helpDialogVisible = true; this.getHelpBoxLog(); let res = await this.$axios.post( "/api/chest/enhance", - { code: boxId[1] }, + { code: boxCode[1] }, { headers: { Authorization: `Bearer ${this.token}` } } ); if (res.data.errcode == 0) { @@ -852,6 +899,12 @@ export default { } }, + // 助力状态查询 + async initBoxState(code,chestId) { + let res = await this.$axios.post('/api/chest/enhance/state',{code: code, chestId: chestId, },{headers: { Authorization: `Bearer ${this.token}` }}) + return res.data.data + }, + // 领取助力奖励 || 判断是否是新用户 async helpConfirm() { if(this.$route.params.name != undefined) {