小程序API介绍及常用API

news2024/11/17 23:27:38

一、小程序API介绍

小程序开发框架提供丰富的微信原生API,可以方便的调起微信提供的能力,例如:获取用户信息、微信登录、
微信支付等,小程序提供的API几乎都挂载在wx对象下,例如:wx.request()、wx.setStorage()等,
wx对象实际上就是小程序的宿主环境微信提供的全局对象

在这里插入图片描述
异步API支持 callback & Promise 两种调用方式:
1.当接口参数 Objec对象中不包含 success/fail/complete 时 将默认返回 Promise
2. 部分接口如 request,uploadFile 本身就有返回值,因此不支持Promise风格的调用方式,它们的 promisify需要开发者自行封装。

二、网络请求

发起网络请求获取服务器的数据,需要使用wx.request()接口API
wx.request 请求的域名必须在微信公众平台进行配置,如果使用wx.request 请求未配置的域名,
在控制台会有相应的报错。

在这里插入图片描述

// index.js
Page({
  // 获取数据
  getData(){
    // 如果需要发起网络请求,需要使用 wx.request API
    wx.request({
      // 接口地址
      url: 'https://gmall-prod.atguigu.cn/mall-api/index/findBanner',
      // 请求方式
      method:'Get',
      // 请求参数
      data:{},
      // 请求头
      header:{},
      // API 调用成功以后,执行的回调
      success:(res)=>{
        console.log(res)
      },
      //API 调用失败以后,执行的回调
      fail:(err)=>{
        console.log(err)
      },
      // API 不管调用成功还是失败 都会调用
      complete:(res)=>{
        console.log(res)
      }
    })
     
  }
})

需要先在微信开发文档中配置已经备案好了的域名 然后重启项目才生效
如果在开发过程中可以先跳过域名校验
1.在微信开发者工具中,点击详情按钮,切换到本地详情,将 不校验合法域名、web-view(业务域名)、TLS版本以及HTTPS证书 勾选上
2. 在真机上,需要点击胶囊区域的分析按钮,在弹框中选择开发调试,重启小程序后即可

在这里插入图片描述

三、界面交互- loading 提示框

小程序提供了一些用户界面交互的API,例如:loading提示框、消息提示框、模态对话框等API
loading 提示框常配合网络请求来使用,用于增加用户体验,对应的API有两个:
		1. wx.showLoading()开始loading提示框
		2. wx.hideLoading() 关闭loading提示框
// index.js
Page({
  // 获取数据
  getData(){
    wx.showLoading({
      // 用来显示提示的内容
      // 提示的内容不会自动换行,如果提示的内容比较多,因为在同一行展示,多出来的内容就会被隐藏
      title: '数据加载中...',
      // 是否展示透明蒙层,防止触摸穿透
      mask:true
    })
  }
})

四、界面交互-模态对话框-消息提示框

wx.showMoal() : 模态对话框,常用于询问用户是否执行一些操作
例如:询问用户是否退出登录、是否删除等等

wx.showToast():消息提示框,根据用户的某些操作来告知操作的结果
例如:退出成功用户提示,提示删除成功等
Page({
  // 删除商品
  async delHanderl(){
    const {confirm}=await wx.showModal({
        title: '提示',
        content: '是否删除该商品?'
      })
    if(confirm){
      wx.showToast({
        title: '删除成功',
        icon:'success',
        duration:2000//显示的时长
      })
    }else{
      wx.showToast({
        title: '取消删除',
        icon:'error',
        duration:2000
      })
    }
  }
})

五、小程序API 本地存储在这里插入图片描述

1. 同步API

