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
targetSdkVersion 29
versionCode 19
versionName "1.1.8"
versionCode 20
versionName "1.1.9"
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.user.UserActivity;
import com.xwad.os.base.mvvm.fragment.BaseMvvmFragment;
import com.xwad.os.bean.SnInfo;
import com.xwad.os.bean.UserAvatarInfo;
import com.xwad.os.config.CommonConfig;
import com.xwad.os.databinding.FragmentMineBinding;
@@ -193,13 +194,36 @@ public class MineFragment extends BaseMvvmFragment<MineViewModel, FragmentMineBi
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();
}
@Override
public void fetchData() {
Log.e(TAG, "fetchData: ");
setName();
}
@Override
@@ -212,6 +236,7 @@ public class MineFragment extends BaseMvvmFragment<MineViewModel, FragmentMineBi
public void onResume() {
super.onResume();
mViewModel.getUserAvatarInfo();
setName();
}
@Override
@@ -234,6 +259,12 @@ public class MineFragment extends BaseMvvmFragment<MineViewModel, FragmentMineBi
} else {
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() {

View File

@@ -4,14 +4,15 @@ import android.util.Log;
import androidx.lifecycle.MutableLiveData;
import com.tencent.mmkv.MMKV;
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.bean.BaseResponse;
import com.xwad.os.bean.SnInfo;
import com.xwad.os.bean.UserAvatarInfo;
import com.xwad.os.config.CommonConfig;
import com.xwad.os.databinding.FragmentMineBinding;
import com.trello.rxlifecycle4.android.FragmentEvent;
import com.xwad.os.network.NetInterfaceManager;
import io.reactivex.rxjava3.annotations.NonNull;
@@ -19,6 +20,9 @@ import io.reactivex.rxjava3.core.Observer;
import io.reactivex.rxjava3.disposables.Disposable;
public class MineViewModel extends BaseViewModel<FragmentMineBinding, FragmentEvent> {
private MMKV mMMKV = MMKV.mmkvWithID(CommonConfig.MMKV_ID, MMKV.MULTI_PROCESS_MODE);
@Override
public FragmentMineBinding getVDBinding() {
return binding;
@@ -75,6 +79,14 @@ public class MineViewModel extends BaseViewModel<FragmentMineBinding, FragmentEv
Log.e("getSnInfo", "onNext: " + snInfoBaseResponse);
if (snInfoBaseResponse.code == 200) {
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
public void fetchData() {
Log.e(TAG, "fetchData: ");
mViewModel.getUserInfo();
}
@Override

View File

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

View File

@@ -5,14 +5,15 @@ import android.util.Log;
import androidx.lifecycle.MutableLiveData;
import com.hjq.toast.Toaster;
import com.tencent.mmkv.MMKV;
import com.trello.rxlifecycle4.RxLifecycle;
import com.trello.rxlifecycle4.android.FragmentEvent;
import com.xwad.os.base.mvvm.BaseViewModel;
import com.xwad.os.bean.BaseResponse;
import com.xwad.os.bean.SnInfo;
import com.xwad.os.config.CommonConfig;
import com.xwad.os.databinding.FragmentInfoBinding;
import com.xwad.os.network.NetInterfaceManager;
import com.xwad.os.utils.ActivationUtil;
import java.util.Map;
@@ -21,6 +22,7 @@ import io.reactivex.rxjava3.core.Observer;
import io.reactivex.rxjava3.disposables.Disposable;
public class InfoViewModel extends BaseViewModel<FragmentInfoBinding, FragmentEvent> {
private MMKV mMMKV = MMKV.mmkvWithID(CommonConfig.MMKV_ID, MMKV.MULTI_PROCESS_MODE);
@Override
public FragmentInfoBinding getVDBinding() {
@@ -48,6 +50,14 @@ public class InfoViewModel extends BaseViewModel<FragmentInfoBinding, FragmentEv
Log.e("getSnInfo", "onNext: " + snInfoBaseResponse);
if (snInfoBaseResponse.code == 200) {
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
android:layout_width="match_parent"
android:layout_height="14dp"
android:visibility="gone"
android:visibility="visible"
android:gravity="center_vertical"
android:orientation="horizontal">
<TextView
android:layout_width="32dp"
android:layout_height="10dp"
android:text="学力值"
android:text="班级"
android:textColor="#60ffffff"
android:textSize="7sp" />

View File

@@ -148,6 +148,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="12dp"
android:visibility="gone"
android:orientation="horizontal">
<LinearLayout
@@ -250,6 +251,34 @@
android:orientation="vertical"
android:tag="@string/tag_args_new_xbzq" />
</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>
</androidx.constraintlayout.widget.ConstraintLayout>

View File

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