Commit 0ab1296a2eae2ed7dffe761a63f72618a6b39a79

Authored by shixianjie
1 parent 9fdc4a8db3
Exists in master

登录接口,相关user字段修改

app/src/main/java/com/hjx/parent/LoginActivity.java
1 package com.hjx.parent; 1 package com.hjx.parent;
2 2
3 import android.content.Intent; 3 import android.content.Intent;
4 import android.os.Bundle; 4 import android.os.Bundle;
5 import android.telephony.PhoneNumberUtils; 5 import android.telephony.PhoneNumberUtils;
6 import android.text.InputType; 6 import android.text.InputType;
7 import android.text.TextUtils; 7 import android.text.TextUtils;
8 import android.text.method.HideReturnsTransformationMethod; 8 import android.text.method.HideReturnsTransformationMethod;
9 import android.text.method.PasswordTransformationMethod; 9 import android.text.method.PasswordTransformationMethod;
10 import android.widget.Button; 10 import android.widget.Button;
11 import android.widget.CheckBox; 11 import android.widget.CheckBox;
12 import android.widget.EditText; 12 import android.widget.EditText;
13 import android.widget.ImageView; 13 import android.widget.ImageView;
14 import android.widget.TextView; 14 import android.widget.TextView;
15 import android.widget.Toast; 15 import android.widget.Toast;
16 16
17 import androidx.appcompat.app.AppCompatActivity; 17 import androidx.appcompat.app.AppCompatActivity;
18 18
19 import com.prws.common.base.BaseActivity; 19 import com.prws.common.base.BaseActivity;
20 import com.prws.common.base.BasePresenter; 20 import com.prws.common.base.BasePresenter;
21 import com.prws.common.bean.BaseEntity; 21 import com.prws.common.bean.BaseEntity;
22 import com.prws.common.net.NetWorks; 22 import com.prws.common.net.NetWorks;
23 import com.prws.common.utils.LogUtil; 23 import com.prws.common.utils.LogUtil;
24 import com.prws.common.utils.SharedPreferencesUtil; 24 import com.prws.common.utils.SharedPreferencesUtil;
25 import com.prws.common.utils.acmanager.ActivityManager; 25 import com.prws.common.utils.acmanager.ActivityManager;
26 26
27 import org.json.JSONObject; 27 import org.json.JSONObject;
28 28
29 import java.io.IOException; 29 import java.io.IOException;
30 import java.util.HashMap; 30 import java.util.HashMap;
31 import java.util.Map; 31 import java.util.Map;
32 32
33 import io.reactivex.Observer; 33 import io.reactivex.Observer;
34 import io.reactivex.disposables.Disposable; 34 import io.reactivex.disposables.Disposable;
35 import okhttp3.ResponseBody; 35 import okhttp3.ResponseBody;
36 36
37 37
38 public class LoginActivity extends BaseActivity { 38 public class LoginActivity extends BaseActivity {
39 39
40 40
41 EditText et_phone; 41 EditText et_phone;
42 EditText et_pwd; 42 EditText et_pwd;
43 ImageView iv_show; 43 ImageView iv_show;
44 ImageView iv_delete; 44 ImageView iv_delete;
45 Button btn_login; 45 Button btn_login;
46 TextView tv_reg; 46 TextView tv_reg;
47 CheckBox cb_1; 47 CheckBox cb_1;
48 TextView tv_user; 48 TextView tv_user;
49 TextView tv_ys; 49 TextView tv_ys;
50 50
51 51
52 @Override 52 @Override
53 protected int layoutResId() { 53 protected int layoutResId() {
54 return R.layout.activity_login; 54 return R.layout.activity_login;
55 } 55 }
56 56
57 @Override 57 @Override
58 public Object getContract() { 58 public Object getContract() {
59 return null; 59 return null;
60 } 60 }
61 61
62 @Override 62 @Override
63 public BasePresenter getPresenter() { 63 public BasePresenter getPresenter() {
64 return null; 64 return null;
65 } 65 }
66 66
67 67
68 @Override 68 @Override
69 protected void initView() { 69 protected void initView() {
70 et_phone = findViewById(R.id.et_phone); 70 et_phone = findViewById(R.id.et_phone);
71 et_pwd = findViewById(R.id.et_pwd); 71 et_pwd = findViewById(R.id.et_pwd);
72 iv_show = findViewById(R.id.iv_4); 72 iv_show = findViewById(R.id.iv_4);
73 iv_delete = findViewById(R.id.iv_2); 73 iv_delete = findViewById(R.id.iv_2);
74 btn_login = findViewById(R.id.btn_1); 74 btn_login = findViewById(R.id.btn_1);
75 tv_reg = findViewById(R.id.tv_2); 75 tv_reg = findViewById(R.id.tv_2);
76 cb_1 = findViewById(R.id.cb_1); 76 cb_1 = findViewById(R.id.cb_1);
77 tv_user = findViewById(R.id.tv_4); 77 tv_user = findViewById(R.id.tv_4);
78 tv_ys = findViewById(R.id.tv_6); 78 tv_ys = findViewById(R.id.tv_6);
79 79
80 80
81 String student = (String) SharedPreferencesUtil.getData("student", ""); 81 String student = (String) SharedPreferencesUtil.getData("student", "");
82 82
83 if (!TextUtils.isEmpty(student)) { 83 if (!TextUtils.isEmpty(student)) {
84 LogUtil.e(TAG, "role 不是空----"); 84 LogUtil.e(TAG, "role 不是空----");
85 if ((SharedPreferencesUtil.getData("role", "")).equals("parent")) { 85 if ((SharedPreferencesUtil.getData("role", "")).equals("parent")) {
86 Intent intent = new Intent(this, MainActivity.class); 86 Intent intent = new Intent(this, MainActivity.class);
87 startActivity(intent); 87 startActivity(intent);
88 finish(); 88 finish();
89 } else { 89 } else {
90 Intent intent = new Intent(this, TeacherMainActivity.class); 90 Intent intent = new Intent(this, TeacherMainActivity.class);
91 startActivity(intent); 91 startActivity(intent);
92 finish(); 92 finish();
93 } 93 }
94 return; 94 return;
95 } else { 95 } else {
96 LogUtil.e(TAG, "role 是空----"); 96 LogUtil.e(TAG, "role 是空----");
97 } 97 }
98 98
99 99
100 } 100 }
101 101
102 @Override 102 @Override
103 protected void initListener() { 103 protected void initListener() {
104 iv_delete.setOnClickListener(view -> { 104 iv_delete.setOnClickListener(view -> {
105 et_phone.setText(""); 105 et_phone.setText("");
106 }); 106 });
107 iv_show.setOnClickListener(view -> { 107 iv_show.setOnClickListener(view -> {
108 if (iv_show.getBackground().getConstantState().equals(getDrawable(R.mipmap.xs).getConstantState())) { 108 if (iv_show.getBackground().getConstantState().equals(getDrawable(R.mipmap.xs).getConstantState())) {
109 iv_show.setBackgroundResource(R.mipmap.yc); 109 iv_show.setBackgroundResource(R.mipmap.yc);
110 et_pwd.setInputType(InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD); 110 et_pwd.setInputType(InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD);
111 et_pwd.setTransformationMethod(HideReturnsTransformationMethod.getInstance()); 111 et_pwd.setTransformationMethod(HideReturnsTransformationMethod.getInstance());
112 } else { 112 } else {
113 iv_show.setBackgroundResource(R.mipmap.xs); 113 iv_show.setBackgroundResource(R.mipmap.xs);
114 et_pwd.setInputType(InputType.TYPE_TEXT_VARIATION_PASSWORD); 114 et_pwd.setInputType(InputType.TYPE_TEXT_VARIATION_PASSWORD);
115 et_pwd.setTransformationMethod(PasswordTransformationMethod.getInstance()); 115 et_pwd.setTransformationMethod(PasswordTransformationMethod.getInstance());
116 } 116 }
117 }); 117 });
118 118
119 119
120 btn_login.setOnClickListener(view -> { 120 btn_login.setOnClickListener(view -> {
121 121
122 String phone = et_phone.getText().toString().trim(); 122 String phone = et_phone.getText().toString().trim();
123 String pwd = et_pwd.getText().toString().trim(); 123 String pwd = et_pwd.getText().toString().trim();
124 if (phone.isEmpty() || pwd.isEmpty() || phone.length() == 0 || pwd.length() == 0) { 124 if (phone.isEmpty() || pwd.isEmpty() || phone.length() == 0 || pwd.length() == 0) {
125 Toast.makeText(this, "手机号以及密码不能为空", Toast.LENGTH_SHORT).show(); 125 Toast.makeText(this, "手机号以及密码不能为空", Toast.LENGTH_SHORT).show();
126 return; 126 return;
127 } 127 }
128 128
129 if (!PhoneNumberUtils.isGlobalPhoneNumber(et_phone.getText().toString())) { 129 if (!PhoneNumberUtils.isGlobalPhoneNumber(et_phone.getText().toString())) {
130 Toast.makeText(this, "请输入正确的手机号码", Toast.LENGTH_SHORT).show(); 130 Toast.makeText(this, "请输入正确的手机号码", Toast.LENGTH_SHORT).show();
131 return; 131 return;
132 } 132 }
133 133
134 if (!cb_1.isChecked()) { 134 if (!cb_1.isChecked()) {
135 Toast.makeText(this, "请勾选协议", Toast.LENGTH_SHORT).show(); 135 Toast.makeText(this, "请勾选协议", Toast.LENGTH_SHORT).show();
136 return; 136 return;
137 } 137 }
138 138
139 login(phone, pwd); 139 login(phone, pwd);
140 140
141 }); 141 });
142 142
143 tv_reg.setOnClickListener(view -> { 143 tv_reg.setOnClickListener(view -> {
144 startActivity(RegisterActivity.class); 144 startActivity(RegisterActivity.class);
145 finish(); 145 finish();
146 }); 146 });
147 147
148 tv_ys.setOnClickListener(view -> { 148 tv_ys.setOnClickListener(view -> {
149 startActivity(YinsiActivity.class); 149 startActivity(YinsiActivity.class);
150 }); 150 });
151 tv_user.setOnClickListener(view -> { 151 tv_user.setOnClickListener(view -> {
152 startActivity(UserAgreementActivity.class); 152 startActivity(UserAgreementActivity.class);
153 }); 153 });
154 } 154 }
155 155
156 public void login(final String phone, String pwd) { 156 public void login(final String phone, String pwd) {
157 157
158 Map map = new HashMap(); 158 Map map = new HashMap();
159 map.put("username", phone); 159 map.put("username", phone);
160 map.put("password", pwd); 160 map.put("password", pwd);
161 161
162 162
163 NetWorks.login(NetWorks.getMapRequestBody(map), new Observer<ResponseBody>() { 163 NetWorks.login(NetWorks.getMapRequestBody(map), new Observer<ResponseBody>() {
164 @Override 164 @Override
165 public void onSubscribe(Disposable d) { 165 public void onSubscribe(Disposable d) {
166 166
167 } 167 }
168 168
169 @Override 169 @Override
170 public void onNext(ResponseBody responseBody) { 170 public void onNext(ResponseBody responseBody) {
171 try { 171 try {
172 String str = responseBody.string().toString(); 172 String str = responseBody.string().toString();
173 LogUtil.e(TAG, "----" + str); 173 LogUtil.e(TAG, "----" + str);
174 JSONObject jo = new JSONObject(str); 174 JSONObject jo = new JSONObject(str);
175 boolean isSucceed = jo.getBoolean("success"); 175 boolean isSucceed = jo.getBoolean("success");
176 if (isSucceed) { 176 if (isSucceed) {
177 JSONObject jo2 = jo.getJSONObject("data"); 177 JSONObject jo2 = jo.getJSONObject("data");
178 if ("parent".equals(jo2.getString("role"))) { 178 String role = jo2.getString("role");
179 if ("parent".equals(role)) {
179 SharedPreferencesUtil.putData("phone", phone); 180 SharedPreferencesUtil.putData("phone", phone);
180 SharedPreferencesUtil.putData("role", jo2.getString("role")); 181 SharedPreferencesUtil.putData("role", role);
181 SharedPreferencesUtil.putData("userId", jo2.getString("userId")); 182 SharedPreferencesUtil.putData("userId", jo2.getString("id"));
182 SharedPreferencesUtil.putData("token", jo2.getString("token")); 183 SharedPreferencesUtil.putData("token", jo2.getString("token"));
183 JSONObject user = new JSONObject(jo2.getString("user")); 184 if (jo2.has("photo") && !jo2.getString("photo").equals("null")) {
184 if (user.getString("photo") != null && !user.getString("photo").equals("null")) { 185 SharedPreferencesUtil.putData("photo", jo2.getString("photo"));
185 SharedPreferencesUtil.putData("photo", user.getString("photo"));
186 } 186 }
187 SharedPreferencesUtil.putData("name", user.getString("userName")); 187 SharedPreferencesUtil.putData("name", jo2.getString("username"));
188 startActivity(ChooseActivity.class); 188 startActivity(ChooseActivity.class);
189 finish(); 189 finish();
190 } else if ("member_advisor".equals(jo2.getString("role")) || "teaching_supervision".equals(jo2.getString("role"))) { 190 } else if ("member_advisor".equals(role) || "teaching_supervision".equals(role)) {
191 SharedPreferencesUtil.putData("phone", phone); 191 SharedPreferencesUtil.putData("phone", phone);
192 SharedPreferencesUtil.putData("role", jo2.getString("role")); 192 SharedPreferencesUtil.putData("role", role);
193 SharedPreferencesUtil.putData("userId", jo2.getString("userId")); 193 SharedPreferencesUtil.putData("userId", jo2.getString("id"));
194 SharedPreferencesUtil.putData("token", jo2.getString("token")); 194 SharedPreferencesUtil.putData("token", jo2.getString("token"));
195 JSONObject user = new JSONObject(jo2.getString("user")); 195 SharedPreferencesUtil.putData("name", jo2.getString("username"));
196 SharedPreferencesUtil.putData("name", user.getString("userName")); 196 SharedPreferencesUtil.putData("photo", jo2.getString("photo"));
197 SharedPreferencesUtil.putData("photo", user.getString("photo"));
198 startActivity(TeacherChooseActivity.class); 197 startActivity(TeacherChooseActivity.class);
199 finish(); 198 finish();
200 } else { 199 } else {
201 showToast("您没有权限"); 200 showToast("您没有权限");
202 } 201 }
203 202
204 } else { 203 } else {
205 Toast.makeText(LoginActivity.this, jo.getString("msg"), Toast.LENGTH_SHORT).show(); 204 Toast.makeText(LoginActivity.this, jo.getString("msg"), Toast.LENGTH_SHORT).show();
206 } 205 }
207 } catch (Exception e) { 206 } catch (Exception e) {
208 e.printStackTrace(); 207 e.printStackTrace();
209 Toast.makeText(LoginActivity.this, "服务繁忙,请重试", Toast.LENGTH_SHORT).show(); 208 Toast.makeText(LoginActivity.this, "服务繁忙,请重试", Toast.LENGTH_SHORT).show();
210 } 209 }
211 } 210 }
212 211
213 @Override 212 @Override
214 public void onError(Throwable e) { 213 public void onError(Throwable e) {
215 214
216 } 215 }
217 216
218 @Override 217 @Override
219 public void onComplete() { 218 public void onComplete() {
220 219
221 } 220 }
222 }); 221 });
223 } 222 }
224 223
225 224
226 @Override 225 @Override
227 protected void initData() { 226 protected void initData() {
228 227
229 } 228 }
230 229
231 @Override 230 @Override
232 public void onNetChanged(int netWorkState) { 231 public void onNetChanged(int netWorkState) {
233 232
234 } 233 }
app/src/main/java/com/hjx/parent/RegisterActivity.java
1 package com.hjx.parent; 1 package com.hjx.parent;
2 2
3 import android.content.Intent; 3 import android.content.Intent;
4 import android.os.Bundle; 4 import android.os.Bundle;
5 import android.telephony.PhoneNumberUtils; 5 import android.telephony.PhoneNumberUtils;
6 import android.text.InputType; 6 import android.text.InputType;
7 import android.text.method.HideReturnsTransformationMethod; 7 import android.text.method.HideReturnsTransformationMethod;
8 import android.text.method.PasswordTransformationMethod; 8 import android.text.method.PasswordTransformationMethod;
9 import android.widget.Button; 9 import android.widget.Button;
10 import android.widget.CheckBox; 10 import android.widget.CheckBox;
11 import android.widget.EditText; 11 import android.widget.EditText;
12 import android.widget.ImageView; 12 import android.widget.ImageView;
13 import android.widget.TextView; 13 import android.widget.TextView;
14 import android.widget.Toast; 14 import android.widget.Toast;
15 15
16 import androidx.annotation.Nullable; 16 import androidx.annotation.Nullable;
17 17
18 import com.google.gson.Gson; 18 import com.google.gson.Gson;
19 import com.hjq.permissions.OnPermissionCallback; 19 import com.hjq.permissions.OnPermissionCallback;
20 import com.hjq.permissions.Permission; 20 import com.hjq.permissions.Permission;
21 import com.hjq.permissions.XXPermissions; 21 import com.hjq.permissions.XXPermissions;
22 import com.hjx.parent.bean.RegisterBean; 22 import com.hjx.parent.bean.RegisterBean;
23 import com.prws.common.base.BaseActivity; 23 import com.prws.common.base.BaseActivity;
24 import com.prws.common.base.BasePresenter; 24 import com.prws.common.base.BasePresenter;
25 import com.prws.common.bean.BaseEntity; 25 import com.prws.common.bean.BaseEntity;
26 import com.prws.common.net.NetWorks; 26 import com.prws.common.net.NetWorks;
27 import com.prws.common.utils.Common; 27 import com.prws.common.utils.Common;
28 import com.prws.common.utils.GsonUtil; 28 import com.prws.common.utils.GsonUtil;
29 import com.prws.common.utils.LogUtil; 29 import com.prws.common.utils.LogUtil;
30 import com.prws.common.utils.SharedPreferencesUtil; 30 import com.prws.common.utils.SharedPreferencesUtil;
31 import com.uuzuche.lib_zxing.activity.CaptureActivity; 31 import com.uuzuche.lib_zxing.activity.CaptureActivity;
32 import com.uuzuche.lib_zxing.activity.CodeUtils; 32 import com.uuzuche.lib_zxing.activity.CodeUtils;
33 33
34 import org.json.JSONObject; 34 import org.json.JSONObject;
35 35
36 import java.io.IOException; 36 import java.io.IOException;
37 import java.util.HashMap; 37 import java.util.HashMap;
38 import java.util.List; 38 import java.util.List;
39 import java.util.Map; 39 import java.util.Map;
40 40
41 import io.reactivex.Observer; 41 import io.reactivex.Observer;
42 import io.reactivex.disposables.Disposable; 42 import io.reactivex.disposables.Disposable;
43 import okhttp3.ResponseBody; 43 import okhttp3.ResponseBody;
44 44
45 public class RegisterActivity extends BaseActivity { 45 public class RegisterActivity extends BaseActivity {
46 46
47 EditText et_phone; 47 EditText et_phone;
48 EditText et_pwd; 48 EditText et_pwd;
49 EditText et_pwd_2; 49 EditText et_pwd_2;
50 ImageView iv_show; 50 ImageView iv_show;
51 ImageView iv_show_2; 51 ImageView iv_show_2;
52 ImageView iv_delete; 52 ImageView iv_delete;
53 Button btn_reg; 53 Button btn_reg;
54 TextView tv_log; 54 TextView tv_log;
55 CheckBox cb_1; 55 CheckBox cb_1;
56 TextView tv_user; 56 TextView tv_user;
57 TextView tv_ys; 57 TextView tv_ys;
58 58
59 59
60 @Override 60 @Override
61 protected int layoutResId() { 61 protected int layoutResId() {
62 return R.layout.activity_register; 62 return R.layout.activity_register;
63 } 63 }
64 64
65 @Override 65 @Override
66 public Object getContract() { 66 public Object getContract() {
67 return null; 67 return null;
68 } 68 }
69 69
70 @Override 70 @Override
71 public BasePresenter getPresenter() { 71 public BasePresenter getPresenter() {
72 return null; 72 return null;
73 } 73 }
74 74
75 @Override 75 @Override
76 protected void initView() { 76 protected void initView() {
77 et_phone = findViewById(R.id.et_phone); 77 et_phone = findViewById(R.id.et_phone);
78 et_pwd = findViewById(R.id.et_pwd); 78 et_pwd = findViewById(R.id.et_pwd);
79 iv_show = findViewById(R.id.iv_4); 79 iv_show = findViewById(R.id.iv_4);
80 iv_show_2 = findViewById(R.id.iv_6); 80 iv_show_2 = findViewById(R.id.iv_6);
81 et_pwd_2 = findViewById(R.id.et_pwd_2); 81 et_pwd_2 = findViewById(R.id.et_pwd_2);
82 iv_delete = findViewById(R.id.iv_2); 82 iv_delete = findViewById(R.id.iv_2);
83 btn_reg = findViewById(R.id.btn_1); 83 btn_reg = findViewById(R.id.btn_1);
84 tv_log = findViewById(R.id.tv_2); 84 tv_log = findViewById(R.id.tv_2);
85 cb_1 = findViewById(R.id.cb_1); 85 cb_1 = findViewById(R.id.cb_1);
86 tv_user = findViewById(R.id.tv_4); 86 tv_user = findViewById(R.id.tv_4);
87 tv_ys = findViewById(R.id.tv_6); 87 tv_ys = findViewById(R.id.tv_6);
88 88
89 89
90 } 90 }
91 91
92 @Override 92 @Override
93 protected void initListener() { 93 protected void initListener() {
94 iv_delete.setOnClickListener(view -> { 94 iv_delete.setOnClickListener(view -> {
95 et_phone.setText(""); 95 et_phone.setText("");
96 }); 96 });
97 iv_show.setOnClickListener(view -> { 97 iv_show.setOnClickListener(view -> {
98 98
99 if (iv_show.getBackground().getConstantState().equals(getDrawable(R.mipmap.xs).getConstantState())) { 99 if (iv_show.getBackground().getConstantState().equals(getDrawable(R.mipmap.xs).getConstantState())) {
100 iv_show.setBackgroundResource(R.mipmap.yc); 100 iv_show.setBackgroundResource(R.mipmap.yc);
101 et_pwd.setInputType(InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD); 101 et_pwd.setInputType(InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD);
102 et_pwd.setTransformationMethod(HideReturnsTransformationMethod.getInstance()); 102 et_pwd.setTransformationMethod(HideReturnsTransformationMethod.getInstance());
103 } else { 103 } else {
104 iv_show.setBackgroundResource(R.mipmap.xs); 104 iv_show.setBackgroundResource(R.mipmap.xs);
105 et_pwd.setInputType(InputType.TYPE_TEXT_VARIATION_PASSWORD); 105 et_pwd.setInputType(InputType.TYPE_TEXT_VARIATION_PASSWORD);
106 et_pwd.setTransformationMethod(PasswordTransformationMethod.getInstance()); 106 et_pwd.setTransformationMethod(PasswordTransformationMethod.getInstance());
107 } 107 }
108 108
109 109
110 }); 110 });
111 111
112 iv_show_2.setOnClickListener(view -> { 112 iv_show_2.setOnClickListener(view -> {
113 113
114 if (iv_show_2.getBackground().getConstantState().equals(getDrawable(R.mipmap.xs).getConstantState())) { 114 if (iv_show_2.getBackground().getConstantState().equals(getDrawable(R.mipmap.xs).getConstantState())) {
115 iv_show_2.setBackgroundResource(R.mipmap.yc); 115 iv_show_2.setBackgroundResource(R.mipmap.yc);
116 et_pwd_2.setInputType(InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD); 116 et_pwd_2.setInputType(InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD);
117 et_pwd_2.setTransformationMethod(HideReturnsTransformationMethod.getInstance()); 117 et_pwd_2.setTransformationMethod(HideReturnsTransformationMethod.getInstance());
118 } else { 118 } else {
119 iv_show_2.setBackgroundResource(R.mipmap.xs); 119 iv_show_2.setBackgroundResource(R.mipmap.xs);
120 et_pwd_2.setInputType(InputType.TYPE_TEXT_VARIATION_PASSWORD); 120 et_pwd_2.setInputType(InputType.TYPE_TEXT_VARIATION_PASSWORD);
121 et_pwd_2.setTransformationMethod(PasswordTransformationMethod.getInstance()); 121 et_pwd_2.setTransformationMethod(PasswordTransformationMethod.getInstance());
122 } 122 }
123 123
124 124
125 }); 125 });
126 126
127 127
128 btn_reg.setOnClickListener(view -> { 128 btn_reg.setOnClickListener(view -> {
129 129
130 String phone = et_phone.getText().toString().trim(); 130 String phone = et_phone.getText().toString().trim();
131 String pwd = et_pwd.getText().toString().trim(); 131 String pwd = et_pwd.getText().toString().trim();
132 String pwd2 = et_pwd_2.getText().toString().trim(); 132 String pwd2 = et_pwd_2.getText().toString().trim();
133 if (phone.isEmpty() || pwd.isEmpty() || phone.length() == 0 || pwd.length() == 0) { 133 if (phone.isEmpty() || pwd.isEmpty() || phone.length() == 0 || pwd.length() == 0) {
134 Toast.makeText(this, "手机号以及密码不能为空", Toast.LENGTH_SHORT).show(); 134 Toast.makeText(this, "手机号以及密码不能为空", Toast.LENGTH_SHORT).show();
135 return; 135 return;
136 } 136 }
137 if (pwd.length() < 6 || pwd.length() > 16 || pwd2.length() < 6 || pwd2.length() > 16) { 137 if (pwd.length() < 6 || pwd.length() > 16 || pwd2.length() < 6 || pwd2.length() > 16) {
138 Toast.makeText(this, "密码必须为6-16位,数字或字母", Toast.LENGTH_SHORT).show(); 138 Toast.makeText(this, "密码必须为6-16位,数字或字母", Toast.LENGTH_SHORT).show();
139 } 139 }
140 if (!Common.isValidPhoneNumber(phone)) { 140 if (!Common.isValidPhoneNumber(phone)) {
141 Toast.makeText(this, "请输入有效手机号", Toast.LENGTH_SHORT).show(); 141 Toast.makeText(this, "请输入有效手机号", Toast.LENGTH_SHORT).show();
142 return; 142 return;
143 } 143 }
144 144
145 if (!PhoneNumberUtils.isGlobalPhoneNumber(et_phone.getText().toString())) { 145 if (!PhoneNumberUtils.isGlobalPhoneNumber(et_phone.getText().toString())) {
146 Toast.makeText(this, "请输入正确的手机号码", Toast.LENGTH_SHORT).show(); 146 Toast.makeText(this, "请输入正确的手机号码", Toast.LENGTH_SHORT).show();
147 return; 147 return;
148 } 148 }
149 149
150 if (!cb_1.isChecked()) { 150 if (!cb_1.isChecked()) {
151 Toast.makeText(this, "请勾选协议", Toast.LENGTH_SHORT).show(); 151 Toast.makeText(this, "请勾选协议", Toast.LENGTH_SHORT).show();
152 return; 152 return;
153 } 153 }
154 if (!pwd.equals(pwd2)) { 154 if (!pwd.equals(pwd2)) {
155 Toast.makeText(this, "两次密码需要一致", Toast.LENGTH_SHORT).show(); 155 Toast.makeText(this, "两次密码需要一致", Toast.LENGTH_SHORT).show();
156 return; 156 return;
157 } 157 }
158 158
159 reg(phone, pwd); 159 reg(phone, pwd);
160 160
161 }); 161 });
162 162
163 tv_log.setOnClickListener(view -> { 163 tv_log.setOnClickListener(view -> {
164 startActivity(LoginActivity.class); 164 startActivity(LoginActivity.class);
165 finish(); 165 finish();
166 }); 166 });
167 167
168 tv_ys.setOnClickListener(view -> { 168 tv_ys.setOnClickListener(view -> {
169 startActivity(YinsiActivity.class); 169 startActivity(YinsiActivity.class);
170 }); 170 });
171 tv_user.setOnClickListener(view -> { 171 tv_user.setOnClickListener(view -> {
172 startActivity(UserActivity.class); 172 startActivity(UserActivity.class);
173 }); 173 });
174 } 174 }
175 175
176 public void reg(final String phone, String pwd) { 176 public void reg(final String phone, String pwd) {
177 177
178 Map map = new HashMap(); 178 Map map = new HashMap();
179 map.put("username", phone); 179 map.put("username", phone);
180 map.put("password", pwd); 180 map.put("password", pwd);
181 181
182 182
183 NetWorks.registerParent(NetWorks.getMapRequestBody(map), new Observer<ResponseBody>() { 183 NetWorks.registerParent(NetWorks.getMapRequestBody(map), new Observer<ResponseBody>() {
184 @Override 184 @Override
185 public void onSubscribe(Disposable d) { 185 public void onSubscribe(Disposable d) {
186 186
187 } 187 }
188 188
189 @Override 189 @Override
190 public void onNext(ResponseBody responseBody) { 190 public void onNext(ResponseBody responseBody) {
191 String str = null; 191 String str = null;
192 try { 192 try {
193 str = responseBody.string(); 193 str = responseBody.string();
194 } catch (IOException e) { 194 } catch (IOException e) {
195 e.printStackTrace(); 195 e.printStackTrace();
196 } 196 }
197 197
198 if (str == null || str.length() == 0) { 198 if (str == null || str.length() == 0) {
199 Toast.makeText(RegisterActivity.this, "服务器繁忙", Toast.LENGTH_SHORT).show(); 199 Toast.makeText(RegisterActivity.this, "服务器繁忙", Toast.LENGTH_SHORT).show();
200 return; 200 return;
201 } 201 }
202 202
203 RegisterBean registerBean = new Gson().fromJson(str, RegisterBean.class); 203 RegisterBean registerBean = new Gson().fromJson(str, RegisterBean.class);
204 204
205 if (!registerBean.isSuccess()) { 205 if (!registerBean.isSuccess()) {
206 Toast.makeText(RegisterActivity.this, registerBean.getMsg(), Toast.LENGTH_SHORT).show(); 206 Toast.makeText(RegisterActivity.this, registerBean.getMsg(), Toast.LENGTH_SHORT).show();
207 return; 207 return;
208 } 208 }
209 209
210 if (registerBean.getData().getUserName() != null && registerBean.getData().getUserName().length() > 0) { 210 if (registerBean.getData().getUserName() != null && registerBean.getData().getUserName().length() > 0) {
211 SharedPreferencesUtil.putData("phone", phone); 211 SharedPreferencesUtil.putData("phone", phone);
212 SharedPreferencesUtil.putData("role", registerBean.getData().getUserName()); 212 SharedPreferencesUtil.putData("role", registerBean.getData().getUserName());
213 SharedPreferencesUtil.putData("userId", registerBean.getData().getUserName()); 213 SharedPreferencesUtil.putData("userId", registerBean.getData().getUserName());
214 login(phone, pwd); 214 login(phone, pwd);
215 215
216 } 216 }
217 217
218 218
219 } 219 }
220 220
221 @Override 221 @Override
222 public void onError(Throwable e) { 222 public void onError(Throwable e) {
223 223
224 } 224 }
225 225
226 @Override 226 @Override
227 public void onComplete() { 227 public void onComplete() {
228 228
229 } 229 }
230 }); 230 });
231 } 231 }
232 232
233 public void login(final String phone, String pwd) { 233 public void login(final String phone, String pwd) {
234 Map map = new HashMap(); 234 Map map = new HashMap();
235 map.put("username", phone); 235 map.put("username", phone);
236 map.put("password", pwd); 236 map.put("password", pwd);
237 237
238 NetWorks.login(NetWorks.getMapRequestBody(map), new Observer<ResponseBody>() { 238 NetWorks.login(NetWorks.getMapRequestBody(map), new Observer<ResponseBody>() {
239 @Override 239 @Override
240 public void onSubscribe(Disposable d) { 240 public void onSubscribe(Disposable d) {
241 241
242 } 242 }
243 243
244 @Override 244 @Override
245 public void onNext(ResponseBody responseBody) { 245 public void onNext(ResponseBody responseBody) {
246 try { 246 try {
247 String str = responseBody.string().toString(); 247 String str = responseBody.string().toString();
248 LogUtil.e(TAG, "----" + str); 248 LogUtil.e(TAG, "----" + str);
249 JSONObject jo = new JSONObject(str); 249 JSONObject jo = new JSONObject(str);
250 boolean isSucceed = jo.getBoolean("success"); 250 boolean isSucceed = jo.getBoolean("success");
251 if (isSucceed) { 251 if (isSucceed) {
252 JSONObject jo2 = jo.getJSONObject("data"); 252 JSONObject jo2 = jo.getJSONObject("data");
253 SharedPreferencesUtil.putData("phone", phone); 253 SharedPreferencesUtil.putData("phone", phone);
254 SharedPreferencesUtil.putData("role", jo2.getString("role")); 254 SharedPreferencesUtil.putData("role", jo2.getString("role"));
255 SharedPreferencesUtil.putData("userId", jo2.getString("userId")); 255 SharedPreferencesUtil.putData("userId", jo2.getString("id"));
256 SharedPreferencesUtil.putData("token", jo2.getString("token")); 256 SharedPreferencesUtil.putData("token", jo2.getString("token"));
257 startActivity(ChooseActivity.class); 257 startActivity(ChooseActivity.class);
258 finish(); 258 finish();
259 } else { 259 } else {
260 Toast.makeText(RegisterActivity.this, jo.getString("msg"), Toast.LENGTH_SHORT).show(); 260 Toast.makeText(RegisterActivity.this, jo.getString("msg"), Toast.LENGTH_SHORT).show();
261 } 261 }
262 } catch (Exception e) { 262 } catch (Exception e) {
263 e.printStackTrace(); 263 e.printStackTrace();
264 Toast.makeText(RegisterActivity.this, "服务繁忙,请重试", Toast.LENGTH_SHORT).show(); 264 Toast.makeText(RegisterActivity.this, "服务繁忙,请重试", Toast.LENGTH_SHORT).show();
265 } 265 }
266 266
267 } 267 }
268 268
269 @Override 269 @Override
270 public void onError(Throwable e) { 270 public void onError(Throwable e) {
271 271
272 } 272 }
273 273
274 @Override 274 @Override
275 public void onComplete() { 275 public void onComplete() {
276 276
277 } 277 }
278 }); 278 });
279 } 279 }
280 280
281 public void goQRView() { 281 public void goQRView() {
282 282
283 if (!XXPermissions.isGranted(this, Permission.CAMERA)) { 283 if (!XXPermissions.isGranted(this, Permission.CAMERA)) {
284 XXPermissions.with(this) 284 XXPermissions.with(this)
285 // 申请多个权限 285 // 申请多个权限
286 .permission(Permission.CAMERA) 286 .permission(Permission.CAMERA)
287 .request(new OnPermissionCallback() { 287 .request(new OnPermissionCallback() {
288 @Override 288 @Override
289 public void onGranted(List<String> permissions, boolean all) { 289 public void onGranted(List<String> permissions, boolean all) {
290 if (all) { 290 if (all) {
291 //开启扫码界面 291 //开启扫码界面
292 startQRView(); 292 startQRView();
293 293
294 } else { 294 } else {
295 Toast.makeText(RegisterActivity.this, "需要相机权限", Toast.LENGTH_SHORT).show(); 295 Toast.makeText(RegisterActivity.this, "需要相机权限", Toast.LENGTH_SHORT).show();
296 } 296 }
297 } 297 }
298 298
299 @Override 299 @Override
300 public void onDenied(List<String> permissions, boolean never) { 300 public void onDenied(List<String> permissions, boolean never) {
301 XXPermissions.startPermissionActivity(RegisterActivity.this, permissions); 301 XXPermissions.startPermissionActivity(RegisterActivity.this, permissions);
302 } 302 }
303 }); 303 });
304 304
305 305
306 } else { 306 } else {
307 startQRView(); 307 startQRView();
308 } 308 }
309 309
310 310
311 } 311 }
312 312
313 public void startQRView() { 313 public void startQRView() {
314 314
315 startActivity(QRActivity.class); 315 startActivity(QRActivity.class);
316 finish(); 316 finish();
317 317
318 } 318 }
319 319
320 320
321 @Override 321 @Override
322 protected void initData() { 322 protected void initData() {
323 323
324 } 324 }
325 325
326 @Override 326 @Override
327 public void onNetChanged(int netWorkState) { 327 public void onNetChanged(int netWorkState) {
328 328
329 } 329 }
330 } 330 }
libs/common/src/main/java/com/prws/common/net/NetWorks.java
1 package com.prws.common.net; 1 package com.prws.common.net;
2 2
3 3
4 import com.google.gson.Gson; 4 import com.google.gson.Gson;
5 import com.google.gson.JsonObject; 5 import com.google.gson.JsonObject;
6 import com.prws.common.BuildConfig; 6 import com.prws.common.BuildConfig;
7 import com.prws.common.bean.CutPicBean; 7 import com.prws.common.bean.CutPicBean;
8 import com.prws.common.bean.GradeAndSubject; 8 import com.prws.common.bean.GradeAndSubject;
9 import com.prws.common.bean.PageInfo; 9 import com.prws.common.bean.PageInfo;
10 import com.prws.common.bean.ResponseResult; 10 import com.prws.common.bean.ResponseResult;
11 import com.prws.common.bean.ScheduleBean; 11 import com.prws.common.bean.ScheduleBean;
12 import com.prws.common.bean.Student; 12 import com.prws.common.bean.Student;
13 import com.prws.common.bean.Teacher; 13 import com.prws.common.bean.Teacher;
14 import com.prws.common.bean.TopicBean; 14 import com.prws.common.bean.TopicBean;
15 import com.prws.common.bean.UpdateBean; 15 import com.prws.common.bean.UpdateBean;
16 import com.prws.common.bean.baidu.BaiduInput; 16 import com.prws.common.bean.baidu.BaiduInput;
17 import com.prws.common.bean.homework.HomeWork; 17 import com.prws.common.bean.homework.HomeWork;
18 import com.prws.common.bean.homework.HomeworkDetail; 18 import com.prws.common.bean.homework.HomeworkDetail;
19 import com.prws.common.bean.homework.HomeworkList; 19 import com.prws.common.bean.homework.HomeworkList;
20 import com.prws.common.bean.homework.StDetail; 20 import com.prws.common.bean.homework.StDetail;
21 import com.prws.common.utils.BitmapUtils; 21 import com.prws.common.utils.BitmapUtils;
22 import com.prws.common.utils.SharedPreferencesUtil; 22 import com.prws.common.utils.SharedPreferencesUtil;
23 23
24 import java.io.File; 24 import java.io.File;
25 import java.util.HashMap; 25 import java.util.HashMap;
26 import java.util.List; 26 import java.util.List;
27 import java.util.Map; 27 import java.util.Map;
28 28
29 import io.reactivex.Observable; 29 import io.reactivex.Observable;
30 import io.reactivex.Observer; 30 import io.reactivex.Observer;
31 import io.reactivex.Single; 31 import io.reactivex.Single;
32 import io.reactivex.android.schedulers.AndroidSchedulers; 32 import io.reactivex.android.schedulers.AndroidSchedulers;
33 import io.reactivex.schedulers.Schedulers; 33 import io.reactivex.schedulers.Schedulers;
34 import okhttp3.MediaType; 34 import okhttp3.MediaType;
35 import okhttp3.MultipartBody; 35 import okhttp3.MultipartBody;
36 import okhttp3.RequestBody; 36 import okhttp3.RequestBody;
37 import okhttp3.ResponseBody; 37 import okhttp3.ResponseBody;
38 import retrofit2.Call; 38 import retrofit2.Call;
39 import retrofit2.Callback; 39 import retrofit2.Callback;
40 import retrofit2.http.Body; 40 import retrofit2.http.Body;
41 import retrofit2.http.GET; 41 import retrofit2.http.GET;
42 import retrofit2.http.Header; 42 import retrofit2.http.Header;
43 import retrofit2.http.Headers; 43 import retrofit2.http.Headers;
44 import retrofit2.http.Multipart; 44 import retrofit2.http.Multipart;
45 import retrofit2.http.POST; 45 import retrofit2.http.POST;
46 import retrofit2.http.PUT; 46 import retrofit2.http.PUT;
47 import retrofit2.http.Part; 47 import retrofit2.http.Part;
48 import retrofit2.http.PartMap; 48 import retrofit2.http.PartMap;
49 import retrofit2.http.Query; 49 import retrofit2.http.Query;
50 import retrofit2.http.Url; 50 import retrofit2.http.Url;
51 51
52 /** 52 /**
53 * 类名称:NetWorks 53 * 类名称:NetWorks
54 * 创建人: 54 * 创建人:
55 * <p> 55 * <p>
56 * 类描述:网络请求的操作类 56 * 类描述:网络请求的操作类
57 */ 57 */
58 public class NetWorks extends RetrofitUtils { 58 public class NetWorks extends RetrofitUtils {
59 //服务器路径 59 //服务器路径
60 public static final NetService service_url = getMachineRetrofit(BuildConfig.SERVER_URL).create(NetService.class); 60 public static final NetService service_url = getMachineRetrofit(BuildConfig.SERVER_URL).create(NetService.class);
61 61
62 //设缓存有效期为1天 62 //设缓存有效期为1天
63 protected static final long CACHE_STALE_SEC = 60 * 60 * 24 * 1; 63 protected static final long CACHE_STALE_SEC = 60 * 60 * 24 * 1;
64 //查询缓存的Cache-Control设置,使用缓存 64 //查询缓存的Cache-Control设置,使用缓存
65 protected static final String CACHE_CONTROL_CACHE = "only-if-cached, max-stale=" + CACHE_STALE_SEC; 65 protected static final String CACHE_CONTROL_CACHE = "only-if-cached, max-stale=" + CACHE_STALE_SEC;
66 //查询网络的Cache-Control设置。不使用缓存 66 //查询网络的Cache-Control设置。不使用缓存
67 protected static final String CACHE_CONTROL_NETWORK = "max-age=0"; 67 protected static final String CACHE_CONTROL_NETWORK = "max-age=0";
68 68
69 69
70 public interface NetService { 70 public interface NetService {
71 71
72 72
73 @GET("/api/v1/user/logout") 73 @GET("/api/v1/user/logout")
74 Observable<ResponseBody> logout(); 74 Observable<ResponseBody> logout();
75 75
76 @Multipart 76 @Multipart
77 @POST("/api/v1/user/upLoadAvatar") 77 @POST("/api/v1/user/upLoadAvatar")
78 Observable<ResponseBody> upLoadAvatar(@Header("Authorization") String token, @Part List<MultipartBody.Part> partLis); 78 Observable<ResponseBody> upLoadAvatar(@Header("Authorization") String token, @Part List<MultipartBody.Part> partLis);
79 79
80 80
81 @Headers("Content-Type: application/json") 81 @Headers("Content-Type: application/json")
82 @POST("/api/v1/user/editUser") 82 @POST("/api/v1/user/editUser")
83 Observable<ResponseBody> editUser(@Header("Authorization") String token, @Body RequestBody body); 83 Observable<ResponseBody> editUser(@Header("Authorization") String token, @Body RequestBody body);
84 84
85 @Headers("Content-Type: application/json") 85 @Headers("Content-Type: application/json")
86 @POST("/api/v1/user/changePassword") 86 @POST("/api/v1/user/changePassword")
87 Observable<ResponseBody> changePassword(@Header("Authorization") String token, @Body RequestBody body); 87 Observable<ResponseBody> changePassword(@Header("Authorization") String token, @Body RequestBody body);
88 88
89 89
90 @GET("/api/v1/user/searchById") 90 @GET("/api/v1/user/searchById")
91 Observable<ResponseBody> searchById(@Header("Authorization") String token, @Query("userId") String userId); 91 Observable<ResponseBody> searchById(@Header("Authorization") String token, @Query("userId") String userId);
92 92
93 93
94 @Headers("Content-Type: application/json") 94 @Headers("Content-Type: application/json")
95 @POST("/api/v1/auth/login") 95 @POST("/api/v1/login/userLogin")
96 Observable<ResponseBody> login(@Body RequestBody body); 96 Observable<ResponseBody> login(@Body RequestBody body);
97 97
98 @GET("/api/v1/resource/listGradeAndSubject") 98 @GET("/api/v1/resource/listGradeAndSubject")
99 Observable<ResponseResult<List<GradeAndSubject>>> listGradeAndSubject(@Header("Authorization") String token); 99 Observable<ResponseResult<List<GradeAndSubject>>> listGradeAndSubject(@Header("Authorization") String token);
100 100
101 101
102 @GET("/api/v1/manager/generalQrCode") 102 @GET("/api/v1/manager/generalQrCode")
103 Observable<ResponseBody> generalQrCode(); 103 Observable<ResponseBody> generalQrCode();
104 104
105 @GET("/api/v1/parent/scanAndLogin?") 105 @GET("/api/v1/parent/scanAndLogin?")
106 Observable<ResponseBody> scanAndLogin(@Header("Authorization") String token, @Query("code") String code, @Query("stuId") String stuId); 106 Observable<ResponseBody> scanAndLogin(@Header("Authorization") String token, @Query("code") String code, @Query("stuId") String stuId);
107 107
108 @GET("/api/v1/parent/getChildrenList") 108 @GET("/api/v1/parent/getChildrenList")
109 Observable<ResponseBody> getChildrenList(@Header("Authorization") String token); 109 Observable<ResponseBody> getChildrenList(@Header("Authorization") String token);
110 110
111 111
112 @Headers("Content-Type: application/json") 112 @Headers("Content-Type: application/json")
113 @POST("/api/v1/parent/registerParent") 113 @POST("/api/v1/parent/registerParent")
114 Observable<ResponseBody> registerParent(@Body RequestBody body); 114 Observable<ResponseBody> registerParent(@Body RequestBody body);
115 115
116 116
117 @GET("/api/v1/parent/listChildren") 117 @GET("/api/v1/parent/listChildren")
118 Observable<ResponseBody> listChildren(@Header("Authorization") String token); 118 Observable<ResponseBody> listChildren(@Header("Authorization") String token);
119 119
120 120
121 @Headers("Content-Type: application/json") 121 @Headers("Content-Type: application/json")
122 @POST("/api/v1/parent/registerStudent") 122 @POST("/api/v1/parent/registerStudent")
123 Observable<ResponseBody> registerStudent(@Header("Authorization") String token, @Body RequestBody body); 123 Observable<ResponseBody> registerStudent(@Header("Authorization") String token, @Body RequestBody body);
124 124
125 @Headers("Content-Type: application/json") 125 @Headers("Content-Type: application/json")
126 @POST("/api/v1/parent/bindTeacher") 126 @POST("/api/v1/parent/bindTeacher")
127 Observable<ResponseBody> bindTeacher(@Header("Authorization") String token, @Body RequestBody body); 127 Observable<ResponseBody> bindTeacher(@Header("Authorization") String token, @Body RequestBody body);
128 128
129 @Multipart 129 @Multipart
130 @POST("/api/v1/user/upLoadAvatar") 130 @POST("/api/v1/user/upLoadAvatar")
131 Observable<ResponseResult<Map<String, String>>> uploadAvatar(@Header("Authorization") String token, @Part() MultipartBody.Part file); 131 Observable<ResponseResult<Map<String, String>>> uploadAvatar(@Header("Authorization") String token, @Part() MultipartBody.Part file);
132 132
133 133
134 @Multipart 134 @Multipart
135 @POST("/api/v1/student/editStudentAvatar") 135 @POST("/api/v1/student/editStudentAvatar")
136 Observable<ResponseResult<Map<String, String>>> uploadAvatar(@Header("Authorization") String token, @Part() MultipartBody.Part file, @PartMap Map<String, Object> map); 136 Observable<ResponseResult<Map<String, String>>> uploadAvatar(@Header("Authorization") String token, @Part() MultipartBody.Part file, @PartMap Map<String, Object> map);
137 137
138 @Headers("Content-Type: application/json") 138 @Headers("Content-Type: application/json")
139 @POST("/api/v1/parent/editChild") 139 @POST("/api/v1/parent/editChild")
140 Observable<ResponseResult> editStudent(@Header("Authorization") String token, @Body RequestBody body); 140 Observable<ResponseResult> editStudent(@Header("Authorization") String token, @Body RequestBody body);
141 141
142 @GET("/api/v1/student/getStudyPlanForThisWeek") 142 @GET("/api/v1/student/getStudyPlanForThisWeek")
143 Observable<ResponseResult<ScheduleBean>> getWeekPlan(@Header("Authorization") String token, @Query("stuId") String stuId); 143 Observable<ResponseResult<ScheduleBean>> getWeekPlan(@Header("Authorization") String token, @Query("stuId") String stuId);
144 144
145 @GET("api/v1/parent/searchTeacher") 145 @GET("api/v1/parent/searchTeacher")
146 Observable<ResponseResult<Teacher>> searchTeacher(@Header("Authorization") String token, @Query("phone") String phone); 146 Observable<ResponseResult<Teacher>> searchTeacher(@Header("Authorization") String token, @Query("phone") String phone);
147 147
148 @POST("api/v1/question/listErrorBook") 148 @POST("api/v1/question/listErrorBook")
149 Observable<ResponseResult<PageInfo<TopicBean>>> getError(@Header("Authorization") String token, @Body Map<String, Object> body); 149 Observable<ResponseResult<PageInfo<TopicBean>>> getError(@Header("Authorization") String token, @Body Map<String, Object> body);
150 150
151 @POST 151 @POST
152 Observable<JsonObject> removeWriting(@Url String url, @Body RequestBody body); 152 Observable<JsonObject> removeWriting(@Url String url, @Body RequestBody body);
153 153
154 @POST 154 @POST
155 Observable<CutPicBean> cut(@Url String url, @Body RequestBody body); 155 Observable<CutPicBean> cut(@Url String url, @Body RequestBody body);
156 156
157 @POST 157 @POST
158 Observable<JsonObject> getBaiduToken(@Url String url); 158 Observable<JsonObject> getBaiduToken(@Url String url);
159 159
160 @Multipart 160 @Multipart
161 @POST("api/v1/pad/addErrorBook") 161 @POST("api/v1/pad/addErrorBook")
162 Observable<ResponseResult> addError(@Part() MultipartBody.Part file, @PartMap Map<String, Object> map); 162 Observable<ResponseResult> addError(@Part() MultipartBody.Part file, @PartMap Map<String, Object> map);
163 163
164 @POST("api/v1/pad/deleteStuErrorBook") 164 @POST("api/v1/pad/deleteStuErrorBook")
165 Observable<ResponseResult> deleteError(@Header("Authorization") String token, @Body List<String> map); 165 Observable<ResponseResult> deleteError(@Header("Authorization") String token, @Body List<String> map);
166 166
167 @PUT("api/v1/pad/updateStuErrorBookInfo") 167 @PUT("api/v1/pad/updateStuErrorBookInfo")
168 Observable<ResponseResult> updateError(@Header("Authorization") String token, @Body List<HashMap<String, Object>> map); 168 Observable<ResponseResult> updateError(@Header("Authorization") String token, @Body List<HashMap<String, Object>> map);
169 169
170 @POST("api/v1/question/editErrorBook") 170 @POST("api/v1/question/editErrorBook")
171 Observable<ResponseResult> editError(@Header("Authorization") String Authorization, @Body Map<String, Object> map); 171 Observable<ResponseResult> editError(@Header("Authorization") String Authorization, @Body Map<String, Object> map);
172 172
173 @GET("api/v1/resource/checkUpdate") 173 @GET("api/v1/resource/checkUpdate")
174 Call<ResponseResult<UpdateBean>> checkUpdate(@Query("version") int version, @Query("packageName") String packageName, @Query("type") int type); 174 Call<ResponseResult<UpdateBean>> checkUpdate(@Query("version") int version, @Query("packageName") String packageName, @Query("type") int type);
175 175
176 @GET("api/v1/teacher/getStudentList") 176 @GET("api/v1/teacher/getStudentList")
177 Observable<ResponseBody> getStudentList(@Header("Authorization") String token, @Query("userId") String id); 177 Observable<ResponseBody> getStudentList(@Header("Authorization") String token, @Query("userId") String id);
178 178
179 @GET("api/v1/teacher/getStudentList") 179 @GET("api/v1/teacher/getStudentList")
180 Single<ResponseResult<List<Student>>> getStudentList2(@Header("Authorization") String token, @Query("userId") String id); 180 Single<ResponseResult<List<Student>>> getStudentList2(@Header("Authorization") String token, @Query("userId") String id);
181 181
182 @GET("api/v1/answer/listRecordForTeacher") 182 @GET("api/v1/answer/listRecordForTeacher")
183 Observable<ResponseBody> getRecordList(@Header("Authorization") String token, @Query("userId") String id); 183 Observable<ResponseBody> getRecordList(@Header("Authorization") String token, @Query("userId") String id);
184 184
185 @GET("api/v1/homework/listHomeworkByStuId") 185 @GET("api/v1/homework/listHomeworkByStuId")
186 Single<ResponseResult<List<HomeworkList>>> getStudentHomework(@Header("Authorization") String token, @Query("stuId") String stuId); 186 Single<ResponseResult<List<HomeworkList>>> getStudentHomework(@Header("Authorization") String token, @Query("stuId") String stuId);
187 187
188 @POST 188 @POST
189 Single<BaiduInput> inputImage(@Url String url, @Body RequestBody body); 189 Single<BaiduInput> inputImage(@Url String url, @Body RequestBody body);
190 190
191 @Multipart 191 @Multipart
192 @POST("api/v1/homework/uploadHomework") 192 @POST("api/v1/homework/uploadHomework")
193 Single<ResponseResult> uploadImage(@Header("Authorization") String token, @Part() MultipartBody.Part file, @Query("brief") String id); 193 Single<ResponseResult> uploadImage(@Header("Authorization") String token, @Part() MultipartBody.Part file, @Query("brief") String id);
194 194
195 @POST("api/v1/homework/uploadHomeworkAction") 195 @POST("api/v1/homework/uploadHomeworkAction")
196 Single<ResponseResult> uploadHomework(@Header("Authorization") String token, @Body Object map); 196 Single<ResponseResult> uploadHomework(@Header("Authorization") String token, @Body Object map);
197 197
198 @GET("api/v1/homework/removeHomework") 198 @GET("api/v1/homework/removeHomework")
199 Single<ResponseResult<Boolean>> deleteHomework( 199 Single<ResponseResult<Boolean>> deleteHomework(
200 @Header("Authorization") String token, 200 @Header("Authorization") String token,
201 @Query("homeworkId") String homeworkId 201 @Query("homeworkId") String homeworkId
202 ); 202 );
203 203
204 @GET("api/v1/homework/listHomeworkById") 204 @GET("api/v1/homework/listHomeworkById")
205 Single<ResponseResult<List<HomeWork>>> getHomeworkDetail(@Header("Authorization") String token, @Query("homeworkId") String homeworkId); 205 Single<ResponseResult<List<HomeWork>>> getHomeworkDetail(@Header("Authorization") String token, @Query("homeworkId") String homeworkId);
206 206
207 @POST("api/v1/homework/uploadHomeworkFeedback") 207 @POST("api/v1/homework/uploadHomeworkFeedback")
208 Single<ResponseResult> uploadHomeworkFeedback(@Header("Authorization") String token, @Body Map<String, Object> map); 208 Single<ResponseResult> uploadHomeworkFeedback(@Header("Authorization") String token, @Body Map<String, Object> map);
209 209
210 @POST("api/v1/homework/editHomeworkInfo") 210 @POST("api/v1/homework/editHomeworkInfo")
211 Single<ResponseResult<Boolean>> editHomework( 211 Single<ResponseResult<Boolean>> editHomework(
212 @Header("Authorization") String token, 212 @Header("Authorization") String token,
213 @Body Object body 213 @Body Object body
214 ); 214 );
215 215
216 @GET("api/v1/homework/listHomeworkDetailByStuId") 216 @GET("api/v1/homework/listHomeworkDetailByStuId")
217 Single<ResponseResult<HomeworkDetail>> getHomeworkCompleteDetail( 217 Single<ResponseResult<HomeworkDetail>> getHomeworkCompleteDetail(
218 @Header("Authorization") String token, 218 @Header("Authorization") String token,
219 @Query("stuId") String stuId, 219 @Query("stuId") String stuId,
220 @Query("homeworkId") String homeworkId, 220 @Query("homeworkId") String homeworkId,
221 // type 固定传true 221 // type 固定传true
222 @Query("type") boolean type 222 @Query("type") boolean type
223 ); 223 );
224 224
225 @GET("api/v1/homework/listHomeworkStatistics") 225 @GET("api/v1/homework/listHomeworkStatistics")
226 Single<ResponseResult<List<StDetail>>> getHuyouList( 226 Single<ResponseResult<List<StDetail>>> getHuyouList(
227 @Header("Authorization") String token, 227 @Header("Authorization") String token,
228 @Query("stuId") String stuId, 228 @Query("stuId") String stuId,
229 @Query("type") int type //0: 周报, 1:阶段总结 229 @Query("type") int type //0: 周报, 1:阶段总结
230 ); 230 );
231 231
232 @GET("api/v1/homework/listHomeworkStatisticsDetailForStudent") 232 @GET("api/v1/homework/listHomeworkStatisticsDetailForStudent")
233 Single<ResponseResult<StDetail>> getHuyouDetail( 233 Single<ResponseResult<StDetail>> getHuyouDetail(
234 @Header("Authorization") String token, 234 @Header("Authorization") String token,
235 @Query("homeworkStatisticsId") String homeworkId 235 @Query("homeworkStatisticsId") String homeworkId
236 ); 236 );
237 237
238 @GET("api/v1/demo/generalStatisticsHomework") 238 @GET("api/v1/demo/generalStatisticsHomework")
239 Single<ResponseResult<Object>> generalHuyou(); 239 Single<ResponseResult<Object>> generalHuyou();
240 240
241 @POST("api/v1/homework/generalHomeworkStageStatistics") 241 @POST("api/v1/homework/generalHomeworkStageStatistics")
242 Single<ResponseResult<Boolean>> generalStageHuyou( 242 Single<ResponseResult<Boolean>> generalStageHuyou(
243 @Header("Authorization") String token, 243 @Header("Authorization") String token,
244 @Body Object body 244 @Body Object body
245 ); 245 );
246 246
247 @GET("api/v1/homework/removeHomeworkStatistics") 247 @GET("api/v1/homework/removeHomeworkStatistics")
248 Single<ResponseResult<Boolean>> deleteHuyou( 248 Single<ResponseResult<Boolean>> deleteHuyou(
249 @Header("Authorization") String token, 249 @Header("Authorization") String token,
250 @Query("homeworkStatisticsId") String homeworkId 250 @Query("homeworkStatisticsId") String homeworkId
251 ); 251 );
252 252
253 } 253 }
254 254
255 public static String getUserId() { 255 public static String getUserId() {
256 return (String) SharedPreferencesUtil.getData("userId", ""); 256 return (String) SharedPreferencesUtil.getData("userId", "");
257 } 257 }
258 258
259 public static String getHeader() { 259 public static String getHeader() {
260 return (String) SharedPreferencesUtil.getData("token", ""); 260 return (String) SharedPreferencesUtil.getData("token", "");
261 } 261 }
262 262
263 public static String getBaiduToken() { 263 public static String getBaiduToken() {
264 return (String) SharedPreferencesUtil.getData("baiduToken", ""); 264 return (String) SharedPreferencesUtil.getData("baiduToken", "");
265 } 265 }
266 266
267 public static Single<BaiduInput> inputImage(String filePath, String id) { 267 public static Single<BaiduInput> inputImage(String filePath, String id) {
268 MediaType mediaType = MediaType.parse("application/x-www-form-urlencoded"); 268 MediaType mediaType = MediaType.parse("application/x-www-form-urlencoded");
269 String base64 = BitmapUtils.fileToBase64(filePath); 269 String base64 = BitmapUtils.fileToBase64(filePath);
270 File file = new File(filePath); 270 File file = new File(filePath);
271 RequestBody body = RequestBody.create(mediaType, "image=" + base64 + "&brief={\"name\":\"" + file.getName() + "\", \"id\":\"" + id + "\"}"); 271 RequestBody body = RequestBody.create(mediaType, "image=" + base64 + "&brief={\"name\":\"" + file.getName() + "\", \"id\":\"" + id + "\"}");
272 return getBaiduTokenOcr().map(jsonObject -> jsonObject.get("access_token").getAsString()) 272 return getBaiduTokenOcr().map(jsonObject -> jsonObject.get("access_token").getAsString())
273 .flatMap(token -> { 273 .flatMap(token -> {
274 return service_url.inputImage("https://aip.baidubce.com/rest/2.0/realtime_search/same_hq/add?access_token=" + token, body); 274 return service_url.inputImage("https://aip.baidubce.com/rest/2.0/realtime_search/same_hq/add?access_token=" + token, body);
275 }); 275 });
276 } 276 }
277 277
278 public static Single<ResponseResult> uploadImage(String path, String id) { 278 public static Single<ResponseResult> uploadImage(String path, String id) {
279 File file = new File(path); 279 File file = new File(path);
280 RequestBody requestBody = RequestBody.create(MediaType.parse("image/jpg"), file); 280 RequestBody requestBody = RequestBody.create(MediaType.parse("image/jpg"), file);
281 MultipartBody.Part part = MultipartBody.Part.createFormData("file", file.getName(), requestBody); 281 MultipartBody.Part part = MultipartBody.Part.createFormData("file", file.getName(), requestBody);
282 return service_url.uploadImage(getHeader(), part, id); 282 return service_url.uploadImage(getHeader(), part, id);
283 } 283 }
284 284
285 285
286 public static void checkUpdate(int code, String packageName, Callback<ResponseResult<UpdateBean>> callback) { 286 public static void checkUpdate(int code, String packageName, Callback<ResponseResult<UpdateBean>> callback) {
287 service_url.checkUpdate(code, packageName, 0).enqueue(callback); 287 service_url.checkUpdate(code, packageName, 0).enqueue(callback);
288 } 288 }
289 289
290 public static void addError(String path, Map<String, String> param, Observer<ResponseResult> observer) { 290 public static void addError(String path, Map<String, String> param, Observer<ResponseResult> observer) {
291 File file = new File(path); 291 File file = new File(path);
292 RequestBody requestBody = RequestBody.create(MediaType.parse("image/jpg"), file); 292 RequestBody requestBody = RequestBody.create(MediaType.parse("image/jpg"), file);
293 MultipartBody.Part part = MultipartBody.Part.createFormData("file", file.getName(), requestBody); 293 MultipartBody.Part part = MultipartBody.Part.createFormData("file", file.getName(), requestBody);
294 Map<String, Object> map = new HashMap<>(); 294 Map<String, Object> map = new HashMap<>();
295 map.put("condition", param); 295 map.put("condition", param);
296 setSubscribe(service_url.addError(part, map), observer); 296 setSubscribe(service_url.addError(part, map), observer);
297 } 297 }
298 298
299 299
300 public static void cut(String base64, Observer<CutPicBean> observer) { 300 public static void cut(String base64, Observer<CutPicBean> observer) {
301 MediaType mediaType = MediaType.parse("application/x-www-form-urlencoded"); 301 MediaType mediaType = MediaType.parse("application/x-www-form-urlencoded");
302 RequestBody body = RequestBody.create(mediaType, "image=" + base64 + "&detect_direction=true"); 302 RequestBody body = RequestBody.create(mediaType, "image=" + base64 + "&detect_direction=true");
303 setSubscribe(service_url.cut("https://aip.baidubce.com/rest/2.0/ocr/v1/paper_cut_edu?access_token=" + getBaiduToken(), body), observer); 303 setSubscribe(service_url.cut("https://aip.baidubce.com/rest/2.0/ocr/v1/paper_cut_edu?access_token=" + getBaiduToken(), body), observer);
304 } 304 }
305 305
306 public static void editError(Map<String, Object> map, Observer<ResponseResult> observer) { 306 public static void editError(Map<String, Object> map, Observer<ResponseResult> observer) {
307 setSubscribe(service_url.editError(getHeader(), map), observer); 307 setSubscribe(service_url.editError(getHeader(), map), observer);
308 } 308 }
309 309
310 public static void editError(List<HashMap<String, Object>> map, Observer<ResponseResult> observer) { 310 public static void editError(List<HashMap<String, Object>> map, Observer<ResponseResult> observer) {
311 setSubscribe(service_url.updateError(getHeader(), map), observer); 311 setSubscribe(service_url.updateError(getHeader(), map), observer);
312 } 312 }
313 313
314 public static void deleteError(List<String> map, Observer<ResponseResult> observer) { 314 public static void deleteError(List<String> map, Observer<ResponseResult> observer) {
315 setSubscribe(service_url.deleteError(getHeader(), map), observer); 315 setSubscribe(service_url.deleteError(getHeader(), map), observer);
316 } 316 }
317 317
318 public static void getBaiduToken(Observer<JsonObject> observer) { 318 public static void getBaiduToken(Observer<JsonObject> observer) {
319 setSubscribe(service_url.getBaiduToken("https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=" + BuildConfig.APIKey + "&client_secret=" + BuildConfig.SecretKey), observer); 319 setSubscribe(service_url.getBaiduToken("https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=" + BuildConfig.APIKey + "&client_secret=" + BuildConfig.SecretKey), observer);
320 } 320 }
321 321
322 public static Single<JsonObject> getBaiduTokenOcr() { 322 public static Single<JsonObject> getBaiduTokenOcr() {
323 return service_url.getBaiduToken("https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=" + BuildConfig.APIKey1 + "&client_secret=" + BuildConfig.SecretKey1).firstOrError(); 323 return service_url.getBaiduToken("https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=" + BuildConfig.APIKey1 + "&client_secret=" + BuildConfig.SecretKey1).firstOrError();
324 } 324 }
325 325
326 public static void removeWriting(String base64, Observer<JsonObject> observer) { 326 public static void removeWriting(String base64, Observer<JsonObject> observer) {
327 MediaType mediaType = MediaType.parse("application/x-www-form-urlencoded"); 327 MediaType mediaType = MediaType.parse("application/x-www-form-urlencoded");
328 RequestBody body = RequestBody.create(mediaType, "image=" + base64); 328 RequestBody body = RequestBody.create(mediaType, "image=" + base64);
329 setSubscribe(service_url.removeWriting(("https://aip.baidubce.com/rest/2.0/ocr/v1/remove_handwriting?access_token=" + getBaiduToken()), body), observer); 329 setSubscribe(service_url.removeWriting(("https://aip.baidubce.com/rest/2.0/ocr/v1/remove_handwriting?access_token=" + getBaiduToken()), body), observer);
330 } 330 }
331 331
332 public static void searchTeacher(String phone, Observer<ResponseResult<Teacher>> observer) { 332 public static void searchTeacher(String phone, Observer<ResponseResult<Teacher>> observer) {
333 setSubscribe(service_url.searchTeacher(getHeader(), phone), observer); 333 setSubscribe(service_url.searchTeacher(getHeader(), phone), observer);
334 } 334 }
335 335
336 public static void logout(Observer<ResponseBody> observer) { 336 public static void logout(Observer<ResponseBody> observer) {
337 setSubscribe(service_url.logout(), observer); 337 setSubscribe(service_url.logout(), observer);
338 } 338 }
339 339
340 public static void editStudent(RequestBody body, Observer<ResponseResult> observable) { 340 public static void editStudent(RequestBody body, Observer<ResponseResult> observable) {
341 setSubscribe(service_url.editStudent(getHeader(), body), observable); 341 setSubscribe(service_url.editStudent(getHeader(), body), observable);
342 } 342 }
343 343
344 public static void getWeekPlan(String id, Observer<ResponseResult<ScheduleBean>> observer) { 344 public static void getWeekPlan(String id, Observer<ResponseResult<ScheduleBean>> observer) {
345 setSubscribe(service_url.getWeekPlan(getHeader(), id), observer); 345 setSubscribe(service_url.getWeekPlan(getHeader(), id), observer);
346 } 346 }
347 347
348 public static void uploadStudentAvatar(File file, String stuId, Observer<ResponseResult<Map<String, String>>> observer) { 348 public static void uploadStudentAvatar(File file, String stuId, Observer<ResponseResult<Map<String, String>>> observer) {
349 RequestBody requestBody = RequestBody.create(MediaType.parse("multipart/form-data"), file); 349 RequestBody requestBody = RequestBody.create(MediaType.parse("multipart/form-data"), file);
350 MultipartBody.Part part = MultipartBody.Part.createFormData("file", file.getName(), requestBody); 350 MultipartBody.Part part = MultipartBody.Part.createFormData("file", file.getName(), requestBody);
351 Map<String, Object> map = new HashMap<>(); 351 Map<String, Object> map = new HashMap<>();
352 map.put("stuId", stuId); 352 map.put("stuId", stuId);
353 setSubscribe(service_url.uploadAvatar(getHeader(), part, map), observer); 353 setSubscribe(service_url.uploadAvatar(getHeader(), part, map), observer);
354 } 354 }
355 355
356 public static void uploadAvatar(File file, Observer<ResponseResult<Map<String, String>>> observer) { 356 public static void uploadAvatar(File file, Observer<ResponseResult<Map<String, String>>> observer) {
357 RequestBody requestBody = RequestBody.create(MediaType.parse("multipart/form-data"), file); 357 RequestBody requestBody = RequestBody.create(MediaType.parse("multipart/form-data"), file);
358 MultipartBody.Part part = MultipartBody.Part.createFormData("file", file.getName(), requestBody); 358 MultipartBody.Part part = MultipartBody.Part.createFormData("file", file.getName(), requestBody);
359 setSubscribe(service_url.uploadAvatar(getHeader(), part), observer); 359 setSubscribe(service_url.uploadAvatar(getHeader(), part), observer);
360 } 360 }
361 361
362 public static void upLoadAvatar(List<MultipartBody.Part> partLis, Observer<ResponseBody> observer) { 362 public static void upLoadAvatar(List<MultipartBody.Part> partLis, Observer<ResponseBody> observer) {
363 setSubscribe(service_url.upLoadAvatar(getHeader(), partLis), observer); 363 setSubscribe(service_url.upLoadAvatar(getHeader(), partLis), observer);
364 } 364 }
365 365
366 366
367 public static void editUser(RequestBody body, Observer<ResponseBody> observer) { 367 public static void editUser(RequestBody body, Observer<ResponseBody> observer) {
368 setSubscribe(service_url.editUser(getHeader(), body), observer); 368 setSubscribe(service_url.editUser(getHeader(), body), observer);
369 } 369 }
370 370
371 public static void changePassword(RequestBody body, Observer<ResponseBody> observer) { 371 public static void changePassword(RequestBody body, Observer<ResponseBody> observer) {
372 setSubscribe(service_url.changePassword(getHeader(), body), observer); 372 setSubscribe(service_url.changePassword(getHeader(), body), observer);
373 } 373 }
374 374
375 375
376 public static void searchById(String userId, Observer<ResponseBody> observer) { 376 public static void searchById(String userId, Observer<ResponseBody> observer) {
377 setSubscribe(service_url.searchById(getHeader(), userId), observer); 377 setSubscribe(service_url.searchById(getHeader(), userId), observer);
378 } 378 }
379 379
380 380
381 public static void login(RequestBody body, Observer<ResponseBody> observer) { 381 public static void login(RequestBody body, Observer<ResponseBody> observer) {
382 setSubscribe(service_url.login(body), observer); 382 setSubscribe(service_url.login(body), observer);
383 } 383 }
384 384
385 public static void listGradeAndSubject(Observer<ResponseResult<List<GradeAndSubject>>> observer) { 385 public static void listGradeAndSubject(Observer<ResponseResult<List<GradeAndSubject>>> observer) {
386 setSubscribe(service_url.listGradeAndSubject(getHeader()), observer); 386 setSubscribe(service_url.listGradeAndSubject(getHeader()), observer);
387 } 387 }
388 388
389 389
390 public static void scanAndLogin(String code, String stuId, Observer<ResponseBody> observer) { 390 public static void scanAndLogin(String code, String stuId, Observer<ResponseBody> observer) {
391 setSubscribe(service_url.scanAndLogin(getHeader(), code, stuId), observer); 391 setSubscribe(service_url.scanAndLogin(getHeader(), code, stuId), observer);
392 } 392 }
393 393
394 public static void getChildrenList(Observer<ResponseBody> observer) { 394 public static void getChildrenList(Observer<ResponseBody> observer) {
395 setSubscribe(service_url.getChildrenList(getHeader()), observer); 395 setSubscribe(service_url.getChildrenList(getHeader()), observer);
396 } 396 }
397 397
398 398
399 public static void registerParent(RequestBody body, Observer<ResponseBody> observer) { 399 public static void registerParent(RequestBody body, Observer<ResponseBody> observer) {
400 setSubscribe(service_url.registerParent(body), observer); 400 setSubscribe(service_url.registerParent(body), observer);
401 } 401 }
402 402
403 403
404 public static void listChildren(Observer<ResponseBody> observer) { 404 public static void listChildren(Observer<ResponseBody> observer) {
405 setSubscribe(service_url.listChildren(getHeader()), observer); 405 setSubscribe(service_url.listChildren(getHeader()), observer);
406 } 406 }
407 407
408 public static void listStudent(Observer<ResponseBody> observer) { 408 public static void listStudent(Observer<ResponseBody> observer) {
409 setSubscribe(service_url.getStudentList(getHeader(), (String) SharedPreferencesUtil.getData("userId", "")), observer); 409 setSubscribe(service_url.getStudentList(getHeader(), (String) SharedPreferencesUtil.getData("userId", "")), observer);
410 } 410 }
411 411
412 public static Single<ResponseResult<List<Student>>> listStudent() { 412 public static Single<ResponseResult<List<Student>>> listStudent() {
413 return service_url.getStudentList2(getHeader(), getUserId()); 413 return service_url.getStudentList2(getHeader(), getUserId());
414 } 414 }
415 415
416 public static void listRecord(Observer<ResponseBody> observer) { 416 public static void listRecord(Observer<ResponseBody> observer) {
417 setSubscribe(service_url.getRecordList(getHeader(), (String) SharedPreferencesUtil.getData("userId", "")), observer); 417 setSubscribe(service_url.getRecordList(getHeader(), (String) SharedPreferencesUtil.getData("userId", "")), observer);
418 } 418 }
419 419
420 420
421 public static void registerStudent(RequestBody body, Observer<ResponseBody> observer) { 421 public static void registerStudent(RequestBody body, Observer<ResponseBody> observer) {
422 setSubscribe(service_url.registerStudent(getHeader(), body), observer); 422 setSubscribe(service_url.registerStudent(getHeader(), body), observer);
423 } 423 }
424 424
425 public static void bindTeacher(RequestBody body, Observer<ResponseBody> observer) { 425 public static void bindTeacher(RequestBody body, Observer<ResponseBody> observer) {
426 setSubscribe(service_url.bindTeacher(getHeader(), body), observer); 426 setSubscribe(service_url.bindTeacher(getHeader(), body), observer);
427 } 427 }
428 428
429 public static void getError(Map map, Observer<ResponseResult<PageInfo<TopicBean>>> observer) { 429 public static void getError(Map map, Observer<ResponseResult<PageInfo<TopicBean>>> observer) {
430 setSubscribe(service_url.getError(getHeader(), map), observer); 430 setSubscribe(service_url.getError(getHeader(), map), observer);
431 } 431 }
432 432
433 433
434 public static RequestBody getMapRequestBody(Map map) { 434 public static RequestBody getMapRequestBody(Map map) {
435 return RequestBody.create(MediaType.parse("text/plain"), new Gson().toJson(map)); 435 return RequestBody.create(MediaType.parse("text/plain"), new Gson().toJson(map));
436 } 436 }
437 437
438 438
439 public static RequestBody getArrayRequestBody(List list) { 439 public static RequestBody getArrayRequestBody(List list) {
440 return RequestBody.create(MediaType.parse("text/plain"), new Gson().toJson(list)); 440 return RequestBody.create(MediaType.parse("text/plain"), new Gson().toJson(list));
441 } 441 }
442 442
443 public static RequestBody getFileRequestBody(File file) { 443 public static RequestBody getFileRequestBody(File file) {
444 return RequestBody.create(MediaType.parse("application/octet-stream"), file); 444 return RequestBody.create(MediaType.parse("application/octet-stream"), file);
445 } 445 }
446 446
447 public static RequestBody getFileRequestBody(byte[] bytes) { 447 public static RequestBody getFileRequestBody(byte[] bytes) {
448 return RequestBody.create(MediaType.parse("multipart/form-data"), bytes); 448 return RequestBody.create(MediaType.parse("multipart/form-data"), bytes);
449 } 449 }
450 450
451 public static RequestBody getObjectRequestBody(Object obj) { 451 public static RequestBody getObjectRequestBody(Object obj) {
452 return RequestBody.create(MediaType.parse("text/plain"), new Gson().toJson(obj)); 452 return RequestBody.create(MediaType.parse("text/plain"), new Gson().toJson(obj));
453 } 453 }
454 454
455 public static RequestBody getStringRequestBody(String str) { 455 public static RequestBody getStringRequestBody(String str) {
456 return RequestBody.create(MediaType.parse("text/plain"), str); 456 return RequestBody.create(MediaType.parse("text/plain"), str);
457 } 457 }
458 458
459 459
460 /** 460 /**
461 * 插入观察者 461 * 插入观察者
462 * 462 *
463 * @param observable 463 * @param observable
464 * @param observer 464 * @param observer
465 * @param <T> 465 * @param <T>
466 */ 466 */
467 public static <T> void setSubscribe(Observable<T> observable, Observer<T> observer) { 467 public static <T> void setSubscribe(Observable<T> observable, Observer<T> observer) {
468 observable.subscribeOn(Schedulers.io())//子线程访问网络 468 observable.subscribeOn(Schedulers.io())//子线程访问网络
469 .observeOn(AndroidSchedulers.mainThread())//回调到主线程 469 .observeOn(AndroidSchedulers.mainThread())//回调到主线程
470 .subscribe(observer); 470 .subscribe(observer);
471 } 471 }
472 472
473 } 473 }
474 474