|
@@ -1,152 +1,187 @@
|
|
|
<template>
|
|
|
<view class="page">
|
|
|
<!-- 顶部黄色背景 -->
|
|
|
- <view class="top-bg"></view>
|
|
|
-
|
|
|
+ <PageHeader title="" class="PageHeader">
|
|
|
+ <template slot="center">
|
|
|
+ 任务中心
|
|
|
+ </template>
|
|
|
+ </PageHeader>
|
|
|
+ <view class="occupyHigh"></view>
|
|
|
<!-- 内容区域 -->
|
|
|
<view class="content-area">
|
|
|
- <!-- 彩豆余额展示区 -->
|
|
|
- <view class="bean-balance">
|
|
|
+ <!-- 星源余额展示区 -->
|
|
|
+ <view class="person-info">
|
|
|
+ <view class="person-info-left">
|
|
|
+ <CircleAvatar class="avator" v-if="myinfo.avator" :src="myinfo.avator"></CircleAvatar>
|
|
|
+ <view class="title-area">
|
|
|
+ <text class="my-bean-title">我的星源</text>
|
|
|
+ <view class="bean-number">
|
|
|
+ <image src="@/static/me/job/wd_icon_xingyuan.png"></image> {{ num_gmd }}
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <view class="exchange-btn" @click="openNicknamePopUpWindow()">兑换</view>
|
|
|
+ </view>
|
|
|
+ <!-- 星源余额展示区 -->
|
|
|
+ <!-- <view class="bean-balance" >
|
|
|
<view class="balance-header">
|
|
|
<view class="title-area">
|
|
|
<view class="yellow-dot"></view>
|
|
|
- <text class="my-bean-title">我的彩豆</text>
|
|
|
+ <text class="my-bean-title">我的星源</text>
|
|
|
</view>
|
|
|
<view class="exchange-btn" @click="showExchangePopup">兑换</view>
|
|
|
</view>
|
|
|
<view class="bean-number">{{ num_gmd }}</view>
|
|
|
+ </view> -->
|
|
|
+ <view class="starWishCheckIn">
|
|
|
+ <image src="@/static/me/job/rw_wenzi_01.png" class="title"></image>
|
|
|
+ <view class="card purple-card">
|
|
|
+ <view class="card-title">初次见面礼</view>
|
|
|
+ <view class="card-desc">完善个人资料达到{{ newer_bfb }}</view>
|
|
|
+ <view class="card-btn card-reward ">+100星源</view>
|
|
|
+ </view>
|
|
|
+ <view class="card yellow-card">
|
|
|
+ <view class="card-title">每日签到</view>
|
|
|
+ <view class="card-desc">签到领奖励,快来签到吧!</view>
|
|
|
+ <view class="card-btn sign-btn" @click="opencheckInPopUpWindow()">立即签到</view>
|
|
|
+ </view>
|
|
|
</view>
|
|
|
-
|
|
|
<!-- 星愿打卡区域 -->
|
|
|
- <view class="sign-cards">
|
|
|
+ <!-- <view class="sign-cards" v-if="false">
|
|
|
<view class="card purple-card">
|
|
|
<view class="card-title">初次见面礼</view>
|
|
|
<view class="card-desc">完善个人资料可得</view>
|
|
|
- <view class="card-reward">奖励+100彩豆</view>
|
|
|
+ <view class="card-reward">奖励+100星源</view>
|
|
|
<view class="card-progress">{{ newer_bfb }}</view>
|
|
|
</view>
|
|
|
<view class="card yellow-card">
|
|
|
<view class="card-title">每日签到</view>
|
|
|
<view class="card-desc">连续签到奖励更多</view>
|
|
|
<view class="sign-btn" @click="showSignPopup">立即签到</view>
|
|
|
+ <view class="sign-btn" @click="opencheckInPopUpWindow()">立即签到</view>
|
|
|
</view>
|
|
|
- </view>
|
|
|
+ </view> -->
|
|
|
+
|
|
|
|
|
|
<!-- 每日任务列表 -->
|
|
|
- <view class="task-list">
|
|
|
+ <view class="task-list-box">
|
|
|
<view class="task-header">
|
|
|
- <text class="task-title">每日任务</text>
|
|
|
- <text class="task-subtitle">获取免费彩豆</text>
|
|
|
+ <image src="@/static/me/job/rw_wenzi_02.png"></image>
|
|
|
+ <text class="task-subtitle">(获取免费星源)</text>
|
|
|
</view>
|
|
|
|
|
|
<!-- 任务项列表 -->
|
|
|
+ <view class="task-item" v-for="(item, index) in taskList" :key="index">
|
|
|
+ <view class="task-info">
|
|
|
+ <image :src="item.image"></image>
|
|
|
+ <view>
|
|
|
+ <view class="task-name one-omit">{{ item.name }}</view>
|
|
|
+ <view class="task-desc one-omit">{{ item.content }}</view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <view class="task-reward">
|
|
|
+ <image src="@/static/me/job/wd_icon_xingyuan.png"></image>+{{ item.num }}
|
|
|
+ </view>
|
|
|
+ <view class="task-btn" :class="{ 'task-completed': item.status == 9 }" @click="claimReward(index)">
|
|
|
+ {{ item.status == 9 ? "已领取" : "领取" }}
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+
|
|
|
+
|
|
|
+ <!-- 每日任务列表
|
|
|
+ <view class="task-list">
|
|
|
+ <view class="task-header">
|
|
|
+ <text class="task-title">每日任务</text>
|
|
|
+ <text class="task-subtitle">获取免费星源</text>
|
|
|
+ </view>
|
|
|
<view class="task-item" v-for="(item, index) in taskList" :key="index">
|
|
|
<view class="task-info">
|
|
|
<view class="task-name">{{ item.name }}</view>
|
|
|
<view class="task-desc">{{ item.content }}</view>
|
|
|
</view>
|
|
|
- <view class="task-reward">+{{ item.num }}彩豆</view>
|
|
|
+ <view class="task-reward">+{{ item.num }}星源</view>
|
|
|
<view class="task-btn" :class="{ 'task-completed': item.status == 9 }" @click="claimReward(index)">
|
|
|
{{ item.status == 9 ? "已领取" : "领取" }}
|
|
|
</view>
|
|
|
</view>
|
|
|
- </view>
|
|
|
+ </view>-->
|
|
|
</view>
|
|
|
|
|
|
- <!-- 彩豆兑换弹窗 -->
|
|
|
+ <!-- 星源兑换弹窗 -->
|
|
|
<view class="exchange-popup" v-if="showExchange">
|
|
|
<view class="popup-mask" @click="hideExchangePopup"></view>
|
|
|
<view class="popup-content">
|
|
|
<!-- 弹窗顶部信息栏 -->
|
|
|
<view class="popup-header">
|
|
|
<text class="available-balance">可用M币: 14500</text>
|
|
|
- <text class="exchange-title">兑换彩豆</text>
|
|
|
+ <text class="exchange-title">兑换星源</text>
|
|
|
</view>
|
|
|
|
|
|
<!-- 兑换区域主体 -->
|
|
|
<view class="exchange-area">
|
|
|
<view class="exchange-title-area">
|
|
|
- <text class="exchange-main-title">M币兑换彩豆数</text>
|
|
|
- <text class="exchange-subtitle">兑换彩豆数必须是10的倍数</text>
|
|
|
+ <text class="exchange-main-title">M币兑换星源数</text>
|
|
|
+ <text class="exchange-subtitle">兑换星源数必须是10的倍数</text>
|
|
|
</view>
|
|
|
|
|
|
<view class="input-area">
|
|
|
<view class="bean-icon"></view>
|
|
|
- <input type="number" class="exchange-input" placeholder="请输入兑换彩豆数量" v-model="exchangeAmount" />
|
|
|
+ <input type="number" class="exchange-input" placeholder="请输入兑换星源数量" v-model="exchangeAmount" />
|
|
|
</view>
|
|
|
|
|
|
<!-- 操作按钮 -->
|
|
|
<view class="action-area">
|
|
|
- <view class="exchange-btn-large" @click="confirmExchange">立即兑换彩豆</view>
|
|
|
- <text class="tips-text">彩豆可用于创作(生成图片、音乐等AI创作功能)</text>
|
|
|
+ <view class="exchange-btn-large" @click="confirmExchange">立即兑换星源</view>
|
|
|
+ <text class="tips-text">星源可用于创作(生成图片、音乐等AI创作功能)</text>
|
|
|
</view>
|
|
|
</view>
|
|
|
</view>
|
|
|
</view>
|
|
|
|
|
|
- <!-- 签到弹窗 -->
|
|
|
- <view class="sign-popup" v-if="showSign">
|
|
|
- <view class="popup-mask" @click="hideSignPopup"></view>
|
|
|
- <view class="sign-popup-content">
|
|
|
- <!-- 弹窗顶部 -->
|
|
|
- <view class="sign-popup-header">
|
|
|
- <text class="sign-popup-title">每日签到领好礼</text>
|
|
|
- <view class="sign-notify-switch">
|
|
|
- <text class="sign-notify-text">签到消息提醒</text>
|
|
|
- <switch class="sign-switch" color="#9C27B0" :checked="signNotify" @change="toggleSignNotify" />
|
|
|
- </view>
|
|
|
- <view class="sign-days-tag">已签到{{ signInfo.signDay }}天</view>
|
|
|
- </view>
|
|
|
+
|
|
|
+ <checkInPopUpWindow :checkInDays="6" :signInfo="signInfo" :signNotify="signNotify"
|
|
|
+ @toggleSignNotify="toggleSignNotify" ref="checkInPopUpWindow" @confirmSign="confirmSign()">
|
|
|
+ </checkInPopUpWindow>
|
|
|
+
|
|
|
+ <!-- 提示框 -->
|
|
|
+ <DialogBox ref="DialogBox"></DialogBox>
|
|
|
+ <!-- 兑换m币弹窗-->
|
|
|
+ <view class="NicknamePopUpWindowBox">
|
|
|
|
|
|
- <!-- VIP特权区域 -->
|
|
|
- <view class="vip-area">
|
|
|
- <view class="vip-left">
|
|
|
- <text class="vip-text">VIP十通会员,签到享专属好礼</text>
|
|
|
- </view>
|
|
|
- <view class="vip-right">
|
|
|
- <text class="vip-offer">限时优惠 ></text>
|
|
|
- </view>
|
|
|
- </view>
|
|
|
|
|
|
- <!-- 签到奖励网格布局 -->
|
|
|
- <view class="sign-grid">
|
|
|
- <view class="sign-grid-item" v-for="(item, index) in signRewards" :key="index" :class="{
|
|
|
- 'sign-received':
|
|
|
- index < signInfo.signDay ||
|
|
|
- (index === signInfo.signDay - 1 && signInfo.isSigned),
|
|
|
- }">
|
|
|
- <view class="sign-day-num">{{ item.dayNum }}</view>
|
|
|
- <view class="sign-item-img"></view>
|
|
|
- <view class="sign-item-name">{{ item.reward }}</view>
|
|
|
- <view class="sign-vip-tag" v-if="item.isVip">VIP</view>
|
|
|
- <view class="sign-received-mask" v-if="
|
|
|
- index < signInfo.signDay ||
|
|
|
- (index === signInfo.signDay - 1 && signInfo.isSigned)
|
|
|
- ">
|
|
|
- <text class="received-text">已领取</text>
|
|
|
+ <NicknamePopup title="" subtitle="" class="NicknamePopUpWindow" ref="NicknamePopUpWindow">
|
|
|
+ <template slot="heard">
|
|
|
+ <view class="nickname-heard">
|
|
|
+ <view class="available-mCoin">可用M币:{{myinfo.num_gmm}}</view>
|
|
|
+ <view class="exchange-title">兑换星源</view>
|
|
|
+ </view>
|
|
|
+ </template>
|
|
|
+ <template slot="content">
|
|
|
+ <view class="content-box">
|
|
|
+ <view class="prompt">
|
|
|
+ M币兑换星源数<text>(兑换星源数必须是10的倍数)</text>
|
|
|
+ </view>
|
|
|
+ <view class="input-box">
|
|
|
+ <image src="@/static/me/job/wd_icon_xingyuan.png"></image>
|
|
|
+ <uv-input type="number" class="input" placeholder="请输入昵称" border="none"
|
|
|
+ v-model="exchangeAmount" maxlength="20"></uv-input>
|
|
|
</view>
|
|
|
+ <view class="btn-box" @click="confirmExchange">立即兑换星源</view>
|
|
|
</view>
|
|
|
- </view>
|
|
|
-
|
|
|
- <!-- 底部签到按钮 -->
|
|
|
- <view class="sign-btn-large" :class="{ 'sign-btn-disabled': signInfo.isSigned }" @click="confirmSign">
|
|
|
- {{ signInfo.isSigned ? "今日已签到" : "签到领取奖励" }}
|
|
|
- </view>
|
|
|
- </view>
|
|
|
+ </template>
|
|
|
+ </NicknamePopup>
|
|
|
</view>
|
|
|
-
|
|
|
- <checkInPopUpWindow ref="checkInPopUpWindow"></checkInPopUpWindow>
|
|
|
-
|
|
|
- <!-- 提示框 -->
|
|
|
- <DialogBox ref="DialogBox"></DialogBox>
|
|
|
</view>
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
import checkInPopUpWindow from "@/components/checkIn-popUp-window/checkIn-popUp-window.vue";
|
|
|
+
|
|
|
export default {
|
|
|
components: {
|
|
|
- checkInPopUpWindow
|
|
|
+ checkInPopUpWindow,
|
|
|
+
|
|
|
},
|
|
|
data() {
|
|
|
return {
|
|
@@ -158,42 +193,41 @@
|
|
|
beanBalance: 2560,
|
|
|
showExchange: false,
|
|
|
exchangeAmount: "",
|
|
|
- mCoinBalance: 14500,
|
|
|
- showSign: false,
|
|
|
+ mCoinBalance: 0,
|
|
|
signNotify: true,
|
|
|
signRewards: [{
|
|
|
dayNum: "01",
|
|
|
- reward: "10彩豆",
|
|
|
+ reward: "10星源",
|
|
|
isVip: false,
|
|
|
},
|
|
|
{
|
|
|
dayNum: "02",
|
|
|
- reward: "15彩豆",
|
|
|
+ reward: "15星源",
|
|
|
isVip: false,
|
|
|
},
|
|
|
{
|
|
|
dayNum: "03",
|
|
|
- reward: "20彩豆",
|
|
|
+ reward: "20星源",
|
|
|
isVip: false,
|
|
|
},
|
|
|
{
|
|
|
dayNum: "04",
|
|
|
- reward: "25彩豆",
|
|
|
+ reward: "25星源",
|
|
|
isVip: false,
|
|
|
},
|
|
|
{
|
|
|
dayNum: "05",
|
|
|
- reward: "30彩豆",
|
|
|
+ reward: "30星源",
|
|
|
isVip: false,
|
|
|
},
|
|
|
{
|
|
|
dayNum: "06",
|
|
|
- reward: "35彩豆",
|
|
|
+ reward: "35星源",
|
|
|
isVip: true,
|
|
|
},
|
|
|
{
|
|
|
dayNum: "07",
|
|
|
- reward: "50彩豆",
|
|
|
+ reward: "50星源",
|
|
|
isVip: true,
|
|
|
},
|
|
|
],
|
|
@@ -208,12 +242,10 @@
|
|
|
onLoad() {
|
|
|
this.loadData();
|
|
|
this.getSignInfo();
|
|
|
+
|
|
|
+
|
|
|
},
|
|
|
- onShow() {
|
|
|
- setTimeout(() => {
|
|
|
- this.opencheckInPopUpWindow()
|
|
|
- }, 100)
|
|
|
- },
|
|
|
+ onShow() {},
|
|
|
methods: {
|
|
|
opencheckInPopUpWindow() {
|
|
|
|
|
@@ -222,6 +254,13 @@
|
|
|
closecheckInPopUpWindow() {
|
|
|
this.$refs.checkInPopUpWindow.close();
|
|
|
},
|
|
|
+ openNicknamePopUpWindow() {
|
|
|
+
|
|
|
+ this.$refs.NicknamePopUpWindow.open();
|
|
|
+ },
|
|
|
+ closeNicknamePopUpWindow() {
|
|
|
+ this.$refs.NicknamePopUpWindow.close();
|
|
|
+ },
|
|
|
onBack() {},
|
|
|
|
|
|
loadData() {
|
|
@@ -274,6 +313,24 @@
|
|
|
console.log("获取签到信息失败:", e);
|
|
|
},
|
|
|
});
|
|
|
+ uni.request({
|
|
|
+ url: this.$apiHost + "/User/getinfo",
|
|
|
+ data: {
|
|
|
+ uuid: getApp().globalData.uuid,
|
|
|
+ skey: getApp().globalData.skey,
|
|
|
+ },
|
|
|
+ header: {
|
|
|
+ "content-type": "application/json",
|
|
|
+ sign: getApp().globalData.headerSign,
|
|
|
+ },
|
|
|
+ success: (res) => {
|
|
|
+ this.myinfo = res.data;
|
|
|
+ },
|
|
|
+ complete: (com) => {},
|
|
|
+ fail: (e) => {
|
|
|
+ console.log("----e:", e);
|
|
|
+ },
|
|
|
+ });
|
|
|
},
|
|
|
|
|
|
// 显示兑换弹窗
|
|
@@ -286,19 +343,11 @@
|
|
|
this.showExchange = false;
|
|
|
},
|
|
|
|
|
|
- // 显示签到弹窗
|
|
|
- showSignPopup() {
|
|
|
- this.showSign = true;
|
|
|
- },
|
|
|
-
|
|
|
- // 隐藏签到弹窗
|
|
|
- hideSignPopup() {
|
|
|
- this.showSign = false;
|
|
|
- },
|
|
|
+
|
|
|
|
|
|
// 切换签到通知开关
|
|
|
- toggleSignNotify(e) {
|
|
|
- this.signNotify = e.detail.value;
|
|
|
+ toggleSignNotify(falg) {
|
|
|
+ this.signNotify = falg;
|
|
|
},
|
|
|
|
|
|
// 确认签到
|
|
@@ -329,7 +378,7 @@
|
|
|
});
|
|
|
// 更新签到信息
|
|
|
this.getSignInfo();
|
|
|
- // 更新彩豆数量
|
|
|
+ // 更新星源数量
|
|
|
this.loadData();
|
|
|
} else {
|
|
|
uni.showToast({
|
|
@@ -402,6 +451,7 @@
|
|
|
},
|
|
|
complete: (com) => {
|
|
|
// uni.hideLoading();
|
|
|
+ this.closeNicknamePopUpWindow()
|
|
|
},
|
|
|
fail: (e) => {
|
|
|
console.log("----e:", e);
|
|
@@ -410,7 +460,7 @@
|
|
|
|
|
|
// // 模拟兑换处理
|
|
|
// uni.showToast({
|
|
|
- // title: "兑换成功,获得" + amount + "彩豆",
|
|
|
+ // title: "兑换成功,获得" + amount + "星源",
|
|
|
// icon: 'none'
|
|
|
// });
|
|
|
|