Page({
  // 将数据存储到本地
  setStorage(){
    // 第一个参数:本地存储中指定的 key
    // 第二个参数:需要存储的数据
    wx.setStorageSync('num', 1)
    // 在小程序中
    // 如果存储的时对象类型数据,不需要使用 JSON.setringify 和JSON.parse 进行转换
    wx.setStorageSync('objDemo',{name:'zs',age:10})
  },
  // 获取本地存储的数据
  getStorage(){
    const num=wx.getStorageSync('num')
    const obj=wx.getStorageSync('objDemo')
    console.log(num)
    console.log(obj)
  },
  // 删除本地存储的数据
  removeStorage(){
    wx.removeStorageSync('num')
  },
  // 清空本地存储的全部数据
  clearStorage(){
    wx.clearStorageSync()
  },
})

2. 异步API

Page({
  // 将数据存储到本地
  setStorage(){
   wx.setStorage({key:'num',data:1})
   wx.setStorage({key:'obj',data:{name:'tom',age:18}})
  },
  // 获取本地存储的数据
 async getStorage(){
  //  const {data}=await wx.getStorage({key:'num'})
   const {data}=await wx.getStorage({key:'obj'})
   console.log(data)
  },
  // 删除本地存储的数据
  removeStorage(){
    wx.removeStorage({key:'num'})
  },
  // 清空本地存储的全部数据
  clearStorage(){
    wx.clearStorage()
  },
})

六、路由与通信

在小程序中实现页面的跳转,有两种方式:
1. 声明式导航:navigator 组件
2. 编程式导航:使用小程序提供的API

在这里插入图片描述

七、页面处理函数 - 上拉加载

上拉记载式小程序中常见的一种加载方式,当用户滑动页面到底部时,会自动加载更多的内容,以便用户继续浏览
小程序中实现上拉加载的方式:
1. 在app.json 或者 page.json 中配置距离页面底部距离:onReachBottomDistance; 默认 50px
2. 在页面.js 中定义onReachBottom 事件监听用户上拉加载

八、页面处理函数 - 下拉刷新

下拉刷新时小程序中常见的一种刷新方式,当用户下拉页面时,页面会自动刷新,以便用户获取最新的内容。
小程序中实现上拉加载更多的方式:
1. 在app.json或者 page.json中开启允许下拉,同时可以配置窗口、loading样式等
2. 在页面.js中定义 onPullDownRefresh事件监听用户下拉刷新
Page({
  data:{
    numList:[1,2,3]
  },
  // 监听用户上拉加载更多
 onReachBottom(){
   const newArray=[...this.data.numList,this.data.numList.length+1,this.data.numList.length+2,this.data.numList.length+3]
   this.setData({
     numList:newArray
   })
 },
//  监听用户下拉刷新
onPullDownRefresh(){
  // 产品需求:
  // 当用户上拉加载更多以后,如果用户进行了下拉刷新
  // 需要将数据重置
  this.setData({
    numList:[1,2,3]
  })
  // 在下拉刷新以后,loading 效果有可能不会回弹回去
  if(this.data.numList.length===3){
    wx.stopPullDownRefresh()
  }
}
})


wx.stopPullDownRefresh() 解决在下拉刷新以后,loading 效果有可能不会回弹回去

九、scroll-view

使用scroll-view 实现上拉加载更多和下拉刷新功能
<scroll-view 
  scroll-y 
  class="scroll-y"
  lower-threshold="100"
  bindscrolltolower="getMore"
  enable-back-to-top

  refresher-enabled
  refresher-default-style="black"
  refresher-background="#f7f7f8"
  bindrefresherrefresh="refreshHandler"
>
<view wx:for="{{numList}}" wx:key="*this">{{item}}</view>
</scroll-view>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1882698.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

欧盟《净零工业法案》通过,全球清洁能源市场迎来新格局

2024年5月27日&#xff0c;欧盟理事会正式通过《净零工业法案》&#xff0c;这意味着欧盟在推动工业绿色转型方面迈出了具有决定性的一步。这一法案的通过&#xff0c;不仅对欧盟的净零排放目标具有深远影响&#xff0c;也将对全球清洁能源市场产生重大影响。 《净零工业法案》…

分体式天线的应用介绍

