修改用户信息(更换头像未完成)

This commit is contained in:
kehaoyuan
2017-07-18 15:43:02 +08:00
parent 4f4c90f792
commit fdf7bdd64d
11 changed files with 230 additions and 145 deletions

View File

@ -1,5 +1,6 @@
package com.gh.common.util;
import android.app.Dialog;
import android.content.Context;
import android.content.SharedPreferences;
import android.preference.PreferenceManager;
@ -36,7 +37,7 @@ import rx.schedulers.Schedulers;
public class LoginUtils {
public enum LoginTag {
qq, wechat, weibo, phone
qq, wechat, weibo, phone, refresh
}
// 获取验证码
@ -92,12 +93,16 @@ public class LoginUtils {
if (loginTag == LoginTag.weibo) {
observable = RetrofitManager.getUsersea().loginByWeibo(body);
} else if (loginTag == LoginTag.qq){
} else if (loginTag == LoginTag.qq) {
observable = RetrofitManager.getUsersea().loginByQQ(body);
} else if (loginTag == LoginTag.wechat) {
observable = RetrofitManager.getUsersea().loginByWechat(body);
} else {
} else if (loginTag == LoginTag.phone) {
observable = RetrofitManager.getUsersea().loginByMobile(body);
} else if (loginTag == LoginTag.refresh) {
observable = RetrofitManager.getUsersea().refreshToken(body);
} else {
return;
}
observable
@ -121,36 +126,36 @@ public class LoginUtils {
int code = content.getInt("code");
switch (code) {
case 40000:
Utils.toast(context,"参数错误或不完整");
Utils.toast(context, "参数错误或不完整");
case 40004:
Utils.toast(context,"缺少mobile参数");
Utils.toast(context, "缺少mobile参数");
break;
case 40005:
Utils.toast(context,"缺少code参数");
Utils.toast(context, "缺少code参数");
break;
case 40006:
Utils.toast(context,"缺少service_id参数");
Utils.toast(context, "缺少service_id参数");
break;
case 40007:
Utils.toast(context,"服务已超时");
Utils.toast(context, "服务已超时");
break;
case 40008:
Utils.toast(context,"验证码已超时");
Utils.toast(context, "验证码已超时");
break;
case 40009:
Utils.toast(context,"验证码错误");
Utils.toast(context, "验证码错误");
break;
case 40010:
Utils.toast(context,"登录授权失败");
Utils.toast(context, "登录授权失败");
break;
case 40011:
Utils.toast(context,"缺少token参数");
Utils.toast(context, "缺少token参数");
break;
case 40012:
Utils.toast(context,"令牌已过期");
Utils.toast(context, "令牌已过期");
break;
default:
Utils.toast(context,"未知错误");
Utils.toast(context, "未知错误");
break;
}
@ -162,7 +167,7 @@ public class LoginUtils {
});
}
public static void logout(Context context) {
public static void cleanUserData(Context context) {
SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(context);
SharedPreferences.Editor edit = sp.edit();
edit.putString("user_info", null);
@ -183,9 +188,14 @@ public class LoginUtils {
LoginResponseEntity.RefreshToken refreshToken = loginToken.getRefreshToken();
Long refreshExpire = refreshToken.getExpire();
if (refreshExpire != null && refreshExpire > Utils.getTime(context)) {
// TODO 刷新accessToken
Map<String, String> params = new HashMap<>();
params.put("refresh_token", refreshToken.getValue());
RequestBody body = RequestBody.create(MediaType.parse("application/json"),
new JSONObject(params).toString());
login(context, body, LoginTag.refresh, listener); // TODO 刷新accessToken
} else {
// TODO 重新登录
cleanUserData(context);
}
}
}
@ -197,7 +207,7 @@ public class LoginUtils {
.getUserInfo(token)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Response<UserInfoEntity>(){
.subscribe(new Response<UserInfoEntity>() {
@Override
public void onResponse(UserInfoEntity response) {
super.onResponse(response);
@ -216,7 +226,8 @@ public class LoginUtils {
SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(context);
String loginData = sp.getString("user_info", null);
if (!TextUtils.isEmpty(loginData)) {
Type listType = new TypeToken<UserInfoEntity>() {}.getType();
Type listType = new TypeToken<UserInfoEntity>() {
}.getType();
return new Gson().fromJson(loginData, listType);
}
return null;
@ -238,7 +249,8 @@ public class LoginUtils {
SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(context);
String loginData = sp.getString("login_token", null);
if (!TextUtils.isEmpty(loginData)) {
Type listType = new TypeToken<LoginResponseEntity>() {}.getType();
Type listType = new TypeToken<LoginResponseEntity>() {
}.getType();
return new Gson().fromJson(loginData, listType);
}
return null;
@ -254,6 +266,65 @@ public class LoginUtils {
}
}
public static void changeUserInfo(final onChangeUserInfoListener listener, final Context context, String content, String editType) {
final UserInfoEntity entity = getUserInfo(context);
if (entity == null) {
return;
}
switch (editType) {
case "nickName":
entity.setName(content);
break;
case "contact":
entity.setContact(content);
break;
case "sex":
entity.setGender(content);
break;
case "area":
entity.setRegion(content);
break;
default:
return;
}
final Dialog loadingDialog = DialogUtils.showWaitDialog(context, "正在修改信息...");
RequestBody body = RequestBody.create(MediaType.parse("application/json"),
new Gson().toJson(entity));
RetrofitManager
.getUsersea()
.changeUserInfo(body)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Response<ResponseBody>() {
@Override
public void onResponse(ResponseBody response) {
super.onResponse(response);
if (loadingDialog != null) {
loadingDialog.dismiss();
}
saveUserInfo(context, entity);
listener.onChange();
}
@Override
public void onFailure(HttpException e) {
super.onFailure(e);
if (loadingDialog != null) {
loadingDialog.dismiss();
}
Utils.toast(context, "修改失败");
}
});
}
public interface onChangeUserInfoListener {
void onChange();
}
public interface onCaptchaCallBackListener {
void onCaptcha(String serviceId);

View File

@ -227,7 +227,7 @@ public class SettingActivity extends BaseActivity implements OnClickListener {
"确定退出", "取消", new DialogUtils.ConfirmListener() {
@Override
public void onConfirm() {
LoginUtils.logout(SettingActivity.this);
LoginUtils.cleanUserData(SettingActivity.this);
Intent intent = new Intent();
intent.putExtra("loginStatus", LOGOUT_TAG);
setResult(LOGIN_CODE, intent);

View File

@ -12,6 +12,7 @@ import android.widget.TextView;
import com.gh.base.BaseActivity;
import com.gh.common.util.DisplayUtils;
import com.gh.common.util.LoginUtils;
import com.gh.common.view.VerticalItemDecoration;
import com.gh.gamecenter.adapter.AreaAdapter;
@ -24,7 +25,8 @@ import butterknife.BindView;
* Created by khy on 23/06/17.
*/
public class UserAreaActivity extends BaseActivity implements AreaAdapter.OnAreaCallBackLintener {
public class UserAreaActivity extends BaseActivity implements AreaAdapter.OnAreaCallBackLintener,
LoginUtils.onChangeUserInfoListener {
@BindView(R.id.area_rv_title)
TextView mAreaRvTitle;
@ -57,7 +59,7 @@ public class UserAreaActivity extends BaseActivity implements AreaAdapter.OnArea
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == 0x222) {
setResult(0x122, data);
setResult(0x131);
finish();
}
}
@ -132,16 +134,23 @@ public class UserAreaActivity extends BaseActivity implements AreaAdapter.OnArea
Intent intent = getIntent(this, new ArrayList<>(cityList), area);
startActivityForResult(intent, 0x221);
} else {
Intent data = new Intent();
String content;
if (mProvinceName != null) {
data.putExtra("area", mProvinceName + " - " + area);
setResult(0x222, data);
content = mProvinceName + " - " + area;
} else {
data.putExtra("area", area);
setResult(0x122, data);
content = area;
}
finish();
LoginUtils.changeUserInfo(this, this, content, "area");
}
}
@Override
public void onChange() {
if (mProvinceName != null) {
setResult(0x222);
} else {
setResult(0x131);
}
finish();
}
}

View File

@ -10,7 +10,8 @@ import android.widget.TextView;
import com.facebook.drawee.view.SimpleDraweeView;
import com.gh.base.BaseActivity;
import com.gh.common.util.ImageUtils;
import com.gh.common.util.LoginUtils;
import com.gh.gamecenter.entity.UserInfoEntity;
import butterknife.BindView;
import butterknife.OnClick;
@ -50,35 +51,9 @@ public class UserInfoActivity extends BaseActivity {
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == 0x121 && resultCode == 0x122) {
String stringExtra = data.getStringExtra("area");
mUserinfoAreaTv.setText(stringExtra);
toast(stringExtra);
if (requestCode == 0x130 && resultCode == 0x131) {
initView();
}
String editContent = null;
if (data != null) {
if (requestCode == 0x130) {
editContent = data.getStringExtra("url");
} else {
editContent = data.getStringExtra("editContent");
}
}
if (!TextUtils.isEmpty(editContent))
switch (requestCode) {
case 0x130:
ImageUtils.Companion.display(mUserinfoIconSd, editContent);
break;
case 0x131:
mUserinfoNicknameTv.setText(editContent);
break;
case 0x132:
mUserinfoSexTv.setText(editContent);
break;
case 0x133:
mUserinfoContactTv.setText(editContent);
break;
}
}
@Override
@ -91,6 +66,30 @@ public class UserInfoActivity extends BaseActivity {
super.onCreate(savedInstanceState);
initTitle(getString(R.string.personal_userinfo));
initView();
}
private void initView() {
UserInfoEntity userInfo = LoginUtils.getUserInfo(this);
if (userInfo != null) {
mUserinfoIconSd.setImageURI(userInfo.getIcon());
mUserinfoNicknameTv.setText(userInfo.getName());
String region = userInfo.getRegion();
if (!TextUtils.isEmpty(region)) {
mUserinfoAreaTv.setText(region);
}
String gender = userInfo.getGender();
if (!TextUtils.isEmpty(gender)) {
mUserinfoSexTv.setText(gender);
}
String contact = userInfo.getContact();
if (!TextUtils.isEmpty(contact)) {
mUserinfoContactTv.setText(contact);
}
}
}
@OnClick({R.id.userinfo_icon_rl, R.id.userinfo_nickname_rl, R.id.userinfo_sex_rl,
@ -101,18 +100,16 @@ public class UserInfoActivity extends BaseActivity {
startActivityForResult(SelectUserIconActivity.getIntent(this), 0x130);
break;
case R.id.userinfo_nickname_rl:
String nickName = mUserinfoNicknameTv.getText().toString();
startActivityForResult(UserInfoEditActivity.getIntent(this, "nickName", nickName), 0x131);
startActivityForResult(UserInfoEditActivity.getIntent(this, "nickName"), 0x130);
break;
case R.id.userinfo_sex_rl:
startActivityForResult(UserInfoEditActivity.getIntent(this, "sex", null), 0x132);
startActivityForResult(UserInfoEditActivity.getIntent(this, "sex"), 0x130);
break;
case R.id.userinfo_area_rl:
startActivityForResult(UserAreaActivity.getIntent(this), 0x121);
startActivityForResult(UserAreaActivity.getIntent(this), 0x130);
break;
case R.id.userinfo_contact_rl:
String contact = mUserinfoContactTv.getText().toString();
startActivityForResult(UserInfoEditActivity.getIntent(this, "contact", contact), 0x133);
startActivityForResult(UserInfoEditActivity.getIntent(this, "contact"), 0x130);
break;
}
}

View File

@ -18,6 +18,8 @@ import android.widget.TextView;
import com.gh.base.BaseActivity;
import com.gh.common.util.DisplayUtils;
import com.gh.common.util.LoginUtils;
import com.gh.gamecenter.entity.UserInfoEntity;
import butterknife.BindView;
import butterknife.OnClick;
@ -26,7 +28,7 @@ import butterknife.OnClick;
* Created by khy on 30/06/17.
*/
public class UserInfoEditActivity extends BaseActivity {
public class UserInfoEditActivity extends BaseActivity implements LoginUtils.onChangeUserInfoListener {
@BindView(R.id.userinfo_sex_man)
TextView mUserinfoSexMan;
@BindView(R.id.userinfo_sex_woman)
@ -49,13 +51,12 @@ public class UserInfoEditActivity extends BaseActivity {
TextView mSaveTv;
private String mEditType;
private String mEditContent;
private UserInfoEntity mUserInfoEntity;
@NonNull
public static Intent getIntent(Context context, String editType, String editContent) {
public static Intent getIntent(Context context, String editType) {
Intent intent = new Intent(context, UserInfoEditActivity.class);
intent.putExtra("editType", editType);
intent.putExtra("editContent", editContent);
return intent;
}
@ -68,7 +69,7 @@ public class UserInfoEditActivity extends BaseActivity {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mEditType = getIntent().getStringExtra("editType");
mEditContent = getIntent().getStringExtra("editContent");
mUserInfoEntity = LoginUtils.getUserInfo(this);
// 添加分享图标
mSaveTv = new TextView(this);
@ -87,7 +88,9 @@ public class UserInfoEditActivity extends BaseActivity {
R.id.reuse_actionbar);
reuse_actionbar.addView(mSaveTv, params);
initView();
if (mUserInfoEntity != null) {
initView();
}
mSaveTv.setOnClickListener(new View.OnClickListener() {
@Override
@ -109,8 +112,9 @@ public class UserInfoEditActivity extends BaseActivity {
mSaveTv.setVisibility(View.VISIBLE);
mUserinfoNicknameEt.addTextChangedListener(new UserInfoEditTextWatcher(mUserinfoNicknameEt));
title = "修改昵称";
if (!TextUtils.isEmpty(mEditContent)) {
mUserinfoNicknameEt.setText(mEditContent);
String name = mUserInfoEntity.getName();
if (!TextUtils.isEmpty(name)) {
mUserinfoNicknameEt.setText(name);
}
break;
case "contact":
@ -118,8 +122,9 @@ public class UserInfoEditActivity extends BaseActivity {
mSaveTv.setVisibility(View.VISIBLE);
mUserinfoContactEt.addTextChangedListener(new UserInfoEditTextWatcher(mUserinfoContactEt));
title = "联系方式";
if (!TextUtils.isEmpty(mEditContent)) {
mUserinfoContactEt.setText(mEditContent);
String contact = mUserInfoEntity.getContact();
if (!TextUtils.isEmpty(contact)) {
mUserinfoContactEt.setText(contact);
}
break;
default:
@ -130,22 +135,17 @@ public class UserInfoEditActivity extends BaseActivity {
}
private void saveData() {
Intent data = new Intent();
if ("nickName".equals(mEditType)) {
String value = mUserinfoNicknameEt.getText().toString();
if (!TextUtils.isEmpty(value)) {
data.putExtra("editContent", value);
setResult(0x131, data);
finish();
LoginUtils.changeUserInfo(this, this, value, mEditType);
} else {
toast("昵称不能为空");
}
} else if ("contact".equals(mEditType)) {
String value = mUserinfoContactEt.getText().toString();
if (!TextUtils.isEmpty(value)) {
data.putExtra("editContent", value);
setResult(0x133, data);
finish();
LoginUtils.changeUserInfo(this, this, value, mEditType);
} else {
toast("请输入QQ或邮箱");
}
@ -162,20 +162,20 @@ public class UserInfoEditActivity extends BaseActivity {
mUserinfoContactEt.setText("");
break;
case R.id.userinfo_sex_man:
Intent data = new Intent();
data.putExtra("editContent", "");
setResult(0x132, data);
finish();
LoginUtils.changeUserInfo(this, this, "", mEditType);
break;
case R.id.userinfo_sex_woman:
Intent data2 = new Intent();
data2.putExtra("editContent", "");
setResult(0x132, data2);
finish();
LoginUtils.changeUserInfo(this, this, "", mEditType);
break;
}
}
@Override
public void onChange() {
setResult(0x131);
finish();
}
private class UserInfoEditTextWatcher implements TextWatcher {
private EditText mEditText;
@ -192,11 +192,11 @@ public class UserInfoEditActivity extends BaseActivity {
public void onTextChanged(CharSequence s, int start, int before, int count) {
int tvCount = s.length();
if (mEditText == mUserinfoNicknameEt) {
if (tvCount > 0) {
mUserinfoNicknameIv.setVisibility(View.VISIBLE);
} else {
mUserinfoNicknameIv.setVisibility(View.GONE);
}
if (tvCount > 0) {
mUserinfoNicknameIv.setVisibility(View.VISIBLE);
} else {
mUserinfoNicknameIv.setVisibility(View.GONE);
}
} else {
if (tvCount > 0) {
mUserinfoContactIv.setVisibility(View.VISIBLE);

View File

@ -1,14 +0,0 @@
package com.gh.gamecenter;
import com.gh.base.BaseActivity;
/**
* Created by khy on 25/06/17.
*/
public class UsreContactActivity extends BaseActivity {
@Override
protected int getLayoutId() {
return 0;
}
}

View File

@ -9,12 +9,11 @@ import android.view.View;
import android.view.ViewGroup;
import android.view.inputmethod.InputMethodManager;
import com.gh.base.AppController;
import com.gh.base.OnRequestCallBackListener;
import com.lightgame.adapter.BaseRecyclerAdapter;
import com.gh.common.util.EntranceUtils;
import com.gh.common.util.ImageUtils;
import com.gh.common.util.MD5Utils;
import com.lightgame.utils.Utils;
import com.gh.gamecenter.NewsDetailActivity;
import com.gh.gamecenter.R;
import com.gh.gamecenter.SuggestionActivity;
@ -28,6 +27,8 @@ import com.gh.gamecenter.manager.ConcernManager;
import com.gh.gamecenter.retrofit.ObservableUtil;
import com.gh.gamecenter.retrofit.Response;
import com.gh.gamecenter.retrofit.RetrofitManager;
import com.lightgame.adapter.BaseRecyclerAdapter;
import com.lightgame.utils.Utils;
import java.util.ArrayList;
import java.util.Collections;
@ -167,8 +168,10 @@ public class ToolBoxRvAdapter extends BaseRecyclerAdapter {
mLoadKeyOver = true;
loadData(mIsSearch, 0);
} else {
if (response.size() > 0) {
mEntityList.addAll(response);
if (response.size() >= 0) {
if (response.size() > 0) {
mEntityList.addAll(response);
}
mCallBackListener.loadDone();
if (response.size() < 20) {
@ -209,7 +212,7 @@ public class ToolBoxRvAdapter extends BaseRecyclerAdapter {
public int getItemViewType(int position) {
if (position == 0) {
return 0;
} else if (position == getItemCount() - 1) {
} else if (position == 1 || position == getItemCount() - 1) {
return 1;
} else {
return 2;
@ -235,11 +238,11 @@ public class ToolBoxRvAdapter extends BaseRecyclerAdapter {
public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {
if (holder instanceof ToolBoxViewHolder) {
ToolBoxViewHolder viewHolder = (ToolBoxViewHolder) holder;
ToolBoxEntity toolBoxEntity = mEntityList.get(position - 1);
ToolBoxEntity toolBoxEntity = mEntityList.get(position - 2);
initToolBoxViewHolder(viewHolder, toolBoxEntity);
} else if (holder instanceof FooterViewHolder) {
FooterViewHolder viewHolder = (FooterViewHolder) holder;
initFooterViewHolder(viewHolder);
initFooterViewHolder(viewHolder, position);
} else if (holder instanceof LibaoSearchViewHolder) {
LibaoSearchViewHolder viewHolder = (LibaoSearchViewHolder) holder;
initSearchViewHolder(viewHolder);
@ -249,7 +252,7 @@ public class ToolBoxRvAdapter extends BaseRecyclerAdapter {
@Override
public int getItemCount() {
if (mEntityList.size() > 0) {
return mEntityList.size() + 2;
return mEntityList.size() + 3;
} else {
return 1;
}
@ -301,21 +304,10 @@ public class ToolBoxRvAdapter extends BaseRecyclerAdapter {
}
private void initFooterViewHolder(FooterViewHolder viewHolder) {
private void initFooterViewHolder(FooterViewHolder viewHolder, int position) {
viewHolder.initItemPadding();
if (mIsNetworkError) {
viewHolder.lineLeft.setVisibility(View.GONE);
viewHolder.lineRight.setVisibility(View.GONE);
viewHolder.loading.setVisibility(View.GONE);
viewHolder.hint.setText("加载失败,点击重试");
viewHolder.itemView.setClickable(true);
viewHolder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
loadData(mIsSearch, mEntityList.size());
}
});
} else if (mIsOver) {
if (position == 1) {
viewHolder.lineLeft.setVisibility(View.VISIBLE);
viewHolder.lineRight.setVisibility(View.VISIBLE);
viewHolder.loading.setVisibility(View.GONE);
@ -328,11 +320,31 @@ public class ToolBoxRvAdapter extends BaseRecyclerAdapter {
}
});
} else {
viewHolder.lineLeft.setVisibility(View.GONE);
viewHolder.lineRight.setVisibility(View.GONE);
viewHolder.loading.setVisibility(View.VISIBLE);
viewHolder.hint.setText(loading);
viewHolder.itemView.setClickable(false);
if (mIsNetworkError) {
viewHolder.lineLeft.setVisibility(View.GONE);
viewHolder.lineRight.setVisibility(View.GONE);
viewHolder.loading.setVisibility(View.GONE);
viewHolder.hint.setText("加载失败,点击重试");
viewHolder.itemView.setClickable(true);
viewHolder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
loadData(mIsSearch, mEntityList.size());
}
});
} else if (mIsOver) {
viewHolder.lineLeft.setVisibility(View.VISIBLE);
viewHolder.lineRight.setVisibility(View.VISIBLE);
viewHolder.loading.setVisibility(View.GONE);
viewHolder.hint.setText("加载完毕");
viewHolder.itemView.setClickable(false);
} else {
viewHolder.lineLeft.setVisibility(View.GONE);
viewHolder.lineRight.setVisibility(View.GONE);
viewHolder.loading.setVisibility(View.VISIBLE);
viewHolder.hint.setText(loading);
viewHolder.itemView.setClickable(false);
}
}
}
@ -353,11 +365,11 @@ public class ToolBoxRvAdapter extends BaseRecyclerAdapter {
intent.putExtra(EntranceUtils.KEY_ENTRANCE, "工具箱列表");
mContext.startActivity(intent);
} else {
AppController.put("ToolBoxEntity", toolBoxEntity);
Intent intent = new Intent(mContext, WebActivity.class);
intent.putExtra("url", toolBoxEntity.getUrl());
intent.putExtra("isTools", true);
intent.putExtra("gameName", toolBoxEntity.getName());
intent.putExtra("ToolBoxEntity", toolBoxEntity);
mContext.startActivity(intent);
}
}

View File

@ -12,4 +12,6 @@ class UserInfoEntity {
var gender: String? = null
var region: String? = null
var contact: String? = null
}

View File

@ -173,10 +173,12 @@ public class PersonalFragment extends BaseFragment implements GetLoginDataUtils.
}
break;
case R.id.personal_user_icon:
startActivityForResult(LoginActivity.getIntent(getContext()), LOGIN_CODE);
break;
case R.id.personal_user_name:
getContext().startActivity(UserInfoActivity.getIntent(getContext()));
if (mUserInfoEntity != null) {
getContext().startActivity(UserInfoActivity.getIntent(getContext()));
} else {
startActivityForResult(LoginActivity.getIntent(getContext()), LOGIN_CODE);
}
break;
case R.id.personal_game:
getContext().startActivity(InstallActivity.getIntent(getContext()));
@ -263,7 +265,7 @@ public class PersonalFragment extends BaseFragment implements GetLoginDataUtils.
@Override
public void onLogin(UserInfoEntity entity, LoginUtils.LoginTag loginTag) {
Utils.log("======登录成功" + entity.getIcon() + "==" + entity.getName() );
Utils.log("======登录成功" + entity.getIcon() + "==" + entity.getName());
mUserInfoEntity = entity;
changeLoginState(true);
}

View File

@ -46,4 +46,14 @@ public interface UserseaService {
// 获取用户信息(头像/用户名)
@GET("profile")
Observable<UserInfoEntity> getUserInfo(@Header("TOKEN") String token);
// 刷新accessToken
@Headers({"Content-Type: application/json", "Accept: application/json"})
@POST("login/wechat")
Observable<LoginResponseEntity> refreshToken(@Body RequestBody body);
// 刷新accessToken
@Headers({"Content-Type: application/json", "Accept: application/json"})
@POST("login/meta")
Observable<ResponseBody> changeUserInfo(@Body RequestBody body);
}