瀏覽代碼

修改意见反馈文案部分
添加用户中心子模块展示列表
增加签到模块部分功能

zhoujuncai 7 年之前
父節點
當前提交
47cd85bfd3
共有 100 個文件被更改,包括 312 次插入61 次删除
  1. 101 20
      app/src/main/java/com/sheep/gamegroup/view/fragment/FgtPersonalCenter.java
  2. 23 21
      app/src/main/java/com/sheep/jiuyan/samllsheep/SheepApp.java
  3. 19 20
      app/src/main/java/com/sheep/jiuyan/samllsheep/base/BaseFragment.java
  4. 154 0
      app/src/main/java/com/sheep/jiuyan/samllsheep/bean/UserCenterModule.java
  5. 15 0
      app/src/main/java/com/sheep/jiuyan/samllsheep/net/map/ApiService.java
  6. 二進制
      app/src/main/res/drawable-xhdpi/Bulletwindow.webp
  7. 二進制
      app/src/main/res/drawable-xhdpi/close.webp
  8. 二進制
      app/src/main/res/drawable-xhdpi/gift_dlose.webp
  9. 二進制
      app/src/main/res/drawable-xhdpi/guajiang.webp
  10. 二進制
      app/src/main/res/drawable-xhdpi/ic_but_copy_link.webp
  11. 二進制
      app/src/main/res/drawable-xhdpi/ic_but_down.webp
  12. 二進制
      app/src/main/res/drawable-xhdpi/ic_but_foot_history.webp
  13. 二進制
      app/src/main/res/drawable-xhdpi/ic_but_new_nav.webp
  14. 二進制
      app/src/main/res/drawable-xhdpi/ic_but_play_gift.webp
  15. 二進制
      app/src/main/res/drawable-xhdpi/ic_but_red_bao.webp
  16. 二進制
      app/src/main/res/drawable-xhdpi/ic_but_search_image.webp
  17. 二進制
      app/src/main/res/drawable-xhdpi/ic_but_share.webp
  18. 二進制
      app/src/main/res/drawable-xhdpi/ic_but_share_everyday.webp
  19. 二進制
      app/src/main/res/drawable-xhdpi/ic_but_share_weibo.webp
  20. 二進制
      app/src/main/res/drawable-xhdpi/ic_but_share_weixin.webp
  21. 二進制
      app/src/main/res/drawable-xhdpi/ic_but_share_white.webp
  22. 二進制
      app/src/main/res/drawable-xhdpi/ic_but_share_wx_circle.webp
  23. 二進制
      app/src/main/res/drawable-xhdpi/ic_but_sign.webp
  24. 二進制
      app/src/main/res/drawable-xhdpi/ic_but_speak.webp
  25. 二進制
      app/src/main/res/drawable-xhdpi/ic_but_talk_show.webp
  26. 二進制
      app/src/main/res/drawable-xhdpi/ic_but_up.webp
  27. 二進制
      app/src/main/res/drawable-xhdpi/ic_but_white_back.webp
  28. 二進制
      app/src/main/res/drawable-xhdpi/ic_face_image.webp
  29. 二進制
      app/src/main/res/drawable-xhdpi/ic_image_message.webp
  30. 二進制
      app/src/main/res/drawable-xhdpi/ic_image_sdj.webp
  31. 二進制
      app/src/main/res/drawable-xhdpi/ic_image_wsj.webp
  32. 二進制
      app/src/main/res/drawable-xhdpi/ic_image_xiao.webp
  33. 二進制
      app/src/main/res/drawable-xhdpi/ic_image_ydj.webp
  34. 二進制
      app/src/main/res/drawable-xhdpi/ic_play_but_image.webp
  35. 二進制
      app/src/main/res/drawable-xhdpi/ic_publish_done.png
  36. 二進制
      app/src/main/res/drawable-xhdpi/ic_qq_image.webp
  37. 二進制
      app/src/main/res/drawable-xhdpi/ic_qzone_image.webp
  38. 二進制
      app/src/main/res/drawable-xhdpi/ic_sign_bg.webp
  39. 二進制
      app/src/main/res/drawable-xhdpi/ic_start.webp
  40. 二進制
      app/src/main/res/drawable-xhdpi/ic_start_all.webp
  41. 二進制
      app/src/main/res/drawable-xhdpi/ic_start_none.webp
  42. 二進制
      app/src/main/res/drawable-xhdpi/ic_to_shop.webp
  43. 二進制
      app/src/main/res/drawable-xhdpi/leftarrow.webp
  44. 二進制
      app/src/main/res/drawable-xhdpi/niudan1.webp
  45. 二進制
      app/src/main/res/drawable-xhdpi/niudan2.webp
  46. 二進制
      app/src/main/res/drawable-xhdpi/niudan3.webp
  47. 二進制
      app/src/main/res/drawable-xhdpi/niudan4.webp
  48. 二進制
      app/src/main/res/drawable-xhdpi/niudan5.webp
  49. 二進制
      app/src/main/res/drawable-xhdpi/niudan6.webp
  50. 二進制
      app/src/main/res/drawable-xhdpi/niudan7.webp
  51. 二進制
      app/src/main/res/drawable-xhdpi/niudan8.webp
  52. 二進制
      app/src/main/res/drawable-xhdpi/qiandao.webp
  53. 二進制
      app/src/main/res/drawable-xhdpi/shoutu.webp
  54. 二進制
      app/src/main/res/drawable-xxhdpi/Bulletwindow.webp
  55. 二進制
      app/src/main/res/drawable-xxhdpi/close.webp
  56. 二進制
      app/src/main/res/drawable-xxhdpi/gift_dlose.webp
  57. 二進制
      app/src/main/res/drawable-xxhdpi/guajiang.webp
  58. 二進制
      app/src/main/res/drawable-xxhdpi/ic_but_copy_link.webp
  59. 二進制
      app/src/main/res/drawable-xxhdpi/ic_but_down.webp
  60. 二進制
      app/src/main/res/drawable-xxhdpi/ic_but_foot_history.webp
  61. 二進制
      app/src/main/res/drawable-xxhdpi/ic_but_new_nav.webp
  62. 二進制
      app/src/main/res/drawable-xxhdpi/ic_but_play_gift.webp
  63. 二進制
      app/src/main/res/drawable-xxhdpi/ic_but_red_bao.webp
  64. 二進制
      app/src/main/res/drawable-xxhdpi/ic_but_search_image.webp
  65. 二進制
      app/src/main/res/drawable-xxhdpi/ic_but_share.webp
  66. 二進制
      app/src/main/res/drawable-xxhdpi/ic_but_share_everyday.webp
  67. 二進制
      app/src/main/res/drawable-xxhdpi/ic_but_share_weibo.webp
  68. 二進制
      app/src/main/res/drawable-xxhdpi/ic_but_share_weixin.webp
  69. 二進制
      app/src/main/res/drawable-xxhdpi/ic_but_share_white.webp
  70. 二進制
      app/src/main/res/drawable-xxhdpi/ic_but_share_wx_circle.webp
  71. 二進制
      app/src/main/res/drawable-xxhdpi/ic_but_sign.webp
  72. 二進制
      app/src/main/res/drawable-xxhdpi/ic_but_speak.webp
  73. 二進制
      app/src/main/res/drawable-xxhdpi/ic_but_talk_show.webp
  74. 二進制
      app/src/main/res/drawable-xxhdpi/ic_but_up.webp
  75. 二進制
      app/src/main/res/drawable-xxhdpi/ic_but_white_back.webp
  76. 二進制
      app/src/main/res/drawable-xxhdpi/ic_face_image.webp
  77. 二進制
      app/src/main/res/drawable-xxhdpi/ic_image_message.webp
  78. 二進制
      app/src/main/res/drawable-xxhdpi/ic_image_sdj.webp
  79. 二進制
      app/src/main/res/drawable-xxhdpi/ic_image_wsj.webp
  80. 二進制
      app/src/main/res/drawable-xxhdpi/ic_image_xiao.webp
  81. 二進制
      app/src/main/res/drawable-xxhdpi/ic_image_ydj.webp
  82. 二進制
      app/src/main/res/drawable-xxhdpi/ic_play_but_image.webp
  83. 二進制
      app/src/main/res/drawable-xxhdpi/ic_publish_done.png
  84. 二進制
      app/src/main/res/drawable-xxhdpi/ic_qq_image.webp
  85. 二進制
      app/src/main/res/drawable-xxhdpi/ic_qzone_image.webp
  86. 二進制
      app/src/main/res/drawable-xxhdpi/ic_sign_bg.webp
  87. 二進制
      app/src/main/res/drawable-xxhdpi/ic_start.webp
  88. 二進制
      app/src/main/res/drawable-xxhdpi/ic_start_all.webp
  89. 二進制
      app/src/main/res/drawable-xxhdpi/ic_start_none.webp
  90. 二進制
      app/src/main/res/drawable-xxhdpi/ic_to_shop.webp
  91. 二進制
      app/src/main/res/drawable-xxhdpi/leftarrow.webp
  92. 二進制
      app/src/main/res/drawable-xxhdpi/niudan1.webp
  93. 二進制
      app/src/main/res/drawable-xxhdpi/niudan2.webp
  94. 二進制
      app/src/main/res/drawable-xxhdpi/niudan3.webp
  95. 二進制
      app/src/main/res/drawable-xxhdpi/niudan4.webp
  96. 二進制
      app/src/main/res/drawable-xxhdpi/niudan5.webp
  97. 二進制
      app/src/main/res/drawable-xxhdpi/niudan6.webp
  98. 二進制
      app/src/main/res/drawable-xxhdpi/niudan7.webp
  99. 二進制
      app/src/main/res/drawable-xxhdpi/niudan8.webp
  100. 0 0
      app/src/main/res/drawable-xxhdpi/qiandao.webp

+ 101 - 20
app/src/main/java/com/sheep/gamegroup/view/fragment/FgtPersonalCenter.java

@@ -5,14 +5,20 @@ import android.app.Activity;
 import android.content.Intent;
 import android.graphics.Color;
 import android.graphics.drawable.BitmapDrawable;
+import android.support.v7.widget.GridLayoutManager;
+import android.support.v7.widget.RecyclerView;
 import android.text.TextUtils;
 import android.view.Gravity;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.widget.ImageView;
+import android.widget.LinearLayout;
 import android.widget.PopupWindow;
 import android.widget.TextView;
 
+import com.bumptech.glide.Glide;
+import com.chad.library.adapter.base.BaseQuickAdapter;
+import com.chad.library.adapter.base.BaseViewHolder;
 import com.google.gson.Gson;
 import com.kfzs.duanduan.utils.ApkUtils;
 import com.sheep.gamegroup.model.entity.AgentEntity;
@@ -35,14 +41,22 @@ import com.sheep.gamegroup.view.dialog.DialogShare;
 import com.sheep.jiuyan.samllsheep.R;
 import com.sheep.jiuyan.samllsheep.SheepApp;
 import com.sheep.jiuyan.samllsheep.base.BaseFragment;
+import com.sheep.jiuyan.samllsheep.bean.UserCenterModule;
+import com.sheep.jiuyan.samllsheep.net.Network;
+import com.sheep.jiuyan.samllsheep.net.Scheduler;
+import com.sheep.jiuyan.samllsheep.ui.activity.SignActivity;
 import com.sheep.jiuyan.samllsheep.utils.G;
+import com.trello.rxlifecycle2.android.FragmentEvent;
 
 import org.afinal.simplecache.ACache;
 
+import java.util.List;
 import java.util.Locale;
 
 import butterknife.BindView;
 import butterknife.OnClick;
+import io.reactivex.Observer;
+import io.reactivex.disposables.Disposable;
 import rx.android.schedulers.AndroidSchedulers;
 import rx.functions.Action1;
 import rx.schedulers.Schedulers;
@@ -97,6 +111,10 @@ public class FgtPersonalCenter extends BaseFragment {
     View audit_success_oval;
     @BindView(R.id.audit_failed_oval)
     View audit_failed_oval;
+    @BindView(R.id.my_module_layout)
+    LinearLayout moduleLayout;
+    @BindView(R.id.my_module_list)
+    RecyclerView moduleList;
 
     public UserEntity userEntity;
     private String faqUrl;
@@ -172,34 +190,96 @@ public class FgtPersonalCenter extends BaseFragment {
         getUnReadMessageCounts();
         //获取未查看的任务成功或失败的记录
         SheepApp.getInstance().getNetComponent().getApiService().getUserTaskExistsNew()
-                        .subscribeOn(Schedulers.io())
-                        .observeOn(AndroidSchedulers.mainThread())
-                        .subscribe(new SheepSubscriber<BaseMessage>(SheepApp.getInstance()) {
-                            @Override
-                            public void onNext(BaseMessage baseMessage) {
-                                UserTaskExistsNew userTaskExistsNew = baseMessage.getData(UserTaskExistsNew.class);
-                                if(userTaskExistsNew != null){
-                                    ViewUtil.setText(audit_activity, getString(R.string.audit_activity, String.valueOf(userTaskExistsNew.getActivity_task_num())));
-                                    ViewUtil.setVisibility(audit_activity_oval, userTaskExistsNew.getActivity_new_num() > 0);
-                                    ViewUtil.setText(audit_success, getString(R.string.audit_success, String.valueOf(userTaskExistsNew.getSuccess_task_num())));
-                                    ViewUtil.setVisibility(audit_success_oval, userTaskExistsNew.getSuccess_new_num() > 0);
-                                    ViewUtil.setText(audit_failed, getString(R.string.audit_failed, String.valueOf(userTaskExistsNew.getFailed_task_num())));
-                                    ViewUtil.setVisibility(audit_failed_oval, userTaskExistsNew.getFailed_new_num() > 0);
+                .subscribeOn(Schedulers.io())
+                .observeOn(AndroidSchedulers.mainThread())
+                .subscribe(new SheepSubscriber<BaseMessage>(SheepApp.getInstance()) {
+                    @Override
+                    public void onNext(BaseMessage baseMessage) {
+                        UserTaskExistsNew userTaskExistsNew = baseMessage.getData(UserTaskExistsNew.class);
+                        if (userTaskExistsNew != null) {
+                            ViewUtil.setText(audit_activity, getString(R.string.audit_activity, String.valueOf(userTaskExistsNew.getActivity_task_num())));
+                            ViewUtil.setVisibility(audit_activity_oval, userTaskExistsNew.getActivity_new_num() > 0);
+                            ViewUtil.setText(audit_success, getString(R.string.audit_success, String.valueOf(userTaskExistsNew.getSuccess_task_num())));
+                            ViewUtil.setVisibility(audit_success_oval, userTaskExistsNew.getSuccess_new_num() > 0);
+                            ViewUtil.setText(audit_failed, getString(R.string.audit_failed, String.valueOf(userTaskExistsNew.getFailed_task_num())));
+                            ViewUtil.setVisibility(audit_failed_oval, userTaskExistsNew.getFailed_new_num() > 0);
 
+                        }
+                    }
+
+                    @Override
+                    public void onError(BaseMessage baseMessage) {
+                    }
+                });
+        initUserModuleItem();
+    }
+
+    /**
+     * 初始化用户中心模块列表
+     */
+    private void initUserModuleItem() {
+        Network.api().userModule(null, "android")
+                .compose(Scheduler.apply(this.<List<UserCenterModule>>bindUntilEvent(FragmentEvent.DESTROY)))
+                .subscribe(new Observer<List<UserCenterModule>>() {
+                    @Override
+                    public void onSubscribe(Disposable d) {
+
+                    }
+
+                    @Override
+                    public void onNext(List<UserCenterModule> userCenterModules) {
+                        if (userCenterModules != null) {
+                            moduleLayout.setVisibility(View.VISIBLE);
+                            GridLayoutManager manager = new GridLayoutManager(getContext(), 4);
+                            BaseQuickAdapter<UserCenterModule, BaseViewHolder> adapter = new BaseQuickAdapter<UserCenterModule, BaseViewHolder>(R.layout.item_my_list_but, userCenterModules) {
+                                @Override
+                                protected void convert(BaseViewHolder helper, UserCenterModule item) {
+                                    bindUserCenterModule(helper, item);
                                 }
-                            }
+                            };
+                            moduleList.setLayoutManager(manager);
+                            moduleList.setAdapter(adapter);
+                        }
+                    }
+
+                    @Override
+                    public void onError(Throwable e) {
+
+                    }
 
-                            @Override
-                            public void onError(BaseMessage baseMessage) {
-                            }
-                        });
+                    @Override
+                    public void onComplete() {
+
+                    }
+                });
+    }
+
+    /**
+     * 绑定数据处理
+     *
+     * @param helper ViewHolder
+     * @param item   数据对象
+     */
+    private void bindUserCenterModule(BaseViewHolder helper, final UserCenterModule item) {
+        if (item.getDisplay() == 1) {
+            helper.setText(R.id.my_item_text, item.getTitle());
+            Glide.with(this).load(item.getIcon()).into((ImageView) helper.getView(R.id.my_item_img));
+            helper.getView(R.id.my_item_but).setOnClickListener(new View.OnClickListener() {
+                @Override
+                public void onClick(View v) {
+                    startActivity(new Intent(getContext(), SignActivity.class));
+                    G.showToast("点击测试");
+                    // TODO: 2018/11/1 zhoujuncai: Item点击事件,跳转处理,显示隐藏等
+                }
+            });
+        }
     }
 
     private void initUserInfo() {
         CommonUtil.getInstance().callActionWithUserInfo(new Action1<UserEntity>() {
             @Override
             public void call(UserEntity userEntity) {
-                if(userEntity != null){
+                if (userEntity != null) {
                     FgtPersonalCenter.this.userEntity = userEntity;
                     ivRedpackage.setVisibility(userEntity.isKfzsPackageUser() ? View.GONE : View.VISIBLE);
                     initWidget();
@@ -451,10 +531,11 @@ public class FgtPersonalCenter extends BaseFragment {
     }
 
     private boolean isFirstOnResume = true;//第一次onResume
+
     @Override
     public void onResume() {
         super.onResume();
-        if(!isFirstOnResume) {
+        if (!isFirstOnResume) {
             try {
                 initData();
             } catch (Exception e) {

+ 23 - 21
app/src/main/java/com/sheep/jiuyan/samllsheep/SheepApp.java

@@ -36,6 +36,7 @@ import com.sheep.gamegroup.util.SysAppUtil;
 import com.sheep.gamegroup.util.UMConfigUtils;
 import com.sheep.gamegroup.view.activity.GameCertificationActivity;
 import com.sheep.gamegroup.view.activity.LoginAct;
+import com.sheep.jiuyan.samllsheep.net.Network;
 import com.sheep.jiuyan.samllsheep.service.AutoCheckService;
 import com.sheep.jiuyan.samllsheep.service.DownloadService;
 import com.sheep.jiuyan.samllsheep.service.FloatShotScreenService;
@@ -180,33 +181,33 @@ public class SheepApp extends MultiDexApplication {
      * #21541 android.os.FileUriExposedException
      * file:///storage/emulated/0/Sheep/com.woniu.wdqk.coolpad.kf689667873.apk exposed beyond app through Intent.getData()
      * com.sheep.jiuyan.samllsheep.utils.h.b(PackageUtil.java:103)
-     *
+     * <p>
      * 解决方案
      * 因为buildsdk是>=24,所以调用Uri.fromFile时保错,解决方法:
-     *
+     * <p>
      * 在application的onCreate里:
      * StrictMode.VmPolicy.Builder builder = new StrictMode.VmPolicy.Builder();
      * StrictMode.setVmPolicy(builder.build());
      * builder.detectFileUriExposure()
-     *
+     * <p>
      * SDK>24 和<24的解决方案
      * public static void openFile(Context context, File file) {
-     *         Intent intent = new Intent();
-     *         intent.setAction(android.content.Intent.ACTION_VIEW);
-     *         Uri uri;
-     *         if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
-     *             intent.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
-     *             Uri contentUri = FileProvider.getUriForFile(context,
-     *                     context.getApplicationContext().getPackageName() + ".provider",
-     *                     file);
-     *             intent.setDataAndType(contentUri, "application/vnd.android.package-archive");
-     *         } else {
-     *             uri = Uri.fromFile(file);
-     *             intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
-     *             intent.setDataAndType(uri, "application/vnd.android.package-archive");
-     *         }
-     *         context.startActivity(intent);
-     *     }
+     * Intent intent = new Intent();
+     * intent.setAction(android.content.Intent.ACTION_VIEW);
+     * Uri uri;
+     * if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
+     * intent.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
+     * Uri contentUri = FileProvider.getUriForFile(context,
+     * context.getApplicationContext().getPackageName() + ".provider",
+     * file);
+     * intent.setDataAndType(contentUri, "application/vnd.android.package-archive");
+     * } else {
+     * uri = Uri.fromFile(file);
+     * intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
+     * intent.setDataAndType(uri, "application/vnd.android.package-archive");
+     * }
+     * context.startActivity(intent);
+     * }
      */
     private void detectFileUriExposure() {
         if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
@@ -368,6 +369,7 @@ public class SheepApp extends MultiDexApplication {
     }
 
     private void initNet() {
+        Network.init();
         netComponent = DaggerNetComponent.builder().netModule(new NetModule()).build();
     }
 
@@ -384,7 +386,7 @@ public class SheepApp extends MultiDexApplication {
             ActivityManager.getInstance().pushActivity(activity);
             if (/*activity instanceof SplashAct || */activity instanceof LoginAct) {
                 SysAppUtil.showVersionInfo(activity, SpUtils.getIgnoreMd5());
-            } else if(YmConfig.isAvf(activity)){
+            } else if (YmConfig.isAvf(activity)) {
                 YmConfig.showTipDialog(activity, YmConfig.TYPE_ADD_VIEW);
             }
 
@@ -447,7 +449,7 @@ public class SheepApp extends MultiDexApplication {
 
         @Override
         public void onActivityDestroyed(Activity activity) {
-            if(YmConfig.isAvf(activity)){
+            if (YmConfig.isAvf(activity)) {
                 YmConfig.disTipDialog();
             }
             if (!TextUtils.isEmpty(gamePackgeName) && isGameFlag() && (activity instanceof GameCertificationActivity || activity instanceof LoginAct)) {

+ 19 - 20
app/src/main/java/com/sheep/jiuyan/samllsheep/base/BaseFragment.java

@@ -3,12 +3,12 @@ package com.sheep.jiuyan.samllsheep.base;
 import android.os.Bundle;
 import android.support.annotation.IdRes;
 import android.support.annotation.Nullable;
-import android.support.v4.app.Fragment;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.ViewGroup;
 
 import com.sheep.gamegroup.view.dialog.DialogLoading;
+import com.trello.rxlifecycle2.components.support.RxFragment;
 
 import butterknife.ButterKnife;
 import butterknife.Unbinder;
@@ -21,7 +21,7 @@ import butterknife.Unbinder;
  * @ QQ:    315096953
  */
 
-public abstract class BaseFragment extends Fragment {
+public abstract class BaseFragment extends RxFragment {
 
     protected View mView;
     /**
@@ -33,23 +33,22 @@ public abstract class BaseFragment extends Fragment {
     protected Unbinder unbinder;
 
 
-
-    protected void  showProgress(){
+    protected void showProgress() {
         hideProgress();
         dialogLoading = DialogLoading.showDialog(getActivity());
     }
 
-    protected void  showProgress(boolean cancel){
+    protected void showProgress(boolean cancel) {
         hideProgress();
         dialogLoading = DialogLoading.showDialog(getActivity(), cancel);
     }
 
-    public boolean isShowing(){
+    public boolean isShowing() {
         return dialogLoading != null && dialogLoading.getAlertDialog() != null && dialogLoading.getAlertDialog().isShowing();
     }
 
-    protected void  hideProgress(){
-        if(isShowing()){
+    protected void hideProgress() {
+        if (isShowing()) {
             try {
                 dialogLoading.getAlertDialog().dismiss();
             } catch (Exception e) {
@@ -60,8 +59,6 @@ public abstract class BaseFragment extends Fragment {
     }
 
 
-
-
     @Override
     public void onCreate(@Nullable Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
@@ -69,9 +66,6 @@ public abstract class BaseFragment extends Fragment {
     }
 
 
-
-
-
     /**
      * 注意用 mIsFirstInit 判断,防止重复加载
      *
@@ -91,9 +85,10 @@ public abstract class BaseFragment extends Fragment {
         butterKnifeBindView();
         return mView;
     }
+
     //绑定view
     public void butterKnifeBindView() {
-        if(userButterKnife())
+        if (userButterKnife())
             unbinder = ButterKnife.bind(this, mView);
     }
 
@@ -114,20 +109,23 @@ public abstract class BaseFragment extends Fragment {
     }
 
     protected boolean firstVisibleToUser = true;
+
     @Override
     public void setUserVisibleHint(boolean isVisibleToUser) {
         super.setUserVisibleHint(isVisibleToUser);
-        if(isVisibleToUser && mView != null) {
-            if(firstVisibleToUser) {
+        if (isVisibleToUser && mView != null) {
+            if (firstVisibleToUser) {
                 initViewOnVisibleToUser();
             }
             initDataOnVisibleToUser();
             firstVisibleToUser = false;
         }
     }
+
     protected void initViewOnVisibleToUser() {
 
     }
+
     protected void initDataOnVisibleToUser() {
 
     }
@@ -140,7 +138,7 @@ public abstract class BaseFragment extends Fragment {
      * @return
      */
     public <T extends View> T findViewById(@IdRes int id) {
-        return (T)mView.findViewById(id);
+        return (T) mView.findViewById(id);
     }
 
     /**
@@ -152,16 +150,17 @@ public abstract class BaseFragment extends Fragment {
      * @return
      */
     public <T extends View> T findViewById(@IdRes int id, Class<T> tClass) {
-        return (T)mView.findViewById(id);
+        return (T) mView.findViewById(id);
     }
 
     @Override
     public void onDestroyView() {
         super.onDestroyView();
-        if(userButterKnife())
+        if (userButterKnife())
             unbinder.unbind();
     }
-    public boolean userButterKnife(){
+
+    public boolean userButterKnife() {
         return true;
     }
 }

+ 154 - 0
app/src/main/java/com/sheep/jiuyan/samllsheep/bean/UserCenterModule.java

@@ -0,0 +1,154 @@
+package com.sheep.jiuyan.samllsheep.bean;
+
+/**
+ * Created by: zhoujuncai.
+ * Created date: 2018/11/1.
+ * Description: 用户中心item数据对象
+ */
+public class UserCenterModule {
+
+    /**
+     * display:	integer ($int64)
+     * 是否显示(1显示,2不显示)
+     * update_time:	integer ($int64)
+     * 更新时间
+     * jump:	string
+     * 跳转(0不跳转,1试玩赚钱,2邀请赚钱,3躺着赚钱,4办卡赚钱,5玩转游戏,6充值Q币,7微信辅助,8连续任务,9打卡赚钱,10.IOS充值卡,11.游戏任务,12.闲玩任务,13游戏代充,14幂动科技,15小米游戏,16ASO,17超维对决,98内部h5,99外部h5)
+     * order:	integer ($int64)
+     * 排序,默认99,越小越靠前
+     * url:	string
+     * 如果type是1,则需要填写url
+     * create_time:	integer ($int64)
+     * 创建时间,时间戳
+     * desc:	string
+     * 描述
+     * platform:	integer ($int64)
+     * 平台(0全平台,1安卓,2IOS)
+     * title:	string
+     * 标题
+     * icon:	string
+     * 图标地址
+     * type:	integer ($int64)
+     * 类型(0不跳转,1内部h5,2原生,3特殊,4浏览器h5)
+     * tag:	integer ($int64)
+     * 标签类型(0无,1热门,2最新,3现金,4活跃,5福利,6红包)
+     * id:	integer ($int64)
+     */
+    private int create_time;
+    private String desc;
+    private int display;
+    private String icon;
+    private int id;
+    private String jump;
+    private int order;
+    private int platform;
+    private int tag;
+    private String title;
+    private int type;
+    private int update_time;
+    private String url;
+
+    public int getCreate_time() {
+        return create_time;
+    }
+
+    public void setCreate_time(int create_time) {
+        this.create_time = create_time;
+    }
+
+    public String getDesc() {
+        return desc;
+    }
+
+    public void setDesc(String desc) {
+        this.desc = desc;
+    }
+
+    public int getDisplay() {
+        return display;
+    }
+
+    public void setDisplay(int display) {
+        this.display = display;
+    }
+
+    public String getIcon() {
+        return icon;
+    }
+
+    public void setIcon(String icon) {
+        this.icon = icon;
+    }
+
+    public int getId() {
+        return id;
+    }
+
+    public void setId(int id) {
+        this.id = id;
+    }
+
+    public String getJump() {
+        return jump;
+    }
+
+    public void setJump(String jump) {
+        this.jump = jump;
+    }
+
+    public int getOrder() {
+        return order;
+    }
+
+    public void setOrder(int order) {
+        this.order = order;
+    }
+
+    public int getPlatform() {
+        return platform;
+    }
+
+    public void setPlatform(int platform) {
+        this.platform = platform;
+    }
+
+    public int getTag() {
+        return tag;
+    }
+
+    public void setTag(int tag) {
+        this.tag = tag;
+    }
+
+    public String getTitle() {
+        return title;
+    }
+
+    public void setTitle(String title) {
+        this.title = title;
+    }
+
+    public int getType() {
+        return type;
+    }
+
+    public void setType(int type) {
+        this.type = type;
+    }
+
+    public int getUpdate_time() {
+        return update_time;
+    }
+
+    public void setUpdate_time(int update_time) {
+        this.update_time = update_time;
+    }
+
+    public String getUrl() {
+        return url;
+    }
+
+    public void setUrl(String url) {
+        this.url = url;
+    }
+}

+ 15 - 0
app/src/main/java/com/sheep/jiuyan/samllsheep/net/map/ApiService.java

@@ -1,5 +1,14 @@
 package com.sheep.jiuyan.samllsheep.net.map;
 
+import com.sheep.jiuyan.samllsheep.bean.UserCenterModule;
+
+import java.util.List;
+
+import io.reactivex.Observable;
+import retrofit2.http.GET;
+import retrofit2.http.Header;
+import retrofit2.http.Query;
+
 /**
  * Created by: zhoujuncai.
  * Created date: 2018/10/30.
@@ -11,4 +20,10 @@ public interface ApiService {
     String BASE_URL = "http://test.sheep.kfzs.com/v1/";
     /* 超时 */
     int TIME_OUT = 15;
+
+    /**
+     * 用户中心模块获取
+     */
+    @GET("/app/user_module/")
+    Observable<List<UserCenterModule>> userModule(@Header("Authorization") String auth, @Query("platform") String platform);
 }

二進制
app/src/main/res/drawable-xhdpi/Bulletwindow.webp


二進制
app/src/main/res/drawable-xhdpi/close.webp


二進制
app/src/main/res/drawable-xhdpi/gift_dlose.webp


二進制
app/src/main/res/drawable-xhdpi/guajiang.webp


二進制
app/src/main/res/drawable-xhdpi/ic_but_copy_link.webp


二進制
app/src/main/res/drawable-xhdpi/ic_but_down.webp


二進制
app/src/main/res/drawable-xhdpi/ic_but_foot_history.webp


二進制
app/src/main/res/drawable-xhdpi/ic_but_new_nav.webp


二進制
app/src/main/res/drawable-xhdpi/ic_but_play_gift.webp


二進制
app/src/main/res/drawable-xhdpi/ic_but_red_bao.webp


二進制
app/src/main/res/drawable-xhdpi/ic_but_search_image.webp


二進制
app/src/main/res/drawable-xhdpi/ic_but_share.webp


二進制
app/src/main/res/drawable-xhdpi/ic_but_share_everyday.webp


二進制
app/src/main/res/drawable-xhdpi/ic_but_share_weibo.webp


二進制
app/src/main/res/drawable-xhdpi/ic_but_share_weixin.webp


二進制
app/src/main/res/drawable-xhdpi/ic_but_share_white.webp


二進制
app/src/main/res/drawable-xhdpi/ic_but_share_wx_circle.webp


二進制
app/src/main/res/drawable-xhdpi/ic_but_sign.webp


二進制
app/src/main/res/drawable-xhdpi/ic_but_speak.webp


二進制
app/src/main/res/drawable-xhdpi/ic_but_talk_show.webp


二進制
app/src/main/res/drawable-xhdpi/ic_but_up.webp


二進制
app/src/main/res/drawable-xhdpi/ic_but_white_back.webp


二進制
app/src/main/res/drawable-xhdpi/ic_face_image.webp


二進制
app/src/main/res/drawable-xhdpi/ic_image_message.webp


二進制
app/src/main/res/drawable-xhdpi/ic_image_sdj.webp


二進制
app/src/main/res/drawable-xhdpi/ic_image_wsj.webp


二進制
app/src/main/res/drawable-xhdpi/ic_image_xiao.webp


二進制
app/src/main/res/drawable-xhdpi/ic_image_ydj.webp


二進制
app/src/main/res/drawable-xhdpi/ic_play_but_image.webp


二進制
app/src/main/res/drawable-xhdpi/ic_publish_done.png


二進制
app/src/main/res/drawable-xhdpi/ic_qq_image.webp


二進制
app/src/main/res/drawable-xhdpi/ic_qzone_image.webp


二進制
app/src/main/res/drawable-xhdpi/ic_sign_bg.webp


二進制
app/src/main/res/drawable-xhdpi/ic_start.webp


二進制
app/src/main/res/drawable-xhdpi/ic_start_all.webp


二進制
app/src/main/res/drawable-xhdpi/ic_start_none.webp


二進制
app/src/main/res/drawable-xhdpi/ic_to_shop.webp


二進制
app/src/main/res/drawable-xhdpi/leftarrow.webp


二進制
app/src/main/res/drawable-xhdpi/niudan1.webp


二進制
app/src/main/res/drawable-xhdpi/niudan2.webp


二進制
app/src/main/res/drawable-xhdpi/niudan3.webp


二進制
app/src/main/res/drawable-xhdpi/niudan4.webp


二進制
app/src/main/res/drawable-xhdpi/niudan5.webp


二進制
app/src/main/res/drawable-xhdpi/niudan6.webp


二進制
app/src/main/res/drawable-xhdpi/niudan7.webp


二進制
app/src/main/res/drawable-xhdpi/niudan8.webp


二進制
app/src/main/res/drawable-xhdpi/qiandao.webp


二進制
app/src/main/res/drawable-xhdpi/shoutu.webp


二進制
app/src/main/res/drawable-xxhdpi/Bulletwindow.webp


二進制
app/src/main/res/drawable-xxhdpi/close.webp


二進制
app/src/main/res/drawable-xxhdpi/gift_dlose.webp


二進制
app/src/main/res/drawable-xxhdpi/guajiang.webp


二進制
app/src/main/res/drawable-xxhdpi/ic_but_copy_link.webp


二進制
app/src/main/res/drawable-xxhdpi/ic_but_down.webp


二進制
app/src/main/res/drawable-xxhdpi/ic_but_foot_history.webp


二進制
app/src/main/res/drawable-xxhdpi/ic_but_new_nav.webp


二進制
app/src/main/res/drawable-xxhdpi/ic_but_play_gift.webp


二進制
app/src/main/res/drawable-xxhdpi/ic_but_red_bao.webp


二進制
app/src/main/res/drawable-xxhdpi/ic_but_search_image.webp


二進制
app/src/main/res/drawable-xxhdpi/ic_but_share.webp


二進制
app/src/main/res/drawable-xxhdpi/ic_but_share_everyday.webp


二進制
app/src/main/res/drawable-xxhdpi/ic_but_share_weibo.webp


二進制
app/src/main/res/drawable-xxhdpi/ic_but_share_weixin.webp


二進制
app/src/main/res/drawable-xxhdpi/ic_but_share_white.webp


二進制
app/src/main/res/drawable-xxhdpi/ic_but_share_wx_circle.webp


二進制
app/src/main/res/drawable-xxhdpi/ic_but_sign.webp


二進制
app/src/main/res/drawable-xxhdpi/ic_but_speak.webp


二進制
app/src/main/res/drawable-xxhdpi/ic_but_talk_show.webp


二進制
app/src/main/res/drawable-xxhdpi/ic_but_up.webp


二進制
app/src/main/res/drawable-xxhdpi/ic_but_white_back.webp


二進制
app/src/main/res/drawable-xxhdpi/ic_face_image.webp


二進制
app/src/main/res/drawable-xxhdpi/ic_image_message.webp


二進制
app/src/main/res/drawable-xxhdpi/ic_image_sdj.webp


二進制
app/src/main/res/drawable-xxhdpi/ic_image_wsj.webp


二進制
app/src/main/res/drawable-xxhdpi/ic_image_xiao.webp


二進制
app/src/main/res/drawable-xxhdpi/ic_image_ydj.webp


二進制
app/src/main/res/drawable-xxhdpi/ic_play_but_image.webp


二進制
app/src/main/res/drawable-xxhdpi/ic_publish_done.png


二進制
app/src/main/res/drawable-xxhdpi/ic_qq_image.webp


二進制
app/src/main/res/drawable-xxhdpi/ic_qzone_image.webp


二進制
app/src/main/res/drawable-xxhdpi/ic_sign_bg.webp


二進制
app/src/main/res/drawable-xxhdpi/ic_start.webp


二進制
app/src/main/res/drawable-xxhdpi/ic_start_all.webp


二進制
app/src/main/res/drawable-xxhdpi/ic_start_none.webp


二進制
app/src/main/res/drawable-xxhdpi/ic_to_shop.webp


二進制
app/src/main/res/drawable-xxhdpi/leftarrow.webp


二進制
app/src/main/res/drawable-xxhdpi/niudan1.webp


二進制
app/src/main/res/drawable-xxhdpi/niudan2.webp


二進制
app/src/main/res/drawable-xxhdpi/niudan3.webp


二進制
app/src/main/res/drawable-xxhdpi/niudan4.webp


二進制
app/src/main/res/drawable-xxhdpi/niudan5.webp


二進制
app/src/main/res/drawable-xxhdpi/niudan6.webp


二進制
app/src/main/res/drawable-xxhdpi/niudan7.webp


二進制
app/src/main/res/drawable-xxhdpi/niudan8.webp


+ 0 - 0
app/src/main/res/drawable-xxhdpi/qiandao.webp


部分文件因文件數量過多而無法顯示