当前位置: 首页 > news >正文

网站建设的基本条件成都网站营销seo电话

网站建设的基本条件,成都网站营销seo电话,2021国内最好用免费建站系统,腾讯官网登录入口基于上次文章做了优化和改良,保证在登录状态下才获取定位信息 uniapp 小程序实时且持续获取定位信息(全局设置一次)(单页面监听定位改变)(不采用定时器)_uniapp小程序定位_前端小胡兔的博客-CSDN博客本篇文章实现了uniapp 微信小程序实时获取定位信息,小程序打开即可持续获取定…

基于上次文章做了优化和改良,保证在登录状态下才获取定位信息

uniapp 小程序实时且持续获取定位信息(全局设置一次)(单页面监听定位改变)(不采用定时器)_uniapp小程序定位_前端小胡兔的博客-CSDN博客本篇文章实现了uniapp 微信小程序实时获取定位信息,小程序打开即可持续获取定位信息, 位置更新也会触发相关自定义事件_uniapp小程序定位https://blog.csdn.net/weixin_44805839/article/details/131984957?utm_source%20=%20uc_fansmsg


优点

  1. 只设置一次
  2. 不采用定时器的方式
  3. 无需多个页面调用
  4. 单独页面若想获取当前位置是否变化 可单独设置监听,并调用不同逻辑事件
  5. 根据登录状态区分是否调用(新增)

原理: 

  1. 采用uniapp推出的: uni.onLocationChange(监听实时地理位置变化事件)

  2. 在app.vue中定义一次 且设置监听事件(便于独立页面监测定位改变并调用其他事件)

        有关"uni.onLocationChange"的相关内容,不再赘述,详情见官网:

uni.onLocationChange(FUNCTION CALLBACK) | uni-app官网uni-app,uniCloud,serverlesshttps://uniapp.dcloud.net.cn/api/location/location-change.html


实现:

1 持续获取定位

1.1 app.vue页面定义globalData(全局变量)和方法,并在onshow和onhide中调用

<script>//import httpApi from '@/utils/httpApi.js' //自定义的接口文件 export default {globalData: {latitude: undefined,longitude: undefined,loginType: false, //登录状态 true为已登录},onLaunch: function() {console.log('App Launch')},onShow: function() {console.log('App Show')this.globalData.loginType = uni.getStorageSync('token') ? true : false;this.updateLocationChange();},onHide: function() {console.log('App Hide')uni.stopLocationUpdate();},methods: {updateLocationChange: function() {if (!this.globalData.loginType) {console.log("没登录 不上传locationchange")return;}let that = this;uni.startLocationUpdate({success: res => {uni.onLocationChange(function(res2) {that.globalData.latitude = res2.latitude;that.globalData.longitude = res2.longitude;//然后调用上传经纬度接口 自行定义//httpApi.syncLocation(that.globalData.latitude, that.globalData//.longitude).then(res => {});});},fail: err => console.error('开启小程序接收位置消息失败:', err),complete: msg => console.log('调用开启小程序接收位置消息 API 完成')});},}}
</script><style>/*每个页面公共css */
</style>

1.2 在manifest.json文件源码中做相关配置

        (重要设置"startLocationUpdate"和"onLocationChange"):

"mp-weixin" : {"appid" : "", //appid"setting" : {"urlCheck" : false},"usingComponents" : true,"permission" : {"scope.userLocation" : {"desc" : "定位" //微信小程序获取location必填}},"requiredPrivateInfos": ["getLocation", //使用uni.getlocation才需声明"startLocationUpdate", //必要"onLocationChange" //必要]
},

1.3 登录成功后调用:

getApp().globalData.loginType = true; //改变登录状态
getApp().updateLocationChange(); //开启上传位置

1.4 退出登录后修改登录状态:

getApp().globalData.loginType = false;

这样就做到登录后开启监听位置啦~


2 监听globalData中的属性

在任意页面监听globalData中的数据实时变化,并调用定义的不同方法

2.1 在app.vue中定义 "watch" 方法,具体方法如下:

// 监听全局变量变化(经纬度需要)
watch: function(variate, method) {var obj = this.globalData;let val = obj[variate]; // 单独变量来存储原来的值Object.defineProperty(obj, variate, {configurable: true,enumerable: true,set: function(value) {val = value; // 重新赋值if (method) {method(variate, value); // 执行回调方法}},get: function() {// 在其他界面调用getApp().globalData.variate的时候,这里就会执行。return val; // 返回当前值}})
},

2.2 使用

例如我想经纬度变化时 可以在页面这样操作:

onLoad() {this.latitude = getApp().globalData.latitude;this.longitude = getApp().globalData.longitude;//实时获取当前位置getApp().watch('latitude', this.watchLocation);getApp().watch('longitude', this.watchLocation);
},
methods: {//监听location变化回调watchLocation: function(name, value) {if (name == 'latitude') {this.latitude = value;}if (name == 'longitude') {this.longitude = value;}},
}

以上就是本篇文章的全部内容啦~ 欢迎小伙伴们一起探讨 一起进步~

http://www.yayakq.cn/news/417931/

相关文章:

  • 介绍移动互联网的网站有哪些南宁 网站开发
  • 温州企业建站系统dedecms做网站全教程
  • 优化站诊断佛山网站设计中心
  • 青岛网站推广企业那个网站做效果图电脑配置
  • 东莞市公司网站建设怎么样互动平台源码
  • 综合型企业网站有哪些整站seo外包
  • 互联网招聘网站排名网站设计的技巧
  • 投诉举报网站 建设方案上海交通网站建设
  • 咸阳网站建设哪家专业毕业设计做购物网站
  • 可以免费下源码的网站衡阳做淘宝网站建设
  • 如何一个空间做多个网站wordpress淘客插件破解版
  • 网站建设课设报告找公司开发网站
  • 哈尔滨网站建设好南京中建乡旅建设投资有限公司网站
  • 网站建设市场推广招聘网站如何被百度收入
  • 网站做弹窗广告吗网站宣传的手段有哪些?(写出五种以上)
  • 网站管理员怎样管理员权限设置博客做公司网站
  • 阜阳讯拓网站建设公司广州小程序开发多少钱
  • 体育用品东莞网站建设江苏初中课程基地建设网站
  • 校园二手网站开发网页图片不显示
  • 自己做的微信网站经常被停止访问网站开发语言市场有率
  • 公司微信网站开发平台h5响应式网站建设报价
  • 房产网站代运营WordPress主题会包含木马吗
  • 新闻聚合网站开发 技术用织梦做的网站怎么上传虚拟
  • 关于开展网站建设工作的通知网站开发程序员招聘
  • 网站定制费用自助下单网站
  • 千灯做网站免费下软件的网站
  • 延吉市住房城乡建设局网站建设企业网站内容
  • 企业模板网站vue让互联网之光点亮生活
  • 网站站长网站后台功能技术要求
  • 网站制作内容取名字大全免费查询