阅读 179

智能小程序问题双周播报【0316-0327】

哈喽~大家好,好久不见,小编终于回归啦~在接下来的日子里,小编会不定期的为大家更新各种内容,分享在智能小程序开发过程中的原理或技巧。

本文是近期收集到的智能小程序开发常见问题及答案。欢迎在留言区讨论,或者在智能小程序社区留言,也可以发送邮件至 smartprogramtech@baidu.com 参与讨论~

Q1:为什么我使用自定义的表单组件,在web化页面,调试工具,远程调试下页面上都能正常,但真机不显示表单组件呢?

A:请检查您的自定义组件的名称是否与智能小程序提供的组件名称重名,完整组件名称可查看组件列表。在引用自定义组件时,不要与智能小程序提供的组件重名哦。

Q2:为什么我使用动态库时提示:Custom Component Error?

A:请检查您的基础库是否在3.60.2以上,开发者工具版本是否在2.40以上,更多内容参见使用动态库

动态库Tips

Q3:在.swan文件中不支持decodeURIComponent方法,有什么方法可以在.swan文件中对文本进行解码吗?

A:目前有两种方式可以实现:

  1. 通过sjs来实现,条件限制是目前web化不支持使用sjs,在开发者工具中导入代码片段,预览效果:swanide://fragment/fb7145fbaaa8d898ffb4647d20f5f9c21584410149852

  2. 在.js文件中进行解码,通过数据绑定形式展示到.swan文件中,在开发者工具中导入代码片段,预览效果:swanide://fragment/0e1f93eb10b43f5daf174dce063ce84e1584410223205

Q4:开发者工具network面板出现发送https://mbd.baidu.com/ma/update/........的请求,是什么意思?

A:该请求是向服务端获取授权列表

Q5:为什么接口在工具中能正常返回数据,而在真机中无法返回数据?

A:这个问题的原因比较多,但常见情况有以下两种:

  1. 接口证书有问题:可通过charles进行抓包,查看接口返回内容,例如:"java.security.cert.CertPathValidatorException: Trust anchor for certification path not found."

  2. Request接口referer导致的,智能小程序request请求,referer字段已更新,请开发者服务端增加兼容判断:

    原referer: https://smartapp.baidu.com/{appKey}/{version}/page-frame.html

    新referer: https://smartapps.cn/{appKey}/{version}/page-frame.html

    新referer将逐步全量,但建议开发者两种refer格式都进行兼容。

Q6: live-player直播视频流要如何才能使用?

A:当前该功能仅针对直播答题、直播服务类目开放。需要先通过类目审核,再在智能小程序管理后台,“设置”-“接口设置”中自助开通该组件权限,更多内容参见live-player

Q7:智能小程序退出再进入怎么获取点赞状态

A:这个保存的状态是需要保存到开发者自己的服务器上的,然后再次打开页面的时候请求自己的服务器。理论上如果开发者有内容就有内容id,能存id就能存状态

Q8:使用@smt-ui/content-component插件发布时提示兼容问题

A:@smt-ui/content-component插件在基础库 3.100.4才开始支持,在发布时需要把智能小程序的最低基础库版本提升到3.100.4之后,具体操作步骤: 开发者工具点击发布 - 最低基础库 选择3.100.4之后的版本即可~

原文参见常见问题双周播报