国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【微信授權(quán)登錄】uniapp開發(fā)小程序,實(shí)現(xiàn)微信授權(quán)登錄功能 & 退出登錄

這篇具有很好參考價(jià)值的文章主要介紹了【微信授權(quán)登錄】uniapp開發(fā)小程序,實(shí)現(xiàn)微信授權(quán)登錄功能 & 退出登錄。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

一、效果展示

uniapp 微信小程序登錄,uniapp,小程序,微信,javascript

uniapp 微信小程序登錄,uniapp,小程序,微信,javascript
uniapp 微信小程序登錄,uniapp,小程序,微信,javascript

二、解題思路:

微信授權(quán)登錄(獲取用戶信息)
1.先獲取用戶信息——用戶授權(quán)允許后,通過(guò)調(diào)用uni.login 可以獲取到code。
2.拿著獲取到的code去調(diào)用——登錄接口,可以獲取到token。
3.把token存入緩存。就可以在頁(yè)面判斷是否登錄了。

三、代碼

第一種方式:
<view @click="getUserInfo()">點(diǎn)擊登錄</view>
<view v-if="info.avatar" @click="outLoginFun">退出登錄</view>

<script>
	export default {
		data() {
			return {
				localtoken: ''
			}
		},
		
		onShow() {
			this.localtoken = uni.getStorageSync('localtoken');
		},

		methods: {
			getUserInfo() {
				var that = this;
				uni.showLoading({ // 展示加載框
					title: '加載中',
				});
				uni.getUserProfile({ //獲取到用戶信息
					desc: '登錄后可同步數(shù)據(jù)',
					success: async (obj) => {
						console.log('obj', obj);
						that.nickName = obj.userInfo.nickName //用戶名
						that.avatarUrl = obj.userInfo.avatarUrl //用戶頭像

						// 調(diào)用 action ,請(qǐng)求登錄接口
						uni.login({
							provider: 'weixin',
							success: (res) => {
								console.log('res-login', res);  //獲取到code
								that.code = res.code; 
								// console.log('code', res.code);
								
								//請(qǐng)求登錄接口
								if (res.errMsg == 'login:ok') {
									var params = {
										code: that.code,
										nickname: that.nickName,
										avatar: that.avatarUrl
									}
									that.$api.appPlateForm('POST', 'auth/login', params, function(res) {
										if (res.code == 200) {
											//獲取到token 存入緩存。通過(guò)有無(wú)token來(lái)判斷是否登錄
											// console.log('登錄接口',res)
											uni.setStorageSync('localtoken', res.data.data.access_token)
											
											let pages = getCurrentPages(); //獲取所有頁(yè)面的數(shù)組對(duì)象
											let currPage = pages[pages.length - 1]; //當(dāng)前頁(yè)面
											currPage.onLoad(currPage.options); // 傳入?yún)?shù)刷新當(dāng)前頁(yè)面
											currPage.onShow(); // 傳入?yún)?shù)刷新當(dāng)前頁(yè)面
											
											that.myProfile()  //用戶信息接口
											
											uni.showToast({
												title: '登錄成功',
												icon: 'success',
												mask: true,
											});
										}
									}, function(err) {
										uni.showToast({
											icon: 'none',
											title: err.msg
										})
									});

								}
							},
						});
					},
					fail: () => {
						uni.showToast({
							title: '授權(quán)已取消',
							icon: 'error',
							mask: true,
						});
					},
					complete: () => {
						// 隱藏loading
						uni.hideLoading();
					},
				});
			},

			//退出登錄
			logOut() {
				var that = this
				uni.showModal({
					title: '確定要退出登錄嗎?',
					success: function(res) {
						if (res.confirm) {  //確認(rèn)退出
							uni.removeStorageSync('localtoken')
							uni.removeStorageSync('userId');
							uni.removeStorageSync('userInfo');
							this.info = {};
							//that.nickname = ''
							//that.headimgurl = ''
							
							//跳轉(zhuǎn)到首頁(yè)
							uni.reLaunch({
								url: '/pages/home/index'
							})

						} else if (res.cancel) {  //取消退出
							// console.log('用戶點(diǎn)擊取消');
						}
					}
				});

			},


		}
	}
</script>
第二種方式:
<template>
	<view class="">
		<view @tap="loginFun">登錄</view>
		<view @click="outLoginFun">退出登錄</view> 
	</view>
</template>

