获得徽章 9
前端 @硬件 | 组件 | 小程序 | uniapp
老板和客户在谈项目,我进去送设备
客户说,你们怎么证明这个小程序是你们开发的?
我说,我能让它崩。
2
我居然能把脚底下的插座的开关踢关了,还好只关了我的电脑[捂脸]
4
今日复盘3-30
今天主要是写蓝牙项目uniapp版。
1、uniapp 跨页面如何传递数据?
解决:
// a页面
uni.navigateTo({
url: `../deviceAdd/deviceAdd?deviceListBind=${encodeURIComponent(JSON.stringify(_this.deviceListBind))}`
});
// b页面
onLoad(option) {
const deviceListBind = JSON.parse(decodeURIComponent(option.deviceListBind));
console.log('上一个页面传递过来的参数对象'+deviceListBind );
}

2、uniapp nvue页面如何让div充满全屏?
解决:<div :style="{width:750rpx, height: windowHeight+ 'px'}"></div>
3、uniapp nvue页面 三元运算符 小于号 判定成规范错误,当成 标签的括号了
解决:用 computed 计算属性
4、写在html里的是遮不住原生的标题栏
5、uniapp二级页面返回上一页时,不触发onHide事件
解决: onHide换成onUnload, 页面销毁后就没有onHide了
uniapp.dcloud.io
6、uniapp nvue页面如何触发手势事件
解决: <view
@touchstart="start($event,item.id)"
@touchmove="move"
@touchend="end"
:style="[{
transform: touch.id == item.id ? 'translateX('+ touch.moveX+'px)': 0
}]"
>
</view>
7、uniapp 图片如何自适应?
解决: <image style="width:750rpx" mode="widthFix
展开
评论
周末废寝忘食的追《人世间》,都不敢看秉坤爸的眼睛,一看就想哭,戏太好了
11
看到谷爱凌小姐姐觉得自己好废。。。
今日复盘2-9
今天主要是用uni写元气搭档蓝牙项目。修改蓝牙项目bug。
工作中遇到的技术问题:
1、uniapp 动态绑定背景图片
解决:
<view :style="{backgroundImage:'url('+bgLoginSrc+')'}">
2、uniapp如何引入阿里图标?
解决:
1) 将iconfont.css和iconfont.ttf下载至本地
2) 修改iconfont.css文件
3)在App.vue的script里引入iconfont
4) 使用iconfont
blog.csdn.net
3、uniapp打开年前的项目报错【[Vue warn]: Error in onLoad hook: "TypeError: Cannot read property 'hasPermission' of undefined"】
[JS Framework] 当前运行的基座不包含原生插件[Common-BT],请在manifest中配置该插件,重新制作包括该原生插件的自定义运行基座
解决:Hbuilderx -> 运行 -> 运行到手机或模拟器 -> 运行基座选择 -> 自定义调试基座(Android)
情绪问题:
看到谷爱凌小姐姐觉得自己好废。。。
学到了什么:
打工人的一天。。。
展开
3
最后一天 无心上班
jinglisha于2022-01-28 09:21发布的图片
12
今日复盘1-26
今天主要是写骑行服蓝牙项目app版。走通元气搭档蓝牙协议。
工作中遇到的技术问题:
1、写入[106,0,0,32,5,50,50,50,69,151]报错【write characteristics failed:{"code":10007,"message":"property not support"}】,但是用调试工具写入6A 00 00 20 05 32 32 32 45 97成功
解决:
(1)确保数据和写入特征值准确,询问硬件人员是如何接收app发送出去的数据的
(2)硬件人员排除了特征值
(3)发app安装包给硬件人员,给他们调试,他们发现接收不到命令
(4)安装NRF安装包,将上个版本的设备与这个设备进行对比,特征值和服务方面没发现什么问题 www.downcc.com
(5)也不是写入命令的格式的原因
(5)最终发现问题【订阅200ms每条 阻塞了写入】
(6)如何使notify和read/write分开,互相不阻塞
(6)调大推送数据间隔,还是无效
(7)最终发现是read之后,监听特征值里面没有返回数据(推送的数据是Notify的,不是Read的),导致read和write这条线堵死,导致write一直失败
如何区分监听到的值是notify的还是read的?根据数据的characteristicId是等于read的characteristicId还是notify的characteristicId
(8)硬件进行修改

