|
@@ -15,6 +15,7 @@ import com.baidu.duer.botsdk.BotIntent;
|
|
|
import com.baidu.duer.botsdk.IAccountChargeMsgListener;
|
|
|
import com.edufound.reader.apiserver.UserApiServerImpl;
|
|
|
import com.edufound.reader.application.EApplication;
|
|
|
+import com.edufound.reader.bean.BaiDuUserInfo;
|
|
|
import com.edufound.reader.bean.HttpResultBean;
|
|
|
import com.edufound.reader.bean.UserBean;
|
|
|
import com.edufound.reader.botsdk.BotRegisterListener;
|
|
@@ -47,10 +48,13 @@ import io.reactivex.rxjava3.functions.Consumer;
|
|
|
public abstract class BaseFragment extends Fragment {
|
|
|
|
|
|
public CompositeDisposable mCompositeDisposable;
|
|
|
+ Gson mGson;
|
|
|
+ private boolean isNeedLogin = true;
|
|
|
|
|
|
@Override
|
|
|
public void onCreate(@Nullable Bundle savedInstanceState) {
|
|
|
super.onCreate(savedInstanceState);
|
|
|
+ mGson = new Gson();
|
|
|
// 注册网络广播
|
|
|
NetworkChangeReceiver.registerReceiver(getContext());
|
|
|
NetworkChangeReceiver.registerObserver(NetStateChangeObserver);
|
|
@@ -182,16 +186,28 @@ public abstract class BaseFragment extends Fragment {
|
|
|
IBotIntentCallback mBotIntentCallBack = new IBotIntentCallback() {
|
|
|
@Override
|
|
|
public void handleIntent(BotIntent intent, String customData) {
|
|
|
- Logger.e("intent:" + intent.name);
|
|
|
+ Logger.e("fragment---intent.name:" + intent.name);
|
|
|
if (intent.name.equals("all_login")) {
|
|
|
//用户主动要求登录
|
|
|
- EfunboxUtil.checkLogin(getActivity());
|
|
|
+ EfunboxUtil.userLogin(EApplication.mActivityList.get(EApplication.mActivityList.size() - 1));
|
|
|
+ return;
|
|
|
+ } else if (intent.name.equals("user_info")) {
|
|
|
+ //获取是不是百度VIP
|
|
|
+ Consts.setmConstsBaiDuUserBean(mGson.fromJson(customData, BaiDuUserInfo.class));
|
|
|
+ Logger.e("json----" + mGson.toJson(Consts.getmConstsBaiDuUserBean()));
|
|
|
+ if (isNeedLogin) {
|
|
|
+ BotRegisterListener.BaiDuLogin();
|
|
|
+ } else {
|
|
|
+ isNeedLogin = true;
|
|
|
+ }
|
|
|
return;
|
|
|
}
|
|
|
if (BotRegisterListener.isNoLoginIntent(intent)) {
|
|
|
//不是获取手机号
|
|
|
+ Logger.e("不是获取手机号--不是获取手机号:" + intent.name + "---" + intent.slots.toString());
|
|
|
botHandleIntent(intent, customData);
|
|
|
} else {
|
|
|
+ Logger.e("是获取手机号--是获取手机号");
|
|
|
//是获取手机号
|
|
|
if (intent.slots.get(0).value.equals("SUCCESS")) {
|
|
|
//获取手机号Token成功
|
|
@@ -209,14 +225,15 @@ public abstract class BaseFragment extends Fragment {
|
|
|
map.put("deviceCode", DeviceUuidFactory.getUuid());
|
|
|
map.put("channel", Consts.getUmengChannel());
|
|
|
map.put("mobileNo", phone);
|
|
|
+ map.put("nickName", EfunboxUtil.setPhoneMiddle(phone));
|
|
|
if (MMKVUtil.getInstance().decodeString(MMKVEncodeKey.USER_GRADE).equals("") || MMKVUtil.getInstance().decodeString(MMKVEncodeKey.USER_GRADE) == null) {
|
|
|
//如果没有,默认给一年级
|
|
|
map.put("grade", "PRIMARY_FIRST_GRADE");
|
|
|
} else {
|
|
|
map.put("grade", MMKVUtil.getInstance().decodeString(MMKVEncodeKey.USER_GRADE));
|
|
|
}
|
|
|
- Gson gson = new Gson();
|
|
|
- String json = gson.toJson(map);
|
|
|
+
|
|
|
+ String json = mGson.toJson(map);
|
|
|
Logger.e("json:" + json);
|
|
|
userApiServer.registerMobile(topActivity, json, new Callback() {
|
|
|
@Override
|
|
@@ -231,7 +248,7 @@ public abstract class BaseFragment extends Fragment {
|
|
|
String nickName = EfunboxUtil.setPhoneMiddle(bean.getData().getMobile());
|
|
|
bean.getData().setNickName(nickName);
|
|
|
Consts.setmConstsUserBean(bean.getData());
|
|
|
- Logger.e("看看到底对没有:" + gson.toJson(Consts.getmConstsUserBean()));
|
|
|
+ Logger.e("看看到底对没有:" + mGson.toJson(Consts.getmConstsUserBean()));
|
|
|
}
|
|
|
|
|
|
@Override
|
|
@@ -288,6 +305,20 @@ public abstract class BaseFragment extends Fragment {
|
|
|
@NonNull final String baiduOrderId,
|
|
|
@NonNull final String sellerOrderId, @Nullable final String msg, String token) {
|
|
|
|
|
|
+ isNeedLogin = false;
|
|
|
+ //处理支付回调
|
|
|
+ Logger.e("purchaseResult:" + purchaseResult);
|
|
|
+ Logger.e("productId:" + productId);
|
|
|
+ Logger.e("baiduOrderId:" + baiduOrderId);
|
|
|
+ Logger.e("sellerOrderId:" + sellerOrderId);
|
|
|
+ Logger.e("msg:" + msg);
|
|
|
+ Logger.e("token:" + token);
|
|
|
+ if (purchaseResult.equals("SUCCESS")) {
|
|
|
+ //成功
|
|
|
+ BotRegisterListener.getBaiDuVipInfo();
|
|
|
+ } else if (purchaseResult.equals("ERROR")) {
|
|
|
+ //支付失败
|
|
|
+ }
|
|
|
botOnBuyStatusUpdated(purchaseResult, productId, baiduOrderId, sellerOrderId, msg, token);
|
|
|
|
|
|
}
|