分体式天线的主要应用广泛且多样化&#xff0c;以下是对其主要应用的归纳&#xff1a; 1、仓储管理 在RFID仓储项目中&#xff0c;使用性能好的RFID分体式天线可以确保系统的稳定性&#xff0c;更能够降低整个项目的成本。 分体式天线通过其多个天线接口与分体式读写器连接&…

助你疯狂涨点!16种注意力机制魔改模型!

【注意力机制模型】是近年来在深度学习领域中备受关注的一项技术。它通过为输入数据中的重要部分分配更高的权重&#xff0c;从而增强模型对关键特征的识别能力。注意力机制在神经网络的不同层次上应用&#xff0c;可以动态调整注意力权重&#xff0c;从而提高模型的性能。该技…

前端学习二(JavaScript上)

JavaScript的学习笔记分享&#xff0c;帮助我自己和大家一起建立对JavaScript的了解和学习。Life need to share. ##文章内容&#xff1a;JavaScript 定义和的实现 ##编写内容&#xff1a;1.html实现平台 2.HTML简介 3.HTML语言解析 ##编写人&#xff1a;贾雯爽 ##最后更新…

TikTok直播限流与网络的关系及解决方法

TikTok作为一款热门的社交平台&#xff0c;其直播功能吸引了大量用户。然而&#xff0c;一些用户可能会遇到TikTok直播限流的问题&#xff0c;例如直播过程中出现播放量低、直播画面质量差等情况。那么&#xff0c;TikTok直播限流与所使用的网络线路是否有关系&#xff1f;是否…

如何使用命令提示符查询电脑相关序列号等信息的操作方法

如何使用命令提示符查询硬盘的序列号&#xff1f; 如果出于保修或其他目的&#xff0c;你想知道硬盘驱动器的序列号&#xff0c;你不想使用第三方应用程序&#xff0c;或者如果你更喜欢命令行方法&#xff0c;则可以使用带有命令提示符的命令来显示硬盘驱动器的序列号。 1. 按…

AutoHotKey自动热键(二)中文版帮助手册下载和自定义一般键盘快捷键

所有的操作其实在开发者手册中已经交待完了,所以我们要使用中文的手册来进行使用 autohotkey1.1.15中文手册下载 好了,为什么有了中文手册,这里还要进行一些具体的介绍呢,就是为了让大家少踩坑,能够快速形成生产力 这里先讲一下自定义快捷键WIN键和ALT键和CTRL键和SHIFT键的组…

Linux系统编程:信号

目录 1.信号概念 2.信号产生 2.1 终端 2.2 系统调用 2.3 硬件异常 2.4 软件条件 2.5 小结 3. 进程退出时的核心转储问题 4. 信号捕捉初识 5. 阻塞信号 5.1 相关概念 5.2 在内核中的表示 6. 信号捕捉 6.1 知识铺垫 6.2 信号捕捉流程 6.3 sigset_t 6.4 信号集操…

VaRest插件常用节点以及Http请求数据

1.解析json &#xff08;1&#xff09;Construct Json Object&#xff1a;构建json对象 &#xff08;2&#xff09;Decode Json&#xff1a;解析json 将string转换为json &#xff08;3&#xff09;Encode json&#xff1a;将json转换为string &#xff08;4&#xff09;Get S…

麒麟v10-sp3安装kkfileview

1、上传包到服务器 执行&#xff1a;/bin/startup.sh 会自动安装LibreOffice&#xff0c;因为/bin/install.sh判断了不是redhat-release就是ubuntu&#xff0c;导致麒麟系统会走ubuntu&#xff0c;所以会失败&#xff0c;这里改一下如果是麒麟也走install_redhat就可以了 也…

HarmonyOS Next开发学习手册——显示图片 (Image)

开发者经常需要在应用中显示一些图片&#xff0c;例如&#xff1a;按钮中的icon、网络图片、本地图片等。在应用中显示图片需要使用Image组件实现&#xff0c;Image支持多种图片格式&#xff0c;包括png、jpg、bmp、svg和gif&#xff0c;具体用法请参考 Image 组件。 Image通过…

