uni-app中使用微信一键登录

这篇具有很好参考价值的文章主要介绍了uni-app中使用微信一键登录。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

前言

一、微信一键登录是什么?

二、使用步骤

1.在onLoad获取用户登录信息code

2.编写页面button按钮

         3.根据pen-type="getPhoneNumber"获取的用户信息传值给后端

总结


前言

在uni-app中使用微信一键登录分析和操作流程


一、微信一键登录是什么?

示例:微信一键登录可以获取客户的code,encryptedData,iv进行登录,后端根据appid和secret获取用户信息

二、使用步骤

1.在onLoad获取用户登录信息code

代码如下(示例):

uni.login({
                    provider: 'weixin',
                    success: (res) => {
                        console.log(res)
                        this.wxcode = res.code
                    }
                })

2.编写页面button按钮

代码如下(示例):

<button shape="circle" type="primary" link="true" open-type="getPhoneNumber" @getphonenumber="getPhoneNumber">微信一键登录</button>

3.根据pen-type="getPhoneNumber"获取的用户信息传值给后端

// 微信一键登录
           getPhoneNumber(e) {
         
                if (e.detail.errMsg.indexOf('deny') > -1) {
                    // e.detail.errMsg
                    //获取手机号失败,前往手机登录界面
                    uni.showToast({
                        title: "获取手机号失败,请前往手机登录界面",
                        icon: "none"
                    })
                    this.routeTo();
                    return;
                } else {
                    const encryptedData = e.detail.encryptedData;
                    if (typeof encryptedData === 'undefined' || encryptedData == null || encryptedData === '') {
                        //前往手机登录界面
                        uni.showToast({
                            title: "获取手机号失败,请前往手机登录界面",
                            icon: "none"
                        })
                        this.routeTo();
                        return;
                    }
                }

                uni.showLoading({
                    title: '加载中...'
                });

               // 后端请求 bindWxMobileLogin接口
                bindWxMobileLogin({
                        code: this.wxcode,
                        iv: e.detail.iv,
                        encryptedData: e.detail.encryptedData,
                        // inviter_mobile: "",
                    })
                    .then((res) => {
                        uni.hideLoading()
                        // 缓存token,user,opendId的值
                        uni.setStorageSync('token', res.token)
                        uni.setStorageSync('pUser', res.pUser)
                        uni.setStorageSync('openId', res.openId)
                        uni.reLaunch({
                            url: this.route,
                            animationType: 'pop-in'
                        });


                    })
                    .catch((e) => {
                        uni.showToast({
                            title: "获取手机号失败,请前往手机登录界面",
                            icon: "none"
                        })
                        this.routeTo();
                        return;
                        // uni.hideLoading()
                        // this.getwxLogin()
                        // this.disabled = false;
                    });
            },

             

          //  请求失败想要跳转的页面
            routeTo() {
                return uni.navigateTo({
                    url: "./phone-login",
                    animationDuration: "pop-in",
                })
            },


总结

微信一键登录很简单,只需要调用uni.login(),根据 open-type="getPhoneNumber"获取手机号信息,使用@getphonenumber方法,但是有一点很重要,那就是前后端想要保持一样的appid ,还有您使用的appid一定是认证过的,不然可能会报错,或者调不通等情况。文章来源地址https://www.toymoban.com/news/detail-492665.html

到了这里,关于uni-app中使用微信一键登录的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • uni-app 微信小程序刷新token,无感登录

    描述:         后端token每5分钟刷新一次,需要给注册过的用户无感登录,当接口403或401后,刷新token并且重新发起所有403或401请求 我的实现  参照: 参照链接uniapp+uview(luch-request)无痛刷新token - 掘金 (juejin.cn)

    2024年02月15日
    浏览(35)
  • uni-app 微信小程序之好看的ui登录页面(四)

    更多登录ui页面 uni-app 微信小程序之好看的ui登录页面(一) uni-app 微信小程序之好看的ui登录页面(二) uni-app 微信小程序之好看的ui登录页面(三) uni-app 微信小程序之好看的ui登录页面(四) uni-app 微信小程序之好看的ui登录页面(五)

    2024年02月04日
    浏览(31)
  • uni-app 微信小程序之好看的ui登录页面(二)

    更多登录ui页面 uni-app 微信小程序之好看的ui登录页面(一) uni-app 微信小程序之好看的ui登录页面(二) uni-app 微信小程序之好看的ui登录页面(三) uni-app 微信小程序之好看的ui登录页面(四) uni-app 微信小程序之好看的ui登录页面(五)

    2024年02月03日
    浏览(34)
  • uni-app 微信小程序之好看的ui登录页面(三)

    更多登录ui页面 uni-app 微信小程序之好看的ui登录页面(一) uni-app 微信小程序之好看的ui登录页面(二) uni-app 微信小程序之好看的ui登录页面(三) uni-app 微信小程序之好看的ui登录页面(四) uni-app 微信小程序之好看的ui登录页面(五)

    2024年01月15日
    浏览(38)
  • uni-app 微信小程序之好看的ui登录页面(一)

    更多登录ui页面 uni-app 微信小程序之好看的ui登录页面(一) uni-app 微信小程序之好看的ui登录页面(二) uni-app 微信小程序之好看的ui登录页面(三) uni-app 微信小程序之好看的ui登录页面(四) uni-app 微信小程序之好看的ui登录页面(五)

    2024年02月04日
    浏览(41)
  • uni-app 微信小程序之好看的ui登录页面(五)

    更多登录ui页面 uni-app 微信小程序之好看的ui登录页面(一) uni-app 微信小程序之好看的ui登录页面(二) uni-app 微信小程序之好看的ui登录页面(三) uni-app 微信小程序之好看的ui登录页面(四) uni-app 微信小程序之好看的ui登录页面(五)

    2024年02月04日
    浏览(38)
  • #微信小程序# #uni-app# 实现提交表单或登录,需勾选同意协议,才可以进行下一步

    一、需求: 实现提交表单或登录,需勾选同意协议,才可以进行下一步 二、步骤/思路: (1)使用uni-app的组件checkbox-group排出勾选协议版面   (2)设置一个多选框的数组,绑定在u-checkbox-group里, 使用这个数组来进行判断是否勾选了用户协议 (3)设置点击事件toBngling(),写

    2024年02月12日
    浏览(37)
  • uni-app:vue3 + uni-app 在微信小程序中无法使用app.component全局注册组件

    按上文中的代码执行后,会发现在微信小程序开发中全局注册的组件是无法显示的,这是uniapp的一个未解决bug, 在uniapp中出了可以通过vue实例的component方法注册全局组件外,uniapp支持另一种全局注册的方式,就是通过 easycom 扫描注册,步骤如下 easycom 的扫描流程是:通过代码

    2024年02月16日
    浏览(58)
  • uni-app微信小程序使用echarts

    前言:本来是使用的ucharts,但因为无法监听图例点击交互,满足不了需求,所以只能放弃。 首先,下载echart组件。可以先随便建个文件夹,然后 npm init。接着下载依赖 然后找到 node_modulesmpvue-echarts下的文件,如图 只留下src,其他的删掉(没有用到)。然后复制 mpvue-echart

    2024年02月10日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包