目录结构

  1. |--pages 小程序页面目录
  2. ||--index 小程序页面1
  3. |||--index.js 页面逻辑文件
  4. |||--index.json 页面配置文件
  5. |||--index.wxml 页面结构文件 也就是html
  6. |||--index.wxss 页面样式文件 也就是css
  7. ||--logs 小程序页面2 初始化可以删
  8. |--utils 工具集合目录 初始化可以删
  9. |--app.js 小程序的逻辑
  10. |--app.json 小程序的公共配置
  11. |--app.wxss 小程序的公共配置
  12. |--project.config.json 工具配置文件
  13. |--sitemap.json 索引配置

app.js

  1. {
  2. "pages":[// 页面路径配置,配置后页面才能找到 如果想创建目录可以在下面直接输入地址会自动创建
  3. "pages/index/index",
  4. "pages/logs/logs",
  5. "pages/test/test"//手动输入后保证小程序会自动创建目录
  6. ],
  7. "window":{//窗口设置
  8. "backgroundTextStyle":"light", 下拉loading样式 默认 dark
  9. "navigationBarBackgroundColor": "#fff",//导航背景色
  10. "navigationBarTitleText": "Weixin",//标题内容
  11. "navigationBarTextStyle":"black"//标题颜色
  12. },
  13. "style": "v2",
  14. "sitemapLocation": "sitemap.json"
  15. }

通过app.js设置tabBar

  1. 全局配置中查看
  2. "tabBar": {
  3. "list": [{
  4. "pagePath": "pages/index/index",
  5. "text": "首页"
  6. }, {
  7. "pagePath": "pages/templated/templated",
  8. "text": "日志"
  9. }]
  10. },
  1. const app = getApp() 获取App实例 可以获取app.js中定义的内容

尺寸问题

WXSS相对于传统的CSS 提供了一种rpx的尺寸单位 可以自适应屏幕
屏幕规定宽度为750rpx 设置这个值就可以满宽度
如果要分离出独立样式表 可以通过@import 载入即可
@impor “./temp/temp.wxss”

数据绑定

数据绑定

数据绑定和vue中数据绑定是一样当都是通过data进行数据的设定 ,通过视图层响应输出

  1. Page({
  2. data: { //定义
  3. id:"1",
  4. name:"nihao"
  5. },
  6. })
  7. 显示
  8. <view id="{{id}}">{{name}}</view> 可以写在标签内部 也可以写在标签外部
  9. 进行表单选中,运算,字符串连接,三目运算
  10. <checkbox checked="{{flag}}">选中</checkbox>
  11. <checkbox checked="{{flag?true:false}}">选中</checkbox>
  12. 对象的和数组的获取
  13. <view>{{obj.name}}</view>
  14. <view>{{obj[0]}}</view>

双向绑定

  1. <input value="{{value}}" /> 数据绑定是单向的
  2. 双向绑定需要添加一个前缀model:
  3. <input model:value="{{value}}" />

条件和列表渲染

条件渲染 wx:if

  1. <view wx:if="{{flag}}">{{obj.name}}</view> flagtrue是显示 相当于if
  2. <view wx:elif="{{flag>5}}">{{obj.name}}</view> 相当于 else if
  3. <view wx:else">{{obj.name}}</view> 相当于 else
  4. 如果想通过wx:if对多个组件进行判断可以通过<block>标签 block标签是无状态的不会进行任何渲染
  5. <block wx:if="{{flag}}">
  6. <view>1</view>
  7. <view>2</view>
  8. </block>

列表渲染 wx:for

  1. arr:[1,2,3,4,5]
  2. <view wx:for="{{arr}}">
  3. 索引:{{index}}---数值::{{item}} 默认index是获取索引 item是获取值
  4. </view>
  5. 单独设置索引变量和值变量
  6. <view wx:for="{{arr}}" wx:for-index="idx" wx:for-item="obj">
  7. 索引:{{idx}}---数值::{{obj}}
  8. </view>
  9. 同时循环多个组件还是使用block标签
  10. <block wx:for="{{arr}}" wx:for-index="idx" wx:for-item="obj">
  11. <view>{{obj}}</view>
  12. <view>{{obj}}</view>
  13. </block>

