最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

uniapp小程序權(quán)限授權(quán)封裝代碼示例

 更新時(shí)間:2026年05月23日 08:32:50   作者:派大星jason  
在微信小程序中,用戶(hù)公開(kāi)信息包括昵稱(chēng)、頭像等,這些信息可以通過(guò)微信授權(quán)獲取,下面這篇文章主要介紹了uniapp小程序權(quán)限授權(quán)封裝的相關(guān)資料,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下

封裝原因

項(xiàng)目中會(huì)出現(xiàn)像用戶(hù)拿地理位置信息或其他權(quán)限的需求,但是我們無(wú)法控制用戶(hù)的操作,如果用戶(hù)按要求給了我們相關(guān)權(quán)限那么項(xiàng)目就可以正常走下去,但是如果用戶(hù)誤觸或者點(diǎn)擊了拒絕,會(huì)導(dǎo)致項(xiàng)目缺少了某些數(shù)據(jù)(例如位置參數(shù))導(dǎo)致無(wú)法繼續(xù)進(jìn)行下去。

而微信小程序除隱私授權(quán)外其他的大部分授權(quán)都是拒絕過(guò)一次后就不會(huì)再?gòu)棿霸?xún)問(wèn)授權(quán)了,這會(huì)導(dǎo)致用戶(hù)拒絕了一次權(quán)限后就不再詢(xún)問(wèn)授權(quán),會(huì)導(dǎo)致用戶(hù)一直使用不了小程序,從而導(dǎo)致使用體驗(yàn)

我們當(dāng)然可以處理權(quán)限拒絕的情況,但是每次都寫(xiě)重復(fù)的代碼不符合我們的預(yù)期(摸魚(yú)ing...),所以將處理邏輯封裝起來(lái),每次需要用時(shí)調(diào)用即可

代碼

/*
	獲取用戶(hù)授權(quán)(小程序?qū)S?
	@scopeName 授權(quán)名稱(chēng) 參考文檔:https://uniapp.dcloud.net.cn/api/other/authorize.html#scope-%E5%88%97%E8%A1%A8
	@tip 提示信息
	@cb 回調(diào)函數(shù)
*/
export const getSetting = function (scopeName, tip = '請(qǐng)?jiān)谠O(shè)置中開(kāi)啟授權(quán)', cb) {
	uni.getSetting({
		success: (res) => {
			if (res.authSetting[scopeName]) {
				// 已經(jīng)授權(quán),調(diào)用回調(diào)函數(shù)
				cb();
			} else if (res.authSetting[scopeName] === false) {
				// 用戶(hù)已拒絕授權(quán),引導(dǎo)用戶(hù)到設(shè)置頁(yè)面開(kāi)啟
				uni.showModal({
					title: '您未開(kāi)啟相關(guān)授權(quán)',
					content: tip,
					success: (res) => {
						if (res.confirm) {
							uni.openSetting({
								success(settingRes) {
									if (settingRes.authSetting[scopeName]) {
										// 用戶(hù)打開(kāi)了授權(quán),調(diào)用回調(diào)函數(shù)
										cb();
									}
								},
							});
						}
					},
				});
			} else {
				// 首次使用,請(qǐng)求授權(quán)
				uni.authorize({
					scope: scopeName,
					success() {
						cb();
					},
					fail() {
						// 首次使用,用戶(hù)拒絕授權(quán),引導(dǎo)用戶(hù)到設(shè)置頁(yè)面開(kāi)啟
						uni.showModal({
							title: '您未開(kāi)啟相關(guān)授權(quán)',
							content: tip,
							success: (res) => {
								if (res.confirm) {
									uni.openSetting({
										success(settingRes) {
											if (settingRes.authSetting[scopeName]) {
												// 用戶(hù)打開(kāi)了授權(quán),調(diào)用回調(diào)函數(shù)
												cb();
											}
										},
									});
								}
							},
						});
					},
				});
			}
		},
	});
};

使用示例

getSetting('scope.userLocation', '請(qǐng)?jiān)谠O(shè)置中開(kāi)啟地理位置授權(quán)', () => {
			console.log('地理位置授權(quán)成功');
		});

總結(jié) 

