Sfoglia il codice sorgente

.增加cookie存储
.全局控制token

mq 5 anni fa
parent
commit
7d42c3df49

+ 1 - 1
app/build.gradle

@@ -49,7 +49,7 @@ android {
49 49
 
50 50
     buildTypes {
51 51
         release {
52
-            minifyEnabled true
52
+            minifyEnabled false
53 53
             proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
54 54
             signingConfig signingConfigs.release
55 55
             zipAlignEnabled = true

+ 2 - 0
app/src/main/java/com/unis/sxzcl/MyApp.java

@@ -44,4 +44,6 @@ public class MyApp extends BaseApp {
44 44
     }
45 45
 
46 46
 
47
+
48
+
47 49
 }

+ 20 - 5
app/src/main/java/com/unis/sxzcl/ui/home/HomeFragment.java

@@ -10,7 +10,7 @@ import com.bumptech.glide.Glide;
10 10
 import com.github.mikephil.charting.data.BarEntry;
11 11
 import com.github.mikephil.charting.data.PieEntry;
12 12
 import com.unis.model.DataCallback;
13
-import com.unis.model.ProcessModel;
13
+import com.unis.model.NoticeModel;
14 14
 import com.unis.model.UrlPath;
15 15
 import com.unis.model.UserModel;
16 16
 import com.unis.model.bean.UserBean;
@@ -240,17 +240,32 @@ public class HomeFragment extends BaseFragment<FragmentHomeBinding> {
240 240
     @Subscribe(threadMode = ThreadMode.MAIN)
241 241
     public void onTodoEvent(TodoEvent event) {
242 242
         // 待办事项数量
243
-        ProcessModel.get().getTodoSize(new DataCallback<Integer>() {
243
+//        ProcessModel.get().getTodoSize(new DataCallback<Integer>() {
244
+//            @Override
245
+//            public void onSuccess(Integer data) {
246
+//                if (!isActive())return;
247
+//
248
+//                if ((int) data == 0) {
249
+//                    mBinding.tvTodoCount.setVisibility(View.GONE);
250
+//                    return;
251
+//                }
252
+//                mBinding.tvTodoCount.setVisibility(View.VISIBLE);
253
+//                mBinding.tvTodoCount.setText(data + "");
254
+//            }
255
+//        });
256
+
257
+        // 通知数量
258
+        NoticeModel.get().getNoticeSize(new DataCallback<Integer>() {
244 259
             @Override
245 260
             public void onSuccess(Integer data) {
246 261
                 if (!isActive())return;
247 262
 
248 263
                 if ((int) data == 0) {
249
-                    mBinding.tvTodoCount.setVisibility(View.GONE);
264
+                    mBinding.tvNoticeCount.setVisibility(View.GONE);
250 265
                     return;
251 266
                 }
252
-                mBinding.tvTodoCount.setVisibility(View.VISIBLE);
253
-                mBinding.tvTodoCount.setText(data + "");
267
+                mBinding.tvNoticeCount.setVisibility(View.VISIBLE);
268
+                mBinding.tvNoticeCount.setText(data + "");
254 269
             }
255 270
         });
256 271
     }

+ 12 - 5
app/src/main/java/com/unis/sxzcl/ui/home/MainActivity.java

@@ -1,5 +1,6 @@
1 1
 package com.unis.sxzcl.ui.home;
2 2
 
3
+import android.os.Handler;
3 4
 import android.view.LayoutInflater;
4 5
 
5 6
 import com.unis.model.BasicModel;
@@ -47,11 +48,17 @@ public class MainActivity extends BaseActivity<ActivityMainBinding> {
47 48
 
48 49
     @Override
49 50
     protected void workTask() {
50
-        // 获取字典缓存
51
-        BasicModel.get().getDepotDictionary();
52
-        BasicModel.get().getDepartmentDictionary();
53
-        BasicModel.get().getHouseDictionary();
54
-        BasicModel.get().getPersonDictionary();
51
+        new Handler().postDelayed(new Runnable() {
52
+            @Override
53
+            public void run() {
54
+                // 获取字典缓存
55
+                BasicModel.get().getDepotDictionary();
56
+                BasicModel.get().getDepartmentDictionary();
57
+                BasicModel.get().getHouseDictionary();
58
+                BasicModel.get().getPersonDictionary();
59
+            }
60
+        }, 1000);
61
+
55 62
     }
56 63
 
57 64
     long exitTime;

+ 10 - 13
app/src/main/java/com/unis/sxzcl/ui/home/MainFragment.java

@@ -16,9 +16,6 @@ import com.unis.sxzcl.base.BaseFragment;
16 16
 import com.unis.sxzcl.databinding.FragmentMainBinding;
17 17
 import com.unis.sxzcl.ui.work_module.WorkModuleFragment;
18 18
 import com.unis.sxzcl.widget.MyFragmentStatePagerAdapter;
19
-import com.unis.sxzcl.widget.dialog.VersionDialog;
20
-import com.xyxsbj.mylibrary.tool.LogTool;
21
-import com.xyxsbj.mylibrary.tool.VersionTool;
22 19
 
23 20
 import java.util.ArrayList;
24 21
 import java.util.List;
@@ -150,16 +147,16 @@ public class MainFragment extends BaseFragment<FragmentMainBinding> {
150 147
             @Override
151 148
             public void onSuccess(List<VersionBean> data) {
152 149
                 if (!isActive()) return;
153
-                VersionBean bean = data.get(0);
154
-                long versionCode = VersionTool.getVersionCode(getContext());
155
-                LogTool.i("本地版本:" + versionCode + " 线上版本:" + bean.getVersionCode());
156
-                if (versionCode < bean.getVersionCode()) {
157
-                    // 有新版本更新
158
-                    new VersionDialog(getContext())
159
-                            .setContent(bean.getContent())
160
-                            .setVersionName(bean.getVersionName())
161
-                            .show();
162
-                }
150
+//                VersionBean bean = data.get(0);
151
+//                long versionCode = VersionTool.getVersionCode(getContext());
152
+//                LogTool.i("本地版本:" + versionCode + " 线上版本:" + bean.getVersionCode());
153
+//                if (versionCode < bean.getVersionCode()) {
154
+//                    // 有新版本更新
155
+//                    new VersionDialog(getContext())
156
+//                            .setContent(bean.getContent())
157
+//                            .setVersionName(bean.getVersionName())
158
+//                            .show();
159
+//                }
163 160
             }
164 161
         });
165 162
     }

+ 1 - 1
app/src/main/java/com/unis/sxzcl/ui/notice/NoticeListFragment.java

@@ -80,7 +80,7 @@ public class NoticeListFragment extends BaseListFragment<FragmentBaseListTitleBi
80 80
                 if (refresh) mAdapter.setList(data);
81 81
                 else mAdapter.addData(data);
82 82
 
83
-                if (data.size() == 0) loadError();
83
+                if (data.size() == 0) loadEnd();
84 84
                 else loadComplete();
85 85
             }
86 86
 

+ 1 - 1
app/src/main/res/layout/fragment_home.xml

@@ -81,7 +81,7 @@
81 81
             android:src="@drawable/ic_notice_white" />
82 82
 
83 83
         <TextView
84
-            android:id="@+id/tv_notice_flag"
84
+            android:id="@+id/tv_notice_count"
85 85
             style="@style/text_flag"
86 86
             android:layout_alignRight="@id/iv_notice"
87 87
             android:layout_marginTop="8dp"

+ 8 - 13
model/src/main/java/com/unis/model/MyStringCallback.java

@@ -1,8 +1,6 @@
1 1
 package com.unis.model;
2 2
 
3
-import com.lzy.okgo.OkGo;
4 3
 import com.lzy.okgo.callback.StringCallback;
5
-import com.lzy.okgo.cookie.store.CookieStore;
6 4
 import com.lzy.okgo.exception.HttpException;
7 5
 import com.lzy.okgo.exception.StorageException;
8 6
 import com.lzy.okgo.model.Response;
@@ -20,9 +18,6 @@ import java.net.ConnectException;
20 18
 import java.net.SocketTimeoutException;
21 19
 import java.net.UnknownHostException;
22 20
 
23
-import okhttp3.Cookie;
24
-import okhttp3.HttpUrl;
25
-
26 21
 /**
27 22
  * 创建人 mQ
28 23
  * 创建时间 2019/7/12 0012 22:18
@@ -39,14 +34,14 @@ public abstract class MyStringCallback extends StringCallback {
39 34
         if (headToken != null)
40 35
             request.headers("Authorization", headToken);
41 36
 
42
-        String token = UserModel.get().getHeadToken();
43
-        if (token != null) {
44
-            HttpUrl httpUrl = HttpUrl.parse(UrlPath.host);
45
-            Cookie.Builder builder = new Cookie.Builder();
46
-            Cookie cookieToken = builder.name("Token").value(token).domain(httpUrl.host()).build();
47
-            CookieStore cookieStore = OkGo.getInstance().getCookieJar().getCookieStore();
48
-            cookieStore.saveCookie(httpUrl, cookieToken);
49
-        }
37
+//        String token = UserModel.get().getHeadToken();
38
+//        if (token != null) {
39
+//            HttpUrl httpUrl = HttpUrl.parse(UrlPath.host);
40
+//            Cookie.Builder builder = new Cookie.Builder();
41
+//            Cookie cookieToken = builder.name("Token").value(token).domain(httpUrl.host()).build();
42
+//            CookieStore cookieStore = OkGo.getInstance().getCookieJar().getCookieStore();
43
+//            cookieStore.saveCookie(httpUrl, cookieToken);
44
+//        }
50 45
     }
51 46
 
52 47
     protected abstract void onSuccessResult(Response<String> response) throws JSONException;

+ 29 - 0
model/src/main/java/com/unis/model/NoticeModel.java

@@ -72,4 +72,33 @@ public class NoticeModel {
72 72
                 });
73 73
 
74 74
     }
75
+
76
+
77
+    /**
78
+     * 获取通知列表
79
+     */
80
+    public void getNoticeSize(final DataCallback<Integer> callback) {
81
+        Map<String, Object> map = new HashMap<>();
82
+        map.put("pageIndex", 1);
83
+        map.put("pageSize", 10);
84
+        OkGo.<String>post(UrlPath.notice_list)
85
+                .upJson(new Gson().toJson(map))
86
+                .execute(new MyStringCallback() {
87
+                    @Override
88
+                    protected void onSuccessResult(Response<String> response) throws JSONException {
89
+                        String json = getDataJson(response);
90
+                        JSONObject object = new JSONObject(json);
91
+                        int total = object.optInt("total", 0);
92
+                        callback.onSuccess(total);
93
+                    }
94
+
95
+                    @Override
96
+                    public void onError(Response<String> response) {
97
+                        super.onError(response);
98
+                        callback.onError(getErrorMsg(response));
99
+                    }
100
+                });
101
+
102
+    }
103
+
75 104
 }

+ 17 - 1
model/src/main/java/com/unis/model/UserModel.java

@@ -6,12 +6,15 @@ import com.google.gson.Gson;
6 6
 import com.google.gson.reflect.TypeToken;
7 7
 import com.lzy.okgo.OkGo;
8 8
 import com.lzy.okgo.cookie.store.CookieStore;
9
+import com.lzy.okgo.model.HttpHeaders;
9 10
 import com.lzy.okgo.model.Response;
10 11
 import com.lzy.okgo.request.GetRequest;
12
+import com.lzy.okgo.request.base.Request;
11 13
 import com.unis.model.bean.LoginBean;
12 14
 import com.unis.model.bean.UserBean;
13 15
 import com.unis.model.bean.person.PersonBean;
14 16
 import com.unis.model.bean.person.PersonTreeBean;
17
+import com.xyxsbj.mylibrary.tool.BaseApp;
15 18
 import com.xyxsbj.mylibrary.tool.LogTool;
16 19
 import com.xyxsbj.mylibrary.tool.SPTool;
17 20
 
@@ -88,6 +91,13 @@ public class UserModel {
88 91
                 .upJson(new Gson().toJson(map))
89 92
                 .execute(new MyStringCallback() {
90 93
                     @Override
94
+                    public void onStart(Request<String, ? extends Request> request) {
95
+                        super.onStart(request);
96
+                        // 登录时 去掉token
97
+                        request.removeHeader("Authorization");
98
+                    }
99
+
100
+                    @Override
91 101
                     protected void onSuccessResult(Response<String> response) throws JSONException {
92 102
                         Gson gson = new Gson();
93 103
                         String dataJson = getDataJson(response.body());
@@ -106,6 +116,7 @@ public class UserModel {
106 116
                         String token = tokenType + " " + accessToken;
107 117
                         SPTool.saveString(Constant.KEY_HEAD_TOKEN, token);
108 118
 
119
+                        // 添加cookie
109 120
                         HttpUrl httpUrl = HttpUrl.parse(UrlPath.host);
110 121
                         Cookie.Builder builder = new Cookie.Builder();
111 122
                         Cookie cookieToken = builder.name("Token").value(token).domain(httpUrl.host()).build();
@@ -116,7 +127,12 @@ public class UserModel {
116 127
 
117 128
                         CookieStore store = OkGo.getInstance().getCookieJar().getCookieStore();
118 129
                         List<Cookie> allCookie = store.getAllCookie();
119
-                        LogTool.i("所有cookie如下:"+ allCookie.toString());
130
+                        LogTool.i("所有cookie如下:" + allCookie.toString());
131
+
132
+                        // 添加请求头
133
+                        HttpHeaders headers = new HttpHeaders();
134
+                        headers.put("Authorization", token);
135
+                        OkGo.getInstance().init(BaseApp.getApp()).addCommonHeaders(headers);
120 136
 
121 137
                         if (callBack != null)
122 138
                             callBack.onSuccess(bean);

+ 0 - 2
model/src/main/java/com/unis/model/VersionModel.java

@@ -5,7 +5,6 @@ import com.google.gson.reflect.TypeToken;
5 5
 import com.lzy.okgo.OkGo;
6 6
 import com.lzy.okgo.model.Response;
7 7
 import com.unis.model.bean.VersionBean;
8
-import com.xyxsbj.mylibrary.tool.LogTool;
9 8
 
10 9
 import org.json.JSONArray;
11 10
 import org.json.JSONException;
@@ -44,7 +43,6 @@ public class VersionModel {
44 43
                 .execute(new MyStringCallback() {
45 44
                     @Override
46 45
                     protected void onSuccessResult(Response<String> response) throws JSONException {
47
-                        LogTool.i("版本信息:" + response.body());
48 46
                         JSONObject object = new JSONObject(response.body());
49 47
                         JSONArray info = object.optJSONArray("info");
50 48
                         if (info == null || info.length() == 0) {

+ 8 - 0
mylibrary/src/main/java/com/xyxsbj/mylibrary/BaseApp.java

@@ -38,6 +38,9 @@ import okhttp3.OkHttpClient;
38 38
 public abstract class BaseApp extends Application {
39 39
 
40 40
 
41
+    private static BaseApp  applicationContext;
42
+
43
+
41 44
     protected abstract boolean isDebug();//是否开启调试
42 45
 
43 46
     protected abstract String buglyAppId();//腾讯bugly的APPID配置
@@ -45,6 +48,7 @@ public abstract class BaseApp extends Application {
45 48
     @Override
46 49
     public void onCreate() {
47 50
         super.onCreate();
51
+        applicationContext = this;
48 52
 
49 53
         SPTool.init(this, "myapp");
50 54
         ToastTool.init(getApplicationContext());
@@ -55,6 +59,10 @@ public abstract class BaseApp extends Application {
55 59
         initAlbum();
56 60
     }
57 61
 
62
+    public static BaseApp getApp(){
63
+        return applicationContext;
64
+    }
65
+
58 66
     private void initAlbum() {
59 67
         Album.initialize(AlbumConfig.newBuilder(this)
60 68
                 .setAlbumLoader(new MediaLoader())