Commit 262c1dd2 authored by spc's avatar spc

fixed

parent 49e4050c
assets/logo.png

13.6 KB | W: | H:

assets/logo.png

10.6 KB | W: | H:

assets/logo.png
assets/logo.png
assets/logo.png
assets/logo.png
  • 2-up
  • Swipe
  • Onion skin
<script setup> <script setup>
import {ref} from "vue"; import { ref } from "vue";
import RegisterLayer from "../../components/RegisterLayer.vue"; import RegisterLayer from "../../components/RegisterLayer.vue";
import {useUserStore} from "../../stores/user"; import { useUserStore } from "../../stores/user";
import {jump, JumpType} from "../../utils"; import { jump, JumpType } from "../../utils";
import md from "../../md"; import md from "../../md";
import Checkbox from "./toggle-button/index.vue"; import Checkbox from "./toggle-button/index.vue";
...@@ -93,7 +93,7 @@ const handleHot = (e) => { ...@@ -93,7 +93,7 @@ const handleHot = (e) => {
} }
}; };
function clickRegister(e){ function clickRegister(e) {
uni.showToast({ uni.showToast({
title: "请先阅读并同意协议《会员规则》及《隐私协议》", title: "请先阅读并同意协议《会员规则》及《隐私协议》",
icon: "none", icon: "none",
...@@ -113,15 +113,16 @@ function testClick() { ...@@ -113,15 +113,16 @@ function testClick() {
<template> <template>
<div class="page"> <div class="page">
<view > <view>
<image src="@/assets/images/back-btn.png" class="btn-back" @click="clickBack"/> <image src="@/assets/images/back-btn.png" class="btn-back" @click="clickBack" />
</view> </view>
<div class="content"> <div class="content">
<div class="logo-container"> <div class="logo-container">
<image src="@/assets/logo.png" class="logo"/> <image src="@/assets/logo.png" class="logo" />
<text>星妈会</text> <text>星妈会</text>
</div> </div>
<button v-if="readProtocol" class="register-button" open-type="getPhoneNumber" @getphonenumber="getRealtimePhoneNumber"> <button v-if="readProtocol" class="register-button" open-type="getPhoneNumber"
@getphonenumber="getRealtimePhoneNumber">
授权登录 授权登录
</button> </button>
<button v-else class="register-button disabled" @click="clickRegister"> <button v-else class="register-button disabled" @click="clickRegister">
...@@ -131,24 +132,24 @@ function testClick() { ...@@ -131,24 +132,24 @@ function testClick() {
测试 测试
</button>--> </button>-->
<view class="protocol-container"> <view class="protocol-container">
<Checkbox v-model="readProtocol" class="checkbox"/> <Checkbox v-model="readProtocol" class="checkbox" />
我已阅读并同意 我已阅读并同意
<view class="link" :data-log="{ <view class="link" :data-log="{
xcxClick: '注册页面点击', xcxClick: '注册页面点击',
pageName: '注册页面', pageName: '注册页面',
buttonName: '会员规则', buttonName: '会员规则',
}" @click="handleHot" data-type="member">《会员规则》 }" @click="handleHot" data-type="member">《会员规则》
</view> </view>
<view class="link" :data-log="{ <view class="link" :data-log="{
xcxClick: '注册页面点击', xcxClick: '注册页面点击',
pageName: '注册页面', pageName: '注册页面',
buttonName: '隐私协议', buttonName: '隐私协议',
}" @click="handleHot" data-type="privacy">《隐私协议》 }" @click="handleHot" data-type="privacy">《隐私协议》
</view> </view>
</view> </view>
</div> </div>
<RegisterLayer v-model="showRegisterLayer" @confirm="onRegisterConfirm" @cancel="onRegisterCancel"/> <RegisterLayer v-model="showRegisterLayer" @confirm="onRegisterConfirm" @cancel="onRegisterCancel" />
</div> </div>
</template> </template>
...@@ -159,7 +160,7 @@ function testClick() { ...@@ -159,7 +160,7 @@ function testClick() {
flex-direction: column; flex-direction: column;
align-items: center; align-items: center;
.btn-back{ .btn-back {
position: absolute; position: absolute;
left: 10rpx; left: 10rpx;
top: 100rpx; top: 100rpx;
...@@ -167,7 +168,7 @@ function testClick() { ...@@ -167,7 +168,7 @@ function testClick() {
height: 60rpx; height: 60rpx;
} }
.logo-container{ .logo-container {
width: 100vw; width: 100vw;
display: flex; display: flex;
align-items: center; align-items: center;
...@@ -175,10 +176,12 @@ function testClick() { ...@@ -175,10 +176,12 @@ function testClick() {
flex-direction: column; flex-direction: column;
background-image: linear-gradient(180deg, #F4E2B2 0%, transparent 100%); background-image: linear-gradient(180deg, #F4E2B2 0%, transparent 100%);
font-size: 34rpx;
font-weight: bold;
padding-top: 350rpx; padding-top: 350rpx;
padding-bottom: 80rpx; padding-bottom: 80rpx;
.logo{ .logo {
width: 176rpx; width: 176rpx;
height: 176rpx; height: 176rpx;
} }
...@@ -197,7 +200,7 @@ function testClick() { ...@@ -197,7 +200,7 @@ function testClick() {
color: white; color: white;
margin-top: 130rpx; margin-top: 130rpx;
&.disabled{ &.disabled {
background-color: #E3CC9E; background-color: #E3CC9E;
} }
} }
......
pages/activity/toggle-button/assets/check-select.png

911 Bytes | W: | H:

pages/activity/toggle-button/assets/check-select.png

754 Bytes | W: | H:

pages/activity/toggle-button/assets/check-select.png
pages/activity/toggle-button/assets/check-select.png
pages/activity/toggle-button/assets/check-select.png
pages/activity/toggle-button/assets/check-select.png
  • 2-up
  • Swipe
  • Onion skin
pages/activity/toggle-button/assets/check-unselect.png

611 Bytes | W: | H:

pages/activity/toggle-button/assets/check-unselect.png

717 Bytes | W: | H:

pages/activity/toggle-button/assets/check-unselect.png
pages/activity/toggle-button/assets/check-unselect.png
pages/activity/toggle-button/assets/check-unselect.png
pages/activity/toggle-button/assets/check-unselect.png
  • 2-up
  • Swipe
  • Onion skin
...@@ -5,77 +5,57 @@ ...@@ -5,77 +5,57 @@
<Integral v-if="globalStore.curTabIndex == 2 && !globalStore.isWxFriendCircle" :scrollTop="scrollTop" /> <Integral v-if="globalStore.curTabIndex == 2 && !globalStore.isWxFriendCircle" :scrollTop="scrollTop" />
<My v-if="globalStore.curTabIndex == 3 && !globalStore.isWxFriendCircle" /> <My v-if="globalStore.curTabIndex == 3 && !globalStore.isWxFriendCircle" />
<TabBar v-if="!globalStore.isWxFriendCircle" :curTabIndex="globalStore.curTabIndex" @tabClick="handleTabClick" /> <TabBar v-if="!globalStore.isWxFriendCircle" :curTabIndex="globalStore.curTabIndex" @tabClick="handleTabClick" />
<WxFriendCircleSimplePage v-if="globalStore.isWxFriendCircle" /> <WxFriendCircleSimplePage v-if="globalStore.isWxFriendCircle" />
<!-- 邀请奖品弹窗 --> <!-- 邀请奖品弹窗 -->
<InvitePrizePanel <InvitePrizePanel :visible="globalStore.isShowInvitePrizePanel" :inviteCount="globalStore.inviteCount"
:visible="globalStore.isShowInvitePrizePanel" :prizeName="globalStore.prizeName" :prizeImage="globalStore.prizeImage" @close="handleCloseInvitePrizePanel"
:inviteCount="globalStore.inviteCount" @record="handleInvitePrizePanelRecord" @prize="handleInvitePrizePanelPrize" />
:prizeName="globalStore.prizeName"
:prizeImage="globalStore.prizeImage" <!-- 任务完成弹窗 -->
@close="handleCloseInvitePrizePanel" <!-- <TaskComplete
@record="handleInvitePrizePanelRecord"
@prize="handleInvitePrizePanelPrize"
/>
<!-- 任务完成弹窗 -->
<!-- <TaskComplete
:visible="globalStore.isShowTaskComplete" :visible="globalStore.isShowTaskComplete"
:points="globalStore.taskCompletePoints" :points="globalStore.taskCompletePoints"
:taskTitle="globalStore.taskCompleteTitle" :taskTitle="globalStore.taskCompleteTitle"
@close="handleCloseTaskComplete" @close="handleCloseTaskComplete"
@accept="handleAcceptTaskComplete" @accept="handleAcceptTaskComplete"
/> --> /> -->
<!-- 任务弹窗 -->
<TaskPop
:visible="globalStore.isShowTaskPop"
:taskTodo="globalStore.taskTodo"
@close="handleCloseTaskPop"
@taskClick="handleTaskClick"
/>
<!-- 任务完成提示弹窗 -->
<TaskCompleteTips
:visible="globalStore.isShowTaskComplete"
:points="globalStore.taskCompletePoints"
:taskTitle="globalStore.taskCompleteTitle"
@close="handleCloseTaskCompleteTips"
/>
<!-- 任务信息弹窗 -->
<TaskPerson
:visible="globalStore.isShowTaskPerson"
@close="handleCloseTaskPerson"
@submit="handleTaskPersonSubmit"
/>
<!-- 公众号弹窗 -->
<GongzhonghaoPop :visible="showGongzhonghaoPop" :title="gongzhonghaoTitle"
:description="gongzhonghaoDescription" :qrCodeUrl="gongzhonghaoQrCodeUrl"
@close="handleCloseGongzhonghaoPop" @download="handleDownloadQrCode" />
<!-- 视频弹窗 -->
<view v-if="showVideo" class="video-popup1">
<video :src="currentVideoUrl" controls autoplay
:style="{ width: videoWidth + 'px', height: videoHeight + 'px' }" @loadedmetadata="onVideoLoadedMeta"
@play="onVideoPlay"></video>
<view class="close-btn-bottom" @tap="closeVideo">×</view>
</view>
<!-- 任务弹窗 -->
<button v-if="isBackApp" class="back-app" open-type="launchApp" app-parameter="wechat" @binderror="handleLaunchAppError" <TaskPop :visible="globalStore.isShowTaskPop" :taskTodo="globalStore.taskTodo" @close="handleCloseTaskPop"
:style="{ @taskClick="handleTaskClick" />
backgroundImage: `url(${$baseUrl}homepage/backAppBtn.png)`,
}"
> <!-- 任务完成提示弹窗 -->
<TaskCompleteTips :visible="globalStore.isShowTaskComplete" :points="globalStore.taskCompletePoints"
:taskTitle="globalStore.taskCompleteTitle" @close="handleCloseTaskCompleteTips" />
<!-- 任务信息弹窗 -->
<TaskPerson :visible="globalStore.isShowTaskPerson" @close="handleCloseTaskPerson"
@submit="handleTaskPersonSubmit" />
<!-- 公众号弹窗 -->
<GongzhonghaoPop :visible="showGongzhonghaoPop" :title="gongzhonghaoTitle" :description="gongzhonghaoDescription"
:qrCodeUrl="gongzhonghaoQrCodeUrl" @close="handleCloseGongzhonghaoPop" @download="handleDownloadQrCode" />
<!-- 视频弹窗 -->
<view v-if="showVideo" class="video-popup1">
<video :src="currentVideoUrl" controls autoplay :style="{ width: videoWidth + 'px', height: videoHeight + 'px' }"
@loadedmetadata="onVideoLoadedMeta" @play="onVideoPlay"></video>
<view class="close-btn-bottom" @tap="closeVideo">×</view>
</view>
<button v-if="isBackApp" class="back-app" open-type="launchApp" app-parameter="wechat"
@binderror="handleLaunchAppError" :style="{
backgroundImage: `url(${$baseUrl}homepage/backAppBtn.png)`,
}">
<!-- <text class="back-text">返回app</text> --> <!-- <text class="back-text">返回app</text> -->
</button> </button>
<!-- 悬浮授权手机号模块 --> <!-- 悬浮授权手机号模块 -->
<view class="auth-phone-module" v-if="!userStore.memberInfo?.mobile"> <view class="auth-phone-module" v-if="true || !userStore.memberInfo?.mobile">
<image class="auth-phone-bg" :src="$baseUrl + 'homepage/Q3Res/accessBg3.png'"></image> <image class="auth-phone-bg" :src="$baseUrl + 'homepage/Q3Res/accessBg3.png'"></image>
<view class="auth-phone-btn-container"> <view class="auth-phone-btn-container">
<image class="auth-phone-btn" :src="$baseUrl + 'homepage/Q3Res/accessBtn3.png'" @tap="handleAuthPhoneClick"> <image class="auth-phone-btn" :src="$baseUrl + 'homepage/Q3Res/accessBtn3.png'" @tap="handleAuthPhoneClick">
...@@ -86,8 +66,8 @@ ...@@ -86,8 +66,8 @@
</template> </template>
<script setup> <script setup>
import { ref, getCurrentInstance, onMounted } from "vue"; import { ref, getCurrentInstance, onMounted } from "vue";
import { onLoad, onShareAppMessage, onShareTimeline, onPageScroll, onShow} from "@dcloudio/uni-app"; import { onLoad, onShareAppMessage, onShareTimeline, onPageScroll, onShow } from "@dcloudio/uni-app";
import TabBar from "@/components/TabBar.vue"; import TabBar from "@/components/TabBar.vue";
import Home from "@/views/Home.vue"; import Home from "@/views/Home.vue";
import Brand from "@/views/Brand.vue"; import Brand from "@/views/Brand.vue";
...@@ -184,7 +164,7 @@ const checkAndUpdateTaskResult = async () => { ...@@ -184,7 +164,7 @@ const checkAndUpdateTaskResult = async () => {
await integralStore.queryTodoResultServer(); await integralStore.queryTodoResultServer();
console.log('queryTodoResult:', integralStore.queryTodoResult); console.log('queryTodoResult:', integralStore.queryTodoResult);
if(integralStore.queryTodoResult?.success && integralStore.queryTodoResult?.data?.length > 0) { if (integralStore.queryTodoResult?.success && integralStore.queryTodoResult?.data?.length > 0) {
globalStore.isShowTaskComplete = true; globalStore.isShowTaskComplete = true;
globalStore.taskCompletePoints = integralStore.queryTodoResult.data[0]?.actualCredits; globalStore.taskCompletePoints = integralStore.queryTodoResult.data[0]?.actualCredits;
globalStore.taskCompleteTitle = integralStore.queryTodoResult.data[0]?.taskName; globalStore.taskCompleteTitle = integralStore.queryTodoResult.data[0]?.taskName;
...@@ -195,17 +175,17 @@ onMounted(async () => { ...@@ -195,17 +175,17 @@ onMounted(async () => {
// globalStore.isShowTaskComplete = true;//????????? // globalStore.isShowTaskComplete = true;//?????????
//任务奖品 //任务奖品
await checkAndUpdateTaskResult(); await checkAndUpdateTaskResult();
// 调用邀请活动首页接口 // 调用邀请活动首页接口
const integralStore = useIntegralStore(); const integralStore = useIntegralStore();
//获取邀请码和奖励 //获取邀请码和奖励
const res = await integralStore.getOriginInviteHome(); const res = await integralStore.getOriginInviteHome();
// const unionId = uni.getStorageSync('unionId'); // const unionId = uni.getStorageSync('unionId');
const unclaimedPrize = res.data?.unclaimedPrize; const unclaimedPrize = res.data?.unclaimedPrize;
if(res.success){ if (res.success) {
if(unclaimedPrize) { if (unclaimedPrize) {
globalStore.isShowInvitePrizePanel = true; globalStore.isShowInvitePrizePanel = true;
globalStore.inviteCount = res.data?.invitedCount; globalStore.inviteCount = res.data?.invitedCount;
globalStore.prizeName = unclaimedPrize?.prizeName; globalStore.prizeName = unclaimedPrize?.prizeName;
...@@ -218,7 +198,7 @@ onMounted(async () => { ...@@ -218,7 +198,7 @@ onMounted(async () => {
// 关闭了任务奖励弹窗 // 关闭了任务奖励弹窗
const handleCloseTaskCompleteTips = async () => { const handleCloseTaskCompleteTips = async () => {
globalStore.isShowTaskComplete = false; globalStore.isShowTaskComplete = false;
await checkAndUpdateTaskResult(); await checkAndUpdateTaskResult();
}; };
...@@ -226,24 +206,24 @@ const handleCloseTaskCompleteTips = async () => { ...@@ -226,24 +206,24 @@ const handleCloseTaskCompleteTips = async () => {
// 完成任务并显示完成提示 // 完成任务并显示完成提示
const handleTaskComplete = async (taskIdParam) => { const handleTaskComplete = async (taskIdParam) => {
taskId.value = 0; taskId.value = 0;
const integralStore = useIntegralStore(); const integralStore = useIntegralStore();
const res = await taskCompleteJSON(taskIdParam); const res = await taskCompleteJSON(taskIdParam);
console.log('taskCompleteJSON res:', res); console.log('taskCompleteJSON res:', res);
globalStore.isShowTaskComplete = true; globalStore.isShowTaskComplete = true;
globalStore.taskCompletePoints = res?.data?.actualCredits; globalStore.taskCompletePoints = res?.data?.actualCredits;
globalStore.taskCompleteTitle = res?.data?.taskName; globalStore.taskCompleteTitle = res?.data?.taskName;
//刷新签到和任务信息 //刷新签到和任务信息
await integralStore.getSigninAndTaskInfo(); await integralStore.getSigninAndTaskInfo();
}; };
onShow(async () => { onShow(async () => {
console.log('onShow--index'); console.log('onShow--index');
//完成了浏览任务 //完成了浏览任务
if(taskId.value > 0) { if (taskId.value > 0) {
await handleTaskComplete(taskId.value); await handleTaskComplete(taskId.value);
} }
}); });
onLoad((options) => { onLoad((options) => {
...@@ -312,94 +292,94 @@ onPageScroll((e) => { ...@@ -312,94 +292,94 @@ onPageScroll((e) => {
// }; // };
const handleCloseInvitePrizePanel = () => { const handleCloseInvitePrizePanel = () => {
globalStore.isShowInvitePrizePanel = false; globalStore.isShowInvitePrizePanel = false;
}; };
const handleInvitePrizePanelRecord = () => { const handleInvitePrizePanelRecord = () => {
console.log('查看邀请记录'); console.log('查看邀请记录');
globalStore.isShowInvitePrizePanel = false; globalStore.isShowInvitePrizePanel = false;
// 这里可以添加跳转到邀请记录页面的逻辑 // 这里可以添加跳转到邀请记录页面的逻辑
}; };
const handleInvitePrizePanelPrize = () => { const handleInvitePrizePanelPrize = () => {
console.log('查看奖品'); console.log('查看奖品');
globalStore.isShowInvitePrizePanel = false; globalStore.isShowInvitePrizePanel = false;
// 这里可以添加跳转到奖品页面的逻辑 // 这里可以添加跳转到奖品页面的逻辑
}; };
// 任务完成弹窗处理方法 // 任务完成弹窗处理方法
const handleCloseTaskComplete = () => { const handleCloseTaskComplete = () => {
globalStore.isShowTaskComplete = false; globalStore.isShowTaskComplete = false;
}; };
const handleAcceptTaskComplete = () => {//当前未用到 const handleAcceptTaskComplete = () => {//当前未用到
// console.log('接受任务完成奖励'); // console.log('接受任务完成奖励');
// globalStore.isShowTaskComplete = false; // globalStore.isShowTaskComplete = false;
// 这里可以添加接受奖励后的逻辑 // 这里可以添加接受奖励后的逻辑
}; };
// 任务弹窗处理方法 // 任务弹窗处理方法
const handleCloseTaskPop = () => { const handleCloseTaskPop = () => {
globalStore.closeTaskPop(); globalStore.closeTaskPop();
}; };
//去完成按钮,完成任务 //去完成按钮,完成任务
const handleTaskClick = async (data) => { const handleTaskClick = async (data) => {
console.log('任务点击:', data); console.log('任务点击:', data);
// 如果是完善信息任务,显示TaskPerson弹窗 // 如果是完善信息任务,显示TaskPerson弹窗
if (!data.task) { if (!data.task) {
uni.showToast({ uni.showToast({
title: '任务不存在', title: '任务不存在',
icon: 'none' icon: 'none'
}); });
return; return;
} }
// data.task.taskTodoExtra.type = 'FollowWx' // data.task.taskTodoExtra.type = 'FollowWx'
taskId.value = 0; taskId.value = 0;
switch (data.task.taskTodoExtra.type) { switch (data.task.taskTodoExtra.type) {
case 'Perfect': case 'Perfect':
globalStore.closeTaskPop(); // 先关闭TaskPop globalStore.closeTaskPop(); // 先关闭TaskPop
setTimeout(() => { setTimeout(() => {
globalStore.showTaskPerson(); // 延迟显示TaskPerson globalStore.showTaskPerson(); // 延迟显示TaskPerson
}, 100); }, 100);
break; break;
case 'BROWSE_PAGE'://浏览商城 case 'BROWSE_PAGE'://浏览商城
globalStore.closeTaskPop(); globalStore.closeTaskPop();
taskId.value = data?.task?.id; taskId.value = data?.task?.id;
// 这里可以设置任务ID用于后续完成检测 // 这里可以设置任务ID用于后续完成检测
const extra1 = JSON.parse(data?.task?.taskTodoExtra?.extra); const extra1 = JSON.parse(data?.task?.taskTodoExtra?.extra);
if(extra1.type == 'VIDEO') { if (extra1.type == 'VIDEO') {
showVideo.value = true; showVideo.value = true;
currentVideoUrl.value = extra1.url; currentVideoUrl.value = extra1.url;
} else if(extra1.type == 'GOODS'){ } else if (extra1.type == 'GOODS') {
let url = `subPackages/shopMainProcess/product/index?productId=${extra1.value}&skuId=${extra1.skuId}&entrySource=xmh_wechatmp_points_north`; let url = `subPackages/shopMainProcess/product/index?productId=${extra1.value}&skuId=${extra1.skuId}&entrySource=xmh_wechatmp_points_north`;
jump({ jump({
type: JumpType.MINI, type: JumpType.MINI,
url: url, url: url,
extra: {envVersion: "release", appId: "wx4205ec55b793245e",embedded: true} extra: { envVersion: "release", appId: "wx4205ec55b793245e", embedded: true }
}); });
}else if(extra1.type == 'PAGE' || extra1.type == 'MINI_APP'){ } else if (extra1.type == 'PAGE' || extra1.type == 'MINI_APP') {
jump({ jump({
type: JumpType.INNER, type: JumpType.INNER,
url: extra1.url url: extra1.url
}); });
}else if(extra1.type == 'MINI_APP_THIRD'){ } else if (extra1.type == 'MINI_APP_THIRD') {
jump({ jump({
type: JumpType.MINI, type: JumpType.MINI,
url: extra1.url, url: extra1.url,
extra: {envVersion: "release", appId: extra1.value,embedded: true} extra: { envVersion: "release", appId: extra1.value, embedded: true }
}); });
}else if(extra1.type == 'SELF_GOODS'){ } else if (extra1.type == 'SELF_GOODS') {
jump({ jump({
type: JumpType.INNER, type: JumpType.INNER,
url: `/v3/goodDetail/goodDetail?gid=${extra1.value}` url: `/v3/goodDetail/goodDetail?gid=${extra1.value}`
}); });
}else{ } else {
jump({ jump({
type: JumpType.H5, type: JumpType.H5,
url: extra1.url url: extra1.url
...@@ -407,163 +387,163 @@ const handleTaskClick = async (data) => { ...@@ -407,163 +387,163 @@ const handleTaskClick = async (data) => {
} }
// console.log('extra66666:', extra1); // console.log('extra66666:', extra1);
break; break;
case 'FirstOrder'://完成首单优选消费 case 'FirstOrder'://完成首单优选消费
const extra2 = JSON.parse(data?.task?.taskTodoExtra?.extra); const extra2 = JSON.parse(data?.task?.taskTodoExtra?.extra);
console.log('extra666661111:', extra2); console.log('extra666661111:', extra2);
jump({ jump({
type: JumpType.MINI, type: JumpType.MINI,
url: 'subPackages/xmhMainProcess/member/index?entrySource=xmh_wechatmp_points_recgoodsbot', url: 'subPackages/xmhMainProcess/member/index?entrySource=xmh_wechatmp_points_recgoodsbot',
extra: {envVersion: "release", appId: "wx4205ec55b793245e",embedded: true} extra: { envVersion: "release", appId: "wx4205ec55b793245e", embedded: true }
}); });
break; break;
case 'EXCHANGE_GOODS'://消费商品 case 'EXCHANGE_GOODS'://消费商品
const extra3 = JSON.parse(data?.task?.taskTodoExtra?.extra); const extra3 = JSON.parse(data?.task?.taskTodoExtra?.extra);
if(extra3.length > 0) { if (extra3.length > 0) {
let url = 'subPackages/shopMainProcess/product/index?productId={productId}&skuId={skuId}&entrySource=xmh_wechatmp_points_north'; let url = 'subPackages/shopMainProcess/product/index?productId={productId}&skuId={skuId}&entrySource=xmh_wechatmp_points_north';
url = url.replace('{productId}', extra3[0].itemId).replace('{skuId}', extra3[0].skuId); url = url.replace('{productId}', extra3[0].itemId).replace('{skuId}', extra3[0].skuId);
jump({ jump({
type: JumpType.MINI, type: JumpType.MINI,
url: url, url: url,
extra: {envVersion: "release", appId: "wx4205ec55b793245e",embedded: true} extra: { envVersion: "release", appId: "wx4205ec55b793245e", embedded: true }
}) })
} }
break; break;
case 'FollowWx'://关注公众号 case 'FollowWx'://关注公众号
globalStore.closeTaskPop(); // 先关闭TaskPop globalStore.closeTaskPop(); // 先关闭TaskPop
setTimeout(() => { setTimeout(() => {
// 设置公众号弹窗参数 // 设置公众号弹窗参数
gongzhonghaoTitle.value = '公众号'; gongzhonghaoTitle.value = '公众号';
gongzhonghaoDescription.value = '长按关注星妈会公众号,了解更多专业育儿资讯'; gongzhonghaoDescription.value = '长按关注星妈会公众号,了解更多专业育儿资讯';
gongzhonghaoQrCodeUrl.value = 'https://course.feihe.com/momclub-picture/homepage/qrcode_gzh.png'; gongzhonghaoQrCodeUrl.value = 'https://course.feihe.com/momclub-picture/homepage/qrcode_gzh.png';
showGongzhonghaoPop.value = true; // 延迟显示公众号弹窗 showGongzhonghaoPop.value = true; // 延迟显示公众号弹窗
}, 100); }, 100);
break; break;
case 'AddQw'://添加企业微信 case 'AddQw'://添加企业微信
globalStore.closeTaskPop(); // 先关闭TaskPop globalStore.closeTaskPop(); // 先关闭TaskPop
setTimeout(() => { setTimeout(() => {
// 设置公众号弹窗参数 // 设置公众号弹窗参数
gongzhonghaoTitle.value = '企业微信'; gongzhonghaoTitle.value = '企业微信';
gongzhonghaoDescription.value = '长按添加星妈管家,享受专家问诊与社群福利活动'; gongzhonghaoDescription.value = '长按添加星妈管家,享受专家问诊与社群福利活动';
gongzhonghaoQrCodeUrl.value = 'https://course.feihe.com/momclub-picture/homepage/qrcode_qw.png'; gongzhonghaoQrCodeUrl.value = 'https://course.feihe.com/momclub-picture/homepage/qrcode_qw.png';
showGongzhonghaoPop.value = true; // 延迟显示企业微信弹窗 showGongzhonghaoPop.value = true; // 延迟显示企业微信弹窗
}, 100); }, 100);
break;
case 'Register'://注册会员
// 这里可以处理注册逻辑
uni.showToast({
title: '请先注册会员',
icon: 'none'
});
break; break;
case 'Register'://注册会员 default:
// 这里可以处理注册逻辑 uni.showToast({
uni.showToast({ title: '任务类型不支持',
title: '请先注册会员', icon: 'none'
icon: 'none' });
}); break;
break; }
default:
uni.showToast({
title: '任务类型不支持',
icon: 'none'
});
break;
}
}; };
// 任务信息弹窗处理方法 // 任务信息弹窗处理方法
const handleCloseTaskPerson = () => { const handleCloseTaskPerson = () => {
globalStore.closeTaskPerson(); globalStore.closeTaskPerson();
}; };
// 关闭公众号弹窗 // 关闭公众号弹窗
const handleCloseGongzhonghaoPop = () => { const handleCloseGongzhonghaoPop = () => {
showGongzhonghaoPop.value = false; showGongzhonghaoPop.value = false;
} }
// 处理下载二维码 // 处理下载二维码
const handleDownloadQrCode = (title) => { const handleDownloadQrCode = (title) => {
console.log('下载二维码', title); console.log('下载二维码', title);
// 这里可以添加下载二维码的具体逻辑 // 这里可以添加下载二维码的具体逻辑
// '公众号', '企业微信' // '公众号', '企业微信'
md.sensorLogTake({ md.sensorLogTake({
xcxClick: `${title}拉起半屏二维码入口页面点击`, xcxClick: `${title}拉起半屏二维码入口页面点击`,
pageName: `${title}拉起半屏二维码入口页面点击`, pageName: `${title}拉起半屏二维码入口页面点击`,
buttonName: `下载二维码` buttonName: `下载二维码`
}); });
if (title === '公众号') { if (title === '公众号') {
const courseUrl = 'https://course.feihe.com/momclub-picture/homepage/qrcode_gzh.png'; const courseUrl = 'https://course.feihe.com/momclub-picture/homepage/qrcode_gzh.png';
downloadQrCode(courseUrl); downloadQrCode(courseUrl);
} else if (title === '企业微信') { } else if (title === '企业微信') {
const courseUrl = 'https://course.feihe.com/momclub-picture/homepage/qrcode_qw.png'; const courseUrl = 'https://course.feihe.com/momclub-picture/homepage/qrcode_qw.png';
downloadQrCode(courseUrl); downloadQrCode(courseUrl);
} }
} }
const downloadQrCode = (imgurl) => {//现在二维码图片 const downloadQrCode = (imgurl) => {//现在二维码图片
uni.downloadFile({ uni.downloadFile({
url: imgurl, url: imgurl,
success: (downloadRes) => { success: (downloadRes) => {
if (downloadRes.statusCode === 200) { if (downloadRes.statusCode === 200) {
uni.saveImageToPhotosAlbum({ uni.saveImageToPhotosAlbum({
filePath: downloadRes.tempFilePath, filePath: downloadRes.tempFilePath,
success: (res) => { success: (res) => {
uni.showToast({ uni.showToast({
title: '保存成功', title: '保存成功',
icon: 'success' icon: 'success'
}); });
}, },
fail: (err) => { fail: (err) => {
uni.showToast({ uni.showToast({
title: '保存失败', title: '保存失败',
icon: 'none' icon: 'none'
}); });
} }
}); });
} else { } else {
uni.showToast({ uni.showToast({
title: '下载失败', title: '下载失败',
icon: 'none' icon: 'none'
}); });
} }
}, },
fail: (err) => { fail: (err) => {
uni.showToast({ uni.showToast({
title: '下载失败', title: '下载失败',
icon: 'none' icon: 'none'
}); });
} }
}); });
} }
const handleTaskPersonSubmit = (formData) => { const handleTaskPersonSubmit = (formData) => {
console.log('任务信息提交:', formData); console.log('任务信息提交:', formData);
globalStore.closeTaskPerson(); globalStore.closeTaskPerson();
// 可以显示成功提示 // 可以显示成功提示
uni.showToast({ uni.showToast({
title: '信息提交成功', title: '信息提交成功',
icon: 'success' icon: 'success'
}); });
}; };
// 视频弹窗相关方法 // 视频弹窗相关方法
const closeVideo = async () => { const closeVideo = async () => {
//完成了浏览任务 //完成了浏览任务
if(taskId.value > 0) { if (taskId.value > 0) {
await handleTaskComplete(taskId.value); await handleTaskComplete(taskId.value);
} }
showVideo.value = false; showVideo.value = false;
currentVideoUrl.value = ''; currentVideoUrl.value = '';
}; };
const onVideoLoadedMeta = (e) => { const onVideoLoadedMeta = (e) => {
const { width, height } = e.detail; const { width, height } = e.detail;
const pageWidth = uni.upx2px(750); const pageWidth = uni.upx2px(750);
const ratio = height / width; const ratio = height / width;
videoWidth.value = pageWidth; videoWidth.value = pageWidth;
videoHeight.value = pageWidth;// pageWidth * ratio; videoHeight.value = pageWidth;// pageWidth * ratio;
}; };
const onVideoPlay = () => { const onVideoPlay = () => {
console.log('视频播放'); console.log('视频播放');
}; };
</script> </script>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment