This commit is contained in:
Sliverber 2024-08-01 10:03:54 +08:00
parent 266d86da14
commit c3f818ae60
4 changed files with 288 additions and 238 deletions

View File

@ -22,10 +22,10 @@ const install = (Vue, vm) => {
uni.setStorageSync('deptId', 100); uni.setStorageSync('deptId', 100);
Vue.prototype.$u.http.setConfig({ Vue.prototype.$u.http.setConfig({
// baseUrl: 'http://61.174.243.28:15861', // baseUrl: 'http://61.174.243.28:15861',
baseUrl: 'http://192.168.2.46:8080', // baseUrl: 'http://192.168.2.46:8080',
// baseUrl: 'http://124.221.246.124:2289', // baseUrl: 'http://124.221.246.124:2289',
// baseUrl: 'https://dianche.chuantewulian.cn/prod-api', // baseUrl: 'https://dianche.chuantewulian.cn/prod-api',
// baseUrl: 'https://dche.ccttiot.com/prod-api', baseUrl: 'https://dche.ccttiot.com/prod-api',
loadingText: '努力加载中~', loadingText: '努力加载中~',
loadingTime: 50000, loadingTime: 50000,
@ -52,9 +52,9 @@ const install = (Vue, vm) => {
// 方式四如果token放在了Storage本地存储中拦截是每次请求都执行的 // 方式四如果token放在了Storage本地存储中拦截是每次请求都执行的
// 所以哪怕您重新登录修改了Storage下一次的请求将会是最新值 // 所以哪怕您重新登录修改了Storage下一次的请求将会是最新值
// const token = uni.getStorageSync('token'); const token = uni.getStorageSync('token');
const token = "Bearer eyJhbGciOiJIUzUxMiJ9.eyJsb2dpbl91c2VyX2tleSI6IjQ0ZDljYzBlLThjZjEtNGFkOC05OGFjLThlNThjMWIxYjQ3OSJ9.v-aMkp9t7Z_QfjfsZy6d_1Ng76hPYa0A--SWScMJY9to7UlNv9IxHQnTJylLKdYKGrr8fRZ47Bu12UPm1DgMQg" // const token = "Bearer eyJhbGciOiJIUzUxMiJ9.eyJsb2dpbl91c2VyX2tleSI6IjQ0ZDljYzBlLThjZjEtNGFkOC05OGFjLThlNThjMWIxYjQ3OSJ9.v-aMkp9t7Z_QfjfsZy6d_1Ng76hPYa0A--SWScMJY9to7UlNv9IxHQnTJylLKdYKGrr8fRZ47Bu12UPm1DgMQg"
// console.log("我是token", token) // console.log("我是token", token)
config.header.Authorization = token; config.header.Authorization = token;

View File

@ -2,15 +2,15 @@
<view class="page"> <view class="page">
<u-navbar title="添加设备" :border-bottom="false" :background="bgc" title-color='#262B37' title-size='38' <u-navbar title="添加设备" :border-bottom="false" :background="bgc" title-color='#262B37' title-size='38'
height='50'></u-navbar> height='50'></u-navbar>
<view class="iptbox" @click="backpage()"> <view class="iptbox" @click="backpage()">
<input type="text" class="ips" v-model="mac" placeholder=" " style="margin-left: 32rpx;" disabled <input type="text" class="ips" v-model="mac" placeholder=" " style="margin-left: 32rpx;" disabled
placeholder-class="my-placeholder" /> placeholder-class="my-placeholder" />
<view class="iconfont icon-xiangyou1 "> <view class="iconfont icon-xiangyou1 ">
</view>
</view> </view>
</view>
<view class="iptbox"> <view class="iptbox">
<view class="qrcode" @click="qrcode()"> <view class="qrcode" @click="qrcode()">
<image src="https://api.ccttiot.com/smartmeter/img/static/uy7BNwAMIKwvstqFnRhs" mode=""></image> <image src="https://api.ccttiot.com/smartmeter/img/static/uy7BNwAMIKwvstqFnRhs" mode=""></image>
@ -20,37 +20,39 @@
</view> </view>
<view class="iptbox" @click="show=true"> <view class="iptbox" @click="show=true">
<view class=""> <view class="" v-if="hardwareInfo.version">
版本 版本id: 版本{{hardwareInfo.version}} 版本id:{{hardwareInfo.id}}
</view>
<view class="" v-else>
请点击选择版本
</view> </view>
</view> </view>
<view class="tips"> <view class="tips" v-if="hardwareInfo.version">
版本介绍 版本介绍{{hardwareInfo.instructions}}
</view> </view>
<u-select v-model="show" :list="list" title='选择运营区' @confirm="confirm"></u-select> <u-select v-model="show" :list="list" title='选择运营区' @confirm="confirm"></u-select>
<view class="btn" @click="bind()"> <view class="btn" @click="bind()">
确认添加 确认添加
</view> </view>
<view class="bot_btn" > <view class="bot_btn">
<view class="btn1" @click="Binddevice()"> <view class="btn1" @click="Binddevice()">
蓝牙链接 蓝牙链接
</view> </view>
<view class="btn1" @click="ring()" v-if="carstause"> <view class="btn1" @click="ring()" v-if="carstause">
响铃寻车 响铃寻车
</view> </view>
<view class="btn1" @click="open()" v-if="carstause"> <view class="btn1" @click="open()" v-if="carstause">
蓝牙开锁 蓝牙开锁
</view> </view>
<view class="btn1" @click="close()" v-if="carstause"> <view class="btn1" @click="close()" v-if="carstause">
蓝牙关锁 蓝牙关锁
</view> </view>
<view class="btn1" @click="reboot()" v-if="carstause"> <view class="btn1" @click="reboot()" v-if="carstause">
设备重启 设备重启
</view> </view>
<view class="btn1" @click="Binddevice()" v-if="isbands"> <view class="btn1" @click="Binddevice()" v-if="isbands">
接口响铃 接口响铃
</view> </view>
</view> </view>
@ -94,26 +96,27 @@
name: '', name: '',
orderinfo: {}, orderinfo: {},
dl: 0, dl: 0,
czmoney:true, czmoney: true,
iscz:true, iscz: true,
bgc: { bgc: {
backgroundColor: "#F7FAFE", backgroundColor: "#F7FAFE",
}, },
sn:'', sn: '',
carstause:false, carstause: false,
isbands:false, isbands: false,
show:false, show: false,
list:[] list: [],
hardwareInfo: {}
} }
}, },
onLoad(e) { onLoad(e) {
this.mac=e.mac this.mac = e.mac
this.Binddevice() this.Binddevice()
this.isbands=false this.isbands = false
this.carstause=false this.carstause = false
}, },
onShow() { onShow() {
this.getlist() this.getlist()
@ -124,13 +127,13 @@
'isStart': false 'isStart': false
}); });
}, },
onHide(){ onHide() {
xBlufi.listenDeviceMsgEvent(false, this.funListenDeviceMsgEvent); xBlufi.listenDeviceMsgEvent(false, this.funListenDeviceMsgEvent);
xBlufi.notifyStartDiscoverBle({ xBlufi.notifyStartDiscoverBle({
'isStart': false 'isStart': false
}); });
}, },
onBeforeUnmount(){ onBeforeUnmount() {
xBlufi.listenDeviceMsgEvent(false, this.funListenDeviceMsgEvent); xBlufi.listenDeviceMsgEvent(false, this.funListenDeviceMsgEvent);
xBlufi.notifyStartDiscoverBle({ xBlufi.notifyStartDiscoverBle({
'isStart': false 'isStart': false
@ -142,21 +145,41 @@
}, },
methods: { methods: {
confirm(e){ confirm(e) {
// console.log(e); // console.log(e);
uni.setStorageSync('adminAreaid', e[0].value); uni.setStorageSync('hardwareVersionId', e[0].value);
this.areaId= e[0].value this.hardwareVersionId = e[0].value
const hardwareVersionId =this.hardwareVersionId
if (hardwareVersionId) {
const matchedVersion = this.Versionlist.find(version => version.id ===
hardwareVersionId);
if (matchedVersion) {
this.hardwareInfo = matchedVersion;
}
}
}, },
getlist(){ getlist() {
this.$u.get('/app/hardwareVersion/list').then((res) => { this.$u.get('/app/hardwareVersion/list').then((res) => {
if (res.code === 200) { if (res.code === 200) {
this.Versionlist = res.data
const hardwareVersionId = uni.getStorageSync('hardwareVersionId');
if (hardwareVersionId) {
this.hardwareVersionId=hardwareVersionId
const matchedVersion = this.Versionlist.find(version => version.id ===
hardwareVersionId);
if (matchedVersion) {
this.hardwareInfo = matchedVersion;
}
}
this.list = res.data.map(item => ({ this.list = res.data.map(item => ({
value: item.id, value: item.id,
label: item.version label: item.version
})); }));
}else{ } else {
uni.showToast({ uni.showToast({
title: res.msg, title: res.msg,
icon: 'none', icon: 'none',
@ -165,11 +188,11 @@
} }
}) })
}, },
send(){ send() {
this.$u.post('/app/device/ring?sn=' + this.sn).then((res) => { this.$u.post('/app/device/ring?sn=' + this.sn).then((res) => {
if (res.code === 200) { if (res.code === 200) {
}else{ } else {
uni.showToast({ uni.showToast({
title: res.msg, title: res.msg,
icon: 'none', icon: 'none',
@ -178,13 +201,13 @@
} }
}) })
}, },
backpage(){ backpage() {
uni.navigateBack({ uni.navigateBack({
delta: 1 // delta1 delta: 1 // delta1
}); });
}, },
bind(){ bind() {
this.$u.post(`/appVerify/band?sn=`+this.sn+'&mac='+this.mac).then((res) => { this.$u.post(`/appVerify/band?sn=` + this.sn + '&mac=' + this.mac+'&hardwareVersionId='+this.hardwareVersionId).then((res) => {
if (res.code == 200) { if (res.code == 200) {
@ -193,11 +216,11 @@
icon: 'none', icon: 'none',
duration: 2000 duration: 2000
}); });
setTimeout(()=>{ setTimeout(() => {
uni.navigateBack({ uni.navigateBack({
delta: 1 // delta1 delta: 1 // delta1
}); });
},2000) }, 2000)
} else { } else {
uni.showToast({ uni.showToast({
@ -209,7 +232,7 @@
} }
}) })
}, },
qrcode(){ qrcode() {
uni.scanCode({ uni.scanCode({
onlyFromCamera: true, onlyFromCamera: true,
scanType: ['qrCode'], scanType: ['qrCode'],
@ -244,9 +267,9 @@
}); });
}, },
Binddevice(){ Binddevice() {
uni.showLoading({ uni.showLoading({
title:'连接中..' title: '连接中..'
}) })
xBlufi.initXBlufi(1); xBlufi.initXBlufi(1);
console.log("xBlufi", xBlufi.XMQTT_SYSTEM); console.log("xBlufi", xBlufi.XMQTT_SYSTEM);
@ -261,7 +284,7 @@
xBlufi.notifyStartDiscoverBle({ xBlufi.notifyStartDiscoverBle({
'isStart': false 'isStart': false
}); });
setTimeout(()=>{ setTimeout(() => {
uni.hideLoading() uni.hideLoading()
if (this.devicesList.length == 0) { if (this.devicesList.length == 0) {
uni.showToast({ uni.showToast({
@ -277,7 +300,7 @@
this.devicesList.forEach(device => { this.devicesList.forEach(device => {
// MAC MAC 6 // MAC MAC 6
let macFromName = device.name.substring(device.name.length - 12); let macFromName = device.name.substring(device.name.length - 12);
console.log(macFromName,'macFromNamemacFromName'); console.log(macFromName, 'macFromNamemacFromName');
// this.mac // this.mac
if (macFromName == this.mac) { if (macFromName == this.mac) {
// this.ishave true // this.ishave true
@ -293,14 +316,14 @@
} }
}); });
} }
},200) }, 200)
// //
// this.status = true // this.status = true
}, 2000) }, 2000)
}, },
reboot(){ reboot() {
let vm = this; // this vm let vm = this; // this vm
uni.getNetworkType({ uni.getNetworkType({
success(res) { success(res) {
@ -316,7 +339,7 @@
// vm.remakr() // vm.remakr()
}, },
fail(err) { fail(err) {
uni.hideLoading() uni.hideLoading()
console.error('获取已连接蓝牙设备信息失败:', err); console.error('获取已连接蓝牙设备信息失败:', err);
} }
}); });
@ -326,7 +349,7 @@
} }
}); });
}, },
open(){ open() {
let vm = this; // this vm let vm = this; // this vm
uni.getNetworkType({ uni.getNetworkType({
success(res) { success(res) {
@ -342,7 +365,7 @@
// vm.remakr() // vm.remakr()
}, },
fail(err) { fail(err) {
uni.hideLoading() uni.hideLoading()
console.error('获取已连接蓝牙设备信息失败:', err); console.error('获取已连接蓝牙设备信息失败:', err);
} }
}); });
@ -352,7 +375,7 @@
} }
}); });
}, },
close(){ close() {
let vm = this; // this vm let vm = this; // this vm
uni.getNetworkType({ uni.getNetworkType({
success(res) { success(res) {
@ -368,7 +391,7 @@
// vm.remakr() // vm.remakr()
}, },
fail(err) { fail(err) {
uni.hideLoading() uni.hideLoading()
console.error('获取已连接蓝牙设备信息失败:', err); console.error('获取已连接蓝牙设备信息失败:', err);
} }
}); });
@ -378,7 +401,7 @@
} }
}); });
}, },
ring(){ ring() {
let vm = this; // this vm let vm = this; // this vm
uni.getNetworkType({ uni.getNetworkType({
success(res) { success(res) {
@ -394,7 +417,7 @@
// vm.remakr() // vm.remakr()
}, },
fail(err) { fail(err) {
uni.hideLoading() uni.hideLoading()
console.error('获取已连接蓝牙设备信息失败:', err); console.error('获取已连接蓝牙设备信息失败:', err);
} }
}); });
@ -420,14 +443,14 @@
devicesarr.forEach(device => { devicesarr.forEach(device => {
// this.$u.get(`/app/device/${mac}/isBind`, data).then((res) => { // this.$u.get(`/app/device/${mac}/isBind`, data).then((res) => {
// if (res.data == false) { // if (res.data == false) {
this.devicesList.push(device); this.devicesList.push(device);
let uniqueDevicesList = Array.from(new Set(this.devicesList)); let uniqueDevicesList = Array.from(new Set(this.devicesList));
// this.devicesList // this.devicesList
this.devicesList = uniqueDevicesList; this.devicesList = uniqueDevicesList;
}); });
} }
@ -473,8 +496,8 @@
case xBlufi.XBLUFI_TYPE.TYPE_RECIEVE_CUSTON_DATA: case xBlufi.XBLUFI_TYPE.TYPE_RECIEVE_CUSTON_DATA:
// this.ver_data = this.parseCustomData(options.data) // this.ver_data = this.parseCustomData(options.data)
if(options.data){ if (options.data) {
this.carstause=true this.carstause = true
} }
// console.log("1", this.ver_data); // console.log("1", this.ver_data);
break; break;
@ -575,8 +598,8 @@
switch (options.type) { switch (options.type) {
case xBlufi.XBLUFI_TYPE.TYPE_STATUS_CONNECTED: { case xBlufi.XBLUFI_TYPE.TYPE_STATUS_CONNECTED: {
console.log('状态', options.result) console.log('状态', options.result)
if( options.result==false){ if (options.result == false) {
this.carstause=false this.carstause = false
uni.showToast({ uni.showToast({
title: '设备断开链接,请重新点击蓝牙链接', title: '设备断开链接,请重新点击蓝牙链接',
icon: 'none' icon: 'none'
@ -592,7 +615,7 @@
// } // }
// }); // });
// this.statusflag = false // this.statusflag = false
uni.hideLoading(); uni.hideLoading();
} }
} }
break; break;
@ -606,8 +629,8 @@
// this.isband = true // this.isband = true
// this.ver_data = this.parseCustomData(options.data) // this.ver_data = this.parseCustomData(options.data)
console.log("1收到设备发来的自定义数据结果", options.data); console.log("1收到设备发来的自定义数据结果", options.data);
if(options.data){ if (options.data) {
this.carstause=true this.carstause = true
} }
break; break;
@ -659,7 +682,8 @@
.page { .page {
padding-bottom: 250rpx; padding-bottom: 250rpx;
width: 750rpx; width: 750rpx;
.btn{
.btn {
margin: 160rpx auto; margin: 160rpx auto;
// position: fixed; // position: fixed;
display: flex; display: flex;
@ -676,10 +700,12 @@
font-size: 32rpx; font-size: 32rpx;
color: #FFFFFF; color: #FFFFFF;
} }
.tips{
.tips {
margin: 28rpx auto 0; margin: 28rpx auto 0;
width: 658rpx; width: 658rpx;
} }
.iptbox { .iptbox {
display: flex; display: flex;
align-items: center; align-items: center;
@ -691,14 +717,17 @@
background: #FFFFFF; background: #FFFFFF;
box-shadow: 0rpx 0rpx 8rpx 0rpx rgba(0, 0, 0, 0.15); box-shadow: 0rpx 0rpx 8rpx 0rpx rgba(0, 0, 0, 0.15);
border-radius: 20rpx 20rpx 20rpx 20rpx; border-radius: 20rpx 20rpx 20rpx 20rpx;
.qrcode{
.qrcode {
padding-right: 20rpx; padding-right: 20rpx;
border-right: 2rpx solid #D8D8D8; border-right: 2rpx solid #D8D8D8;
image{
image {
width: 54rpx; width: 54rpx;
height: 54rpx; height: 54rpx;
} }
} }
.ips { .ips {
width: 630rpx; width: 630rpx;
@ -715,7 +744,8 @@
color: #808080; color: #808080;
} }
} }
.bot_btn{
.bot_btn {
position: fixed; position: fixed;
bottom: 0; bottom: 0;
display: flex; display: flex;
@ -725,12 +755,14 @@
// height: 330rpx; // height: 330rpx;
background: #fff; background: #fff;
// background: linear-gradient( 180deg, #FFFFFF 0%, rgba(255,255,255,0) 100%); // background: linear-gradient( 180deg, #FFFFFF 0%, rgba(255,255,255,0) 100%);
box-shadow: 0rpx 10rpx 64rpx 0rpx rgba(0,0,0,0.08); box-shadow: 0rpx 10rpx 64rpx 0rpx rgba(0, 0, 0, 0.08);
border-radius: 0rpx 0rpx 0rpx 0rpx; border-radius: 0rpx 0rpx 0rpx 0rpx;
.btn:nth-child(4n) { .btn:nth-child(4n) {
margin-right: 0; margin-right: 0;
} }
.btn1{
.btn1 {
margin-top: 10rpx; margin-top: 10rpx;
margin-right: 12rpx; margin-right: 12rpx;
display: flex; display: flex;

View File

@ -42,12 +42,12 @@
<view class="iconfont icon-xiangzuo" v-if="isCollapsed" @click="toggleOrderTips"></view> <view class="iconfont icon-xiangzuo" v-if="isCollapsed" @click="toggleOrderTips"></view>
</view> </view>
<view class="swiper_tips" style="background: rgba(255, 197, 197, 0.7);" v-if="netonlines==false"> <view class="swiper_tips" style="background: rgba(255, 197, 197, 0.7);" v-if="netonlines==false">
<view class="cont"> <view class="cont">
<image src="https://lxnapi.ccttiot.com/bike/img/static/uJ4bst6OYzPYD8iEtyCJ" mode=""></image> <image src="https://lxnapi.ccttiot.com/bike/img/static/uJ4bst6OYzPYD8iEtyCJ" mode=""></image>
<view class="scroll-container" ref="scrollContainer"> <view class="scroll-container" ref="scrollContainer">
<text class="txt" <text class="txt"
style="font-weight: 400;font-size: 28rpx;color: #444444;">当前网络不可用请检查你的网络设置</text> style="font-weight: 400;font-size: 28rpx;color: #444444;">当前网络不可用请检查你的网络设置</text>
<!-- Duplicate the text for seamless scrolling --> <!-- Duplicate the text for seamless scrolling -->
</view> </view>
@ -1056,7 +1056,7 @@
isupload: false, isupload: false,
showparkinfo: false, showparkinfo: false,
parkinfo: {}, parkinfo: {},
netonlines:false netonlines: false
} }
}, },
watch: { watch: {
@ -1181,7 +1181,7 @@
}); });
if (this.seeDetail == false) { if (this.seeDetail == false) {
let that = this let that = this
uni.getNetworkType({ uni.getNetworkType({
success: function(res) { success: function(res) {
console.log(res.networkType); // "wifi", "4g", "3g", "2g", "none" console.log(res.networkType); // "wifi", "4g", "3g", "2g", "none"
@ -4354,7 +4354,9 @@
this.gps.sn = this.sn this.gps.sn = this.sn
} }
} }
if (this.sn != '') {
this.gps.sn = this.sn
}
setTimeout(() => { setTimeout(() => {
this.setMapScale() this.setMapScale()
}, 300) }, 300)
@ -4811,10 +4813,17 @@
duration: 4000 duration: 4000
}); });
} else if (this.deviceInfos.status == 1) { } else if (this.deviceInfos.status == 1) {
if (this.areaId != res.data.areaId) {
this.getArea()
}
// this.routePlanning(res.data.latitude, res.data.longitude) // this.routePlanning(res.data.latitude, res.data.longitude)
this.showdevice = true setTimeout(() => {
this.type = 1; this.showdevice = true
this.deviceIndex = 1; this.type = 1;
this.deviceIndex = 1;
}, 500)
} }
} }
} else { } else {
@ -4937,9 +4946,16 @@
// this.routePlanning(res.data // this.routePlanning(res.data
// .latitude, res.data // .latitude, res.data
// .longitude) // .longitude)
this.showdevice = true; if (this.areaId != res.data
this.type = 1; .areaId) {
this.deviceIndex = 1; this.getArea()
}
// this.routePlanning(res.data.latitude, res.data.longitude)
setTimeout(() => {
this.showdevice = true
this.type = 1;
this.deviceIndex = 1;
}, 500)
} }
} }
} else { } else {
@ -6241,6 +6257,7 @@
box-shadow: 0rpx 10rpx 64rpx 0rpx rgba(0, 0, 0, 0.08), 0rpx 10rpx 64rpx 0rpx rgba(0, 0, 0, 0.08); box-shadow: 0rpx 10rpx 64rpx 0rpx rgba(0, 0, 0, 0.08), 0rpx 10rpx 64rpx 0rpx rgba(0, 0, 0, 0.08);
border-radius: 0rpx 0rpx 0rpx 0rpx; border-radius: 0rpx 0rpx 0rpx 0rpx;
padding-top: 30rpx; padding-top: 30rpx;
.changebiketip { .changebiketip {
bottom: 40rpx; bottom: 40rpx;
left: 320rpx; left: 320rpx;
@ -6252,6 +6269,7 @@
font-size: 28rpx; font-size: 28rpx;
color: #3D3D3D; color: #3D3D3D;
} }
.btn { .btn {
display: flex; display: flex;
justify-content: center; justify-content: center;

View File

@ -18,7 +18,7 @@
</view> --> </view> -->
<view class="pages2" v-if="deptId==100&&pageindex==0"> <view class="pages2" v-if="deptId==100&&pageindex==0">
<view class="imgbox"> <view class="imgbox">
<image src="https://lxnapi.ccttiot.com/bike/img/static/uX6A5Dlyr4lvGFNuqfPK" mode=""></image> <image src="https://lxnapi.ccttiot.com/bike/img/static/umJTSzDVtnfpyYrZY0VJ" mode=""></image>
</view> </view>
<button class="button" open-type="getPhoneNumber" @getphonenumber="getPhoneNumber" <button class="button" open-type="getPhoneNumber" @getphonenumber="getPhoneNumber"
style="margin-top: 30rpx;"> style="margin-top: 30rpx;">