问题概述
支付宝小程序做完后,开始转战微信小程序;网上搜了一下都是微信转支付宝,并且还有转换工具(实名羡慕。。),并没有找到支付宝转换微信小程序的前车之鉴。由于拿到的是一半的项目,因此准备将支付宝与微信的区别整理出来,然后在开发者工具或者vscode进行全局替换,也能熟悉一下之前的代码。在做的过程中,进度还是很快的,三个工作日左右就能把语法、组件、API之类的改完,逻辑基本是不变的,在此整理一下两者的区别,方便大家在转换的时候能有些参考价值。
支付宝小程序-微信小程序
语法、文件名区别
类别 | 支付宝小程序 | 微信小程序 |
---|---|---|
文件后缀 | .acss、.axml | .wxss、.wxml |
方法前缀 | my.、a: | wx.、wx: |
操作事件等(注意大小写) | onTap、onInput、 catchTap、onChange、 onSubmit、onFocus、formType等 | bindtap、bindinput、catchtouchstart、bindchange、catchsubmit、bindfocus、form-type等 |
API区别
类别 | 支付宝小程序 | 微信小程序 |
---|---|---|
同步设置、获取缓存 | 设置:my.setStorageSync({ key: ‘test’, data:‘test0’});获取:my.getStorageSync({ key: ‘test’ }).data | 设置:wx.setStorageSync({ ‘test’, ‘test0’});获取:wx.getStorageSync( ‘test’ ) |
获取登录凭证 | 方法:my.getAuthCode、返回code:res.authCode | 方法: wx.login、返回code:res.code |
多列选择器 | my.multiLevelSelect | picker组件 |
调用扫一扫 | my.scan | wx.scanCode |
消息提示框 | my.showToast({ type: ‘success’, content: ‘test’,duration: 2000,success: () => { console.log(“test1”) }}); | wx.showToast({title: ‘成功’, icon: ‘success’, duration: 2000}) |
网络请求 | wx.request 返回的状态值:res.statusCode、请求头传参:header | my.request 返回的状态值:res.status、请求头传参:headers |
消息提示框 | my.showLoading({content: ‘加载中…’,delay: 1000}) my.hideLoading | wx.showLoading({ title: ‘加载中…’}) wx.hideLoading |
- 显示操作菜单
支付宝小程序:
my.showActionSheet({
title: 'ActionSheet',
items: ['A', 'B', 'C'],
cancelButtonText: '取消',
success: (res) => {
console.log(res.index)
},
});
微信小程序:
wx.showActionSheet({
itemList: ['A', 'B', 'C'],
success (res) {
console.log(res.tapIndex)
},
fail (res) {
console.log(res.errMsg)
}
})
- 获取手机号:
支付宝小程序:
<button a:if="{
{canIUseAuthButton}}" open-type="getAuthorize" onGetAuthorize="onGetAuthorize" onError="onAuthError" scope='phoneNumber'>授权手机号</button>
my.getPhoneNumber({
success: (res) =