wx:key

在循环的过程中和vue一样也是需要设置key的设置方式

  1. 可以设置对象中的id 如果没有id可以通过保留关键字*this设置
  2. <block wx:for="{{arr}}" wx:for-item="obj" wx:key="*this">
  3. <view>{{obj}}</view>
  4. <view>{{obj}}</view>
  5. </block>

模板

模板的使用

  1. <!-- 创建模板 -->
  2. <template name="test">
  3. <view>1</view>
  4. <view>2</view>
  5. </template>
  6. <!-- 使用模板 -->
  7. <template is="test"></template>

data中的数据在模板中是没办法直接使用的使用方式如下

  1. obj: [{
  2. id: "1",
  3. name: "zhangsan"
  4. },{
  5. id: "2",
  6. name: "lisi"
  7. }]
  8. <template name="test">
  9. <view>{{id}}</view>
  10. <view>{{name}}</view>
  11. </template>
  12. <!-- 使用模板 -->
  13. <template is="test" data="{{...obj}}" wx:for="{{obj}}"></template>
  14. 需要通过data将对象直接传过去在模板中直接获取对象中的值 ...对象名固定格式

模板的引用

  1. <!-- 将模板写到外面的wxml -->
  2. <import src="../temp/temp.wxml">
  3. <!-- 使用模板 is="temp"外面模板name定义的值 -->
  4. <template is="temp" data="{{..obj}}"></template>

事件绑定

tap 手触摸后马上离开 点击事件
longpress 手触摸后超过350ms后离开
touchstart 手触摸动作开始
touchmove 手触摸后移动
touchcancel 手触摸动作被打断
touchend 手触摸动作结束

使用:bind:事件名 来绑定事件—>

注:除上表之外的其他组件自定义事件如无特殊声明都是非冒泡事件,如 form 的submit事件,input 的input事件,scroll-view 的scroll事件,(详见各个组件)

  1. {{flag}}
  2. <view bindtap="clickD">点击</view>
  3. Page({
  4. /**
  5. * 页面的初始数据
  6. */
  7. data: {
  8. flag:1,
  9. },
  10. clickD(event){ //通过获取event可以直接获取事件对象
  11. console.log("11")
  12. this.setData({//修改Data中的值
  13. flag:3
  14. })
  15. },
  16. })

阻止事件冒泡

  1. bind 外,也可以用 catch 来绑定事件。与 bind 不同, catch 会阻止事件向上冒泡。
  2. 例如在下边这个例子中,点击 inner view 会先后调用handleTap3handleTap2(因为tap事件会冒泡到 middle view,而 middle view 阻止了 tap 事件冒泡,不再向父节点传递),点击 middle view 会触发handleTap2,点击 outer view 会触发handleTap1
  3. <view id="outer" bindtap="handleTap1">
  4. outer view
  5. <view id="middle" catchtap="handleTap2">
  6. middle view
  7. <view id="inner" bindtap="handleTap3">
  8. inner view
  9. </view>
  10. </view>
  11. </view>

互斥事件绑定

  1. 使用 mut-bind 来绑定事件。一个 mut-bind 触发后,如果事件冒泡到其他节点上,其他节点上的 mut-bind 绑定函数不会被触发,但 bind 绑定函数和 catch 绑定函数依旧会被触发。
  2. 换而言之,所有 mut-bind 是“互斥”的,只会有其中一个绑定函数被触发。同时,它完全不影响 bind catch 的绑定效果。
  3. 例如在下边这个例子中,点击 inner view 会先后调用 handleTap3 handleTap2 ,点击 middle view 会调用
  4. <view id="outer" mut-bind:tap="handleTap1">
  5. outer view
  6. <view id="middle" bindtap="handleTap2">
  7. middle view
  8. <view id="inner" mut-bind:tap="handleTap3">
  9. inner view
  10. </view>
  11. </view>
  12. </view>

