This commit is contained in:
zpc 2025-10-12 20:33:03 +08:00
parent 40f742d5f8
commit 55a995a76c
2 changed files with 279 additions and 277 deletions

View File

@ -1,7 +1,7 @@
<template> <template>
<view class="memberBox"> <view class="memberBox">
<u-toast ref="uToast" /><u-no-network></u-no-network> <u-toast ref="uToast" /><u-no-network></u-no-network>
<u-navbar :is-back="true" back-icon-name="scan" back-icon-color="#000" title="会员中心"></u-navbar> <u-navbar :is-back="true" back-icon-name="scanc" back-icon-color="#000" title="会员中心"></u-navbar>
<view class="headBox coreshop-bg-red"> <view class="headBox coreshop-bg-red">
<!--标题栏--> <!--标题栏-->
@ -34,9 +34,9 @@
<text>余额 {{ userInfo.balance }}</text> <text>余额 {{ userInfo.balance }}</text>
</view> --> </view> -->
</view> </view>
<view class="u-m-l-10 u-m-r-20 u-p-10" @click="syncWeChatInfo()"> <!-- <view class="u-m-l-10 u-m-r-20 u-p-10" @click="syncWeChatInfo()" >
<u-icon name="reload" color="#fff" size="32"></u-icon> <u-icon name="reload" color="#fff" size="32"></u-icon>
</view> </view> -->
<view class="u-m-l-20 u-p-10" @tap="navigateToHandle('/pages/member/setting/userInfo/index')"> <view class="u-m-l-20 u-p-10" @tap="navigateToHandle('/pages/member/setting/userInfo/index')">
<u-icon name="arrow-right" color="#fff" size="32"></u-icon> <u-icon name="arrow-right" color="#fff" size="32"></u-icon>
</view> </view>
@ -232,31 +232,31 @@
name: '我的优惠券', name: '我的优惠券',
icon: 'coupon', icon: 'coupon',
router: '/pages/member/coupon/index', router: '/pages/member/coupon/index',
showItem: true showItem: false
}, },
myBalance: { myBalance: {
name: '我的余额', name: '我的余额',
icon: 'rmb-circle', icon: 'rmb-circle',
router: '/pages/member/balance/index/index', router: '/pages/member/balance/index/index',
showItem: true showItem: false
}, },
myInvoice: { myInvoice: {
name: '我的发票', name: '我的发票',
icon: 'calendar', icon: 'calendar',
router: '/pages/member/invoice/index', router: '/pages/member/invoice/index',
showItem: true showItem: false
}, },
myServices: { myServices: {
name: '我的服务卡', name: '我的服务卡',
icon: 'bell', icon: 'bell',
router: '/pages/member/serviceOrder/index/index', router: '/pages/member/serviceOrder/index/index',
showItem: true showItem: false
}, },
myIntegral: { myIntegral: {
name: '我的积分', name: '我的积分',
icon: 'integral', icon: 'integral',
router: '/pages/member/integral/index', router: '/pages/member/integral/index',
showItem: true showItem: false
}, },
myAddress: { myAddress: {
name: '地址管理', name: '地址管理',
@ -268,13 +268,13 @@
name: '我的收藏', name: '我的收藏',
icon: 'bookmark', icon: 'bookmark',
router: '/pages/member/collection/index', router: '/pages/member/collection/index',
showItem: true showItem: false
}, },
myHistory: { myHistory: {
name: '我的足迹', name: '我的足迹',
icon: 'bag', icon: 'bag',
router: '/pages/member/history/index', router: '/pages/member/history/index',
showItem: true showItem: false
}, },
}, },
vas: { vas: {

View File

@ -1,18 +1,19 @@
<template> <template>
<view class=""> <view class="">
<view class="u-navbar" :style="[navbarStyle]" :class="{ 'u-navbar-fixed': isFixed, 'u-border-bottom': borderBottom }"> <view class="u-navbar" :style="[navbarStyle]"
:class="{ 'u-navbar-fixed': isFixed, 'u-border-bottom': borderBottom }">
<view class="u-status-bar" :style="{ height: statusBarHeight + 'px' }"></view> <view class="u-status-bar" :style="{ height: statusBarHeight + 'px' }"></view>
<view class="u-navbar-inner" :style="[navbarInnerStyle]"> <view class="u-navbar-inner" :style="[navbarInnerStyle]">
<view class="u-back-wrap" v-if="isBack" @tap="goBack"> <view class="u-back-wrap" v-if="isBack" @tap="goBack">
<view class="u-icon-wrap"> <view class="u-icon-wrap">
<u-icon :name="backIconName" :color="backIconColor" :size="backIconSize"></u-icon> <u-icon v-if="backIconName != 'scanc'" :name="backIconName" :color="backIconColor"
:size="backIconSize"></u-icon>
</view> </view>
<view class="u-icon-wrap u-back-text u-line-1" v-if="backText" :style="[backTextStyle]">{{ backText }}</view> <view class="u-icon-wrap u-back-text u-line-1" v-if="backText" :style="[backTextStyle]">{{ backText
}}</view>
</view> </view>
<view class="u-navbar-content-title" v-if="title" :style="[titleStyle]"> <view class="u-navbar-content-title" v-if="title" :style="[titleStyle]">
<view <view class="u-title u-line-1" :style="{
class="u-title u-line-1"
:style="{
color: titleColor, color: titleColor,
fontSize: titleSize + 'rpx', fontSize: titleSize + 'rpx',
fontWeight: titleBold ? 'bold' : 'normal' fontWeight: titleBold ? 'bold' : 'normal'
@ -29,19 +30,20 @@
</view> </view>
</view> </view>
<!-- 解决fixed定位后导航栏塌陷的问题 --> <!-- 解决fixed定位后导航栏塌陷的问题 -->
<view class="u-navbar-placeholder" v-if="isFixed && !immersive" :style="{ width: '100%', height: Number(navbarHeight) + statusBarHeight + 'px' }"></view> <view class="u-navbar-placeholder" v-if="isFixed && !immersive"
:style="{ width: '100%', height: Number(navbarHeight) + statusBarHeight + 'px' }"></view>
</view> </view>
</template> </template>
<script> <script>
// //
let systemInfo = uni.getSystemInfoSync(); let systemInfo = uni.getSystemInfoSync();
let menuButtonInfo = {}; let menuButtonInfo = {};
// (API) // (API)
// #ifdef MP-WEIXIN || MP-BAIDU || MP-TOUTIAO || MP-QQ // #ifdef MP-WEIXIN || MP-BAIDU || MP-TOUTIAO || MP-QQ
menuButtonInfo = uni.getMenuButtonBoundingClientRect(); menuButtonInfo = uni.getMenuButtonBoundingClientRect();
// #endif // #endif
/** /**
* navbar 自定义导航栏 * navbar 自定义导航栏
* @description 此组件一般用于在特殊情况下需要自定义导航栏的时候用到一般建议使用uniapp自带的导航栏 * @description 此组件一般用于在特殊情况下需要自定义导航栏的时候用到一般建议使用uniapp自带的导航栏
* @tutorial https://www.uviewui.com/components/navbar.html * @tutorial https://www.uviewui.com/components/navbar.html
@ -64,7 +66,7 @@
* @property {Boolean} border-bottom 导航栏底部是否显示下边框如定义了较深的背景颜色可取消此值默认true * @property {Boolean} border-bottom 导航栏底部是否显示下边框如定义了较深的背景颜色可取消此值默认true
* @example <u-navbar back-text="返回" title="剑未配妥,出门已是江湖"></u-navbar> * @example <u-navbar back-text="返回" title="剑未配妥,出门已是江湖"></u-navbar>
*/ */
export default { export default {
name: "u-navbar", name: "u-navbar",
props: { props: {
// pxrpx // pxrpx
@ -95,7 +97,7 @@
// //
backTextStyle: { backTextStyle: {
type: Object, type: Object,
default () { default() {
return { return {
color: '#606266' color: '#606266'
} }
@ -133,7 +135,7 @@
// 线 // 线
background: { background: {
type: Object, type: Object,
default () { default() {
return { return {
background: '#ffffff' background: '#ffffff'
} }
@ -222,7 +224,7 @@
// #endif // #endif
} }
}, },
created() {}, created() { },
methods: { methods: {
goBack() { goBack() {
// //
@ -235,49 +237,49 @@
} }
} }
} }
}; };
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">
@import "../../libs/css/style.components.scss"; @import "../../libs/css/style.components.scss";
.u-navbar { .u-navbar {
width: 100%; width: 100%;
} }
.u-navbar-fixed { .u-navbar-fixed {
position: fixed; position: fixed;
left: 0; left: 0;
right: 0; right: 0;
top: 0; top: 0;
z-index: 991; z-index: 991;
} }
.u-status-bar { .u-status-bar {
width: 100%; width: 100%;
} }
.u-navbar-inner { .u-navbar-inner {
@include vue-flex; @include vue-flex;
justify-content: space-between; justify-content: space-between;
position: relative; position: relative;
align-items: center; align-items: center;
} }
.u-back-wrap { .u-back-wrap {
@include vue-flex; @include vue-flex;
align-items: center; align-items: center;
flex: 1; flex: 1;
flex-grow: 0; flex-grow: 0;
padding: 14rpx 14rpx 14rpx 24rpx; padding: 14rpx 14rpx 14rpx 24rpx;
} }
.u-back-text { .u-back-text {
padding-left: 4rpx; padding-left: 4rpx;
font-size: 30rpx; font-size: 30rpx;
} }
.u-navbar-content-title { .u-navbar-content-title {
@include vue-flex; @include vue-flex;
align-items: center; align-items: center;
justify-content: center; justify-content: center;
@ -288,28 +290,28 @@
height: 60rpx; height: 60rpx;
text-align: center; text-align: center;
flex-shrink: 0; flex-shrink: 0;
} }
.u-navbar-centent-slot { .u-navbar-centent-slot {
flex: 1; flex: 1;
} }
.u-title { .u-title {
line-height: 60rpx; line-height: 60rpx;
font-size: 32rpx; font-size: 32rpx;
flex: 1; flex: 1;
} }
.u-navbar-right { .u-navbar-right {
flex: 1; flex: 1;
@include vue-flex; @include vue-flex;
align-items: center; align-items: center;
justify-content: flex-end; justify-content: flex-end;
} }
.u-slot-content { .u-slot-content {
flex: 1; flex: 1;
@include vue-flex; @include vue-flex;
align-items: center; align-items: center;
} }
</style> </style>