2、如何处理获取到的数据value?
解决:
var view = new DataView(value.buffer)
view.getUint16(3)

情绪问题:
平常心

学到了什么:
咱也不懂硬件,咱只能意会一下这个传输流程~~~
展开
评论
今日复盘1-24
今天主要是走通骑行服协议。

工作中遇到的技术问题:
1、蓝牙设备绑定逻辑
解决:
(1)连接设备
(2)监听特征值变化
(3)发送命令,将值修改为1
(4)设备闪烁,等待用户按控制器;同时app页面显示倒计时15秒
a. 用户按控制器,监听到特征值变为2,绑定成功,app页面取消倒计时;
b. 15s内无操作,设备修改值为0,绑定失败,app页面取消倒计时;
(5)初始化变量

情绪问题:
平常心
展开
评论
今日复盘1-21
今天主要是写蓝牙的绑定逻辑。走通骑行服蓝牙协议。
工作中遇到的技术问题:
1、安卓写入命令报错【write characteristics failed:{"code":10007,"message":"property not support"}】
解决:先订阅(notifyBLECharacteristicValueChange),再读取(readBLECharacteristicValue)。
2、蓝牙广播包(advertisData: (ArrayBuffer 类型 )蓝牙设备的广播数据段中的ManufacturerData数据段)里没数据,如何和硬件对接人员沟通解决?
解决:
(1)前端编辑器发现广播包读取不到数据
(2)用蓝牙调试app搜索设备,看广播包是否有数据,
(3)发现确实没有,截图发给硬件对接人员反应,并反应拿不到广播数据
(3)硬件对接人员根据截图发现,没有resp数据,于是修改硬件
(4)修改完成后,发送OTA升级工具(一个apk安装包,要装到安卓手机上)和bin包(bin包要拖到手机里)
(5)前端进入OTA升级工具,连接上设备,选中bin包,就可以进行硬件升级
情绪问题:
项目做的越多,发现不会的越多。
学到了什么:
要努力把握 项目的优先级
展开
评论
今日复盘1-19
今天主要是走通钢琴围巾项目app版。调试蓝牙项目app版bug。新增蓝牙项目小程序版开关机功能。
工作中遇到的技术问题:
1、用uniapp打包的webvie页面,ios首次进入底部安全距离过大
解决:www.skrjs.com
原因:uniapp的webview在android下默认全屏,在ios下无法全屏

2、小程序操作自定义组件时,如何向父组件传递数据或方法?
解决:
// 父组件:
<controlTempAll bindPowerTurnOff="turnOff"></controlTempAll>
// 父组件
turnOff(){// 父组件执行关机操作},
// 子组件js:
methods: {bindPowerTurnOff:function(){this.triggerEvent('PowerTurnOff')},}
// 子组件html:
<view bindtap="bindPowerTurnOff">关机</view>


3、 uniapp v-for循环 经典蓝牙开发插件得到的JSON对象数组,内容不显示
解决:用 JSON.parse() 方法将数据转换为 JavaScript 对象。代码如下:
原因:在接收服务器数据时一般是字符串。
bt.listBT(result => {this.list = JSON.parse(result.list);});


情绪问题:
开始接触uniapp,感觉头大
学到了什么:
之前做的都是低功耗蓝牙,现在开始做经典蓝牙。
1、低功耗蓝牙:就是BLE,通常说的蓝牙4.0(及以上版本)。 低功耗,数据量小,距离50米左右。
2、经典蓝牙:3.0版本以下的蓝牙,都称为“经典蓝牙”。 功耗高、传输数据量大、传输距离只有10米。
展开
评论
前端 @硬件 | 组件 | 小程序 | uniapp
今日复盘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");
}
})

情绪问题:
平常心
展开
评论
下一页
个人成就
文章被点赞 74
文章被阅读 31,240
掘力值 1,207
收藏集
1
关注标签
44
加入于