浇花器
This commit is contained in:
parent
3570f4d736
commit
08a9c27934
|
@ -21,7 +21,7 @@ const install = (Vue, vm) => {
|
|||
// });
|
||||
Vue.prototype.$u.http.setConfig({
|
||||
baseUrl: 'https://yxd.ccttiot.com/prod-api',
|
||||
// baseUrl: 'http://192.168.0.107:8081',
|
||||
// baseUrl: 'http://192.168.0.101:8081',
|
||||
loadingText: '努力加载中~',
|
||||
loadingTime: 800,
|
||||
// 设置自定义头部content-type
|
||||
|
|
|
@ -1,30 +1,37 @@
|
|||
<template>
|
||||
<view>
|
||||
<u-navbar :is-back="true" title='添加设备' title-color="#000" :border-bottom="false" :background="bgc"
|
||||
id="navbar">
|
||||
<u-navbar :is-back="true" title='添加设备' title-color="#000" :border-bottom="false" :background="bgc" id="navbar">
|
||||
</u-navbar>
|
||||
<view class="page">
|
||||
<!-- 有搜索到设备 -->
|
||||
<view class="you" v-if="flags">
|
||||
<view class="topone">
|
||||
<image src="https://api.ccttiot.com/smartmeter/img/static/ubrPcpGQEXTadkBa1gKh" mode=""></image> 扫描到以下设备,点击添加!
|
||||
<image src="https://api.ccttiot.com/smartmeter/img/static/ubrPcpGQEXTadkBa1gKh" mode=""></image>
|
||||
扫描到以下设备,点击添加!
|
||||
</view>
|
||||
<view class="toptwo">
|
||||
如未找到想添加的设备,点击重新搜索
|
||||
</view>
|
||||
<view class="list">
|
||||
<view class="list_item" v-for="(item,index) in jiaohuaqi" :key="index">
|
||||
<image src="https://api.ccttiot.com/smartmeter/img/static/ufPWKlVzDbHNflX0jUIv" mode=""></image>
|
||||
<image :src="item.modelPicture" mode=""></image>
|
||||
<view class="cen">
|
||||
<view class="name">
|
||||
丁丁浇花器
|
||||
<view class="name" style="color: #ccc;" v-if="item.userId && item.userId != userid">
|
||||
{{item.modelName == undefined ? '' : item.modelName}}
|
||||
</view>
|
||||
<view class="name" v-else>
|
||||
{{item.modelName == undefined ? '' : item.modelName}}
|
||||
</view>
|
||||
<view class="devmac">
|
||||
MAC:{{item}}
|
||||
MAC:{{item.mac == undefined ? item.name.slice(-12) : item.mac}}
|
||||
</view>
|
||||
</view>
|
||||
<view class="add" @click="btnadd(item)">
|
||||
<view class="add" @click="btnadd(item)" v-if="item.userId == undefined">
|
||||
添加
|
||||
</view>
|
||||
<view class="add" style="color: #ccc;border: 1px solid #ccc;" v-else>
|
||||
已添加
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
@ -47,6 +54,7 @@
|
|||
<view class="btnss" v-else>
|
||||
重新搜索
|
||||
</view>
|
||||
</view>
|
||||
|
||||
</view>
|
||||
</template>
|
||||
|
@ -59,16 +67,17 @@
|
|||
bgc: {
|
||||
backgroundColor: "#fff",
|
||||
},
|
||||
active:1,
|
||||
flag:true,
|
||||
devicesList:[],
|
||||
deviceId:'',
|
||||
name:'',
|
||||
mac:'',
|
||||
flags:true,
|
||||
userid:'',
|
||||
arr:'',
|
||||
jiaohuaqi:[]
|
||||
active: 1,
|
||||
flag: true,
|
||||
devicesList: [],
|
||||
deviceId: '',
|
||||
name: '',
|
||||
mac: '',
|
||||
flags: true,
|
||||
userid: '',
|
||||
arr: '',
|
||||
jiaohuaqi: [],
|
||||
getpre:[]
|
||||
}
|
||||
},
|
||||
// 分享到好友(会话)
|
||||
|
@ -91,23 +100,24 @@
|
|||
|
||||
},
|
||||
onShow() {
|
||||
this.getmodel()
|
||||
this.getinfo()
|
||||
this.btnss()
|
||||
},
|
||||
methods:{
|
||||
methods: {
|
||||
// 获取用户信息
|
||||
getinfo() {
|
||||
this.$u.get(`/appVerify/profile`).then((res) => {
|
||||
if (res.code == 200) {
|
||||
this.userid = res.data.userId
|
||||
}else if(res.code == 401){
|
||||
} else if (res.code == 401) {
|
||||
uni.showModal({
|
||||
title: '提示',
|
||||
content: '您还未登录,是否前去登录?',
|
||||
success: function (res) {
|
||||
success: function(res) {
|
||||
if (res.confirm) {
|
||||
uni.navigateTo({
|
||||
url:'/pages/login/login'
|
||||
url: '/pages/login/login'
|
||||
})
|
||||
} else if (res.cancel) {
|
||||
|
||||
|
@ -118,26 +128,26 @@
|
|||
})
|
||||
},
|
||||
// 点击添加添加绑定设备
|
||||
btnadd(e){
|
||||
console.log(e,'0101');
|
||||
btnadd(e) {
|
||||
console.log(e, '0101');
|
||||
let mac = e.slice(-12)
|
||||
let data = {
|
||||
mac:mac,
|
||||
userId:this.userid,
|
||||
pre:e.slice(0,5)
|
||||
mac: mac,
|
||||
userId: this.userid,
|
||||
pre: e.slice(0, 5)
|
||||
}
|
||||
console.log(data);
|
||||
this.$u.post(`/app/bandDevice`,data).then((res) => {
|
||||
this.$u.post(`/app/bandDevice`, data).then((res) => {
|
||||
if (res.code == 200) {
|
||||
uni.showToast({
|
||||
title: '添加成功',
|
||||
icon: 'success',
|
||||
duration: 3000
|
||||
})
|
||||
setTimeout(()=>{
|
||||
setTimeout(() => {
|
||||
uni.navigateBack()
|
||||
},2000)
|
||||
}else{
|
||||
}, 2000)
|
||||
} else {
|
||||
uni.showToast({
|
||||
title: res.msg,
|
||||
icon: 'none',
|
||||
|
@ -146,44 +156,74 @@
|
|||
}
|
||||
})
|
||||
},
|
||||
getmodel() {
|
||||
this.$u.get(`/app/getAllModelList`).then(res => {
|
||||
if (res.code == 200) {
|
||||
this.getpre = res.data;
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
btnss(){
|
||||
getpipei(pre) {
|
||||
// 添加默认返回值防止undefined
|
||||
return this.getpre.find(item => item.pre == pre) || {
|
||||
modelName: '未知型号',
|
||||
picture: ''
|
||||
};
|
||||
},
|
||||
|
||||
btnss() {
|
||||
uni.showLoading({
|
||||
title: '搜索中...'
|
||||
})
|
||||
this.jiaohuaqi = []
|
||||
this.flag = false
|
||||
let that = this
|
||||
xBlufi.listenDeviceMsgEvent(true, that.funListenDeviceMsgEvent)
|
||||
xBlufi.notifyStartDiscoverBle({
|
||||
'isStart': true
|
||||
})
|
||||
title: '搜索中...',
|
||||
mask: true
|
||||
});
|
||||
|
||||
this.jiaohuaqi = [];
|
||||
this.flag = false;
|
||||
const that = this;
|
||||
|
||||
xBlufi.listenDeviceMsgEvent(true, that.funListenDeviceMsgEvent);
|
||||
xBlufi.notifyStartDiscoverBle({ 'isStart': true });
|
||||
|
||||
setTimeout(() => {
|
||||
xBlufi.notifyStartDiscoverBle({
|
||||
'isStart': false
|
||||
})
|
||||
xBlufi.notifyStartDiscoverBle({ 'isStart': false });
|
||||
|
||||
if (that.devicesList.length > 0) {
|
||||
// that.flags = true
|
||||
this.$u.get(`/app/device/isBand/${this.arr}`).then(res =>{
|
||||
if(res.code == 200){
|
||||
res.data.forEach(item =>{
|
||||
if(item.isBand == false){
|
||||
that.devicesList.forEach(val =>{
|
||||
if(val.name.slice(-12) == item.mac){
|
||||
that.jiaohuaqi.push(val.name)
|
||||
console.log(that.jiaohuaqi);
|
||||
const data = { mac: that.arr };
|
||||
|
||||
this.$u.post(`/app/getExistListByMacs`, data).then(res => {
|
||||
if (res.code == 200) {
|
||||
// 创建MAC地址映射表
|
||||
const macMap = new Map(res.data.map(item => [item.mac, item]));
|
||||
|
||||
that.devicesList.forEach(val => {
|
||||
const mac = val.name.slice(-12);
|
||||
if (macMap.has(mac)) {
|
||||
that.jiaohuaqi.push(macMap.get(mac));
|
||||
console.log(that.jiaohuaqi,'1111');
|
||||
} else {
|
||||
const pre = val.name.slice(0, 5);
|
||||
const matched = that.getpipei(pre);
|
||||
that.jiaohuaqi.push({
|
||||
name: mac,
|
||||
modelName: matched.modelName,
|
||||
modelPicture: matched.picture
|
||||
});
|
||||
console.log(that.jiaohuaqi,'2222');
|
||||
}
|
||||
})
|
||||
});
|
||||
|
||||
uni.hideLoading();
|
||||
} else {
|
||||
uni.hideLoading();
|
||||
}
|
||||
})
|
||||
});
|
||||
} else {
|
||||
uni.hideLoading();
|
||||
}
|
||||
})
|
||||
}else{
|
||||
// that.flags = false
|
||||
}
|
||||
uni.hideLoading()
|
||||
that.flag = true
|
||||
}, 3000)
|
||||
|
||||
that.flag = true;
|
||||
}, 3000);
|
||||
},
|
||||
|
||||
// 获取附近蓝牙设备列表
|
||||
|
@ -198,7 +238,7 @@
|
|||
if (options.result) {
|
||||
let devicesarr = []
|
||||
this.devicesList = options.data
|
||||
options.data.forEach(item =>{
|
||||
options.data.forEach(item => {
|
||||
devicesarr.push(item.name.slice(-12))
|
||||
})
|
||||
this.arr = devicesarr.join(',')
|
||||
|
@ -214,7 +254,7 @@
|
|||
this.deviceIds = options.data.deviceId
|
||||
this.name = this.name
|
||||
}
|
||||
}else{
|
||||
} else {
|
||||
|
||||
}
|
||||
break
|
||||
|
@ -241,26 +281,36 @@
|
|||
</script>
|
||||
|
||||
<style lang="less">
|
||||
/deep/ .u-title{
|
||||
/deep/ .u-title {
|
||||
margin-bottom: 22rpx;
|
||||
}
|
||||
/deep/ .uicon-nav-back{
|
||||
|
||||
/deep/ .uicon-nav-back {
|
||||
margin-bottom: 22rpx;
|
||||
}
|
||||
.wei{
|
||||
|
||||
.page {
|
||||
padding-bottom: 300rpx;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.wei {
|
||||
text-align: center;
|
||||
image{
|
||||
|
||||
image {
|
||||
width: 380rpx;
|
||||
height: 394rpx;
|
||||
}
|
||||
.sbname{
|
||||
|
||||
.sbname {
|
||||
font-size: 40rpx;
|
||||
color: #3D3D3D;
|
||||
margin-top: 80rpx;
|
||||
width: 100%;
|
||||
text-align: center;
|
||||
}
|
||||
.sbwz{
|
||||
|
||||
.sbwz {
|
||||
font-size: 28rpx;
|
||||
color: #737B80;
|
||||
margin-top: 24rpx;
|
||||
|
@ -268,7 +318,8 @@
|
|||
text-align: center;
|
||||
}
|
||||
}
|
||||
.btnss{
|
||||
|
||||
.btnss {
|
||||
width: 512rpx;
|
||||
height: 92rpx;
|
||||
background: #48893B;
|
||||
|
@ -284,12 +335,14 @@
|
|||
transform: translateX(-50%);
|
||||
bottom: 106rpx;
|
||||
}
|
||||
.list{
|
||||
|
||||
.list {
|
||||
width: 100%;
|
||||
border-radius: 20rpx;
|
||||
margin: auto;
|
||||
margin-top: 72rpx;
|
||||
.list_item{
|
||||
|
||||
.list_item {
|
||||
margin-top: 18rpx;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
|
@ -298,25 +351,29 @@
|
|||
height: 152rpx;
|
||||
background: #FFFFFF;
|
||||
border-radius: 20rpx;
|
||||
box-shadow: 0rpx 10rpx 64rpx 0rpx rgba(0,0,0,0.08);
|
||||
box-shadow: 0rpx 10rpx 64rpx 0rpx rgba(0, 0, 0, 0.08);
|
||||
padding: 18rpx 30rpx;
|
||||
box-sizing: border-box;
|
||||
image{
|
||||
width: 96rpx;
|
||||
|
||||
image {
|
||||
width: 94rpx;
|
||||
height: 94rpx;
|
||||
}
|
||||
.cen{
|
||||
.name{
|
||||
|
||||
.cen {
|
||||
.name {
|
||||
font-size: 32rpx;
|
||||
color: #50565A;
|
||||
}
|
||||
.devmac{
|
||||
|
||||
.devmac {
|
||||
font-size: 24rpx;
|
||||
color: #BDBCBC;
|
||||
margin-top: 6rpx;
|
||||
}
|
||||
}
|
||||
.add{
|
||||
|
||||
.add {
|
||||
width: 108rpx;
|
||||
height: 60rpx;
|
||||
background: #FFFFFF;
|
||||
|
@ -330,22 +387,26 @@
|
|||
}
|
||||
}
|
||||
}
|
||||
page{
|
||||
|
||||
page {
|
||||
width: 100%;
|
||||
padding: 20rpx 64rpx;
|
||||
box-sizing: border-box;
|
||||
background-color: #fff;
|
||||
}
|
||||
.topone{
|
||||
|
||||
.topone {
|
||||
font-size: 36rpx;
|
||||
color: #3D3D3D;
|
||||
display: flex;
|
||||
image{
|
||||
|
||||
image {
|
||||
width: 48rpx;
|
||||
height: 48rpx;
|
||||
}
|
||||
}
|
||||
.toptwo{
|
||||
|
||||
.toptwo {
|
||||
font-size: 28rpx;
|
||||
color: #737B7F;
|
||||
margin-top: 14rpx;
|
||||
|
@ -353,5 +414,4 @@
|
|||
padding-left: 48rpx;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
</style>
|
|
@ -23,10 +23,11 @@
|
|||
<image src="https://api.ccttiot.com/smartmeter/img/static/uiTIUYnR3ClrmqOTyF8F" mode=""></image>
|
||||
</view>
|
||||
</view>
|
||||
<view class="wifi" style="margin-top: 24rpx;" @click="gjconfirm">
|
||||
<view class="wifi" style="margin-top: 24rpx;" @click="gjconfirm" >
|
||||
<view class="">固件更新</view>
|
||||
<view class="flex">
|
||||
<view class="flex" style="color: red;font-size: 20rpx;" v-if=" ver != null && ver != version">
|
||||
<!-- <image src="https://api.ccttiot.com/smartmeter/img/static/uiTIUYnR3ClrmqOTyF8F" mode=""></image> -->
|
||||
<text style="display: inline-block;width: 10rpx;height: 10rpx;border-radius: 50%;background-color: red;margin-right: 10rpx;"></text>可更新
|
||||
</view>
|
||||
</view>
|
||||
<!-- 息屏选择器 -->
|
||||
|
@ -72,7 +73,6 @@
|
|||
切记在蓝牙范围内,以防升级失败
|
||||
</view>
|
||||
</view>
|
||||
|
||||
</view>
|
||||
</template>
|
||||
|
||||
|
@ -84,7 +84,6 @@
|
|||
xpshow: false,
|
||||
gjshow: false,
|
||||
xptxt: '',
|
||||
gjtxt: 'v2.1.2',
|
||||
nameflag: false,
|
||||
xplist: [{
|
||||
value: '1',
|
||||
|
@ -119,7 +118,8 @@
|
|||
intervalId: null,
|
||||
progress:0,
|
||||
shengjiflag:false,
|
||||
xctime:'--'
|
||||
xctime:'--',
|
||||
version:''
|
||||
}
|
||||
},
|
||||
// 分享到好友(会话)
|
||||
|
@ -140,16 +140,18 @@
|
|||
onLoad(option) {
|
||||
xBlufi.listenDeviceMsgEvent(true, this.funListenDeviceMsgEvent)
|
||||
this.deviceid = option.deviceid
|
||||
if(option.xctime){
|
||||
if(option.xctime != '--'){
|
||||
if(option.xctime != '--' && option.ver){
|
||||
this.ver = option.ver
|
||||
this.ver = 'V' + option.ver.slice(3)
|
||||
this.xctime = option.xctime
|
||||
console.log(11);
|
||||
}else{
|
||||
this.ver = 1
|
||||
this.ver = 'V1'
|
||||
this.xctime = option.xctime
|
||||
console.log(22);
|
||||
}
|
||||
}else{
|
||||
this.ver = null
|
||||
}
|
||||
|
||||
this.getshebxq()
|
||||
|
@ -207,18 +209,11 @@
|
|||
xpconfirm(e) {
|
||||
this.xptxt = e[0].label
|
||||
},
|
||||
getbanben(){
|
||||
this.$u.get(`/app/model/${this.user.modelId}`).then(res => {
|
||||
if (res.code == 200) {
|
||||
this.file = res.data.asDeviceVersion.file
|
||||
console.log(this.file)
|
||||
// this.file = 'https://wc.chuangtewl.com/download/water_flower.bin'
|
||||
}
|
||||
})
|
||||
},
|
||||
getbanbens(){
|
||||
this.$u.get(`/app/model/${this.user.modelId}`).then(res => {
|
||||
if (res.code == 200) {
|
||||
this.version = res.data.version
|
||||
console.log(this.ver,'当前蓝牙版本号',this.version,'最新蓝牙版本号');
|
||||
this.file = res.data.asDeviceVersion.file
|
||||
console.log(this.file)
|
||||
// this.file = 'https://wc.chuangtewl.com/download/water_flower.bin'
|
||||
|
@ -237,8 +232,7 @@
|
|||
},
|
||||
// 选择固件版本
|
||||
gjconfirm(e) {
|
||||
// this.gjtxt = e[0].label
|
||||
// if(this.ver != ''){
|
||||
if(this.ver != null && this.ver != this.version){
|
||||
if(this.file == '' || this.file == null){
|
||||
uni.showToast({
|
||||
title: '暂无新版本',
|
||||
|
@ -257,13 +251,13 @@
|
|||
this.shengjiflag = true
|
||||
this.startProgress()
|
||||
}
|
||||
// }else{
|
||||
// uni.showToast({
|
||||
// title: '请连接蓝牙获取版本号',
|
||||
// icon: 'none',
|
||||
// duration: 2000
|
||||
// })
|
||||
// }
|
||||
}else{
|
||||
uni.showToast({
|
||||
title: '已是最新版本',
|
||||
icon: 'none',
|
||||
duration: 2000
|
||||
})
|
||||
}
|
||||
},
|
||||
// 点击取消修改设备名称
|
||||
btnqx() {
|
||||
|
|
|
@ -894,6 +894,48 @@
|
|||
break
|
||||
case xBlufi.XBLUFI_TYPE.TYPE_RECIEVE_CUSTON_DATA:
|
||||
console.log("1收到设备发来的自定义数据结果:", options.data,options.data.length)
|
||||
if (options.data.indexOf("prom:") !== -1) {
|
||||
console.log('固件升级中')
|
||||
var indexOld = options.data.substring(options.data.indexOf('prom:'))
|
||||
console.log("indexOld", indexOld);
|
||||
var load_num = indexOld.substring(
|
||||
indexOld.indexOf("prom:") + 5,
|
||||
indexOld.indexOf("@")
|
||||
)
|
||||
this.progress = Number(load_num);
|
||||
console.log("load_num", load_num);
|
||||
console.log("升级进度:", this.progress)
|
||||
if (this.progress === 6000) {
|
||||
console.log('固件成功')
|
||||
this.progress = 100
|
||||
uni.showToast({
|
||||
title: '固件升级成功',
|
||||
icon: 'success',
|
||||
duration: 2000
|
||||
})
|
||||
setTimeout(()=>{
|
||||
this.shengjiflag = false
|
||||
uni.reLaunch({
|
||||
url:'/pages/index/index'
|
||||
})
|
||||
},2000)
|
||||
}
|
||||
if (this.progress === 9000) {
|
||||
console.log('固件升级失败')
|
||||
this.progress = 99
|
||||
uni.showToast({
|
||||
title: '固件升级失败',
|
||||
icon: 'none',
|
||||
duration: 2000
|
||||
})
|
||||
setTimeout(()=>{
|
||||
this.shengjiflag = false
|
||||
uni.reLaunch({
|
||||
url:'/pages/index/index'
|
||||
})
|
||||
},1000)
|
||||
}
|
||||
}else{
|
||||
this.datalist = options.data.slice(0, -1) + ";"
|
||||
this.vardataflag = 3
|
||||
if(this.pre == 'WATER'){
|
||||
|
@ -901,6 +943,7 @@
|
|||
}else{
|
||||
this.getcsbshuju()
|
||||
}
|
||||
}
|
||||
break
|
||||
case xBlufi.XBLUFI_TYPE.TYPE_GET_DEVICE_LISTS_START:
|
||||
if (!options.result) {
|
||||
|
|
Loading…
Reference in New Issue
Block a user