事件捕获

  1. 触摸类事件支持捕获阶段。捕获阶段位于冒泡阶段之前,且在捕获阶段中,事件到达节点的顺序与冒泡阶段恰好相反。需要在捕获阶段监听事件时,可以采用capture-bindcapture-catch关键字,后者将中断捕获阶段和取消冒泡阶段。
  2. 在下面的代码中,点击 inner view 会先后调用handleTap2handleTap4handleTap3handleTap1
  3. <view id="outer" bind:touchstart="handleTap1" capture-bind:touchstart="handleTap2">
  4. outer view
  5. <view id="inner" bind:touchstart="handleTap3" capture-bind:touchstart="handleTap4">
  6. inner view
  7. </view>
  8. </view>
  9. 如果将上面代码中的第一个capture-bind改为capture-catch,将只触发handleTap2
  10. <view id="outer" bind:touchstart="handleTap1" capture-catch:touchstart="handleTap2">
  11. outer view
  12. <view id="inner" bind:touchstart="handleTap3" capture-bind:touchstart="handleTap4">
  13. inner view
  14. </view>
  15. </view>

组件

通用属性

  1. <button id="test" 设置id
  2. class="test" 设置class
  3. style="color:red" 设置样式
  4. hidden 设置组件隐藏
  5. data-name="neirong" 设置自定义值 data-自定义属性="自定义值" 获取方法是 event.target.dataset.自定义属性
  6. bind:tap="clickD" 设置点击事件
  7. >
  8. 组件
  9. </button>

所有的属性值最好在data中设置 或者在{{true}}中设置否则可能出现不能使用的问题

view

相当于div组件

属性 类型 默认值 说明
hover-class string none 指定按下去的样式类。当 hover-class="none"
时,没有点击态效果
hover-stop-propagation boolean false 指定是否阻止本节点的祖先节点出现点击态
值需要在data中设置
hover-start-time number 50 按住后多久出现点击态,单位毫秒
hover-stay-time number 400 手指松开后点击态保留时间,单位毫秒

scroll-view

可滚动视图区域。使用竖向滚动时,需要给scroll-view一个固定高度,通过 WXSS 设置 height。组件属性的长度单位默认为px,2.4.0起支持传入单位(rpx/px)

属性 类型 默认值 说明
scroll-x boolean false 允许横向滚动
scroll-y boolean false 允许纵向滚动
upper-threshold number/string 50 距顶部/左边多远时,触发 scrolltoupper 事件
lower-threshold number/string 50 距底部/右边多远时,触发 scrolltolower 事件
scroll-top number/string 设置竖向滚动条位置
scroll-left number/string 设置横向滚动条位置
scroll-with-animation boolean false 在设置滚动条位置时使用动画过渡
bindscrolltoupper eventhandle 滚动到顶部/左边时触发
bindscrolltolower eventhandle 滚动到底部/右边时触发
scroll-into-view string 值应为某子元素id(id不能以数字开头)。设置哪个方向可滚动,则在哪个方向滚动到该元素
enable-back-to-top boolean false iOS点击顶部状态栏、安卓双击标题栏时,滚动条返回顶部,只支持竖向
  1. <scroll-view style="height:200rpx" scroll-y="true" scroll-with-animation="true" scroll-with-animation="true">
  2. <view style="height:200rpx;background:red">1</view>
  3. <view style="height:200rpx;background:blue">2</view>
  4. <view style="height:200rpx;background:yellow">3</view>
  5. <view style="height:200rpx;background:green">4</view>
  6. <view style="height:200rpx;background:#ddf">5</view>
  7. </scroll-view>

swiper

滑块视图容器。其中只可放置swiper-item组件,否则会导致未定义的行为。

