瀏覽代碼

```
feat(index): 更新首页样式和功能

- 添加z-index属性解决层级显示问题
- 修改充电券按钮样式和文本描述
- 更新广告轮播图配置为循环播放
- 添加电站列表顶部装饰图片
- 优化价格显示样式,添加普通用户价格标签
- 调整页面布局和尺寸参数

feat(my): 个人中心页面优化

- 添加页面水平滚动限制
- 新增退出登录功能和按钮
- 调整导航栏定位和层级
- 更新广告区域样式
- 修复用户卡片布局问题

refactor: 更新小程序源码映射文件
```

zouzexu 4 天之前
父節點
當前提交
8e06d50f58
共有 38 個文件被更改,包括 306 次插入70 次删除
  1. 64 10
      pages/index/index.css
  2. 58 39
      pages/index/index.vue
  3. 31 3
      pages/my/my.css
  4. 22 2
      pages/my/my.vue
  5. 二進制
      static/img/normal-user.png
  6. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/common/main.js.map
  7. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/common/vendor.js.map
  8. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/components/app-navigation/app-navigation.js.map
  9. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/components/ax-body/ax-body.js.map
  10. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/components/ax-custom-title/ax-custom-title.js.map
  11. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/components/ax-ios-indicator/ax-ios-indicator.js.map
  12. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/components/ax-popup/ax-popup.js.map
  13. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/index/index.js.map
  14. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/login/login.js.map
  15. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/map/map.js.map
  16. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/my/my.js.map
  17. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/subPackages/charging/charging/charging.js.map
  18. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/subPackages/charging/new-site/new-site.js.map
  19. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/subPackages/charging/site-more/site-more.js.map
  20. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/subPackages/charging/site/site.js.map
  21. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/subPackages/charging/terminal/terminal.js.map
  22. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/subPackages/coupon/coupon-buy/coupon-buy.js.map
  23. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/subPackages/coupon/coupons/coupons.js.map
  24. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/subPackages/coupon/recharge-log/recharge-log.js.map
  25. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/subPackages/order/order-detail/order-detail.js.map
  26. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/subPackages/order/order/order.js.map
  27. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/subPackages/other/banner-page/banner-page.js.map
  28. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/subPackages/other/feedback-reply/feedback-reply.js.map
  29. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/subPackages/other/feedback/feedback.js.map
  30. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/subPackages/other/search/search.js.map
  31. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/lime-painter/components/l-painter/l-painter.js.map
  32. 19 0
      unpackage/dist/dev/mp-weixin/pages/index/index.js
  33. 0 0
      unpackage/dist/dev/mp-weixin/pages/index/index.wxml
  34. 62 9
      unpackage/dist/dev/mp-weixin/pages/index/index.wxss
  35. 21 0
      unpackage/dist/dev/mp-weixin/pages/my/my.js
  36. 0 0
      unpackage/dist/dev/mp-weixin/pages/my/my.wxml
  37. 29 7
      unpackage/dist/dev/mp-weixin/pages/my/my.wxss
  38. 二進制
      unpackage/dist/dev/mp-weixin/static/img/normal-user.png

+ 64 - 10
pages/index/index.css

