修改任务带签到字体

This commit is contained in:
duan 2025-01-13 11:28:15 +08:00
parent 4638a4a30d
commit ffac79fcdf
1 changed files with 323 additions and 314 deletions

View File

@ -18,7 +18,9 @@
<view> <view>
<view v-for="item in datas.signInList" :key="item.id" <view v-for="item in datas.signInList" :key="item.id"
:style="item.status == 1 ? 'color:#EFA765' : 'color:#999'"> :style="item.status == 1 ? 'color:#EFA765' : 'color:#999'">
{{ item.status == 1 ? '已签到' : '待签到' }} <text class="" style="font-size: 28rpx;">
{{ item.status == 1 ? '已签到' : '待签到' }}
</text>
<view :style="item.status == 1 ? 'color:#999' : 'color:#EFA765'"> <view :style="item.status == 1 ? 'color:#999' : 'color:#EFA765'">
{{ item.signDay.substr(5, 8) }} {{ item.signDay.substr(5, 8) }}
</view> </view>
@ -44,14 +46,15 @@
:style="{ backgroundColor: item.buttonBgColor, color: item.buttonFontColor }" :style="{ backgroundColor: item.buttonBgColor, color: item.buttonFontColor }"
@tap="goNav(item)"> @tap="goNav(item)">
{{ item.type == 1 ? item.buttonTitle : item.number ? `${item.discNumber}/${item.number}` : ( {{ item.type == 1 ? item.buttonTitle : item.number ? `${item.discNumber}/${item.number}` : (
item.discNumber <= 0 ? item.buttonTitle : `剩余${item.discNumber}`) }} </view> item.discNumber <= 0 ? item.buttonTitle : `剩余${item.discNumber}`) }}
<view v-else class="btn disabled"> </view>
{{ item.type == 1 ? item.buttonTitle : item.number ? `${item.discNumber}/${item.number}` <view v-else class="btn disabled">
: (item.discNumber <= 0 ? item.buttonTitle : `剩余${item.discNumber}`) }} <view {{ item.type == 1 ? item.buttonTitle : item.number ? `${item.discNumber}/${item.number}`
v-if="item.buttonUnderContent && item.buttonUnderUrl" class=" tip" : (item.discNumber <= 0 ? item.buttonTitle : `剩余${item.discNumber}`) }}
@tap="goNav(item, item.buttonUnderUrl)"> <view v-if="item.buttonUnderContent && item.buttonUnderUrl" class=" tip"
{{ item.buttonUnderContent }} @tap="goNav(item, item.buttonUnderUrl)">
</view> {{ item.buttonUnderContent }}
</view>
</view> </view>
</view> </view>
</view> </view>
@ -66,350 +69,356 @@
</template> </template>
<script setup> <script setup>
import { import {
reactive, reactive,
getCurrentInstance, nextTick getCurrentInstance,
} from "vue"; nextTick
import { } from "vue";
onShow, onReachBottom import {
} from '@dcloudio/uni-app' onShow,
import { getUserSignData, selectTaskCenter, taskReceive } from '@/api/task/index.js' onReachBottom
const currentInstance = getCurrentInstance() } from '@dcloudio/uni-app'
let datas = reactive({ import {
signDays: 0, getUserSignData,
signInList: [], selectTaskCenter,
list: [], taskReceive
// ios } from '@/api/task/index.js'
isExamine: uni.getStorageSync('isExamine'), const currentInstance = getCurrentInstance()
urlCallback: {}, let datas = reactive({
adRewardedVideo: true, signDays: 0,
signInList: [],
list: [],
// ios
isExamine: uni.getStorageSync('isExamine'),
urlCallback: {},
adRewardedVideo: true,
}) })
onShow(() => { onShow(() => {
getTaskdata() getTaskdata()
getsignIn() getsignIn()
// nextTick(() => { // nextTick(() => {
// currentInstance.ctx.$refs.adRewardedVideo.load(); // currentInstance.ctx.$refs.adRewardedVideo.load();
// }) // })
}) })
//广 //广
async function onadclose(e) { async function onadclose(e) {
const detail = e.detail const detail = e.detail
if (detail && detail.isEnded) { if (detail && detail.isEnded) {
// //
// /sqx_fast/app/ad/state // /sqx_fast/app/ad/state
let res = await this.$Request.getT('app/ad/state', { let res = await this.$Request.getT('app/ad/state', {
extraKey: this.urlCallback.extra extraKey: this.urlCallback.extra
}) })
this.$Request.getT('/app/common/type/921').then(res => { this.$Request.getT('/app/common/type/921').then(res => {
if (res.code == 0) {
console.log(res)
uni.showToast({
title: '获得' + res.data.value + '分钟免费时长',
icon: 'none'
})
}
})
} else {
// 退
}
}
async function goNav(item, url) {
// jumpType (integer, optional): 1 2 ,
// type (integer, optional): 1 2 9 ,
if (url) {
console.log(url, 'debug12')
let urls = ''
if (url == '/pages/task/prizeList') {
urls = url + '?source=2'
}
if (url == '/pages/task/receiveMember') {
urls = url + `?standard=${item.discNumber == null ? true : false}&taskId=${item.id}`
}
uni.navigateTo({
url: urls
})
} else {
if (item.jumpType == 0) {
if (item.title.indexOf("新人福利") != -1) {
let res = await taskReceive({ id: item.id })
if (res.code == 0) { if (res.code == 0) {
console.log(res)
uni.showToast({ uni.showToast({
title: res.id == 15 ? '签到成功' : '领取成功', title: '获得' + res.data.value + '分钟免费时长',
icon: 'none' icon: 'none'
}) })
setTimeout(() => {
getTaskdata()
getsignIn()
}, 1000)
} else {
uni.switchTab({
url: '/pages/index/index'
})
} }
} else if (item.buttonTitle.indexOf("观看视频") != -1) {
// 广
datas.urlCallback = {
userId: uni.getStorageSync('userId'),
extra: uni.getStorageSync('userId') + "" + new Date().getTime(),
}
currentInstance.ctx.$refs.adRewardedVideo.show();
} else {
uni.switchTab({
url: "/pages/index/index"
})
}
} else if (item.jumpType == 1) {
let buttonUrl = item.buttonUrl
console.log(buttonUrl, 'debug')
if (item.title && item.title.indexOf('每周打卡奖励') != -1) {
buttonUrl = item.buttonUrl + '?source=2'
}
if (item.title && item.title.indexOf('每月打卡奖励1') != -1) {
buttonUrl = item.buttonUrl + '?source=3'
}
if (item.title && item.title.indexOf('每月打卡奖励2') != -1) {
buttonUrl = `${item.buttonUrl}?standard=${item.discNumber == null ? true : false}&taskId=${item.id}`
}
uni.navigateTo({
url: buttonUrl
})
} else if (item.jumpType == 3) {
uni.switchTab({
url: item.buttonUrl
}) })
} else {
// 退
} }
} }
async function goNav(item, url) {
} // jumpType (integer, optional): 1 2 ,
function onadload(e) { // type (integer, optional): 1 2 9 ,
datas.adRewardedVideo = true; if (url) {
} console.log(url, 'debug12')
// let urls = ''
async function getsignIn() { if (url == '/pages/task/prizeList') {
let res = await getUserSignData() urls = url + '?source=2'
datas.signInList = res.recordList
datas.signDays = res.signDays
}
//
async function getTaskdata() {
let res = await selectTaskCenter()
if (!datas.isExamine) {
let arrData = []
res.forEach(ele => {
if (ele.title.indexOf('分享奖励') == -1 && ele.title.indexOf('新人福利') == -1 &&
ele.title.indexOf('观看视频奖励') == -1) {
arrData.push(ele)
} }
}) if (url == '/pages/task/receiveMember') {
datas.list = arrData urls = url + `?standard=${item.discNumber == null ? true : false}&taskId=${item.id}`
} else { }
datas.list = res uni.navigateTo({
} url: urls
} })
} else {
if (item.jumpType == 0) {
if (item.title.indexOf("新人福利") != -1) {
let res = await taskReceive({
id: item.id
})
if (res.code == 0) {
uni.showToast({
title: res.id == 15 ? '签到成功' : '领取成功',
icon: 'none'
})
setTimeout(() => {
getTaskdata()
getsignIn()
}, 1000)
} else {
uni.switchTab({
url: '/pages/index/index'
})
}
} else if (item.buttonTitle.indexOf("观看视频") != -1) {
// 广
datas.urlCallback = {
userId: uni.getStorageSync('userId'),
extra: uni.getStorageSync('userId') + "" + new Date().getTime(),
}
currentInstance.ctx.$refs.adRewardedVideo.show();
} else {
uni.switchTab({
url: "/pages/index/index"
})
}
} else if (item.jumpType == 1) {
let buttonUrl = item.buttonUrl
console.log(buttonUrl, 'debug')
if (item.title && item.title.indexOf('每周打卡奖励') != -1) {
buttonUrl = item.buttonUrl + '?source=2'
}
if (item.title && item.title.indexOf('每月打卡奖励1') != -1) {
buttonUrl = item.buttonUrl + '?source=3'
}
if (item.title && item.title.indexOf('每月打卡奖励2') != -1) {
buttonUrl =
`${item.buttonUrl}?standard=${item.discNumber == null ? true : false}&taskId=${item.id}`
}
uni.navigateTo({
url: buttonUrl
})
} else if (item.jumpType == 3) {
uni.switchTab({
url: item.buttonUrl
})
}
}
}
function onadload(e) {
datas.adRewardedVideo = true;
}
//
async function getsignIn() {
let res = await getUserSignData()
datas.signInList = res.recordList
datas.signDays = res.signDays
}
//
async function getTaskdata() {
let res = await selectTaskCenter()
if (!datas.isExamine) {
let arrData = []
res.forEach(ele => {
if (ele.title.indexOf('分享奖励') == -1 && ele.title.indexOf('新人福利') == -1 &&
ele.title.indexOf('观看视频奖励') == -1) {
arrData.push(ele)
}
})
datas.list = arrData
} else {
datas.list = res
}
}
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">
.u-absolute { .u-absolute {
position: absolute; position: absolute;
} }
.task_bg { .task_bg {
width: 100% !important; width: 100% !important;
height: 494rpx !important; height: 494rpx !important;
} }
.icon { .icon {
position: relative;
padding: 32rpx;
.icon_title {
color: #000000;
margin-left: 28rpx;
top: -20rpx;
font-size: 32rpx;
font-weight: bold;
position: relative; position: relative;
} padding: 32rpx;
.task_icon1 { .icon_title {
width: 74rpx !important; color: #000000;
height: 78rpx !important; margin-left: 28rpx;
margin-left: 235rpx; top: -20rpx;
position: relative; font-size: 32rpx;
} font-weight: bold;
.task_icon2 {
width: 126rpx !important;
height: 120rpx !important;
top: -40rpx;
position: relative;
}
}
.contentTop {
border-radius: 16rpx;
top: -115rpx;
padding: 28rpx;
margin-bottom: 32rpx;
position: relative;
background-color: #ffffff;
color: #666666;
margin-left: 32rpx;
margin-right: 32rpx;
>view:first-child {
>image {
width: 100%;
height: 78rpx;
position: absolute;
left: 0;
top: 0;
z-index: 1
}
>view {
z-index: 9999;
position: absolute;
text-align: center;
width: 98%;
.num {
color: #EC6F48;
margin: 0 10rpx;
}
}
}
>view:last-child {
margin-top: 100rpx;
display: flex;
align-items: center;
justify-content: space-between;
>view {
position: relative; position: relative;
}
.task_icon1 {
width: 74rpx !important;
height: 78rpx !important;
margin-left: 235rpx;
position: relative;
}
.task_icon2 {
width: 126rpx !important;
height: 120rpx !important;
top: -40rpx;
position: relative;
}
}
.contentTop {
border-radius: 16rpx;
top: -115rpx;
padding: 20rpx;
margin-bottom: 32rpx;
position: relative;
background-color: #ffffff;
color: #666666;
margin: 32rpx;
>view:first-child {
>image {
width: 100%;
height: 78rpx;
position: absolute;
left: 0;
top: 0;
z-index: 1
}
>view { >view {
margin-top: 20rpx; z-index: 9999;
width: 86rpx;
height: 94rpx;
background: linear-gradient(180deg, #FFF7E3 0%, #FFFFFF 100%);
border-radius: 14rpx 14rpx 0rpx 0rpx;
}
>image {
width: 52rpx;
height: 48rpx;
position: absolute; position: absolute;
top: 110rpx; text-align: center;
left: 14rpx; width: 98%;
.num {
color: #EC6F48;
margin: 0 10rpx;
}
}
}
>view:last-child {
margin-top: 100rpx;
display: flex;
align-items: center;
justify-content: space-between;
>view {
position: relative;
>view {
margin-top: 20rpx;
width: 86rpx;
height: 94rpx;
background: linear-gradient(180deg, #FFF7E3 0%, #FFFFFF 100%);
border-radius: 14rpx 14rpx 0rpx 0rpx;
}
>image {
width: 52rpx;
height: 48rpx;
position: absolute;
top: 110rpx;
left: 14rpx;
}
} }
} }
} }
}
.content { .content {
border-radius: 16rpx; border-radius: 16rpx;
top: -115rpx; top: -115rpx;
padding: 28rpx; padding: 28rpx;
background-color: #ffffff; background-color: #ffffff;
color: #666666; color: #666666;
margin-left: 32rpx; margin-left: 32rpx;
margin-right: 32rpx; margin-right: 32rpx;
position: relative; position: relative;
border-radius: 16rpx; border-radius: 16rpx;
top: -115rpx; top: -115rpx;
padding: 28rpx; padding: 28rpx;
.cell { .cell {
padding: 32rpx 0; padding: 32rpx 0;
border-bottom: 2rpx solid #EBEBEB; border-bottom: 2rpx solid #EBEBEB;
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
.cell_left { .cell_left {
flex-direction: column; flex-direction: column;
margin-top: 10rpx; margin-top: 10rpx;
.cell_title { .cell_title {
margin-bottom: 12rpx; margin-bottom: 12rpx;
color: #333; color: #333;
display: flex;
.title {
display: flex; display: flex;
flex-shrink: 0;
font-size: 28rpx; .title {
font-weight: bold; display: flex;
flex-shrink: 0;
font-size: 28rpx;
font-weight: bold;
}
.cell_icon {
width: 48rpx !important;
height: 34rpx !important;
margin-left: 16rpx;
}
.tip {
margin-left: 22rpx;
color: #FC5B67;
font-size: 24rpx;
}
} }
.cell_icon { .subhead {
width: 48rpx !important; color: #999;
height: 34rpx !important;
margin-left: 16rpx;
}
.tip {
margin-left: 22rpx;
color: #FC5B67;
font-size: 24rpx; font-size: 24rpx;
} }
} }
.subhead { .cell_right {
color: #999; flex-direction: column;
font-size: 24rpx; align-items: center;
flex-shrink: 0;
margin-left: 20rpx;
.btn {
width: 148rpx;
height: 56rpx;
line-height: 56rpx;
text-align: center;
background-color: #EC6F48;
color: #FFFFFF;
border-radius: 12rpx 12rpx 12rpx 12rpx;
font-size: 24rpx;
font-weight: bold;
}
.tip {
color: #EC6F48;
height: 44rpx;
line-height: 44rpx;
margin-top: 5rpx;
font-size: 22rpx;
}
.opt {
color: #D39B7E;
background-color: #FBF3EB;
}
.disabled {
color: #999999;
background-color: #E2E2E2;
}
} }
} }
.cell_right { .cell:last-child {
flex-direction: column; border-bottom: none;
align-items: center;
flex-shrink: 0;
margin-left: 20rpx;
.btn {
width: 148rpx;
height: 56rpx;
line-height: 56rpx;
text-align: center;
background-color: #EC6F48;
color: #FFFFFF;
border-radius: 12rpx 12rpx 12rpx 12rpx;
font-size: 24rpx;
font-weight: bold;
}
.tip {
color: #EC6F48;
height: 44rpx;
line-height: 44rpx;
margin-top: 5rpx;
font-size: 22rpx;
}
.opt {
color: #D39B7E;
background-color: #FBF3EB;
}
.disabled {
color: #999999;
background-color: #E2E2E2;
}
} }
} }
</style>
.cell:last-child {
border-bottom: none;
}
}
</style>