# EasySocial
**Repository Path**: CapRobin/easy-social
## Basic Information
- **Project Name**: EasySocial
- **Description**: 几行代码快速集成第三方分享,登录授权,获取已授权用户信息,支付功能。
- **Primary Language**: Android
- **License**: Apache-2.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 1
- **Created**: 2022-09-30
- **Last Updated**: 2022-09-30
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
### 说明
---
几行代码快速集成第三方分享,登录授权,获取已授权用户信息,支付功能。
目前支持微信,微博,QQ,支付宝。
支付宝支持如下
- [x] 支付宝支付
- [ ] 支付宝分享、登录授权、获取用户信息
### 配置
---
1. 添加依赖
```
maven { url "https://jitpack.io" }
api 'com.gitee.ingxin:easy-social:$版本号'
```
[点击查看版本号](https://gitee.com/ingxin/easy-social/releases)
框架本身并不包含第三方sdk库, 需要前往官方下载 或者从demo中拷贝, **建议采用demo中的版本**
2. 在使用的activity中添加一下配置
```kotlin
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
super.onActivityResult(requestCode, resultCode, data)
val consume = EasySocial.instance.onActivityResult(this,requestCode, resultCode, data)
if (consume) {
//框架内部消费了事件
return
}
}
override fun onDestroy() {
EasySocial.instance.release(this)
super.onDestroy()
}
```
### 使用
---
- 发起分享
```kotlin
EasySocial
.with(activity, config)
.getShareRequest()
.setScene(scene)
.onCancel {
}
.onError { platform, s ->
}
.onSucceed {
}
.share(activity, obj)
```
- 发起授权
```kotlin
EasySocial
.with(activity, config)
.getAuthRequest()
.onCancel {
}
.onError { platform, msg ->
}
.onSucceed { platform, auth ->
}
.request(activity)
```
- 获取用户信息
```kotlin
EasySocial
.with(activity, config)
.getUserRequest()
.setAuth(auth)
.onAuthInvalid { }
.onError { platform, s -> }
.onSucceed { platform, userInfo ->
}
.request(activity)
```
- 发起支付
```kotlin
EasySocial
.with(this, config)
.getPayRequest()
.setPayReq(payReq)
.onCancel { }
.onError { platform, s, b ->
}
.onSucceed { }
.request(this)
```
### 微信SDK
---
如果没有使用到微信功能则跳过。
1. 需要自己导入微信sdk,可以在官方下载,或者使用demo中下载好的sdk.
https://developers.weixin.qq.com/doc/oplatform/Mobile_App/Access_Guide/Android.html
2. 添加`包名.wxapi.WXEntryActivity`来接收微信分享回调
添加`包名.wxapi.WXPayEntryActivity`来接收微信支付回调
```kotlin
/**
* 微信分享回调接收页面
*/
class WXEntryActivity : WXBaseEntryActivity()
/**
* 微信支付回调接收页面
*/
class WXPayEntryActivity : WXBaseEntryActivity()
```
3. manifest中注册
```xml
```
### 微博
---
如果没有使用到微博功能则跳过。
1. 需要自己导入微博sdk,可以在官方下载,或者使用demo中下载好的sdk。
https://github.com/sinaweibosdk/weibo_android_sdk
2. 在微博后台设置授权回调页面地址,该地址需要和配置中`redirectUrl`字段保持一致,如果没有自己的鉴权回调地址,可以使用微博提供的默认鉴权回调页面
### QQ
---
如果没有使用到QQ功能则跳过。
1. 需要自己导入qq sdk,可以在官方下载,或者使用demo中下载好的sdk.
https://wiki.connect.qq.com/
2. 在manifest中注册
```xml
```
### 混淆
1. 微信混淆
```
-keep class com.tencent.mm.opensdk.** {
*;
}
-keep class com.tencent.wxop.** {
*;
}
-keep class com.tencent.mm.sdk.** {
*;
}
```
2. 微博
```
-keep class com.sina.weibo.sdk.** { *; }
```
3. QQ
```
-keep class * extends android.app.Dialog
```