- 调用 wx.openBluetoothAdapter 真机调试返回错误误码 errno: 104?
调用openBluetoothAdapter{errMsg: "openBluetoothAdapter:fail privacy permission is not authorized", errno: 104} 前两天还好好的,今天突然就不行了
2023-08-16 - 分包异步化,分包难题不用怕
原文来自「微信开发者」公众号。 本文主要介绍了“分包异步化”新能力的原理、组件、方法和兼容性要求。 在小程序开发过程中,你是否对分包问题感到困扰? 多业务的分包难以划分分包体积膨胀下载并注入无用代码插件无法实现分包处理……为解决上述问题,微信团队提供【分包异步化】新能力,实现跨分包组件、跨分包方法,成功解决分包难、分包不合理等问题。 • • 分包异步化原理 • • 原有的分包隔离机制导致各分包之间无法引用自定义组件或逻辑代码,因此导致分包难等一系列问题。分包异步化能力打通不同分包的引用关系,解决小程序代码包合理化的问题,支持跨分包组件、跨分包方法。 [图片] • • 跨分包组件 • • 当使用其他分包组件时,代码包需要增加占位组件 (component placeholder),实现页面高效配置。例如页面展示时,分包 (subpackageB) 仍未下载,进行以下操作实现跨分包组件: 1. 使用组件 <simple-list> 代替 <list>,使用 <view> 代替 <card>,完成页面渲染 2. 完成渲染后,开始下载和注入分包 3. 完成分包下载和注入后,将占位组件替换成真正的组件 // subPackageA/pages/index.json { "usingComponents": { "button": "../../commonPackage/components/button", "list": "../../subPackageB/components/full-list", "simple-list": "../components/simple-list" }, "componentPlaceholder": { "button": "view", "list": "simple-list" } } • • 跨分包方法 • • 在小程序开发过程中,通过require回调函数或requireAsync异步调用2种方法,分包异步化能够引用其他分包的逻辑代码。具体操作如下: // subPackageA/index.js // 使用回调函数风格的调用 require('../subPackageB/utils.js', utils => { console.log(utils.whoami) // Wechat MiniProgram }) // 或者使用 Promise 风格的调用 require.async('../commonPackage/index.js').then(pkg => { pkg.getPackageName() // 'common' }) • • 兼容性要求 • • 分包异步化能力要求基础库版本 2.17.3 及以上(正式发布需在 mp 设置最低版本基础库 2.17.3)。平台能力兼容安卓微信、iOS 微信、1.05.2104272 及以上版本的微信开发者工具。更低版本的基础库兼容工作预计在一个月后完成。 • • 总结 • • 实现分包异步化能力后,主包的「公有」性质被削弱,「前置」性质显得更重要(优先于所有分包注入运行且默认注入运行)。开发者可以根据自身业务诉求,结合分包异步化,进行小程序调优,实现更快的启动速度、按需下载和注入代码包、合理处理公有组件等效果。 如有其他小程序相关问题,可在 微信小程序交流专区 中发帖互动,将有技术专员为大家解答及进行深度交流。
2022-03-24 - 云开发的函数 GBs 到底是如何计算的?
在云开发中,数据库的存储容量、文件存储的容量都是十分容易理解的,让开发者最为迷惑的,莫过于云函数的资源使用量 GBs。GBs 是个什么鬼?他到底是如何计算的?今天,我们就来说一说。 [图片] 传统云主机的计费模式 想要说明白云函数的计费模式,那我们就要看一看与之类似,我们很熟悉的传统的包月型云主机的计费模式。 [图片] 在传统的包月型云主机中,我们需要支付整月的费用,以保留我们对于自己所使用的服务器实例的使用权,在这个过程中,无论你的服务是否使用了云主机,你都需要支付相应的费用。但实际情况是,我们绝大多数的业务都只在全天的某个特定时段有流量,其他的绝大多数的时间都没有什么流量,比如说,一个企业门户网站,往往流量都在上班时间,下班时间几乎没有流量。 [图片] 但,传统云主机这种包月的计费模式,要求我们必须为整段时间付费,你必须要支付整段时间的费用,即使你并没有使用这些资源! 这种包月的计费模式使得用户为自己所不需要的资源支付了费用,因此,后续的人们发明了按量计费,并将按量计费的粒度不断缩小,从按日计费,缩短到按小时计费,缩短到按秒,甚至是按毫秒进行计费。随着粒度不断变细,我们支付的费用,越来越趋向于我们自己所使用的资源的费用。 云函数的计费模式 在上面我们说到,在传统云主机上,我们提供的是整段时间的计费,随着技术的先进,我们渐渐有了粒度不断变细的按量计费。 但是,在 Serverless 的范式下,用户对于云函数背后的服务器主机是无感的,这时就需要一个东西来进行用量的评估,从而完成计费。在云函数中,最重要的两个要素就是:内存用量 和 运行时间。一般来说,云函数的用量我们按照 GB 来计算,比如一个函数的内存用量是 256MB,则其内存用量表示为 0.256GB ;而时间则是以 S 来计算,如果一个函数用了 2s ,则运行时间就是 2s 。 [图片] 这个时候,我们的函数的具体资源用量就可以简单的用两个数值相乘得出 [图片] 举例说明 这里我们举个例子来说明计算。 [图片] 这里有一个函数,在日志中的右上角,我们可以看到函数的执行时间和内存使用量,分别是 1.43ms 和 27.42MB,则我们的函数资源用量就是 [代码]0.00143 x 0.02742 = 0.0000392106[代码],也就是说,我这个情况使用了 0.0000392106 GBs 的资源用量。显然,这样的用量是十分小的。 云函数的资源用量计算有什么用? 了解云函数的资源用量计算,就能够让你发现你自己的资源的具体用量,并以此得到具体的资源消耗情况,能够让你更加轻松的了解到自己的钱都花到哪里去了。更重要的是,知道在哪里查看执行时间和内存使用量可以指引你优化自己的云函数性能。 [图片]
2019-12-20 - 微信小程序UI组件库合集
UI组件库合集,大家有遇到好的组件库,欢迎留言评论然后加入到文档里。 第一款: 官方WeUI组件库,地址 https://developers.weixin.qq.com/miniprogram/dev/extended/weui/ 预览码: [图片] 第二款: ColorUI:地址 https://github.com/weilanwl/ColorUI 预览码: [图片] 第三款: vantUI(又名:ZanUI):地址 https://youzan.github.io/vant-weapp/#/intro 预览码: [图片] 第四款: MinUI: 地址 https://meili.github.io/min/docs/minui/index.html 预览码: [图片] 第五款: iview-weapp:地址 https://weapp.iviewui.com/docs/guide/start 预览码: [图片] 第六款: WXRUI:暂无地址 预览码: [图片] 第七款: WuxUI:地址https://www.wuxui.com/#/introduce 预览码: [图片] 第八款: WussUI:地址 https://phonycode.github.io/wuss-weapp/quickstart.html 预览码: [图片] 第九款: TouchUI:地址 https://github.com/uileader/touchwx 预览码: [图片] 第十款: Hello UniApp: 地址 https://m3w.cn/uniapp 预览码: [图片] 第十一款: TaroUI:地址 https://taro-ui.jd.com/#/docs/introduction 预览码: [图片] 第十二款: Thor UI: 地址 https://thorui.cn/doc/ 预览码: [图片] 第十三款: GUI:https://github.com/Gensp/GUI 预览码: [图片] 第十四款: QyUI:暂无地址 预览码: [图片] 第十五款: WxaUI:暂无地址 预览码: [图片] 第十六款: kaiUI: github地址 https://github.com/Chaunjie/kai-ui 组件库文档:https://chaunjie.github.io/kui/dist/#/start 预览码: [图片] 第十七款: YsUI:暂无地址 预览码: [图片] 第十八款: BeeUI:git地址 http://ued.local.17173.com/gitlab/wxc/beeui.git 预览码: [图片] 第十九款: AntUI: 暂无地址 预览码: [图片] 第二十款: BleuUI:暂无地址 预览码: [图片] 第二十一款: uniydUI:暂无地址 预览码: [图片] 第二十二款: RovingUI:暂无地址 预览码: [图片] 第二十三款: DojayUI:暂无地址 预览码: [图片] 第二十四款: SkyUI:暂无地址 预览码: [图片] 第二十五款: YuUI:暂无地址 预览码: [图片] 第二十六款: wePyUI:暂无地址 预览码: [图片] 第二十七款: WXDUI:暂无地址 预览码: [图片] 第二十八款: XviewUI:暂无地址 预览码: [图片] 第二十九款: MinaUI:暂无地址 预览码: [图片] 第三十款: InyUI:暂无地址 预览码: [图片] 第三十一款: easyUI:地址 https://github.com/qq865738120/easyUI 预览码: [图片] 第三十二款 Kbone-UI: 地址 https://wechat-miniprogram.github.io/kboneui/ui/#/ 暂无预览码 第三十三款 VtuUi: 地址 https://github.com/jisida/VtuWeapp 预览码: [图片] 第三十四款 Lin-UI 地址:http://doc.mini.talelin.com/ 预览码: [图片] 第三十五款 GraceUI 地址: http://grace.hcoder.net/ 这个是收费的哦~ 预览码: [图片] 第三十六款 anna-remax-ui npm:https://www.npmjs.com/package/anna-remax-ui/v/1.0.12 anna-remax-ui 地址: https://annasearl.github.io/anna-remax-ui/components/general/button 预览码 [图片] 第三十七款 Olympus UI 地址:暂无 网易严选出品。 预览码 [图片] 第三十八款 AiYunXiaoUI 地址暂无 预览码 [图片] 第三十九款 visionUI npm:https://www.npmjs.com/package/vision-ui 预览码: [图片] 第四十款 AnimaUI(灵动UI) 地址:https://github.com/AnimaUI/wechat-miniprogram 预览码: [图片] 第四十一款 uView 地址:http://uviewui.com/components/quickstart.html 预览码: [图片] 第四十二款 firstUI 地址:https://www.firstui.cn/ 预览码: [图片]
2023-01-10 - Android 低功耗蓝牙 传输出错 代号 10012
已上传错误日志 6月1日 15:31:39。微信号:wxid_5g71bwb3o2oe22
2020-06-01 - 小程序使用mqtt连接WebSocket调试工具可以正常连接,真机不行
- 当前 Bug 的表现(可附上截图) 开发工具log [图片] 真机log [图片] - 预期表现 - 复现路径 - 提供一个最简复现 Demo
2019-03-11 - 需要将https://api.weixin.qq.com/添加到合法域名中么?
小程序中用到了https://api.weixin.qq.com/,显示 [图片] ,那我需要将这个添加到合法域名中么?
2019-02-25 - 微信小程序webSocket生命周期
测试的环境:vivo z5 Android9.0 webSocket未实现团活 当小程序前后端之间建立webSocket后,我测试过以下4种情况。 webSocket建立的小程序页面,亮屏且前后台之间无websocket交互。------ 5分钟后,服务端主动断开websocket连接,小程序端触发wx.onSocketClose(),未触发wx.onSocketError(); webSocket建立的小程序页面,熄屏且前后台之间无websocket交互。------ 5分钟后,服务端主动断开websocket连接,小程序端触发wx.onSocketClose(),未触发wx.onSocketError(); webSocket建立的小程序页面,小程序切微信后台。------ 10s内,小程序端主动断开websocket连接,小程序端触发wx.onSocketClose(),未触发wx.onSocketError(); webSocket建立的小程序页面,微信应用切手机后台。------ 10s内,小程序端主动断开websocket连接,小程序端触发wx.onSocketClose(),未触发wx.onSocketError(); 补充:实测上述情况1、2中,提到的5分钟,与服务端程序所设置的session超时时间无关。
2019-08-11 - Array 数组不支持flat()方法么?
[代码]var[代码] [代码]arr1 = [1, 2, [3, 4]];[代码][代码]arr1.flat();[代码][图片] 不是支持es6语法么?
2019-04-30