|
@@ -10,41 +10,38 @@
|
|
|
<div class="box-item-lf">
|
|
|
<svg-icon style="width: 50px; height: 50px;" name="pledge" />
|
|
|
<div class="box-item-text">
|
|
|
- <div>300W</div>
|
|
|
+ <div>{{ userData?.security_amount >= 10000 ? (userData.security_amount / 10000).toFixed(0) + 'W' : userData?.security_amount || 0 }}</div>
|
|
|
<div>質押數</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="box-item-ri">
|
|
|
<svg-icon style="width: 50px; height: 50px;" name="available" />
|
|
|
<div class="box-item-text">
|
|
|
- <div>0.0STT</div>
|
|
|
+ <div>{{userData?.stt || 0}} STT</div>
|
|
|
<div>可領取數</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
- <div class="deadline">收益週期截止時間:2025-12-01 23:59:59</div>
|
|
|
+ <div class="deadline">收益週期截止時間:{{userData?.end_time}}</div>
|
|
|
<div class="btn">
|
|
|
- <van-button class="activate" color="#4765DD" :disabled="true">激活創世節點</van-button>
|
|
|
- <van-button class="receive" color="#4765DD">領取STT</van-button>
|
|
|
+ <van-button class="activate" color="#4765DD" :disabled="isDisabled" @click="changeactivate">激活創世節點</van-button>
|
|
|
+ <van-button class="receive" color="#4765DD" :disabled="isLQDisabled" @click="collect">領取STT</van-button>
|
|
|
</div>
|
|
|
<div class="list-box">
|
|
|
<div class="receive-record">領取記錄</div>
|
|
|
<div class="list-ul">
|
|
|
- <div class="list-li" v-for="item in 40">
|
|
|
- <div>2025-06-16 15:22:36</div>
|
|
|
- <div>49.260000000STT</div>
|
|
|
- </div>
|
|
|
+ <van-pull-refresh v-model="loading" @refresh="onRefresh" style="height:100%">
|
|
|
+ <template v-if="list && list.length > 0 && !noMore">
|
|
|
+ <div class="list-li" v-for="(item,index) in list" :key="index">
|
|
|
+ <div>{{item.created_at}}</div>
|
|
|
+ <div>{{item.money_amount}} STT</div>
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ <template v-if="noMore">
|
|
|
+ <view style="text-align: center;">暂无记录!</view>
|
|
|
+ </template>
|
|
|
+ </van-pull-refresh>
|
|
|
</div>
|
|
|
- <!-- <van-pull-refresh v-model="refreshing" @refresh="onRefresh">
|
|
|
- <van-list
|
|
|
- v-model:loading="loading"
|
|
|
- :finished="finished"
|
|
|
- finished-text="没有更多了"
|
|
|
- @load="onLoad"
|
|
|
- >
|
|
|
- <van-cell v-for="item in list" :key="item" :title="item" />
|
|
|
- </van-list>
|
|
|
- </van-pull-refresh> -->
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
@@ -52,34 +49,80 @@
|
|
|
</template>
|
|
|
|
|
|
<script setup>
|
|
|
- const list = ref([]);
|
|
|
- const loading = ref(false);
|
|
|
- const finished = ref(false);
|
|
|
- const refreshing = ref(false);
|
|
|
- const onLoad = () => {
|
|
|
- setTimeout(() => {
|
|
|
- if (refreshing.value) {
|
|
|
- list.value = [];
|
|
|
- refreshing.value = false;
|
|
|
- }
|
|
|
- for (let i = 0; i < 10; i++) {
|
|
|
- list.value.push(list.value.length + 1);
|
|
|
- }
|
|
|
- loading.value = false;
|
|
|
- if (list.value.length >= 40) {
|
|
|
- finished.value = true;
|
|
|
- }
|
|
|
- }, 1000);
|
|
|
- };
|
|
|
+import { userNode,nodeActive,receiveRecord,receiveReward } from '@/api/path/jdfh.api'
|
|
|
+import { useWalletStore } from "@/stores/modules/walletStore";
|
|
|
+import { AES_CBC_ENCRYPT } from '@/utils/crypto';
|
|
|
+const walletStore = useWalletStore();
|
|
|
|
|
|
- const onRefresh = () => {
|
|
|
- // 清空列表数据
|
|
|
- finished.value = false;
|
|
|
- // 重新加载数据
|
|
|
- // 将 loading 设置为 true,表示处于加载状态
|
|
|
- loading.value = true;
|
|
|
- onLoad();
|
|
|
- };
|
|
|
+const userData = ref({});
|
|
|
+const isDisabled = ref(true);
|
|
|
+const isLQDisabled = ref(true);
|
|
|
+const list = ref([]);
|
|
|
+const noMore = ref(false);
|
|
|
+const loading = ref(false);
|
|
|
+
|
|
|
+let {ciphertext, iv} = AES_CBC_ENCRYPT(walletStore.privateKey);
|
|
|
+
|
|
|
+// 获取节点数据
|
|
|
+const getuserNode = async () => {
|
|
|
+ const res = await userNode({address:walletStore.account});
|
|
|
+ if(res.ret){
|
|
|
+ userData.value = res.data;
|
|
|
+ isDisabled.value = res.data.is_active;
|
|
|
+ const sttValue = Number(res.data?.stt);
|
|
|
+ isLQDisabled.value = !(sttValue > 0 && !isNaN(sttValue));
|
|
|
+ }
|
|
|
+}
|
|
|
+// 激活
|
|
|
+const changeactivate = async () => {
|
|
|
+ const res = await nodeActive({address:walletStore.account});
|
|
|
+ if(res.ret){
|
|
|
+ userData.value = res.data;
|
|
|
+ isDisabled.value = res.data.is_active;
|
|
|
+ const sttValue = Number(res.data?.stt);
|
|
|
+ isLQDisabled.value = !(sttValue > 0 && !isNaN(sttValue));
|
|
|
+ setTimeout(()=>{
|
|
|
+ getuserNode();
|
|
|
+ getreciveRecord();
|
|
|
+ },500)
|
|
|
+ }
|
|
|
+}
|
|
|
+// 查询用户领取记录
|
|
|
+const getreciveRecord = async () => {
|
|
|
+ const res = await receiveRecord({address:walletStore.account});
|
|
|
+ if(res.ret){
|
|
|
+ list.value = res.data.list;
|
|
|
+ if(res.data.list.length == 0){
|
|
|
+ noMore.value = true;
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+// 领取
|
|
|
+const collect = async () => {
|
|
|
+ let params = {
|
|
|
+ node_id:userData.value?.id,
|
|
|
+ address:walletStore.account,
|
|
|
+ key:ciphertext,
|
|
|
+ _n:iv
|
|
|
+ }
|
|
|
+ const res = await receiveReward(params);
|
|
|
+ if(res.ret){
|
|
|
+ setTimeout(()=>{
|
|
|
+ getuserNode();
|
|
|
+ getreciveRecord();
|
|
|
+ },500)
|
|
|
+ }
|
|
|
+}
|
|
|
+const onRefresh = () => {
|
|
|
+ setTimeout(() => {
|
|
|
+ getreciveRecord();
|
|
|
+ loading.value = false;
|
|
|
+ }, 1000);
|
|
|
+};
|
|
|
+onMounted(async ()=>{
|
|
|
+ getuserNode();
|
|
|
+ getreciveRecord();
|
|
|
+})
|
|
|
</script>
|
|
|
|
|
|
<style lang="less" scoped>
|