到此這篇關(guān)于uniapp小程序權(quán)限授權(quán)封裝代碼示例的文章就介紹到這了,更多相關(guān)uniapp小程序權(quán)限授權(quán)封裝內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • JS中函數(shù)科里化的背景與應(yīng)用實(shí)例教程

    JS中函數(shù)科里化的背景與應(yīng)用實(shí)例教程

    在數(shù)學(xué)和計(jì)算機(jī)科學(xué)中,柯里化是一種將使用多個(gè)參數(shù)的一個(gè)函數(shù)轉(zhuǎn)換成一系列使用一個(gè)參數(shù)的函數(shù)的技術(shù),下面這篇文章主要給大家介紹了JS中函數(shù)科里化的背景與應(yīng)用實(shí)例的相關(guān)資料,需要的朋友可以參考下
    2022-06-06
  • javascript中[]和{}對(duì)象使用介紹

    javascript中[]和{}對(duì)象使用介紹

    []不僅僅可以表示數(shù)組,可以直接通過(guò)對(duì)象的屬性設(shè)置值和訪問(wèn)值,接下來(lái)為大家介紹下[]和{}對(duì)象的使用,感興趣的你可以參考下哈
    2013-03-03
  • js禁止表單重復(fù)提交

    js禁止表單重復(fù)提交

    這篇文章主要介紹了js禁止表單重復(fù)提交的方法,避免重復(fù)記錄帶來(lái)的問(wèn)題,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-08-08
  • JavaScript判斷用戶(hù)名和密碼不能為空的實(shí)現(xiàn)代碼

    JavaScript判斷用戶(hù)名和密碼不能為空的實(shí)現(xiàn)代碼

    下面小編就為大家?guī)?lái)一篇JavaScript判斷用戶(hù)名和密碼不能為空的實(shí)現(xiàn)代碼。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考,一起跟隨小編過(guò)來(lái)看看吧
    2016-05-05
  • 在多個(gè)頁(yè)面使用同一個(gè)HTML片段的代碼

    在多個(gè)頁(yè)面使用同一個(gè)HTML片段的代碼

    有一個(gè)比較復(fù)雜的HTML片段(A),如果把這個(gè)HTML片段嵌入到其他頁(yè)面中(B,C,D....)。 問(wèn)題的關(guān)鍵是在HTML片段中有大量的JavaScript邏輯需要處理,比如說(shuō)分頁(yè),點(diǎn)擊事件響應(yīng)等。
    2011-03-03
  • JS/HTML5游戲常用算法之路徑搜索算法 A*尋路算法完整實(shí)例

    JS/HTML5游戲常用算法之路徑搜索算法 A*尋路算法完整實(shí)例

    這篇文章主要介紹了JS/HTML5游戲常用算法之路徑搜索算法 A*尋路算法,結(jié)合完整實(shí)例形式分析了A*尋路算法的具體實(shí)現(xiàn)技巧,代碼備有詳盡的注釋便于理解,需要的朋友可以參考下
    2018-12-12
  • discuz表情的JS提取方法分析

    discuz表情的JS提取方法分析

    這篇文章主要介紹了discuz表情的JS提取方法,簡(jiǎn)單分析了discuz中表情JS文件調(diào)用的原理與相關(guān)操作技巧,需要的朋友可以參考下
    2017-03-03
  • TypeScript中泛型的使用詳細(xì)講解

    TypeScript中泛型的使用詳細(xì)講解

    泛型程序設(shè)計(jì)(generic programming)是程序設(shè)計(jì)語(yǔ)言的一種風(fēng)格或范式,下面這篇文章主要給大家介紹了關(guān)于TypeScript中泛型使用的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-11-11
  • javascript一些不錯(cuò)的函數(shù)腳本代碼

    javascript一些不錯(cuò)的函數(shù)腳本代碼

    收集一些不多見(jiàn)的好用的自定義函數(shù)代碼 計(jì)算字符長(zhǎng)度的js函數(shù) 去字符中前后的空格的js函數(shù) 圖片自適應(yīng)大小函數(shù)代碼
    2008-09-09
  • JS判斷用戶(hù)用的哪個(gè)瀏覽器實(shí)例詳解

    JS判斷用戶(hù)用的哪個(gè)瀏覽器實(shí)例詳解

    這篇文章主要介紹了JS判斷用戶(hù)用的哪個(gè)瀏覽器的實(shí)例代碼,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2018-10-10

最新評(píng)論

确山县| 阿巴嘎旗| 桐梓县| 安丘市| 新野县| 申扎县| 郁南县| 邢台县| 慈溪市| 乃东县| 江源县| 罗山县| 资阳市| 同仁县| 南开区| 新巴尔虎右旗| 新龙县| 鄂温| 宁城县| 余干县| 金华市| 虎林市| 兰坪| 承德县| 东台市| 景谷| 望谟县| 三门峡市| 宜城市| 磐安县| 涿州市| 姚安县| 宜兴市| 会宁县| 化州市| 唐山市| 武汉市| 江孜县| 郑州市| 兴安县| 康马县|