百度小程序开发中需要注意的事项
开发时打开校验域名
这个坑了我几个小时,还是在发布版本上对话框弹出报错信息才找到原因。
就是我开发时关闭了校验域名,开发环境和体验版都测试没问题,一上线就空白页。平时打印错误又是用的console.log
, 根本找不到原因。没办法,把报错提示改成swan.showToast
才发现问题。
图片验证码需要配置downloadFile的合法域名
一直没有配置,以为配置了request的合法域名
就够了,和上面的问题类似,也是开发版和体验版没问题,一上线就出错。
直接使用<image>
不能实现验证码功能,因为他不会带上cookie。
解决办法是
- 找个cookie包,会解析request请求,把cookie保存到本地,并在下次请求时带上cookie的库。百度即可,有蛮多。
- 图片验证码使用
canvas
画,大概流程是:
downloadFile
下载。saveFile
保存临时文件- 用
canvas
把临时文件绘制出来,删除临时文件。
图片的url非法
就是有图片地址,但是404了。
一开始以为和web
一样。直接来个。xxx.src=newurl
, 然而并没有用。只能使用this.setData
方法,更新数据。
有几个模块,就要写几个bind:error
的回调函数。
导航应该使用组件
最开始为了统一管理,封装了下,用的js导航。swan.navigateTo
系列函数。但是这种并不能被爬取和收录,收录量并不理想,后来改成navigator
组件,收录量一下子就起来了。
类似的问题是用过Taro
的3.0版本,使用的vue
。也是不能被收录,赶紧改回了2.0。我这个主要是做seo,搞流量的。不能收录就屁用没有。
有些js方法不支持
string.replaceAll
方法不支持。 解决办法是用string.replace方法,使用正则的方式。如"hello".replace(/l/g,'f')
暂时就记得这4个,想起来再补充。