詹子聪 пре 5 година
родитељ
комит
69625bb237

+ 2 - 2
app/src/main/java/com/itant/shibei/base/ApiService.java

@@ -101,8 +101,8 @@ public interface ApiService {
     Observable<BaseResponse<SystemBean>> getSystemConfig();
 
     /**设置是否VIP才能用API*/
-    @POST("/eden/api/setApiConfig")
-    Observable<BaseResponse<String>> setApiConfig(@Query("isApiVipOnly") boolean isApiVipOnly);
+    @POST("/eden/api/setDoor")
+    Observable<BaseResponse<String>> setApiConfig(@Query("booleanValue") boolean booleanValue, @Query("configType") int configType);
 
     /**收藏或取消收藏*/
     @POST("/eden/api/favGoods")

+ 1 - 0
app/src/main/java/com/itant/shibei/bean/SystemBean.java

@@ -14,4 +14,5 @@ public class SystemBean {
      * 是否有VIP限制,true表示必须要VIP才能使用特殊服务,false表示免费开放中...
      */
     public boolean isVipLimit;
+    public boolean isWalking;
 }

+ 1 - 1
app/src/main/java/com/itant/shibei/ui/home/about/AboutFragment.java

@@ -23,7 +23,7 @@ import com.miekir.mvp.view.BaseMVPFragment;
  * @author Miekir
  * @date 2020/6/18 16:48
  * Description: 关于界面
- * todo 点击版本号检查更新
+ * 点击版本号检查更新
  */
 public class AboutFragment extends BaseMVPFragment implements View.OnClickListener, ICommonView<UpgradeBean> {
 

+ 2 - 1
app/src/main/java/com/itant/shibei/ui/home/tool/ISystemView.java

@@ -11,5 +11,6 @@ import com.miekir.mvp.view.IView;
  */
 public interface ISystemView extends IView {
     void onGetConfigResult(boolean success, String message, SystemBean resultBean);
-    void onSetApiResult(boolean success, String message, String resultBean);
+    void onSetDoorResult(boolean success, String message, String resultBean);
+    void onSetWalkResult(boolean success, String message, String resultBean);
 }

+ 33 - 5
app/src/main/java/com/itant/shibei/ui/home/tool/SystemPresenter.java

@@ -19,6 +19,8 @@ import io.reactivex.schedulers.Schedulers;
  * Description:
  */
 public class SystemPresenter extends BasePresenter<ISystemView> {
+    public static final int CONFIG_TYPE_DOOR = 1;
+    public static final int CONFIG_TYPE_WALK = 2;
 
     /**
      * 获取配置信息
@@ -47,26 +49,52 @@ public class SystemPresenter extends BasePresenter<ISystemView> {
     }
 
     /**
-     * 设置API是否仅对会员开放
+     * 设置API是否开放
      */
-    public void setApiConfig(boolean isApiVipOnly) {
+    public void setDoor(boolean openDoor) {
         RetrofitHelper.getInstance()
                 .getRequestApi(ApiService.class)
-                .setApiConfig(isApiVipOnly)
+                .setApiConfig(openDoor, CONFIG_TYPE_DOOR)
                 .subscribeOn(Schedulers.io())
                 .observeOn(AndroidSchedulers.mainThread())
                 .subscribe(new BaseObserver<String>() {
                     @Override
                     public void onSuccess(String result) {
                         if (getView() != null) {
-                            getView().onSetApiResult(true, "", result);
+                            getView().onSetDoorResult(true, "", result);
                         }
                     }
 
                     @Override
                     public void onFailure(Throwable e, String errMsg) {
                         if (getView() != null) {
-                            getView().onSetApiResult(false, TextUtils.isEmpty(errMsg) ? "设置失败:"+e.getMessage() : errMsg, null);
+                            getView().onSetDoorResult(false, TextUtils.isEmpty(errMsg) ? "设置失败:"+e.getMessage() : errMsg, null);
+                        }
+                    }
+                });
+    }
+
+    /**
+     * 设置是否爬虫
+     */
+    public void setWalk(boolean goWalking) {
+        RetrofitHelper.getInstance()
+                .getRequestApi(ApiService.class)
+                .setApiConfig(goWalking, CONFIG_TYPE_WALK)
+                .subscribeOn(Schedulers.io())
+                .observeOn(AndroidSchedulers.mainThread())
+                .subscribe(new BaseObserver<String>() {
+                    @Override
+                    public void onSuccess(String result) {
+                        if (getView() != null) {
+                            getView().onSetWalkResult(true, "", result);
+                        }
+                    }
+
+                    @Override
+                    public void onFailure(Throwable e, String errMsg) {
+                        if (getView() != null) {
+                            getView().onSetWalkResult(false, TextUtils.isEmpty(errMsg) ? "设置失败:"+e.getMessage() : errMsg, null);
                         }
                     }
                 });

+ 0 - 122
app/src/main/java/com/itant/shibei/ui/home/tool/ToolFragment.java

@@ -1,122 +0,0 @@
-package com.itant.shibei.ui.home.tool;
-
-import android.content.Intent;
-import android.view.View;
-import android.widget.TextView;
-
-import com.itant.shibei.R;
-import com.itant.shibei.bean.SystemBean;
-import com.itant.shibei.constant.ConstantUrl;
-import com.itant.shibei.manager.UserInfoManager;
-import com.itant.shibei.ui.home.tool.json.JsonActivity;
-import com.itant.shibei.ui.home.tool.weather.WeatherActivity;
-import com.itant.shibei.ui.home.tool.yiji.YijiActivity;
-import com.itant.shibei.ui.mine.login.LoginActivity;
-import com.miekir.common.utils.ActivityTool;
-import com.miekir.common.utils.ToastTool;
-import com.miekir.mvp.presenter.InjectPresenter;
-import com.miekir.mvp.view.BaseMVPFragment;
-
-/**
- * @author Miekir
- * @date 2020/6/18 16:48
- * Description: 工具界面
- */
-public class ToolFragment extends BaseMVPFragment implements View.OnClickListener, ISystemView {
-
-    @InjectPresenter
-    SystemPresenter mSystemPresenter;
-
-    private TextView tv_weather;
-    private TextView tv_yiji;
-
-    @Override
-    protected void onViewInit() {
-        tv_weather = rootView.findViewById(R.id.tv_weather);
-        tv_yiji = rootView.findViewById(R.id.tv_yiji);
-        rootView.findViewById(R.id.fl_get_json).setOnClickListener(this);
-        rootView.findViewById(R.id.fl_pc_template).setOnClickListener(this);
-        rootView.findViewById(R.id.fl_weather).setOnClickListener(this);
-        rootView.findViewById(R.id.fl_yiji).setOnClickListener(this);
-        rootView.findViewById(R.id.fl_biao_qing).setOnClickListener(this);
-    }
-
-    @Override
-    protected void onLazyLoad() {
-        mSystemPresenter.getSystemConfig();
-    }
-
-    @Override
-    public int getLayoutResId() {
-        return R.layout.fragment_tool;
-    }
-
-    @Override
-    public void onClick(View v) {
-        switch (v.getId()) {
-
-            case R.id.fl_pc_template:
-                // 跳转京东模板
-                ActivityTool.openUrl(getActivity(), ConstantUrl.URL_JD_TEMPLATE_COMPUTER);
-                break;
-            case R.id.fl_get_json:
-                // JSON界面
-                if (UserInfoManager.getInstance().isLogin()) {
-                    startActivity(new Intent(getActivity(), JsonActivity.class));
-                } else {
-                    ToastTool.showShort("请先登录");
-                    startActivity(new Intent(getActivity(), LoginActivity.class));
-                }
-                break;
-
-            case R.id.fl_weather:
-                // 天气界面
-                if (UserInfoManager.getInstance().isLogin()) {
-                    startActivity(new Intent(getActivity(), WeatherActivity.class));
-                } else {
-                    ToastTool.showShort("请先登录");
-                    startActivity(new Intent(getActivity(), LoginActivity.class));
-                }
-                break;
-
-            case R.id.fl_yiji:
-                // 宜忌信息
-                if (UserInfoManager.getInstance().isLogin()) {
-                    startActivity(new Intent(getActivity(), YijiActivity.class));
-                } else {
-                    ToastTool.showShort("请先登录");
-                    startActivity(new Intent(getActivity(), LoginActivity.class));
-                }
-                break;
-
-            case R.id.fl_biao_qing:
-                // 跳转表情包
-                ActivityTool.openUrl(getActivity(), ConstantUrl.URL_BIAO_QING);
-                break;
-            default:
-                break;
-        }
-    }
-
-    @Override
-    public void onGetConfigResult(boolean success, String message, SystemBean resultBean) {
-        if (!success || resultBean == null) {
-            return;
-        }
-
-        String tips;
-        if (resultBean.isVipLimit) {
-            tips = getResources().getString(R.string.api_tips_vip_only);
-        } else {
-            tips = getResources().getString(R.string.api_tips_free);
-        }
-
-        tv_weather.setText(tv_weather.getText().toString() + tips);
-        tv_yiji.setText(tv_yiji.getText().toString() + tips);
-    }
-
-    @Override
-    public void onSetApiResult(boolean success, String message, String resultBean) {
-
-    }
-}

+ 25 - 3
app/src/main/java/com/itant/shibei/ui/mine/MineActivity.java

@@ -34,6 +34,7 @@ public class MineActivity extends BaseBeiActivity implements View.OnClickListene
 
     // 当前金额
     private Switch switch_api;
+    private Switch switch_walk;
 
     private BeiUser mUser;
 
@@ -58,7 +59,9 @@ public class MineActivity extends BaseBeiActivity implements View.OnClickListene
         }
 
         switch_api = findViewById(R.id.switch_api);
+        switch_walk = findViewById(R.id.switch_api);
         switch_api.setOnCheckedChangeListener(this);
+        switch_walk.setOnCheckedChangeListener(this);
     }
 
     @Override
@@ -122,10 +125,14 @@ public class MineActivity extends BaseBeiActivity implements View.OnClickListene
         switch_api.setOnCheckedChangeListener(null);
         switch_api.setChecked(resultBean.isVipLimit);
         switch_api.setOnCheckedChangeListener(this);
+
+        switch_walk.setOnCheckedChangeListener(null);
+        switch_walk.setChecked(resultBean.isWalking);
+        switch_walk.setOnCheckedChangeListener(this);
     }
 
     @Override
-    public void onSetApiResult(boolean success, String message, String resultBean) {
+    public void onSetDoorResult(boolean success, String message, String resultBean) {
         dismissLoading();
         if (success) {
             ToastTool.showShort("设置成功");
@@ -137,11 +144,26 @@ public class MineActivity extends BaseBeiActivity implements View.OnClickListene
         }
     }
 
+    @Override
+    public void onSetWalkResult(boolean success, String message, String resultBean) {
+        dismissLoading();
+        if (success) {
+            ToastTool.showShort("设置成功");
+        } else {
+            ToastTool.showShort("设置失败");
+            switch_walk.setOnCheckedChangeListener(null);
+            switch_walk.setChecked(!switch_walk.isChecked());
+            switch_walk.setOnCheckedChangeListener(this);
+        }
+    }
+
     @Override
     public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
+        showLoading();
         if (buttonView.getId() == switch_api.getId()) {
-            showLoading();
-            mSystemPresenter.setApiConfig(isChecked);
+            mSystemPresenter.setDoor(isChecked);
+        } else if (buttonView.getId() == switch_walk.getId()) {
+            mSystemPresenter.setWalk(isChecked);
         }
     }
 }

+ 12 - 1
app/src/main/res/layout/activity_mine.xml

@@ -66,7 +66,18 @@
             android:layout_marginEnd="@dimen/margin_default"
             android:text="是否限制访问伊甸园"/>
 
-        <!--<include layout="@layout/view_divider_common" />-->
+        <include layout="@layout/view_divider_common" />
+
+        <Switch
+            android:id="@+id/switch_walk"
+            android:layout_width="match_parent"
+            android:layout_height="@dimen/height_tab_bar"
+            android:gravity="center_vertical"
+            android:layout_marginStart="@dimen/margin_default"
+            android:layout_marginEnd="@dimen/margin_default"
+            android:text="是否在下次启动爬虫"/>
+
+        <include layout="@layout/view_divider_common" />
     </LinearLayout>
 
     <View

+ 1 - 1
network/src/main/java/com/miekir/network/core/base/BaseObserver.java

@@ -20,7 +20,7 @@ public abstract class BaseObserver<T> implements Observer<BaseResponse<T>> {
             if (response.getCode() == Code.SUCCESS) {
                 onSuccess(response.getContent());
             } else if (response.getCode() == Code.TOKEN_TIMEOUT) {
-                // todo 重新登录
+                // 重新登录
             } else {
                 onFailure(new Exception(response.getMessage()), response.getMessage());
             }