亚马逊广告如何设置关键词竞价获取最优广告投入产出比 (ACOS)

在投放亚马逊商品广告的时候&#xff0c;从我们通常的理解来说&#xff0c;关键词竞价CPC设置的越高&#xff0c;广告投入产出比 (ACOS)越高&#xff0c;所以我们通常希望CPC越低越好&#xff0c;但是从我们实际投放广告来看&#xff0c;CPC与ACOS并不是线性相关。有时候CPC设定…

大数据开发助手:Coze平台上一款致力于高效解决大数据开发问题的智能Bot!

大数据开发助手&#xff1a;Coze平台上一款致力于高效解决大数据开发问题的智能Bot 核心技术揭秘1. **自然语言处理&#xff08;NLP&#xff09;**2. **知识图谱构建**3. **个性化推荐算法** 功能特色概览1. **即时问题解答**2. **最佳实践分享**3. **个性化学习路径**4. **社区…

“蓝潮卫士“水位雨量监测一体机,重塑城市防洪新防线!

​ 6月24日&#xff0c;湖南长沙遭遇了一场突如其来的特大暴雨侵袭。天空像破了个口子&#xff0c;雨水倾盆而下&#xff0c;仅仅1小时&#xff0c;就下了54个西湖&#xff0c;降水量突破了历史同期极值。这场暴雨直接导致了严重的城市内涝问题&#xff0c;部分地区瞬间变成一…

DataWhaleAI Tsak1 运行Baseline

题目背景 在当今数字化时代&#xff0c;企业积累了丰富的对话数据&#xff0c;这些数据不仅是客户与企业之间交流的记录&#xff0c;更是隐藏着宝贵信息的宝库。在这个背景下&#xff0c;群聊对话分角色要素提取成为了企业营销和服务的一项重要策略。 群聊对话分角色要素提取…

CAS服务端部署

部署CAS Cas服务端其实就是一个war包。 在资源\cas\source\cas-server-4.0.0-release\cas-server-4.0.0\modules目录下cas-server-webapp-4.0.0.war 将其改名为cas.war放入tomcat目录下的webapps下。启动tomcat自动解压war包。浏览器输入 登录页面 http://localhost:8080/ca…

前端:多服务端接口资源整合与zip打包下载

项目需求 前端项目开发中,有一个页面需要去整合多个服务接口返回的数据资源,并且需要将这多个服务接口接口返回的数据进行资源压缩,最终打包成zip压缩包,并在客户端完成下载。 基本需求梳理如下, 实现思路 这个需求点其实本质上还是传统的“文件下载”功能需求,常见的例如…

昇思25天学习打卡营第6天|网络构建

网络构建 概念模型模型参数 概念 神经网络模型是由神经网络层和Tensor操作构成的&#xff0c;mindspore.nn提供了常见神经网络层的实现&#xff0c;在MindSpore中&#xff0c;Cell类是构建所有网络的基类&#xff0c;也是网络的基本单元。一个神经网络模型表示为一个Cell&…

【AI大模型】在健康睡眠监测中的深度融合与实践案例

文章目录 1. 应用方案2. 技术实现2.1 数据采集与预处理2.2 构建与训练模型2.3 个性化建议生成 3. 优化策略4. 应用示例&#xff1a;多模态数据融合与实时监测4.1 数据采集4.2 实时监测与反馈 5. 深入分析模型选择和优化5.1 LSTM模型的优势和优化策略5.2 CNN模型的优势和优化策略…

软考:软件设计师 知识点整理 1

一. 计算机组成与体系结构 1. 数据的表示 &#xff08;1&#xff09;进制转换 进制数码基数位权十进制&#xff08;D&#xff09;0,1,2,3,4,5,6,7,8,910二进制&#xff08;B&#xff09;0,12十六进制&#xff08;H&#xff09;0~9,A,B,C,D,E,F16 按权展开法&#xff1a; 二…