// 分享按钮
<!-- #ifdef MP-WEIXIN -->
<button type="default" class="btn btn_fx radius50 fcc" open-type="share">邀请好友</button>
<!-- #endif -->
// 小程序分享内容laundry
onShareAppMessage(res) { // 分享按钮+用户点击右上角分享给好友
return {
title: '我是分享标题',
path: 'pages/index/index?referid='+(this.referid||this.my_uids),
imageUrl: '我是分享图片'
}
},
onShareTimeline(res) { // 用户点击右上角分享朋友圈
return {
title: '我是分享标题',
query: 'referid='+(this.referid||this.my_uids),
imageUrl: '我是分享图片'
}
},
在这个数字化的当下,小程序的使用带来了不少隐私方面的困扰。特别是对位置授权接口的判断,它就像一扇隐藏的门户。我们真的能决定小程序获取我们位置信息的权限吗?这可是关乎每位用户隐私和体验的重要问题。
一理解位置授权重要性
mounted:function(){
// #ifdef MP-WEIXIN
uni.getSetting({
success: res => {
if (res.authSetting['scope.userLocation']) {
this.isLocation = true;
console.log('已授权userLocation')
} else {
this.isLocation = false;
console.log('用户未授权userLocation')
}
}
})
// #endif
this.getLocation();
},
methods:{
// 打开定位设置
openSetting() {
let that=this;
uni.openSetting({
success: (res) => {
if (res.authSetting['scope.userLocation']) {
// 5.用户在设置中点击了允许,调用选择位置信息函数
that.isLocation = true;
that.getLocationInfo(function(){
that.getAddressName(); //获取详细地址
}); //获取地理位置
} else {
that.isLocation = false;
}
},
fail: (err) => {
console.log("打开设置失败", err)
}
})
},
}
使用小程序时,位置数据尤其重要,它涉及个人隐私。比如,若你在异地使用导航小程序,若其未获你允许就获取位置,可能会给你带来糟糕的使用感受。2022年就有用户反映某小程序擅自调用位置信息,这让人担忧隐私安全风险。而且,不同地方出现此类问题的影响程度不同,人口多、信息流通快的城市,隐私泄露的后果可能更严重。因此,用户需关注位置权限的合理性。同时,开发者也有义务保证位置权限的使用符合相关规定。
开发者需认识到,明白位置权限的必要性不容忽视。他们既要确保用户的隐私期望得到满足,又要遵循法律法规,在必要时合理获取位置信息。比如,在外卖小程序里,获取用户位置信息可以显著提升配送速度,但这必须建立在用户明确同意的基础之上。
配置小程序涉及位置获取
关于小程序的设置,以获取地理位置为例,若要实现全面配置,必须明确只有APP端才能获取详细地址这一点至关重要。根据2021年的行业调查,许多开发者并未正确设置这一信息。在设置过程中,开发者需进入根目录,在utils/mixin.js文件中的特定位置添加配置。这一步骤要求极高的细心和专业技术。若配置有误,仍可能导致地理位置信息获取不当或丢失关键数据。
pages.json文件在分包中也与定位信息紧密相连。若此文件编写不当,可能会引发定位接口调用失效或结果偏差。开发工作本身既繁琐又要求严谨,尤其在处理如定位这类敏感信息时,开发者必须持续进行测试和校验。例如,一支位于北京的团队在开发本地生活类小程序时,就因为这个原因投入了大量的时间去排查问题。
隐私保护指引和必要信息
《小程序隐私保护指引》犹如守护隐私的屏障。该指引明确指出,开发者只能处理实现小程序功能所必需的数据。比如,在展示距离或提供线下导航服务时,必须征得用户明确许可,才能搜集其位置信息。2020年,相关法规的颁布进一步强化了这一规定。
对于微信的昵称和头像这类信息,我们仅在用户明确同意的情况下进行收集,以识别用户身份。同样,用于登录和注册的手机号也是基于这一原则进行收集。这些规定体现了对用户权益的重视。无论是个人开发者还是大型企业团队,都必须遵守。例如,上海的某个购物小程序开发团队就严格遵守规定,制定隐私条款,确保应用能够顺利上线并赢得用户信赖。
其它权限获取对应功能
小程序功能丰富,每个权限对应的功能都有具体指向。使用摄像头是为了上传照片,这在众多社交及工作汇报类小程序中尤为关键。例如,杭州有许多摄影爱好者通过这类小程序分享作品,他们对上传照片的功能非常看重,因此对摄像头权限的获取和使用格外关注。
相册使用权限仅限写入,用于存储或上传图片。同时,读取剪切板以实现文本复制等操作也是必要的。这些功能的使用必须在合法合规的前提下,并且需获得用户同意,以确保小程序稳定运行,让用户安心使用。
地址信息的收集
收集地址信息旨在简化购物时的收货地址填写流程。对电商小程序来说,这确实是一个实用功能。比如淘宝小程序,通过全国范围内的地址预存,极大地提升了下单速度。但若地址信息被不当使用,后果可能非常严重。2019年就发生过地址信息被非法交易的小规模事件,严重威胁了用户安全。因此,开发者必须严格遵守相关规定,对地址信息处理保持高度谨慎。
用户需明白自己提供的地址信息是为何所用,若察觉到其被不合理利用,比如原本仅用于下单却被用于其他营销目的,应立即表达异议并保护自己的权益。
接口返回距离的单位换算和经纬度用法
onLoad(event) {
if(event.referid||event.scene){
uni.setStorageSync('referid', event.referid||event.scene);
}
},
// 小程序中用户点击分享后,设置该页面的分享信息
onShareAppMessage(res) {
return {
title: this.web_site_title||'小程序名称',
path: `/pages/index/index?referid=${this.my_uids}`,
imageUrl: ''
}
},
// 分享朋友圈
onShareTimeline(res) {
return {
title: this.web_site_title||'小程序名称',
query: `referid=${this.my_uids}`,
}
},
在进行位置信息和距离展示的小程序中,对接口输出的距离进行单位转换至关重要。若单位转换不当,用户可能会产生误解或错觉。至于获取经纬度的方法,之前所述在根目录下进行文件操作相对繁琐。以旅游规划类小程序为例,若经纬度数据有误或使用不当,可能会误导用户对旅游地点的定位。
而且,不同的应用场合,单位转换的方式也会有所差异。若开发者未能准确进行距离单位的转换或正确运用经纬度,无论是在繁华的上海这样的大城市,还是在旅游小镇中使用的小程序,都可能会引发用户体验上的问题。
你是否曾为小程序的权限设置而心生疑虑?欢迎大家踊跃留言。若觉得本文对您有所帮助,不妨点赞并转发。
filters:{
// 用法 {{item.distance|setMorKm}}
setMorKm(m){ // 距离的换算
var n=''
if(m){
if (m >= 1000) {
n = (m / 1000).toFixed(1) + 'km'
} else {
n = m.toFixed(1) + 'm'
}
}else{
n = '0m'
}
return n
},
timeDays(value) { // 计算天数
var v = value;
var g =/^d+$/.test(v)
if(!g){
v = new Date(value.replace(/-/g, '/')).getTime();
}
var remain = v - (new Date().getTime());
let iDays = parseInt(remain /1000/60/60/24);
return iDays+1;
},
graceNumber (number){ // “消息通知”-数量
if (number == 0) {
return "0";
} else if (number > 99) {
return '99+';
} else if (number > 9999) {
if(number%10000==0) return number/10000+'万';
else return (number/10000).toFixed(0)+'万+';
}
return number;
},
}