微信小程序学习(六):常用原生 API

embedded/2024/10/10 9:42:36/

在这里插入图片描述
🔗API官方文档

1、网络请求

wx.request({// 接口地址,仅为示例,并非真实的接口地址url: 'example.php',// 请求的参数data: { x: '' },// 请求方式 GET|POST|PUT|DELETEmethod: 'GET',success (res) {console.log(res.data)},fail(err) {console.log(err)}
})

wx.request() 请求的域名需要在小程序管理平台进行配置,如果小程序正式版使用wx.request请求未配置的域名,在控制台会有相应的报错。

2、界面交互

2.1 loading 提示框

wx.showLoading({title: '提示内容', // 提示的内容mask: true, // 是否显示透明蒙层,防止触摸穿透success() {}, // 接口调用成功的回调函数fail() {} // 接口调用失败的回调函数
})wx.hideLoading()

🔗showLoading官方文档 🔗hideLoading官方文档

2.2 模态对话框

wx.showModal() 模态对话框也是在项目中频繁使用的一个小程序 API,通常用于向用户询问是否执行一些操作,例如:点击退出登录,显示模态对话框,询问用户是否真的需要退出等等

wx.showModal({title: '提示', // 提示的标题content: '您确定执行该操作吗?', // 提示的内容confirmColor: '#f3514f',// 接口调用结束的回调函数(调用成功、失败都会执行)success({ confirm }) {confirm && consle.log('点击了确定')}
})

🔗showModal官方文档

2.3 消息提示框

wx.showToast():消息提示框用来根据用户的某些操作来告知操作的结果,如退出成功给用户提示,提示删除成功等

wx.showToast({title: '标题', // 提示的内容duration: 2000, // 提示的延迟时间mask: true, // 是否显示透明蒙层,防止触摸穿透icon: 'success', // 	图标success() {}, // 接口调用成功的回调函数fail() {} // 接口调用失败的回调函数
})

🔗showToast官方文档

3、本地存储

作用同步 API异步 API
将数据存储在本地缓存中指定的 key 中wx.setStorageSyncwx.setStorage
从本地缓存中同步获取指定 key 的内容wx.getStorageSyncwx.getStorage
从本地缓存中移除指定 keywx.removeStorageSyncwx.removeStorage
清空本地数据缓存wx.clearStorageSyncwx.clearStorageSync
Page({// 将数据存储到本地setStorage () {wx.setStorage({key: 'num',data: 1})wx.setStorage({key: 'obj',data: { name: 'jerry', age: 18 }})},// 获取本地存储的数据async getStorage () {const { data } = await wx.getStorage({key: 'obj'})console.log(data)}// 删除本地存储的数据removeStorage () {wx.removeStorage({key: 'num'})},// 清空本地存储的全部数据clearStorage () {wx.clearStorage()}
})

4、路由与通信

小程序中实现页面的跳转,有两种方式:

  • 声明式导航:navigator 组件
  • 编程式导航:使用小程序提供的 API
    • wx.navigateTo():保留当前页面,跳转到应用内的某个页面,但是不能跳到 tabbar 页面
    • wx.redirectTo():关闭当前页面,跳转到应用内的某个页面。但是不允许跳转到 tabbar 页面
    • wx.switchTab():跳转到 tabBar 页面,路径后不能带参数
    • wx.reLaunch():关闭所有的页面,然后跳转到应用中某一个页面
    • wx.navigateBack():关闭当前页面,返回上一页面或多级页面
    • 路径后可以带参数,参数需要在跳转到的页面的 onLoad 钩子函数中通过形参进行接收
      • 参数与路径之间使用 ? 分隔
      • 参数键与参数值用 = 相连
      • 不同参数用 & 分隔
      • 例如 path?key=value&key2=value2

🔗路由API官方文档

5、事件监听-上拉加载

上拉加载是小程序中常见的一种加载方式,当用户滑动页面到底部时,会自动加载更多的内容,以便用户继续浏览

小程序中实现上拉加载的方式:

  • app.json 或者 page.json 中配置距离页面底部距离:onReachBottomDistance,默认 50px
  • 页面.js 中定义 onReachBottom 事件监听用户上拉加载

6、事件监听-下拉刷新

下拉刷新是小程序中常见的一种刷新方式,当用户下拉页面时,页面会自动刷新,以便用户获取最新的内容。

小程序中实现上拉加载更多的方式:

  • app.json 或者 page.json 中开启允许下拉,同时可以配置 窗口loading 样式等
  • 页面.js 中定义 onPullDownRefresh 事件监听用户下拉刷新

7、scroll-view的上拉加载和下拉刷新

7.1 上拉加载

