Xiao_123 1 ヶ月 前
コミット
065d26f400

+ 29 - 39
components/Navbar/index copy.vue

@@ -1,21 +1,20 @@
 <template>
   <view
-    class="navbar"
+    class="navbar-box"
     :class="{'gradientBgc': !noBgColor}"
     :style="{
-      'height': (navbarHeight < defaultLogoHeight ? (defaultLogoHeight + 10) : navbarHeight + 10) + 'px',
-      'line-height': (navbarHeight < defaultLogoHeight ? (defaultLogoHeight + 10) : navbarHeight + 10) + 'px',
+      'height': (navbarHeight < defaultLogoHeight ? (defaultLogoHeight + 10) : navbarHeight) + 'px',
+      'line-height': (navbarHeight < defaultLogoHeight ? (defaultLogoHeight + 10) : navbarHeight) + 'px',
+      'paddingTop': statusBarHeight + 'px'
     }"
   >
-    <view class="navbar-box" :style="{'paddingTop': statusBarHeight + 'px'}">
-      <image 
-        v-if="showLogo" 
-        src="https://minio.menduner.com/dev/fe9890be9b1176f84f2aa282b0f6adce300b133f65eb3d7b45ae057aa5698324.png" 
-        class="navbar-box-logo" 
-        :style="{'height': defaultLogoHeight + 'px'}"
-      ></image>
-      <view v-else class="navbar-box-title MiSans-Semibold">{{ title }}</view>
-    </view>
+    <image 
+      v-if="showLogo" 
+      src="https://minio.menduner.com/dev/fe9890be9b1176f84f2aa282b0f6adce300b133f65eb3d7b45ae057aa5698324.png" 
+      class="navbar-box-logo" 
+      :style="{'height': defaultLogoHeight + 'px'}"
+    ></image>
+    <view v-else class="navbar-box-title MiSans-Semibold">{{ title }}</view>
   </view>
 </template>
 
