国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【uni-app】自定義導(dǎo)航欄

這篇具有很好參考價(jià)值的文章主要介紹了【uni-app】自定義導(dǎo)航欄。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

【uni-app】自定義導(dǎo)航欄

新手剛玩uniapp進(jìn)行微信小程序,甚至多端的開發(fā)。原生uniapp的導(dǎo)航欄,并不能滿足ui的需求,所以各種查閱資料,導(dǎo)航欄自定義內(nèi)容 整理如下:

需要修改的文件如下:

uni 自定義導(dǎo)航欄,uniapp,# 【前端】Vue,uni-app,自定義導(dǎo)航欄

1、pages.json

修改pages.json,啟動導(dǎo)航欄自適應(yīng),設(shè)置"navigationStyle": "custom"

{
	"pages": [
		{
			"path": "pages/v2/AIChat/AIChat",
			"style": {
				"navigationBarTitleText": "AI",
				"navigationStyle": "custom"    
			}
		}
	],
	"globalStyle": {
		"navigationBarTextStyle": "black",
		"navigationBarBackgroundColor": "#F8F8F8",
		"backgroundColor": "#F8F8F8",
		"app-plus": {
			"background": "#efeff4"
		}
	}
}

2、system_info.js

新建system_info.js,用于獲取當(dāng)前設(shè)備的機(jī)型系統(tǒng)信息。

/**
 * 此js文件管理關(guān)于當(dāng)前設(shè)備的機(jī)型系統(tǒng)信息
 */
const systemInfo = function() {
	/****************** 所有平臺共有的系統(tǒng)信息 ********************/
	// 設(shè)備系統(tǒng)信息
	let systemInfomations = uni.getSystemInfoSync()
	// 機(jī)型適配比例系數(shù)
	let scaleFactor = 750 / systemInfomations.windowWidth
	// 當(dāng)前機(jī)型-屏幕高度
	let windowHeight = systemInfomations.windowHeight * scaleFactor //rpx
	// 當(dāng)前機(jī)型-屏幕寬度
	let windowWidth = systemInfomations.windowWidth * scaleFactor //rpx
	// 狀態(tài)欄高度
	let statusBarHeight = (systemInfomations.statusBarHeight) * scaleFactor //rpx
 
	// 導(dǎo)航欄高度  注意:此導(dǎo)航欄高度只針對微信小程序有效 其他平臺如自定義導(dǎo)航欄請使用:狀態(tài)欄高度+自定義文本高度
	let navHeight = 0 //rpx
	// console.log(windowHeight,'哈哈哈哈哈');
	
	/****************** 微信小程序頭部膠囊信息 ********************/
	// #ifdef MP-WEIXIN
	const menuButtonInfo = wx.getMenuButtonBoundingClientRect()
	// 膠囊高度
	let menuButtonHeight = menuButtonInfo.height * scaleFactor //rpx
	// 膠囊寬度
	let menuButtonWidth = menuButtonInfo.width * scaleFactor //rpx
	// 膠囊上邊界的坐標(biāo)
	let menuButtonTop = menuButtonInfo.top * scaleFactor //rpx
	// 膠囊右邊界的坐標(biāo)
	let menuButtonRight = menuButtonInfo.right * scaleFactor //rpx
	// 膠囊下邊界的坐標(biāo)
	let menuButtonBottom = menuButtonInfo.bottom * scaleFactor //rpx
	// 膠囊左邊界的坐標(biāo)
	let menuButtonLeft = menuButtonInfo.left * scaleFactor //rpx
 
	// 微信小程序中導(dǎo)航欄高度 = 膠囊高度 + (頂部距離 - 狀態(tài)欄高度) * 2
	navHeight = menuButtonHeight + (menuButtonTop - statusBarHeight) * 2
	// #endif
 
 
	// #ifdef MP-WEIXIN
	return {
		scaleFactor,
		windowHeight,
		windowWidth,
		statusBarHeight,
		menuButtonHeight,
		menuButtonWidth,
		menuButtonTop,
		menuButtonRight,
		menuButtonBottom,
		menuButtonLeft,
		navHeight
	}
	// #endif
 
	// #ifndef MP-WEIXIN
	return {
		scaleFactor,
		windowHeight,
		windowWidth,
		statusBarHeight
	}
	// #endif
}
 
