iOS -- 第三方登录之微信登录 (Swift代码)

第一步: 不管微信登录,微信支付,微信分享都需要到微信开放平台注册账号后并注册应用,拿到应用唯一标识AppID和应用密钥 AppSecret
然后集成SDK,具体如何集成查看官方文档,文档有详细介绍
微信开放平台–SDK 接入指南
第二步:

在桥接文件中导入头文件
#import "WXApi.h"AppDelegate 的 didFinishLaunchingWithOptions方法中注册(代码如下)
 
  WXApi.registerApp(WXAppId, universalLink: UniversalLink)

第三步:在登录界面的微信登录按钮方法中添加如下代码

如果前面集成sdk 步骤都顺利的话,这段代码就能调起微信登录的授权页

 if WXApi.isWXAppInstalled() {
     let rep = SendAuthReq()
     //这两个参数 可以照抄 第一个是固定的,第二个随意写
     rep.scope = "snsapi_userinfo"
     rep.state = "wx_oauth_authorization_state"
     WXApi.send(rep, completion: nil)
   }
  else {
       //弹框提示 未安装微信应用或版本过低
       kWindow.makeToast("未安装微信应用或版本过低")
  }

第四步:当用户点击了同意之后,返回到app内会调用一个微信的回调方法,这个回调方法写在AppDelegate中

//微信代理方法
extension AppDelegate: WXApiDelegate {
    //MARK:微信回调
    func onResp(_ resp: BaseResp) {
        if resp.isKind(of: PayResp.self) {
         //这里是微信支付的回调
        }  else if resp.isKind(of: SendAuthResp.self)        {  
         //这里是授权登录的回调
            let aresp = resp as! SendAuthResp
            DispatchQueue.main.async {
                if aresp.errCode == 0 {
                    if let code = aresp.code {
                        //这里拿到code之后 对接服务器接口 
                        //这步 相当于账号密码登录的流程 返回用户信息
                        //后端这个接口返回的数据需要判断是第一次授权还是 不是第一次授权,第一次授权需要去绑定手机号界面,不是第一次授权就直接跳转到首页,登录成功
                        //如果是第一次授权,服务器再给个绑定手机号的接口
                        //大概就这个流程
                    }
                    else {
                        kWindow.makeToast("微信授权失败")
                    }
                }
                else {
                    kWindow.makeToast("微信授权失败")
                }
            }
        }
    }
 }

End

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值