属性 类型 默认值 说明
indicator-dots boolean false 是否显示面板指示点
autoplay boolean false 是否自动切换
current number 0 当前所在滑块的 index
interval number 5000 自动切换时间间隔
duration number 500 滑动动画时长
circular boolean false 是否采用衔接滑动
vertical boolean false 滑动方向是否为纵向
previous-margin string “0px” 前边距,可用于露出前一项的一小部分,接受 px 和 rpx 值
next-margin string “0px” 后边距,可用于露出后一项的一小部分,接受 px 和 rpx 值
snap-to-edge boolean “false” 当 swiper-item 的个数大于等于 2,关闭 circular 并且开启 previous-margin 或 next-margin 的时候,可以指定这个边距是否应用到第一个、最后一个元素
bindchange eventhandle current 改变时会触发 change 事件,event.detail = {current, source}
bindtransition eventhandle swiper-item 的位置发生改变时会触发 transition 事件,event.detail = {dx: dx, dy: dy}
bindanimationfinish eventhandle 动画结束时会触发 animationfinish 事件,event.detail 同上
  1. <swiper autoplay="{{flag}}" interval="1000">
  2. <swiper-item item-id="1">1</swiper-item>
  3. <swiper-item item-id="2">2</swiper-item>
  4. </swiper>

text

文本 相当于span标签

属性 类型 默认值 说明
user-select boolean false 文本是否可选,该属性会使文本节点显示为 inline-block
space string 显示连续空格
decode boolean false 是否解码

rich-text

富文本 解析html文本

属性 类型 默认值 说明
nodes array/string [] 节点列表/HTML String
space string 显示连续空格

nodes

现支持两种节点,通过type来区分,分别是元素节点和文本节点,默认是元素节点,在富文本区域里显示的HTML节点 元素节点:type = node*

属性 说明 类型 备注
name 标签名 string 支持部分受信任的 HTML 节点
attrs 属性 object 支持部分受信任的属性,遵循 Pascal 命名法
type 显示方式 string 默认是type = node*要显示文字的时候要设置成type:”text”
children 子节点列表 array 结构和 nodes 一致

文本节点:type = text*

属性 说明 类型 备注
text 文本 string 支持entities

icon

图标。组件属性的长度单位默认为px,2.4.0起支持传入单位(rpx/px)。

属性 类型 默认值 说明
type string icon的类型,有效值:success, success_no_circle, info, warn, waiting, cancel, download, search, clear
size number/string 23 icon的大小
color string icon的颜色,同css的color

progress

进度条。组件属性的长度单位默认为px,2.4.0起支持传入单位(rpx/px)。

属性 类型 默认值 说明
percent number 百分比0~100
show-info boolean false 在进度条右侧显示百分比
border-radius number/string 0 圆角大小
font-size number/string 16 右侧百分比字体大小
stroke-width number/string 6 进度条线的宽度
color string #09BB07 进度条颜色(请使用activeColor)
activeColor string #09BB07 已选择的进度条的颜色
backgroundColor string #EBEBEB 未选择的进度条的颜色
active boolean false 进度条从左往右的动画
active-mode string backwards backwards: 动画从头播;forwards:动画从上次结束点接着播
duration number 30 进度增加1%所需毫秒数
bindactiveend eventhandle 动画完成事件

button

按钮。

属性 类型 默认值 说明
size string default 按钮的大小 见文档
type string default 按钮的样式类型 见文档
plain boolean false 按钮是否镂空,背景色透明
disabled boolean false 是否禁用
loading boolean false 名称前是否带 loading 图标
form-type string 用于 form
组件,点击分别会触发 form
组件的 submit/reset 事件
open-type string 微信开放能力
hover-class string button-hover 指定按钮按下去的样式类。当 hover-class="none"
时,没有点击态效果

checkbox

多选项目。需要和label 和 checkbox-group联合使用

属性 类型 默认值 说明
value string checkbox
标识,选中时触发checkbox-group
的 change 事件,并携带 checkbox
的 value
disabled boolean false 是否禁用
checked boolean false 当前是否选中,可用来设置默认选中
color string #09BB07 checkbox的颜色,同css的color

label

用来改进表单组件的可用性。
使用for属性找到对应的id,或者将控件放在该标签下,当点击时,就会触发对应的控件。 for优先级高于内部控件,内部有多个控件的时候默认触发第一个控件。 目前可以绑定的控件有:button, checkbox, radio, switch

