目录

小程序第三方登录操作流程如下:

1.第一步

2.第二步

2.第三步

4.第四步

5.第五步


小程序第三方登录操作流程如下:

注意:如果第一步没打印出来,看看微信模拟器上的Id有没有更改,或则去源码试图,weixinId更改

1.第一步

进入uniapp官网=>Api=>第三方服务=>登录=>微信小程序登录

2.第二步

创建一个触发事件,获取头像和名称

uni.getUserProfile({desc: '需要用到昵称和图像',success: (a) => {console.log(a);this.nickName = a.userInfo.nickNamethis.avatarUrl = a.userInfo.avatarUrl//     uni.login({//       success: (res) => {//           console.log(res);//             this.code = res.code//             if (res.code) {//               uni.request({//                     url: `https://api.weixin.qq.com/sns/jscode2session?appid=${this.appid}&secret=${this.secret}&js_code=${this.code}&grant_type=authorization_code`,//                   success: (resq) => {//                      console.log(resq);//                        let openid = resq.data.openid//                        uni.request({//                             url: 'http://ceshi2.dishait.cn/api/v1/user/otherlogin',//                             method: 'POST',//                             data: {//                               provider: 'weixin',//                                 openid: openid,//                               expires_in: '9999',//                                 nickName: this.nickName,//                              avatarUrl: this.avatarUrl//                             },//                            success: (resp) => {//                              console.log(resp);//                                this.getUserInfo(resp.data.data)//                              uni.switchTab({//                                   url: '../myfile/myfile'//                                 })//                            }//                         })//                    }//                 })//            }//         }//     })}})

2.第三步

调用 wx.login() 获取 临时登录凭证code ,并回传到开发者服务器

uni.getUserProfile({desc: '需要用到昵称和图像',success: (a) => {console.log(a);this.nickName = a.userInfo.nickNamethis.avatarUrl = a.userInfo.avatarUrluni.login({success: (res) => {console.log(res);this.code = res.code// if (res.code) {//   uni.request({//         url: `https://api.weixin.qq.com/sns/jscode2session?appid=${this.appid}&secret=${this.secret}&js_code=${this.code}&grant_type=authorization_code`,//       success: (resq) => {//          console.log(resq);//            let openid = resq.data.openid//            uni.request({//                 url: 'http://ceshi2.dishait.cn/api/v1/user/otherlogin',//                 method: 'POST',//                 data: {//                   provider: 'weixin',//                     openid: openid,//                   expires_in: '9999',//                     nickName: this.nickName,//                  avatarUrl: this.avatarUrl//                 },//                success: (resp) => {//                  console.log(resp);//                    this.getUserInfo(resp.data.data)//                  uni.switchTab({//                       url: '../myfile/myfile'//                     })//                }//             })//        }//     })// }}})}})

4.第四步

调用 auth.code2Session 接口,换取 用户唯一标识 OpenID 、 用户在微信开放平台帐号下的唯一标识UnionID(若当前小程序已绑定到微信开放平台帐号) 和 会话密钥 session_key

获取小程序 appId和小程序 appSecret,在微信公众平台=>小程序信息=>开发/开发管理/开发设置

uni.getUserProfile({desc: '需要用到昵称和图像',success: (a) => {console.log(a);this.nickName = a.userInfo.nickNamethis.avatarUrl = a.userInfo.avatarUrluni.login({success: (res) => {console.log(res);this.code = res.codeif (res.code) {uni.request({url: `https://api.weixin.qq.com/sns/jscode2session?appid=${this.appid}&secret=${this.secret}&js_code=${this.code}&grant_type=authorization_code`,success: (resq) => {console.log(resq);let openid = resq.data.openid// uni.request({//  url: 'http://ceshi2.dishait.cn/api/v1/user/otherlogin',//     method: 'POST',//     data: {//       provider: 'weixin',//         openid: openid,//       expires_in: '9999',//         nickName: this.nickName,//      avatarUrl: this.avatarUrl//     },//    success: (resp) => {//      console.log(resp);//        this.getUserInfo(resp.data.data)//      uni.switchTab({//           url: '../myfile/myfile'//         })//    }// })}})}}})}})

5.第五步

讲收集到的数据传给接口,成功返回的数据就是登录所用的数据

uni.getUserProfile({desc: '需要用到昵称和图像',success: (a) => {console.log(a);this.nickName = a.userInfo.nickNamethis.avatarUrl = a.userInfo.avatarUrluni.login({success: (res) => {console.log(res);this.code = res.codeif (res.code) {//这里是找的接口请求,返回登录所用的数据uni.request({url: `https://api.weixin.qq.com/sns/jscode2session?appid=${this.appid}&secret=${this.secret}&js_code=${this.code}&grant_type=authorization_code`,success: (resq) => {console.log(resq);let openid = resq.data.openiduni.request({url: 'http://ceshi2.dishait.cn/api/v1/user/otherlogin',method: 'POST',data: {provider: 'weixin',openid: openid,expires_in: '9999',nickName: this.nickName,avatarUrl: this.avatarUrl},success: (resp) => {console.log(resp);//reps.data.data就是用户信息等数据,传到页面使用//this.getUserInfo(resp.data.data)uni.switchTab({url: '../myfile/myfile'})}})}})}}})}})

微信小程序第三方登录相关推荐

  1. 微信小程序 第三方平台授权小程序业务

    image 第一步:申请微信开放平台帐号并创建第三方平台 image.png image.png image.png image.png 第二步:公众号/小程序授权给第三方平台 <?php// ...

  2. webform窗体怎么实现session唯一标识_微信小程序用户登录和登录态维护的实现_javascript技巧...

    这篇文章主要介绍了微信小程序用户登录和登录态维护的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧 让用户登录,标识用户和获取 ...

  3. 微信小程序第三方平台和附近的小程序将开放

    2017 年 3 月底,微信小程序接连放了几个大招:第一招:发布小程序 6 大新能力.第二招:再曝小程序 5 大新能力.第三招:微信小程序第三方平台和附近的小程序.而最后一招小程序第三方平台,虽然在微 ...

  4. php(ThinkPHP)实现微信小程序的登录过程

    源码也在我的github中给出 https://github.com/wulongtao/think-wxminihelper 下面结合thinkPHP框架来实现以下微信小程序的登录流程,这些流程是结 ...

  5. php做微信小程序登录,php(ThinkPHP)实现微信小程序的登录过程

    下面结合thinkPHP框架来实现以下微信小程序的登录流程,这些流程是结合了官网和github的一个网站综合实现的 https://mp.weixin.qq.com/debug/wxadoc/dev/ ...

  6. 微信小程序第三方服务公司有哪些

    虽然微信小程序还没有正式推出,但围绕着微信小程序第三方服务公司之间的战争早已经开始.他们在小程序生成工具(一键生成小程序,无需开发).微信小程序开发工具.小程序数据统计等领域展开激烈竞争,我们一起来看 ...

  7. 微信小程序授权登录 组件的封装

    微信小程序授权登录 组件的封装 新建components文件 写wxml文件 wxss部分 js部分 json引用 页面使用 页面js 授权登录 流程如下: 因为多个页面功能需要登录状态 所以做了个组 ...

  8. SpringBoot微信小程序授权登录

    SpringBoot微信小程序授权登录 一.appId 1.1.自己是管理者:微信公众平台,申请或登录自己的微信小程序,在开发者管理中即可看到 2.2.自己是开发者:让管理员将自己加入到小程序开发者管 ...

  9. uniapp微信小程序授权登录和获取微信绑定的手机号码

    uniapp微信小程序授权登录和获取微信绑定的手机号码 弹出授权的弹框 <view class="weixinOk" @tap="getUserProfile&qu ...

最新文章

  1. FastReport 使用入门
  2. jdbcTemplate 后台接口中的分页
  3. RecSys 2019最佳论文:基于深度学习的推荐系统是否真的优于传统经典方法?
  4. 利用 Python 分析了某化妆品企业的销售情况,我得出的结论是?
  5. php laravel 调试,php – Xdebug laravel artisan命令
  6. 21天学通c语言错误,为《21天学通C语言》(第7版)(Sams Teach Yourself C in 21 Days)正名...
  7. Redis的安装配置与使用
  8. 频谱泄漏(spectral leakage)
  9. 解决Python中的TypeError list indices must be integers or slices, not float问题
  10. 为啥要看javac源代码
  11. 爬取智联招聘(搜索含关键词职位)
  12. Android 打电话程序
  13. python中round函数的使用方法
  14. php qq授权_PHP模拟QQ网页版授权登陆
  15. win10兼容模式怎么设置_Win10游戏模式,你真的会用吗?只有这样设置,游戏操作才流畅...
  16. 智力游戏(搬山游戏)
  17. c语言程序判断一个字符串是否是回文数,详解判断回文字符串和回文数算法的C语言代码!...
  18. Give up sending metadata request since no node is available
  19. 电路图里面的NS是什么意思
  20. Android音视频开发入门(5)使用LAME编码一个PCM文件,为了跳槽强刷1000道Android真题

热门文章

  1. Ubuntu20.04安装NVIDIA显卡驱动、CUDA、CUDNN及突破NVENC并发限制
  2. java编写爬虫_Java怎么写网络爬虫?分分钟带你爬取,源码
  3. 柳比歇夫的时间管理法—《可以量化…
  4. linux LED设备驱动文件
  5. 使用VNC连接树莓派4b如何全屏1080p分辨率,一次更改永久有效!
  6. NFT“MetaBunny”公开发售后飙升近35倍 首轮公开发售1000枚后结束
  7. Content Size Fitter组件的使用
  8. 树莓派3 Android Pie 编译适配
  9. 最全最精准的IE浏览器判断和国内套壳浏览器判断(360,QQ,搜狗,百度等)
  10. Python3 parse.urlencode() 与parse.unquote()