<script>
	export default {
		data() {
			return {
				info: {},
			}
		},
	
		methods: {
			loginFun() {
				uni.login({
					"provider": "weixin",
					"onlyAuthorize": true, // 微信登錄僅請(qǐng)求授權(quán)認(rèn)證
					success: (event) => {
						console.log(event);
						this.$api.appPlateForm('post', this.$url.url.getOpenId, {
							code: event.code
						}, (res) => {
							console.log(res.data.openid);
							let param = {
								openid: res.data.openid,
							}
							this.$api.appPlateForm('post', this.$url.url.login, param, (res) => {
								uni.setStorageSync('localtoken', res.data.token);
								uni.setStorageSync('user', JSON.stringify(res.data.user));
								uni.showToast({
									icon: 'success',
									title: '登錄成功'
								})
							})
						})
					},
					fail: (err) => {
						// 登錄授權(quán)失敗  
						// err.code是錯(cuò)誤碼
					}
				})
			},

			// 退出登錄
			outLoginFun() {
				uni.removeStorageSync('localtoken');
				uni.removeStorageSync('userId');
				uni.removeStorageSync('userInfo');
				this.info = {};
				uni.reLaunch({
					url: '/pages/home/index'
				})
			},
		
		}
	}
</script>

ending~

uniapp 微信小程序登錄,uniapp,小程序,微信,javascript文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-774368.html

