uniapp 日常使用频率较高的(一)

396 阅读2分钟

这是我参与更文挑战的第2天,活动详情查看:更文挑战

1. 跳转至某个页面(注意路径是在pages.json中配置过的)

// 从a跳转到b页面,可以通过手机返回按钮回到a,也就说a存在于历史记录
uni.navigateTo({
  url:`/pages/garbage/appointmentRecovery/record/cancelOrderparams=${JSON.stringify(this.formData)}`
});
// 关闭当前页面,跳转到应用内的某个页面,当前页面不能通过返回按钮回去了。
uni.redirectTo({
    url: 'test?id=1'
});
// 返回上一页面
uni.navigateBack()
// 跳转到 tabBar 页面,并关闭其他所有非 tabBar 页面。
uni.switchTab({
    url: '/pages/index/index'
});
// 关闭所有页面,打开到应用内的某个页面。
uni.reLaunch({
    url: 'test?id=1'
});

2. 获取url传参,在onLoad生命周期

注意:onLoad是uniapp的生命周期,仅在页面加载时运行一次

onLoad(params) {
    console.log(params.params)
}

3. uniapp配合使用的UI uView

4. 独特的条件编译

#ifdef:if defined 仅在某平台存在
#ifndef:if not defined 除了某平台均存在

image.png

5. 使用相机功能

/* 调用相机代码 */
uni.chooseImage({
    count: 1,
    sizeType: ['original', 'compressed'],
    sourceType: ['camera'],
    success: res => {
        const tempFilePaths = res.tempFilePaths[0];
    }
});

6. 预览图片

previewImage(index) {
        //预览图片
        uni.previewImage({
                urls: this.imgUrl,
                current: this.imgUrl[index]
        });
},

7. 打开地图选择位置。

uni.chooseLocation({
    success: res => {
         const {address,name,latitude,longitude} = res
    }
});

8. 隐藏app原生导航-在pages.json中配置

    "path": "pages/mapVehicle",
    "style": {
            "app-plus": {
                    "titleNView": false
            }
    }

9. 设置app 导航栏-在pages.json中配置

    "path": "pages/login/login",
    "style": {
            "navigationBarTitleText": "登录"
    }

10. 获取当前的地理位置、速度。

uni.getLocation({
    type: 'wgs84',
    success: function (res) {
        console.log('当前位置的经度:' + res.longitude);
        console.log('当前位置的纬度:' + res.latitude);
    }
});

注意:云打包时需要在manifest的SDK配置中填写Appkey,离线打包自行在原生工程中配置。注意包名、appkey、证书信息必须匹配。真机运行可以正常定位,是因为真机运行基座使用了DCloud向高德申请的sdk配置,打包后必须由开发者自己申请。

特别注意:包名、appkey、证书信息必须匹配。(踩过大坑)