在uniapp中,微信小程序获取胶囊的高度、宽度,且适配微信小程序、App

效果:

H5:

微信小程序:

方法:

 function getWXStatusHeight() {
    // 获取距上
    const barTop = wx.getSystemInfoSync().statusBarHeight
    // 获取胶囊按钮位置信息
    const menuButtonInfo = wx.getMenuButtonBoundingClientRect()
    // 获取导航栏高度
    const barHeight = menuButtonInfo.height + (menuButtonInfo.top - barTop) * 2
    let barWidth = menuButtonInfo.width


    return {
        barHeight,
        barTop,
        barWidth
    }

}

export {
    getWXStatusHeight
}

使用:

1、引入:

import {
        getWXStatusHeight
    } from '@/common/util.js'

2、

<!-- #ifdef MP-WEIXIN -->
        <view class="nav" :style="padding">
            <!-- <uni-nav-bar  left-icon="left" right-icon="cart" @clickLeft="back" title="标题" :height="barHeight + 'px'" /> -->
            <uni-nav-bar :height="barHeight + 'px'" left-icon="left" @clickLeft="back" :barWidth="barWidth + 10"
                title="信息中心" rightWidth="150rpx">
                <template v-slot:right>
                    <view class="cilck_all">
                        <text class="iconfont icon-chakanmima"></text>
                        <text class="has_read">一键已读</text>
                    </view>
                </template>
            </uni-nav-bar>
        </view>
        <!-- #endif -->
        <!-- #ifdef APP-PLUS || H5 -->
        <view class="nav">
            <uni-nav-bar left-icon="left" @clickLeft="back" title="信息中心" rightWidth="200rpx">
                <template v-slot:right>
                    <!-- <text class="iconfont icon-bianjishuru" @click="edit_department"></text> -->
                    <!-- <text class="iconfont icon-chakanmima"></text> -->
                    <view class="cilck_all">
                        <text class="iconfont icon-chakanmima"></text>
                        <text class="has_read">一键已读</text>
                    </view>
                </template>
            </uni-nav-bar>
        </view>
        <!-- #endif -->

data() {
            return {
                // bar (title这一条) 距
                barTop: 0,
                // bar 高度, bar 是 fixed
                barHeight: 0,
                // 胶囊的宽度
                barWidth: 0,
                // 获取到的小程序中胶囊的位置信息
                // #ifdef MP-WEIXIN
                getHeight: getWXStatusHeight(),
                // #endif
                padding: {}
            }
        },
        onLoad() {
            // #ifdef MP-WEIXIN
            let obj = this.getHeight
            this.barTop = obj.barTop
            this.barHeight = obj.barHeight
            this.barWidth = obj.barWidth
            this.padding = {
                'padding-top': this.barTop + 'px',

            }
            // #endif

        },
    .nav {
        /* #ifdef APP-PLUS || H5 */
        padding-top: var(--status-bar-height);
        /* #endif */
        background-color: #fff;

        .cilck_all {
            font-size: 18rpx;
            border: 1rpx solid black;
            padding: 10rpx 14rpx;
            border-radius: 30rpx;
            width: 200rpx;
            text-align: center;

            text {
                font-size: 18rpx;
            }

            .has_read {
                margin-left: 10rpx;
            }
        }
    }

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
uniapp设置微信小程序获取用户信息,需要先在小程序管理后台开启获取用户信息权限,并获取到对应的AppID和AppSecret。 然后在uniapp的manifest.json文件,将微信小程序AppID和AppSecret配置进去,如下所示: ``` "mp-weixin": { "appid": "your_appid", "appsecret": "your_appsecret" } ``` 接着,在需要获取用户信息的页面,可以通过uni.getUserInfo()方法来获取用户信息,示例代码如下: ``` uni.getUserInfo({ provider: 'weixin', success: function (res) { console.log(res.userInfo); } }); ``` 其,provider参数指定获取用户信息的平台,这里填写weixin表示获取微信小程序的用户信息。成功获取到用户信息后,可以通过res.userInfo来获取到用户的昵称、头像等信息。 需要注意的是,获取用户信息需要用户授权,因此在进行获取用户信息的操作时,需要先判断用户是否已经授权,可以使用uni.getSetting()方法来获取用户授权信息,示例代码如下: ``` uni.getSetting({ success: function (res) { if (res.authSetting['scope.userInfo']) { // 用户已经授权,可以直接获取用户信息 uni.getUserInfo({ provider: 'weixin', success: function (res) { console.log(res.userInfo); } }); } else { // 用户未授权,需要引导用户授权 uni.authorize({ scope: 'scope.userInfo', success() { // 用户已经授权,可以直接获取用户信息 uni.getUserInfo({ provider: 'weixin', success: function (res) { console.log(res.userInfo); } }); } }); } } }); ``` 以上是uniapp设置微信小程序获取用户信息的基本步骤和示例代码,希望能对您有所帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值