属性 类型 默认值 说明
for string 绑定控件的 id

checkbox-group

属性 类型 默认值 说明
bindchange EventHandle checkbox-group
中选中项发生改变时触发 change 事件,detail = {value:[选中的checkbox的value的数组]}
  1. checkbox-group bindchange="changeD">
  2. <!-- 如果没有label点击复选框文字是无法选中的-->
  3. <label>
  4. <checkbox value="1"></checkbox>复选框
  5. </label>
  6. </checkbox-group>
  7. changeD(event){
  8. console.log(event.detail.value) //event.detail.value获取选中的值的数组
  9. },

radio

单选项目。和多选框一样需要和label 和 radio-group联合使用

属性 类型 默认值 说明
value string radio
标识。当该radio
选中时,radio-group
的 change 事件会携带radio
的value
checked boolean false 当前是否选中
disabled boolean false 是否禁用
color string #09BB07 radio的颜色,同css的color

radio-group

属性 类型 默认值 说明
bindchange EventHandle radio-group
中选中项发生改变时触发 change 事件,detail = {value:[选中的radio的value的数组]}
  1. <radio-group bindchange="radioD">
  2. <label>
  3. <radio value="1"></radio>
  4. <radio value="2"></radio>
  5. </label>
  6. </radio-group>
  7. radioD(event){
  8. console.log(event.detail.value) //event.detail.value获取选中的值
  9. },

switch

开关选择器。 就是checkbox组件只不过是改变了样式

属性 类型 默认值 说明
checked boolean false 是否选中
disabled boolean false 是否禁用
type string switch 样式,有效值:switch, checkbox
color string #04BE02 switch 的颜色,同 css 的 color
bindchange eventhandle checked 改变时触发 change 事件,event.detail={ value}

slider

滑动选择器。

属性 类型 默认值 说明
min number 0 最小值
max number 100 最大值
step number 1 步长,取值必须大于 0,并且可被(max - min)整除
disabled boolean false 是否禁用
value number 0 当前取值
block-size number 28 滑块的大小,取值范围为 12 - 28
block-color color #ffffff 滑块的颜色
show-value boolean false 是否显示当前 value
bindchange eventhandle 完成一次拖动后触发的事件,event.detail = {value}
bindchanging eventhandle 拖动过程中触发的事件,event.detail = {value}

input

输入框。该组件是原生组件

属性 类型 默认值 说明
value string 输入框的初始内容
type string text input 的类型
password boolean false 是否是密码类型
placeholder string 输入框为空时占位符
placeholder-style string 指定 placeholder 的样式
placeholder-class string input-placeholder 指定 placeholder 的样式类
disabled boolean false 是否禁用
maxlength number 140 最大输入长度,设置为 -1 的时候不限制最大长度
focus boolean false 自动获取焦点
confirm-type string done 设置键盘右下角按钮的文字,仅在type=’text’时生效
bindinput eventhandle 键盘输入时触发,event.detail = {value, cursor, keyCode},keyCode 为键值,2.1.0 起支持,处理函数可以直接 return 一个字符串,将替换输入框的内容。
bindfocus eventhandle 输入框聚焦时触发,event.detail = { value, height },height 为键盘高度,在基础库 1.9.90 起支持
bindblur eventhandle 输入框失去焦点时触发,event.detail = {value: value}
bindconfirm eventhandle 点击完成按钮时触发,event.detail = {value: value}
bindkeyboardheightchange eventhandle 键盘高度发生变化的时候触发此事件,event.detail = {height: height, duration: duration}

textarea

多行输入框。该组件是原生组件

