当前位置: 首页 > 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.dtcms.com/a/325815.html

相关文章:

  • Arcpy-重采样记录
  • B站直播, 拼接4个窗口,能否实现
  • 从源码看 Coze:Agent 的三大支柱是如何构建的?
  • 【优化】图片批量合并为word
  • 嵌入式学习day24
  • MySQL的索引(索引的数据结构-B+树索引):
  • P2865 [USACO06NOV] Roadblocks G
  • 音视频学习(五十三):音频重采样
  • 数据备份与进程管理
  • AI大模型:(二)5.1 文生视频(Text-to-Video)模型发展史
  • Apache ECharts 6 核心技术解密 – Vue3企业级可视化实战指南
  • Apache Ignite 核心组件:GridClosureProcessor解析
  • ChatML vs Harmony:深度解析OpenAI全新对话结构格式的变化
  • 基于Spring Boot房源信息推荐系统的设计与实现 -项目分享
  • Maven <pom.xml> 标签详尽教程
  • perl notes【1】
  • 云原生环境Prometheus企业级监控
  • 【Node.js从 0 到 1:入门实战与项目驱动】1.3 Node.js 的应用场景(附案例与代码实现)
  • 论文阅读:Aircraft Trajectory Prediction Model Based on Improved GRU Structure
  • 《开源标准推动Linux驱动生态繁荣》
  • 实现分页功能【jQuery】
  • GDB调试 core dump 文件与栈溢出分析
  • 《Python入门:从零到Hello World的极简指南》
  • 板子 7.20--8.11
  • Spring Boot 参数校验 Validation 入门
  • 华为云计算的行业趋势:迈向智能、融合与绿色的未来
  • 【工控】线扫相机小结 第六篇
  • 用vscode 里docker显示不出有容器和镜像 ?
  • 通用 maven 私服 settings.xml 多源配置文件(多个仓库优先级配置)
  • SQL179 每个6/7级用户活跃情况