export {
	systemInfo
}

3、HeadNav.vue

新建組件HeadNav.vue,這是自定義導(dǎo)航欄。

/*
* 注意:
* 1、在傳入寬度或者高度時(shí),如果是Number數(shù)據(jù),傳入的值為px大小,無需帶單位,組件自動計(jì)算
* 2、在使用此導(dǎo)航欄時(shí),建議傳入U(xiǎn)I規(guī)定的導(dǎo)航欄高度,此高度只針對除微信小程序的其他平臺有效,微信小程序的導(dǎo)航欄高度,組件自計(jì)算
*/
<template>
	<view :style="{height:navHeight+'rpx'}">
		<!-- 微信小程序頭部導(dǎo)航欄 -->
		<!-- #ifdef MP-WEIXIN -->
		<view class="wx-head-mod" :style="{height:navHeight+'rpx',backgroundColor:navBackgroundColor}">
			<view class="wx-head-mod-nav" :style="{height:navigationBarHeight+'rpx',top:statusBarHeight+'rpx'}">
				<view class="wx-head-mod-nav-content"
					:style="{height:customHeight+'rpx',justifyContent:textAlign === 'center'?'center':'left'}">
					<!-- 文本區(qū) -->
					<view class="wx-head-mod-nav-content-mian"
						:style="{width:navTextWidth,lineHeight:customHeight + 'rpx',paddingLeft:textPaddingLeft*scaleFactor+'rpx',fontSize:fontSize*scaleFactor+'rpx',fontWeight:fontWeight,color:titleColor}">
						{{textContent}}
					</view>
					<!-- 返回按鈕 -->
					<view class="wx-head-mod-nav-content-back" :style="{display:isBackShow?'flex':'none'}"
						@click="backEvent">
						<view class="wx-head-mod-nav-content-back-img"
							:style="{width:backImageWidth*scaleFactor+'rpx',height:backImageHeight*scaleFactor+'rpx'}">
							<image :src="backImageUrl" mode="" style="width: 100%;height: 100%;"></image>
						</view>
					</view>
				</view>
			</view>
		</view>
		<!-- #endif -->
 
		<!-- 除微信小程序之外的其他設(shè)備 -->
		<!-- #ifndef MP-WEIXIN -->
		<view class="other-head-mod"
			:style="{height:navHeightValue*scaleFactor+statusBarHeight+'rpx',backgroundColor:navBackgroundColor}">
			<view class="other-head-mod-mian"
				:style="{height:navHeightValue*scaleFactor+'rpx',justifyContent:textAlign === 'center'?'center':'left'}">
				<!-- 返回按鈕 -->
				<view class="other-head-mod-mian-back" v-show="isBackShow" @click="backEvent">
					<view class="other-head-mod-mian-back-img"
						:style="{width:backImageWidth*scaleFactor+'rpx',height:backImageHeight*scaleFactor+'rpx'}">
						<image :src="backImageUrl" mode="" style="width: 100%;height: 100%;"></image>
					</view>
				</view>
				<!-- 標(biāo)題 -->
				<view class="other-head-mod-mian-title" :style="{width:windowWidth - 184+'rpx',lineHeight:navHeightValue*scaleFactor+'rpx',
					paddingLeft:textPaddingLeft*scaleFactor+'rpx',fontSize:fontSize*scaleFactor+'rpx',
					fontWeight:fontWeight,color:titleColor}">
					{{textContent}}
				</view>
			</view>
		</view>
		<!-- #endif -->
	</view>
</template>
 
