<template>
|
<view class="share">
|
<view class="head" :style="{ height: 'calc(' + (navHeight + statusbarHeight + 'px)') }">
|
<view class="head-bar" :style="{ height: navHeight + statusbarHeight + 'px' }">
|
<view :style="{ width: '100%', height: statusbarHeight + 'px' }"></view>
|
<view class="head-bar-nav" :style="{ height: navHeight + 'px' }" @click="jumpBack">
|
<image src="/static/icon/nav_ic_back@2x.png" mode="widthFix"></image>
|
<text>分享</text>
|
</view>
|
</view>
|
</view>
|
<view class="image" v-if="backgroundImge" :style="{ backgroundImage: 'url(' + backgroundImge + ')', top: -navHeight + 'px' }">
|
<view class="info-rule" @click="jumpService">积分规则</view>
|
</view>
|
<view class="list">
|
<view class="list-item">
|
<view class="list-item-list">
|
<view class="list-item-list-item">
|
<image src="/static/icon/yaoqing_ic_a@2x.png" mode="widthFix"></image>
|
<text>邀请好友</text>
|
</view>
|
<image class="list-item-list-next" src="/static/icon/yaoqing_ic_ar@2x.png" mode="widthFix"></image>
|
<view class="list-item-list-item">
|
<image src="/static/icon/yaoqing_ic_b@2x.png" mode="widthFix"></image>
|
<text>好友首次登录获积分</text>
|
</view>
|
<image class="list-item-list-next" src="/static/icon/yaoqing_ic_ar@2x.png" mode="widthFix"></image>
|
<view class="list-item-list-item">
|
<image src="/static/icon/yaoqing_ic_c@2x.png" mode="widthFix"></image>
|
<text>完成首单获优惠券</text>
|
</view>
|
</view>
|
<view class="list-item-btn" >
|
<button class="list-item-btn" open-type="share">立即邀请</button>
|
</view>
|
<view class="list-item-tips">成功邀请好友可享任务好礼</view>
|
</view>
|
<view class="list-item" style="margin-bottom: 40rpx;">
|
<view class="list-item-cate">
|
<view class="list-item-cate-item">
|
<text>已成功邀请(人)</text>
|
<text>{{info.inviteNum || 0}}</text>
|
</view>
|
<view class="list-item-cate-item">
|
<text>积分奖励</text>
|
<text>{{info.num || 0}}</text>
|
</view>
|
<view class="list-item-cate-item" @click="jumpCoupon()">
|
<text>优惠券奖励</text>
|
<text>查看</text>
|
</view>
|
</view>
|
</view>
|
<view class="list-item" style="padding-top: 50rpx; box-sizing: border-box;" v-if="info.inviteRecordList && info.inviteRecordList.length">
|
<view class="list-item-top">
|
<image src="/static/images/yaoqing_title@2x.png" mode="widthFix"></image>
|
</view>
|
<template v-if="info.inviteRecordList && info.inviteRecordList.length">
|
<view class="list-item-row" v-for="(item, index) in info.inviteRecordList" :key="index">
|
<view class="user">
|
<view class="user-image">
|
<image :src="item.imgUrl?item.imgUrl:'/static/icon/default.png'" mode="widthFix"></image>
|
</view>
|
<view class="user-info">
|
<text>{{item.memberName || item.memberNickname || ''}}</text>
|
<text>{{item.createDate || ''}}</text>
|
</view>
|
</view>
|
<view class="statis" v-if="item.firstOrderStatus ===1" >完成首单</view>
|
<view class="statis" v-if="item.firstOrderStatus !==1" >已注册</view>
|
</view>
|
</template>
|
</view>
|
</view>
|
</view>
|
</template>
|
<script>
|
import { mapState } from 'vuex'
|
export default {
|
computed: {
|
...mapState(['navHeight', 'statusbarHeight','userInfo'])
|
},
|
data() {
|
return {
|
backgroundImge: null,
|
info:{}
|
}
|
},
|
onShow(){
|
if(this.userInfo && this.userInfo.id){
|
this.getDataList()
|
}
|
},
|
onShareAppMessage() {
|
var path = `/pages/index/index?ref=${Date.now()}`;
|
if(this.userInfo && this.userInfo.id){
|
path = `/pages/index/index?userId=${this.userInfo.id}&ref=${Date.now()}`
|
}
|
return {
|
title: '鼎元农机商城-邀请好友',
|
path:path,
|
imageUrl: "/static/images/share.jpg"
|
}
|
},
|
onLoad(){
|
this.getBase64Img('/static/images/fenxiang_ic@2x.png')
|
},
|
methods:{
|
async getDataList(){
|
var that =this
|
let res = await that.$u.api.getInviteInfo();
|
if (res.code === 200 ) {
|
if ( res.data ) {
|
that.info=res.data || {}
|
}
|
}
|
},
|
getBase64Img(path){
|
var that =this
|
uni.getFileSystemManager().readFile({
|
filePath: path, // 替换为你的图片路径
|
encoding: 'base64',
|
success: (res) => {
|
const base64Data = 'data:image/png;base64,' + res.data; // 拼接前缀,用于页面显示
|
that.backgroundImge = base64Data;
|
},
|
fail: (err) => {
|
console.error('读取图片失败:', err);
|
}
|
});
|
},
|
jumpService() {
|
uni.navigateTo({
|
url: '/pagesA/pages/rich-text-page/rich-text-page?flag='+2
|
})
|
},
|
jumpBack(){
|
uni.navigateBack({delta:1})
|
},
|
jumpCoupon(){
|
uni.navigateTo({
|
url:"/pages/coupon/coupon"
|
})
|
}
|
}
|
}
|
</script>
|
|
<style lang="scss" scoped>
|
.share {
|
.info-rule{
|
width: 30rpx;
|
background: rgba(0,0,0,0.4);
|
border-radius: 20rpx 0rpx 0rpx 20rpx;
|
|
float: right;
|
margin-top:150rpx;
|
// height: 52rpx;
|
padding: 16rpx 16rpx;
|
|
font-family: PingFangSC, PingFang SC;
|
font-weight: 400;
|
font-size: 26rpx;
|
color: #FFFFFF;
|
line-height: 32rpx;
|
text-align: right;
|
font-style: normal;
|
}
|
width: 100%;
|
background: linear-gradient( 180deg, #FE6D27 0%, #B11F00 100%);
|
.head {
|
width: 100%;
|
height: 424rpx;
|
padding: 0 30rpx;
|
position: sticky;
|
top: 0;
|
left: 0;
|
z-index: 999;
|
box-sizing: border-box;
|
position: sticky;
|
top: 0;
|
left: 0;
|
z-index: 999;
|
.head-bar {
|
width: 100%;
|
|
.head-bar-nav {
|
width: 100%;
|
display: flex;
|
align-items: center;
|
image {
|
width: 44rpx;
|
height: 44rpx;
|
}
|
text {
|
font-weight: 500;
|
font-size: 32rpx;
|
color: #FFFFFF;
|
}
|
}
|
}
|
}
|
.image {
|
width: 100%;
|
height: 674rpx;
|
background-repeat: no-repeat;
|
background-size: 100% 100%;
|
position: relative;
|
left: 0;
|
}
|
.list {
|
width: 100%;
|
padding: 0 30rpx;
|
box-sizing: border-box;
|
position: relative;
|
top: -210rpx;
|
left: 0;
|
.list-item {
|
width: 100%;
|
padding: 30rpx 0;
|
box-sizing: border-box;
|
background: #FFFFFF;
|
border-radius: 20rpx;
|
margin-bottom: 20rpx;
|
position: relative;
|
&:last-child {
|
margin: 0 !important;
|
}
|
.list-item-top {
|
width: 354rpx;
|
height: 72rpx;
|
position: absolute;
|
top: -24rpx;
|
left: 50%;
|
z-index: 999;
|
transform: translate(-50%, 0);
|
image {
|
width: 100%;
|
height: 100%;
|
}
|
}
|
.list-item-row {
|
width: 100%;
|
padding: 30rpx 32rpx;
|
box-sizing: border-box;
|
border-bottom: 1rpx solid #E5E5E5;
|
display: flex;
|
align-items: center;
|
.user {
|
flex: 1;
|
display: flex;
|
align-items: center;
|
.user-image {
|
width: 80rpx;
|
height: 80rpx;
|
border-radius: 50%;
|
overflow: hidden;
|
margin-right: 16rpx;
|
image {
|
width: 100%;
|
}
|
}
|
.user-info {
|
height: 80rpx;
|
display: flex;
|
flex-direction: column;
|
justify-content: space-between;
|
text {
|
&:nth-child(1) {
|
font-weight: 600;
|
font-size: 30rpx;
|
color: #333333;
|
}
|
&:nth-child(2) {
|
font-weight: 400;
|
font-size: 24rpx;
|
color: #999999;
|
}
|
}
|
}
|
}
|
.statis {
|
font-weight: 400;
|
font-size: 26rpx;
|
color: #E4001D;
|
}
|
}
|
.list-item-cate {
|
width: 100%;
|
display: flex;
|
align-items: center;
|
.list-item-cate-item {
|
flex: 1;
|
height: 98rpx;
|
display: flex;
|
flex-direction: column;
|
align-items: center;
|
justify-content: center;
|
justify-content: space-between;
|
border-right: 1rpx solid #EEEEEE;
|
&:last-child {
|
border: none;
|
}
|
text {
|
&:nth-child(1) {
|
font-weight: 400;
|
font-size: 24rpx;
|
color: #333333;
|
}
|
&:nth-child(2) {
|
font-weight: 600;
|
font-size: 34rpx;
|
color: #E4001D;
|
}
|
}
|
}
|
}
|
.list-item-list {
|
width: 100%;
|
display: flex;
|
align-items: center;
|
justify-content: space-between;
|
.list-item-list-item {
|
flex: 1;
|
display: flex;
|
flex-direction: column;
|
justify-content: center;
|
align-items: center;
|
image {
|
width: 88rpx;
|
height: 88rpx;
|
}
|
text {
|
font-weight: 400;
|
font-size: 24rpx;
|
color: #333333;
|
margin-top: 10rpx;
|
}
|
}
|
.list-item-list-next {
|
flex-shrink: 0;
|
width: 14rpx;
|
height: 16rpx;
|
}
|
}
|
.list-item-btn {
|
width: 594rpx;
|
height: 80rpx;
|
line-height: 80rpx;
|
text-align: center;
|
background: linear-gradient( 90deg, #FF2E0F 0%, #FF6241 100%);
|
box-shadow: 0rpx 4rpx 16rpx 0rpx rgba(255,63,35,0.36);
|
border-radius: 44rpx;
|
font-weight: 600;
|
font-size: 32rpx;
|
color: #FFFFFF;
|
margin: 0 auto;
|
margin-top: 36rpx;
|
}
|
.list-item-tips {
|
width: 100%;
|
text-align: center;
|
margin-top: 32rpx;
|
font-weight: 400;
|
font-size: 24rpx;
|
color: #666666;
|
}
|
}
|
}
|
}
|
</style>
|