公众号之授权登录

提示:本文介绍了点击头像进行公众号授权登录,如需用到微信的其他功能可以使用弹窗授权登录

目录

一、网页授权流程?

二、点击授权案例

1.APPID,重定向

2.读入数据

总结


提示:以下是本篇文章正文内容,下面案例可供参考

一、网页授权流程?

网页授权流程分为四步:

  1. 引导用户进入授权页面同意授权,获取code
  2. 通过 code 换取网页授权access_token(与基础支持中的access_token不同)
  3. 如果需要,开发者可以刷新网页授权access_token,避免过期
  4. 通过网页授权access_token和 openid 获取用户基本信息(支持 UnionID 机制)

二、点击授权案例

1.APPID,重定向

(原谅无法透露,大家按需写就ok)

 

2.读入数据

  • HTML部分   /pages/tabbar/mine
	<view class="Box flex_column_center" @click="info" v-if="dataList.avatar">
		<u--image width="180" height="180" shape="circle" :src="dataList.avatar">
				<view slot="error" style="font-size: 24rpx;color: #333;">加载失败</view>
		</u--image>
		<view class="text">{{dataList.nickname}}</view>
	</view>

	<view class="Box flex_column_center" @click="info" v-else>
		<u--image width="180" height="180" shape="circle" src="/static/logo.png">
				<view slot="error" style="font-size: 24rpx;color: #333;">加载失败</view>
		</u--image>
		<view class="text">微信昵称</view>
	</view>
  • JS部分
//不要忘记引入
import {APPID,redirect_uri} from "@/public/env.js"

methods:{

    info() {
		// 微信登陆
		let wx =`https://open.weixin.qq.com/connect/oauth2/authorize?appid=${APPID}&redirect_uri=${redirect_uri}&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirect`
		window.location.href = wx
	},
}

  • JS部分   /pages/tabbar/index
 //不要忘记引入 
   import {
		IMG_URL,
	    PARAMS
   } from '@/public/env';


// 注意:按项目需求截取,此处只截取了code
onLoad(options) {
		console.log(window.location.href);
		console.log('1112233', window.location.href?.split('=')[1]?.split('&')[0]);
		try {
		// 微信授权后执行
		    let token1 = uni.getStorageSync('token')
		    if (window.location.href?.split('?')[1]?.split('=')[0] == 'code' && !token1)                     
            {
				this.getOpenId(window.location.href?.split('=')[1]?.split('&')[0])
			}

		} catch (e) {
			//TODO handle the exception
			console.log('22222222', e);
		}

},


methods:{
     // 获取openid  并绑定
	getOpenId(code) {
		let that = this;
		let sendData = {
			code: code
		};
		that.apifun.unirequest(that.apifun.getOpenId, 'post', sendData, (res) =>             
        {
			console.log('000', res)
			if (res.code === 1) {
				let datas = res.data;
				this.getLogin(res.data)
			} else {
				that.apifun.toast(res.msg)
			}
		})
	},

	getLogin(box) {
		let that = this;
		let sendData = {
			openid: box.openid,
			avatar: box.headimgurl,
			nickname: box.nickname
		};
		that.apifun.unirequest(that.apifun.login, 'post', sendData, (res) => {
			console.log('121212', res)
			if (res.code === 1) {
				let datas = res.data;
                //存token,个人信息
				uni.setStorageSync("usermessage", res.data.userinfo)
				uni.setStorageSync("token", res.data.userinfo.token)
			} else {
				that.apifun.toast(res.msg)
			}
		})
	}
}


更多请参考文档:

网页授权


总结

以上就是今天要讲的内容啦,本文仅仅简单介绍了授权登录的使用,而微信其他的功能比如扫一扫,定位,客服等更多功能可以使用弹窗授权登录更为方便。

微信公众号网页授权登录是指在微信公众号中,用户点击菜单或链接后,通过授权登录获取用户信息的过程。根据微信公众号官方文档,在开发微信公众号的网页时,需要仔细观看文档中关于网页授权回调域名的说明、网页授权的两种scope的区别说明以及关于网页授权access_token和普通access_token的区别等内容。 微信公众号的网页授权登录主要分为以下几个步骤: 1. 用户点击菜单或链接后,进入微信公众号网页授权登录页面。 2. 用户在该页面中进行授权操作,微信公众号会跳转到授权回调域名中的指定页面,并携带授权的code参数。 3. 开发者可以根据获取的code参数,调用微信接口获取用户的access_token和openid等信息。 4. 开发者可以使用获取的用户信息进行业务逻辑的操作,例如展示个人中心、发送消息等。 需要注意的是,在开发过程中,需要配置微信公众号后台的路径和授权回调域名等信息,以确保页面的正确展示和接口的正常调用。 与小程序相比,微信公众号更加侧重于营销,而小程序则更像是一个微型的APP程序,用于和用户进行交互。 总结起来,微信公众号网页授权登录是通过微信公众号中的授权机制,获取用户信息并进行业务操作的过程。开发者需要仔细阅读微信公众号官方文档,了解网页授权的相关操作和配置要求,以确保功能的正常运行。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [微信公众号网页授权登录](https://blog.csdn.net/qq_41971087/article/details/82593830)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [uni-app微信公众号(1)——网页授权登录](https://blog.csdn.net/qq_40601005/article/details/121028141)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值