属性 类型 默认值 说明
value string 输入框的内容
placeholder string 输入框为空时占位符
placeholder-style string 指定 placeholder 的样式,目前仅支持color,font-size和font-weight
placeholder-class string textarea-placeholder 指定 placeholder 的样式类
disabled boolean false 是否禁用
maxlength number 140 最大输入长度,设置为 -1 的时候不限制最大长度
auto-height boolean false 是否自动增高,设置auto-height时,style.height不生效
fixed boolean false 如果 textarea 是在一个 position:fixed
的区域,需要显示指定属性 fixed 为 true
show-confirm-bar boolean true 是否显示键盘上方带有”完成“按钮那一栏
adjust-position boolean true 键盘弹起时,是否自动上推页面
disable-default-padding boolean false 是否去掉 iOS 下的默认内边距
confirm-type string return 设置键盘右下角按钮的文字
bindfocus eventhandle 输入框聚焦时触发,event.detail = { value, height },height 为键盘高度,在基础库 1.9.90 起支持
bindblur eventhandle 输入框失去焦点时触发,event.detail = {value, cursor}
bindlinechange eventhandle 输入框行数变化时调用,event.detail = {height: 0, heightRpx: 0, lineCount: 0}
bindinput eventhandle 当键盘输入时,触发 input 事件,event.detail = {value, cursor, keyCode},keyCode 为键值,目前工具还不支持返回keyCode参数。bindinput 处理函数的返回值并不会反映到 textarea 上
bindconfirm eventhandle 点击完成时, 触发 confirm 事件,event.detail = {value: value}
bindkeyboardheightchange eventhandle 键盘高度发生变化的时候触发此事件,event.detail = {height: height, duration: duration}

picker

从底部弹起的滚动选择器。详情查看API 具体使用观看文档

属性 类型 默认值 说明
header-text string 选择器的标题,仅安卓可用
mode string selector 选择器类型
disabled boolean false 是否禁用
bindcancel eventhandle 取消选择时触发

例如:普通选择器:mode=selector

属性名 类型 默认值 说明
range array/object array [] mode 为 selector 或 multiSelector 时,range 有效
range-key string 当 range 是一个 Object Array 时,通过 range-key 来指定 Object 中 key 的值作为选择器显示内容
value number 0 表示选择了 range 中的第几个(下标从 0 开始)
bindchange eventhandle value 改变时触发 change 事件,event.detail = {value}
  1. <picker mode="selector" range="{{['北京','广州']}}" value="{{1}}" disabled="{{false}}"> //value是数组的索引默认选中
  2. <view>选择</view> 显示的信息
  3. </picker>

picker-view

嵌入页面的滚动选择器。其中只可放置 picker-view-column组件,其它节点不会显示

属性 类型 默认值 说明
value Array. 数组中的数字依次表示 picker-view 内的 picker-view-column 选择的第几项(下标从 0 开始),数字大于 picker-view-column 可选项长度时,选择最后一项。
indicator-style string 设置选择器中间选中框的样式
indicator-class string 设置选择器中间选中框的类名
mask-style string 设置蒙层的样式
mask-class string 设置蒙层的类名
bindchange eventhandle 滚动选择时触发change事件,event.detail = {value};value为数组,表示 picker-view 内的 picker-view-column 当前选择的是第几项(下标从 0 开始)
bindpickstart eventhandle 当滚动选择开始时候触发事件
bindpickend eventhandle 当滚动选择结束时候触发事件

picker-view-colum

滚动选择器子项。仅可放置于picker-view中,其孩子节点的高度会自动设置成与picker-view的选中框的高度一致

  1. <picker-view style="width:750rpx;height:200px" value="{{[1,1]}}">
  2. <picker-view-column>
  3. <view>1</view>
  4. <view>1</view>
  5. </picker-view-column>
  6. <picker-view-column>
  7. <view>1</view>
  8. <view>1</view>
  9. </picker-view-column>
  10. </picker-view>

form

表单。将组件内的用户输入的switch input checkbox slider radio picker 提交。
当点击 form 表单中 form-type 为 submit 的 button 组件时,会将表单组件中的 value 值进行提交,需要在表单组件中加上 name 来作为 key。

属性 类型 默认值 说明
report-submit-timeout number 0 等待一段时间(毫秒数)以确认 formId 是否生效。如果未指定这个参数,formId 有很小的概率是无效的(如遇到网络失败的情况)。指定这个参数将可以检测 formId 是否有效,以这个参数的时间作为这项检测的超时时间。如果失败,将返回 requestFormId:fail 开头的 formId
bindsubmit eventhandle 携带 form 中的数据触发 submit 事件,event.detail = {value : {‘name’: ‘value’} , formId: ‘’}
bindreset eventhandle 表单重置时会触发 reset 事件

