封装一个uniapp 打开指定授权

news/2025/2/21 17:16:51/文章来源:https://www.cnblogs.com/ZeroShiro/p/18729600
 // 使用例如
 opSetAuth('scope.record', '录音权限').then((res) => {//   console.log(res);//   if (res) {//   }// });// 询问授权并且打开
function opSetAuth(scope , title = '') {/*** 打开系统设置界面并检查权限* @param {string} scope - 需要检查的权限名称* @param {string} title - 授权名字* @returns {Promise} - 返回一个 Promise,确保用户在设置界面授权了权限*/function openAppSettings(scope, title) {return new Promise((resolve, reject) => {uni.showModal({title: '提示',content: '需要您授权' + title,success: () => {uni.openSetting({success(res) {if (res.authSetting[scope]) {console.log(`${scope} 已在设置中授权`);resolve(true);} else {console.warn(`${scope} 在设置中未授权`);reject(new Error(`用户未授权 ${scope}`));}},fail(err) {console.error('打开设置失败', err);reject(err);},});},});});}/*** 检查并确保某个权限已授权* @param {string} scope - 需要检查的权限名称,例如 'scope.userLocation'* @returns {Promise} - 返回一个 Promise,确保权限已经开启*/return new Promise((resolve, reject) => {// 检查用户是否已经授权该权限
    uni.getSetting({success(res) {if (res.authSetting[scope]) {// 已授权
          console.log(`${scope} 已授权`);resolve(true);} else {// 请求授权
          uni.authorize({scope,success() {console.log(`${scope} 授权成功`);resolve(true);},fail() {console.warn(`${scope} 授权失败,打开设置界面`);// 打开设置界面让用户手动授权openAppSettings(scope , title).then(resolve).catch(reject);},});}},fail(err) {console.error('获取设置失败', err);reject(err);},});});
}

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/887669.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Windows 程序隐藏启动黑窗口总结

免责声明: 该公众号分享的安全工具和项目均来源于网络,仅供安全研究与学习之用,如用于其他用途,由使用者承担全部法律及连带责任,与工具作者和本公众号无关。以下文章来源于锦鲤安全 ,作者四五qq 前言 Windows 控制台程序在启动时会出现一个黑(dos)窗口,一般我们想要隐…

docker部署.net core3.1

1.安装dockerapt install docker.io2.拉取.net core依赖镜像docker pull mcr.microsoft.com/dotnet/core/aspnet:latest3.创建.net core3.1项目 选择docker支持,会生成dockerFile配置文件如图:4.编写dockerfile文件,经删减后为:FROM mcr.microsoft.com/dotnet/core/aspnet:3…

DeepSeek 满血版在 VScode 和 IDEA 中怎么用?手把手教程来了

DeepSeek 满血版在 IDEA 中怎么用?手把手教程来了作者:沉默王二近期有几个热点事件,不知道大家关注到没有?第一个标志事件,一向挑剔的苹果宣布和阿里合作,一起为国行版 iPhone 提供 AI 技术服务。 第二个标志事件,DeepSeek R1 蒸馏了 6 个模型开源给社区,其中有 4 个来…

redission-delay-queue使用及原理

1.引入jar包<dependency><groupId>xxxx.delay</groupId><artifactId>redisson-delayed-queue</artifactId><version>1.0.0-SNAPSHOT</version> </dependency>2.客户端代码开发2.1:新增实现BaseTask的bean 参数由业务自行决定…

利用网页爬虫从专业产品论坛提取评论的完整指南

了解如何通过网页爬虫从专业产品论坛提取评论,以获取可操作的洞见、改进策略,并节省时间。利用网页爬虫从专业产品论坛提取评论已经成为企业的游戏规则改变者。它使您能够从多个平台收集客户反馈(https://dataforest.ai/blog/top-web-scraping-use-cases),实时监控情绪,并自…

树的重心(树形dp)

我最开始将n减了1,应为边长有n-1条,但是这会导致计算时出现错误,因为其他地方会用到n#include<iostream> #include<vector> using namespace std; const int N=1e5+5; vector<int>v[N]; int f[N]; int vis[N]; int ans=1e5; int n; int dfs(int x){vis[x]…

仓库管理到底该怎么管?记住这五常六准原则!

仓库管理到底该怎么管? 要是你觉得仓库只是个“堆货的地方”,那可就大错特错了! 想象一下,货物乱成一团,找东西时费劲,出库慢,结果错发了货,那可真的是“大麻烦”啊。 客户打电话来投诉,老板又来催货,这种情况谁遇到谁头疼。 但其实,仓库管理不复杂,只要掌握了一些…

让窗口显示在所有虚拟桌面上

功能如图 C#代码实现如下public partial class MainWindow : Window {public MainWindow(){InitializeComponent();ShowInTaskbar = false;this.Loaded += MainWindow_Loaded;}private void MainWindow_Loaded(object sender, RoutedEventArgs e){IntPtr a = new System.Window…

[Vite] 性能优化

关于HTTP: https://www.cnblogs.com/Answer1215/p/18729206 DNS 打包方式:所有代码(包括 lodash-es、element-ui 等)被打包到一起,部署时只需请求一个或几个大文件。 优点是简单,不需要额外的网络请求;缺点是文件体积大,首次加载延迟较高,而且用户如果之前访问过其他…

python 并发场景梳理

一、多进程(Multiprocessing) 1、使用场景 适合CPU密集型任务,因为每个进程运行在独立的Python解释器中,不受全局解释器锁(GIL)的影响。 2、代码from multiprocessing import Process import timedef task():print("Task is running")time.sleep(10)processes …

Pic2Word

目录概Pic2Word代码Saito K., Sohn K., Zhang X., Li C., Lee C., Saenko K., and Pfister T. Pic2Word: Mapping pictures to words for zero-shot composed image retrieval. CVPR, 2023.概 本文关注的是 Composed Image Retrieval (CIR) 任务: 给定一个 reference (query) i…

SciTech-EECS-BigDataAIML-NN(神经网络): 常用的18种Activation(激活函数)

SciTech-EECS-BigDataAIML-NN(神经网络): 常用的18种Activation(激活函数) 一:简介 二:为什么要用激活函数 三:激活函数的分类 四:常见的几种激活函数 4.1.Sigmoid函数 4.2.Tanh函数 4.3.ReLU函数 4.4.Leaky Relu函数 4.5.PRelu函数 4.6.ELU函数 4.7.SELU函数 4.8.Swish函数…