|
@@ -80,8 +80,10 @@ const Status = observer((props: Props) => {
|
|
|
const [diagnoseData, setDiagnoseData] = useState<any>({});
|
|
const [diagnoseData, setDiagnoseData] = useState<any>({});
|
|
|
const [artificiaData, setArtificiaData] = useState<any>({});
|
|
const [artificiaData, setArtificiaData] = useState<any>({});
|
|
|
|
|
|
|
|
- const [productTemp, setProductTemp] = useState<any>({});
|
|
|
|
|
|
|
+ const [productTemp, setProductTemp] = useState<any[]>([]);
|
|
|
|
|
+ const [deviceTemp, setDeviceTemp] = useState<any[]>([]);
|
|
|
const [gatewayTemp, setGatewayTemp] = useState<any>({});
|
|
const [gatewayTemp, setGatewayTemp] = useState<any>({});
|
|
|
|
|
+ const [productItem, setProductItem] = useState<any>({});
|
|
|
|
|
|
|
|
const getDetail = (id: string) => {
|
|
const getDetail = (id: string) => {
|
|
|
service.detail(id).then((response) => {
|
|
service.detail(id).then((response) => {
|
|
@@ -159,6 +161,7 @@ const Status = observer((props: Props) => {
|
|
|
} else {
|
|
} else {
|
|
|
service.queryProductState(InstanceModel.detail?.productId || '').then((resp) => {
|
|
service.queryProductState(InstanceModel.detail?.productId || '').then((resp) => {
|
|
|
if (resp.status === 200) {
|
|
if (resp.status === 200) {
|
|
|
|
|
+ setProductItem(resp.result);
|
|
|
if (resp.result.accessId) {
|
|
if (resp.result.accessId) {
|
|
|
service.queryGatewayState(resp.result.accessId).then((response: any) => {
|
|
service.queryGatewayState(resp.result.accessId).then((response: any) => {
|
|
|
if (response.status === 200) {
|
|
if (response.status === 200) {
|
|
@@ -422,6 +425,7 @@ const Status = observer((props: Props) => {
|
|
|
} else {
|
|
} else {
|
|
|
service.queryProductConfig(proItem.id).then((resp) => {
|
|
service.queryProductConfig(proItem.id).then((resp) => {
|
|
|
if (resp.status === 200) {
|
|
if (resp.status === 200) {
|
|
|
|
|
+ setProductTemp(resp?.result);
|
|
|
if (resp.result.length > 0) {
|
|
if (resp.result.length > 0) {
|
|
|
resp.result.map((item: any, index: number) => {
|
|
resp.result.map((item: any, index: number) => {
|
|
|
let data: any = {};
|
|
let data: any = {};
|
|
@@ -483,6 +487,7 @@ const Status = observer((props: Props) => {
|
|
|
} else {
|
|
} else {
|
|
|
service.queryDeviceConfig(InstanceModel.detail?.id || '').then((resp) => {
|
|
service.queryDeviceConfig(InstanceModel.detail?.id || '').then((resp) => {
|
|
|
if (resp.status === 200) {
|
|
if (resp.status === 200) {
|
|
|
|
|
+ setDeviceTemp(resp.result);
|
|
|
if (resp.result.length > 0) {
|
|
if (resp.result.length > 0) {
|
|
|
resp.result.map((item: any, index: number) => {
|
|
resp.result.map((item: any, index: number) => {
|
|
|
let data: any = {};
|
|
let data: any = {};
|
|
@@ -620,7 +625,6 @@ const Status = observer((props: Props) => {
|
|
|
.then(() => diagnoseNetwork())
|
|
.then(() => diagnoseNetwork())
|
|
|
.then((resp: any) => {
|
|
.then((resp: any) => {
|
|
|
product = resp?.product;
|
|
product = resp?.product;
|
|
|
- setProductTemp(resp?.product);
|
|
|
|
|
gateway = resp?.gatewayDetail;
|
|
gateway = resp?.gatewayDetail;
|
|
|
setGatewayTemp(resp?.gatewayDetail);
|
|
setGatewayTemp(resp?.gatewayDetail);
|
|
|
diagnoseProduct(product)
|
|
diagnoseProduct(product)
|
|
@@ -629,20 +633,14 @@ const Status = observer((props: Props) => {
|
|
|
.then(() => {
|
|
.then(() => {
|
|
|
diagnoseDeviceAuthConfig().then(() => {
|
|
diagnoseDeviceAuthConfig().then(() => {
|
|
|
diagnoseDeviceAccess(gateway).then(() => {
|
|
diagnoseDeviceAccess(gateway).then(() => {
|
|
|
- if (InstanceModel.detail.state?.value === 'online') {
|
|
|
|
|
- const a = Object.keys(DiagnoseStatusModel.status).find((item: any) => {
|
|
|
|
|
- return item.status !== 'success';
|
|
|
|
|
- });
|
|
|
|
|
- if (!!a) {
|
|
|
|
|
- Store.set('diagnose-status', {
|
|
|
|
|
- list: DiagnoseStatusModel.list,
|
|
|
|
|
- status: DiagnoseStatusModel.status,
|
|
|
|
|
- });
|
|
|
|
|
- props.onChange('success');
|
|
|
|
|
- } else {
|
|
|
|
|
- props.onChange('error');
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ if (InstanceModel.detail.state?.value !== 'online') {
|
|
|
|
|
+ props.onChange('error');
|
|
|
} else {
|
|
} else {
|
|
|
|
|
+ Store.set('diagnose-status', {
|
|
|
|
|
+ list: DiagnoseStatusModel.list,
|
|
|
|
|
+ status: DiagnoseStatusModel.status,
|
|
|
|
|
+ });
|
|
|
|
|
+ props.onChange('success');
|
|
|
}
|
|
}
|
|
|
});
|
|
});
|
|
|
});
|
|
});
|
|
@@ -668,23 +666,31 @@ const Status = observer((props: Props) => {
|
|
|
const flag = Object.keys(data).every((item: any) => {
|
|
const flag = Object.keys(data).every((item: any) => {
|
|
|
return data[item]?.status === 'success';
|
|
return data[item]?.status === 'success';
|
|
|
});
|
|
});
|
|
|
- if (flag) {
|
|
|
|
|
|
|
+ if (flag && InstanceModel.detail.state?.value !== 'online') {
|
|
|
// 展示诊断建议
|
|
// 展示诊断建议
|
|
|
if (
|
|
if (
|
|
|
- InstanceModel.detail.state?.value !== 'online' &&
|
|
|
|
|
gatewayTemp.provider !== 'mqtt-server-gateway' &&
|
|
gatewayTemp.provider !== 'mqtt-server-gateway' &&
|
|
|
gatewayList.includes(gatewayTemp.provider)
|
|
gatewayList.includes(gatewayTemp.provider)
|
|
|
) {
|
|
) {
|
|
|
service.queryProcotolDetail(gatewayTemp.provider, gatewayTemp.transport).then((resp1) => {
|
|
service.queryProcotolDetail(gatewayTemp.provider, gatewayTemp.transport).then((resp1) => {
|
|
|
setDiagnoseData({
|
|
setDiagnoseData({
|
|
|
product: productTemp,
|
|
product: productTemp,
|
|
|
- device: InstanceModel.detail,
|
|
|
|
|
- id: productTemp.id,
|
|
|
|
|
|
|
+ device: deviceTemp,
|
|
|
|
|
+ id: productItem.id,
|
|
|
provider: gatewayTemp.provider,
|
|
provider: gatewayTemp.provider,
|
|
|
routes: resp1.result?.routes || [],
|
|
routes: resp1.result?.routes || [],
|
|
|
});
|
|
});
|
|
|
setDiagnoseVisible(true);
|
|
setDiagnoseVisible(true);
|
|
|
});
|
|
});
|
|
|
|
|
+ } else {
|
|
|
|
|
+ setDiagnoseData({
|
|
|
|
|
+ product: productTemp,
|
|
|
|
|
+ device: deviceTemp,
|
|
|
|
|
+ id: productItem.i,
|
|
|
|
|
+ provider: gatewayTemp?.provider,
|
|
|
|
|
+ routes: [],
|
|
|
|
|
+ });
|
|
|
|
|
+ setDiagnoseVisible(true);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}, [DiagnoseStatusModel.status]);
|
|
}, [DiagnoseStatusModel.status]);
|