• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

uniapp app端一键微信登录和小程序端一键微信登录

原作者: [db:作者] 来自: [db:来源] 收藏 邀请
        <view class="wx">
            <view class="subtitle">微信快捷登录</view>
            <!-- #ifdef MP-WEIXIN -->
            <text class="iconfont icon-weixin" @tap="wxLogin"></text>
            <text>微信端</text>
            <!-- #endif -->
            <!-- #ifdef  H5 || APP-PLUS -->
            <text class="iconfont icon-weixin" @tap="appLogin"></text>
            <text>app端</text>
            <!-- #endif -->
        </view>

//小程序登录 begin登录
// 逻辑:登录 > 拿到code > 后端通过code获取sessionKey、openid(unionid)等

        wxLogin(e) {
            let _this = this;
          uni.login({
                    provider: \'weixin\',
                    success: function(res) {
                        console.log(res);
                        if (res.code) {
                            let code = res.code;
                            //将用户登录code传递到后台置换用户SessionKey、OpenId等信息
                            //...写用code置换SessionKey、OpenId的接口
                            // _this.$http.post("/api/user/login", {code:code})
                            //     .then(res => {
                            //         let openId= res.openId;
                            //         _this.wxSubmit(openId)
                            //     })
                            //     .catch(err => {
                            //         _this.$ant.toast(\'登录失败\')
                            //     });

                        } else {
                            uni.showToast({
                                title: \'登录失败!\',
                                duration: 2000
                            });
                            console.log(\'登录失败!\' + res.errMsg)
                        }
                    },
                });

        }

// app登录逻辑  app端能直接拿到openId

appLogin() {
                var that = this;
                uni.getProvider({
                    service: \'oauth\',
                    success: function(res) {
                        console.log(res.provider);
                        //支持微信、qq和微博等
                        if (~res.provider.indexOf(\'weixin\')) {
                            uni.login({
                                provider: \'weixin\',
                                success: function(loginRes) {
                                    console.log("App微信获取用户信息成功", loginRes);
                                    // 获取用户信息
                                    uni.getUserInfo({
                                        provider: \'weixin\',
                                        success: function(infoRes) {
                                            console.log(\'-------获取微信用户所有-----\');
                                            console.log(infoRes.userInfo.openId);
                                            console.log(JSON.stringify(infoRes.userInfo));
                                                // 提交信息
                                                that.wxSubmit(infoRes.userInfo.openId)
                                                
                                        }
                                    });
                                    // that.getApploginData(loginRes) //请求登录接口方法
                                },
                                fail: function(res) {
                                    console.log("App微信获取用户信息失败", res);
                                }
                            })
                        }
                    }
                });
            },

记录时间2021-07-13,亲测有效,有用的话,麻烦给点个赞。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap