version:1.1.8

fix:修复账号信息不显示
update:主页显示班级
This commit is contained in:
2026-02-06 16:26:29 +08:00
parent 0592474700
commit d28b677cde
11 changed files with 97 additions and 9 deletions

View File

@@ -17,8 +17,8 @@ android {
minSdkVersion 23 minSdkVersion 23
targetSdkVersion 29 targetSdkVersion 29
versionCode 19 versionCode 20
versionName "1.1.8" versionName "1.1.9"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"

View File

@@ -18,6 +18,7 @@ import com.xwad.os.R;
import com.xwad.os.activity.ExitActivity; import com.xwad.os.activity.ExitActivity;
import com.xwad.os.activity.user.UserActivity; import com.xwad.os.activity.user.UserActivity;
import com.xwad.os.base.mvvm.fragment.BaseMvvmFragment; import com.xwad.os.base.mvvm.fragment.BaseMvvmFragment;
import com.xwad.os.bean.SnInfo;
import com.xwad.os.bean.UserAvatarInfo; import com.xwad.os.bean.UserAvatarInfo;
import com.xwad.os.config.CommonConfig; import com.xwad.os.config.CommonConfig;
import com.xwad.os.databinding.FragmentMineBinding; import com.xwad.os.databinding.FragmentMineBinding;
@@ -193,13 +194,36 @@ public class MineFragment extends BaseMvvmFragment<MineViewModel, FragmentMineBi
mViewDataBinding.setUserAvatarInfo(userAvatarInfo); mViewDataBinding.setUserAvatarInfo(userAvatarInfo);
} }
}); });
mViewModel.mSnInfoData.observe(this, new Observer<SnInfo>() {
@Override
public void onChanged(SnInfo snInfo) {
if (snInfo != null) {
if (!TextUtils.isEmpty(snInfo.getSn_name())) {
mViewDataBinding.tvName.setText(snInfo.getSn_name());
} else {
mViewDataBinding.tvName.setText(getString(R.string.default_nickname));
}
if (!TextUtils.isEmpty(snInfo.getGrade())) {
mViewDataBinding.tvGrade.setText(snInfo.getGrade());
} else {
mViewDataBinding.tvGrade.setText(getString(R.string.default_grade));
}
if (!TextUtils.isEmpty(snInfo.getClass_name())) {
mViewDataBinding.tvWlz.setText(snInfo.getClass_name());
} else {
mViewDataBinding.tvWlz.setText(getString(R.string.default_class));
}
}
}
});
mViewModel.getSnInfo(); mViewModel.getSnInfo();
} }
@Override @Override
public void fetchData() { public void fetchData() {
Log.e(TAG, "fetchData: "); Log.e(TAG, "fetchData: ");
setName();
} }
@Override @Override
@@ -212,6 +236,7 @@ public class MineFragment extends BaseMvvmFragment<MineViewModel, FragmentMineBi
public void onResume() { public void onResume() {
super.onResume(); super.onResume();
mViewModel.getUserAvatarInfo(); mViewModel.getUserAvatarInfo();
setName();
} }
@Override @Override
@@ -234,6 +259,12 @@ public class MineFragment extends BaseMvvmFragment<MineViewModel, FragmentMineBi
} else { } else {
mViewDataBinding.tvGrade.setText(sn_grade); mViewDataBinding.tvGrade.setText(sn_grade);
} }
String sn_class = mMMKV.decodeString(CommonConfig.UIUI_USER_CLASS_KEY, "1班");
if (TextUtils.isEmpty(sn_class)) {
mViewDataBinding.tvWlz.setText(getString(R.string.default_class));
} else {
mViewDataBinding.tvWlz.setText(sn_class);
}
} }
// public void initAppData() { // public void initAppData() {

View File

@@ -4,14 +4,15 @@ import android.util.Log;
import androidx.lifecycle.MutableLiveData; import androidx.lifecycle.MutableLiveData;
import com.tencent.mmkv.MMKV;
import com.trello.rxlifecycle4.RxLifecycle; import com.trello.rxlifecycle4.RxLifecycle;
import com.trello.rxlifecycle4.android.ActivityEvent; import com.trello.rxlifecycle4.android.FragmentEvent;
import com.xwad.os.base.mvvm.BaseViewModel; import com.xwad.os.base.mvvm.BaseViewModel;
import com.xwad.os.bean.BaseResponse; import com.xwad.os.bean.BaseResponse;
import com.xwad.os.bean.SnInfo; import com.xwad.os.bean.SnInfo;
import com.xwad.os.bean.UserAvatarInfo; import com.xwad.os.bean.UserAvatarInfo;
import com.xwad.os.config.CommonConfig;
import com.xwad.os.databinding.FragmentMineBinding; import com.xwad.os.databinding.FragmentMineBinding;
import com.trello.rxlifecycle4.android.FragmentEvent;
import com.xwad.os.network.NetInterfaceManager; import com.xwad.os.network.NetInterfaceManager;
import io.reactivex.rxjava3.annotations.NonNull; import io.reactivex.rxjava3.annotations.NonNull;
@@ -19,6 +20,9 @@ import io.reactivex.rxjava3.core.Observer;
import io.reactivex.rxjava3.disposables.Disposable; import io.reactivex.rxjava3.disposables.Disposable;
public class MineViewModel extends BaseViewModel<FragmentMineBinding, FragmentEvent> { public class MineViewModel extends BaseViewModel<FragmentMineBinding, FragmentEvent> {
private MMKV mMMKV = MMKV.mmkvWithID(CommonConfig.MMKV_ID, MMKV.MULTI_PROCESS_MODE);
@Override @Override
public FragmentMineBinding getVDBinding() { public FragmentMineBinding getVDBinding() {
return binding; return binding;
@@ -75,6 +79,14 @@ public class MineViewModel extends BaseViewModel<FragmentMineBinding, FragmentEv
Log.e("getSnInfo", "onNext: " + snInfoBaseResponse); Log.e("getSnInfo", "onNext: " + snInfoBaseResponse);
if (snInfoBaseResponse.code == 200) { if (snInfoBaseResponse.code == 200) {
mSnInfoData.setValue(snInfoBaseResponse.data); mSnInfoData.setValue(snInfoBaseResponse.data);
SnInfo snInfo = snInfoBaseResponse.data;
mMMKV.encode(CommonConfig.UIUI_USER_GENDER_KEY, snInfo.getSex());
mMMKV.encode(CommonConfig.UIUI_USER_NAME_KEY, snInfo.getSn_name());
mMMKV.encode(CommonConfig.UIUI_USER_SCHOOL_KEY, snInfo.getSchool());
mMMKV.encode(CommonConfig.UIUI_USER_GRADE_KEY, snInfo.getGrade());
mMMKV.encode(CommonConfig.UIUI_USER_CLASS_KEY, snInfo.getClass_name());
mMMKV.encode(CommonConfig.UIUI_USER_AVATAR_KEY, snInfo.getGrade());
mMMKV.encode(CommonConfig.UIUI_USER_MOBILE_KEY, snInfo.getMobile());
} }
} }

View File

@@ -103,12 +103,12 @@ public class AccountFragment extends BaseMvvmFragment<AccountViewModel, Fragment
} }
} }
}); });
mViewModel.getUserInfo();
} }
@Override @Override
public void fetchData() { public void fetchData() {
Log.e(TAG, "fetchData: "); Log.e(TAG, "fetchData: ");
mViewModel.getUserInfo();
} }
@Override @Override

View File

@@ -113,6 +113,11 @@ public class InfoFragment extends BaseMvvmFragment<InfoViewModel, FragmentInfoBi
} }
} }
}); });
if (ActivationUtil.getInstance().isLogin()) {
mViewModel.getSnInfo();
} else {
getLocalData();
}
} }
@Override @Override

View File

