Vue小程序项目知识积累(二)

1.wx.reLaunch(Object object)

关闭所有页面,打开到应用内的某个页面。

wx.reLaunch({

  url:'/pages/positons/index'

})

参数说明:

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

2.wx.setStorageSync(string key, any data)

将数据存储在本地缓存中指定的 key 中。会覆盖掉原来该 key 对应的内容。除非用户主动删除或因存储空间原因被系统清理,否则数据都一直可用。单个 key 允许存储的最大数据长度为 1MB,所有数据存储上限为 10MB。

key和value值。

value:需要存储的内容。只支持原生类型、Date、及能够通过JSON.stringify序列化的对象。

wx.setStorageSync(`abcde${abcdefg}`,value);

Tip:

storage 应只用来进行数据的持久化存储,不应用于运行时的数据传递或全局状态管理。启动过程中过多的同步读写存储,会显著影响启动耗时。

3.wx.getStorageSync(string key)

从本地缓存中同步获取指定 key 的内容。

wx.getStorageSync(`ancdef${abc}`)

4.wx.getAccountInfoSync()

获取当前账号信息。线上小程序版本号仅支持在正式版小程序中获取,开发版和体验版中无法获取。

属性类型说明
miniProgramObject小程序账号信息
结构属性类型说明最低版本
appIdstring小程序 appId
envVersionstring小程序版本2.10.0
合法值说明
develop开发版
trial体验版
release正式版
versionstring线上小程序版本号2.10.2
pluginObject插件账号信息(仅在插件中调用时包含这一项)
结构属性类型说明
appIdstring插件 appId
versionstring插件版本号
const accountInfo = wx.getAccountInfoSync();
console.log(accountInfo.miniProgram.appId) // 小程序 appId
console.log(accountInfo.miniProgram.envVersion) // 小程序小程序版本 envVersion 
console.log(accountInfo.plugin.appId) // 插件 appId
console.log(accountInfo.plugin.version) // 插件版本号, 'a.b.c' 这样的形式

5.wx.showLoading(Object object)

显示 loading 提示框。需主动调用 wx.hideLoading 才能关闭提示框

属性类型默认值必填说明
titlestring提示的内容
maskbooleanfalse是否显示透明蒙层,防止触摸穿透
successfunction接口调用成功的回调函数
failfunction接口调用失败的回调函数
completefunction接口调用结束的回调函数(调用成功、失败都会执行)
wx.showLoading({
  title: '加载中',
  mask: true
})

6.wx.hideLoading(Object object)

隐藏 loading 提示框

属性类型默认值必填说明最低版本
noConflictbooleanfalse目前 toast 和 loading 相关接口可以相互混用,此参数可用于取消混用特性2.22.1
successfunction接口调用成功的回调函数
failfunction接口调用失败的回调函数
completefunction接口调用结束的回调函数(调用成功、失败都会执行)
wx.hideLoading()

7.wx.login(Object object)

调用接口获取登录凭证(code)。通过凭证进而换取用户登录态信息,包括用户在当前小程序的唯一标识(openid)、微信开放平台账号下的唯一标识(unionid,若当前小程序已绑定到微信开放平台账号)及本次登录的会话密钥(session_key)等。用户数据的加解密通讯需要依赖会话密钥完成。

属性类型默认值必填说明最低版本
timeoutnumber超时时间,单位ms1.9.90
successfunction接口调用成功的回调函数
failfunction接口调用失败的回调函数
completefunction接口调用结束的回调函数(调用成功、失败都会执行)

object.success 回调函数

属性类型说明
codestring用户登录凭证(有效期五分钟)。开发者需要在开发者服务器后台调用 code2Session,使用 code 换取 openid、unionid、session_key 等信息

object.fail 回调函数

属性类型说明最低版本
errMsgString错误信息
errnoNumbererrno 错误码,错误码的详细说明参考 Errno错误码2.24.0
wx.login({
  success: async (res) {
  const {a,b,c}=await getPnoneInfo({
   loginKey:resCode.code
  }) 
    if (res.code) {
      //发起网络请求
      wx.request({
        url: 'https://example.com/onLogin',
        data: {
          code: res.code
        }
      })
    } else {
      console.log('登录失败!' + res.errMsg)
    }
  }
})

8.wx.hideShareMenu(Object object)

隐藏当前页面的转发按钮

属性类型默认值必填说明最低版本
menusArray.<string>本接口为 Beta 版本,暂只在 Android 平台支持。需要隐藏的转发按钮名称列表,默认['shareAppMessage', 'shareTimeline']。按钮名称合法值包含 "shareAppMessage"、"shareTimeline" 两种2.11.3
successfunction接口调用成功的回调函数
failfunction接口调用失败的回调函数
completefunction接口调用结束的回调函数(调用成功、失败都会执行)

