微信小程序学习之路——API界面(一)

界面

交互反馈

wx.showToast(Object)

显示消息提示框,Object参数的属性如下:

属性类型默认值必填说明最低版本
titlestring 提示的内容 
iconstring'success'图标 
imagestring 自定义图标的本地路径,image 的优先级高于 icon1.1.0
durationnumber1500提示的延迟时间 
maskbooleanfalse是否显示透明蒙层,防止触摸穿透 
successfunction 接口调用成功的回调函数 
failfunction 接口调用失败的回调函数 
completefunction 接口调用结束的回调函数(调用成功、失败都会执行)

示例代码如下:

wx.showToast({
  title: '操作成功',
  icon:'success',
  duration:2000
})

wx.hideToast()

隐藏消息提示框

示例代码如下:

wx.showToast({
  title: '请稍等...',
  icon: 'loading',
  duration: 10000
});
setTimeout(function(){
  //或请求返回时关闭toast
  wx.hideToast();
},2000);

wx.showModal(Object)

显示模态弹窗,Object参数的属性如下:

属性类型默认值必填说明
titlestring 提示的标题
contentstring 提示的内容
showCancelbooleantrue是否显示取消按钮
cancelTextstring'取消'取消按钮的文字,最多 4 个字符
cancelColorstring#000000取消按钮的文字颜色,必须是 16 进制格式的颜色字符串
confirmTextstring'确定'确认按钮的文字,最多 4 个字符
confirmColorstring#576B95确认按钮的文字颜色,必须是 16 进制格式的颜色字符串
successfunction 接口调用成功的回调函数
failfunction 接口调用失败的回调函数
completefunction 接口调用结束的回调函数(调用成功、失败都会执行)

示例代码如下:

wx.showModal({
  title: '标题',
  content: '内容',
  success:function(res){
    if(!res.confirm){
      return;//用户点击了取消,不做任何处理
    }
    console.log('用户点击了确定');//可以继续流程
  }
});

wx.showActionSheet(Object)

显示操作菜单,Object参数的属性如下:

属性类型默认值必填说明
itemListArray.<string> 按钮的文字数组,数组长度最大为 6
itemColorstring#000000按钮的文字颜色
successfunction 接口调用成功的回调函数
failfunction 接口调用失败的回调函数
completefunction 接口调用结束的回调函数(调用成功、失败都会执行)

示例代码如下:

wx.showActionSheet({
  itemList: ['缺货','配送时间错误','不想买了','其他'],//订单用户取消原因
  success:function(res){
    if(!res.cancle){
      console.log(res.tapIndex);
    }
  }
});

设置导航条

wx.setNavigationBarTitle(Object)

动态设置当前页面的标题,Object参数属性如下:

属性类型默认值必填说明
titlestring 页面标题
successfunction 接口调用成功的回调函数
failfunction 接口调用失败的回调函数
completefunction 接口调用结束的回调函数(调用成功、失败都会执行)

示例代码如下:

wx.setNavigationBarTitle({
  title: '新页面',
});

wx.showNavigationBarLoading()

在当前页面显示导航条加载动画

示例代码如下:

Page({
  onShow:function(){
    wx.showNavigationBarLoading();
  }
});

wx.hideNavigationBarLoading()

隐藏导航条加载动画

示例代码如下:

Page({
  onLaunch:function(){
    wx.hideNavigationBarLoading();
  }
});

导航

wx.navigateTo(Object)

保留当前页面,跳转到应用内的某个页面,使用wx.navigateBack可以返回到原页面,小程序中页面路径最多5层。Object参数属性如下:

属性类型默认值必填说明
urlstring 需要跳转的应用内非 tabBar 的页面的路径, 路径后可以带参数。参数与路径之间使用 ? 分隔,参数键与参数值用 = 相连,不同参数用 & 分隔;如 'path?key=value&key2=value2'
successfunction 接口调用成功的回调函数
failfunction 接口调用失败的回调函数
completefunction 接口调用结束的回调函数(调用成功、失败都会执行)

示例代码如下:

wx.navigateTo({
  url: '../newpage?key1=value1&key2=value2',
});
page({
  onLoad:function(option){
    console.log(option.query);
  }
});

wx.redirectTo(Object)

关闭当前页面,跳转到应用内的某个页面,Object参数属性如下:

属性类型默认值必填说明
urlstring 需要跳转的应用内非 tabBar 的页面的路径, 路径后可以带参数。参数与路径之间使用 ? 分隔,参数键与参数值用 = 相连,不同参数用 & 分隔;如 'path?key=value&key2=value2'
successfunction 接口调用成功的回调函数
failfunction 接口调用失败的回调函数
completefunction 接口调用结束的回调函数(调用成功、失败都会执行)

示例代码如下:

wx.redirectTo({
  url: '../newpages?key1=value1&key2=value2',
});

wx.switchTab(Object)

跳转到tabBar页面,并关闭其他所有非tabBar页面。Object参数的属性如下:

属性类型默认值必填说明
urlstring 需要跳转的 tabBar 页面的路径(需在 app.json 的 tabBar 字段定义的页面),路径后不能带参数。
successfunction 接口调用成功的回调函数
failfunction 接口调用失败的回调函数
completefunction 接口调用结束的回调函数(调用成功、失败都会执行)

示例代码如下:

//app.json配置tabBar
{
  "tabBar":{
    "list":[{
      "pagePath":"home",
      "text":"首页"
    },{
      "pagePath":"other",
      "text":"其他页面"
    }]
  }
}
wx.switchTab({
  url: '/home',//必须是已注册tab
})

wx.navigateBack(Object)

关闭当前页面,返回上一页或多级页面。可以通过getCurrentPages()获取当前页面栈,以决定返回第几层。Obejct参数的属性为delta:返回的页面数,如果delta大于现有的页面数,则返回到首页,默认值为1

