顺晟科技
2021-06-16 10:55:20
260
著作权归作者所有。
商业转载请联系作者获得授权,非商业转载请注明出处。
链接:http://caibaojian.com/aliapp-wxapp.html
来源:http://caibaojian.com
支付宝小程序和微信小程序有哪些不同的地方,怎么把微信小程序转为支付宝小程序?本文从代码全面为你揭晓。
概览
1.js命名空间,从wx(微信)改为我的(马云)
wx.navigateTo=my.navigateTo
2.绑定事件从约束改为在开头,并且采用驼峰形式,例如
bindchange='xx'=onChange='xx '
3.if和为语句写法不同
wx:if=a:if
wx:for=a:for
wx:key=a:key
wx:for-item=a:for-item
wx : for-index=a : for-index
另外支付宝还增加了一个键属性,键是比a:key更通用的写法,里面可以填充任意表达式和字符串。在为中使用键来提高性能。注意键不能设置在街区上
4.射流研究…方法名调整
wx.request()=my.httpRequest()
wx.login()=my.getAuthCode()
wx.showModal()=my.confirm()
wx。GetUserInfo()=my。GetautUserInfo()
wx。RequestPayment()=my。TradePay()
wx。save imagetophotosalbum()=my。保存图像()
wx。setnavigationbartitle()=my。setnavigationbar()#导航栏标题
wx。setnavigationbar color()=my。setnavigationbar()#导航栏颜色
wx。getclipboardata()=my。getclipboarddata()#粘贴板
wx。setclipboarddata()=my。setclipboarddata()#粘贴板
wx。canvastotemfilepath()=my。Totempfilepath()# 1。1 .3当前画布的内容导出生成图片
wx.scanCode()=my.scan()
wx。closebleconnection()=my。disconnectabledevice()
5.缓存
支付宝只有一种写法,而微信则有两种
setStorage()
微信:
wx.setStorage({
key:'key ',
数据: '值'
})
尝试{
wx.setStorage('key ',' value ')
} catch (e) { }
支付宝:
my.setStorage({
key: 'key ',
数据: '值,
success: function() {
my.alert({content: '写入成功'});
}
});
同样需要调整的还有:setstorageyc()/GetStorage()/GetStorageync()/RemoveStorageync()/RemoveStorageync()
6.文件类型不同
微信的是:js、wxml、wcss、JSON
支付宝的是:js、axml、acss、json
注意在样式中进口时,如果从微信小程序调整到支付宝小程序,后缀要改过来
@ import '/pages/public/CSS/component。wcss ';
到
@ import '/pages/public/CSS/component。acss ';
7.page.json
窗户对象设置
微信的:
{
导航巴巴多斯背景色' : ' # ffffff ',
navigationBarTitleText ' : '微信接口功能演示,
启用下拉刷新' :路径,
不幸的是,街
}
支付宝的:
{
标题栏颜色: '#ffffff '
'默认值标题: '页面标题,
真值:
' allowsBounceVertical: '是'
}
标签栏
微信的:
tabBar': {
颜色' : '#999 ',
选择颜色' : '#333 ',
backgroundColor': '#ffffff ',
list': [
{
页面路径' : '页面/索引/索引,
文本":"首页,
iconPath': 'icons/1.png '
选择DedictionPath ' : ' icons/1 _ c . png ',
}
]
},
支付宝的:
{
tabBar': {
文本颜色' : '#999 ',
选择颜色' : '#333 ',
backgroundColor': '#ffffff ',
项目' : [
{
页面路径' : '页面/索引/索引,
名称' : '首页'
icon':'icons/1.png ',
activeIcon':'icons/1_c.png '
}
]
}
}
支付宝的配置文件比微信的少了很多参数,但基本都可以转
8 .拼接数据()
支付宝多了一个更高性能设置数据的方法:
这个$spliceData({
a.b':[1,0,4,5,6];
})
9.射流研究…模块化
支付宝采用ES6语法
微信的:
const config=require('././PC。配置。js’);
const util=require('././common/util。js’);
支付宝:
从"/config "导入配置;//载入项目根路径文件
从导入跑龙套././common/util ';//载入相对路径
微信的:
var config={
}
模块。出口。config=config
支付宝的:
var config={
}
导出默认配置;
支付宝支持在社区引入第三方NPM,微信对引入的NPM有规定格式。
10.API属性调整
如下格式:左边是微信属性名-右边是支付宝对应的属性名
showToast
标题-内容
图标类型
显示加载#显示加载框
标题-内容
确认#显示提示框
确认文本-确认按钮文本
取消文本-取消按钮文本
showActionSheet
项目列表-项目
设置链接
对齐-文本对齐
预览图像
当前-当前=字符串数
获取位置#获取位置
type-type=字符串-数字
保存图像
文件路径- url
对象
标题-标题
上传文件
名称-文件名
connectSocket
标题-标题
设置剪贴板
数据-文本
拨打电话
电话号码-号码
以下内容是我针对支付宝文档和微信的区别抄的笔记。有点重复。应该记录下来。
列出文件类型
js、axml、acss、json
开发人员编写的所有代码最终都会打包成一个JavaScript脚本,在小程序启动时运行,小程序结束运行时销毁。
逻辑结构
applet的核心是一个响应数据绑定系统,逻辑上分为视图层和逻辑层。这两层总是同步的。只要在逻辑层中修改了数据,视图层就会相应地更新。
ES6支持
从“”导入util。/util ';//加载相对路径
从“/absolute”导入absolute;//加载项目根路径文件
支持第三方NPM模块
npm安装lodash
从“lodash”导入lo dash;//加载第三方npm模块
App.json配置差异
window': {
默认标题' : '演示'
}
和微信不同的地方:
默认标题:页面标题
pullRefresh:是否允许下拉刷新。默认为false
allowsBounceVertical:页面是否支持超出实际内容的垂直拖动。默认情况下是
标题栏颜色:导航栏背景颜色
制表符书写
{
tabBar': {
textColor': '#dddddd ',
选择颜色' : '#49a9ee ',
backgroundColor': '#ffffff ',
项目' : [
{
页面路径' : '页面/索引/索引',
名称' : '主页'
},
{
页面路径' : '页面/日志/日志',
名称' : '日志'
}
]
}
}
事件绑定
写:on/catch[事件名称hump]='回调名称'
按钮onTap='更改文本'更改文本/按钮
页面()的方法属性
Page()方法的属性太多
点击标题():点击标题触发
单击特殊导航栏图标触发(1.3)
当页面滚动时触发
高效的列表处理方法(新)
Page.prototype.$spliceData()
对象的键名可以非常灵活,以数据路径的形式给出,比如array[2]。消息和a.b.c.d,不需要在此数据中预先定义
对象的值是一个数组(格式:[开始,删除计数,项目])。数组的个元素是操作的开始位置,第二个元素是被删除元素的个数,剩下的元素是插入的数据。对应于es5中数组的拼接方法
每页的Page.json
还有另一种方法,onOptionMenuClick:配置导航图标并单击它来触发它
{
optionMenu': {
图标' : 'https://img.alicdn.com/tps/i3/T1OjaVFl4dXXa。' JOZB-114-114.png '
}
}
查看图层说明
条件循环
查看a : if=' { { view==' WEBSVIEW ' } } ' WEBSVIEW/view
查看a : elif=' { { view==' APP ' } } ' APP/view
查看a :其他支付宝/查看
列表循环
查看a : for=' { { items } } ' { { item } }/view
从上面可以看出,wx:被a:取代
数据绑定
对象扩展器:展开对象
模板是='objectCombine '数据=' { }.obj1,obj2,e : 5 } } '/模板
页面({
数据: {
obj1: {
a: 1,
b: 2
},
obj2: {
c: 3,
d: 4
}
}
})
最终组合的对象是{a:1,b:2,c:3,d:4,e:5}。
列表循环
添加了一个关键属性
Key比a:key更通用,可以用任意表达式和字符串填充。
使用键入for来提高性能。
请注意,不能在块上设置键
模式
Rpx支持
与css3一致,注意点:
开始时的类选择器。一个。am-被系统组件占用。请不要使用它们
不支持属性选择器
自定义脚本
微信用Wxs
!- wxml -
wxs模块='m1 '
var msg=' hello world
module . exports . message=msg;
/wxs
查看{{m1.message}} /view
在支付宝使用sjs
///page/xx . sjs
const message='hello支付宝'
const getMsg=x=x
导出默认值{
消息,
getMsg,
};
///pages/index/index.axml
!- axml -
import-sjs名称='m1' from='./xx.sjs'/
查看{{m1.message}}/view
查看{{m1.getMsg(msg)}}/view
其他。sjs文件在。sjs文件
///page/message . sjs
从“”导入hello。/hello . sjs ';
var getMsg=function getMsg(){
返回“hello”消息;
}
导出默认值{
getMsg: getMsg
};
专心
Sjs只能在中定义。sjs文件。然后用import-sjs在axml中导入。
Sjs可以调用其他sjs文件中定义的函数。
Sjs是javascript语言的子集,不要把它等同于javascript。
sjs的运行环境与其他javascript代码是隔离的,其他javascript文件中定义的函数不能在sjs中调用,小程序提供的API也不能被调用。
Sjs函数不能用作组件的事件回调。
Sjs不依赖于运行时的基本库版本,可以在所有版本的小程序中运行。
自定义组件
像页面一样,自定义组件由四部分组成:axml、js、json和ACS。
示例:
///组件/客户/index.json
{
组件' : true
}
///组件/客户/index.js
组件({
mixin :[],//minxin方便重用代码
Data: {x: 1 },//组件内部数据
Props: { y: 1 },//您可以向从外部导入的属性添加默认值
DidMount(){},//生命周期函数
didUpdate(){},
didUnmount(){},
Methods: {//自定义事件
handleTap() {
this . setdata({ x : this . data . x 1 });//您可以使用设置数据来更改内部属性
},
},
})
!-///组件/customer/index.axml -
视角
viewx: {{x}}/view
按钮onTap=' handle tap ' plusone/按钮
狭槽
视图默认插槽默认值/视图
/slot
/view
使用:
///pages/index/index.json
{
使用组件' : {
客户' : '/组件/客户/索引'
}
}
!- /pages/index/index.axml -
视角
客户/
/view
包裹
列出不与微信比较的组件:
基本内容:
富文本
导航:
功能页面导航器
媒体:
音频、视频、照相机、实况播放器、实况推送器
打开组件:
开放数据
扩展组件
有很多微信没有的扩展组件
布局导航
列表、标签标签、垂直标签、卡片、网格框、步骤栏、页脚
操作浮动层
弹出气泡,过滤过滤器,模式对话框,弹出菜单
结果类
页面结果异常页面和消息结果页面
及时指导
提示指南、通知公告板、徽章标志
形级
输入项目文本输入,金额输入金额输入,搜索栏搜索框,自动复选框复选框
手势类
开关滑动电池
其他的
日历日历,步进机
应用程序接口
命名空间是:my。
互动反馈增加了
my.alert()、my.confirm()、my.prompt()
没有互动反馈
显示
添加联系人
my.choosePhoneContact()
更多的城市选择
my.chooseCity()
添加选择日期
my.datePicker(对象)
差别太多,不一一列举。
11
2022-12
17
2022-03
18
2021-11
19
2021-06
16
2021-06
16
2021-06