共计 1066 个字符,预计需要花费 3 分钟才能阅读完成。
项目中难免会用到第三方登录和分享,本项目中微信登录使用的第三方组件:# react-native-wechat
使用
yarn add react-native-wechat
react-native link react-native-wechat
在包名下新建 wxapi 文件夹,文件夹下新建文件 WXEntryActivity.java
package com.xxx.wxapi;
import android.app.Activity;
import android.os.Bundle;
import com.theweflex.react.WeChatModule;
public class WXEntryActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);
WeChatModule.handleIntent(getIntent());
finish();}
}
授权登录
首先注册
WeChat.registerApp(WechatAppID)
授权登录
WeChat.sendAuthRequest('snsapi_userinfo', 'ares')
.then((response) => {console.log('-------------------- get wechat data is:', response)
getWechatOpenId(response.code)
})
.catch((error) => {let errorCode = Number(error.code);
if (errorCode === -2) {dispatch(showDropdownAlert('error', '提示', '已取消授权登录')) // errorCode = -2 表示用户主动取消的情况,下同
} else {dispatch(showDropdownAlert('error', '提示', WechatAuthFailed)) // errorCode = -2 表示用户主动取消的情况,下同
}
})
注意问题
- 打包使用签名文件 keystore 文件的签名要和微信开发平台中填写的一一致
- WXEntryActivity.java 中的 package com.xxx.wxapi; 包名必须和微信开发平台中填写的包名一直,不然就会出现点击授权登录,回调没有反应的问题,可以解决这个问题:https://github.com/yorkie/rea…
正文完
发表至: react-native
2019-04-25