<script>
	const app = getApp()
	import {systemInfo} from '@/pages/v2/acommon_js/system_info.js'
	export default {
		name: "HeadView",
		props: {
			// 文本區(qū)域位置 left:左  center:中  
			textAlign: {
				type: String,
				default: 'center'
			},
			// 文本區(qū)內(nèi)容
			textContent: {
				type: String,
				default: '哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈就啊哈哈好借好還'
			},
			// 文本區(qū)離左邊的距離
			textPaddingLeft: {
				type: Number,
				default: 16
			},
			// 是否需要返回按鈕
			isBackShow: {
				type: Boolean,
				default: true
			},
			// 文本區(qū)字體大小
			fontSize: {
				type: Number,
				default: 20 //px
			},
			// 文本區(qū)字體粗細(xì)
			fontWeight: {
				type: Number,
				default: 700
			},
			// 文本區(qū)返回按鈕圖片寬
			backImageWidth: {
				type: Number,
				default: 12 //px
			},
			// 文本區(qū)返回按鈕圖片高
			backImageHeight: {
				type: Number,
				default: 24 //px
			},
			// 返回按鈕圖標(biāo)路徑
			backImageUrl: {
				type: String,
				default: '/static/v2/aichat/ai_robot.png'
			},
			// 導(dǎo)航欄整體背景顏色
			navBackgroundColor: {
				type: String,
				default: '#2476F9'
			},
			// 標(biāo)題字體顏色
			titleColor: {
				type: String,
				default: '#ffffff',
			},
 
			/******** h5端,app端需要傳入自定義導(dǎo)航欄高度 *******/
			navHeightValue: {
				type: Number,
				default: 44 //px
			}
		},
		computed: {
			// 文本區(qū)寬度
			navTextWidth() {
				if (this.textAlign === 'center') {
					return (this.windowWidth - (this.windowWidth - this.menubarLeft) * 2) + 'rpx'
				} else {
					return this.menubarLeft + 'rpx'
				}
			},
			// 文本區(qū)paddingLeft
			textPaddingleft() {
				if (this.textAlign === 'center') {
					return '0'
				} else {
					return this.textPaddingLeft + 'rpx'
				}
			}
		},
		data() {
			return {
				statusBarHeight: app.globalData.statusBarHeight, //狀態(tài)欄高度
				navHeight: app.globalData.navHeight, //頭部導(dǎo)航欄總體高度
				navigationBarHeight: app.globalData.navigationBarHeight, //導(dǎo)航欄高度
				customHeight: app.globalData.customHeight, //膠囊高度
				scaleFactor: app.globalData.scaleFactor, //比例系數(shù)
				menubarLeft: app.globalData.menubarLeft, //膠囊定位的左邊left
				windowWidth: app.globalData.windowWidth * app.globalData.scaleFactor
			};
		},
		methods: {
			backEvent() {
				uni.navigateBack({
					delta: 1
				})
			}
		},
		created() {
			/* 獲取設(shè)備信息 */
			const SystemInfomations = systemInfo()
			/* 通用平臺 */
			this.statusBarHeight = SystemInfomations.statusBarHeight //狀態(tài)欄高度
			this.scaleFactor = SystemInfomations.scaleFactor //比例系數(shù)
			this.windowWidth = SystemInfomations.windowWidth //當(dāng)前設(shè)備的屏幕寬度
			/* 微信小程序平臺 */
			// #ifdef MP-WEIXIN
			this.navHeight = SystemInfomations.navHeight + SystemInfomations.statusBarHeight //頭部導(dǎo)航欄總高度
			this.navigationBarHeight = SystemInfomations.navHeight //頭部導(dǎo)航欄高度
			this.customHeight = SystemInfomations.menuButtonHeight //膠囊高度
			this.menubarLeft = SystemInfomations.menuButtonLeft //膠囊左邊界距離左上角的距離
			// #endif
			
			console.log("this.navHeight:", this.navHeight)
		}
	}
</script>
 
