小程序开发中遇到的问题
一,小程序图片要使用绝对地址,不能使用双协议地址,这样会导致安卓机图片空白。
正确地址: https://aa.com/bb/cc
错误: //aa/bb/cc
二,小程序自带image标签必须要带宽度,不能做到宽度自适应,只能高度自适应。以下介绍比较合适的两种解决方式:
第一: 使用mode: widthFix缩放,此时需要获取此位置放置的所有图片中的最小宽度,将大图片按照宽高比缩小,放置在此位置。但是前提是所有图片的宽高比例相同,才能保证图片按照比例缩放填进来之后不失真。此方法可以使用,但是感觉还是体验最好的方式。
第二: 图片宽高固定,使用mode: scaleToFill,使得图片在此块位置里面自适应,填满整个位置。如果设计在此位置设计的图片大小不一,就很容易出现失真的现象,所以设计最好设置的图片大小一致。
三,小程序的时间坑
首先,微信开发工具和手机平台存储的都应该是utc时间
问题分析:
假如需要处理的时间是08:00中国标准时间,没有加时区‘+08:00’来表明时区
微信开发工具在new Date存储的时候会自动按照中国标准时间解析并存储成utc时间00:00utc,然后在转化成字符串的时候var XX=new Date(XX)的时候又加了8个小时,转化成了中国标准时间
但是手机平台会认为给的08:00在new date的时候就是utc时间,所以会存储成08: 00utc,然而,转化成字符串的时候var XX=new Date(XX),并没有转化成中国标准时间,就错误了
问题处理:
所以要声明是中国标准时间的时区‘+08:00’,来让各个平台去处理
加了‘+08:00’之后,
手机平台就知道了是中国标准时间,然后会把它通过newDate转化成utc时间去存储,转化成字符串的时候不做处理
开发工具本身就会按照标准时间来处理,现在newDate的时候转化成utc,然后字符串的时候又转化成标准时间。
平台固定模式:
平台的处理模式是不变的,
手机平台只会存储utc时间,如果传的是utc,自然存储utc,如果不声明中国标准,就自然认为成传过来的是utc时间。
微信开发工具是在new date的时候先将标准时间处理成utc,然后在转字符串的时候再还原成标准时间。
还有,小程序的时间再format的时候,最好用/来连接,例如2018/03/05,如果用“-”或者其他,会出现时区不同,时间出错的情况。