@@ -58,34 +57,25 @@ defineExpose({
 .gradientBgc {
   background: linear-gradient(180deg, #9bfece, #BCFEDE);
 }
-.navbar {
-  position: fixed;
-  top: 0;
-  left: 0;
+.navbar-box {
   width: 100%;
-  z-index: 999;
-  &-box {
-    position: relative;
-    width: 100%;
-    height: 100%;
-    &-logo {
-      position: absolute;
-      left: 10px;
-      width: 95px;
-    }
-    &-title {
-      position: absolute;
-      left: 10px;
-      width: 158px;
-      height: 51px;
-      font-family: MiSans, MiSans;
-      font-weight: 600;
-      font-size: 38rpx;
-      color: #0E100F;
-      font-style: normal;
-      text-transform: none;
-    }
+  position: relative;
+  &-logo {
+    position: absolute;
+    left: 10px;
+    width: 95px;
+  }
+  &-title {
+    position: absolute;
+    left: 10px;
+    width: 158px;
+    height: 51px;
+    font-family: MiSans, MiSans;
+    font-weight: 600;
+    font-size: 38rpx;
+    color: #0E100F;
+    font-style: normal;
+    text-transform: none;
   }
 }
 </style>
-

+ 59 - 31
components/Navbar/index.vue

@@ -1,20 +1,21 @@
 <template>
   <view
-    class="navbar-box"
+    class="navbar"
     :class="{'gradientBgc': !noBgColor}"
     :style="{
-      'height': (navbarHeight < defaultLogoHeight ? (defaultLogoHeight + 10) : navbarHeight) + 'px',
-      'line-height': (navbarHeight < defaultLogoHeight ? (defaultLogoHeight + 10) : navbarHeight) + 'px',
-      'paddingTop': statusBarHeight + 'px'
+      'height': (navbarHeight < defaultLogoHeight ? (defaultLogoHeight + 10) : navbarHeight + 10) + 'px',
+      'line-height': (navbarHeight < defaultLogoHeight ? (defaultLogoHeight + 10) : navbarHeight + 10) + 'px',
     }"
   >
-    <image 
-      v-if="showLogo" 
-      src="https://minio.menduner.com/dev/fe9890be9b1176f84f2aa282b0f6adce300b133f65eb3d7b45ae057aa5698324.png" 
-      class="navbar-box-logo" 
-      :style="{'height': defaultLogoHeight + 'px'}"
-    ></image>
-    <view v-else class="navbar-box-title MiSans-Semibold">{{ title }}</view>
+    <view class="navbar-box" :style="{'paddingTop': statusBarHeight + 'px'}">
+      <image 
+        v-if="showLogo" 
+        src="https://minio.menduner.com/dev/fe9890be9b1176f84f2aa282b0f6adce300b133f65eb3d7b45ae057aa5698324.png" 
+        class="navbar-box-logo" 
+        :style="{'height': defaultLogoHeight + 'px'}"
+      ></image>
+      <view v-else class="navbar-box-title" :class="[{'text-left': textLeft}, {'text-center': !textLeft}]">{{ title }}</view>
+    </view>
   </view>
 </template>
 
@@ -35,6 +36,11 @@ defineProps({
   noBgColor: {
     type: Boolean,
     default: false
+  },
+  // 标题所在位置
+  textLeft: {
+	  type: Boolean,
+	  default: true
   }
 })
 
@@ -46,10 +52,15 @@ onLoad(() => {
   statusBarHeight.value = systemInfo.statusBarHeight
   const menuButtonInfo = uni.getMenuButtonBoundingClientRect()
   navbarHeight.value = menuButtonInfo.height + ((menuButtonInfo.top - statusBarHeight.value) * 2) + 15
+
+
+  // 将navbarHeight存入本地缓存
+  const height = navbarHeight.value < defaultLogoHeight ? (defaultLogoHeight + 10) : navbarHeight.value + 10
+  uni.setStorageSync('navbarHeight', height || 65)
 })
 
 defineExpose({
-  height: navbarHeight.value < defaultLogoHeight ? (defaultLogoHeight + 10) : navbarHeight.value
+  height: navbarHeight.value < defaultLogoHeight ? (defaultLogoHeight + 10) : navbarHeight.value + 10
 })
 </script>
 
@@ -57,25 +68,42 @@ defineExpose({
 .gradientBgc {
   background: linear-gradient(180deg, #9bfece, #BCFEDE);
 }
-.navbar-box {
+.navbar {
+  position: fixed;
+  top: 0;
+  left: 0;
   width: 100%;
-  position: relative;
-  &-logo {
-    position: absolute;
-    left: 10px;
-    width: 95px;
-  }
-  &-title {
-    position: absolute;
-    left: 10px;
-    width: 158px;
-    height: 51px;
-    font-family: MiSans, MiSans;
-    font-weight: 600;
-    font-size: 38rpx;
-    color: #0E100F;
-    font-style: normal;
-    text-transform: none;
+  z-index: 999;
+  &-box {
+    position: relative;
+    width: 100%;
+    height: 100%;
+    &-logo {
+      position: absolute;
+      left: 10px;
+      width: 95px;
+    }
+    &-title {
+      position: absolute;
+      width: 158px;
+      height: 51px;
+      line-height: 51px;
+      color: #0E100F;
+      font-style: normal;
+      text-transform: none;
+    }
   }
 }
-</style>
+.text-left {
+	left: 10px;
+	font-family: MiSans-Semibold;
+	font-weight: 600;
+	font-size: 38rpx;
+}
+.text-center {
+	left: 50%;
+	transform: translateX(-50%);
+	font-family: MiSans-Medium;
+	font-size: 38rpx;
+}
+</style>

+ 2 - 2
main.js

@@ -22,8 +22,8 @@ const pinia = createPinia()
 pinia.use(piniaPluginPersistedstate)
 
 // 第三方字体库调用
-const font = require('./utils/family.js')
-font.loadFont() // 下载字体
+import { loadFont } from './utils/family.js'
+loadFont() // 下载字体
 
 export function createApp() {
   const app = createSSRApp(App)

+ 2 - 1
pages.json

@@ -45,7 +45,8 @@
 		{
 			"path": "pages/index/jobFair",
 			"style": {
-				"navigationBarTitleText": "招聘会"
+				"navigationBarTitleText": "招聘会",
+				"navigationStyle": "custom" 
 			}
 		},
 		{

+ 38 - 34
pages/index/communicate.vue

@@ -1,47 +1,49 @@
 <template>
 	<view>
 		<Navbar title="最近联系人" />
-		<layout-page style="position: relative;">
-			<view class="commonBackground" style="height: 160px; position: inherit; top: 0;"></view>
-			<view class="height defaultBgc" style="margin-top: -160px;">
-				<scroll-view class="scrollBox" scroll-y="true" >
-					<view class="box" v-for="item in items" :key="item.id" @tap="handleTo(item)">
-						<view class="box-header">
-							<template v-if="item.unread === '0'">
-								<image
-									class="enterAvatar"
-									:src="getUserAvatar(item?.userInfoVo?.userInfoResp?.avatar, item?.userInfoVo?.userInfoResp?.sex, !item?.userInfoVo && item.channel_id === 'system' ? true : false)"
-								></image>
-							</template>
-							<template v-else>
-								<uni-badge class="uni-badge-left-margin" :text="item.unread" absolute="rightTop" size="small">
+		<layout-page>
+			<view :style="{'padding-top': navbarHeight + 'px'}">
+				<view class="commonBackground"></view>
+				<view class="height defaultBgc">
+					<scroll-view class="scrollBox" scroll-y="true" >
+						<view class="box" v-for="item in items" :key="item.id" @tap="handleTo(item)">
+							<view class="box-header">
+								<template v-if="item.unread === '0'">
 									<image
 										class="enterAvatar"
 										:src="getUserAvatar(item?.userInfoVo?.userInfoResp?.avatar, item?.userInfoVo?.userInfoResp?.sex, !item?.userInfoVo && item.channel_id === 'system' ? true : false)"
 									></image>
-								</uni-badge>
-							</template>
-						</view>
-						<view class="box-content">
-							<view class="box-content-names">
-								<view class="name MiSans-Thin default-text-color">
-									{{ item.thatName }}
-								</view>
-								<view class="color-999 font-size-12 MiSans-Normal">{{ timesTampChange(+item.timestamp.padEnd(13, '0')) }}</view>
+								</template>
+								<template v-else>
+									<uni-badge class="uni-badge-left-margin" :text="item.unread" absolute="rightTop" size="small">
+										<image
+											class="enterAvatar"
+											:src="getUserAvatar(item?.userInfoVo?.userInfoResp?.avatar, item?.userInfoVo?.userInfoResp?.sex, !item?.userInfoVo && item.channel_id === 'system' ? true : false)"
+										></image>
+									</uni-badge>
+								</template>
 							</view>
-							<view class="color-999 font-size-13 MiSans-Normal ellipsis" style="max-width: 100%;">
-								{{ formatName(item.enterpriseAnotherName) }}
+							<view class="box-content">
+								<view class="box-content-names">
+									<view class="name MiSans-Thin default-text-color">
+										{{ item.thatName }}
+									</view>
+									<view class="color-999 font-size-12 MiSans-Normal">{{ timesTampChange(+item.timestamp.padEnd(13, '0')) }}</view>
+								</view>
+								<view class="color-999 font-size-13 MiSans-Normal ellipsis" style="max-width: 100%;">
+									{{ formatName(item.enterpriseAnotherName) }}
+								</view>
 							</view>
 						</view>
-					</view>
-					<image
-						v-if=" items.length===0 "
-						src="https://minio.citupro.com/dev/static/nodata.png"
-						mode="widthFix"
-						style="width: 100%;">
-					</image>
-					<uni-load-more status="noMore" />
-				</scroll-view>
+						<image
+							v-if=" items.length===0 "
+							src="https://minio.citupro.com/dev/static/nodata.png"
+							mode="widthFix"
+							style="width: 100%;">
+						</image>
+						<uni-load-more status="noMore" />
+					</scroll-view>
+				</view>
 			</view>
 		</layout-page>
 	</view>
@@ -59,6 +61,8 @@ import { useIMStore } from '@/store/im'
 import { formatName } from '@/utils/getText'
 import Navbar from '@/components/Navbar'
 
+const navbarHeight = ref(uni.getStorageSync('navbarHeight'))
+
 const IM = useIMStore()
 
 const useUserStore = userStore()

+ 18 - 16
pages/index/jobFair.vue

@@ -1,15 +1,19 @@
 <!-- 招聘会 -->
 <template>
-  <view class="" style="padding-bottom: 30px; ">
-    <view v-if="items.length">
-      <view v-for="val in items" :key="val.id" @tap="handleToJobFairEnterprises(val)" class="list-item defaultBgc default-border">
-        <image v-if="val?.previewImg" class="ss-m-t-10" :src="val.previewImg" mode="widthFix" style="width: 100%; height: auto; border-radius: 6px;"></image>
-        <view class="ss-m-t-20 MiSans-Normal">活动时间:{{ timesTampChange(val.startTime, 'Y-M-D') }}至{{ timesTampChange(val.endTime, 'Y-M-D') }}</view>
-        <button class="ss-m-t-20 ss-m-b-10 MiSans-Medium" style="background-color: #00B760; color: #fff;" type="primary">查看详情</button>
+  <view>
+    <Navbar title="招聘会" />
+    <view class="box defaultBgc" :style="{'padding-top': navbarHeight + 'px'}" style="padding-bottom: 100px;">
+      <view v-if="items.length">
+        <view class="commonBackground"></view>
+        <view v-for="val in items" :key="val.id" @tap="handleToJobFairEnterprises(val)" class="list-item defaultBgc default-border">
+          <image v-if="val?.previewImg" class="ss-m-t-10" :src="val.previewImg" mode="widthFix" style="width: 100%; height: auto; border-radius: 6px;"></image>
+          <view class="ss-m-t-20 MiSans-Normal">活动时间:{{ timesTampChange(val.startTime, 'Y-M-D') }}至{{ timesTampChange(val.endTime, 'Y-M-D') }}</view>
+          <button class="ss-m-t-20 ss-m-b-10 MiSans-Medium" style="background-color: #00B760; color: #fff;" type="primary">查看详情</button>
+        </view>
+      </view>
+      <view v-else class="nodata-img-parent">
+        <image src="https://minio.citupro.com/dev/static/nodata.png" mode="widthFix" style="width: 100vw;height: 100vh;"></image>
       </view>
-    </view>
-    <view v-else class="nodata-img-parent">
-      <image src="https://minio.citupro.com/dev/static/nodata.png" mode="widthFix" style="width: 100vw;height: 100vh;"></image>
     </view>
   </view>
 </template>
@@ -19,6 +23,9 @@ import { onShow, onShareAppMessage, onShareTimeline } from '@dcloudio/uni-app'
 import { ref }  from 'vue'
 import { getJobFairList } from '@/api/jobFair'
 import { timesTampChange } from '@/utils/date'
+import Navbar from '@/components/Navbar'
+
+const navbarHeight = ref(uni.getStorageSync('navbarHeight'))
 
 // 设置自定义tabbar选中值
 onShow(() => {
@@ -67,15 +74,10 @@ onShareTimeline(() => {
 
 <style lang="scss" scoped>
 .list-item {
-  margin: 30rpx;
+  margin: 0 30rpx 30rpx 30rpx;
   border-radius: 20rpx;
   padding: 30rpx;
-  &:last-child {
-    margin-bottom: 0;
-  }
-  &:first-child {
-    margin-top: 0;
-  }
+  position: relative;
   view {
     font-size: 28rpx;
     color: #666;

+ 63 - 59
pages/index/my.vue

@@ -2,72 +2,74 @@
   <view>
 		<Navbar title="我的" />
 		<layout-page>
-			<view class="commonBackground" style="height: 160px; position: inherit; top: 0;"></view>
-			<view class="defaultBgc" style="padding-bottom: 100rpx; margin-top: -160px;">
-				<view class="ss-p-x-30 d-flex justify-space-between align-center" @tap="handleTap">
-					<view class="img-box" :class="vip ? 'vipBox' : ''">
-						<img :src="getUserAvatar(baseInfo?.avatar, baseInfo?.sex)" alt="" class="img default-border">
-						<image v-if="vip" src="/static/svg/vip.svg" class="vipIcon" @click.stop="handleToLink({path: '/pagesA/vip/index'})"></image>
+			<view :style="{'padding-top': navbarHeight + 'px'}">
+				<view class="commonBackground"></view>
+				<view class="defaultBgc" style="padding-bottom: 100rpx;">
+					<view class="ss-p-x-30 d-flex justify-space-between align-center" @tap="handleTap">
+						<view class="img-box" :class="vip ? 'vipBox' : ''">
+							<img :src="getUserAvatar(baseInfo?.avatar, baseInfo?.sex)" alt="" class="img default-border">
+							<image v-if="vip" src="/static/svg/vip.svg" class="vipIcon" @click.stop="handleToLink({path: '/pagesA/vip/index'})"></image>
+						</view>
+						<view  style="z-index: 1 !important;">
+							<view v-if="!useUserStore.isLogin" class="font-size-28rpx">
+								<view class="MiSans-Medium default-text-color">点击登录/注册</view>
+								<view class="MiSans-Normal color-666 10">Hi 欢迎登录门墩儿</view>
+							</view>
+							<view v-else class="MiSans-Medium font-size-20 default-text-color">{{ baseInfo?.name || userInfo?.phone }}</view>
+						</view>
 					</view>
-					<view  style="z-index: 1 !important;">
-						<view v-if="!useUserStore.isLogin" class="font-size-28rpx">
-							<view class="MiSans-Medium default-text-color">点击登录/注册</view>
-							<view class="MiSans-Normal color-666 10">Hi 欢迎登录门墩儿</view>
+				
+					<view class="d-flex justify-space-between align-center">
+						<resume-status style="flex: 1" />
+						<view style="width: 100px; z-index: 1;" class="ss-m-r-30">
+							<image 
+								src="https://minio.menduner.com/dev/fe9890be9b1176f84f2aa282b0f6adce300b133f65eb3d7b45ae057aa5698324.png" 
+								style="width: 93px; height: 40px;"
+							></image>
 						</view>
-						<view v-else class="MiSans-Medium font-size-20 default-text-color">{{ baseInfo?.name || userInfo?.phone }}</view>
 					</view>
-				</view>
-
-				<view class="d-flex justify-space-between align-center">
-					<resume-status style="flex: 1" />
-					<view style="width: 100px; z-index: 1;" class="ss-m-r-30">
-						<image 
-							src="https://minio.menduner.com/dev/fe9890be9b1176f84f2aa282b0f6adce300b133f65eb3d7b45ae057aa5698324.png" 
-							style="width: 93px; height: 40px;"
-						></image>
+					
+					<view class="d-flex" style="margin: 30rpx; border-radius: 20rpx;">
+						<view v-for="(item, index) in itemList" :key="index" @tap="handleToLink(item)" class="parent">
+							<view class="d-flex align-center">
+								<image :src="item.src" mode="" style="width: 70rpx; height: 60rpx;"></image>
+								<text class="ss-m-l-30 default-text-color">{{ item.title }}</text>
+							</view>
+						</view>
 					</view>
-				</view>
+						
+						
+					<view class="list-card">
+						<uni-list>
+							<uni-list-item
+								v-for="item in list"
+								:clickable="true"
+								:key="item.title"
+								:title="item.title"
+								showArrow
+								:thumb="item.src"
+								thumb-size="sm"
+								:rightText="item.rightTex || ''"
+								@click="handleToLink(item)"
+							>
+							</uni-list-item>
+						</uni-list>
+					</view>
+						
+					<button v-if="useUserStore.isLogin" class="send-button" style="margin-bottom: 50px;" @tap="handleLogout">退出登录</button>
+						
+					<uni-popup ref="popup" type="dialog">
+						<uni-popup-dialog type="warn" cancelText="取消" confirmText="确定" title="系统提示" content="确认退出账号?" @confirm="handleLogoutConfirm"
+							@close="handleLogoutClose"></uni-popup-dialog>
+					</uni-popup>
 				
-				<view class="d-flex" style="margin: 30rpx; border-radius: 20rpx;">
-					<view v-for="(item, index) in itemList" :key="index" @tap="handleToLink(item)" class="parent">
-						<view class="d-flex align-center">
-							<image :src="item.src" mode="" style="width: 70rpx; height: 60rpx;"></image>
-							<text class="ss-m-l-30 default-text-color">{{ item.title }}</text>
+					<uni-popup ref="inputDialog" type="dialog">
+						<view class="shareQrCodePopupContent">
+							<view class="ss-m-b-10 MiSans-Normal">请前往网页版{{ dialogType ? '门墩儿招聘' : '门墩儿商城' }}</view>
+							<uni-link class="MiSans-Normal" :href="dialogType ? 'https://www.menduner.com' : 'https://www.menduner.com/mall'" text="点击复制网页地址" color="#00B760" fontSize="16" copyTips="已复制,请在电脑端打开"></uni-link>
 						</view>
-					</view>
-				</view>
-		
-		
-				<view class="list-card">
-					<uni-list>
-						<uni-list-item
-							v-for="item in list"
-							:clickable="true"
-							:key="item.title"
-							:title="item.title"
-							showArrow
-							:thumb="item.src"
-							thumb-size="sm"
-							:rightText="item.rightTex || ''"
-							@click="handleToLink(item)"
-						>
-						</uni-list-item>
-					</uni-list>
+					</uni-popup>
 				</view>
-		
-				<button v-if="useUserStore.isLogin" class="send-button" style="margin-bottom: 50px;" @tap="handleLogout">退出登录</button>
-		
-				<uni-popup ref="popup" type="dialog">
-					<uni-popup-dialog type="warn" cancelText="取消" confirmText="确定" title="系统提示" content="确认退出账号?" @confirm="handleLogoutConfirm"
-						@close="handleLogoutClose"></uni-popup-dialog>
-				</uni-popup>
-
-				<uni-popup ref="inputDialog" type="dialog">
-					<view class="shareQrCodePopupContent">
-						<view class="ss-m-b-10 MiSans-Normal">请前往网页版{{ dialogType ? '门墩儿招聘' : '门墩儿商城' }}</view>
-						<uni-link class="MiSans-Normal" :href="dialogType ? 'https://www.menduner.com' : 'https://www.menduner.com/mall'" text="点击复制网页地址" color="#00B760" fontSize="16" copyTips="已复制,请在电脑端打开"></uni-link>
-					</view>
-				</uni-popup>
 			</view>
 		</layout-page>
 	</view>
@@ -84,6 +86,8 @@ import { showAuthModal } from '@/hooks/useModal'
 import { onShow, onLoad, onShareAppMessage, onShareTimeline } from '@dcloudio/uni-app'
 import Navbar from '@/components/Navbar'
 
+const navbarHeight = ref(uni.getStorageSync('navbarHeight'))
+
 // 设置自定义tabbar选中值
 onShow(() => {
     const currentPage = getCurrentPages()[0];  // 获取当前页面实例

+ 3 - 2
pages/index/position.vue

@@ -1,7 +1,7 @@
 <template>
   <view>
-    <Navbar :showLogo="true" ref="navRef" :noBgColor="noBgColor" />
-    <view class="box defaultBgc">
+    <Navbar :showLogo="true" ref="navRef" />
+    <view class="box defaultBgc" :style="{'padding-top': navbarHeight + 'px'}">
       <scroll-view class="scrollBox" :scroll-y="true" :scroll-top="scrollTop" @scrolltolower="loadingMore" @scroll="onScroll" style="position:relative;">
         <view>
           <view class="commonBackground">
@@ -66,6 +66,7 @@ import { getRewardEventList } from '@/utils/eventList'
 import { getMorningNewsArticle } from '@/api/content'
 import { getWebContent } from '@/api/common'
 
+const navbarHeight = ref(uni.getStorageSync('navbarHeight'))
 onLoad(() => {
   wx.showShareMenu({
     withShareTicket: true,

+ 73 - 70
pages/index/welfare.vue

@@ -1,76 +1,78 @@
 <template>
   <view>
     <Navbar title="会员福利" />
-    <layout-page style="position: relative;">
-      <view class="commonBackground" style="height: 160px; position: inherit; top: 0;"></view>
-      <view class="box defaultBgc" style="margin-top: -160px;">
-        <scroll-view class="scrollBox" scroll-y="true">
-          <view class="content">
-            <!-- 钱包 -->
-            <view class="wallet">
-              <view class="wallet-content">
-                <view class="wallet-content-member">
-                  <view class="name">
-                    <view v-if="useUserStore.isLogin" style="position: relative;">
-                      <image class="enterAvatar"
-                        :src="getUserAvatar(useUserStore?.baseInfo?.avatar,  useUserStore?.baseInfo?.sex)"
-                      ></image>
-                      <view class="avatar-tips">我</view>
-                    </view>
-                    <text v-else class="MiSans-Semibold default-text-color" style="font-size: 38rpx;" @tap="handleLogin">点击登录</text>
-                  </view>
-                </view>
-                <view class="wallet-content-integral wallet-content-item" @tap="handleTo('integral')">
-                  <text class="MiSans-Semibold" style="font-size: 40rpx;">{{ balance.point || 0 }}</text>
-                  <text class="title MiSans-Normal">积分</text>
-                </view>
-                <view class="septal-line"></view>
-                <view class="wallet-content-cash wallet-content-item" @tap="handleTo('balance')">
-                  <text class="MiSans-Semibold" style="font-size: 40rpx;">{{ balance.balance > 0 ? (balance?.balance / 100.0).toFixed(2) : 0 }}</text>
-                  <text class="title MiSans-Normal">余额</text>
-                </view>
-              </view>
-            </view>
-
-            <!-- 积分规则 -->
-            <view class="points">
-              <view class="MiSans-Semibold default-text-color" style="font-size: 30rpx; margin-bottom: 30rpx;">积分规则</view>
-              <view v-for="(k, i) in integralRules" :key="i" class="points-item list-item-bgc default-border">
-                <view class="d-flex align-center">
-                  <image class="icon-img" src="https://minio.menduner.com/dev/112bdf67dea1505a8d063f22b560a21891631dc7294526488d7f82009d716229.png"></image>
-                  <text class="points-item-text">{{ k.title }}</text>
-                </view>
-                <view class="points-item-text color-primary">
-                  {{ k.point }}({{ k.complete ? '已完成' : '未完成' }})
-                </view>
-              </view>
-            </view>
-
-            <!-- 积分兑换 -->
-            <view class="goods">
-              <view class="MiSans-Semibold default-text-color" style="font-size: 30rpx; margin-bottom: 30rpx;">积分兑换</view>
-              <view class="goods-box">
-                <view class="goods-box-item list-item-bgc default-border" v-for="(item,index) in goodsList" :key="index" @tap.stop="handleClickGoods">
-                  <image :src="item.url" class="goods-box-item-img" mode="widthFix"></image>
-                  <view class="goods-box-item-name">{{ item.name }}</view>
-                  <view style="padding: 0 30rpx 20rpx 30rpx;">
-                    <text class="MiSans-Normal color-666" style="font-size: 24rpx">消费积分</text>
-                    <text class="goods-box-item-price">{{ item.point }}</text>
-                  </view>
-                </view>
-              </view>
-            </view>
-          </view>
-        </scroll-view>
-      </view>
-
-      <uni-popup ref="inputDialog" type="dialog">
-        <view class="shareQrCodePopupContent">
-          <view class="ss-m-b-10 MiSans-Normal">请前往网页版门墩儿商城兑换</view>
-          <uni-link class="MiSans-Normal" href="https://www.menduner.com/mall" text="点击复制网页地址" color="#00B760" fontSize="16" copyTips="已复制,请在电脑端打开"></uni-link>
-        </view>
-      </uni-popup>
+    <layout-page>
+      <view :style="{'padding-top': navbarHeight + 'px'}">
+		  <view class="commonBackground"></view>
+		  <view class="box defaultBgc">
+		    <scroll-view class="scrollBox" scroll-y="true">
+		      <view class="content">
+		        <!-- 钱包 -->
+		        <view class="wallet">
+		          <view class="wallet-content">
+		            <view class="wallet-content-member">
+		              <view class="name">
+		                <view v-if="useUserStore.isLogin" style="position: relative;">
+		                  <image class="enterAvatar"
+		                    :src="getUserAvatar(useUserStore?.baseInfo?.avatar,  useUserStore?.baseInfo?.sex)"
+		                  ></image>
+		                  <view class="avatar-tips">我</view>
+		                </view>
+		                <text v-else class="MiSans-Semibold default-text-color" style="font-size: 38rpx;" @tap="handleLogin">点击登录</text>
+		              </view>
+		            </view>
+		            <view class="wallet-content-integral wallet-content-item" @tap="handleTo('integral')">
+		              <text class="MiSans-Semibold" style="font-size: 40rpx;">{{ balance.point || 0 }}</text>
+		              <text class="title MiSans-Normal">积分</text>
+		            </view>
+		            <view class="septal-line"></view>
+		            <view class="wallet-content-cash wallet-content-item" @tap="handleTo('balance')">
+		              <text class="MiSans-Semibold" style="font-size: 40rpx;">{{ balance.balance > 0 ? (balance?.balance / 100.0).toFixed(2) : 0 }}</text>
+		              <text class="title MiSans-Normal">余额</text>
+		            </view>
+		          </view>
+		        </view>
+		  
+		        <!-- 积分规则 -->
+		        <view class="points">
+		          <view class="MiSans-Semibold default-text-color" style="font-size: 30rpx; margin-bottom: 30rpx;">积分规则</view>
+		          <view v-for="(k, i) in integralRules" :key="i" class="points-item list-item-bgc default-border">
+		            <view class="d-flex align-center">
+		              <image class="icon-img" src="https://minio.menduner.com/dev/112bdf67dea1505a8d063f22b560a21891631dc7294526488d7f82009d716229.png"></image>
+		              <text class="points-item-text">{{ k.title }}</text>
+		            </view>
+		            <view class="points-item-text color-primary">
+		              {{ k.point }}({{ k.complete ? '已完成' : '未完成' }})
+		            </view>
+		          </view>
+		        </view>
+		  
+		        <!-- 积分兑换 -->
+		        <view class="goods">
+		          <view class="MiSans-Semibold default-text-color" style="font-size: 30rpx; margin-bottom: 30rpx;">积分兑换</view>
+		          <view class="goods-box">
+		            <view class="goods-box-item list-item-bgc default-border" v-for="(item,index) in goodsList" :key="index" @tap.stop="handleClickGoods">
+		              <image :src="item.url" class="goods-box-item-img" mode="widthFix"></image>
+		              <view class="goods-box-item-name">{{ item.name }}</view>
+		              <view style="padding: 0 30rpx 20rpx 30rpx;">
+		                <text class="MiSans-Normal color-666" style="font-size: 24rpx">消费积分</text>
+		                <text class="goods-box-item-price">{{ item.point }}</text>
+		              </view>
+		            </view>
+		          </view>
+		        </view>
+		      </view>
+		    </scroll-view>
+		  </view>
+	  </view>
     </layout-page>
+	
+	<uni-popup ref="inputDialog" type="dialog">
+	  <view class="shareQrCodePopupContent">
+	    <view class="ss-m-b-10 MiSans-Normal">请前往网页版门墩儿商城兑换</view>
+	    <uni-link class="MiSans-Normal" href="https://www.menduner.com/mall" text="点击复制网页地址" color="#00B760" fontSize="16" copyTips="已复制,请在电脑端打开"></uni-link>
+	  </view>
+	</uni-popup>
   </view>
 </template>
 
@@ -89,6 +91,8 @@ import { showAuthModal } from '@/hooks/useModal'
 import { showNecessaryInfoPopup } from '@/utils/request'
 import { getUserAvatar } from '@/utils/avatar'
 
+const navbarHeight = ref(uni.getStorageSync('navbarHeight'))
+
 const inputDialog = ref()
 const useUserStore = userStore()
 
@@ -232,7 +236,6 @@ function handleTo (page) {
   border-radius: 20rpx;
 }
 .box {
-  overflow: hidden;
   height: 100vh;
   padding: 20rpx 0 0 0;
   box-sizing: border-box;

+ 29 - 4
static/style/index.css

@@ -28,10 +28,6 @@
   margin-top: 60rpx;
 }
 
-.commonBackground {
-  background: linear-gradient(180deg, #BCFEDE, #F7F8FA);
-}
-
 .cursor-pointer {
   cursor: pointer;
 }
@@ -194,6 +190,14 @@
   font-family: MiSans-Medium;
 }
 
+.navbarBox {
+  position: fixed;
+  top: 0;
+  left: 0;
+  width: 100vw;
+  z-index: 9;
+}
+
 .defaultLink {
   color: #00B760;
   cursor: pointer;
@@ -215,6 +219,27 @@
   background-color: #f7f8fa;
 }
 
+.commonBackground {
+  position: relative;
+}
+
+.commonBackground::before {
+  content: '';
+  position: absolute;
+  top: 0;
+  left: 0;
+  width: 100%;
+  height: 160px;
+  background: linear-gradient(180deg, #BCFEDE, #F7F8FA);
+}
+
+.nodata-img-parent {
+  height: 90vh;
+  display: flex;
+  align-items: center;
+  justify-content: center;
+}
+
 .f-horizon {
   display: flex;
   justify-content: space-between;

ファイルの差分が大きいため隠しています
+ 0 - 0
static/style/index.min.css


+ 10 - 1
static/style/index.scss

@@ -113,7 +113,16 @@
 }
 // 公共渐变样式
 .commonBackground {
-  background: linear-gradient(180deg, #BCFEDE, #F7F8FA);
+	position: relative;
+  &::before {
+	  content: '';
+	  position: absolute;
+	  top: 0;
+	  left: 0;
+	  width: 100%;
+	  height: 160px;
+	  background: linear-gradient(180deg, #BCFEDE, #F7F8FA);
+  }
 }
 
 .nodata-img-parent{

+ 5 - 5
utils/family.js

@@ -1,7 +1,7 @@
 import { fontBaseUrl } from './config'
 
 // 第三方字体库调用
-let loadFont = function() {
+export const loadFont = () => {
 	// 所有的.tff文件
 	const fontsArr = [
 		// 'MiSans-Heavy',
@@ -20,7 +20,7 @@ let loadFont = function() {
 		wx.loadFontFace({
 			family: `${itm}`,
 			global: true, //是否全局生效
-			source: `url("https://menduner.citupro.com:3443/dev/menduner/font/${itm}.ttf")`, //字体资源的地址
+			source: `url("${fontBaseUrl}${itm}.ttf")`, //字体资源的地址
 			success: function(e) {
 				// console.log(itm, '===>字体调用成功', e);
 			},
@@ -31,6 +31,6 @@ let loadFont = function() {
 	})
 }
 
-module.exports = {
-	loadFont: loadFont
-}
+// module.exports = {
+// 	loadFont: loadFont
+// }

この差分においてかなりの量のファイルが変更されているため、一部のファイルを表示していません