Tip:

  • "shareAppMessage"表示“发送给朋友”按钮,"shareTimeline"表示“分享到朋友圈”按钮
  • 隐藏“发送给朋友”按钮时必须同时隐藏“分享到朋友圈”按钮,隐藏“分享到朋友圈”按钮时则允许不隐藏“发送给朋友”按钮
wx.hideShareMenu({
  menus: ['shareAppMessage', 'shareTimeline']
})

or

wx.hideShareMenu();

9.wx.showShareMenu(Object object)

显示当前页面的转发按钮

属性类型默认值必填说明最低版本
withShareTicketbooleanfalse是否使用带 shareTicket 的转发详情
menusArray.<string>本接口为 Beta 版本,暂只在 Android 平台支持。需要显示的转发按钮名称列表,默认['shareAppMessage']。按钮名称合法值包含 "shareAppMessage"、"shareTimeline" 两种2.11.3
successfunction接口调用成功的回调函数
failfunction接口调用失败的回调函数
completefunction接口调用结束的回调函数(调用成功、失败都会执行)

Tip:

  • "shareAppMessage"表示“发送给朋友”按钮,"shareTimeline"表示“分享到朋友圈”按钮
  • 显示“分享到朋友圈”按钮时必须同时显示“发送给朋友”按钮,显示“发送给朋友”按钮时则允许不显示“分享到朋友圈”按钮
wx.showShareMenu({
  withShareTicket: true,
  menus: ['shareAppMessage', 'shareTimeline']
})

10.wx.navigateTo(Object object)

保留当前页面,跳转到应用内的某个页面。但是不能跳到 tabbar 页面。使用 wx.navigateBack 可以返回到原页面。小程序中页面栈最多十层。

属性类型默认值必填说明
urlstring需要跳转的应用内非 tabBar 的页面的路径 (代码包路径), 路径后可以带参数。参数与路径之间使用 ? 分隔,参数键与参数值用 = 相连,不同参数用 & 分隔;如 'path?key=value&key2=value2'
eventsObject页面间通信接口,用于监听被打开页面发送到当前页面的数据。基础库 2.7.3 开始支持。
routeTypestring2.29.2 自定义路由类型,相关文档 自定义路由
routeConfigObject3.4.0 自定义路由配置,相关文档 自定义路由
routeOptionsObject3.4.0 自定义路由参数,相关文档 自定义路由
successfunction接口调用成功的回调函数
failfunction接口调用失败的回调函数
completefunction接口调用结束的回调函数(调用成功、失败都会执行)

object.success 回调函数

属性类型说明
eventChannelEventChannel和被打开页面进行通信
wx.navigateTo({
  url: 'test?id=1',
  events: {
    // 为指定事件添加一个监听器,获取被打开页面传送到当前页面的数据
    acceptDataFromOpenedPage: function(data) {
      console.log(data)
    },
    someEvent: function(data) {
      console.log(data)
    }
    ...
  },
  success: function(res) {
    // 通过eventChannel向被打开页面传送数据
    res.eventChannel.emit('acceptDataFromOpenerPage', { data: 'test' })
  }
})
//test.js
Page({
  onLoad: function(option){
    console.log(option.query)
    const eventChannel = this.getOpenerEventChannel()
    eventChannel.emit('acceptDataFromOpenedPage', {data: 'test'});
    eventChannel.emit('someEvent', {data: 'test'});
    // 监听acceptDataFromOpenerPage事件,获取上一页面通过eventChannel传送到当前页面的数据
    eventChannel.on('acceptDataFromOpenerPage', function(data) {
      console.log(data)
    })
  }
})

or

wx.navigateTo({
  url: '/pages/hotView/index',
})

11.wx.navigateBack(Object object)

关闭当前页面,返回上一页面或多级页面。可通过 getCurrentPages 获取当前的页面栈,决定需要返回几层。

属性类型默认值必填说明
deltanumber1返回的页面数,如果 delta 大于现有页面数,则返回到首页。
successfunction接口调用成功的回调函数
failfunction接口调用失败的回调函数
completefunction接口调用结束的回调函数(调用成功、失败都会执行)
wx.navigateBack()

or 
 
// 注意:调用 navigateTo 跳转时,调用该方法的页面会被加入堆栈,而 redirectTo 方法则不会。见下方示例代码

// 此处是A页面
wx.navigateTo({
  url: 'B?id=1'
})

// 此处是B页面
wx.navigateTo({
  url: 'C?id=1'
})

// 在C页面内 navigateBack,将返回A页面
wx.navigateBack({
  delta: 2
})

12.wx.clearStorage(Object object)

清理本地数据缓存。

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

or

try {
  wx.clearStorageSync()
} catch(e) {
  // Do something when catch error
}

13.wx.clearStorageSync()

清理本地数据缓存。

