把支付宝小程序和微信小程序的区别理清的话,把支付宝小程序和微信小程序进行相互转换,其实很简单
wxml:
把项目里axml后缀名的文件改成wxml,把acss后缀名的文件改成wxss,页面里如果有axml也要改成wxml,acss改成wxss
onTap改成bindtap,其他事件名也要从支付宝小程序的驼峰命名法改成微信小程序的单词之间的普通拼接
<input></input>改成<input/>
a:for改成wx:for
a:if改成wx:if
a:else改成wx:else
把show-count={{show_count}}改成把show-count="{{show_count}}"
我发现微信小程序用<text>会有很多bug,所以支付宝小程序里如果用了<text>,如果需要转成微信小程序,就用<view>并给<view>加上浮动或者给<view>设置display:inline-block;来代替<text>,我目前发现的<text>的bug有:<text>有一个padding-top,而且控制台看不到。
支付宝小程序里可以用a:for="{{doc_item.datestr.split(',')}}",微信小程序里不支持wx:for="{{doc_item.datestr.split(',')}}",所以,为了兼容支付宝小程序和微信小程序2个端,在支付宝小程序里也不要用a:for="{{doc_item.datestr.split(',')}}",可以在js里就对list进行修改:for(let i = 0,len = list.length;i < len;i++){ list[i].datestr = list[i].datestr.split(',');}
js:
蓝牙:
错误提示:error.errorMessage改成error.errMsg
"pullrefresh":"true"改成"enablePullDownRefresh": true,下拉刷新页面时如果需要调用某个函数,在onPullDownRefresh里写
{{item.visitdate.substring(5, 7)}}这种语法在支付宝小程序里支持,在微信小程序里不支持,在list里加1个参数,来表示{{item.visitdate.substring(5, 7)}}
wx.uploadFile({fileName})改成wx.uploadFile({name})
wx.uploadFile返回的路径从res.apFilePaths[0]改成res.tempFilePaths[0]
my.showToast({content})改成wx.my.showToast({title})
my改成wx
把
my.setStorageSync({
key: 'currentCity',
data: {}
});
改成
wx.setStorageSync(
'currentCity', account_id
);
异步设置缓存,异步获取缓存,同步设置缓存,同步获取缓存,都要改掉,但是我平时都是用异步的
把e.target改成e.currentTarget
支付宝小程序里执行
that.setData({
type : undefined
});
不会报错,但是在微信小程序里会报错,所以,如果在微信小程序里要避免出现这种情况
模态框:
my.confirm改成wx.showModal
my.confirm里的属性:
content改成title
confirmButtonText改成confirmText
cancelButtonText改成cancelText
支付宝小程序里,因为my.showLoading以后经常隐藏不了loading,所以在支付宝小程序里很少用到my.showLoading,微信小程序里可以用wx.showLoading
app.json:
navigationBarTitleText改成defaultTitle
"pullRefresh": true改成"enablePullDownRefresh":true
acss:
支付宝小程序给button设置display:block;是有效的,但是微信小程序的button有一个默认样式button[size=mini]{display:inline-block;},所以微信小程序里要给button的display、line-height、font-size、padding增加权重,比如给微信小程序里的button增加[size=mini]等