From 0e2d775ebe0c370f8f68bb45f71fa3e85a8199e6 Mon Sep 17 00:00:00 2001 From: blak-kong <546598185@qq.com> Date: Mon, 4 Mar 2024 20:38:06 +0800 Subject: [PATCH] =?UTF-8?q?fix=EF=BC=9Abug=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/app.boot.js | 53 ++++++ src/components/bluetoot/connection/index.tsx | 5 +- src/components/navbar/navbar.tsx | 10 +- src/img/qrcode-test.jpg | Bin 81798 -> 22555 bytes src/pages/face_report/face_report.tsx | 6 +- src/pages/index/index.tsx | 22 +-- src/pages/instrument/instrument.tsx | 155 +++++------------- src/pages/instrument/intro.tsx | 4 +- src/pages/instrumentClickinUpload/index.tsx | 18 +- src/pages/instrument_manage/index.tsx | 139 ++++++---------- .../components/ElectricityView/index.tsx | 10 +- src/pages/iotCarePlan/iotCarePlan.tsx | 60 +++---- src/pages/user/user.less | 10 +- src/pages/user/user.tsx | 52 +++++- src/utils/log.js | 3 +- 15 files changed, 267 insertions(+), 280 deletions(-) create mode 100644 src/app.boot.js diff --git a/src/app.boot.js b/src/app.boot.js new file mode 100644 index 0000000..a2f9302 --- /dev/null +++ b/src/app.boot.js @@ -0,0 +1,53 @@ +import Taro from "@tarojs/taro"; +import { Component, PropsWithChildren } from "react"; +import "./app.less"; +// // html4 +// import "@tarojs/taro/html.css"; +// // html5 +// import "@tarojs/taro/html5.css"; + +import { Provider } from "react-redux"; +import store from "./store"; +import "./iconfont/iconfont.css"; +import "taro-ui/rn/style/components/icon.scss"; + +import { go } from "./utils/traoAPI"; + +class App extends Component { + // 可以使用所有的 React 生命周期方法 + componentDidMount() {} + + // 对应 onLaunch + onLaunch(options) { + // console.log("onLaunch", options); + if (options.scene == 1007 || options.scene == 1008) { + return; + } + + // go("/pages/iotCarePlan/iotCarePlan"); + // go("/pages/instrument_clickin_upload/index"); + // go("/pages/instrument/intro"); + // Taro.switchTab({ + // url: "/pages/user/user", + // }); + go("/pages/index/index"); + } + + onError(error) { + console.log("error 错误捕获", error); + } + + // 对应 onShow + componentDidShow() {} + + // 对应 onHide + componentDidHide() {} + + // this.props.children 是将要会渲染的页面 + render() { + // return this.props.children + return ; + } +} + +export default App; diff --git a/src/components/bluetoot/connection/index.tsx b/src/components/bluetoot/connection/index.tsx index c743bd7..09eed6b 100644 --- a/src/components/bluetoot/connection/index.tsx +++ b/src/components/bluetoot/connection/index.tsx @@ -952,7 +952,7 @@ class ConnectionBluetoot extends Component { // 超时未返回版本号 if (isGetVersionTimer) clearTimeout(isGetVersionTimer); console.log("超时未返回版本号 this.pairingChange", this.state); - // this.pairingChange(this.state); + this.pairingChange(this.state); } else { this.sendGetVersion(); } @@ -1022,7 +1022,7 @@ class ConnectionBluetoot extends Component { }; render() { - let { name, isConnection, connectionSuccess, error } = this.state; + let { isConnection, connectionSuccess, error } = this.state; let { deviceInfo, isDisconnect } = this.props; return ( @@ -1037,7 +1037,6 @@ class ConnectionBluetoot extends Component { error={error} title="面罩模式启动中" /> - {name} ); } diff --git a/src/components/navbar/navbar.tsx b/src/components/navbar/navbar.tsx index 5109789..780fe29 100644 --- a/src/components/navbar/navbar.tsx +++ b/src/components/navbar/navbar.tsx @@ -36,7 +36,12 @@ export default class Navbar extends Component { } back = () => { - back(); + //判断是否自定义跳转 + if (!this.props.isCustomBack) { + back(); + } else { + this.props.customBack(); + } }; setStatusBar() { @@ -44,7 +49,8 @@ export default class Navbar extends Component { success: (res) => { const statusBarHeight = res.statusBarHeight || 0; // 获取微信胶囊的位置信息 width,height,top,right,left,bottom - const custom = Taro.getMenuButtonBoundingClientRect(); + // const custom = Taro.getMenuButtonBoundingClientRect(); + const custom = { height: 60, top: 20 }; // 导航栏高度(标题栏高度) = 胶囊高度 + (顶部距离 - 状态栏高度) * 2 const navigationBarHeight = custom.height + (custom.top - statusBarHeight) * 2; diff --git a/src/img/qrcode-test.jpg b/src/img/qrcode-test.jpg index 66e7fab3f880c2a6af8c0a7b09989246573e233b..5d13f85647237c5ab45caa107e6a6fd371b53133 100644 GIT binary patch literal 22555 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%0AR`BOTjv+uY=NG|St*+eSesNItA*RCi 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 M&A@+q2HrIMKQ-U3BLDyZ literal 81798 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 { async initData() {} + GoIndex = () => { + Taro.switchTab({ url: "/pages/index/index" }); + }; + render() { let { name, statistics, recordList, recordData } = this.state; return ( @@ -221,7 +225,7 @@ export default class Index extends Component { 前往打卡 - 跳过 + 跳过 { // pageCtx = Taro.getCurrentInstance().page; @@ -447,8 +447,6 @@ class Index extends Component { } } closeBinding = () => { - Taro.removeStorageSync("isScan"); // 扫码弹窗显示完后,不需要再判断是否扫码 - Taro.removeStorageSync("serial"); // 扫码弹窗显示完后,删除缓存的扫码序列号 this.setState({ isVisibleBinding: false }); }; confirmBinding = () => { @@ -500,6 +498,9 @@ class Index extends Component { // 获取失败和绑定失败一个弹窗 this.setState({ isBindingError: true }); } + + Taro.removeStorageSync("isScan"); // 扫码弹窗显示完后,不需要再判断是否扫码 + Taro.removeStorageSync("serial"); // 扫码弹窗显示完后,删除缓存的扫码序列号 } }; @@ -564,16 +565,12 @@ class Index extends Component { console.log("exchangeBinding", data); Taro.hideLoading(); this.closeBinding(); - if (data.code === 200) { - } else { - this.closeBinding(); - this.setState({ isBindingError: true }); + if (data.code !== 200) { + //todo } }; // 仪器绑定失败弹窗 onBindErrorClose = () => { - Taro.removeStorageSync("isScan"); // 扫码弹窗显示完后,不需要再判断是否扫码 - Taro.removeStorageSync("serial"); // 扫码弹窗显示完后,删除缓存的扫码序列号 this.setState({ isBindingError: false }); }; onBindErrorConfirm = () => { @@ -581,8 +578,6 @@ class Index extends Component { go("/pages/consultant/consultant"); }; onBeforeBindClose = () => { - Taro.removeStorageSync("isScan"); // 扫码弹窗显示完后,不需要再判断是否扫码 - Taro.removeStorageSync("serial"); // 扫码弹窗显示完后,删除缓存的扫码序列号 this.setState({ isBeforeBinding: false }); }; onBeforeBindConfirm = () => { @@ -714,6 +709,7 @@ class Index extends Component { ); this.setState({ isShowVersionUpgrading: false, + isShowVersionUpgradFinish: true, // 升级介绍 versionUpgradFinishNodes: nodes, }); }; @@ -887,7 +883,7 @@ class Index extends Component { upgradeFun={this.upgradeFun} /> )} - { } textAlgin="center" - cancelButtonText="取消" confirmButtonText="确定" close={this.cancelUpdateVersionTip} confirm={this.confirmUpdateVersionTip} @@ -1081,3 +1076,4 @@ const mapDispatchToProps = (dispatch) => ({ }, }); export default connect(mapStateToProps, mapDispatchToProps)(Index); +// instrumentId diff --git a/src/pages/instrument/instrument.tsx b/src/pages/instrument/instrument.tsx index 1e82ee1..d70c9d7 100644 --- a/src/pages/instrument/instrument.tsx +++ b/src/pages/instrument/instrument.tsx @@ -18,7 +18,7 @@ import { } from "@tarojs/components"; import { InstrumentInfo } from "@/utils/Interface"; -import { go, back, msg, setStorageSync, getStorageSync } from "@/utils/traoAPI"; +import { go, msg, setStorageSync, getStorageSync } from "@/utils/traoAPI"; import { getImgInfo, contraction } from "@/utils/compressImage"; @@ -63,15 +63,27 @@ export default class Instrument extends Component { fromUrl: "", }; } + $instance = Taro.getCurrentInstance(); + isOnly: boolean = false; + currentDevice: any = null; + id: any = ""; - async onLoad() { - this.unbindingInstrumentInfoList(); - } + async onLoad() {} componentDidMount() {} componentWillUnmount() {} - componentDidShow() {} + componentDidShow() { + let params: any = this.$instance.router?.params; + if (params?.isOnly && params?.id) { + if (params?.isOnly === "true") { + this.isOnly = true; + this.id = params?.id; + } + } + console.log("params", params); + this.unbindingInstrumentInfoList(); + } componentDidHide() {} @@ -85,18 +97,6 @@ export default class Instrument extends Component { this.setState({ channelInfo }); }; - // onScanCode() { - // Taro.scanCode({ - // scanType: ["qrCode"], - // success: (res) => { - // let { channelInfo } = this.state; - // channelInfo.serialCode = res.result; - - // this.setState({ channelInfo }); - // }, - // }); - // } - onTipShow = () => { this.setState({ tipShow: true }); }; @@ -140,88 +140,6 @@ export default class Instrument extends Component { }); }; - // getBindCodeInfo = async () => { - // const { bindCode, instrumentList, channelInfo } = this.state; - // // // 1.查询资料 - // // try { - // // const { data } = await InstrumentCodeCheck({ - // // code: bindCode, - // // }); - // // const bindCodeInfo = { ...data.data.bindCodeInfo }; - // // // 2.判断是否是选中的仪器, 如果不是, 直接弹出scanErrorPopup - // // if (channelInfo.id != bindCodeInfo.instrument_id) { - // // this.setState({ - // // bindPopup: "scanErrorPopup", - // // }); - // // return; - // // } - // // const match = instrumentList.find((item) => { - // // if (item.id == bindCodeInfo.instrument_id && item.serial) { - // // // 找到同一个仪器 - // // bindCodeInfo.hadBindSame = true; - // // if (item.serial == bindCodeInfo.antifakeCode) { - // // // 找到同一个序列号 - // // bindCodeInfo.hadBindSameCode = true; - // // } else { - // // bindCodeInfo.hadBindSameCode = false; - // // } - // // return item; - // // } - // // if (item.id == bindCodeInfo.instrument_id) { - // // const { channelInfo } = this.state; - // // if (channelInfo.id === item.id) return; - // // this.setState({ - // // channelInfo: item, - // // isVideo: isVideo(item.bind_intro_video), - // // }); - // // } - // // }); - // // if (match) { - // // bindCodeInfo.hadBind = true; - // // } else { - // // bindCodeInfo.hadBindSame = false; - // // } - // // this.setState({ - // // bindCodeInfo, - // // }); - // // this.judgeBindCode(); - // // } catch (e) { - // // this.judgeBindCode(); - // // } - // }; - - // judgeBindCode = () => { - // const { bindCode, bindCodeInfo } = this.state; - // const opts: any = {}; - // if (bindCode && !bindCodeInfo) { - // // 有仪器码, 但是没有找到信息时 - // opts.bindPopup = "noFoundPopup"; - // } else if (bindCode && bindCodeInfo && bindCodeInfo.isLabelCode) { - // opts.bindPopup = "labelPopup"; - // } else if ( - // bindCode && - // bindCodeInfo.hadBindSame && - // bindCodeInfo.hadBindSameCode - // ) { - // // 有仪器码, 如果有登录, 判断是绑定了同样的仪器和仪器的序列号是一致 -- 不弹弹窗, 回到首页 - // opts.bindCode = ""; // 重置bindCode - // opts.bindPopup = ""; // 隐藏bindPopup - // } else if ( - // bindCode && - // bindCodeInfo.hadBindSame && - // !bindCodeInfo.hadBindSameCode - // ) { - // // 有仪器码, 如果有登录, 判断是绑定了同样的仪器, 但仪器的序列号不一致 -- 判断换绑 - // opts.bindPopup = "switchBindCodePopup"; - // } else if (bindCode && !bindCodeInfo.hadBindSame) { - // // 有仪器码, 如果有登录, 判断不是绑定了同样的仪器 -- 绑定 - // opts.bindPopup = "toBindPopup"; - // } - // if (Object.keys(opts).length) { - // this.setState(opts); - // } - // }; - onCustomerTap = () => { this.onCancelBind2Tap(); go("/pages/consultant/consultant"); @@ -271,10 +189,6 @@ export default class Instrument extends Component { }); } - public back = () => { - back(); - }; - closeDev = () => { // go("/pages/user/user"); let isInstrumentJump = Taro.getStorageSync("isInstrumentJump"); @@ -297,13 +211,23 @@ export default class Instrument extends Component { let { data } = await InstrumentInfo.unbindingInstrumentInfoList(); if (data.code === 200) { if (data.data.length) { - let item = data.data[0]; - item.serialCode = ""; - this.setState({ - equipmentList: data.data, - channelInfo: item, - isVideo: this.isVideo(item.banner), - }); + if (!this.isOnly) { + let item = data.data[0]; + item.serialCode = ""; + this.setState({ + equipmentList: data.data, + channelInfo: item, + isVideo: this.isVideo(item.banner), + }); + } else { + let item = data.data.find((item) => String(item.id) === this.id); + item.serialCode = ""; + this.setState({ + equipmentList: [item], + channelInfo: item, + isVideo: this.isVideo(item.banner), + }); + } } } }; @@ -385,6 +309,10 @@ export default class Instrument extends Component { this.setState({ isBindingCheckError: false }); }; + customBack = () => { + Taro.switchTab({ url: "/pages/index/index" }); + }; + render() { let { isBindingError, @@ -406,7 +334,12 @@ export default class Instrument extends Component { close={this.closeDev} confirm={this.closeDev} /> */} - + { // this.getInstrumentInfo(params.id); // } - let strObj = getStorageSync("instrument_item"); + let strObj = getStorageSync("instrument_detail"); if (strObj) { let instrument = JSON.parse(strObj); this.getInstrumentInfo(instrument.id); @@ -88,7 +88,7 @@ class Intro extends Component { // setStorageSync("introduceId", info.id); // } const url = "/pages/index/index"; - Taro.switchTab({ + Taro.switchTab({ url, }); } diff --git a/src/pages/instrumentClickinUpload/index.tsx b/src/pages/instrumentClickinUpload/index.tsx index 0838af9..c090427 100644 --- a/src/pages/instrumentClickinUpload/index.tsx +++ b/src/pages/instrumentClickinUpload/index.tsx @@ -70,16 +70,16 @@ export default class InstrumentClickInUpload extends Component { async onLoad() { this.initData(); } - componentDidMount() { } + componentDidMount() {} - componentWillUnmount() { } + componentWillUnmount() {} componentDidShow() { let videoContext = Taro.createVideoContext("myVideo"); this.setState({ videoContext }); } - componentDidHide() { } + componentDidHide() {} async initData() { let objStr = getStorageSync("instrument_detail"); @@ -127,7 +127,7 @@ export default class InstrumentClickInUpload extends Component { // 获取仪器模式列表 modeInfoList = async (id) => { let res = await InstrumentInfo.modeInfoList({ - instrumentId: "84", + instrumentId: id, }); if (res.data.code === 200) { if (res.data.data.length) { @@ -242,15 +242,15 @@ export default class InstrumentClickInUpload extends Component { }); }; - videoBindTimeUpdate = async () => { }; + videoBindTimeUpdate = async () => {}; - videoEnded = async () => { }; + videoEnded = async () => {}; - videoPause = async () => { }; + videoPause = async () => {}; - videoPlay = async () => { }; + videoPlay = async () => {}; - videoLoadedMetaData = async () => { }; + videoLoadedMetaData = async () => {}; handleTextareaInput = async (e) => { let { punchInInfo } = this.state; diff --git a/src/pages/instrument_manage/index.tsx b/src/pages/instrument_manage/index.tsx index f1bbe04..8f00ceb 100644 --- a/src/pages/instrument_manage/index.tsx +++ b/src/pages/instrument_manage/index.tsx @@ -45,13 +45,13 @@ export default class InstrumentManage extends Component { async onLoad() { this.initData(); } - componentDidMount() { } + componentDidMount() {} - componentWillUnmount() { } + componentWillUnmount() {} - componentDidShow() { } + componentDidShow() {} - componentDidHide() { } + componentDidHide() {} async initData() { this.bindingInstrumentList(); @@ -93,7 +93,7 @@ export default class InstrumentManage extends Component { } goBind(item) { let bindid = item.id; - go("/pages/instrument/instrument?id=" + bindid); + go("/pages/instrument/instrument?isOnly=true&id=" + bindid); // 只显示当前仪器内容 } goBindInfo(item) { @@ -127,100 +127,63 @@ export default class InstrumentManage extends Component { - {bindList.length > 0 && + {bindList.length > 0 && ( 我的设备 - - {bindList.map((item: any, index: number) => { - return ( - - - - - 已绑定 - - - 仪器介绍 - - - - - - - - {item.name} - - 查看绑定信息 - - - - - ); - })} - - {/* - {bindList.map((item, index) => { - if (item.status === 0) { + {bindList.length > 0 && ( + + {bindList.map((item: any, index: number) => { return ( - - - - 已绑定 - - - 仪器介绍 - - - + + + + + 已绑定 + + + 仪器介绍 + + + + - - - {item.name} - - 查看绑定信息 + + {item.name} + + 查看绑定信息 + - + ); - } - })} - */} + })} + + )} - } + )} 未绑定的仪器 diff --git a/src/pages/iotCarePlan/components/ElectricityView/index.tsx b/src/pages/iotCarePlan/components/ElectricityView/index.tsx index 2ec05c6..4141899 100644 --- a/src/pages/iotCarePlan/components/ElectricityView/index.tsx +++ b/src/pages/iotCarePlan/components/ElectricityView/index.tsx @@ -91,15 +91,7 @@ function Index({ )} - {Electricity === 1 && ( - - - - - - - )} - {Electricity === 0 && ( + {Electricity <= 1 && ( diff --git a/src/pages/iotCarePlan/iotCarePlan.tsx b/src/pages/iotCarePlan/iotCarePlan.tsx index f020d24..3d4f079 100644 --- a/src/pages/iotCarePlan/iotCarePlan.tsx +++ b/src/pages/iotCarePlan/iotCarePlan.tsx @@ -380,9 +380,7 @@ class IotCarePlan extends Component { let { isStandStatus, isShowNurse } = this.state; // 舱体模式无法对应的时候,置灰开始按钮 - let isCabinMode = isStandStatus - ? data.isCabinMode === 1 - : data.isCabinMode === 0; + let isCabinMode = data.isCabinMode === 1; if (isStandStatus === isCabinMode) { this.setState({ isCanClick: true }); // 是否舱体一致时,可以点击 } else { @@ -425,7 +423,7 @@ class IotCarePlan extends Component { this.onStartNurse(); setTimeout(() => { this.onNursingTap(); - }, 500); + }, 1000); } }; /** 设备运行中切换模式 */ @@ -544,10 +542,8 @@ class IotCarePlan extends Component { // } let { isStandStatus, ActiveModeItem } = this.state; - let isCabinMode = isStandStatus - ? ActiveModeItem.isCabinMode === 1 - : ActiveModeItem.isCabinMode === 0; - if (isStandStatus && isCabinMode) { + let isCabinMode = ActiveModeItem.isCabinMode === 1; + if (isStandStatus === isCabinMode) { this.stepNext(); return; } @@ -613,12 +609,13 @@ class IotCarePlan extends Component { if (jsonStatus.connectMessage?.connectType == "CONNECTED") { this.setState({ isStandStatus: true, - isCanClick: this.state.isCabinMode === 1, + isCanClick: this.state.ActiveModeItem?.isCabinMode === 1, }); } else { + console.log("舱体支架断开连接"); this.setState({ isStandStatus: false, - isCanClick: this.state.isCabinMode !== 1, + isCanClick: this.state.ActiveModeItem?.isCabinMode !== 1, }); } break; @@ -637,8 +634,8 @@ class IotCarePlan extends Component { this.setState({ isStandStatus: isStandDevice, isCanClick: isStandDevice - ? this.state.isCabinMode === 1 - : this.state.isCabinMode !== 1, + ? this.state.ActiveModeItem?.isCabinMode === 1 + : this.state.ActiveModeItem?.isCabinMode !== 1, }); // 连上面罩后, 获取仪器记录, 与缓存信息对比 @@ -1048,8 +1045,6 @@ class IotCarePlan extends Component { let totalSeconds = minSecToS(ActiveModeItem.modeTimeStr); let currentSeconds = minSecToS(currentTime); let checkTime = totalSeconds - currentSeconds; - console.log("设备已运行多少秒", checkTime); - console.log("ModeStepTimeArray", ModeStepTimeArray); this.elapsedTime = checkTime; if (currentSeconds >= 1) { // 小程序显示倒计时 @@ -1062,8 +1057,8 @@ class IotCarePlan extends Component { // 模式多个步骤节点切换 // 已运行时间达到下一节点时,切换 if (checkTime > ModeStepTimeArray[ModeStepIndex]) { - // 已运行时间达到下一节点,步骤切换时更新 - if (ModeStepIndex < length) { + // 已运行时间达到下一节点,且存在下一节点,步骤切换时更新 + if (ModeStepIndex < length - 1) { let index = ModeStepIndex + 1; // 提前步骤+1 let currentServiceData = { startSource: "", @@ -1123,20 +1118,12 @@ class IotCarePlan extends Component { } } - // // 工作状态,开始组合模式 - // if ( - // this.state.ActiveModeItem.combineData.length && - // this.workStatus == MODE_WORKING_ENUM.WORKING - // ) { - // this.startCombinationMode(); - // } - const sendParams = { ...deviceCommandSamples.pause, workMode: ActiveModeItem.modeType, // 使用模式 workStatus: newWorkStatus, }; - console.log("准备发送自定义指令", ActiveModeItem, sendParams); + console.log("准备发送自定义或工作指令", ActiveModeItem, sendParams); const pauseArrayBuffer = deviceToolKitInstance.toBleCommand( sendParams as any ); @@ -1188,11 +1175,6 @@ class IotCarePlan extends Component { ); console.log(ActiveModeItem); console.log("isStandStatus:" + isStandStatus); - console.log( - this.workStatus !== MODE_WORKING_ENUM.WORKING && - this.workStatus !== MODE_WORKING_ENUM.STANDBY && - this.workStatus !== MODE_WORKING_ENUM.PAUSE - ); if (facialMaskConnectStatus != 1) { console.log("facialMaskConnectStatus 开始处", facialMaskConnectStatus); @@ -1222,7 +1204,11 @@ class IotCarePlan extends Component { this.showCountdownFun(downNum, () => {}); // 倒计时弹窗 // 开始执行护理 + this.workStatus = MODE_WORKING_ENUM.WORKING; // 不管当前什么状态,直接设为工作状态 this.handleWorkStatus(true, MODE_WORKING_ENUM.WORKING); + this.setState({ + isStopNurse: false, + }); } // 结束护理 @@ -1472,16 +1458,16 @@ class IotCarePlan extends Component { console.log("PostNursingLogClock", res); if (res.data.code === 200) { - if (!isJump) { + if (isJump) { this.setState({ isShowNursingSuccess: true, }); - } - - if (isJump) { setTimeout(() => { + this.setState({ + isShowNursingSuccess: false, + }); this.goFaceReport(); - }, 1000); + }, 2000); } } }; @@ -1674,6 +1660,8 @@ class IotCarePlan extends Component { /** 完成护理提交:跳转护理报告页 */ goFaceReport = () => { + // 跳转前置空定时器,防止重复提交 + if (currentTimeTimer) clearInterval(currentTimeTimer); go("/pages/face_report/face_report?id=" + this.state.currentDevice.id); }; @@ -1960,3 +1948,5 @@ const mapDispatchToProps = (dispatch) => ({ // }, }); export default connect(mapStateToProps, mapDispatchToProps)(IotCarePlan); + +// isCharging diff --git a/src/pages/user/user.less b/src/pages/user/user.less index 1355f41..8286875 100644 --- a/src/pages/user/user.less +++ b/src/pages/user/user.less @@ -77,10 +77,13 @@ page { .infobox1 .info2 { border-radius: 20rpx; height: 200rpx; - margin: 40rpx 28rpx 0; + display: flex; + justify-content: space-between; + margin: 40rpx 28rpx 0 28rpx; } .infobox1 .info3 { - margin: 22rpx 30rpx 0; + margin: 0 30rpx; + margin-top: 22rpx; font-size: 24rpx; font-weight: 400; color: #999999; @@ -98,8 +101,10 @@ page { display: flex; flex-direction: column; justify-content: space-between; + align-items: flex-start; padding: 36rpx 0 26rpx 36rpx; box-sizing: border-box; + margin-top: 0; } .infobox1 .info2 .block .bg_img { @@ -166,6 +171,7 @@ page { width: 25%; flex-direction: column; position: relative; + margin-top: 0; .img image { width: 40rpx; height: 40rpx; diff --git a/src/pages/user/user.tsx b/src/pages/user/user.tsx index 283511f..64a9cef 100644 --- a/src/pages/user/user.tsx +++ b/src/pages/user/user.tsx @@ -267,12 +267,12 @@ class User extends Component { )} - + { 查看绑定设备详情 { {userInfo.credit} - {/* */} 查看积分详情 + {/* + + + + 我的设备 + + + + + {userInfo.devicesNum} + 查看绑定设备详情 + + + + + 我的积分 + + + + + {userInfo.credit} + 查看积分详情 + + */} {lastDay} 过期积分: {userInfo.expireCredit} @@ -358,7 +401,7 @@ class User extends Component { 消息中心 - 其它服务 + 其他服务 { 更多设置 + {/* 样式留空 */} {/*