Unipp开发中遇到的坑

本文介绍了Uniapp框架,它基于VUE和微信小程序语法,可打包成多端代码。作者分享了开发APP时遇到微信授权登录功能的问题,使用uni.getUserProfile获取用户信息后传给后端为空,后发现该API不支持APP及H5,提醒开发者用百度搜索时先去官网查看API支持情况。

前言:相信大家没用过也听过Uniapp吧,他是一款基于VUE以及微信小程序的一套语法,最终可以打包成多端代码。所以也是很火的一个框架,那么我们在用uniapp中,肯定会遇到问题或者说没见过的需求,那么今天我就说一下我开发APP中遇到的坑。

不知道大家有没有遇到微信授权登录这个功能,由于我之前没做过嘛,遇到这个需求也是没有一点头绪,于是我就开始去百度。上面有一堆的方法和代码,于是我看到了一个。

uni.getUserProfile   获取用户信息

看到这个字眼,我以为解药来了,好家伙我框框就是c v 大法,唉,已打印,确实是用户信息都出来了

但是当我要传给后端的时候,怎么传发现都是空的。

然后我就纳闷了,我就去官网一搜,结果呢

 

 不支持APP以及H5,当时我10年的脑血痊都复发了。

所以在这提示大家,在去百度的时候,大家一定要先去官网查看一下这个api是否支持小程序等,不要看到一个字眼盲目的用到自己项目上

在使用 Uni-app 开发 Android 或 iOS 应用时,配置应用权限是确保应用正常运行的关键步骤。不同平台的权限配置方式有所不同,下面将分别介绍 Android 和 iOS 平台的权限配置方法。 ### Android 平台权限配置 在 Android 平台上,应用权限分为**普通权限(Normal Permissions)**和**危险权限(Dangerous Permissions)**。普通权限通常涉及用户数据的访问,而危险权限则可能对用户的隐私或设备功能造成影响,因此需要用户手动授权。 #### 1. 声明权限 在 `manifest.json` 文件中,可以通过 **源码视图** 的方式进入 `AndroidManifest.xml` 文件,添加所需的权限声明。例如,若需要访问设备的位置信息,可以添加以下权限: ```xml <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> ``` #### 2. 请求权限 在 Uni-app 中,可以通过 `uni.authorize` 或 `uni.getSetting` 接口请求权限。例如,请求位置权限的代码如下: ```javascript uni.authorize({ scope: 'scope.userLocation', success() { console.log('授权成功'); }, fail() { console.log('用户拒绝授权'); uni.openSetting({ success(settingData) { if (settingData.authSetting['scope.userLocation']) { console.log('用户重新授权成功'); } } }); } }); ``` ### iOS 平台权限配置 在 iOS 平台上,除了在 `manifest.json` 中配置权限外,还需要在 `Info.plist` 文件中添加相应的描述信息,否则应用将无法通过 App Store 审核。 #### 1. 声明权限 在 HBuilderX 中,可以通过 **源码视图** 修改 `Info.plist` 文件,添加以下内容以请求位置权限为例: ```xml <key>NSLocationWhenInUseUsageDescription</key> <string>我们需要您的位置信息来提供附近服务</string> ``` #### 2. 请求权限 与 Android 类似,iOS 也通过 `uni.authorize` 和 `uni.getSetting` 进行权限请求。例如: ```javascript uni.authorize({ scope: 'scope.userLocation', success() { console.log('授权成功'); }, fail() { console.log('用户拒绝授权'); uni.openSetting({ success(settingData) { if (settingData.authSetting['scope.userLocation']) { console.log('用户重新授权成功'); } } }); } }); ``` ### 注意事项 - 在 Android 6.0 及以上版本中,危险权限需要在运行时请求,而不能仅在 `AndroidManifest.xml` 中声明。 - iOS 的权限请求描述必须清晰说明用途,否则可能被 App Store 拒绝。 - 所有权限请求应遵循最小权限原则,仅请求必要的权限[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值