scroll-view属性:

  • bindscrolltolower:滚动到底部/右边时触发
  • lower-threshold:距底部/右边多远时,触发 scrolltolower 事件
  • enable-back-to-top:让滚动条返回顶部,iOS 点击顶部状态栏、安卓双击标题栏时,只支持竖向
<scroll-viewclass="scroll-y"scroll-ylower-threshold="100"bindscrolltolower="getMore"enable-back-to-top
><view wx:for="{{ arr }}" wx:key="*this">{{ item }}</view></scroll-view>

7.2 下拉刷新

scroll-view属性:

  • refresher-enabled:开启自定义下拉刷新
  • refresher-default-style:自定义下拉刷新默认样式支持设置 black | white | none, none 表示不使用默认样式
  • refresher-background:自定义下拉刷新区域背景颜色
  • bindrefresherrefresh:自定义下拉刷新状态回调
  • refresher-triggered:设置当前下拉刷新状态,(true 下拉刷新被触发,false 表示下拉刷新未被触发,用来关闭下拉效果)
<scroll-viewclass="scroll-y"scroll-ylower-threshold="100"bindscrolltolower="getMore"enable-back-to-toprefresher-enabledrefresher-default-style="black"refresher-background="#f7f7f8"refresher-triggeredbindrefresherrefresh="onrefresh"refresher-triggered="{{ triggered }}"
><view wx:for="{{ arr }}" wx:key="*this">{{ item }}</view></scroll-view>

http://www.ppmy.cn/embedded/50588.html

相关文章

C# —— while循环语句

作用 让顺序执行的代码 可以停下来 循环执行某一代码块 // 条件分支语句: 让代码产生分支 进行执行 // 循环语句 : 让代码可以重复执行 语法 while循环 while (bool值) { 循环体(条件满足时执行的代码块) …

LeetCode 每日一题 2748. 美丽下标对的数目

Hey编程小伙伴们&#x1f44b;&#xff0c;今天我要带大家一起解锁力扣上的一道有趣题目—— 美丽下标对的数目 - 力扣 (LeetCode)。这不仅是一次编程挑战&#xff0c;更是一次深入理解欧几里得算法判断互质的绝佳机会&#xff01;&#x1f389; 问题简介 题目要求我们给定一…

LLM自动化对齐技术

近年来&#xff0c;大语言模型&#xff08;LLMs&#xff09;的快速发展&#xff0c;极大地重塑了人工智能的格局。一致性是塑造与人类意图和价值观相对应的LLMs行为的核心&#xff0c;例如&#xff0c;教导LLMs遵循响应过程中“有帮助&#xff08;Helpful&#xff09;、无害(Ha…

ACM算法学习路线、清单

入门 模拟、暴力、贪心、高精度、排序 图论 搜索 BFS、DFS、IDDFS、IDA*、A*、双向BFS、记忆化 最短路 SPFA、bellman-fort(队列优化)、Dijkstra(堆优化)、Johnson、Floyd、差分约束、第k短路 树 树的重心和直径、dfs序、树链刨分与动态树、LCA、Prufer编码及Cayley定理…

Linux系统之配置Nginx负载均衡

Linux系统之配置Nginx负载均衡 一、Nginx介绍1.1 Nginx简介1.2 Nginx反向代理1.3 相关概念二、本次实践介绍2.1 本次实践简介2.2 本次实践环境规划三、部署两台web服务器3.1 运行两个Docker容器3.2 编辑测试文件四、配置负载均衡4.1 安装nginx软件4.2 编辑nginx配置文件4.3 启动…

四十九、openlayers官网示例Immediate Rendering (Geographic)——在地图上绘制星空动画效果

官网demo地址&#xff1a; Immediate Rendering (Geographic) 首先先创建1000个随机点&#xff0c;创建点对象。 const n 1000;const geometries new Array(n);for (let i 0; i < n; i) {const lon 360 * Math.random() - 180;const lat 180 * Math.random() - 90;ge…

C# OpenCvSharp 逻辑运算-bitwise_and、bitwise_or、bitwise_not、bitwise_xor

bitwise_and 函数 🤝 作用或原理: 将两幅图像进行与运算,通过逻辑与运算可以单独提取图像中的某些感兴趣区域。如果有掩码参数,则只计算掩码覆盖的图像区域。 示例: 在实际应用中,可以用 bitwise_and 来提取图像中的某些部分。例如,我们可以从图像中提取出一个特定的颜…

121. 买卖股票的最佳时机

121. 买卖股票的最佳时机 原题链接&#xff1a;完成情况&#xff1a;解题思路&#xff1a;参考代码&#xff1a;_121买卖股票的最佳时机 错误经验吸取 原题链接&#xff1a; 121. 买卖股票的最佳时机 https://leetcode.cn/problems/best-time-to-buy-and-sell-stock/ 完成情…