uniapp开发APP/小程序 微信一键登陆

	wxlogin() {
				let that = this;

                // 第一步先调用uni.getProvider({})方法 获取服务供应商 判断app是否拥有服务商 小程序可省略
				uni.getProvider({
					service: 'oauth',
					success: function(res) {

                        // 第二步调用uni.login({})唤起微信登陆
						uni.login({
							provider: 'weixin',

                            // 拿到openid 和 微信登陆需要的token
							success: (res1) => {
								// 第三步调用uni.getUserInfo({}) 获取个人信息
								uni.getUserInfo({
									success: async (info)=> {
                                        // 第四步 请求后台接口将 oppenid 和 access_token传给后台
										let result = await that.$http.post('api/wx_login', {
											openid: res1.authResult.openid,
											access_token: res1.authResult.access_token,
										});
										if (result.code == 1) {
										    uni.showToast({
											    title: "登陆成功!",
											    icon: 'none'
										    });
										    // 将后台返回的token存到本地
											uni.setStorageSync('token', result
														.data.token)
                                            // 直接跳转到首页
											setTimeout(() => {
												uni.reLaunch({
													url: '../index/index'
												})
											}, 500)
										} 
									},
									fail: () => {
										uni.showToast({
											title: "获取用户信息失败",
											icon: 'none'
										});
									}
								})
							},
							fail: () => {
								uni.showToast({
									title: "微信登录授权失败",
									icon: 'none'
								});
							}
						})
					}
				});
			},

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值