<style>
	/* #ifdef MP-WEIXIN */
	.wx-head-mod {
		box-sizing: border-box;
		width: 100%;
		position: fixed;
		top: 0;
		left: 0;
	}
 
	.wx-head-mod-nav {
		box-sizing: border-box;
		width: 100%;
		position: absolute;
		left: 0;
		display: flex;
		justify-content: center;
		align-items: center;
 
	}
 
	.wx-head-mod-nav-content {
		box-sizing: border-box;
		width: 100%;
		display: flex;
		justify-content: left;
		align-items: center;
		position: relative;
	}
 
	/* 文本區(qū) */
	.wx-head-mod-nav-content-mian {
		box-sizing: border-box;
		height: 100%;
		white-space: nowrap;
		text-overflow: ellipsis;
		overflow: hidden;
	}
 
	/* 返回按鈕 */
	.wx-head-mod-nav-content-back {
		box-sizing: border-box;
		width: 60rpx;
		height: 100%;
		/* background-color: aqua; */
		position: absolute;
		top: 0;
		left: 32rpx;
		display: flex;
		align-items: center;
		justify-content: left;
	}
 
	.wx-head-mod-nav-content-back-img {
		box-sizing: border-box;
	}
 
	/* #endif */
 
	/* #ifndef MP-WEIXIN */
	.other-head-mod {
		box-sizing: border-box;
		width: 100%;
		position: fixed;
		top: 0;
		left: 0;
	}
 
	.other-head-mod-mian {
		box-sizing: border-box;
		width: 100%;
		display: flex;
		align-items: center;
		justify-content: left;
		position: absolute;
		left: 0;
		bottom: 0;
	}
 
	/* 返回按鈕 */
	.other-head-mod-mian-back {
		box-sizing: border-box;
		height: 100%;
		width: 60rpx;
		position: absolute;
		left: 32rpx;
		top: 0;
		display: flex;
		align-items: center;
	}
 
	/* 標(biāo)題 */
	.other-head-mod-mian-title {
		box-sizing: border-box;
		height: 100%;
		white-space: nowrap;
		text-overflow: ellipsis;
		overflow: hidden;
	}
 
	/* #endif */
</style>

4、AIChat.vue

修改要自定義導(dǎo)航欄的組件文章來源地址http://www.zghlxwxcb.cn/news/detail-598072.html

<template>
	<view style="height: 100%;">
		<head-nav :style="navStyle"></head-nav>
		<view class="container" :style="containerStyle">
			<scroll-view :scroll-top="scrollTop" class="chat-container" :scroll-into-view="scrollintoid" scroll-y="true"
				@scroll="handleScroll" @scrolltolower="handleScrollToLower">
			省略中間布局內(nèi)容
			</scroll-view>
		</view>

	</view>
</template>

<script>
	import HeadNav from '@/pages/v2/components/HeadNav.vue'
	import {systemInfo} from '@/pages/v2/acommon_js/system_info.js'
	export default {
		components: {
			MarkdownViewer,
			HeadNav
		},
		data() {
			return {
				// 省略部分變量
				containerStyle: "",
				navStyle: ""
			};
		},
		onReady() {
			// -------------------------- 經(jīng)典界面自定義,需要記錄-------------------------------------------------------------
			// 設(shè)備系統(tǒng)信息
			let systemInfomations_ = uni.getSystemInfoSync()
			// 機(jī)型適配比例系數(shù)
			let scaleFactor_ = 750 / systemInfomations_.windowWidth
			// 當(dāng)前機(jī)型-屏幕高度
			let windowHeight_ = systemInfomations_.windowHeight * scaleFactor_ //rpx
			
			/* 獲取設(shè)備信息 */
			const SystemInfomations = systemInfo()
			/* 通用平臺 */
			const statusBarHeight = SystemInfomations.statusBarHeight //狀態(tài)欄高度
			const scaleFactor = SystemInfomations.scaleFactor //比例系數(shù)
			const windowWidth = SystemInfomations.windowWidth //當(dāng)前設(shè)備的屏幕寬度
			/* 微信小程序平臺 */
			// #ifdef MP-WEIXIN
			const navHeight = SystemInfomations.navHeight + SystemInfomations.statusBarHeight //頭部導(dǎo)航欄總高度
			const navigationBarHeight = SystemInfomations.navHeight //頭部導(dǎo)航欄高度
			const customHeight = SystemInfomations.menuButtonHeight //膠囊高度
			const menubarLeft = SystemInfomations.menuButtonLeft //膠囊左邊界距離左上角的距離
			this.containerStyle = ' height:' + (systemInfomations_.windowHeight - statusBarHeight - 10) + 'px;';
			// #endif
			
			console.log("this.viewHight:", this.viewHeight)
			
			/* 通用平臺 */
			// #ifndef MP-WEIXIN
			this.containerStyle = 'height:' + (systemInfomations_.windowHeight - 54) + 'px;';
			this.navStyle = 'height:' + 44 + 'px';
			// #endif
			// ---------------------------------------------------------------------------------------
	}
}
</script>

