feat:173版本

This commit is contained in:
2026-08-29 13:02:46 +08:00
parent 23b30c8f04
commit 388c0d5185
17 changed files with 704 additions and 197 deletions
@@ -3,10 +3,9 @@
<!-- 顶部固定导航栏 -->
<view class="navbar-sticky-wrapper" :style="mpWarpStyle">
<view class="custom-navbar" :style="mpHeaderStyle">
<view class="nav-left" @click="goBack">
<view class="back-btn-box">
<text class="back-arrow">‹</text>
</view>
<view class="back_btn" @click="goBack">
<up-image src="/static/common/left.png" width="20" height="20" bgColor="#f1f6ff00"></up-image>
</view>
<view class="nav-title">申请退款</view>
<view class="nav-right"></view>
@@ -193,9 +192,7 @@ export default {
}
},
onLoad(options) {
// #ifdef MP-WEIXIN || MP
this.initMPHeader();
// #endif
let orderId = options ? options.id : null;
@@ -227,10 +224,12 @@ export default {
}
},
initMPHeader() {
// #ifdef MP-WEIXIN || MP
try {
const menuButton = uni.getMenuButtonBoundingClientRect();
const systemInfo = uni.getSystemInfoSync();
const statusBarHeight = systemInfo.statusBarHeight || 0;
// #ifdef MP-WEIXIN || MP
const menuButton = uni.getMenuButtonBoundingClientRect();
if (menuButton && menuButton.top && menuButton.top > 0) {
const menuButtonHeight = menuButton.height || 32;
const menuButtonTop = menuButton.top;
@@ -247,11 +246,23 @@ export default {
display: 'flex',
alignItems: 'center'
};
return;
}
// #endif
// APP-PLUS 或 H5 或 无胶囊环境:获取系统状态栏高度安全边距
this.mpWarpStyle = {
paddingTop: `${statusBarHeight}px`
};
this.mpHeaderStyle = {
height: '88rpx',
display: 'flex',
alignItems: 'center'
};
} catch (e) {
console.error("initMPHeader error:", e);
}
// #endif
},
goBack() {
uni.navigateBack({
@@ -404,11 +415,12 @@ export default {
<style lang="scss" scoped>
.apply-refund-container {
min-height: 100vh;
height: 100vh;
background-color: #F6F7F9;
display: flex;
flex-direction: column;
box-sizing: border-box;
overflow: hidden;
/* 顶部固定导航栏包装器 */
.navbar-sticky-wrapper {
@@ -430,26 +442,22 @@ export default {
position: relative;
box-sizing: border-box;
.back_btn,
.nav-left {
width: 60rpx;
height: 100%;
display: flex;
align-items: center;
justify-content: flex-start;
flex-shrink: 0;
.back-btn-box {
width: 44rpx;
height: 44rpx;
border: 1rpx dashed #C8C9CC;
border-radius: 6rpx;
display: flex;
align-items: center;
justify-content: center;
.back-arrow {
font-size: 36rpx;
color: #333333;
line-height: 1;
margin-top: -4rpx;
}
height: 100%;
margin-right: 20rpx;
flex-shrink: 0;
}
}
@@ -468,8 +476,8 @@ export default {
/* 主滚动区域 */
.content-scroll {
flex: 1;
height: 0;
height: 100%;
min-height: 0;
}
.main-content {
@@ -182,9 +182,7 @@ export default {
}
},
onLoad(options) {
// #ifdef MP-WEIXIN || MP
this.initMPHeader();
// #endif
let afterId = options ? (options.afterId || options.id) : null;
@@ -224,10 +222,12 @@ export default {
}
},
initMPHeader() {
// #ifdef MP-WEIXIN || MP
try {
const menuButton = uni.getMenuButtonBoundingClientRect();
const systemInfo = uni.getSystemInfoSync();
const statusBarHeight = systemInfo.statusBarHeight || 0;
// #ifdef MP-WEIXIN || MP
const menuButton = uni.getMenuButtonBoundingClientRect();
if (menuButton && menuButton.top && menuButton.top > 0) {
const menuButtonHeight = menuButton.height || 32;
const menuButtonTop = menuButton.top;
@@ -244,11 +244,23 @@ export default {
display: 'flex',
alignItems: 'center'
};
return;
}
// #endif
// APP-PLUS 或 H5 或 无胶囊环境
this.mpWarpStyle = {
paddingTop: `${statusBarHeight}px`
};
this.mpHeaderStyle = {
height: '88rpx',
display: 'flex',
alignItems: 'center'
};
} catch (e) {
console.error("initMPHeader error:", e);
}
// #endif
},
goBack() {
uni.navigateBack({
@@ -389,7 +401,8 @@ export default {
/* 主滚动区域 */
.content-scroll {
flex: 1;
height: 0;
height: 100%;
min-height: 0;
}
.main-content {