123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241 |
- package com.emato.ich.fragment;
- import android.os.Bundle;
- import com.bumptech.glide.Glide;
- import com.bumptech.glide.load.engine.DiskCacheStrategy;
- import com.emato.ich.entity.BzCabBizCfg;
- import com.emato.ich.enums.TakeButtonShowEnum;
- import com.emato.ich.enums.TakeQrCodeShowEnum;
- import com.emato.ich.utils.JacksonUtils;
- import com.emato.ich.utils.Log;
- import android.os.CountDownTimer;
- import android.view.LayoutInflater;
- import android.view.View;
- import android.view.ViewGroup;
- import android.widget.ImageView;
- import android.widget.TextView;
- import androidx.annotation.NonNull;
- import androidx.fragment.app.Fragment;
- import com.emato.ich.MainActivity;
- import com.emato.ich.R;
- import com.emato.ich.contant.SystemConfigConstant;
- import com.emato.ich.databinding.FragmentMainBinding;
- import com.emato.ich.utils.ButtonUtils;
- import com.emato.ich.utils.LoggingUtils;
- import com.emato.ich.utils.NavUtils;
- import com.emato.ich.utils.StringUtils;
- import com.emato.ich.utils.TimeOutUtils;
- import com.fasterxml.jackson.core.JsonProcessingException;
- import com.fasterxml.jackson.core.type.TypeReference;
- import com.fasterxml.jackson.databind.ObjectMapper;
- import com.hacknife.carouselbanner.CarouselBanner;
- import org.jetbrains.annotations.NotNull;
- import java.util.ArrayList;
- import java.util.List;
- import java.util.Objects;
- /**
- * 主页
- */
- public class MainFragment extends Fragment {
- private static final String TAG = MainFragment.class.getName();
- private FragmentMainBinding binding;
- private long start;
- CarouselBanner banner;
- private CountDownTimer timer;
- @Override
- public View onCreateView(
- @NotNull LayoutInflater inflater, ViewGroup container,
- Bundle savedInstanceState
- ) {
- start = System.currentTimeMillis();
- binding = FragmentMainBinding.inflate(inflater, container, false);
- return binding.getRoot();
- }
- public void onViewCreated(@NonNull View view, Bundle savedInstanceState) {
- long end = System.currentTimeMillis();
- Log.i(TAG, TAG + "页面渲染速度为" + (end - start) + "ms。");
- MainActivity activity = ((MainActivity) getActivity());
- try {
- timer = TimeOutUtils.timeout(activity, MainFragment.this, binding.timeout, 20);
- timer.start();
- } catch (Exception e) {
- Log.e(TAG, "onViewCreated: 倒计时出现异常! ", e);
- LoggingUtils.sendErrorLog("业务异常: 取件码输入页面倒计时出现异常! ", e);
- }
- super.onViewCreated(view, savedInstanceState);
- String url = activity.getConfigMap().get(SystemConfigConstant.cabinet_take_object_qrcode_url);
- String takeQrCodeShow = activity.getConfigMap().get(SystemConfigConstant.take_qr_code_show);
- String takeButtonShow = activity.getConfigMap().get(SystemConfigConstant.take_button_show);
- // 取件二维码不展示 取件码取件展示
- if (TakeQrCodeShowEnum.item_1.getItem().equals(takeQrCodeShow) && !TakeButtonShowEnum.item_1.getItem().equals(takeButtonShow)){
- view.findViewById(R.id.fast_take_send).setVisibility(View.GONE);
- view.findViewById(R.id.fast_take_send_background).setVisibility(View.GONE);
- view.findViewById(R.id.take_btn).setVisibility(View.VISIBLE);
- try {
- ImageView sendBtn = view.findViewById(R.id.send_btn);
- ViewGroup.LayoutParams layoutParams = sendBtn.getLayoutParams();
- layoutParams.width = 1020; // 设置宽度为200像素
- sendBtn.setLayoutParams(layoutParams);
- Glide.with(view).load("http://183.3.221.143:80/group1/M00/00/26/twPdj2T_y2aAfNr4AAB2NW7s_cU101.png")
- .skipMemoryCache(true)//跳过内存缓存
- .diskCacheStrategy(DiskCacheStrategy.NONE)//不缓冲disk硬盘中
- .into(sendBtn);
- ImageView takeBtn = view.findViewById(R.id.take_btn);
- ViewGroup.LayoutParams takeBtnLayoutParams = takeBtn.getLayoutParams();
- takeBtnLayoutParams.width = 1020; // 设置宽度为200像素
- takeBtn.setLayoutParams(takeBtnLayoutParams);
- Glide.with(view).load("http://183.3.221.143:80/group1/M00/00/26/twPdj2T_y0eAN88zAACNFgq1OjE237.png")
- .skipMemoryCache(true)//跳过内存缓存
- .diskCacheStrategy(DiskCacheStrategy.NONE)//不缓冲disk硬盘中
- .into(takeBtn);
- ImageView delivererBtnView = view.findViewById(R.id.deliverer_btn);
- ViewGroup.LayoutParams delivererBtnLayoutParams = delivererBtnView.getLayoutParams();
- delivererBtnLayoutParams.width = 1020; // 设置宽度为400像素
- delivererBtnView.setLayoutParams(delivererBtnLayoutParams);
- Glide.with(view).load("http://183.3.221.143:80/group1/M00/00/26/twPdj2T_y1mAXz1xAAA0htZRbz4789.png")
- .skipMemoryCache(true)//跳过内存缓存
- .diskCacheStrategy(DiskCacheStrategy.NONE)//不缓冲disk硬盘中
- .into(delivererBtnView);
- } catch (Exception e) {
- Log.e(TAG, "onResponse: Glide设置图片异常! ", e);
- LoggingUtils.sendErrorLog("业务异常: Glide请求微信公众号图片异常! ", e);
- }
- view.findViewById(R.id.take_btn).setTranslationX(-537);
- view.findViewById(R.id.send_btn).setTranslationX(-537);
- view.findViewById(R.id.deliverer_btn).setTranslationX(-537);
- view.findViewById(R.id.take_btn).requestLayout();
- view.findViewById(R.id.send_btn).requestLayout();
- view.findViewById(R.id.deliverer_btn).requestLayout();
- }else if (!TakeQrCodeShowEnum.item_1.getItem().equals(takeQrCodeShow) && TakeButtonShowEnum.item_1.getItem().equals(takeButtonShow)){
- // 取件二维码展示 取件码取件不展示
- try {
- ImageView sendbtn = view.findViewById(R.id.send_btn);
- ViewGroup.LayoutParams layoutParams = sendbtn.getLayoutParams();
- layoutParams.height = 666; // 设置高度为300像素
- sendbtn.setLayoutParams(layoutParams);
- Glide.with(view).load("http://183.3.221.143:80/group1/M00/00/26/twPdj2T_yyOAQrj9AAB2pLRKDUA329.png")
- .skipMemoryCache(true)//跳过内存缓存
- .diskCacheStrategy(DiskCacheStrategy.NONE)//不缓冲disk硬盘中
- .into(sendbtn);
- } catch (Exception e) {
- Log.e(TAG, "onResponse: Glide设置图片异常! ", e);
- LoggingUtils.sendErrorLog("业务异常: Glide请求微信公众号图片异常! ", e);
- }
- view.findViewById(R.id.fast_take_send).setVisibility(View.VISIBLE);
- view.findViewById(R.id.fast_take_send_background).setVisibility(View.VISIBLE);
- view.findViewById(R.id.take_btn).setVisibility(View.GONE);
- view.findViewById(R.id.send_btn).setTranslationY(-12);
- }else {
- // 取件二维码展示 取件码取件展示 不存在这个
- view.findViewById(R.id.fast_take_send).setVisibility(View.VISIBLE);
- view.findViewById(R.id.fast_take_send_background).setVisibility(View.VISIBLE);
- view.findViewById(R.id.take_btn).setVisibility(View.VISIBLE);
- }
- if (getActivity() != null && activity.getConfigMap().size() > 0 && !StringUtils.isNullOrEmpty(url)) {
- try {
- ImageView imageView = view.findViewById(R.id.fast_take_send);
- Glide.with(view).load(url)
- .skipMemoryCache(true)//跳过内存缓存
- .diskCacheStrategy(DiskCacheStrategy.NONE)//不缓冲disk硬盘中
- .into(imageView);
- } catch (Exception e) {
- Log.e(TAG, "onResponse: Glide设置图片异常! ", e);
- LoggingUtils.sendErrorLog("业务异常: Glide请求微信公众号图片异常! ", e);
- }
- }
- // 取出缓存 重新加载图片
- // 获取轮播图数组字符串
- String cabImgListStr = activity.getConfigMap().get(SystemConfigConstant.CAB_IMG_LIST);
- // 转为 List
- List<String> cabImgList = new ArrayList<>();
- ObjectMapper objectMapper = JacksonUtils.objectmapper;
- if(cabImgListStr != null){
- try {
- cabImgList = objectMapper.readValue(cabImgListStr, new TypeReference<List<String>>() {
- });
- } catch (JsonProcessingException e) {
- Log.e(TAG, "获取轮播图异常: Glide设置图片异常! ", e);
- LoggingUtils.sendErrorLog("业务异常: 获取缓存轮播图异常: Glide设置轮播图失败! ", e);
- }
- banner = view.findViewById(R.id.banner);
- if(!cabImgList.isEmpty() && cabImgList.size() > 0){
- banner.initBanner(cabImgList);
- }else {
- Log.e(TAG, "轮播图为空!: Glide设置图片异常! ");
- LoggingUtils.sendErrorLog("轮播图为空!: Glide设置轮播图失败! ",null);
- }
- }
- Bundle bundle = new Bundle();
- // 我要寄快递页面跳转
- binding.sendBtn.setOnClickListener(view12 -> {
- if (ButtonUtils.isFastClick()) {
- return;
- }
- bundle.putString("pageType","expressDelivery");
- activity.getBundleMap().put(MainFragment.class.getName(), bundle);
- if (null != timer) {
- timer.cancel();
- }
- NavUtils.navigate(this, R.id.action_mainFragment_to_chooseCabinetFragment);
- });
- // 取件页面跳转 德合隐藏
- binding.takeBtn.setOnClickListener(view1 -> {
- if (ButtonUtils.isFastClick()) {
- return;
- }
- if (null != timer) {
- timer.cancel();
- }
- NavUtils.navigate(this, R.id.action_mainFragment_to_takeFragment);
- });
- // 派件员页面跳转
- binding.delivererBtn.setOnClickListener(view1 -> {
- if (ButtonUtils.isFastClick()) {
- return;
- }
- bundle.putString("pageType","collectMaterials");
- activity.getBundleMap().put(MainFragment.class.getName(), bundle);
- if (null != timer) {
- timer.cancel();
- }
- NavUtils.navigate(this, R.id.action_mainFragment_to_courier_fragment);
- });
- }
- @Override
- public void onDestroyView() {
- super.onDestroyView();
- binding = null;
- Log.i(TAG, TAG + "被销毁。。。");
- }
- }
|