当前位置: 首页 > news >正文

微信小程序常用 API

微信小程序提供了丰富的 API,覆盖用户交互、数据处理、设备控制等多个场景。以下是常用 API 及其典型应用场景的详细说明:​

一、用户信息与授权

  1.wx.getUserProfile​

  • 场景:获取用户头像、昵称等基础信息(需用户主动授权)。​
  • 使用:在用户注册或完善资料时调用,替代旧版wx.getUserInfo,需通过按钮点击触发授权流程。​
  • 示例:
wx.getUserProfile({desc: '用于完善会员资料',success(res) { /* 处理用户信息 */ }
});

2. wx.login​

  • 场景:获取临时登录凭证(code),用于后端换取 OpenID。​
  • 使用:小程序码登录、手机号绑定等需身份验证的场景。​
  • 流程:前端调用wx.login获取 code,后端通过 AppID 和 AppSecret 换取用户唯一标识。​

二、界面与交互​

1.wx.navigateTo​

  • 场景:保留当前页面,跳转到新页面(如商品详情页)。​
  • 示例:
wx.navigateTo({ url: '/pages/detail/detail' });

2.wx.showModal​

  • 场景:弹出模态对话框,用于操作确认(如删除、退出登录)。​
  • 示例:
wx.showModal({title: '提示',content: '确定要删除吗?',success(res) { if (res.confirm) { /* 执行删除 */ } }
});

3.wx.setNavigationBarTitle​

  • 场景:动态修改页面导航栏标题(如搜索结果页显示关键词)。

三、网络与数据交互​

1.wx.request​

  • 场景:发送 HTTP 请求获取或提交数据(如加载商品列表、提交订单)。​
  • 示例:
wx.request({url: 'https://api.example.com/data',method: 'GET',success(res) { /* 处理返回数据 */ }
});

2.wx.uploadFile

  • 场景:上传文件(如图像、文档)至服务器(如用户头像上传)。​
  • 示例:
wx.chooseImage({count: 1,success(res) {wx.uploadFile({url: 'https://api.example.com/upload',filePath: res.tempFilePaths[0],name: 'file'});}
});

四、数据存储​

1.wx.setStorageSync​

  • 场景:同步存储数据到本地(如用户设置、临时缓存)。​
  • 示例:
wx.setStorageSync('token', 'xxx');

2.云开发数据库 API​

  • 场景:云端存储结构化数据(如用户订单、商品信息)。​
  • 示例:
const db = wx.cloud.database();
db.collection('orders').add({ data: { /* 订单数据 */ } });

TypeScript取消自动换行复制

const db = wx.cloud.database();​

db.collection('orders').add({ data: { /* 订单数据 */ } });​

五、支付与交易​

1.wx.requestPayment​

  • 场景:发起微信支付(如电商下单、在线课程购买)。​
  • 流程:前端调用云函数生成预支付订单,后端通过微信支付接口获取支付凭证,最后调用wx.requestPayment唤起支付界面。​
  • 注意:需配置商户号、API 密钥,并处理支付结果通知。

2.云开发支付模板​

  • 场景:通过云开发快速集成支付功能,包括下单、退款查询等,减少服务器运维成本。

六、地理位置与设备​

1.wx.getLocation​

  • 场景:获取用户位置(如附近商家推荐、地图导航)。​
  • 示例:
wx.getLocation({type: 'wgs84',success(res) { /* 获取经纬度 */ }
});

2.wx.getSystemInfo​

  • 场景:获取设备信息(如屏幕尺寸、操作系统),用于界面适配。​
  • 示例:
wx.getSystemInfo({success(res) { console.log(res.model); } // 输出设备型号
});

七、多媒体与分享​

1.wx.chooseImage​

  • 场景:选择本地图片或拍照(如社交动态发布、商品图片上传)。​
  • 示例:
wx.chooseImage({count: 3, // 最多选3张success(res) { /* 处理图片路径 */ }
});

2.wx.shareAppMessage​

  • 场景:自定义分享内容到微信好友或朋友圈(如文章、活动页)。​
  • 示例:
Page({onShareAppMessage() {return { title: '推荐好物', path: '/pages/goods/goods?id=1' };}
});

八、事件监听与系统管理​

1.wx.onAppShow​

  • 场景:监听小程序从后台切回前台的事件(如更新未读消息数)。​
  • 使用:在 App.js 中注册全局监听。​

2.wx.getUpdateManager​

  • 场景:检查并处理小程序版本更新(如强制用户升级以使用新功能)。​
  • 示例:
const manager = wx.getUpdateManager();
manager.onUpdateReady(() => {wx.showModal({ content: '新版本已下载,重启生效', success: () => manager.applyUpdate() });
});

九、模板消息与通知​

1.模板消息 API​

  • 场景:发送订单通知、服务提醒(如支付成功、物流状态更新)。​
  • 限制:需通过支付或表单提交获取 formId,且仅在 7 天内有效。​
  • 合规建议:优先通过支付场景获取 formId,避免滥用导致封禁。

十、云开发与 AI 能力​

1.云开发 AI 接口​

  • 场景:调用大模型生成文本、智能客服等(如商品描述生成、用户问题自动回答)。​
  • 示例:
const ai = wx.cloud.extend().AI;
const model = ai.createModel('hunyuan-exp');
model.generateText({ messages: [{ role: 'user', content: '介绍一款手机' }] });

2.云数据库操作​

  • 场景:云端数据增删改查(如用户评论管理、活动报名统计)。​
  • 示例:
db.collection('comments').where({ userId: '123' }).get();

http://www.lryc.cn/news/617602.html

相关文章:

  • Seata
  • 小杰python高级(three day)——matplotlib库
  • Spark 优化全攻略:从 “卡成 PPT“ 到 “飞一般体验“
  • Vlanif 实验
  • 第16届蓝桥杯Python青少组_省赛_中/高级组_2025年5月真题
  • 国企社招 | 中国邮政2025年社会招聘开启
  • 腾讯前端面试模拟详解
  • Java 之抽象类和接口
  • AIStarter修复macOS 15兼容问题:跨平台AI项目管理新体验
  • docker是什么以及镜像命令详解
  • C++模板的补充
  • 【读代码】微软开源Agentic-RAG深度解析
  • Profile.vue组件详细解析
  • SDH 和 OTN 的帧结构对比
  • 3.数据类型和类型装换
  • Spring-Security-5.7.11升级6.5.2
  • Unity笔记(五)知识补充——场景切换、退出游戏、鼠标隐藏锁定、随机数、委托
  • 前端面试:promise...then与asnyc ...await
  • 简单了解MongoDB数据存储
  • ‌太钢建材:筑就未来,品质见证
  • 软考倒计时 巧用芝麻倒计时软件 助力高效备考 有效提升备考效率
  • DNS(域名系统)
  • 关于线性DP模板
  • 月报 Vol.02:新增条件编译属性 cfg、#alias属性、defer表达式,增加 tuple struct 支持
  • 基于OpenCV的实时美颜技术:从传统算法到深度学习融合实现
  • 基恩士 CA CNX10U 视觉连接器REPEATER CA CN or CV- C 日本原装进口
  • 【软考中级网络工程师】知识点之 TCP 协议深度剖析
  • 嵌入式第二十五课!!!文件读写操作补充与应用、以及文件流定位相关函数接口
  • idea没有 Active Profiles 的填写位置
  • 企业级 IT 运维服务平台数据备份方案:基于 rsync 的自动化实现