@@ -47,6 +47,7 @@ ax-body >>> .ax-body .__root {
   position: absolute;
   bottom: 170rpx;
   right: 16rpx;
+  z-index: 100;
 }
 
 .concat-icon {
@@ -222,8 +223,7 @@ app-navigation {
   right: 0;
   width: 116rpx;
   height: 52rpx;
-  background: linear-gradient(134deg, #25eb64 0%, #0ad549 100%);
-  box-shadow: inset 0rpx 20rpx 40rpx 2rpx rgba(100, 255, 218, 0.26);
+  background: linear-gradient(90deg, #f32027 0%, #ffaa70 100%);
   border-radius: 0rpx 16rpx 0rpx 16rpx;
   font-size: 28rpx;
   color: #ffffff;
@@ -274,8 +274,8 @@ app-navigation {
   bottom: 0;
   left: 50%;
   transform: translate(-50%, 0);
-  width: 202rpx;
-  height: 208rpx;
+  width: 290rpx;
+  height: 268rpx;
 }
 
 .order-center {
@@ -320,7 +320,10 @@ app-navigation {
 /* 版头广告 */
 .banner {
   width: 100%;
-  height: calc((100vw - 20px) * (5 / 20));
+  /* height: calc((100vw - 20px) * (5 / 20)); */
+  height: 200rpx;
+  border-radius: 10rpx;
+  overflow: hidden;
 }
 
 .banner .swiper-item {
@@ -331,15 +334,16 @@ app-navigation {
 .banner .swiper-item .swiper-item-image {
   display: block;
   width: 100%;
-  border-radius: 5px;
 }
 
 /* 选项条 */
 .options-bar {
   display: flex;
   align-items: center;
-  padding: 15px 0px;
+  height: 120rpx;
   gap: 20rpx;
+  position: relative;
+  z-index: 100;
 }
 
 .options-tabs {
@@ -440,6 +444,8 @@ app-navigation {
 .list-scroll-wrap {
   height: var(--list-heiht);
   position: relative;
+  padding-top: -20rpx;
+  /* background: #4fef86; */
 }
 
 .list-scroll-wrap > .list-scroll {
@@ -451,7 +457,29 @@ app-navigation {
 }
 
 .list {
-  padding: 10px;
+  padding: 0 20rpx 20rpx 20rpx;
+  position: relative;
+}
+
+.list-top {
+  width: 710rpx;
+  height: 70rpx;
+  position: relative;
+  overflow: visible;
+}
+
+.list .list-top-img {
+  width: 710rpx;
+  position: absolute;
+  top: 0;
+  left: 0;
+  z-index: 1;
+  transform: translateY(0);
+}
+
+.list .list-top-img-img {
+  width: 100%;
+  height: 100rpx;
 }
 
 .list .item {
@@ -460,6 +488,8 @@ app-navigation {
   background-color: #fff;
   box-shadow: 0 1px 10px rgba(0, 39, 52, 0.1);
   overflow: hidden;
+  position: relative;
+  z-index: 2;
 }
 
 .list .item + .item {
@@ -489,7 +519,7 @@ app-navigation {
   width: 200rpx;
   height: 52rpx;
   background: linear-gradient(132deg, #ff6464 0%, #ff3a3a 100%);
-  border-radius: 0rpx 16rpx 0rpx 40rpx;
+  border-radius: 0rpx 16rpx 0rpx 37rpx;
   text-align: center;
   line-height: 52rpx;
   color: #fff;
@@ -627,7 +657,30 @@ app-navigation {
   padding: 0 10px;
   box-shadow: 0 0 5px rgba(0, 0, 0, 0.05);
 }
-
+.normal-user-price {
+  display: flex;
+  align-items: center;
+  position: relative;
+}
+.normal-user-price-label {
+  width: 330rpx;
+  height: 60rpx;
+  background: #fff2ec;
+  border-radius: 42rpx;
+}
+.normal-user-price .normal-user-price-icon {
+  width: 136rpx;
+  height: 60rpx;
+  position: absolute;
+  right: 0;
+}
+.normal-user-text {
+  position: absolute;
+  right: 14rpx;
+  font-weight: bold;
+  font-size: 28rpx;
+  color: #ffffff;
+}
 .list .item .price .value {
   font-size: 20px;
   font-weight: bold;
@@ -647,6 +700,7 @@ app-navigation {
   background-size: cover;
   background-position: center;
   line-height: 52rpx;
+  margin-left: 8rpx;
 }
 .card-bottom-text-minitext {
   margin-left: 110rpx;

+ 58 - 39
pages/index/index.vue

@@ -44,16 +44,16 @@
 						<view class="shortcut-bar">
 							<view class="buy-charge-coupon"
 								@click="$app.url.goto('/subPackages/coupon/coupon-buy/coupon-buy')">
-								<view class="coupon-tag">限时</view>
+								<view class="coupon-tag">特惠</view>
 								<view class="charge-title">
 									<view class="title-coupon-text">购充电券</view>
 									<view class="title-right-text">
 										<text class="ax ax-iconline i-arrow-right icon"></text>
 									</view>
 								</view>
-								<view class="charge-text-dsc">特惠价限时购买</view>
+								<!-- <view class="charge-text-dsc">特惠价限时购买</view> -->
 								<image class="charge-coupon-img"
-									src="https://national-motion.oss-cn-beijing.aliyuncs.com/20260106/bbb95c91ec49403e9e95edaccff3ea52.png"
+									src="https://national-motion.oss-cn-beijing.aliyuncs.com/20260107/c2a6329e87394f77a8ab0549b3ceb19e.png"
 									mode=""></image>
 							</view>
 							<view class="">
@@ -99,7 +99,7 @@
 							</view>
 						</view>
 						<!-- 版头广告 -->
-						<swiper class="banner" v-if="banners.length > 0" autoplay="true">
+						<swiper class="banner" v-if="banners.length > 0" autoplay="true" circular>
 							<swiper-item v-for="(item, index) in banners" :key="index"
 								@click="$app.url.goto(item.jumpPage)">
 								<view class="swiper-item">
@@ -120,52 +120,71 @@
 					</view>
 					<!-- 电站列表 -->
 					<view id="list-box" class="list-scroll-wrap">
-						<scroll-view class="list-scroll" :scroll-y="scrollLock">
-							<view class="list">
-								<view v-for="(item, index) in list.data" :key="index" @click="gotoSiteDetail(item)"
-									class="item">
-									<view class="contet">
-										<view class="name">
-											<view class="txt">{{ item.stationName }}</view>
-											<view class="firm-price" v-if="item.firmUser">
-												企业专享价
-											</view>
-										</view>
-										<view class="parkade">
-											<view class="txt">{{ item.tips || '' }}</view>
+						<!-- <scroll-view class="list-scroll" :scroll-y="scrollLock"> -->
+						<view class="list">
+							<view class="list-top">
+								<view class="list-top-img">
+									<image class="list-top-img-img"
+										src="https://national-motion.oss-cn-beijing.aliyuncs.com/20260107/ae817f97a31d45b5a014b33be96cfb73.png"
+										mode="" />
+								</view>
+							</view>
+							<view v-for="(item, index) in list.data" :key="index" @click="gotoSiteDetail(item)"
+								class="item">
+								<view class="contet">
+									<view class="name">
+										<view class="txt">{{ item.stationName }}</view>
+										<view class="firm-price" v-if="index!=0">
+											充电特惠
 										</view>
-										<view class="app-flex c-between info">
-											<view class="app-flex middle">
-												<view class="charge"><text class="icon">快</text>{{ item.fastCharging }}
-												</view>
-												<view class="charge"><text class="icon blue">慢 </text>{{
+									</view>
+									<view class="parkade">
+										<view class="txt">{{ item.tips || '' }}</view>
+									</view>
+									<view class="app-flex c-between info">
+										<view class="app-flex middle">
+											<view class="charge"><text class="icon"
+													style="margin-right: 16rpx;">快</text>{{
+														item.fastCharging }}
+											</view>
+											<view class="charge"><text class="icon blue" style="margin-right: 16rpx;">慢
+												</text>{{
 													item.slowCharging }}
-												</view>
 											</view>
-											<view class="distance">
-												<view class="icon">
-													<image src="@/static/img/distance.svg" mode="widthFix"></image>
-												</view>
-												<text>{{ item.distance || '0' }}km</text>
+										</view>
+										<view class="distance">
+											<view class="icon">
+												<image src="@/static/img/distance.svg" mode="widthFix"></image>
 											</view>
+											<text>{{ item.distance || '0' }}km</text>
 										</view>
 									</view>
-									<view class="price">
-										<view class="app-flex middle" style="color: #FF5D50;">
-											<text class="value">{{ item.platformPrice }}</text>
+								</view>
+								<view class="price">
+									<view class="normal-user-price" v-if="!item.enterprisePrice">
+										<view class="normal-user-price-label">
+											<text class="value" style="color: #FF6464;margin-left: 20rpx;">{{
+												item.platformPrice }}</text>
 											<text class="unit" style="color: #2B303A;font-weight: normal;">元/度</text>
 										</view>
-										<view class="app-flex middle" v-if="item.firmUser">
-											<view class="card-bottom-text">
-												<text class="card-bottom-text-minitext">{{ item.enterprisePrice
-												}}</text> <text style="color: #2B303A;font-size: 18rpx;">元/度</text>
-											</view>
+										<image class="normal-user-price-icon" src="@/static/img/normal-user.png"
+											mode="" />
+										<view class="normal-user-text">去充电</view>
+									</view>
+									<view class="app-flex middle" v-else>
+										<text class="value" style="color: #FF6464;margin-left: 20rpx;">{{
+											item.platformPrice }}</text>
+										<text class="unit" style="color: #2B303A;font-weight: normal;">元/度</text>
+										<view class="card-bottom-text">
+											<text class="card-bottom-text-minitext">{{ item.enterprisePrice
+											}}</text> <text style="color: #2B303A;font-size: 18rpx;">元/度</text>
 										</view>
-										<view>{{ item.peakValue }}{{ item.peakTime || '--' }}</view>
 									</view>
+									<view>{{ item.peakValue }}{{ item.peakTime || '--' }}</view>
 								</view>
 							</view>
-						</scroll-view>
+						</view>
+						<!-- </scroll-view> -->
 					</view>
 					<!-- <view style="height: 158px;"></view> -->
 				</view>
@@ -187,7 +206,7 @@
 				</swiper>
 			</view>
 		</ax-popup>
-		<view style="position: fixed;width: 100%;bottom:100rpx;">
+		<view style="position: fixed;width: 100%;bottom:100rpx;z-index: 100;">
 			<app-navigation id="app-navigation" active="home"></app-navigation>
 		</view>
 	</ax-body>

+ 31 - 3
pages/my/my.css

@@ -1,7 +1,19 @@
+/* 页面级别限制水平滚动 */
+page {
+  overflow-x: hidden;
+  width: 100%;
+}
+
 ax-body {
   display: block;
   height: 100%;
   background: #f6faff;
+  overflow: hidden;
+}
+
+ax-body .__root {
+  overflow-x: hidden;
+  overflow-y: auto;
 }
 
 app-navigation {
@@ -33,6 +45,7 @@ app-navigation {
 .user-card {
   padding: 20px 0;
   position: relative;
+  margin-right: -10px;
 }
 
 .user-avatar {
@@ -59,10 +72,9 @@ app-navigation {
 
 .seting-icon-box {
   position: absolute;
-  right: 0;
   display: flex;
   align-items: center;
-  right: -20rpx;
+  right: 0;
 }
 
 .seting-icon-box .img-icon {
@@ -156,8 +168,11 @@ app-navigation {
 /* 版头广告 */
 .banner {
   width: 100%;
-  height: calc((100vw - 20px) * (5 / 20));
+  /* height: calc((100vw - 20px) * (5 / 20)); */
+  height: 200rpx;
   margin-top: 10rpx;
+  border-radius: 10rpx;
+  overflow: hidden;
 }
 
 .banner .swiper-item {
@@ -276,3 +291,16 @@ app-navigation {
   border-radius: 10rpx;
   color: #fff;
 }
+.logout {
+  margin: auto;
+  margin-top: 50rpx;
+  width: 224rpx;
+  height: 100rpx;
+  background: linear-gradient(99deg, #8ff8fb 0%, #47aeff 100%);
+  border-radius: 50rpx;
+  font-weight: 800;
+  font-size: 28rpx;
+  color: #2b303a;
+  text-align: center;
+  line-height: 100rpx;
+}

+ 22 - 2
pages/my/my.vue

@@ -1,5 +1,5 @@
 <template>
-	<ax-body>
+	<ax-body hide-indicator-area>
 		<template #title></template>
 		<view class="page-background">
 			<image src="@/static/img/my-bg.svg" mode="widthFix"></image>
@@ -103,6 +103,9 @@
 					</view>
 				</view>
 			</view>
+			<view style="height: 300rpx;" v-if="userinfo.appletUserId">
+				<view class="logout" @click="logout">退出登录</view>
+			</view>
 		</view>
 		<ax-popup ref="filter" position="" maskType="black" maskEnable maskClose>
 			<l-painter ref="painter" isCanvasToTempFilePath @success="path = $event">
@@ -124,7 +127,9 @@
 			<view class="enterprise-tips" @click="savePainter">保存海报</view>
 		</ax-popup>
 		<!-- 导航栏 -->
-		<app-navigation active="my"></app-navigation>
+		<view style="position: fixed;width: 100%;bottom:100rpx;z-index: 100;">
+			<app-navigation active="my"></app-navigation>
+		</view>
 	</ax-body>
 </template>
 
@@ -281,6 +286,21 @@ export default {
 			})
 
 		},
+		logout() {
+			this.$app.popup.confirm("确认退出登录?").then(confirm => {
+				if (confirm) {
+					this.$api.base('delete', '/api/v1/auth/logout').then(() => {
+						uni.removeStorageSync($config.keyname.accessToken);
+						uni.removeStorageSync($config.keyname.refreshToken);
+						this.$app.storage.remove('USER_INFO');
+						// 跳转首页
+						uni.reLaunch({
+							url: '/pages/index/index'
+						});
+					});
+				}
+			});
+		}
 	}
 }
 </script>

二進制
static/img/normal-user.png


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/common/main.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/common/vendor.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/components/app-navigation/app-navigation.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/components/ax-body/ax-body.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/components/ax-custom-title/ax-custom-title.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/components/ax-ios-indicator/ax-ios-indicator.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/components/ax-popup/ax-popup.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/index/index.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/login/login.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/map/map.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/my/my.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/subPackages/charging/charging/charging.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/subPackages/charging/new-site/new-site.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/subPackages/charging/site-more/site-more.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/subPackages/charging/site/site.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/subPackages/charging/terminal/terminal.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/subPackages/coupon/coupon-buy/coupon-buy.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/subPackages/coupon/coupons/coupons.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/subPackages/coupon/recharge-log/recharge-log.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/subPackages/order/order-detail/order-detail.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/subPackages/order/order/order.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/subPackages/other/banner-page/banner-page.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/subPackages/other/feedback-reply/feedback-reply.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/subPackages/other/feedback/feedback.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/subPackages/other/search/search.js.map


File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/lime-painter/components/l-painter/l-painter.js.map


+ 19 - 0
unpackage/dist/dev/mp-weixin/pages/index/index.js

@@ -415,6 +415,25 @@ var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/r
 //
 //
 //
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
 
 var bmap = __webpack_require__(/*! static/js/bmap-wx.js */ 49);
 var _default = {

File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/mp-weixin/pages/index/index.wxml


+ 62 - 9
unpackage/dist/dev/mp-weixin/pages/index/index.wxss

@@ -41,6 +41,7 @@ ax-body .ax-body .__root {
   position: absolute;
   bottom: 170rpx;
   right: 16rpx;
+  z-index: 100;
 }
 .concat-icon {
   width: 120rpx;
@@ -198,8 +199,7 @@ app-navigation {
   right: 0;
   width: 116rpx;
   height: 52rpx;
-  background: linear-gradient(134deg, #25eb64 0%, #0ad549 100%);
-  box-shadow: inset 0rpx 20rpx 40rpx 2rpx rgba(100, 255, 218, 0.26);
+  background: linear-gradient(90deg, #f32027 0%, #ffaa70 100%);
   border-radius: 0rpx 16rpx 0rpx 16rpx;
   font-size: 28rpx;
   color: #ffffff;
@@ -245,8 +245,8 @@ app-navigation {
   left: 50%;
   -webkit-transform: translate(-50%, 0);
           transform: translate(-50%, 0);
-  width: 202rpx;
-  height: 208rpx;
+  width: 290rpx;
+  height: 268rpx;
 }
 .order-center {
   display: flex;
@@ -285,7 +285,10 @@ app-navigation {
 /* 版头广告 */
 .banner {
   width: 100%;
-  height: calc((100vw - 20px) * (5 / 20));
+  /* height: calc((100vw - 20px) * (5 / 20)); */
+  height: 200rpx;
+  border-radius: 10rpx;
+  overflow: hidden;
 }
 .banner .swiper-item {
   display: flex;
@@ -294,15 +297,16 @@ app-navigation {
 .banner .swiper-item .swiper-item-image {
   display: block;
   width: 100%;
-  border-radius: 5px;
 }
 
 /* 选项条 */
 .options-bar {
   display: flex;
   align-items: center;
-  padding: 15px 0px;
+  height: 120rpx;
   gap: 20rpx;
+  position: relative;
+  z-index: 100;
 }
 .options-tabs {
   width: 152rpx;
@@ -397,6 +401,8 @@ app-navigation {
 .list-scroll-wrap {
   height: var(--list-heiht);
   position: relative;
+  padding-top: -20rpx;
+  /* background: #4fef86; */
 }
 .list-scroll-wrap > .list-scroll {
   position: absolute;
@@ -406,7 +412,27 @@ app-navigation {
   bottom: 0;
 }
 .list {
-  padding: 10px;
+  padding: 0 20rpx 20rpx 20rpx;
+  position: relative;
+}
+.list-top {
+  width: 710rpx;
+  height: 70rpx;
+  position: relative;
+  overflow: visible;
+}
+.list .list-top-img {
+  width: 710rpx;
+  position: absolute;
+  top: 0;
+  left: 0;
+  z-index: 1;
+  -webkit-transform: translateY(0);
+          transform: translateY(0);
+}
+.list .list-top-img-img {
+  width: 100%;
+  height: 100rpx;
 }
 .list .item {
   display: block;
@@ -414,6 +440,8 @@ app-navigation {
   background-color: #fff;
   box-shadow: 0 1px 10px rgba(0, 39, 52, 0.1);
   overflow: hidden;
+  position: relative;
+  z-index: 2;
 }
 .list .item + .item {
   margin-top: 10px;
@@ -439,7 +467,7 @@ app-navigation {
   width: 200rpx;
   height: 52rpx;
   background: linear-gradient(132deg, #ff6464 0%, #ff3a3a 100%);
-  border-radius: 0rpx 16rpx 0rpx 40rpx;
+  border-radius: 0rpx 16rpx 0rpx 37rpx;
   text-align: center;
   line-height: 52rpx;
   color: #fff;
@@ -560,6 +588,30 @@ app-navigation {
   padding: 0 10px;
   box-shadow: 0 0 5px rgba(0, 0, 0, 0.05);
 }
+.normal-user-price {
+  display: flex;
+  align-items: center;
+  position: relative;
+}
+.normal-user-price-label {
+  width: 330rpx;
+  height: 60rpx;
+  background: #fff2ec;
+  border-radius: 42rpx;
+}
+.normal-user-price .normal-user-price-icon {
+  width: 136rpx;
+  height: 60rpx;
+  position: absolute;
+  right: 0;
+}
+.normal-user-text {
+  position: absolute;
+  right: 14rpx;
+  font-weight: bold;
+  font-size: 28rpx;
+  color: #ffffff;
+}
 .list .item .price .value {
   font-size: 20px;
   font-weight: bold;
@@ -577,6 +629,7 @@ app-navigation {
   background-size: cover;
   background-position: center;
   line-height: 52rpx;
+  margin-left: 8rpx;
 }
 .card-bottom-text-minitext {
   margin-left: 110rpx;

+ 21 - 0
unpackage/dist/dev/mp-weixin/pages/my/my.js

@@ -353,6 +353,11 @@ var _config = _interopRequireDefault(__webpack_require__(/*! @/static/js/config.
 //
 //
 //
+//
+//
+//
+//
+//
 var _default = {
   data: function data() {
     return {
@@ -507,6 +512,22 @@ var _default = {
         },
         fail: function fail(error) {}
       });
+    },
+    logout: function logout() {
+      var _this7 = this;
+      this.$app.popup.confirm("确认退出登录?").then(function (confirm) {
+        if (confirm) {
+          _this7.$api.base('delete', '/api/v1/auth/logout').then(function () {
+            uni.removeStorageSync(_config.default.keyname.accessToken);
+            uni.removeStorageSync(_config.default.keyname.refreshToken);
+            _this7.$app.storage.remove('USER_INFO');
+            // 跳转首页
+            uni.reLaunch({
+              url: '/pages/index/index'
+            });
+          });
+        }
+      });
     }
   }
 };

File diff suppressed because it is too large
+ 0 - 0
unpackage/dist/dev/mp-weixin/pages/my/my.wxml


+ 29 - 7
unpackage/dist/dev/mp-weixin/pages/my/my.wxss

@@ -1,7 +1,17 @@
+/* 页面级别限制水平滚动 */
+page.data-v-0be17cc6 {
+  overflow-x: hidden;
+  width: 100%;
+}
 ax-body.data-v-0be17cc6 {
   display: block;
   height: 100%;
   background: #f6faff;
+  overflow: hidden;
+}
+ax-body .__root.data-v-0be17cc6 {
+  overflow-x: hidden;
+  overflow-y: auto;
 }
 app-navigation.data-v-0be17cc6 {
   position: fixed;
@@ -24,11 +34,11 @@ app-navigation.data-v-0be17cc6 {
   position: relative;
   z-index: 1;
 }
-
 /* 用户卡 */
 .user-card.data-v-0be17cc6 {
   padding: 20px 0;
   position: relative;
+  margin-right: -10px;
 }
 .user-avatar.data-v-0be17cc6 {
   display: block;
@@ -50,10 +60,9 @@ app-navigation.data-v-0be17cc6 {
 }
 .seting-icon-box.data-v-0be17cc6 {
   position: absolute;
-  right: 0;
   display: flex;
   align-items: center;
-  right: -20rpx;
+  right: 0;
 }
 .seting-icon-box .img-icon.data-v-0be17cc6 {
   position: absolute;
@@ -93,7 +102,6 @@ app-navigation.data-v-0be17cc6 {
   font-size: 22rpx;
   color: #181818;
 }
-
 /* 统计卡 新*/
 .statistics-card.data-v-0be17cc6 {
   background: #ffffff;
@@ -140,12 +148,14 @@ app-navigation.data-v-0be17cc6 {
   height: 104rpx;
   border: 2rpx solid #f0f0f0;
 }
-
 /* 版头广告 */
 .banner.data-v-0be17cc6 {
   width: 100%;
-  height: calc((100vw - 20px) * (5 / 20));
+  /* height: calc((100vw - 20px) * (5 / 20)); */
+  height: 200rpx;
   margin-top: 10rpx;
+  border-radius: 10rpx;
+  overflow: hidden;
 }
 .banner .swiper-item.data-v-0be17cc6 {
   display: flex;
@@ -166,7 +176,6 @@ app-navigation.data-v-0be17cc6 {
   margin-top: 15px;
   background: linear-gradient(to right, #8ff8fb, #47aeff);
 }
-
 /* 卡片 */
 .card.data-v-0be17cc6 {
   background-color: #fff;
@@ -248,6 +257,19 @@ app-navigation.data-v-0be17cc6 {
   border-radius: 10rpx;
   color: #fff;
 }
+.logout.data-v-0be17cc6 {
+  margin: auto;
+  margin-top: 50rpx;
+  width: 224rpx;
+  height: 100rpx;
+  background: linear-gradient(99deg, #8ff8fb 0%, #47aeff 100%);
+  border-radius: 50rpx;
+  font-weight: 800;
+  font-size: 28rpx;
+  color: #2b303a;
+  text-align: center;
+  line-height: 100rpx;
+}
 .refund_btn.data-v-0be17cc6 {
 	position: absolute;
 	font-size: 14px;

二進制
unpackage/dist/dev/mp-weixin/static/img/normal-user.png


Some files were not shown because too many files changed in this diff