wx.clearStorage()

14.wx.exitMiniProgram(Object object)

退出当前小程序。必须有点击行为才能调用成功。

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

 wx.exitMiniProgram()

}

15.wx.showToast(Object object)

显示消息提示框。

属性类型默认值必填说明最低版本
titlestring提示的内容
iconstringsuccess图标
合法值说明最低版本
success显示成功图标,此时 title 文本最多显示 7 个汉字长度
error显示失败图标,此时 title 文本最多显示 7 个汉字长度2.14.1
loading显示加载图标,此时 title 文本最多显示 7 个汉字长度
none不显示图标,此时 title 文本最多可显示两行,1.9.0及以上版本支持
imagestring自定义图标的本地路径,image 的优先级高于 icon1.1.0
durationnumber1500提示的延迟时间
maskbooleanfalse是否显示透明蒙层,防止触摸穿透
successfunction接口调用成功的回调函数
failfunction接口调用失败的回调函数
completefunction接口调用结束的回调函数(调用成功、失败都会执行)
wx.showToast({
  title: '成功',
  icon: 'success',
  duration: 2000
})

or

wx.showToast({
  title: res.message,
  icon: 'success',
  duration: 2000,
  icon:"none"
})

16.wx.reLaunch(Object object)

关闭所有页面,打开到应用内的某个页面。

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

//另一个页面拿到数据

// test
Page({
  onLoad (option) {
    console.log(option.query)
  }
})

17.wx.redirectTo(Object object)

关闭当前页面,跳转到应用内的某个页面。但是不允许跳转到 tabbar 页面。

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

18.wx.getLaunchOptionsSync()

获取小程序启动时的参数。与 App.onLaunch 的回调参数一致。

启动参数:

属性类型说明最低版本
pathstring启动小程序的路径 (代码包路径)
scenenumber启动小程序的场景值
queryObject启动小程序的 query 参数
shareTicketstringshareTicket,详见获取更多转发信息
referrerInfoObject来源信息。从另一个小程序、公众号或 App 进入小程序时返回。否则返回 {}。(参见后文注意)
结构属性类型说明
appIdstring来源小程序、公众号或 App 的 appId
extraDataObject来源小程序传过来的数据,scene=1037或1038时支持
forwardMaterialsArray.<Object>打开的文件信息数组,只有从聊天素材场景打开(scene为1173)才会携带该参数
结构属性类型说明
typestring文件的mimetype类型
namestring文件名
pathstring文件路径(如果是webview则是url)
sizenumber文件大小
chatTypenumber从微信群聊/单聊打开小程序时,chatType 表示具体微信群聊/单聊类型
合法值说明
1微信联系人单聊
2企业微信联系人单聊
3普通微信群聊
4企业微信互通群聊
apiCategorystringAPI 类别2.20.0
合法值说明
default默认类别
nativeFunctionalized原生功能化,视频号直播商品、商品橱窗等场景打开的小程序
browseOnly仅浏览,朋友圈快照页等场景打开的小程序
embedded内嵌,通过打开半屏小程序能力打开的小程序

返回有效 referrerInfo 的场景

场景值场景appId含义
1020公众号 profile 页相关小程序列表来源公众号
1035公众号自定义菜单来源公众号
1036App 分享消息卡片来源App
1037小程序打开小程序来源小程序
1038从另一个小程序返回来源小程序
1043公众号模板消息来源公众号
1069移动应用来源App

不同 apiCategory 场景下的 API 限制

X 表示 API 被限制无法使用;不在表格中的 API 不限制。

defaultnativeFunctionalizedbrowseOnlyembedded
navigateToMiniProgramXX
openSettingX
<button open-type="share">XXX
<button open-type="feedback">X
<button open-type="open-setting">X
openEmbeddedMiniProgramXXX

注意:

部分版本在无referrerInfo的时候会返回 undefined,建议使用 options.referrerInfo && options.referrerInfo.appId 进行判断。

let LaunchOptions = wx.getLaunchOptionsSync();

19.App(Object object)

注册小程序。接受一个 Object 参数,其指定小程序的生命周期回调等。

App() 必须在 app.js 中调用,必须调用且只能调用一次。不然会出现无法预期的后果。

属性类型默认值必填说明最低版本
onLaunchfunction生命周期回调——监听小程序初始化。
onShowfunction生命周期回调——监听小程序启动或切前台。
onHidefunction生命周期回调——监听小程序切后台。
onErrorfunction错误监听函数。
onPageNotFoundfunction页面不存在监听函数。1.9.90
onUnhandledRejectionfunction未处理的 Promise 拒绝事件监听函数。2.10.0
onThemeChangefunction监听系统主题变化2.11.0
其他any开发者可以添加任意的函数或数据变量到 Object 参数中,用 this 可以访问

