uniapp APP權限彈框

效果圖

在這里插入圖片描述

第一步 新建一個頁面,設置透明

{"path": "pages/permissionDisc/permissionDisc","style": {"navigationBarTitleText": "","navigationStyle": "custom","app-plus": {"animationType": "fade-in", // 設置fade-in淡入動畫,為最合理的動畫類型"background": "transparent", // 背景透明"backgroundColor": "transparent", // 背景透明"webviewBGTransparent": true,"mask": "none","popGesture": "none", // 關閉IOS屏幕左邊滑動關閉當前頁面的功能"bounce": "none" // 將回彈屬性關掉}}
}

第二步 APP.vue內監聽權限調用

需要使用uview的API監聽,跳轉到新建的頁面

uview地址:https://uviewui.com/js/fastUse.html

// #ifdef APP-PLUS
// 監聽系統權限申請
if (uni.$u.sys().osName == 'android') {console.log('權限監聽');this.permissionListener = uni.createRequestPermissionListener();this.permissionListener.onConfirm((e) => {console.log('彈出系統權限授權框', e);uni.navigateTo({url: '/pages/permissionDisc/permissionDisc'+'?type=' + JSON.stringify(e),complete(e) {console.log(e);}});});this.permissionListener.onComplete((e) => {console.log('權限申請完成', e, uni.$u.page());// 拒絕時也會走需要處理一下,提示拒絕手動開啟if (uni.$u.page() == '/pages/permissionDisc/permissionDisc') {uni.navigateBack();}});
}
// #endif

第三步 頁面內寫彈框內容

<template><view><view class="mask" :style="{ width: windowWidth + 'px', height: windowHeight + 'px' }" style="padding-top: 60rpx;"><view class="block" v-for="(item, index) in showList" :key="index" :style="{ width: windowWidth * 0.8 + 'px' }"><view class="title"><text class="title" style="margin-bottom: 0">{{ item.name }}</text></view><view class="content"><text class="content">{{ item.content }}</text></view></view></view></view>
</template><script>
export default {name: 'permission',data() {return {show: false,flag: true,title: '',content: '',osName: '',isIos: false,pIndex: 0,permissionList: {'android.permission.ACCESS_COARSE_LOCATION':{name: '訪問粗略地理位置',content: '用于將服務根據距離排序,并顯示與您的距離,不授權該權限會影響app的正常使用'},'android.permission.ACCESS_FINE_LOCATION': {name: '訪問精確地理位置',content: '用于將服務根據距離排序,并顯示與您的距離,不授權該權限會影響app的正常使用'},'android.permission.CAMERA': {name: '使用攝像頭權限',content: '用于更換、上傳您的頭像、圖片功能,不授權該權限會影響app的正常使用'},'android.permission.READ_EXTERNAL_STORAGE': {name: '讀照片及文件權限',content: '用于更換、上傳您的頭像、圖片功能,不授權該權限會影響app的正常使用'},'android.permission.WRITE_EXTERNAL_STORAGE': {name: '寫照片及文件權限',content: '用于更換、上傳您的頭像、圖片功能,不授權該權限會影響app的正常使用'},'android.permission.READ_MEDIA_IMAGES': {name: '讀媒體圖片權限',content: '用于更換、上傳您的頭像、圖片功能,不授權該權限會影響app的正常使用'},'android.permission.READ_MEDIA_VIDEO': {name: '讀媒體視頻權限',content: '用于更換、上傳您的頭像、圖片功能,不授權該權限會影響app的正常使用'},'android.permission.CALL_PHONE': {name: '使用撥打電話權限',content: '用于直接撥打您點擊的電話號碼,不授權該權限將無法撥打'},'android.permission.RECORD_AUDIO': {name: '使用麥克風權限',content: '用于錄制聲音,發送語音消息,語音通話,不授權該權限會影響app的正常使用'}},windowWidth: 0,windowHeight: 0,showList: []};},computed: {},onLoad(e) {try {let list = e.type ? JSON.parse(e.type) : [];list.forEach((item) => {this.showList.push(this.permissionList[item]);});} catch (e) {//TODO handle the exceptionconsole.log(e);}// #ifdef APPthis.osName = plus.os.name;// #endif// this.osName = 'Android'this.isIos = this.osName == 'iOS';if (this.isIos == true) this.show = false;let windowinfo = uni.getWindowInfo();this.windowWidth = windowinfo.windowWidth;this.windowHeight = windowinfo.windowHeight;},methods: {}
};
</script><style>
page {width: 100%;height: 100%;background: rgba(0, 0, 0, 0.4);
}
.mask {width: 100vw;height: 100vh;background-color: rgba(0, 0, 0, 0);position: fixed;top: 0;left: 0;z-index: 99999;/* display: flex;justify-content: flex-start;align-items: center; */
}.block {width: 80%;background-color: #fff;padding: 15rpx;margin-top: 30rpx;margin-left: 60rpx;border-radius: 15rpx;
}.title {font-size: 32rpx;font-weight: bold;margin-bottom: 5rpx;
}.content {font-size: 24rpx;
}
</style>

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/72490.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/72490.shtml
英文地址,請注明出處:http://en.pswp.cn/web/72490.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

網絡安全證書培訓機構有哪些

一、前言少敘 記得剛入行的時候&#xff0c;想考一個證書來裝裝門面&#xff0c;結果發現費用太高了&#xff0c;比當時一個月的工資都高&#xff0c;感嘆網絡安全這幫人真舍得花錢&#xff0c;遂放棄。后來入職網絡安全公司&#xff0c;考了一個CISP&#xff0c;在工作中逐漸…

torch.argsorttorch.gather

文章目錄 1. 舉例說明2. pytorch 代碼 1. 舉例說明 torch.argsort 的作用是可以將矩陣中的元素進行從小到大排序&#xff0c;得到對應的序號。假設我們有一個向量a表示如下 a [ 8 , 7 , 6 , 9 , 7 ] \begin{equation} a[8,7,6,9,7] \end{equation} a[8,7,6,9,7]?? 那么從小…

JSON數據格式介紹

2.5 JSON 2.5.1.JSON格式的用途 在開發中凡是涉及到『跨平臺數據傳輸』&#xff0c;JSON格式一定是首選 2.5.2.JSON格式的說明 1.JSON數據兩端要么是{}&#xff0c;要么是[] {}定義JSON對象[]定義JSON數組 2.JSON對象的格式是&#xff1a;json {key:value,key:value,...,ke…

(性能測試)性能測試工具 2.jmeter的環境搭建 3jmeter元件和4使用實例 5jmeter元件和參數化

目錄 性能測試工具 性能測試工具 jemeter環境搭建 jmeter的常用目錄介紹 jmeter修改語言和主題--jmeter界面的漢化 jmeter元件 jmeter元件和組件的介紹 jmeter的作用域原則 jmeter的執行順序 案例&#xff1a;執行順序 jmeter使用案例 jmeter線程組的介紹 jmeter…

Qt程序基于共享內存讀寫CodeSys的變量

文章目錄 1.背景2.結構體從CodeSys導出后導入到C2.1.將結構體從CodeSys中導出2.2.將結構體從m4文件提取翻譯成c格式 3.添加RTTR注冊信息4.讀取PLC變量值5.更改PLC變量值6.Qt讀寫CodeSys的共享內存 1.背景 在文章【基于RTTR在C中實現結構體數據的多層級動態讀寫】中&#xff0c…

大模型架構全景解析:從Transformer到未來計算范式

1. Transformer 架構 核心模型 GPT-4、BERT、T5、LLaMA、通義千問、文心ERNIE 關鍵技術 多頭注意力&#xff1a;GPT-4 使用 96 頭注意力位置編碼創新&#xff1a;LLaMA 采用 RoPE&#xff08;旋轉位置編碼&#xff09;&#xff0c;Claude 3 引入 ALiBi歸一化優化&#xff1…

AI第一天 自我理解筆記--微調大模型

目錄 1. 確定目標&#xff1a;明確任務和數據 2. 選擇預訓練模型 3. 數據預處理 (1) 數據清洗與格式化 (2) 劃分數據集 (3) 數據加載與批處理 4. 構建微調模型架構 (1) 加載預訓練模型 (2) 修改模型尾部&#xff08;適配任務&#xff09; (3) 凍結部分層&#xff08;可…

計算機視覺——深入理解卷積神經網絡與使用卷積神經網絡創建圖像分類算法

引言 卷積神經網絡&#xff08;Convolutional Neural Networks&#xff0c;簡稱 CNNs&#xff09;是一種深度學習架構&#xff0c;專門用于處理具有網格結構的數據&#xff0c;如圖像、視頻等。它們在計算機視覺領域取得了巨大成功&#xff0c;成為圖像分類、目標檢測、圖像分…

[C++面試] 關于deque

一、入門 1、deque與vector的區別 deque的迭代器包含以下信息&#xff1a; 當前緩沖區指針&#xff08;current_buffer&#xff09;當前元素在緩沖區內的位置&#xff08;current&#xff09;中控器的位置&#xff08;map&#xff09; 每次移動迭代器時&#xff0c;需檢查是…

服務性能防腐體系:基于自動化壓測的熔斷機制

01# 背景 在系統架構的演進過程中&#xff0c;項目初始階段都會通過壓力測試構建安全護城河&#xff0c;此時的服務性能與資源水位保持著黃金比例關系。然而在業務高速發展時期&#xff0c;每個沖刺周期都被切割成以業務需求為單位的開發單元&#xff0c;壓力測試逐漸從必選項…

SpringBoot 和vue前后端配合開發網頁拼圖10關游戲源碼技術分享

今天分享一個 前后端結合 的網頁游戲 開發項目源碼技術。 這也是我第一次寫游戲類的程序&#xff0c;雖然不是特別復雜的游戲&#xff0c;但是是第一次寫&#xff0c;肯定要記錄一下了&#xff0c;哈哈。 游戲的內容 就是 我們顯示中玩的那個 拼圖碎片的 游戲&#xff0c;類似下…

【k8s002】k8s健康檢查與故障診斷

k8s健康檢查與故障診斷 ?一、集群狀態檢查? ?檢查節點健康狀態? kubectl get nodes -o wide # 查看節點狀態及基本信息 kubectl describe node <node-name> # 分析節點詳細事件&#xff08;如資源不足、網絡異常&#xff09; kubectl top nodes …

01-Canvas-使用fabric初始

fabric官網&#xff1a; https://fabric5.fabricjs.com/demos/ 創建畫布并繪制 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-sca…

【機器學習-基礎知識】統計和貝葉斯推斷

1. 概率論基本概念回顧 1. 概率分布 定義: 概率分布(Probability Distribution)指的是隨機變量所有可能取值及其對應概率的集合。它描述了一個隨機變量可能取的所有值以及每個值被取到的概率。 對于離散型隨機變量,使用概率質量函數來描述。對于連續型隨機變量,使用概率…

常見限流算法及實現

1. 固定窗口計數器&#xff08;Fixed Window Counter&#xff09; 原理&#xff1a;在固定時間窗口&#xff08;如1分鐘&#xff09;內統計請求數&#xff0c;超過閾值則拒絕后續請求。優點&#xff1a;實現簡單&#xff0c;內存占用低。缺點&#xff1a;存在窗口切換時的流量…

《TCP/IP網絡編程》學習筆記 | Chapter 18:多線程服務器端的實現

《TCP/IP網絡編程》學習筆記 | Chapter 18&#xff1a;多線程服務器端的實現 《TCP/IP網絡編程》學習筆記 | Chapter 18&#xff1a;多線程服務器端的實現線程的概念引入線程的背景線程與進程的區別 線程創建與運行pthread_createpthread_join可在臨界區內調用的函數工作&#…

創新實踐分享:基于邊緣智能+扣子的智能取物機器人解決方案

在 2024 年全國大學生物聯網設計競賽中&#xff0c;火山引擎作為支持企業&#xff0c;不僅參與了賽道的命題設計&#xff0c;還為參賽隊伍提供了相關的硬件和軟件支持。以邊緣智能和扣子的聯合應用為核心&#xff0c;參賽者們在這場競賽中展現出了卓越的創新性和實用性&#xf…

QT:動態屬性和對象樹

動態對象 1.添加Q_PROPERTY對象 #ifndef MYPROPERTYCLASS_H #define MYPROPERTYCLASS_H#include <QObject>class MyPropertyClass : public QObject {Q_OBJECTQ_PROPERTY(QString mask READ mask WRITE setMask NOTIFY maskChanged) public:explicit MyPropertyClass(Q…

MobileNet家族:從v1到v4的架構演進與發展歷程

MobileNet 是一個專為移動設備和嵌入式系統設計的輕量化卷積神經網絡&#xff08;CNN&#xff09;家族&#xff0c;旨在在資源受限的環境中實現高效的圖像分類、對象檢測和語義分割等任務。自 2017 年首次推出以來&#xff0c;MobileNet 經歷了從 v1 到 v4 的多次迭代&#xff…

在 Windows 上使用 choco 安裝 mkcert 并配置 Vue 運行HTTPS

解決在Windows上使用Vue本地運行HTTPS的問題,vue-cli或vite都可以使用 步驟 1&#xff1a;確認 Chocolatey 是否已安裝 1. 檢查 choco 命令是否可用 打開 PowerShell&#xff08;管理員權限&#xff09;&#xff0c;輸入&#xff1a; choco -v如果顯示版本號&#xff08;如…