首页设备列表

This commit is contained in:
fengjignqi
2026-05-19 15:02:09 +08:00
parent 4ef664125e
commit 182289f82d
42 changed files with 669 additions and 5992 deletions

View File

@@ -19,6 +19,7 @@ import com.ckkj.water.index.mvp.IndexContract;
import com.ckkj.water.index.mvp.IndexImpl;
import com.ckkj.water.index.mvp.IndexPresenter;
import com.ckkj.water.network.BaseBean;
import com.ckkj.water.permission.PermissionActivity;
import com.ckkj.water.utils.show.ToastUtil;
import com.maning.mlkitscanner.scan.MNScanManager;
import com.maning.mlkitscanner.scan.callback.act.MNScanCallback;
@@ -33,6 +34,7 @@ public class IndexFragment extends BaseFragment<IndexFragmentLayoutBinding, Inde
private DeviceAdapter deviceAdapter;
private List<IndexDeviceEntity> devList = new ArrayList<>();
private int mCurrentPage = 1;
@Override
protected void initArgs(Bundle bundle) {
@@ -48,6 +50,8 @@ public class IndexFragment extends BaseFragment<IndexFragmentLayoutBinding, Inde
devList.add(entity2);
devList.add(entity3);
devList.add(entity4);
showLoadingDialog();
mPresenter.getDevicesList();
}
@Override
@@ -86,7 +90,13 @@ public class IndexFragment extends BaseFragment<IndexFragmentLayoutBinding, Inde
break;
case R.id.img_add:
goTo(mContext, AddDeviceActivity.class,null);
String permission = Manifest.permission.ACCESS_FINE_LOCATION;
boolean hasPermission = hasRecordPermission(permission);
if(!hasPermission){
goTo(mContext, PermissionActivity.class,null);
}else{
goTo(mContext, AddDeviceActivity.class,null);
}
break;
}
}
@@ -122,6 +132,15 @@ public class IndexFragment extends BaseFragment<IndexFragmentLayoutBinding, Inde
});
}
/**
* 获取设备列表成功
*/
@Override
public void getDeviceListSuccess() {
hideDialogLoading();
}
@Override
public void onDestroyView() {
super.onDestroyView();
@@ -133,6 +152,8 @@ public class IndexFragment extends BaseFragment<IndexFragmentLayoutBinding, Inde
@Override
public void showError(String message) {
hideDialogLoading();
ToastUtil.showShort(mContext,message);
}
@Override
@@ -148,4 +169,6 @@ public class IndexFragment extends BaseFragment<IndexFragmentLayoutBinding, Inde
scanQrcode();
}
}
}

View File

@@ -6,6 +6,8 @@ import com.ckkj.water.network.BaseBean;
import org.json.JSONObject;
import java.util.Map;
/**
* @author fengxiaoyang
* @date 2025/7/26
@@ -18,8 +20,26 @@ public class IndexContract {
void fail(String msg);
}
public interface DataModel{
//获取设备列表
void getDeviceList(Map<String,String> map,CallBack callBack);
//查询设备信息
void getDeviceInfomation(Map<String,String> map,CallBack callBack);
//添加设备
void addDevice(JSONObject json,CallBack callBack);
//修改设备信息
void editDeviceInfo(JSONObject json,CallBack callBack);
//修改设备信息
void deleteDevice(JSONObject json,CallBack callBack);
//手动开启关闭设备
void turnOnOffDevice(JSONObject json,CallBack callBack);
}
public interface IndexView extends IView{
void getDeviceListSuccess();
}
}

View File

@@ -1,5 +1,76 @@
package com.ckkj.water.index.mvp;
import com.ckkj.water.network.BaseBean;
import com.ckkj.water.network.NetWorkManager;
import org.json.JSONObject;
import java.util.Map;
import io.reactivex.Observer;
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.annotations.NonNull;
import io.reactivex.disposables.Disposable;
import io.reactivex.schedulers.Schedulers;
public class IndexImpl implements IndexContract.DataModel{
/**
* 设备列表
* @param map
* @param callBack
*/
@Override
public void getDeviceList(Map<String, String> map, IndexContract.CallBack callBack) {
NetWorkManager.getRequest().getIndexDeviceList(NetWorkManager.getToken())
.subscribeOn(Schedulers.io())
.unsubscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<BaseBean>() {
@Override
public void onSubscribe(@NonNull Disposable d) {
}
@Override
public void onNext(@NonNull BaseBean bean) {
if (bean.getCode() == 200) {
callBack.success(bean.getData());
}
}
@Override
public void onError(@NonNull Throwable e) {
callBack.fail(e.getMessage());
}
@Override
public void onComplete() {
}
});
}
@Override
public void getDeviceInfomation(Map<String, String> map, IndexContract.CallBack callBack) {
}
@Override
public void addDevice(JSONObject json, IndexContract.CallBack callBack) {
}
@Override
public void editDeviceInfo(JSONObject json, IndexContract.CallBack callBack) {
}
@Override
public void deleteDevice(JSONObject json, IndexContract.CallBack callBack) {
}
@Override
public void turnOnOffDevice(JSONObject json, IndexContract.CallBack callBack) {
}
}

View File

@@ -4,6 +4,8 @@ import com.ckkj.water.base.BasePresenter;
import com.ckkj.water.login.mvp.LoginImpl;
import com.ckkj.water.network.BaseBean;
import java.util.HashMap;
public class IndexPresenter extends BasePresenter<IndexContract.IndexView>{
private IndexImpl mImpl;
@@ -12,4 +14,24 @@ public class IndexPresenter extends BasePresenter<IndexContract.IndexView>{
this.mImpl = mImpl;
}
/**
* 查询设备列表
*/
public void getDevicesList() {
mImpl.getDeviceList(new HashMap<>(), new IndexContract.CallBack<BaseBean>() {
@Override
public void success(BaseBean bean) {
if(IndexPresenter.this.getView() != null){
IndexPresenter.this.getView().getDeviceListSuccess();
}
}
@Override
public void fail(String msg) {
if(IndexPresenter.this.getView() != null){
IndexPresenter.this.getView().showError(msg);
}
}
});
}
}