关于小程序前后台的定义和小程序的运行机制,请参考运行机制章节。

onLaunch(Object object)

小程序初始化完成时触发,全局只触发一次。参数也可以使用 wx.getLaunchOptionsSync 获取。

参数:与 wx.getLaunchOptionsSync 一致

onShow(Object object)

小程序启动,或从后台进入前台显示时触发。也可以使用 wx.onAppShow 绑定监听。

参数:与 wx.onAppShow 一致

onHide()

小程序从前台进入后台时触发。也可以使用 wx.onAppHide 绑定监听。

onError(String error)

小程序发生脚本错误或 API 调用报错时触发。也可以使用 wx.onError 绑定监听。

参数:与 wx.onError 一致

onPageNotFound(Object object)

基础库 1.9.90 开始支持,低版本需做兼容处理

小程序要打开的页面不存在时触发。也可以使用 wx.onPageNotFound 绑定监听。注意事项请参考 wx.onPageNotFound

参数:与 wx.onPageNotFound 一致

示例代码:

App({
  onPageNotFound(res) {
    wx.redirectTo({
      url: 'pages/...'
    }) // 如果是 tabbar 页面,请使用 wx.switchTab
  }
})

onUnhandledRejection(Object object)

基础库 2.10.0 开始支持,低版本需做兼容处理

小程序有未处理的 Promise 拒绝时触发。也可以使用 wx.onUnhandledRejection 绑定监听。注意事项请参考 wx.onUnhandledRejection

参数:与 wx.onUnhandledRejection 一致

onThemeChange(Object object)

基础库 2.11.0 开始支持,低版本需做兼容处理

系统切换主题时触发。也可以使用 wx.onThemeChange 绑定监听。

参数:与 wx.onThemeChange 一致

App({
  onLaunch (options) {
    // Do something initial when launch.
  },
  onShow (options) {
    // Do something when show.
  },
  onHide () {
    // Do something when hide.
  },
  onError (msg) {
    console.log(msg)
  },
  globalData: 'I am global data'
})

20.wx.getMenuButtonBoundingClientRect()

获取菜单按钮(右上角胶囊按钮)的布局位置信息。坐标信息以屏幕左上角为原点。

菜单按钮的布局位置信息:

属性类型说明
widthnumber宽度,单位:px
heightnumber高度,单位:px
topnumber上边界坐标,单位:px
rightnumber右边界坐标,单位:px
bottomnumber下边界坐标,单位:px
leftnumber左边界坐标,单位:px
const res = wx.getMenuButtonBoundingClientRect()

console.log(res.width)
console.log(res.height)
console.log(res.top)
console.log(res.right)
console.log(res.bottom)
console.log(res.left)

21.wx.createSelectorQuery()

返回一个 SelectorQuery 对象实例。在自定义组件或包含自定义组件的页面中,应使用 this.createSelectorQuery() 来代替。

const query = wx.createSelectorQuery()
query.select('#the-id').boundingClientRect()
query.selectViewport().scrollOffset()
query.exec(function(res){
  res[0].top       // #the-id节点的上边界坐标
  res[1].scrollTop // 显示区域的竖直滚动位置
})

  • 19
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
Vue、React和小程序是三种热门的前端开发技术,它们在不同的场景下有着不同的应用和特点。 首先,Vue是一个渐进式JavaScript框架,它具有易上手、灵活和高效的特点。Vue使用基于组件的开发方式,将界面划分为多个独立的组件,每个组件都有自己的逻辑和模板。Vue支持声明式的模板语法,可以方便地编写简洁清晰的代码。此外,Vue还提供了响应式的数据绑定和虚拟DOM技术,使得页面渲染和数据更新的效率较高。Vue也有丰富的生态系统和文档,使得学习和使用变得更加容易。 而React是由Facebook开发的一个用于构建用户界面的JavaScript库,它着重于UI组件的构建和管理。React采用了组件化的思想,将界面划分为多个独立的组件,每个组件都有自己的状态和属性。React使用JSX语法,将HTML和JavaScript混写在一起,使得开发者可以直观地描述用户界面。React采用虚拟DOM技术,通过差异化更新来提高性能。React同时还可以通过React Native来开发移动应用,一次编码可同时适用于iOS和Android平台。 小程序是一种轻量级的应用类型,可在微信、支付宝等平台上运行。小程序有自己的生命周期、页面和组件,但相比于Vue和React,小程序的API和功能较为有限。小程序主要使用JavaScript进行开发,具有丰富的UI组件库和调用底层接口的能力,可以实现类似于原生应用的功能。小程序开发相对于Vue和React来说,学习曲线较为平缓,适合用于构建简单的应用和小型的企业业务。 综上所述,Vue、React和小程序在不同的场景下具有不同的特点和应用。选择合适的技术要根据具体的需求和项目来决定。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值