示例代码如下:

//向前返回3级
    wx.navigateBack({delta:3});

动画

wx.createAnimation(Object)

用于创建一个动画实例animation。可以调用动画实例的方法来描述动画,最后通过动画实例的export方法导出动画数据,传递给组件animation属性,每次调用exports方法会清掉之前的动画操作。Object参数属性如下:

属性类型默认值必填说明
durationnumber400动画持续时间,单位 ms
timingFunctionstring'linear'动画的效果
delaynumber0动画延迟时间,单位 ms
transformOriginstring'50% 50% 0'

示例代码如下:

var animation = wx.createAnimation({
  transformOrigin:'0  0',//以左上角为中心点
  duration:20000,
  timingFunction:'ease-in'
});
  1. 动画描述

创建实例后我们需要调用实例动画方法来描述动画,这些方法调用后会返回自身,支持链式调用的写法,动画描述方法按类型可以分为样式、旋转、缩放、偏移、倾斜、矩阵变形,下面分别介绍:

1)样式

方法参数说明
opacityvalue透明度,参数范围 0~1
backgroundColorcolor颜色值
widthlength长度值,如果传入 Number 则默认使用 px,可传入其他自定义单位的长度值
heightlength长度值,如果传入 Number 则默认使用 px,可传入其他自定义单位的长度值
toplength长度值,如果传入 Number 则默认使用 px,可传入其他自定义单位的长度值
leftlength长度值,如果传入 Number 则默认使用 px,可传入其他自定义单位的长度值
bottomlength长度值,如果传入 Number 则默认使用 px,可传入其他自定义单位的长度值
rightlength长度值,如果传入 Number 则默认使用 px,可传入其他自定义单位的长度值

2)旋转

方法参数说明
rotatedegdeg的范围-180~180,从原点顺时针旋转一个deg角度
rotateXdegdeg的范围-180~180,在X轴旋转一个deg角度
rotateYdegdeg的范围-180~180,在Y轴旋转一个deg角度
rotateZdegdeg的范围-180~180,在Z轴旋转一个deg角度
rotate3d(x,y,z,deg)transform-function rotate3d

3)缩放

方法参数说明
scalesx,[sy]一个参数时,表示在X轴、Y轴同时缩放sx倍数;两个参数时表示在X轴缩放sx倍数,在Y轴缩放sy倍数
scaleXsx在X轴缩放sx倍数
scaleYsy在Y轴缩放sy倍数
scaleZsz在Z轴缩放sy倍数
scale3d(sx,sy,sz)在X轴缩放sx倍数,在Y轴缩放sy倍数,在Z轴缩放sz倍数

4)偏移

方法参数说明
translatetx,[ty]一个参数时,表示在X轴偏移tx,单位px;两个参数时,表示在X轴偏移tx,在Y轴偏移ty,单位px。
translateXtx在X轴偏移tx,单位px
translateYty在Y轴偏移tx,单位px
translateZtz在Z轴偏移tx,单位px
translate3d(tx,ty,tz)在X轴偏移tx,在Y轴偏移ty,在Z轴偏移tz,单位px

5)倾斜

方法参数说明
skewax,[ay]参数范围-180~180;一个参数时,Y轴坐标不变,X轴坐标延顺时针倾斜ax度;两个参数时,分别在X轴倾斜ax度,在Y轴倾斜ay度
skewXax参数范围-180~180;Y轴坐标不变,X轴坐标延顺时针倾斜ax度
skewYay参数范围-180~180;X轴坐标不变,Y轴坐标延顺时针倾斜ay度

6)矩阵变形

方法参数说明
matrix(a,b,c,d,tx,ty)transform-function matrix
matrix3d transform-function matrix3d

2.动画队列

调用动画操作方法后要调用 step() 来表示一组动画完成,可以在一组动画中调用任意多个动画方法,一组动画中的所有动画会同时开始,一组动画完成后才会进行下一组动画。step 可以传入一个跟 wx.createAnimation() 一样的配置参数用于指定当前组动画的配置。

实例代码如下:

<view style="width:100%;height:200px;"></view>
<icon animation="{{animData}}" style='position:absolute;left:100px;' type='success' size='40'></icon>
<button bindtap='rotateAndMove'>旋转并移动</button>
<button bindtap='rotateThenMove'>旋转后移动</button>
Page({
  data:{
    animData:{}
  },
  //旋转并移动
  rotateAndMove:function(){
    var anim = wx.createAnimation({
      duration:1000,
      timingFunction:'ease'
    });
    //同时执行2个动画
    anim.translateY('100px').rotate('720').step();
    this.setData({
      animData:anim.export()
    });
  },
  //旋转后再移动
  rotateThenMove:function(){
    var anim = wx.createAnimation({
      timingFunction:'ease'
    });
    //分布执行3个动画,通过step切割
    anim.rotate('720').step({duration:500});
    anim.translateY('100px').step({duration:500});
    anim.translateX('100px').step({duration:500});
    this.setData({
      animData:anim.export()
    });
  }
});

执行结果如下:

下拉刷新

wx.startPullDownRefresh(Object object)

开始下拉刷新,调用后触发下拉刷新动画,效果与用户手动下拉刷新一致,参数如下:

属性类型默认值必填说明
successfunction 接口调用成功的回调函数
failfunction 接口调用失败的回调函数
completefunction 接口调用结束的回调函数(调用成功、失败都会执行)

 

wx.stopPullDownRefresh()

停止当前页面下拉刷新

示例代码如下:

Page({
//监听当前页面下拉刷新
onPullDownRefresh:function(){
  //停止当前页面下拉刷新
  wx.stopPullDownRefresh();
}
});

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值