18910140161

支付宝小程序与微信小程序的不同点对比

顺晟科技

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(对象)

差别太多,不一一列举。

相关文章
我们已经准备好了,你呢?
2024我们与您携手共赢,为您的企业形象保驾护航