navigator

页面链接。页面跳转组件

属性 类型 默认值 说明
target string self 在哪个目标上发生跳转,默认当前小程序
url string 当前小程序内的跳转链接
open-type string navigate 跳转方式
hover-class string navigator-hover 指定点击时的样式类,当hover-class="none"
时,没有点击态效果
  1. <navigator url="/pages/index/index">跳转</navigator>

API

API一般都包含三个回调函数success、fail和complete

界面

交互API

wx.showToast 显示消息提示框
wx.showModal 显示模态对话框
wx.showLoading 显示 loading 提示框。需主动调用 wx.hideLoading 才能关闭提示框
wx.showActionSheet 显示操作菜单

导航栏

wx.showNavigationBarLoading 在当前页面显示导航条加载动画
wx.setNavigationBarTitle 动态设置当前页面的标题
wx.setNavigationBarColor 设置页面导航条颜色
wx.hideNavigationBarLoading 在当前页面隐藏导航条加载动画
wx.hideHomeButton 隐藏返回首页按钮

TabBar

wx.showTabBarRedDot 显示 tabBar 某一项的右上角的红点
wx.showTabBar 显示 tabBar
wx.setTabBarItem 动态设置 tabBar 某一项的内容
wx.setTabBarBadge 为 tabBar 某一项的右上角添加文本

网络

wx.request 发起 HTTPS 网络请求

  1. wx.request({
  2. url: 'example.php', //仅为示例,并非真实的接口地址
  3. data: {
  4. x: '',
  5. y: ''
  6. },
  7. method:"get" //支持get post put delete
  8. header: {
  9. 'content-type': 'application/json' // 默认值
  10. },
  11. success (res) {
  12. console.log(res.data)
  13. }
  14. })

wx.downloadFile 下载文件资源到本地
wx.uploadFile 将本地资源上传到服务器

图片 视频 音频查看API

音频

wx.createInnerAudioContext 创建内部 audio 上下文
wx.createAudioContext 创建 audio 上下文 AudioContext 对象。
AudioContext.setSrc(string src)设置音频地址
AudioContext.play()播放音频。
AudioContext.pause()暂停音频。
AudioContext.seek(number position)跳转到指定位置

视频

wx.createVideoContext 创建 video 上下文
wx.openVideoEditor 打开视频编辑器
wx.saveVideoToPhotosAlbum 保存视频到系统相册
需要结合video结合使用

图片

wx.chooseImage 从本地相册选择图片或使用相机拍照
wx.getImageInfo 获取图片信息
wx.saveImageToPhotosAlbum 保存图片到系统相册

地图

wx.createMapContext 创建 map 上下文 MapContext 对象 需要结合map标签
MapContext.fromScreenLocation 获取屏幕上的点对应的经纬度,坐标原点为地图左上角。

定位

wx.getLocation 获取当前的地理位置、速度
wx.openLocation 使用微信内置地图查看位置
wx.chooseLocation 打开地图选择位置

缓存

wx.setStorage 将数据存储在本地缓存中指定的 key 中。会覆盖掉原来该 key 对应的内容

  1. wx.setStorage({
  2. key:"key",
  3. data:"value"
  4. })

wx.removeStorage 从本地缓存中移除指定 key
wx.getStorage 从本地缓存中异步获取指定 key 的内容。

路由

wx.redirectTo 关闭当前页面,跳转到应用内的某个页面。但是不允许跳转到 tabbar 页面。
wx.navigateTo 保留当前页面,跳转到应用内的某个页面。但是不能跳到 tabbar 页面
wx.navigateBack 关闭当前页面,返回上一页面或多级页面
wx.reLaunch 关闭所有页面,打开到应用内的某个页面
wx.switchTab 跳转到 tabBar 页面,并关闭其他所有非 tabBar 页面