到了這里,關(guān)于【uni-app】自定義導(dǎo)航欄的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • uni-app自定義微信小程序頭部導(dǎo)航欄

    uni-app自定義微信小程序頭部導(dǎo)航欄

    目錄 一、子組件代碼 1、完整子組件代碼? 2、子組件配置項(xiàng)Props? 二、父組件引用代碼? 1 、將頭部導(dǎo)航注冊成全局組件(main.js) 2、獲取設(shè)備信息(App.vue) 3、頁面導(dǎo)入自定義導(dǎo)航組件 (3-1)、默認(rèn)配置效果圖例 (3-2)、更改配置效果圖例? 1、完整子組件代碼? 2、子組件

    2024年02月03日
    瀏覽(95)
  • uni-app實(shí)現(xiàn)自定義導(dǎo)航欄,兼容H5、App、微信小程序

    uni-app實(shí)現(xiàn)自定義導(dǎo)航欄,兼容H5、App、微信小程序

    很多情況下,系統(tǒng)自帶的導(dǎo)航欄無法滿足UI設(shè)計(jì)的要求,這時(shí)候就需要我們自定義導(dǎo)航欄來實(shí)現(xiàn)需求,要考慮跨端的多種情況,這里我們封裝成一個(gè)組件來使用,實(shí)現(xiàn)效果如下: 一、H5、App、微信小程序的區(qū)別 1.H5:導(dǎo)航欄高度可以設(shè)為44px,它沒有狀態(tài)欄,因?yàn)镠5端運(yùn)行在瀏覽

    2024年04月13日
    瀏覽(105)
  • 【小程序】uni-app自定義導(dǎo)航欄適配小程序,對齊膠囊

    【小程序】uni-app自定義導(dǎo)航欄適配小程序,對齊膠囊

    實(shí)現(xiàn)效果 ?自定義導(dǎo)航欄對齊膠囊按鈕,實(shí)現(xiàn)方法是通過獲取膠囊按鈕的頂部(top)高度和自身高度(height),動態(tài)設(shè)置導(dǎo)航欄的樣式(style)。 通過uni.getMenuButtonBoundingClientRect(),可以獲取膠囊按鈕的布局位置信息,包括width、height、top、bottom、left、right。 1、定義變量 2、獲

    2024年02月13日
    瀏覽(29)
  • uni-app 使用 Uview2.x 搭建自定義tabbar組件,自定義navbar,還會解決自定義導(dǎo)航欄引起閃爍性能差的問題?。?!

    uni-app 使用 Uview2.x 搭建自定義tabbar組件,自定義navbar,還會解決自定義導(dǎo)航欄引起閃爍性能差的問題?。?!

    pages.json ?上面可以看到tabbar我使用的原生的,但是值配置了pagepath,并且page里三個(gè)首頁都可以自定義頂部導(dǎo)航欄,當(dāng)然如果刪掉custom那一行代碼,就切換成原生頂部導(dǎo)航欄了。 下面拿一個(gè)首頁作為代碼演示:(頂部自定義導(dǎo)航欄組件和底部導(dǎo)航欄組件會放在最后) 下圖組件

    2023年04月09日
    瀏覽(33)
  • #Uniapp:uni-app中vue2生命周期--11個(gè)

    uni-app中vue2生命周期 生命周期鉤子 描述 H5 App端 小程序 說明 beforeCreate 在實(shí)例初始化之后被調(diào)用 詳情 √ √ √ created 在實(shí)例創(chuàng)建完成后被立即調(diào)用 詳情 √ √ √ beforeMount 在掛載開始之前被調(diào)用 詳情 √ √ √ mounted 掛載到實(shí)例上去之后調(diào)用 詳情 注意:此處并不能確定子組件

    2024年02月02日
    瀏覽(66)
  • 前端vue uni-app仿美團(tuán)下拉框下拉篩選組件

    前端vue uni-app仿美團(tuán)下拉框下拉篩選組件

    在前端Web開發(fā)中,下拉篩選功能是一種非常常見的交互方式,它可以幫助用戶快速選擇所需的選項(xiàng)。本文將介紹如何利用Vue.js和uni-app框架來實(shí)現(xiàn)一個(gè)高效的下拉篩選功能。通過使用這兩個(gè)強(qiáng)大的前端框架,我們可以輕松地創(chuàng)建具有響應(yīng)式用戶操作的下拉篩選組件。 首先,我

    2024年02月09日
    瀏覽(25)
  • 模仿dcloudio/uni-preset-vue 自定義基于uni-app的小程序框架

    模仿dcloudio/uni-preset-vue 自定義基于uni-app的小程序框架

    我們知道通過 可以創(chuàng)建小程序框架。這個(gè)是DCloud 基于vue-cli 來實(shí)現(xiàn)的uni-app框架。使用過的都知道,有好幾個(gè)模板進(jìn)行選擇。如果我們有自己的項(xiàng)目框架,如何做成預(yù)設(shè)模板,一行命令一鍵生成項(xiàng)目框架呢?例如提供給其他團(tuán)隊(duì)項(xiàng)目框架,只需要告訴一下命令就可以了,方便

    2024年02月12日
    瀏覽(25)
  • 前端Vue uni-app App/小程序/H5 通用tree樹形結(jié)構(gòu)圖

    前端Vue uni-app App/小程序/H5 通用tree樹形結(jié)構(gòu)圖

    隨著技術(shù)的發(fā)展,開發(fā)的復(fù)雜度也越來越高,傳統(tǒng)開發(fā)方式將一個(gè)系統(tǒng)做成了整塊應(yīng)用,經(jīng)常出現(xiàn)的情況就是一個(gè)小小的改動或者一個(gè)小功能的增加可能會引起整體邏輯的修改,造成牽一發(fā)而動全身。 通過組件化開發(fā),可以有效實(shí)現(xiàn)單獨(dú)開發(fā),單獨(dú)維護(hù),而且他們之間可以隨

    2024年02月16日
    瀏覽(29)
  • 前端vue uni-app cc-countdown倒計(jì)時(shí)組件

    前端vue uni-app cc-countdown倒計(jì)時(shí)組件

    隨著技術(shù)的不斷發(fā)展,傳統(tǒng)的開發(fā)方式使得系統(tǒng)的復(fù)雜度越來越高。在傳統(tǒng)開發(fā)過程中,一個(gè)小小的改動或者一個(gè)小功能的增加可能會導(dǎo)致整體邏輯的修改,造成牽一發(fā)而動全身的情況。為了解決這個(gè)問題,我們采用了組件化的開發(fā)模式。通過組件化開發(fā),可以有效地實(shí)現(xiàn)單

    2024年02月15日
    瀏覽(37)
  • uni-app 前端項(xiàng)目(vue)部署到本地win系統(tǒng)Nginx上 http

    uni-app 前端項(xiàng)目(vue)部署到本地win系統(tǒng)Nginx上 http

    ?背景: 若依移動端的項(xiàng)目:整合了uview開源ui框架 部署流程 1. 配置后端請求接口基本路徑地址: 2. 打包復(fù)制到nginx下:nginx/htm/newxss, (newxss目錄手動創(chuàng)建) 3.在nginx上配置了站點(diǎn)與api代理? Nginx配置 安裝個(gè)穩(wěn)定版本的:nginx-1.24.0 部署配置: 1.增加了網(wǎng)站: 8083端口 的,?網(wǎng)站

    2024年04月12日
    瀏覽(30)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包