到了這里,關(guān)于【微信授權(quán)登錄】uniapp開發(fā)小程序,實(shí)現(xiàn)微信授權(quán)登錄功能 & 退出登錄的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • UNIAPP---實(shí)現(xiàn)微信小程序登錄授權(quán)和手機(jī)號(hào)授權(quán)(uniapp做微信小程序)

    UNIAPP---實(shí)現(xiàn)微信小程序登錄授權(quán)和手機(jī)號(hào)授權(quán)(uniapp做微信小程序)

    描述:uniapp開發(fā)小程序,先授權(quán)用戶信息后再出現(xiàn)手機(jī)號(hào)授權(quán)的頁(yè)面進(jìn)行手機(jī)號(hào)授權(quán)。完成后返回上一頁(yè)面并把信息存入后臺(tái)以及前臺(tái)緩存中,方便使用。 1.在uniapp的manifest.json進(jìn)行微信小程序配置 2.封裝request請(qǐng)求api.js(如果已封裝可跳過(guò)) 3.封裝微信授權(quán)登錄以及獲取手機(jī)

    2024年02月11日
    瀏覽(36)
  • uniapp 小程序?qū)崿F(xiàn)微信授權(quán)登錄(前端和后端)

    uniapp 小程序?qū)崿F(xiàn)微信授權(quán)登錄(前端和后端)

    1.主要流程:先通過(guò) uni.getUserProfile授權(quán)獲取用戶名稱和頭像等信息 在調(diào)用 uni.login 獲取微信登錄需要的臨時(shí)code 2. 前端代碼: 1.主要流程:在前端調(diào)用接口成功的將臨時(shí)code 傳遞給后端時(shí) ,后端通過(guò)調(diào)用微信的第三方接口拿到 openid, session_key 這兩個(gè)參數(shù),查詢數(shù)據(jù)庫(kù)是否有

    2024年02月16日
    瀏覽(30)
  • 基于uniapp+java實(shí)現(xiàn)微信小程序無(wú)感登錄,授權(quán)手機(jī)號(hào)登錄,獲取昵稱頭像,獲取定位信息

    基于uniapp+java實(shí)現(xiàn)微信小程序無(wú)感登錄,授權(quán)手機(jī)號(hào)登錄,獲取昵稱頭像,獲取定位信息

    使用uniapp開發(fā)微信小程序,避免不了微信登錄。但自動(dòng)微信2022年升級(jí)了api版本后,不再允許返回昵稱和頭像信息,所以才出現(xiàn)無(wú)感登錄或授權(quán)手機(jī)號(hào)登錄。實(shí)現(xiàn)方式大同小異。 java后端所需maven 前端實(shí)現(xiàn)代碼: 由于使用uni.login并不需要用戶授權(quán),所以能做到無(wú)感登錄。 后端

    2024年02月16日
    瀏覽(170)
  • 前端uniapp+后端springboot 詳細(xì)教程《實(shí)現(xiàn)微信小程序授權(quán)登錄》(附完整前后端項(xiàng)目demo)

    前端uniapp+后端springboot 詳細(xì)教程《實(shí)現(xiàn)微信小程序授權(quán)登錄》(附完整前后端項(xiàng)目demo)

    微信小程序官方登錄流程圖: 參考微信小程序登錄官網(wǎng)文檔 1、前端技術(shù)棧 1.1、uniapp 使用uniapp構(gòu)建一套代碼多端使用的前端框架項(xiàng)目 1.2、前端封裝工具 dateUtil.js: 功能: 1. 時(shí)間日期格式化 2. 傳入日期是否和當(dāng)前日期的比較 完整代碼: requestUtil.js: 功能: 1. 定義公共的

    2024年02月14日
    瀏覽(100)
  • 微信公眾平臺(tái)測(cè)試號(hào)申請(qǐng)、使用HBuilder X與微信開發(fā)者工具實(shí)現(xiàn)授權(quán)登陸功能以及單點(diǎn)登錄

    微信公眾平臺(tái)測(cè)試號(hào)申請(qǐng)、使用HBuilder X與微信開發(fā)者工具實(shí)現(xiàn)授權(quán)登陸功能以及單點(diǎn)登錄

    測(cè)試賬號(hào)申請(qǐng) 測(cè)號(hào)響應(yīng)流程:客戶端發(fā)送請(qǐng)求,微信服務(wù)器收到請(qǐng)求后,轉(zhuǎn)發(fā)到開發(fā)者服務(wù)器上,處理完后在發(fā)送給微信服務(wù)器,在返回給客戶端 1、打開微信公眾平臺(tái),點(diǎn)擊測(cè)試帳號(hào)申請(qǐng)。地址:https://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login, 通過(guò)微信掃一掃授權(quán)就能進(jìn)

    2024年02月02日
    瀏覽(38)
  • 【UniApp開發(fā)小程序】請(qǐng)求包創(chuàng)建+登錄功能實(shí)現(xiàn)

    【UniApp開發(fā)小程序】請(qǐng)求包創(chuàng)建+登錄功能實(shí)現(xiàn)

    項(xiàng)目基于若依管理系統(tǒng)進(jìn)行開發(fā),部分接口來(lái)源于若依管理系統(tǒng)后端項(xiàng)目,如本文的登錄接口、獲取驗(yàn)證碼接口。 小程序的數(shù)據(jù)需要向后端發(fā)請(qǐng)求進(jìn)行獲取,為了簡(jiǎn)化后續(xù)的開發(fā),需要?jiǎng)?chuàng)建一個(gè)包專門存放所有發(fā)請(qǐng)求的js方法。 創(chuàng)建api的存放包 再創(chuàng)建工具js的存放包 注意使

    2024年02月16日
    瀏覽(17)
  • 新!uniapp微信小程序微信授權(quán)登錄

    新!uniapp微信小程序微信授權(quán)登錄

    ?11月后,微信小程序?qū)τ谖⑿攀跈?quán)登錄做了邏輯上的更改,之前的一鍵授權(quán)獲取用戶信息的功能已不再適用。已發(fā)布審核完成的小程序不受影響,但要想再發(fā)布,只能換成新的登陸邏輯了。 首先,要說(shuō)明的,個(gè)人中心頁(yè)面,未登陸時(shí),應(yīng)有登陸按鈕,最好不要通過(guò)路由守衛(wèi)

    2024年02月09日
    瀏覽(21)
  • uniapp + vue3微信小程序開發(fā)(3)微信授權(quán)登錄

    uniapp + vue3微信小程序開發(fā)(3)微信授權(quán)登錄

    接口獲取openId = 用戶微信信息入庫(kù) = 手機(jī)號(hào)授權(quán)入庫(kù) 我們知道小程序都是需要openId的,那我們可以通過(guò)前端獲取,也可以通過(guò)后端接口獲取, 前端就是這個(gè)地址,appid和secret 在你微信公眾平臺(tái)下都可以找到, code,在你調(diào)用uni.login就可以獲取,但是切記, code碼只能使用一次

    2024年02月08日
    瀏覽(74)
  • uniapp微信小程序授權(quán)登錄并獲取手機(jī)號(hào)

    新版:前端要授權(quán)兩次,一次獲取用戶信息授權(quán)碼code,另外一次獲取用戶手機(jī)授權(quán)碼code,全部傳給后端。后端通過(guò)用戶信息授權(quán)碼獲取openid,通過(guò)手機(jī)授權(quán)碼獲取手機(jī)號(hào)碼。老版:前端傳給后端授權(quán)碼code和用戶手機(jī)授權(quán)回調(diào)?里的iv和encryptedData給后端,后端通過(guò)code獲取ope

    2024年02月11日
    瀏覽(30)
  • SpringCloud微服務(wù)實(shí)戰(zhàn)——搭建企業(yè)級(jí)開發(fā)框架:第三方登錄-微信小程序授權(quán)登錄流程設(shè)計(jì)和實(shí)現(xiàn)

    SpringCloud微服務(wù)實(shí)戰(zhàn)——搭建企業(yè)級(jí)開發(fā)框架:第三方登錄-微信小程序授權(quán)登錄流程設(shè)計(jì)和實(shí)現(xiàn)

    ??在前面的設(shè)計(jì)和實(shí)現(xiàn)中,我們的微服務(wù)開發(fā)平臺(tái)通過(guò)JustAuth來(lái)實(shí)現(xiàn)第三方授權(quán)登錄,通過(guò)集成公共組件,著實(shí)減少了很多工作量,大多數(shù)的第三方登錄直接通過(guò)配置就可以實(shí)現(xiàn)。而在第三方授權(quán)登錄中,微信小程序授權(quán)登錄和APP微信授權(quán)登錄是兩種特殊的第三方授權(quán)登錄

    2024年02月07日
    瀏覽(19)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包