feat: improve nursing article module with rich content and view tracking
- Add content field (LONGTEXT) with Quill rich text editor in admin UI
- Add view_count field with auto-increment API endpoint
- Replace manual image URL input with image-upload component
- Add /system/nursing/published and /view/{id} public endpoints
- Improve Android error handling with toast and cache fallback
- Optimize ViewHolderFive adapter to reuse instead of recreating
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -145,7 +145,7 @@ public class HomeFragment extends BaseFragment {
|
||||
private void initNursingInfo() {
|
||||
OkGo.<String>get(HttpConstants.URi_system_getAppIndexInfo)
|
||||
.converter(new StringConvert())
|
||||
.cacheMode(CacheMode.NO_CACHE)
|
||||
.cacheMode(CacheMode.REQUEST_FAILED_READ_CACHE)
|
||||
.adapt(new ObservableResponse<String>())
|
||||
.subscribeOn(Schedulers.io())
|
||||
.observeOn(AndroidSchedulers.mainThread())
|
||||
@@ -181,6 +181,7 @@ public class HomeFragment extends BaseFragment {
|
||||
@Override
|
||||
public void onError(@NonNull Throwable e) {
|
||||
e.printStackTrace();
|
||||
toast("加载护理资讯失败");
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -32,10 +32,12 @@ import de.greenrobot.event.EventBus;
|
||||
public class ViewHolderFive extends AbstractViewTypeHolder {
|
||||
|
||||
private final RecyclerView style_recyleview;
|
||||
private BaseQuickAdapter<homeListBean, BaseViewHolder> mAdapter;
|
||||
|
||||
public ViewHolderFive(View itemView) {
|
||||
super(itemView);
|
||||
style_recyleview = (RecyclerView) itemView.findViewById(R.id.reply_rcey);
|
||||
style_recyleview.setLayoutManager(new LinearLayoutManager(itemView.getContext()));
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -43,36 +45,40 @@ public class ViewHolderFive extends AbstractViewTypeHolder {
|
||||
super.bindHolder(dataBean, position, mContext, mviewListener);
|
||||
|
||||
//护理资讯
|
||||
LinearLayoutManager manager = new LinearLayoutManager(mContext);
|
||||
style_recyleview.setLayoutManager(manager);
|
||||
List<homeListBean> data = dataBean.getNursingInfoList();
|
||||
if (data == null) {
|
||||
data = new ArrayList<>();
|
||||
}
|
||||
final List<homeListBean> finalData = data;
|
||||
style_recyleview.setAdapter(new BaseQuickAdapter<homeListBean, BaseViewHolder>(R.layout.home_list_item, data) {
|
||||
@Override
|
||||
protected void convert(final BaseViewHolder helper, final homeListBean item) {
|
||||
WidgetTools.setTextfive((TextView) helper.getView(R.id.img_modify), "", helper.getAdapterPosition() + 1 + "." + item.getContent());
|
||||
GlideTools.init(mContext).displaypic((ImageView) helper.getView(R.id.home_img_01), item.getPic(), R.mipmap.home_bj01);
|
||||
RelativeLayout rl_style = (RelativeLayout)helper.getView(R.id.reply_dialog_rl);
|
||||
rl_style.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View view) {
|
||||
if(!ProfileSpUtils.getInstance().isLogin()){
|
||||
Intent intent =new Intent(mContext, NewCodeLoginActivity.class);
|
||||
mContext.startActivity(intent);
|
||||
return;
|
||||
|
||||
if (mAdapter == null) {
|
||||
mAdapter = new BaseQuickAdapter<homeListBean, BaseViewHolder>(R.layout.home_list_item, data) {
|
||||
@Override
|
||||
protected void convert(final BaseViewHolder helper, final homeListBean item) {
|
||||
WidgetTools.setTextfive((TextView) helper.getView(R.id.img_modify), "", helper.getAdapterPosition() + 1 + "." + item.getContent());
|
||||
GlideTools.init(mContext).displaypic((ImageView) helper.getView(R.id.home_img_01), item.getPic(), R.mipmap.home_bj01);
|
||||
RelativeLayout rl_style = (RelativeLayout) helper.getView(R.id.reply_dialog_rl);
|
||||
rl_style.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View view) {
|
||||
if (!ProfileSpUtils.getInstance().isLogin()) {
|
||||
Intent intent = new Intent(mContext, NewCodeLoginActivity.class);
|
||||
mContext.startActivity(intent);
|
||||
return;
|
||||
}
|
||||
String url = item.getUrl();
|
||||
if (url != null && !url.isEmpty()) {
|
||||
XfiveWebActivity.runActivity(mContext, "了解陪护", url);
|
||||
} else {
|
||||
XfiveWebActivity.runActivity(mContext, "了解陪护", "file:///android_asset/privacy.html");
|
||||
}
|
||||
}
|
||||
String url = item.getUrl();
|
||||
if (url != null && !url.isEmpty()) {
|
||||
XfiveWebActivity.runActivity(mContext, "了解陪护", url);
|
||||
} else {
|
||||
XfiveWebActivity.runActivity(mContext, "了解陪护", "file:///android_asset/privacy.html");
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
};
|
||||
style_recyleview.setAdapter(mAdapter);
|
||||
} else {
|
||||
mAdapter.setNewData(finalData);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user