1、uniapp老是闪退?
解决:是因为请求了一个错误的接口。
2、小程序自带的custom-tab-bar组件
(1)切换时闪
(2)在电脑端微信上显示高度特别高
解决: 判断底部高度 > 60 就为0
3、uniapp vue和nvue有什么区别?
解决:渲染引擎不同
4、uniapp nvue页面使用setStyle报错
解决:nvue不能使用setStyle方法
5、uiapp如何监听ios来电提醒?
解决:ext.dcloud.net.cn/plugin?id=6…
(1)插件下载下来
(2)manifest.json->APP原生插件配置->本地插件
(3)重打基座
// index.vue
var KJCall = uni.requireNativePlugin('KJ-Call');
//电话状态监听
KJCall.CallState(res => {
console.log(JSON.stringify(res));
console.log('电话唯一ID:' + res.callID);
if (res.callState == 'Dialing') {
console.log('拨打');
} else if (res.callState == 'Connected') {
console.log('电话接通');
} else if (res.callState == 'Disconnected') {
console.log('电话挂断');
} else if (res.callState == 'Incoming') {
console.log('来电');
} else if (res.callState == 'Other') {
console.log('电话其他状态');
}
uni.setStorage({
key: 'callStateDes',
data: res.callState,
success: function () {
console.log('success');
}
});
});
// web-view页面
plus.ios.importClass("CTCall");
plus.ios.importClass("CTCallCenter");
var callObserver = plus.ios.newObject("CTCallCenter");
callObserver.plusSetAttribute("callEventHandler", doReceive);
function doReceive(call) {
setTimeout(function() {
_this.controlB.call.callStateDes = plus.storage.getItem("callStateDes")
console.log(_this.controlB.call.callStateDes)
if(_this.controlB.call.isOpen[0] == 1){ // 开启来电提醒
if(_this.controlB.call.callStateDes == 'Incoming'){
_this.controlB.write(0x0E, [parseInt('01', 2)],function(){}) // [83,72,81,2,14,1,86,80]
} else if(_this.controlB.call.callStateDes == 'Connected' || _this.controlB.call.callStateDes == 'Disconnected'){
_this.controlB.write(0x0E, [parseInt('00', 2)],function(){})
}
}
}, 2000);
}
6、小程序ios根据serviceId获取特征值失败,错误代码10004
解决:确保serviceId的字母都是大写
7、用本地的接口需要相同的局域网
8、uniapp 获取所有页面栈
let pages = getCurrentPages(); //获取所有页面栈实例列表
let nowPage = pages[ pages.length - 1]; //当前页页面实例
nowPage.$vm.getMaterial();
nowPage.$vm.status = '已完成';//修改上一个页面status的值
9、小程序ios用scroll-view组件划到底部会划出一片空白
解决:传参数pageSize
10、蓝牙调试器里要保证数据接收和发送是hex格式
11、数据如何hex发送
FF0600FAB0B00404
12、hbuilder手机联调,显示【本应用使用Hbuilderx3.3.11或对应的cli版本编译,而手机端SDK版本是3.3.5。不匹配的版本可能造成应用异常】
解决:
(1)hbuildrx插件删除,重新添加
(2)重打自定义基座-选公共测试包
原因:Hbuilderx升级了
13、Android ble中nitify和indication的区别
两个都是通知的意思,notify和indication的区别在于,notify只是将你要发的数据发送给手机,没有确认机制,不会保证数据发送是否到达。而indication的方式在手机收到数据时会主动回一个ack回来。即有确认机制,只有收到这个ack你才能继续发送下一个数据。这保证了数据的正确到达,也起到了流控的作用。所以在打开通知的时候,需要设置一下。
13、蓝牙数据解析成有符号位的整数
JavaScript DataView.getUint16() 是 dataView 中的一个内置方法。它用于获取指定位置的无符号 16 位整数(无符号短整型)数。
14、uniapp getcurrentPages()方法,console.log(pages[pages.length - 1])报错【uni - app - Property or method “toJSON“ is not defined on the instance but referenced during render.】
解决:Vue版本选择3
15、十进制无符号的数转换成十进制有符号位数
251转换成负数
new Int8Array([251])[0] // -5
16、
解决:Hbuilderx - 基础配置 重新获取DCloud APPID
17、能同时连接两个设备,并同时接收到设备传递的数据吗?
解决:能
18、app 上架隐私政策修改
解决:在隐私政策首尾处增加:
最近更新日期:2021年11月1日。 注:本政策将于2021年11月1日正式生效。
19、Hbuilder如何打正式包?
解决:
(1)配置图标
(2)发行->云打包
20、调试蓝牙,得到的数据经常变化,如何找规律?
解决:把十六进制转换成二进制找规律。(有0和1的数据考虑二进制;有字母的考虑十六进制)
21、固件如何更新?
解决:将bin文件写入设备里。
22、写入命令,ios超过20字节没有回调
解决:
方法一:使发送的数据不超过20字节
方法二:判断如果是ios系统,不在写入的回调里执行下一步方法,而是在回调外延时500ms执行下一步方法。
23、uniapp的nvue页面如何引入阿里图标?报错【WARNING: content is not a standard property name (may not be supported)】(警告:content不是标准属性名(可能不受支持))
解决:
(1)App.vue引入图标线上地址
(2)定义css样式
(3)引用<text class="phoenix_icon"></text>
// App.vue
const domModule = uni.requireNativePlugin('dom');
domModule.addRule('fontFace', {
'fontFamily': 'iconfont', // 不固定,根据项目来
'src': "url('https://xxxxxxxxxxxxxx.ttf')" // 不固定,根据项目来
});
// index.nvue
<template>
<view class="">
<text class="iconfont"></text>
</view>
</template>
<style>
.iconfont {
font-family: iconfont;
font-size: 60rpx;
}
</style>
24、nvue如何引入图片?
<image class="" mode="aspectFit" :src="item.deviceCategory.logo" />