1、打开路线规划
uni.openLocation({
latitude: Number(obj.latitude),
longitude: Number(obj.longitude),
name: obj.name,
address: obj.address,
success: function() {
console.log('success');
}
});
2、在view已经绑定tap事件下的子view绑定tap事件 @tap.stop=“”
3、click方法阻止 见https://ask.dcloud.net.cn/question/79545
4、在跳转时候如果传递的是url连接,如
//服务协议
uni.navigateTo({
url: '/pages/webpage/WebPage?loadUrl=https://m.amap.com/navi/?start=116.403124,39.940693&dest=116.481488,39.990464&destName=阜通西&naviBy=car&key=0f483de489b02603119778e38e720a32'
});
那么,在接受这个loadUrl时候会被重新解析
{
"loadUrl": "https://m.amap.com/navi/?start=116.403124,39.940693",
"dest": "116.481488,39.990464",
"destName": "阜通西",
"naviBy": "car",
"key": "0f483de489b02603119778e38e720a32"
}
4、获取app版本号
// #ifdef APP-PLUS
self.versionName = plus.runtime.version;
self.isApp = true;
console.log('aboutus', '============' + self.versionName);
if(uni.getSystemInfoSync().platform == "android"){
self.canUpdate = true;
}
// #endif
5、获取app versionCode,使用plus.runtime.versionCode;获取
// #ifdef APP-PLUS
self.versionName = plus.runtime.version;
self.isApp = true;
console.log('aboutus', '============' + self.versionName);
var versionCode = uni.getSystemInfoSync().versionCode;//这个没用
var verCode = plus.runtime.versionCode;//这个获取的就是manifest.json中的versionCode
self.versionName = plus.runtime.version+"+++"+versionCode+"++++"+verCode;
if(uni.getSystemInfoSync().platform == "android"){
self.canUpdate = true;
}
// #endif
6、隐私协议在manifest.json中配置
// 安卓协议打包生效 ios不支持在这里调用
"privacy" : {
"prompt" : "template",
"template" : {
"title" : "服务协议和隐私政策",
"message" : " 请你务必审慎阅读、充分理解“服务协议”和“隐私政策”各条,款,包括但不限于:为了更好的向你提供服务,我们需要收集你的设备标识、操作日志等信息用于分析、优化应用性能。你可阅读<a href=\"https://www.baidu.com/">《服务协议》</a>和 <a href=\"https://www.baidu.com/">《隐私政策》</a>了解详细信息。如果你同意,请点击下面按钮开始接受我们的服务。",
"buttonAccept" : "同意",
"buttonRefuse" : "退出应用"
}
},
7、输出问题
在console.log(‘-------------------’,res)时,如果输出的res为对象前面不可加其他字符串,不然会输出[object,object],不加其他则输出对象
8、使用"enablePullDownRefresh": true
// 仅做示例,实际开发中延时根据需求来使用。
export default {
data() {
return {
text: 'uni-app'
}
},
onLoad: function (options) {
setTimeout(function () {
console.log('start pulldown');
}, 1000);
uni.startPullDownRefresh();
},
onPullDownRefresh() {
console.log('refresh');
setTimeout(function () {
uni.stopPullDownRefresh();
}, 1000);
}
}
9、跨域问题
open -n /Applications/Google\ Chrome.app/ --args --disable-web-security --user-data-dir=/Users/mac/Documents/MyChromeDevUserData
10、微信支付
在接入微信支付的时候需要使用自定义基座打包,使用默认基座打包第一次可能会成功,但是以后一直失败
查看微信开放平台接入的app信息是否正确,包名以及md5值,注意是md5值而不是一般的sha1值
11、跳转商店
if (plus.os.name=="Android") {
appurl = "market://details?id=io.dcloud.HelloH5"; //由于hello uni-app没有上Android应用商店,所以此处打开了另一个示例应用
}
else{
appurl = "itms-apps://itunes.apple.com/cn/app/hello-uni-app/id1417078253?mt=8";
}
12、package.json生成 npm init
13、text末尾省略 不能在text标签内包含其他标签,不然可能会不生效
14、canvas绘制二维码
如果二维码四周有缺失会到时扫码无法识别
15、js如果需要精度较高加法
//说明:javascript的加法结果会有误差,在两个浮点数相加的时候会比较明显。这个函数返回较为精确的加法结果。
//调用:accAdd(arg1,arg2)
//返回值:arg1加上arg2的精确结果
accAdd(arg1, arg2) {
var r1, r2, m;
try {
r1 = arg1.toString().split(".")[1].length
} catch (e) {
r1 = 0
}
try {
r2 = arg2.toString().split(".")[1].length
} catch (e) {
r2 = 0
}
m = Math.pow(10, Math.max(r1, r2))
return (arg1 * m + arg2 * m) / m
},
16、