Browse Source

feat: 更新用户信息获取和任务处理逻辑

refactor(readnovels): 移除scrollTop改用pageScrollTo实现滚动
fix(comment): 优化未读评论标记更新逻辑
chore(config): 更新环境和OSS配置
feat(Translation): 重构签到和任务领取逻辑
master
前端-胡立永 3 weeks ago
parent
commit
d0354aa4ba
5 changed files with 72 additions and 78 deletions
  1. +13
    -7
      config.js
  2. +1
    -8
      pages_order/comment/myComment.vue
  3. +4
    -0
      pages_order/mine/runningWater.vue
  4. +46
    -50
      pages_order/novel/Translation.vue
  5. +8
    -13
      pages_order/novel/readnovels.vue

+ 13
- 7
config.js View File

@ -8,13 +8,13 @@ import uvUI from '@/uni_modules/uv-ui-tools'
Vue.use(uvUI); Vue.use(uvUI);
// 当前环境 // 当前环境
const type = 'local'
const type = 'prod'
// 环境配置 // 环境配置
const config = { const config = {
local : { local : {
baseUrl : 'http://127.0.0.1:8002/novel-admin',
baseUrl : 'http://127.0.0.1:8003/novel-admin',
}, },
dev : { dev : {
baseUrl : 'http://h5.xzaiyp.top/novel-admin', baseUrl : 'http://h5.xzaiyp.top/novel-admin',
@ -23,22 +23,28 @@ const config = {
baseUrl : 'https://prod-api.budingxiaoshuo.com/novel-admin', baseUrl : 'https://prod-api.budingxiaoshuo.com/novel-admin',
} }
} }
// oss:
// accessKey: LTAI5tG9VnnPpjvcrQ3dtaYG
// secretKey: h0nzWxMbH9RIeVVcFbtjTpocCj9GHc
// endpoint: oss-cn-shenzhen.aliyuncs.com
// bucketName: buding-oss
// staticDomain: https://oss.budingxiaoshuo.com/
// 默认配置 // 默认配置
const defaultConfig = { const defaultConfig = {
mapKey : 'XMBBZ-BCPCV-SXPPQ-5Y7MY-PHZXK-YFFVU', mapKey : 'XMBBZ-BCPCV-SXPPQ-5Y7MY-PHZXK-YFFVU',
aliOss: { aliOss: {
url: 'https://image.hhlm1688.com/',
url: 'https://oss.budingxiaoshuo.com/',
config: { config: {
//桶的地址 //桶的地址
region: 'oss-cn-guangzhou',
region: 'oss-cn-shenzhen',
//id //id
accessKeyId: 'LTAI5tQSs47izVy8DLVdwUU9',
accessKeyId: 'LTAI5tG9VnnPpjvcrQ3dtaYG',
//密钥 //密钥
accessKeySecret: 'qHI7C3PaXYZySr84HTToviC71AYlFq',
accessKeySecret: 'h0nzWxMbH9RIeVVcFbtjTpocCj9GHc',
//桶的名字 //桶的名字
bucket: 'hanhaiimage',
bucket: 'buding-oss',
endpoint: 'oss-cn-shenzhen.aliyuncs.com', endpoint: 'oss-cn-shenzhen.aliyuncs.com',
} }
}, },


+ 1
- 8
pages_order/comment/myComment.vue View File

@ -90,14 +90,7 @@
}).then(res => { }).then(res => {
this.unreadComments = res.records this.unreadComments = res.records
this.unreadComments.forEach(n => {
this.updateCommentRead(n.id)
})
})
},
updateCommentRead(commentId){
this.$fetch('updateCommentRead', {
commentId
this.$fetch('updateCommentRead')
}) })
}, },
} }


+ 4
- 0
pages_order/mine/runningWater.vue View File

