第一次写小程序,也是公司之前没有小程序,让我来写下,遇到了不少坑,记录下来。这是我遇到的问题或者说我写代码的经历吧,目前小程序还不完善,所以就有空的时候编辑一下。
1.账号以及功能的开通
我写的代码发布了微信、支付宝、百度,所以用了三个账号,注意(如果要写的小程序功能简单可以用自己的账号直接开发,不然就需要公司开通企业账号,然后让老板把你拉为开发人员),(支付宝要注意下,不能入驻开放平台,不然老板那添加不了你),我就是入驻过,联系的那边来解除。
如果小程序有支付之类的功能,需要开通相关功能,这是老板那边开通下,生成调支付需要的私钥之类的(各个小程序需要的不相同)。
用到了vsCode、百度开发工具、支付宝的小程序开发者工具、微信开发者工具。
2.添加域名
请求地址需要添加到服务器配置,即合法域名,在开发设置中添加,注意需要https开头的,不然请求发送不了。
3.登录状态问题
登录后保存登录信息,因为小程序不和浏览器一样,不会自动保存token,需要把登录后返回的Set-Cookie保存下来,作为请求头的Cooke,注意百度和微信的Set-Cookie有大小写区别,可以打一下结果查看,支付宝不需要设置。
4.审核问题
发布小程序,需要审核通过才能上线,具体规范看各家小程序审核规则,百度这边的审核我是退回了好些次,按照规范来就没问题。
5.支付宝小程序
v-show无效,要使用v-if。
image标签要设置mode,下图是mode有效值,不设置图片会压缩。
6.微信小程序
button标签type值是primary时背景颜色是绿色,注意下。
7.其他
日期函数,参考使用
//日期格式
function formatDate2(str, type){
//str时间,type输出类型,不写是年-月-日
var oDate = new Date(str),
oYear = oDate.getFullYear(),
oMonth = oDate.getMonth() + 1,
oDay = oDate.getDate(),
oHour = oDate.getHours();
var oMin = oDate.getMinutes(),
oSen = oDate.getSeconds();
oMonth = oMonth >= 10 ? oMonth : '0' + oMonth;
// oDay = oDay >= 10 ? oDay : '0'+oDay;
oHour = oHour >= 10 ? oHour : '0' + oHour;
oMin = oMin >= 10 ? oMin : '0' + oMin;
oDay = oDay >= 10 ? oDay : '0' + oDay;
oSen = oSen >= 10 ? oSen : '0' + oSen;
var oTime = oYear + '-' + oMonth + '-' + oDay; // 最后拼接时间 年-月-日
if (type && type == 2) {
return oYear + '-' + oMonth + '-' + oDay + ' ' + oHour + ':' + oMin // 最后拼接时间 年-月-日 时:分
}
if (type && type == 11) {
return oYear + '-' + oMonth + '-' + oDay + ' ' + oHour + ':' + oMin+ ':' + oSen // 最后拼接时间 年-月-日 时:分:秒
}
return oTime;
}
触底刷新
pages.json中要触底刷新的那个页面enablePullDownRefresh设置成true,函数写在页面生命周期onReachBottom中。