美文网首页
uni-app常用操作

uni-app常用操作

作者: SeekLife0 | 来源:发表于2024-06-13 16:30 被阅读0次

    1、跳转页面。

    uni.navigateTo({
        url: '/pages/login/index?navback=1'
    });
    //传递多个参数例子
    uni.navigateTo({
            url: '/mall/shopcart/productDetail?id=' + id + '&merchantId=' + ids.merchantId +
            '&priceStr=' + priceStr + '&name=' + name + '&power=' + this.power +
            "&powerId=" +
            this.powerId + '&picUrl=' + picUrl + '&isMall=' + this.isMall
    })
    
    //回传
    let pages = getCurrentPages()
    let prevPage = pages[pages.length -2] 
    prevPage.$vm.getSelectObjValue(this.ids) 
    uni.navigateBack({delta:1})
    
    //获取返回参数方法
    getSelectObjValue(val) {
    }
    

    2、获取跳转参数

    onLoad(options) {
       let id = options.id
    }
    

    3、页面声明周期

    onLoad(){
    }
    onShow(){
    }
    onHide(){
    }
    onUnload(){
    }
    

    4、获取当前时间

    this.startTime = Date.now();
    

    5、本地数据的存储

    //取出
    uni.getStorageSync('userInfo');
    //保存
    uni.setStorageSync('userInfo', true);
    //删除
    uni.removeStorage('userInfo')
    //异步获取结果
    uni.getStorage({
        key: 'userMerchant',
        success: function(res) {
        }
    })
    

    6、安卓app权限操作
    例如获取定位权限时,弹出请求权限弹框,被拒绝后弹出引导开启权限弹框。

    //可到uni-app官方demo中拷贝该文件
    // #ifdef APP-PLUS
    import permision from "@/common/permission.js"
    // #endif
    
                        let status = await this.checkPermission();
                        if (status !== 1) {
                            return;
                        }
                        uni.getLocation({
                            type: 'gcj02',
                            success: function(res) {
                                console.log(res.latitude);
                                this.lat = res.latitude
                                this.lng = res.longitude
                                uni.navigateTo({
                                    url: '../store/choose-location?pagetype=index&lat=' + this.lat + '&lng=' +
                                        this.lng
                                })
                            }
                        });
    
                async checkPermission() {
                    let status = permision.isIOS ? await permision.requestIOS('location') :
                        await permision.requestAndroid('android.permission.ACCESS_FINE_LOCATION');
                
                    if (status === null || status === 1) {
                        status = 1;
                    } else if (status === 2) {
                        uni.showModal({
                            content: "系统定位已关闭",
                            confirmText: "确定",
                            showCancel: false,
                            success: function(res) {
                            }
                        })
                    } else if (status.code) {
                        uni.showModal({
                            content: status.message
                        })
                    } else {
                        uni.showModal({
                            content: "需要定位权限",
                            confirmText: "设置",
                            success: function(res) {
                                if (res.confirm) {
                                    permision.gotoAppSetting();
                                }
                            }
                        })
                    }
                    return status;
                }
    

    7、vue动态样式

    <view :class="status == 1?'top':'top1'" @click="show = true">
    
    <style>
       .top{
          xxx
        }
       .top1{
         xxx
       }
    </style>
    

    8、uniapp中使用iconfont图标。
    参考:【小程序开发】uniapp引入iconfont图标及使用方式_uniapp icon-CSDN博客
    操作完后需要重启项目

    相关文章

      网友评论

          本文标题:uni-app常用操作

          本文链接:https://www.haomeiwen.com/subject/pgznqjtx.html