@ -56,6 +56,10 @@
onLoad(e) { onLoad(e) {
this.status = e.status this.status = e.status
}, },
onShow() {
//
this.$store.commit('getUserInfo')
},
methods: { methods: {
leftClick() { // leftClick() { //
uni.navigateBack(-1) uni.navigateBack(-1)


+ 46
- 50
pages_order/novel/Translation.vue View File

@ -26,9 +26,9 @@
<view class="ticket-num">+ {{ day.num }}</view> <view class="ticket-num">+ {{ day.num }}</view>
</view> </view>
</view> </view>
<button class="checkin-btn" :class="{ 'checked-btn': isSign }" :disabled="isSign"
<button class="checkin-btn" :class="{ 'checked-btn': !canSignToday }" :disabled="!canSignToday"
@click="clickSignTask"> @click="clickSignTask">
{{ isSign ? '已签到' : '签到得奖励' }}
{{ !canSignToday ? '已签到' : '签到得奖励' }}
</button> </button>
</view> </view>
<!-- 更多任务 --> <!-- 更多任务 -->
@ -36,14 +36,16 @@
<view class="more-header">更多任务</view> <view class="more-header">更多任务</view>
<view class="task-list"> <view class="task-list">
<view class="task-item" v-for="(task, idx) in list" :key="idx" <view class="task-item" v-for="(task, idx) in list" :key="idx"
:class="{ 'no-border': idx === tasks.length - 1 }">
:class="{ 'no-border': idx == list.length - 1 }">
<view class="task-info"> <view class="task-info">
<view class="task-title">{{ task.title }}</view> <view class="task-title">{{ task.title }}</view>
<view class="task-desc">推荐票 +{{ task.num }}</view> <view class="task-desc">推荐票 +{{ task.num }}</view>
</view> </view>
<button class="get-btn" :class="{ 'received-btn': task.commonTaskLog }"
:disabled="task.commonTaskLog" @click="clickMoreTask(task.id)">
{{ task.commonTaskLog ? '已领取' : '去领取' }}
<button class="get-btn"
:class="{ 'received-btn': task.commonTaskLog || !task.isTask }"
:disabled="task.commonTaskLog"
@click="clickMoreTask(task)">
{{ task.commonTaskLog ? '已领取' : (task.isTask ? '去领取' : '未达成') }}
</button> </button>
</view> </view>
</view> </view>
@ -67,19 +69,6 @@
data() { data() {
return { return {
checkedDays: 3, // checkedDays: 3, //
tasks: [{
title: '观看视频广告',
received: false
},
{
title: '每日首阅三个章节',
received: false
},
{
title: '每日首条评论',
received: false
},
],
clockList: [], clockList: [],
isChecked: false, // isChecked: false, //
maxVote: 0, maxVote: 0,
@ -88,10 +77,6 @@
} }
}, },
computed: { computed: {
isSign() {
//
return !this.canSignToday;
},
}, },
onShow() { onShow() {
this.getMyRecommendTicketNum() this.getMyRecommendTicketNum()
@ -162,9 +147,44 @@
this.getSignTaskList() this.getSignTaskList()
this.getMyRecommendTicketNum() this.getMyRecommendTicketNum()
}, },
async clickMoreTask(taskId) {
playTask(task){
if ("key_comment" == task.keyName){
//
uni.showModal({
title: '发布一条评论即可领取',
showCancel: false,
success: (res) => {
}
})
}else if ("key_chapter" == task.keyName){
//
uni.showModal({
title: '阅读3个新的章节小说即可领取',
showCancel: false,
success: (res) => {
}
})
return chapterCount >= 3;
}else if ("key_advertisement" == task.keyName){
// TODO 广
uni.showModal({
title: '暂未开放',
showCancel: false,
success: (res) => {
}
})
}
},
async clickMoreTask(task) {
if (!task.isTask) {
this.playTask(task)
return
}
await this.$fetch('clickMoreTask', { await this.$fetch('clickMoreTask', {
taskId,
taskId : task.id,
}) })
uni.showToast({ uni.showToast({
title: '领取成功', title: '领取成功',
@ -173,34 +193,10 @@
this.getMoreTaskList() this.getMoreTaskList()
this.getMyRecommendTicketNum() this.getMyRecommendTicketNum()
}, },
handleCheckin() {
if (this.checkedDays < 8) {
this.checkedDays++;
this.isChecked = true;
uni.showToast({
title: '签到成功',
icon: 'none'
});
} else {
this.isChecked = true;
uni.showToast({
title: '已全部签到',
icon: 'none'
});
}
},
handleReceive(idx) {
this.tasks[idx].received = true;
uni.showToast({
title: '领取成功',
icon: 'success'
});
},
checkTodaySignStatus() { checkTodaySignStatus() {
this.$fetch('getSignTaskToday') this.$fetch('getSignTaskToday')
.then(res => { .then(res => {
// res.result == 0
this.canSignToday = res.result;
this.canSignToday = res;
}) })
.catch(err => { .catch(err => {
console.error('获取今日签到状态失败:', err); console.error('获取今日签到状态失败:', err);


+ 8
- 13
pages_order/novel/readnovels.vue View File

@ -22,8 +22,8 @@
<scroll-view :scroll-y="!isPay" :key="'scroll-' + cid" id="chapter-scroll" class="chapter-content" :class="{'full-content': isFullScreen}"
:scroll-top="scrollTop" @scroll="handleScroll" @tap="handleContentClick">
<scroll-view class="chapter-content" :class="{'full-content': isFullScreen}"
@scroll="handleScroll" @tap="handleContentClick">
<view class="chapter-content-item"> <view class="chapter-content-item">
<view class="chapter-title">{{ currentChapter }}</view> <view class="chapter-title">{{ currentChapter }}</view>
@ -100,7 +100,6 @@
cid: 0, cid: 0,
novelData: {}, novelData: {},
chapterList: [], chapterList: [],
scrollTop: 0, //
// //
isPay : false, isPay : false,
@ -177,7 +176,10 @@
// //
this.$nextTick(() => { this.$nextTick(() => {
this.scrollTop = 0; // scroll-view
uni.pageScrollTo({
scrollTop: 0,
duration: 0
});
}) })
}) })
}, },
@ -195,15 +197,8 @@
this.toggleFullScreen(); this.toggleFullScreen();
}, },
handleScroll(e) { handleScroll(e) {
//
const scrollTop = e.detail.scrollTop;
this.scrollTop = scrollTop; //
//
if (scrollTop > 50 && !this.popupShown) {
this.$refs.subscriptionPopup.open();
this.popupShown = true;
}
// scroll-viewscroll-view
// onPageScroll
}, },
toggleFullScreen() { toggleFullScreen() {
this.isFullScreen = !this.isFullScreen this.isFullScreen = !this.isFullScreen


Loading…
Cancel
Save