获得徽章 9
- 今日复盘1-13
今天主要是改蓝牙项目app版bug。
工作中遇到的技术问题:
1、监听ios来电
解决:虽然能监听到来电,但是无法判断是来电还是打电话,还是挂断,不太好用。。。
document.addEventListener('plusready', function() {
//console.log("所有plus api都应该在此事件发生后调用,否则会出现plus is undefined。")
plus.ios.importClass("CTCall");
plus.ios.importClass("CTCallCenter");
var callObserver = plus.ios.newObject("CTCallCenter");
callObserver.plusSetAttribute("callEventHandler", doReceive);
function doReceive(call) {
console.log("callEventHandler");
}
})
情绪问题:
平常心展开评论点赞 - 今日复盘1-12
今天主要是用uni-app写蓝牙项目。
工作中遇到的技术问题:
1、运行uniapp项目报错【[JS Framework] 当前运行的基座不包含原生插件[Common-BT],请在manifest中配置该插件,重新制作包括该原生插件的自定义运行基座】
解决:
(1)manifest.json - App原生插件配置ext.dcloud.net.cn
(2)运行-制作自定义调试基座(勾选使用公共测试证书)
2、uniapp如何连接蓝牙
解决:
(1)hbuildrx安装app原生插件ext.dcloud.net.cn
(2)代码如下:
const bt = uni.requireNativePlugin('Common-BT');
bt.hasPermission(result => {});
bt.isSupport(result => {});
bt.isOpen(result => {});
bt.listBT(result => {});
bt.connectBT( {btAddress: '00:00:00:10:F1:1A'},
result => {
//result数据:{"code":100,"msg":"连接成功"}
const msg = JSON.stringify(result);
var t = this.encodeUtf8(result.value);
var tData = t.splice(',');
}
}
);
情绪问题:
第一次用uni写,有点小激动
学到了什么:
各种猜数据,找数据规律展开赞过13 - 今日复盘1-6
今天主要是写文档上传、转发功能。翻译app日文版。调试ios app ota升级。
工作中遇到的技术问题:
1、小程序文档上传、删除、预览、下载、打开预览
思路:
1、从客户端会话选择文件 wx.chooseMessageFile
2、将本地资源上传到服务器 wx.uploadFile
3、下载文件资源到本地 wx.downloadFile
4、新开页面打开文档 wx.openDocument
2、为什么用【真机调试】下载预览文档可以,【预览】就不行?
解决:
(1)开发者工具本地设置的不校验合法域名取消勾选
(2)微信公众平台没有配置downloadFile合法域名,开发管理->开发设置 -> 服务器域名 ->downloadFile合法域
(3)项目->重新打开此项目
思路:
(1)【预览】下用wx.showModal弹出fail的报错信息,说地址不在域名内,可能是后台没有配置domain list的原因
(2)开发者工具本地设置的不校验合法域名取消勾选
(3)去后台配置downloadFile合法域名
3、custom-tab-bar真机调试报错
解决:custom-tab-bar文件夹下的index.json设置{"component": true}
4、uniapp hbuilder真机调试 ota
1)替换nativeplugins插件
2)重打基座
5、小程序转发 报错 {errMsg: "getShareInfo:fail invalid shareTicket"}
未解决:这个shareTicket真不知道怎么用。。展开2点赞 - 今日复盘12-27
今天主要是写蓝牙项目小程序版。
工作中遇到的技术问题:
1、小程序a页面如何刷新b页面的值
解决:路由
思路:
(1)获取当前页面栈(通过getCurrentPages获取,得到的页面栈是一个二维数组)
(2)遍历当前页面栈,获取指定页面
(3)刷新指定页面的值developers.weixin.qq.com
// 在app.js定义该方法
getPages(pageName,fn){
let pages = getCurrentPages();// 当前页面栈
pages.forEach(item =>{
if(item.route == pageName){ // 获取指定页面
// 更新值
fn(item)
}
})
},
// 在a页面调用该方法,刷新b页面的值
getApp().getPages('/pages/b/b',function(page){
page.setData({
'value':1,
})
})
情绪问题:
项目做的眼睛都直了
学到了什么:
现在一说到页面传值就想到路由展开赞过评论2 - 今日复盘12-23
今天主要是写蓝牙项目小程序版,改蓝牙项目app版bug。翻译隐私政策和服务协议。
工作中遇到的技术问题:
1、小程序蓝牙启动订阅(notifyBLECharacteristicValueChange)失败
解决:要设置state:true。因为h5 plus的notifyBLECharacteristicValueChange不设置state,默认也为true,而微信需要设置state:true
解决思路:
1)、确认写法无误
2)、直接查看微信开放文档developers.weixin.qq.com
2、小程序写入命令writeBLECharacteristicValue报错
解决:value必须是ArrayBuffer类型developers.weixin.qq.com
情绪问题:
一到三点就很饿,遭不住啊~~
学到了什么:
论计算机基础的重要性展开2点赞 - 今日复盘11-24
今天主要是修改会议室预约小程序bug。蓝牙app进行二开。
工作中遇到的技术问题:
1、小程序如何自动检测并更新?
解决:在index.js的onLoad方法里调用了wx.getUpdateManager()blog.csdn.net
2、webapp如何获取手机系统语言
解决:navigator.languageblog.csdn.net
3、ios首次从app设备列表页进入搜索设备页面不搜索设备
解决:在搜索设备页先判断本机蓝牙适配器状态(getBluetoothAdapterState),如果处于搜索中(discovering为true),则先停止搜索附近设备(stopBluetoothDevicesDiscovery)
解决思路:
1、发现开始搜索设备走成功回调,但是搜不到设备(onBluetoothDeviceFound)
2、百度ios 首次进入页面不触发 onBluetoothDeviceFound,无果,基本出来的都是wx.onBluetoothDeviceFound
3、对比该项目小程序版代码(小程序没有问题),发现小程序在开始搜索设备之前(startBluetoothDevicesDiscovery)之前调了初始化蓝牙模块(wx.openBluetoothAdapter)
4、在app上也先初始化蓝牙模块,发现还是搜不出设备
5、再对比发现,小程序 startBluetoothDevicesDiscovery 允许上报同一设备(allowDuplicatesKey为true),而app不允许上报同一设备(allowDuplicatesKey为false)
6、将app的allowDuplicatesKey改为true,调试发现进入该页面能搜到设备
7、思考:是否是因为在列表页已经上报过设备,到搜索设备页因为allowDuplicatesKey为false,所以不再上报
8、解决:在搜索设备页先判断本机是否处于搜索设备中,如果处于,就先停止搜索。停止成功再开始搜索附近设备
情绪问题:
昨天蛮心累的,不过昨晚睡的早,今天还可。展开赞过评论1
![[捂脸]](http://lf-web-assets.juejin.cn/obj/juejin-web/xitu_juejin_web/img/jj_emoji_28.8981538.png)
![[疑问]](http://lf-web-assets.juejin.cn/obj/juejin-web/xitu_juejin_web/img/jj_emoji_31.606e7a5.png)