Uni-app问题

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" : "  请你务必审慎阅读、充分理解“服务协议”和“隐私政策”各条,款,包括但不限于:为了更好的向你提供服务,我们需要收集你的设备标识、操作日志等信息用于分析、优化应用性能。你可阅读《服务协议》《隐私政策》了解详细信息。如果你同意,请点击下面按钮开始接受我们的服务。",
                "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、

你可能感兴趣的:(android,移动端,uni-app)