diff --git a/.hbuilderx/launch.json b/.hbuilderx/launch.json index 7181f97..95fb682 100644 --- a/.hbuilderx/launch.json +++ b/.hbuilderx/launch.json @@ -2,12 +2,12 @@ "version" : "1.0", "configurations" : [ { - "playground" : "custom", + "playground" : "standard", "type" : "uni-app:app-ios" }, { "customPlaygroundType" : "local", - "playground" : "custom", + "playground" : "standard", "type" : "uni-app:app-android" }, { @@ -17,6 +17,9 @@ "default" : { "launchtype" : "local" }, + "h5" : { + "launchtype" : "local" + }, "provider" : "aliyun", "type" : "uniCloud" } diff --git a/App.vue b/App.vue index d01ee49..a21853c 100644 --- a/App.vue +++ b/App.vue @@ -30,43 +30,41 @@ //以上代码仅在开发时使用,否则会出现不可预知的问题。 // #ifdef APP|APP-PLUS - - bleTool.getBleTool(); - - var appid = plus.runtime.appid; - console.log('应用的 appid 为:' + appid); - + if (plus.runtime.isAgreePrivacy()) { + + + bleTool.getBleTool(); - uni.getPushClientId({ - success(res) { - console.log("推送信息:", res); - uni.setStorageSync('push_cid', res.cid); - }, - fail(err) { - console.error(err) + uni.getPushClientId({ + success(res) { + console.log("推送信息:", res); + uni.setStorageSync('push_cid', res.cid); + }, + fail(err) { + console.error(err) + } + }); + if (!uni.setAppBadgeNumber) { //兼容鸿蒙的写法 + uni.setAppBadgeNumber = plus.runtime.setBadgeNumber; } - }); - if(!uni.setAppBadgeNumber){//兼容鸿蒙的写法 - uni.setAppBadgeNumber=plus.runtime.setBadgeNumber; - } - uni.onPushMessage((res) => { - console.log("收到推送消息:", res); //监听推送消息 - if(res.type=='click'){ - //将App角标设置为0,清空app在消息中心的所有消息 - uni.setAppBadgeNumber(0); - plus.push.clear(); - return; - } - uni.createPushMessage({ - title: res.data.title, - content: res.data.content, - payload:res.data.payload + uni.onPushMessage((res) => { + console.log("收到推送消息:", res); //监听推送消息 + if (res.type == 'click') { + //将App角标设置为0,清空app在消息中心的所有消息 + uni.setAppBadgeNumber(0); + plus.push.clear(); + return; + } + uni.createPushMessage({ + title: res.data.title, + content: res.data.content, + payload: res.data.payload + }); + }); - }); - - + } // #endif }, @@ -74,18 +72,15 @@ console.log('App Show'); //将检查更新换到onshow,因为苹果用户喜欢一直挂着 - uni.getSystemInfo({ - success: function(res) { - if (res.uniPlatform == 'app') { - - let appid = plus.runtime.appid; - if (appid !== 'HBuilder') { - console.log("appid=", appid); - upgrade.checkAndUpdateWgt(); - } - } - } - }); + // #ifdef APP|APP-PLUS + + let appid = plus.runtime.appid; + console.log("appid=", appid); + + if (appid !== 'HBuilder') { + upgrade.checkAndUpdateWgt(); + } + // #endif }, onHide: function() { console.log('App Hide'); diff --git a/androidPrivacy.json b/androidPrivacy.json index 3e91c29..f0a3045 100644 --- a/androidPrivacy.json +++ b/androidPrivacy.json @@ -2,7 +2,7 @@ "version" : "1", "prompt" : "template", "title" : "服务协议和隐私政策", - "message" : "  请你务必审慎阅读、充分理解“服务协议”和“隐私政策”各条款,包括但不限于:为了更好的向你提供服务,我们需要收集你的设备标识、操作日志等信息用于分析、优化应用性能。
  你可阅读《服务协议》《隐私政策》了解详细信息。如果你同意,请点击下面按钮开始接受我们的服务。", + "message" : "  请你务必审慎阅读、充分理解“服务协议”和“隐私政策”各条款,包括但不限于:为了更好的向你提供服务,我们需要收集你的设备标识、操作日志等信息用于分析、优化应用性能。
  你可阅读《服务协议》《隐私政策》了解详细信息。如果你同意,请点击下面按钮开始接受我们的服务。", "buttonAccept" : "同意并接受", "buttonRefuse" : "暂不同意", "hrefLoader" : "system", diff --git a/api/6170/deviceControl.js b/api/6170/deviceControl.js index c517ee5..3fcb147 100644 --- a/api/6170/deviceControl.js +++ b/api/6170/deviceControl.js @@ -63,6 +63,10 @@ export function mapReverseGeocoding(data) { }) } -export function deviceRealTimeStatus(){ - return Promise.resolve({code:500}); +export function deviceRealTimeStatus(params){ + return request({ + url: `/app/device/realTimeStatus`, + method: 'get', + data:params + }) } \ No newline at end of file diff --git a/components/BottomSlideMenuPlus/BottomSlideMenuPlus.vue b/components/BottomSlideMenuPlus/BottomSlideMenuPlus.vue index 22ffa0e..dc38f7b 100644 --- a/components/BottomSlideMenuPlus/BottomSlideMenuPlus.vue +++ b/components/BottomSlideMenuPlus/BottomSlideMenuPlus.vue @@ -15,7 +15,7 @@ - - - + + - {{headerTxt}} - - x - - - - {{ message }} - - - - - - - - {{ promptTitle || '请输入信息' }} - - - - - - {{ buttonCancelText?buttonCancelText:'取消' }} - - + {{headerTxt}} + + x + + + + {{ message }} + + + + + + + + {{ promptTitle || '请输入信息' }} + + + + + + {{ buttonCancelText?buttonCancelText:'取消' }} + + {{ buttonText }} - - - - - - - - + }" @click="handleButtonClick">{{ buttonText }} + + + + + + + + \ No newline at end of file diff --git a/components/MsgBox/MsgBox.vue b/components/MsgBox/MsgBox.vue index 77e99f1..8cefd65 100644 --- a/components/MsgBox/MsgBox.vue +++ b/components/MsgBox/MsgBox.vue @@ -1,57 +1,66 @@ - @@ -336,7 +336,7 @@ showHeader: true, menuItems: [{ text: '强光', - icon: '/static/images/6155/DeviceDetail/qiang.png' + icon: '/static/images/lightImg/qiang.png' }], activeIndex: -1, bgColor: '#2a2a2a', @@ -518,6 +518,11 @@ recei = BleReceive.getBleReceive(); ble = BleTool.getBleTool(); + this.$watch("formData.sta_battery", (newVal, oldVal) => { + if (newVal <= 20 && this.formData.sta_system==2) { + this.showMsg("设备电量低"); + } + }); ble.addReceiveCallback(this.bleValueNotify, pagePath); ble.addStateBreakCallback(this.bleStateBreak, pagePath); @@ -572,10 +577,10 @@ these.formData.bleStatu = false; these.formData.deviceId = f.deviceId; - these.formData.bleStatu = 'connecting'; + these.formData.bleStatu = 'connecting'; ble.LinkBlue(f.deviceId, f.writeServiceId, f.wirteCharactId, f.notifyCharactId).then(res => { these.formData.bleStatu = true; - }).catch(ex=>{ + }).catch(ex => { these.formData.bleStatu = 'err'; }); these.setBleFormData(); @@ -592,17 +597,17 @@ this.Status.pageHide = false; }, computed: { - getbleStatu(){ - if(this.formData.bleStatu===true){ + getbleStatu() { + if (this.formData.bleStatu === true) { return '已连接'; } - if(this.formData.bleStatu==='connecting'){ + if (this.formData.bleStatu === 'connecting') { return '连接中'; } - if(this.formData.bleStatu==='dicconnect'){ + if (this.formData.bleStatu === 'dicconnect') { return '正在断开'; } - if(this.formData.bleStatu==='err'){ + if (this.formData.bleStatu === 'err') { return '连接异常'; } return '未连接'; @@ -1196,9 +1201,9 @@ return; } if (res.deviceId == these.formData.deviceId) { - if(res.device){ + if (res.device) { these.formData.bleStatu = 'connecting'; - }else{ + } else { this.formData.bleStatu = false; } setTimeout(() => { @@ -1233,14 +1238,14 @@ showLoading(this, { text: "蓝牙恢复可用,正在连接设备" }); - these.formData.bleStatu='connecting'; + these.formData.bleStatu = 'connecting'; ble.LinkBlue(these.formData.deviceId).then(() => { these.formData.bleStatu = true; updateLoading(these, { text: '连接成功' }); }).catch(ex => { - these.formData.bleStatu='err'; + these.formData.bleStatu = 'err'; updateLoading(these, { text: ex.msg }) @@ -1313,9 +1318,10 @@ } }); - if (this.formData.sta_battery <= 20) { - this.showMsg("设备电量低"); - } + + + + }, getDevice: function() { @@ -1327,32 +1333,32 @@ return f; }, - - bleStatuToggle(){ - let f=this.getDevice(); - if(!f){ + + bleStatuToggle() { + let f = this.getDevice(); + if (!f) { this.showBleUnConnect(); return; } - if(this.formData.bleStatu===true){ - this.formData.bleStatu='dicconnect'; - ble.disconnectDevice(f.deviceId).finally(r=>{ - this.formData.bleStatu=false; + if (this.formData.bleStatu === true) { + this.formData.bleStatu = 'dicconnect'; + ble.disconnectDevice(f.deviceId).finally(r => { + this.formData.bleStatu = false; }); return; } - - if(this.formData.bleStatu===false || this.formData.bleStatu==='err'){ - this.formData.bleStatu='connecting'; + + if (this.formData.bleStatu === false || this.formData.bleStatu === 'err') { + this.formData.bleStatu = 'connecting'; ble.LinkBlue(f.deviceId, f.writeServiceId, f.wirteCharactId, f.notifyCharactId).then(res => { these.formData.bleStatu = true; - }).catch(ex=>{ + }).catch(ex => { these.formData.bleStatu = 'err'; }); return; } - - + + }, diff --git a/pages/100J/HBY100-J.vue b/pages/100J/HBY100-J.vue index 25d16bc..fa76ad2 100644 --- a/pages/100J/HBY100-J.vue +++ b/pages/100J/HBY100-J.vue @@ -273,7 +273,7 @@ showHeader: true, menuItems: [{ text: '强光', - icon: '/static/images/6155/DeviceDetail/qiang.png' + icon: '/static/images/lightImg/qiang.png' }], activeIndex: -1, bgColor: '#2a2a2a', diff --git a/pages/4877/BJQ4877.vue b/pages/4877/BJQ4877.vue index 0b34338..d1de357 100644 --- a/pages/4877/BJQ4877.vue +++ b/pages/4877/BJQ4877.vue @@ -355,15 +355,15 @@ showHeader: true, menuItems: [{ text: '强光', - icon: '/static/images/6155/DeviceDetail/qiang.png' + icon: '/static/images/lightImg/qiang.png' }, { text: '弱光', - icon: '/static/images/6155/DeviceDetail/ruo.png' + icon: '/static/images/lightImg/ruo.png' }, { text: '爆闪', - icon: '/static/images/6155/DeviceDetail/shan.png' + icon: '/static/images/lightImg/shan.png' } ], activeIndex: -1, diff --git a/pages/4877/BJQ4877V1.vue b/pages/4877/BJQ4877V1.vue index 0c5d03a..ab6d45c 100644 --- a/pages/4877/BJQ4877V1.vue +++ b/pages/4877/BJQ4877V1.vue @@ -279,15 +279,15 @@ import request, { baseURL } from '@/utils/request.js'; showHeader: true, menuItems: [{ text: '强光', - icon: '/static/images/6155/DeviceDetail/qiang.png' + icon: '/static/images/lightImg/qiang.png' }, { text: '弱光', - icon: '/static/images/6155/DeviceDetail/ruo.png' + icon: '/static/images/lightImg/ruo.png' }, { text: '爆闪', - icon: '/static/images/6155/DeviceDetail/shan.png' + icon: '/static/images/lightImg/shan.png' } ], activeIndex: -1, diff --git a/pages/6075/BJQ6075.vue b/pages/6075/BJQ6075.vue index a61429b..3e4d8dc 100644 --- a/pages/6075/BJQ6075.vue +++ b/pages/6075/BJQ6075.vue @@ -679,7 +679,7 @@ } let that = this; uni.navigateTo({ - url: "/pages/6155/ImgCrop", + url: "/pages/ImgCrop/ImgCrop", events: { ImgCutOverPath: function(data) { that.selectedImage = data.picPath; diff --git a/pages/6075J/BJQ6075J.vue b/pages/6075J/BJQ6075J.vue new file mode 100644 index 0000000..8115957 --- /dev/null +++ b/pages/6075J/BJQ6075J.vue @@ -0,0 +1,2908 @@ + + + + + \ No newline at end of file diff --git a/pages/6155/BJQ6155.vue b/pages/6155/BJQ6155.vue index 96f0a41..72f80b0 100644 --- a/pages/6155/BJQ6155.vue +++ b/pages/6155/BJQ6155.vue @@ -312,20 +312,20 @@ dic: { menuItems: [{ text: '强光', - icon: '/static/images/6155/DeviceDetail/qiang.png', + icon: '/static/images/lightImg/qiang.png', math: 100, type: 'main' }, { text: '弱光', - icon: '/static/images/6155/DeviceDetail/ruo.png', + icon: '/static/images/lightImg/ruo.png', math: 50, type: 'main' }, { text: '爆闪', - icon: '/static/images/6155/DeviceDetail/shan.png', + icon: '/static/images/lightImg/shan.png', math: 30, type: 'main' }, @@ -337,13 +337,13 @@ }, { text: '泛光', - icon: '/static/images/6155/DeviceDetail/fan.png', + icon: '/static/images/lightImg/fan.png', math: 100, type: 'fu' }, { text: '强+泛光', - icon: '/static/images/6155/DeviceDetail/fan.png', + icon: '/static/images/lightImg/fan.png', math: 70, type: 'fu' } @@ -785,9 +785,12 @@ message: "上传成功", iconUrl: "/static/images/common/success.png", }); - - ble.sendString(f.deviceId, "transmit complete", f.writeServiceId, f + + setTimeout(()=>{ + ble.sendString(f.deviceId, "transmit complete", f.writeServiceId, f .wirteCharactId); + },1000); + these.rgb565Data = null; resolve(); return; @@ -906,7 +909,7 @@ sourceType: ['album'], success: function(res) { uni.navigateTo({ - url: "/pages/6155/ImgCrop", + url: "/pages/ImgCrop/ImgCrop", events: { ImgCutOver: function(data) { @@ -915,7 +918,7 @@ }); console.log("data=", data); these.Status.BottomMenu.show = false; - these.rgb565Data = ble.convertToRGB565(data.piexls); + these.rgb565Data = Common.convertToRGB565(data.piexls); setTimeout(function() { sendImagePackets().catch(() => { diff --git a/pages/6155/ImgCrop.vue b/pages/6155/ImgCrop.vue index c6209ea..e69de29 100644 --- a/pages/6155/ImgCrop.vue +++ b/pages/6155/ImgCrop.vue @@ -1,100 +0,0 @@ - - - - - \ No newline at end of file diff --git a/pages/6155/deviceDetail.vue b/pages/6155/deviceDetail.vue index 2effd5a..1170edb 100644 --- a/pages/6155/deviceDetail.vue +++ b/pages/6155/deviceDetail.vue @@ -250,15 +250,15 @@ showHeader: true, menuItems: [{ text: '强光', - icon: '/static/images/6155/DeviceDetail/qiang.png' + icon: '/static/images/lightImg/qiang.png' }, { text: '弱光', - icon: '/static/images/6155/DeviceDetail/ruo.png' + icon: '/static/images/lightImg/ruo.png' }, { text: '爆闪', - icon: '/static/images/6155/DeviceDetail/shan.png' + icon: '/static/images/lightImg/shan.png' } ], activeIndex: -1, @@ -926,7 +926,7 @@ sourceType: ['album'], success: function(res) { uni.navigateTo({ - url: "/pages/6155/ImgCrop", + url: "/pages/ImgCrop/ImgCrop", events: { ImgCutOver: function(data) { @@ -1378,19 +1378,19 @@ title = '主灯模式'; items = [{ text: '强光', - icon: '/static/images/6155/DeviceDetail/qiang.png' + icon: '/static/images/lightImg/qiang.png' }, // { // text: '工作光', - // icon: '/static/images/6155/DeviceDetail/fan.png' + // icon: '/static/images/lightImg/fan.png' // }, { text: '弱光', - icon: '/static/images/6155/DeviceDetail/ruo.png' + icon: '/static/images/lightImg/ruo.png' }, { text: '爆闪', - icon: '/static/images/6155/DeviceDetail/shan.png' + icon: '/static/images/lightImg/shan.png' }, { text: '关闭', @@ -1402,11 +1402,11 @@ title = '辅灯模式'; items = [{ text: '泛光', - icon: '/static/images/6155/DeviceDetail/fan.png' + icon: '/static/images/lightImg/fan.png' }, { text: '强+泛光', - icon: '/static/images/6155/DeviceDetail/fan.png' + icon: '/static/images/lightImg/fan.png' }, ]; break; diff --git a/pages/6170/deviceControl/index.vue b/pages/6170/deviceControl/index.vue index 0c2ab74..c18438c 100644 --- a/pages/6170/deviceControl/index.vue +++ b/pages/6170/deviceControl/index.vue @@ -49,7 +49,13 @@ 设备状态 - {{ deviceInfo.onlineStatus === 0 ? '离线' : deviceInfo.onlineStatus === 2 ? '故障' : '在线' }} + {{ deviceInfo.onlineStatus === 0 ? '离线' : deviceInfo.onlineStatus === 2 ? '故障' : '在线' }} + + + + 蓝牙状态 + + {{getbleStatu}} @@ -123,6 +129,9 @@ + + 人员信息登记 @@ -266,11 +275,33 @@ popupBorder="1rpx solid rgba(224, 52, 52, 0.3)" :message="popupMessage" icon="/static/images/6170/svg.png" :confirm-text="popupConfirmText" :show-cancel="false" @confirm="onPopupConfirmPolice" confirmBtnBg="rgba(224, 52, 52, 1)" confirmBtnColor="#fff" /> + + + + + \ No newline at end of file diff --git a/pages/common/addScan/ScanEquip.vue b/pages/common/addScan/ScanEquip.vue index aa323f8..dc6bb27 100644 --- a/pages/common/addScan/ScanEquip.vue +++ b/pages/common/addScan/ScanEquip.vue @@ -72,7 +72,6 @@ callback: this.scan }], title: '扫码' - }, }, formData: { @@ -208,7 +207,7 @@ this.qrCodeResult(cleanedResult, true, null); }, fail: (err) => { - this.showMsg("扫码失败:" + err.errMsg, MsgType.error); + MsgError("扫码失败:" + err.errMsg,"确定",these); } }); }, diff --git a/pages/6170/callPolice/index.vue b/pages/common/callPolice/index.vue similarity index 59% rename from pages/6170/callPolice/index.vue rename to pages/common/callPolice/index.vue index 0f3dec1..920a09a 100644 --- a/pages/6170/callPolice/index.vue +++ b/pages/common/callPolice/index.vue @@ -1,497 +1,661 @@ - - - - - \ No newline at end of file diff --git a/pages/common/index/index.vue b/pages/common/index/index.vue index e706aba..d384bde 100644 --- a/pages/common/index/index.vue +++ b/pages/common/index/index.vue @@ -18,13 +18,16 @@ - - - + 报警 + 位置 + 发送信息 + + + @@ -40,15 +43,15 @@ 设备:{{item.deviceName}} - ID:{{item.deviceImei}} + + ID:{{item.deviceImei}} ID:{{item.deviceMac}} - 在线 + 在线 - 离线 + 离线 电量:{{item.battery || '0'}}% @@ -74,7 +77,7 @@ 暂无数据 --> - + @@ -116,7 +119,7 @@ - + {{ item.text }} @@ -146,17 +149,34 @@ } from '@/api/common/index.js' import bleTool from '@/utils/BleHelper.js'; import MescrollUni from '@/uni_modules/mescroll-uni/components/mescroll-uni/mescroll-uni.vue' -import BleReceive from '@/utils/BleReceive'; + import BleReceive from '@/utils/BleReceive'; var pagePath = 'pages/common/index'; var ble = null; var timeout = null; - var recei=null; + var recei = null; export default { components: { MescrollUni }, - + computed:{ + showSendFlex(){ + // return this.activeTab && this.activeTab.id !== ''&& (this.activeTabInfo.communicationMode==0 || this.activeTabInfo.communicationMode==2); + if(this.showMap || this.ShowSendmessage || this.showWarn){ + return true; + } + return false; + }, + ShowSendmessage(){ + return this.dic.showMsgTypes.indexOf(this.activeTabInfo.typeName)>-1 + }, + showMap(){ + return this.dic.showMapTypes.indexOf(this.activeTabInfo.typeName)>-1 + }, + showWarn(){ + return this.dic.showCallPolice.indexOf(this.activeTabInfo.typeName)>-1 + } + }, data() { return { mescroll: null, @@ -232,7 +252,12 @@ import BleReceive from '@/utils/BleReceive'; deviceId: '', deviceName: "", //重命名 - activeTabInfo: '' + activeTabInfo: '', + dic: { + showMsgTypes: ['BJQ6170', 'HBY210', 'HBY670', 'BJQ6075', 'BJQ6075J'],//需要发送消息的类型 + showMapTypes:['BJQ6170','HBY210','HBY670','BJQ6075','HBY018A','HBY100-J','BJQ6075J','HBY008A','HBY100-Y'],//需要显示地图的类型 + showCallPolice:['BJQ6170','HBY210','HBY670','BJQ6075','HBY018A','HBY100-J','BJQ6075J','HBY008A','HBY100-Y']//需要发送报警的类型 + } } }, methods: { @@ -253,7 +278,7 @@ import BleReceive from '@/utils/BleReceive'; // 下拉刷新 downCallback() { - + if (this.mescroll) { this.mescroll.resetUpScroll(false); this.mescroll.scrollTo(0, 0); @@ -265,7 +290,7 @@ import BleReceive from '@/utils/BleReceive'; // 上拉加载 upCallback() { - + this.getData(); }, @@ -386,7 +411,7 @@ import BleReceive from '@/utils/BleReceive'; if (res.code == 200) { //console.log("deviceTypeList=" + JSON.stringify(res.data)); this.tabs = [{ - id: '', + id: '', name: '全部设备', typeName: '全部设备' }, @@ -411,7 +436,7 @@ import BleReceive from '@/utils/BleReceive'; getData() { var task = () => { - + return new Promise((resolve, reject) => { let data = { pageNum: this.mescroll.num, @@ -495,9 +520,9 @@ import BleReceive from '@/utils/BleReceive'; case 'scan': // 扫一扫 uni.navigateTo({ - url:'/pages/common/addScan/ScanEquip' + url: '/pages/common/addScan/ScanEquip' }); - + break; case 'bluetooth': uni.navigateTo({ @@ -618,7 +643,7 @@ import BleReceive from '@/utils/BleReceive'; const deviceType = currentTab.id || ''; console.log(`跳转到发送信息页面\n当前设备类型: ${deviceType}\n设备类型名称: ${currentTab.typeName}`); uni.navigateTo({ - url: '/pages/6170/callPolice/index', + url: '/pages/common/callPolice/index', events: { ack: function(data) {} }, @@ -665,7 +690,7 @@ import BleReceive from '@/utils/BleReceive'; // 列表跳转 handleFile(item) { let url = item.detailPageUrl; - // console.log("url=",url); + // url="/pages/6075/BJQ6075L"; // if(!url){ // url="/pages/6075/BJQ6075" // } @@ -714,7 +739,7 @@ import BleReceive from '@/utils/BleReceive'; }, }, onShow() { - + if (ble) { //因为vue视图只能后退不能隐藏后再显示 //所以回到首页后将其他所有页面的订阅都删除 @@ -722,12 +747,12 @@ import BleReceive from '@/utils/BleReceive'; } }, onLoad() { - + // console.error("首页加载"); this.getTab() this.downCallback(); - - + + // 绑定页面做了监听,新增成功,刷新页面 uni.$on('refreshDeviceList', () => { this.getTab() // 刷新数据 @@ -770,9 +795,9 @@ import BleReceive from '@/utils/BleReceive'; recei.ReceiveData(receive, device, path, recArr); this.updateBleStatu(); }, pagePath); - - let phone=uni.getStorageSync("phone"); - if(phone==='17671332251'){//先写死方便自己使用,后面按人员权限区分 + + let phone = uni.getStorageSync("phone"); + if (phone === '17671332251') { //先写死方便自己使用,后面按人员权限区分 this.menuItems.push({ text: '上报设备', icon: '/static/images/common/add.png', diff --git a/pages/common/privacyAgreement/index.vue b/pages/common/privacyAgreement/index.vue index 0cd534f..7c27108 100644 --- a/pages/common/privacyAgreement/index.vue +++ b/pages/common/privacyAgreement/index.vue @@ -2,7 +2,10 @@ 星汉物联App联隐私政策 - 更新日期:2025-09-23 + 编写日期:2025-09-23 + + + 更新日期:2026-03-05 生效日期:2025-10-08 @@ -38,7 +41,7 @@ (1).账号信息:手机号码、验证码,用于注册、登陆 (2).蓝牙,用于设备连接后的通信、控制 (3).相机/相册权限,拍摄的照片或视频用于上传给设备、扫码等 - (4).设备标识信息:IMEI、Android ID、MAC、OAID、软件安装列表,用于日志查询、统计分析、识别您的设备预防恶意程序及反作弊,提高服务安全性 + (4).设备标识信息:BSSID、Wi-Fi SSID、Wi-Fi BSSID、IMEI、Android ID、MAC、OAID、AAID、PushToken、APP ID、应用包名、软件安装列表,用于日志查询、统计分析、识别您的设备预防恶意程序及反作弊,提高服务安全性 (5).GPS或网络位置,用于基于位置的服务,如地图导航、位置偏移预警 (6).麦克风,我们的智能设备支持播放语音,需要录音以上传给设备 (7).根据SDK功能,可能收集设备信息、位置信息等。我们会对合作的第三方SDK进行严格评估,并要求其遵守相关法规。具体清单见下文。 @@ -51,6 +54,11 @@ (2).定位SDK(com.amap.api.location),所属公司:北京高德图强科技有限公司,隐私政策链接:https://lbs.amap.com/pages/privacy/ (3).移动智能终端补充设备标识体系统一调用SDK(com.bun.miitmdid),所属公司:中国信息通信研究院,隐私政策链接:https://www.msa-alliance.cn/col.jsp?id=122 (4).轻量版地图SDK(com.amap.api.maps.utils),所属公司:北京高德图强科技有限公司,隐私政策链接:https://lbs.amap.com/pages/privacy/ + + (5).个推消息推送(com.igexin.push),所属公司:浙江每日互动网络科技股份有限公司,隐私政策链接:http://docs.getui.com/download.html + (6).阿里云快速json(com.alibaba.fastjson),所属公司:杭州阿里巴巴广告有限公司,隐私政策链接:https://github.com/alibaba/fastjson + (7).vivo PUSH-SDK(com.vivo.push),所属公司:维沃移动通信有限公司,隐私政策链接:https://dev.vivo.com.cn/documentCenter/doc/180 + (8).OPPO PUSH 客户端SDK(com.heytap),所属公司:OPPO广东移动通信有限公司,隐私政策链接:https://open.oppomobile.com/new/introduction?page_name=oppopush 4. 信息的存储与安全 diff --git a/pages/common/productDes/index.vue b/pages/common/productDes/index.vue index f450cfc..f9dc3c7 100644 --- a/pages/common/productDes/index.vue +++ b/pages/common/productDes/index.vue @@ -10,6 +10,7 @@ + diff --git a/pages/common/send/index.vue b/pages/common/send/index.vue index f064c70..68efc2d 100644 --- a/pages/common/send/index.vue +++ b/pages/common/send/index.vue @@ -1,11 +1,12 @@