You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

794 lines
20 KiB

<template>
<view>
<!-- <view class="status_bar"></view> -->
<!-- <view style="display: none;" class="one" v-show="isTop">
<image src="../../static/img/left_white.png" mode="" @click="backTo"></image>
<image src="/static/img/dope plus_white.png" mode="" class="index_logo"></image>
</view> -->
<view class="account_info padding_account" :style="{background:`url(${userbg})`}">
<image src="../../static/icon/nologin2.png" mode="" class="header_img"
v-show="!user_info.isLogin||!user_info.user_head"></image>
<image :src="user_info.user_head" mode="" class="header_img" v-show="user_info.isLogin&&user_info.user_head"
@click="seeImg()"></image>
<!-- <image :src="user_info.user_head?user_info.user_head:user_info.headicons[5]" mode="" class="header_img" v-if="user_info.isLogin"></image> -->
<view class="info_name" v-if="!user_info.isLogin">
<navigator class="info_name_a" url="/pages/login/index">
LOGIN / SIGUP>
</navigator>
</view>
<view class="info_name" v-else>
<navigator class="info_name_a" url="/pages/account/myProfile">
Hey.{{user_info.nickname!=''?user_info.nickname:user_info.email}}.>
</navigator>
</view>
<view class="info_like">
<navigator :url="noLogin==0?'/pages/account/myCoupons':'../login/index'" class="info_like_item">
<text class="info_like_item_text">{{ hb_num }}</text>
<text class="info_like_item_span">Coupons</text>
</navigator>
<navigator :url="noLogin==0?'/pages/account/pointsDetails':'../login/index'" class="info_like_item">
<text class="info_like_item_text">{{ count }}</text>
<text class="info_like_item_span">Points</text>
</navigator>
<navigator :url="noLogin==0?'/pages/account/wishlist':'../login/index'" class="info_like_item">
<image src="../../static/img/like_white.png" mode="" class="info_like_item_img"></image>
<text class="info_like_item_span">Wishlist</text>
</navigator>
<navigator :url="noLogin==0?'/pages/account/favorites':'../login/index'" class="info_like_item">
<image src="../../static/img/favorites_white.png" mode="" class="info_like_item_img"></image>
<text class="info_like_item_span">Footprint</text>
</navigator>
</view>
</view>
<view class="order allpadding">
<navigator url="/pages/account/myOrders?scroll_active=0" class="order_title">My Orders<view
class="icon_right">
<image mode="" src="../../static/img/right.png"></image>
</view>
</navigator>
<view class="order_info">
<navigator :url="noLogin==0?'/pages/account/myOrders?scroll_active=1':'../login/index'"
class="order_info_item">
<image src="../../static/img/unpaid.png" mode="" class="info_img"></image>
<text>Unpaid</text>
</navigator>
<navigator :url="noLogin==0?'/pages/account/myOrders?scroll_active=2':'../login/index'"
class="order_info_item">
<image src="../../static/img/Processing.png" mode="" class="info_img"></image>
<text>Processing</text>
</navigator>
<navigator :url="noLogin==0?'/pages/account/myOrders?scroll_active=3':'../login/index'"
class="order_info_item">
<image src="../../static/img/Shipped.png" class="info_img" mode=""></image>
<text>Shipped</text>
</navigator>
<navigator :url="noLogin==0?'/pages/account/myOrders?scroll_active=4':'../login/index'"
class="order_info_item">
<image src="../../static/img/Returns.png" class="info_img" mode=""></image>
<text>Completed</text>
</navigator>
</view>
</view>
<view class="order">
<view class="order_title allpadding">My Service</view>
<view class="order_info allpadding">
<view v-for="(item,index) in indexDate.blocks" :key="item.block_title"
@click="gotopage(item.block_title,item.block_link)" class="order_info_item">
<image :src="item.block_pic" class="info_img" mode=""></image>
<text>{{ item.block_title }}</text>
</view>
<!-- <navigator :url="noLogin==0?'/pages/account/myReview':'../login/index'" class="order_info_item">
<image src="../../static/img/My Review.png" class="info_img" mode=""></image>
<text>My Review</text>
</navigator>
<navigator :url="noLogin==0?'/pages/account/address':'../login/index'" class="order_info_item">
<image src="../../static/img/My Address.png" class="info_img" mode=""></image>
<text>My Address</text>
</navigator>
<view class="order_info_item">
<image src="../../static/img/Return Policy.png" class="info_img" mode=""></image>
<text>Return Policy</text>
</view>
<view class="order_info_item">
<image src="../../static/img/Help Center.png" class="info_img" mode=""></image>
<text>Help Center</text>
</view>
<view class="order_info_item">
<image src="../../static/img/Attention CHIC.png" class="info_img" mode=""></image>
<text>Attention CHIC</text>
</view>
<view class="order_info_item">
<image src="../../static/img/About CHIC.png" class="info_img" mode=""></image>
<text>About CHIC</text>
</view>
<navigator url="/pages/account/settings" class="order_info_item">
<image src="../../static/img/Setting.png" class="info_img" mode=""></image>
<text>Setting</text>
</navigator> -->
</view>
<!-- scroll-x="true" -->
<scroll-view>
<image :src="item.block_pic" style="width: 90%;padding: 0 20px;" v-for="(item,index) in Imglist"
:key="item.block_pic" class="mine_banner " mode="" @click="imgto(item)">
<!-- allpadding -->
</image>
</scroll-view>
<view v-if="catList.length!=0" style="background-color: #f4f3f8; padding: 0 23.33rpx;">
<view class="order_title" style="padding-top: 20rpx;">Recommend</view>
<scroll-view class="spike1 margin_botoom" style="background-color: #f4f3f8;" scroll-x="true"
:show-scrollbar="false">
<view class="spike1_item" v-for="(item,index) in catList" :key="index" @click="goDetails(item.id)">
<view class="spike1_item_img">
<image :src="item.thumb" mode=""></image>
</view>
<view class="spike1_item_bottom1">
<view class="spike1_item_text">{{item.name}}</view>
<text
class="spike1_item_text1">US${{item.is_promote==0? item.shop_price :item.promote_price}}</text>
</view>
</view>
</scroll-view>
</view>
</view>
<view class="tarbar">
<view @click="change(index)" v-for="(item,index) in tarbar" :key="item.name"
:class="index==2?'img_m':'tarbar_img'" :style="{color:index==4?'#000':''}">
<image :src="item.src"></image>
<view>{{ item.name}}</view>
</view>
</view>
</view>
</template>
<script>
import {
defaultRequest,
defaultRequest2,
defaultRequest4
} from '../../api/index.js'
export default {
data() {
return {
user_info: {
isLogin: false,
},
// 获取该分类的其他商品的请求参数
catQuery: {
_action: 'getgoods',
page_index: 1,
page_size: 30,
type: 'hot'
},
catList: [],
hb_num: 0,
noLogin: -1,
isLogin: -1,
Imglist: [],
count: 0,
backButtonPress: 0,
indexDate: [],
userbg: '../../static/img/userbg.png',
isTop: false,
tarbar: [{
src: '../../static/icon/home3.png',
name: 'Home',
url: '../index/index'
},
{
src: '../../static/img/Category.png',
name: 'Category',
url: '../category/index'
},
{
src: '../../static/img/min.png',
url: '../index/index2',
name: ''
},
{
src: '../../static/img/Cart.png',
name: 'Cart',
url: '../shippingCart/index'
},
{
src: '../../static/img/Account1.png',
name: 'Account',
url: '../account/index'
},
],
}
},
onBackPress(options) {
this.backButtonPress++;
if (this.backButtonPress > 1) {
plus.runtime.quit();
} else {
plus.nativeUI.toast('Click again to exit');
}
setTimeout(function() {
this.backButtonPress = 0;
}, 1000);
return true;
},
methods: {
goDetails(id) {
uni.navigateTo({
url: '/pages/productDetails/index?goodid=' + id
})
},
// 查看头像
seeImg() {
let list = []
list.push(this.user_info.user_head)
wx.previewImage({
urls: list, //需要预览的图片http链接列表,多张的时候,url直接写在后面就行了
current: 0, // 当前显示图片的http链接,默认是第一个
indicator: 'number',
success: function(res) {},
fail: function(res) {},
complete: function(res) {},
})
},
gotopage(title, url) {
var a, s
if (url.indexOf('?')) {
a = url.indexOf('?')
console.log(a)
s = url.substring(17);
}
// console.log(title)
// console.log(url)
if (this.isLogin == 1 && url == '') {
if (title.includes('Setting')) {
uni.navigateTo({
url: './settings'
})
}
if (title.includes('Review')) {
uni.navigateTo({
url: './myReview'
})
}
} else if (this.isLogin == 1 && url.includes('dope.addressmanage')) {
uni.navigateTo({
url: './address'
})
} else if (this.isLogin == 1 && url.includes('meiqu.meiqu')) {
uni.navigateTo({
url: './message'
})
} else if (url.includes('html')) {
// plus.runtime.openURL(url)
uni.navigateTo({
url: '../order/paypalWebview?src=' + url
})
} else if (url.includes('dope.adspecial')) {
uni.navigateTo({
url: '../specialTitle/index' + s
})
} else {
uni.navigateTo({
url: '../login/index'
})
}
},
change(e) {
this.index = e
let tarbar = this.tarbar
if (e !== 2) {
uni.switchTab({
url: this.tarbar[e].url
})
} else {
uni.navigateTo({
url: this.tarbar[e].url
})
}
},
getList() {
this.isLogin = uni.getStorageSync('isLogin')
// 获取tarbar中间
let data2 = {
_action: 'getpagedata',
pagecode: 'HOMESALEICON '
}
defaultRequest(data2).then(res => {
console.log(res)
let url
if (res.error == 0) {
// if(res.data.page_code == 'HOMESALEICON'){
if (res.data.page_code == 'HOMESALEICON') {
let src =
'https://www.dopeplus.com/images/mapp_customized/202210/1665653173499940520.png'
// let src = 'https://www.dopeplus.com/images/mapp_customized/202211/1667961215280331818.png'
if (src == res.data.zones[0].blocks[0].block_pic) {
// this.tarbar[2].src = 'https://www.dopeplus.com/images/mapp_customized/202211/1667961215280331818.png'
this.tarbar[2].src = '../../static/img/min.png'
} else {
src = res.data.zones[0].blocks[0].block_pic
// this.tabar[2].src=src
this.tarbar[2].src = res.data.zones[0].blocks[0].block_pic
uni.setStorageSync('midButton', src)
}
}
}
});
defaultRequest({
_action: 'getusersummarydata'
}).then(res => {
console.log(res)
if (res.error == 0) {
this.count = res.data.user_info.user_money
this.hb_num = res.data.user_bonus_list.length
console.log(this.hb_num)
}
})
},
getImg() {
let data = {
_action: 'getpagedata',
pagecode: '006-PERSONALCENTERPAGE'
}
let imglist
defaultRequest(data).then(res => {
if (res.error == 0) {
console.log(res)
res.data.zones.map(item => {
if (item.zone_code == 'CBANNER') {
imglist = item
this.Imglist = imglist.blocks
}
if (item.zone_code == 'USERBG') {
let tag =
'https://en.meixx.com/images/mapp_customized/202208/1661745404590473700.png'
if (tag == item.blocks[0].block_pic) {
this.userbg = '../../static/img/userbg.png'
} else {
this.userbg = item.blocks[0].block_pic
}
}
})
}
})
},
// 获取的推荐商品数据
getCatList(type) {
defaultRequest4(this.catQuery).then(res => {
// console.info(res)
if (res.error == 0) {
if (res.data) {
this.catList = res.data
}
}
})
},
// 获取首页数据配置
getIndex() {
let data = {
_action: 'getpagedata',
pagecode: '006-PERSONALCENTERPAGE'
}
defaultRequest(data).then(res => {
console.info(res.data.zones, '页面配置')
if (res.error == 0) {
res.data.zones.map(item => {
if (item.zone_code == 'service') {
this.indexDate = item
}
})
console.log(this.indexDate, '页面')
}
})
},
getUserInfo() {
let data = {
_action: 'getinfo'
}
defaultRequest(data).then(res => {
console.info(res, 'pppppp')
if (res.error == 0) {
res.data.isLogin = true
// this.user_info=res.data
this.noLogin = 0
uni.setStorageSync('user_info', res.data)
this.user_info = uni.getStorageSync('user_info')
console.log(this.user_info)
} else if (res.error == -1) {
this.noLogin = 1
}
})
//获取评论
let comments = {
_action: 'getmycomments',
page_index: 1,
page_size: 10,
}
// defaultRequest(comments).then(res=>{
// console.info(res,'pppppp')
// })
},
imgto(item) {
const i = item.block_link.indexOf('?')
const url = item.block_link.substring(i)
console.log(item.block_link)
if (item.block_link.includes('dope.dope')) {
uni.navigateTo({
url: '../productDetails/index' + url
})
}
},
backTo() {
uni.navigateBack({
delta: 1
})
},
onPageScroll(res) {
// console.log(res.scrollTop)
if (res.scrollTop > 40) {
this.isTop = true
} else if (res.scrollTop < 40) {
this.isTop = false
}
},
},
onLoad(e) {
let that = this;
let s = 0;
let time = setInterval(() => {
uni.getNetworkType({
success: (res) => {
console.log(res.networkType, s);
if (res.networkType == 'none') {
uni.showToast({
icon: 'none',
title: 'Please connect to the network',
duration: 3000,
})
} else if (res.networkType !== 'none') {
that.typee = 2;
clearInterval(time);
}
}
})
s++;
}, 1000);
uni.hideTabBar()
this.isLogin = uni.getStorageSync('isLogin')
// this.tarbar[2].src = uni.getStorageSync('midButton')
if (this.isLogin == 0) {
this.user_info = ' '
} else {
this.getUserInfo()
}
this.getIndex()
// this.getUserInfo()
this.getCatList()
this.getList()
this.getImg()
},
onShow() {
uni.hideTabBar()
// uni.showTabBar()
this.isLogin = uni.getStorageSync('isLogin')
uni.startPullDownRefresh()
},
onPullDownRefresh() {
this.getList()
this.isLogin = uni.getStorageSync('isLogin')
console.log(this.isLogin)
if (this.isLogin == 0) {
this.user_info = ' '
} else {
this.getUserInfo()
}
setTimeout(function() {
uni.stopPullDownRefresh();
}, 500);
},
}
</script>
<style lang="scss" scoped>
.index_logo {
width: 270.33rpx !important;
height: 50rpx !important;
margin-left: 22%;
}
.padding_account {
padding: 0 50rpx;
padding-top: 97rpx;
padding-bottom: 40rpx;
}
.allpadding {
padding: 0 23.33rpx;
}
.account_info {
// background-color: #000000 !important;
border-bottom: 13.33rpx #F7F7F7 solid;
display: flex;
// width: 100%;
// position: fixed;
flex-direction: column;
align-items: center;
justify-content: center;
// background: url("@/static/icon/user_bg.png");
background-size: 100%;
.header_img {
width: 144rpx;
height: 144rpx;
border-radius: 50%;
margin-bottom: 9.67rpx;
background-color: #000000;
}
.info_name {
display: flex;
justify-content: center;
align-items: center;
position: absolute;
width: 100%;
top: 13.5%;
// left: 15%;
// z-index: 1111;
// font-size: 20px;
// font-weight: bold;
// color: #F7F7F7;
// margin-bottom: 57px;
// position: absolute;
// padding: 100px 50px 0;
// top: 23px;
&_a {
z-index: 1111;
font-size: 20px;
font-weight: bold;
color: #F7F7F7;
margin-bottom: 57px;
position: absolute;
padding: 150px 50px 0;
}
}
.info_like {
display: flex;
justify-content: space-between;
align-items: center;
width: 100%;
color: #F7F7F7;
padding-top: 18.5%;
.info_like_item {
font-size: 40rpx;
font-weight: 400;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
.info_like_item_img {
width: 40rpx;
height: 40rpx;
margin-bottom: 14.67rpx;
display: block;
line-height: 40rpx;
text-align: center;
}
.info_like_item_text {
margin-bottom: 14.67rpx;
font-size: 30.33rpx;
display: block;
}
.info_like_item_span {
font-size: 25.33rpx;
}
.info_like_item_text {
margin-bottom: 14.67rpx;
display: block;
line-height: 40rpx;
text-align: center;
}
}
}
}
.order {
// padding: 0 23.33rpx;
padding-top: 37.33rpx;
padding-bottom: 43.33rpx;
border-bottom: 13.33rpx #F7F7F7 solid;
// background-color: #f6f5fa;
.order_title {
font-size: 26.67rpx;
font-weight: bold;
display: flex;
justify-content: space-between;
.icon_right {
height: 25rpx;
width: 25rpx;
image {
height: 100%;
width: 100%;
}
}
}
.order_info {
width: 100%;
// padding: 0 35.33rpx;
display: flex;
background-color: #fff;
justify-content: space-between;
align-items: center;
box-sizing: border-box;
flex-wrap: wrap;
.order_info_item {
width: 25%;
font-size: 21.33rpx;
font-weight: 400;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
margin-top: 38.67rpx;
}
.info_img {
width: 40rpx;
height: 40rpx;
margin-bottom: 20rpx;
}
}
.mine_banner {
width: 100%;
height: 226.67rpx;
margin: 56rpx 0;
}
.spike1 {
white-space: nowrap;
width: 100%;
margin-top: 26rpx;
::-webkit-scrollbar {
width: 0;
height: 0;
background-color: transparent;
}
.spike1_item {
color: #191919;
font-size: 26.67rpx;
margin-right: 16.67rpx;
// width: 286.67rpx;
display: inline-block;
font-weight: 400;
width: 246.67rpx;
.spike1_item_img {
width: 246.67rpx;
height: 246.67rpx;
// border-top: #efefef solid 1rpx;
// border-right: #efefef solid 1rpx;
// border-left: #efefef solid 1rpx;
border-top-left-radius: 10rpx !important;
border-top-right-radius: 10rpx !important;
// border-bottom: #fafafa 1rpx solid !important;
// background-color: #999999;
background-color: transparent;
image {
width: 100%;
height: 100%;
border-top-left-radius: 10rpx !important;
border-top-right-radius: 10rpx !important;
}
}
.spike1_item_bottom {
padding-left: 9.33rpx;
margin-top: 22.67rpx;
.spike1_item_text {
width: 100%;
color: #9D9D9D;
font-size: 21.33rpx;
text-decoration: line-through;
}
.spike1_item_text1 {
// color: #9D9D9D;
text-align: center;
font-size: 27.33rpx !important;
font-weight: bold !important;
}
}
.spike1_item_bottom1 {
height: 120rpx;
// width: 246.67rpx;
padding-left: 20rpx;
padding-right: 20rpx;
padding-top: 10.33rpx;
padding-bottom: 6.33rpx;
font-weight: bold;
text-align: left;
color: #000000;
border-bottom-left-radius: 10rpx;
border-bottom-right-radius: 10rpx;
background-color: #fff;
.spike1_item_text {
color: #000000;
font-size: 24rpx;
font-weight: 400;
margin-bottom: 2.67rpx;
white-space: break-spaces;
overflow: hidden;
line-height: 32rpx;
height: 68rpx;
white-space: wrap;
text-overflow: ellipsis;
// -o-text-overflow:ellipsis;
}
}
}
.spike1_item:last-child {
margin-right: 0;
}
}
}
.margin_botoom {
padding-bottom: 55px !important;
}
.navigator-hover {
background-color: transparent !important;
opacity: 1 !important;
}
</style>