zyejMAll-mobile/pages/user/user_vip/index.vue

590 lines
179 KiB
Vue
Raw Normal View History

2024-09-26 19:21:16 +08:00
<template>
2024-09-27 18:36:26 +08:00
<s-layout title="会员中心">
2024-09-26 19:21:16 +08:00
<view class="memberVip">
<!-- 基本信息 -->
<view class="bg">
<view class="header">
<view class="picTxt acea-row row-middle">
<!-- <view class="pictrue">
<image :src="userInfo.avatar" />
</view> -->
<view class="text acea-row row-middle">
<view class="name line1">
<!-- {{ userInfo.nickname }} -->
2024-11-04 11:13:41 +08:00
{{userInfo.nickname}}
2024-09-26 19:21:16 +08:00
</view>
<!-- <view class="vip" v-if='userInfo.level'> -->
<view class="vip">
<!-- <image src="userInfo.level.icon" /> -->
<!-- {{ userInfo.level.name }} -->
2024-11-04 11:13:41 +08:00
{{userInfo.level.name}}
2024-09-26 19:21:16 +08:00
</view>
</view>
</view>
</view>
<!-- 会员卡信息 -->
2024-09-27 18:36:26 +08:00
<zmxy-slideshow :items="levelList" :autoplay="false"></zmxy-slideshow>
2024-09-26 19:21:16 +08:00
<!-- TODO -->
<view class="experience">
2024-11-04 11:13:41 +08:00
<view class="title">当前经验值:{{userInfo.experience}}</view>
2024-09-26 19:21:16 +08:00
<view class="num">
<!-- {{ userInfo.experience }} -->
</view>
<view class="axis">
<view class="bar">
<view class="barCon">
<!-- <view class="solidBar" :style="'width: ' + widthLen +'%;'"></view> -->
<view class="solidBar"></view>
</view>
<view class="acea-row row-around row-middle">
<!-- <view class="spotw acea-row row-center" v-for="(item,index) in levelList" :key='index'> -->
<view class="spotw acea-row row-center">
<!-- <view class="spot"
:class="current > item.experience?'past':'' + ' ' + current === item.experience?'on':''">
</view> -->
<view class="spot">
</view>
</view>
</view>
</view>
<view class="numList acea-row row-around row-middle">
<!-- <view class="item" :class="current >= item.experience?'past':''"
v-for="(item,index) in levelList" :key="index">{{item.experience}}
</view> -->
<view class="item">
</view>
</view>
</view>
<!-- 各种描述没有逻辑 -->
<view class="vipList acea-row">
<view class="item">
<view class="pictrue">
<image
src="https://zysc.fjptzykj.com:3000/shangcheng/a76960e858aa07041f4bcdda5b085ce86e45bca97dab29b5438a544901d6ccb9.png">
</image>
</view>
<view class="name">会员折扣</view>
</view>
<view class="item">
<view class="pictrue">
<image
src="https://zysc.fjptzykj.com:3000/shangcheng/ff7742ad6ffacad57259622b5fa6bd782632dcc11297f22c8b6775419630877f.png">
</image>
</view>
<view class="name">专属徽章</view>
</view>
<view class="item">
<view class="pictrue">
<image
src="https://zysc.fjptzykj.com:3000/shangcheng/15f401f434376a9f0852e110aaf56b9a09410350be4e1ad696742b6334b565b5.png">
</image>
</view>
<view class="name">会员升级</view>
</view>
<view class="item">
<view class="pictrue">
<image
src="https://zysc.fjptzykj.com:3000/shangcheng/9d89ea97ebbbfa7e94a454a0f3b30c33dbdfec228db38d46c88126f599df309c.png">
</image>
</view>
<view class="name">经验积累</view>
</view>
<view class="item">
<view class="pictrue">
<image
src="https://zysc.fjptzykj.com:3000/shangcheng/eb35eb546e82b8a3501e4796bb14d49631ee6817478309c48b8fa959ec586f6b.png">
</image>
</view>
<view class="name">更多特权</view>
</view>
</view>
</view>
<!-- 引导攒经验 -->
<view class="module">
<view class="public_title acea-row row-middle">
<view class="icons"></view>获取经验
</view>
<view class="gainList">
<view class="item acea-row row-between-wrapper">
<view class="picTxt acea-row row-middle">
2024-09-30 19:00:13 +08:00
<view class="pictrue">
<image class="image" src="https://zysc.fjptzykj.com:3000/shangcheng/8c41ddea7b60d110ca636da8292a08493f52cc1009f1e15d2aaaa0c8351fc31f.png" />
</view>
2024-09-26 19:21:16 +08:00
<view class="text">
<view class="name line1">签到</view>
<view class="info line1">每日签到可获得经验值</view>
</view>
</view>
2024-09-27 18:36:26 +08:00
<navigator url='/pages/app/sign' class="button" hover-class="none">去获取
2024-09-26 19:21:16 +08:00
</navigator>
</view>
<view class="item acea-row row-between-wrapper">
<view class="picTxt acea-row row-middle">
2024-09-30 19:00:13 +08:00
<view class="pictrue on">
<image class="image" src="https://zysc.fjptzykj.com:3000/shangcheng/d0ac57f04dcea0c24340899ec45772d1d323d161a2ff021bb1851416b69f0b52.png" />
</view>
2024-09-26 19:21:16 +08:00
<view class="text">
<view class="name line1">购买商品</view>
<view class="info line1">购买商品可获得对应是经验值</view>
</view>
</view>
2024-11-04 11:13:41 +08:00
<!-- <navigator class="button" hover-class="none" open-type='switchTab'>去获取</navigator> -->
<view class="button" @click="sheep.$router.redirect('/pages/index/category')">去获取</view>
2024-09-26 19:21:16 +08:00
</view>
</view>
</view>
</view>
<!-- 经验列表 -->
<!-- <view class="detailed" v-if="expList.length"> -->
<!-- <view class="detailed">
<view class="public_title acea-row row-middle">
<view class="icons" />经验值明细
</view>
<view class="list">
<view class="item acea-row row-between-wrapper" v-for="(item,index) in expList" :key="index">
<view class="text">
<view class="name">
{{ item.title }}
</view>
<view class="data">
{{ formatDate(item.createTime) }}
</view>
</view>
<view class="num" v-if="item.experience > 0">+{{ item.experience }}</view>
+{{ item.experience }}
</view>
<view class="num on" v-else>
{{item.experience}}
</view>
</view>
</view>
</view> -->
<!-- <view class='loadingicon acea-row row-center-wrapper' v-if="expList.length"> -->
<view class='loadingicon acea-row row-center-wrapper'>
<text class='loading iconfont icon-jiazai' :hidden='!loading' />
<!-- {{loadTitle}} -->
</view>
<!-- <home></home> -->
</view>
</s-layout>
</template>
2024-09-27 18:36:26 +08:00
<script setup>
2024-11-04 11:13:41 +08:00
import {
computed
} from 'vue';
import sheep from '@/sheep';
2024-09-27 18:36:26 +08:00
import {
ref,
reactive,
onMounted
} from 'vue';
import home from './home/index.vue';
import {
mapGetters
} from "vuex";
import getExper from '@/sheep/api/member/level';
2024-11-04 11:13:41 +08:00
const userInfo = computed(() => sheep.$store('user').userInfo);
console.log(userInfo.value,"isLoginisLogin")
2024-09-27 18:36:26 +08:00
// import dayjs from './dayjs/dayjs.min.js';
// const store = useStore();
// const userInfo = computed(() => store.state.userInfo);
const levelList = ref([]); // 会员等级列表
const current = ref(0); // 当前等级的经验
const widthLen = ref(0);
const loading = ref(false);
const loadend = ref(false);
const loadTitle = ref('加载更多'); // 提示语
const page = ref(1);
const limit = ref(20);
const expList = ref([]);
// const items = ref([{
// url: 'https://zysc.fjptzykj.com:3000/shangcheng/94eaaae47569b35cd1f06f2507b0b56f7b597b82b359ee9fb90fd9db630e64cc.png',
// }, {
// url: 'https://zysc.fjptzykj.com:3000/shangcheng/6cb1566a669a2d0a0d043df9d69341fbb9e386fd08fea0bb5288e3baf8543553.png',
2024-09-26 19:21:16 +08:00
2024-09-27 18:36:26 +08:00
// }]);
const items = ref([]);
2024-09-26 19:21:16 +08:00
2024-09-27 18:36:26 +08:00
const getInfo = async () => {
try {
const res = await getExper.getLevelList();
levelList.value = res.data;
// levelList.value = res.data.map(member => member.backgroundUrl);
// 获得当前等级对应的经验
let list = [];
levelList.value.forEach((item) => {
if (item.experience <= userInfo.value.experience) {
list.push(item.experience);
}
});
const maxn = Math.max(...list);
current.value = maxn;
2024-09-26 19:21:16 +08:00
2024-09-27 18:36:26 +08:00
// 解决len取的值没有时
const levelListLen = list.length > 0 ? levelList.value[list.length - 1] : levelList.value[0];
// 解决除数不能为0
const divisor = levelListLen.experience - maxn || 1;
// 每小格所占的百分比
const per = (userInfo.value.experience - maxn) / divisor / levelList.value.length;
widthLen.value = ((list.length - 0.5) / levelList.value.length) * 100 + per * 100;
} catch (res) {
// 处理错误
}
};
const getlevelList = async () => {
if (loadend.value || loading.value) {
return false;
}
loading.value = true;
try {
const res = await LevelApi.getExperienceRecordPage({
pageNo: page.value,
pageSize: limit.value
});
const list = res.data.list;
const loadendNew = list.length < limit.value;
expList.value = [...expList.value, ...list];
loadend.value = loadendNew;
loadTitle.value = loadendNew ? '我也是有底线的' : '加载更多';
page.value++;
loading.value = false;
} catch (err) {
loading.value = false;
loadTitle.value = '加载更多';
}
};
2024-09-26 19:21:16 +08:00
2024-09-27 18:36:26 +08:00
onMounted(() => {
getInfo();
getlevelList();
});
2024-09-26 19:21:16 +08:00
</script>
<style lang="scss">
2024-09-30 19:00:13 +08:00
.image {
width: 22px;
height: 22px;
margin-top: 7px;
}
2024-09-26 19:21:16 +08:00
.swiper {
position: relative;
top: -288px;
2024-09-26 19:21:16 +08:00
.new-img {
width: 90%;
2024-09-27 18:36:26 +08:00
height: 150px;
display: block;
margin: 0 auto;
2024-09-26 19:21:16 +08:00
}
}
2024-09-30 19:00:13 +08:00
2024-09-26 19:21:16 +08:00
.acea-row {
display: flex;
-webkit-box-lines: multiple;
-moz-box-lines: multiple;
-o-box-lines: multiple;
flex-wrap: wrap
}
.memberVip {
.bg {
background-color: #fff;
.header {
// background-image: url('data:image/png;base64,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
background-repeat: no-repeat;
background-size: 100% 100%;
width: 100%;
height: 348px;
2024-09-26 19:21:16 +08:00
background-color: #3b5086;
.picTxt {
padding: 28rpx 39rpx;
.pictrue {
width: 70rpx;
height: 70rpx;
border-radius: 50%;
image {
width: 100%;
height: 100%;
border-radius: 50%;
}
}
.text {
color: #FAE2C1;
margin-left: 23rpx;
.name {
max-width: 385rpx;
}
.vip {
padding: 6rpx 18rpx;
border: 1px solid rgba(250, 226, 193, 1);
border-radius: 20rpx;
font-size: 18rpx;
margin-left: 15rpx;
display: flex;
align-items: center;
image {
width: 20rpx;
height: 20rpx;
border-radius: 50%;
margin-right: 8rpx;
}
}
}
}
}
.experience {
background-image: url('data:image/jpg;base64,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
background-repeat: no-repeat;
background-size: 100% 100%;
width: 690rpx;
height: 144px;
margin: -275px auto 0 auto;
2024-09-26 19:21:16 +08:00
border-radius: 23rpx;
padding: 22rpx 27rpx;
box-sizing: border-box;
.title {
font-size: 24rpx;
color: #AE8B4A;
}
.num {
font-size: 60rpx;
color: #775C29;
margin-top: 6rpx;
}
.axis {
margin: 10rpx 0 15rpx 0;
overflow: hidden;
.bar {
width: 630rpx;
.spotw {
width: 96rpx;
}
.barCon {
width: 100%;
height: 3rpx;
background: #D7BD89;
border-radius: 2rpx;
.solidBar {
width: 0;
height: 100%;
background: #775C29;
border-radius: 2rpx;
transition: width 0.6s ease;
}
}
.spot {
width: 8rpx;
height: 8rpx;
background: #D7BD89;
border-radius: 50%;
margin-top: -5rpx;
&.past {
background: #775C29;
}
&.on {
background: #775C29;
box-shadow: 0rpx 0rpx 8rpx #000;
}
}
}
.numList {
font-size: 26rpx;
color: #D7BD89;
margin-top: 14rpx;
.item {
width: 96rpx;
text-align: center;
&.past {
color: #775C29;
}
}
}
}
.vipList {
.item {
width: 20%;
text-align: center;
.pictrue {
width: 70rpx;
height: 70rpx;
margin: 0 auto;
image {
width: 100%;
height: 100%;
}
}
.name {
font-size: 24rpx;
color: #403D4E;
margin-top: 18rpx;
}
}
}
}
.module {
padding: 40rpx 30rpx 0 30rpx;
.gainList {
margin-top: 10rpx;
.item {
height: 130rpx;
position: relative;
align-items: center;
.picTxt {
.pictrue {
width: 70rpx;
height: 70rpx;
border-radius: 50%;
background: linear-gradient(-45deg, rgba(249, 119, 107, 1) 0%, rgba(255, 147, 137, 1) 100%);
text-align: center;
line-height: 70rpx;
color: #fff;
&.on {
background: linear-gradient(-45deg, rgba(254, 160, 96, 1) 0%, rgba(255, 204, 170, 1) 100%);
}
&.on2 {
background: linear-gradient(-45deg, rgba(157, 208, 116, 1) 0%, rgba(161, 214, 124, 1) 100%);
}
}
.text {
margin-left: 30rpx;
width: 400rpx;
.name {
font-size: 30rpx;
color: #282828;
}
.info {
font-size: 24rpx;
color: #999999;
margin-top: 6rpx;
}
}
}
.button {
2024-09-30 19:00:13 +08:00
display: flex;
justify-content: center; /* 水平居中 */
align-items: center;
2024-09-26 19:21:16 +08:00
width: 140rpx;
height: 50rpx;
background: linear-gradient(-90deg, rgba(231, 182, 103, 1) 0%, rgba(255, 234, 181, 1) 100%);
border-radius: 25rpx;
text-align: center;
line-height: 50rpx;
font-size: 26rpx;
color: #8D5306;
}
&~.item {
&::after {
position: absolute;
content: ' ';
width: 720rpx;
height: 1rpx;
background: rgba(245, 245, 245, 1);
top: 0;
left: 0;
}
}
}
}
}
}
.public_title {
color: #282828;
font-size: 30rpx;
align-items: center;
2024-09-26 19:21:16 +08:00
.icons {
width: 6rpx;
height: 28rpx;
background: rgba(230, 192, 131, 1);
margin-right: 10rpx;
}
}
.detailed {
padding: 30rpx 30rpx 0 30rpx;
margin-top: 15rpx;
background-color: #fff;
.list {
margin-top: 15rpx;
.item {
height: 122rpx;
border-bottom: 1px solid #EEEEEE;
.text {
.name {
font-size: 28rpx;
color: #282828;
}
.data {
color: #999;
font-size: 24rpx;
}
}
.num {
font-size: 32rpx;
// color: $theme-color;
}
.on {
color: #16AC57;
}
}
}
}
}
</style>