@@ -5,14 +5,15 @@ import android.util.Log;
import androidx.lifecycle.MutableLiveData; import androidx.lifecycle.MutableLiveData;
import com.hjq.toast.Toaster; import com.hjq.toast.Toaster;
import com.tencent.mmkv.MMKV;
import com.trello.rxlifecycle4.RxLifecycle; import com.trello.rxlifecycle4.RxLifecycle;
import com.trello.rxlifecycle4.android.FragmentEvent; import com.trello.rxlifecycle4.android.FragmentEvent;
import com.xwad.os.base.mvvm.BaseViewModel; import com.xwad.os.base.mvvm.BaseViewModel;
import com.xwad.os.bean.BaseResponse; import com.xwad.os.bean.BaseResponse;
import com.xwad.os.bean.SnInfo; import com.xwad.os.bean.SnInfo;
import com.xwad.os.config.CommonConfig;
import com.xwad.os.databinding.FragmentInfoBinding; import com.xwad.os.databinding.FragmentInfoBinding;
import com.xwad.os.network.NetInterfaceManager; import com.xwad.os.network.NetInterfaceManager;
import com.xwad.os.utils.ActivationUtil;
import java.util.Map; import java.util.Map;
@@ -21,6 +22,7 @@ import io.reactivex.rxjava3.core.Observer;
import io.reactivex.rxjava3.disposables.Disposable; import io.reactivex.rxjava3.disposables.Disposable;
public class InfoViewModel extends BaseViewModel<FragmentInfoBinding, FragmentEvent> { public class InfoViewModel extends BaseViewModel<FragmentInfoBinding, FragmentEvent> {
private MMKV mMMKV = MMKV.mmkvWithID(CommonConfig.MMKV_ID, MMKV.MULTI_PROCESS_MODE);
@Override @Override
public FragmentInfoBinding getVDBinding() { public FragmentInfoBinding getVDBinding() {
@@ -48,6 +50,14 @@ public class InfoViewModel extends BaseViewModel<FragmentInfoBinding, FragmentEv
Log.e("getSnInfo", "onNext: " + snInfoBaseResponse); Log.e("getSnInfo", "onNext: " + snInfoBaseResponse);
if (snInfoBaseResponse.code == 200) { if (snInfoBaseResponse.code == 200) {
mSnInfoData.setValue(snInfoBaseResponse.data); mSnInfoData.setValue(snInfoBaseResponse.data);
SnInfo snInfo = snInfoBaseResponse.data;
mMMKV.encode(CommonConfig.UIUI_USER_GENDER_KEY, snInfo.getSex());
mMMKV.encode(CommonConfig.UIUI_USER_NAME_KEY, snInfo.getSn_name());
mMMKV.encode(CommonConfig.UIUI_USER_SCHOOL_KEY, snInfo.getSchool());
mMMKV.encode(CommonConfig.UIUI_USER_GRADE_KEY, snInfo.getGrade());
mMMKV.encode(CommonConfig.UIUI_USER_CLASS_KEY, snInfo.getClass_name());
mMMKV.encode(CommonConfig.UIUI_USER_AVATAR_KEY, snInfo.getGrade());
mMMKV.encode(CommonConfig.UIUI_USER_MOBILE_KEY, snInfo.getMobile());
} }
} }

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 348 KiB

View File

@@ -137,14 +137,14 @@
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="14dp" android:layout_height="14dp"
android:visibility="gone" android:visibility="visible"
android:gravity="center_vertical" android:gravity="center_vertical"
android:orientation="horizontal"> android:orientation="horizontal">
<TextView <TextView
android:layout_width="32dp" android:layout_width="32dp"
android:layout_height="10dp" android:layout_height="10dp"
android:text="学力值" android:text="班级"
android:textColor="#60ffffff" android:textColor="#60ffffff"
android:textSize="7sp" /> android:textSize="7sp" />

View File

@@ -148,6 +148,7 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="12dp" android:layout_marginTop="12dp"
android:visibility="gone"
android:orientation="horizontal"> android:orientation="horizontal">
<LinearLayout <LinearLayout
@@ -250,6 +251,34 @@
android:orientation="vertical" android:orientation="vertical"
android:tag="@string/tag_args_new_xbzq" /> android:tag="@string/tag_args_new_xbzq" />
</LinearLayout> </LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="12dp"
android:orientation="horizontal">
<ImageView
android:layout_width="163dp"
android:layout_height="138dp"
android:adjustViewBounds="true"
android:onClick="onClick"
android:scaleType="centerCrop"
android:src="@drawable/icon_read_zhtsg"
android:tag="@string/tag_args_new_zhtsg_tsg" />
<ImageView
android:layout_width="383dp"
android:layout_height="138dp"
android:layout_marginStart="9dp"
android:adjustViewBounds="true"
android:onClick="onClick"
android:scaleType="centerCrop"
android:src="@drawable/icon_read_syhbg"
android:tag="@string/tag_args_new_zhtsg_syhb" />
</LinearLayout>
</LinearLayout> </LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout> </androidx.constraintlayout.widget.ConstraintLayout>

View File

@@ -9,6 +9,7 @@
<string name="device_unauthorized">设备未经授权</string> <string name="device_unauthorized">设备未经授权</string>
<string name="default_nickname">小学王</string> <string name="default_nickname">小学王</string>
<string name="default_grade">一年级</string> <string name="default_grade">一年级</string>
<string name="default_class">1班</string>
<string name="locked_hint">家长设置了屏幕锁定,你可以联系家长解锁屏幕,或通过密码解锁</string> <string name="locked_hint">家长设置了屏幕锁定,你可以联系家长解锁屏幕,或通过密码解锁</string>
<string name="available_time">可用时间\n</string> <string name="available_time">可用时间\n</string>