uniapp项目 App端实现微信登录、QQ登录

本文是基于打包成安卓App的前提。

一、注意事项

1、HBuilderX配置manifest.json,如下图:

 其中,微信登录填写的appid、appsecret需要到微信开放平台(微信开放平台)申请移动应用(见此文:微信开放平台申请移动应用),审核通过即可获取appid和appsecret。值得一提的是,申请过程中可能会不知道应用签名和应用包名怎么获取,获取方法见此本:获取微信开放平台申请移动应用时的应用签名和应用包名

QQ登录填写的appid需要到腾讯开放平台(腾讯开放平台 OPEN.QQ.COM)申请移动应用,审核通过即可获取appid。

两者的IOS平台通用链接点击自动生成按提示生成即可。

2、打包App填写信息

打包生成App是在写完代码后测试进行的(测试可使用自定义调试基座打包进行真机测试)。按规则填写好Android包名,选择使用自有证书,根据事先生成的证书完善相关信息,开始打包。

需要注意的是:此处的Android包名一定要和在微信开放平台申请移动应用时填写的应用包名保持一致!

二、核心代码

1、App端微信登录

uni.login({
  provider: 'weixin',
  success: (res) => {
    console.log(111,res.authResult)
    uni.getUserInfo({
      provider: 'weixin',
      success: (infoRes) => {
        // console.log(infoRes)
        let userInfo = infoRes.userInfo
        console.log('openid:',userInfo.openId,'unionid:',userInfo.unionId)
        uni.showLoading({ title: "登录中", mask: true })
        // 利用微信授权获取到的用户信息 请求登录
        ......
      }
    })
  },
  fail: (err) => {
    console.log(33, err)
  }
})

后端可以根据unionId来判断用户唯一性。

2、App端QQ登录

uni.login({
  provider: 'qq',
  success: (res) => {
    console.log(11,res)
    // console.log(res.authResult.access_token)
    // let access_token = res.authResult.access_token
    uni.getUserInfo({
      provider: 'qq',
      success: (infoRes) => {
        console.log(infoRes.userInfo)
        let userInfo = infoRes.userInfo
        uni.showLoading({ title: "登录中", mask: true })
        // 利用QQ授权获取到的用户信息 请求登录
        ......
      }
    })
  },
  fail: (err2) => {
    console.log(55, err2)
  }
})

后端可以根据unionId来判断用户唯一性。

完。记录于2021-11-10。

相关文章:获取微信开放平台申请移动应用时的应用签名和应用包名

相关文章:uniapp App跳转微信小程序并互相传递参数、接收微信小程序传递的参数

要在uniapp中使用nvue实现微信QQ的图文分享组件,可以使用uniapp官方提供的uni-share组件,该组件封装了微信QQ的分享功能。 首先,在pages.json文件中声明uni-share组件: ```json { "pages": [ { "path": "pages/index/index", "style": { "navigationBarTitleText": "首页" } } ], "globalStyle": { "navigationBarTextStyle": "black", "navigationBarTitleText": "uni-app", "navigationBarBackgroundColor": "#F8F8F8", "backgroundColor": "#F8F8F8" }, "usingComponents": { "uni-share": "/components/uni-share/uni-share" } } ``` 然后,在需要分享的页面中引入uni-share组件: ```html <!-- index.nvue --> <template> <view class="container"> <button type="primary" @click="share">分享</button> </view> <uni-share :title="title" :summary="summary" :imageUrl="imageUrl" :shareUrl="shareUrl"></uni-share> </template> <script> export default { data() { return { title: 'uniapp中使用nvue实现微信QQ的图文分享组件', summary: 'uniapp中使用nvue实现微信QQ的图文分享组件', imageUrl: 'https://xxx.com/xxx.jpg', shareUrl: '/pages/index/index' } }, methods: { share() { uni.showShareMenu({ withShareTicket: true, success: function () { console.log('success') }, fail: function () { console.log('fail') } }) } } } </script> ``` 在uni-share组件中,我们可以通过传入title、summary、imageUrl和shareUrl等参数来配置分享内容。然后在share方法中调用uni.showShareMenu方法打开分享菜单,用户选择分享的平台后,会自动弹出分享面板。 以上是uniapp中使用nvue实现微信QQ的图文分享组件的方法,希望对你有所帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值