微信小程序4-小程序的api
微信小程序1-小程序基础,开发工具安装使用
微信小程序2-WXSS,WXS
微信小程序3-小程序生命周期和组件
1.小程序的api
1).获取系统信息wx.getSystemInfo
wx.getSystemInfo({success (res) {console.log(res.model)console.log(res.pixelRatio)console.log(res.windowWidth)console.log(res.windowHeight)console.log(res.language)console.log(res.version)console.log(res.platform)}})
2).页面路由wx.navigateTo
保留当前页面,跳转到应用内的某个页面。但是不能跳到 tabbar 页面,例如:从data页面跳转到dataInfo页面
wx.navigateTo无法跳转到tabBar页面(就是无法跳转底部标题栏的页面)
//data页面的ts代码onclick() {wx.navigateTo({url: '/pages/dataInfo/dataInfo?name=yw&age=18',//附带两个参数过去events: {// 为指定事件添加一个监听器,获取被打开页面传送到当前页面的数据someEvent: function (data:any) {console.log('data页面someEvent',data)},someEvent1: function (data:any) {console.log('data页面someEvent',data)}},success: function (res) {// 通过eventChannel向被打开页面传送数据res.eventChannel.emit('callback', { data: 'data页面返回' })}})}
//dataInfo页面的ts代码onLoad:function(option) {console.log(option.name)console.log(option.age)const eventChannel = this.getOpenerEventChannel()eventChannel.emit('someEvent', {data: 'dataInfo页面返回'});eventChannel.emit('someEvent1', {data: 'dataInfo页面返回1'});// 监听callbackt事件,获取上一页面通过eventChannel传送到当前页面的数据eventChannel.on('callback', function(data) {console.log('dataInfo页面',data)})}
3).页面路由wx.switchTab
跳转到 tabBar 页面,并关闭其他所有非 tabBar 页面
onclick() {wx.switchTab({url: "/pages/my/my"})}
4).页面路由wx.redirectTo
关闭当前页面,跳转到应用内的某个页面。但是不允许跳转到 tabbar 页面
onclick() {wx.redirectTo({url: "/pages/dataInfo/dataInfo"})}
5).显示当前页面的转发按钮wx.showShareMenu
wx.showShareMenu({withShareTicket: true,menus: ['shareAppMessage', 'shareTimeline']})
6).显示消息提示框wx.showToast
wx.showToast({title: '成功',icon: 'success',duration: 2000})
7).显示 loading 提示框wx.showLoading
显示 loading 提示框。需主动调用 wx.hideLoading 才能关闭提示框
wx.showLoading({title: '加载中',
})setTimeout(function () {wx.hideLoading()
}, 2000)
8).显示模态对话框wx.showModal
wx.showModal({title: '提示',content: '这是一个模态弹窗',success (res) {if (res.confirm) {console.log('用户点击确定')} else if (res.cancel) {console.log('用户点击取消')}}
})
9).在当前页面显示导航条加载动画wx.showNavigationBarLoading
//wxml代码
<view bindtap='btnClick1'> 开启按钮 </view>
<view bindtap='btnClick2'> 取消按钮 </view>//ts代码
btnClick1(){wx.showNavigationBarLoading()},btnClick2() {wx.hideNavigationBarLoading()}
10).下拉颜色和状态
wx.setBackgroundTextStyle:动态设置下拉背景字体、loading 图的样式
wx.setBackgroundColor:动态设置窗口的背景色
onLoad() {wx.setBackgroundTextStyle({textStyle: 'dark' // 下拉背景字体、loading 图的样式为dark})wx.setBackgroundColor({backgroundColorTop: '#ff0000', // 顶部窗口的背景色backgroundColorBottom: '#ffff00', // 底部窗口的背景色})}
2.网络
1).接口请求 wx.request
(1).配置合法域名
小程序请求的接口需要https和域名,并且需要在微信小程序管理后台中加入指定域名
微信小程序官网i
(2).请求示例
wx.request({url: '', data: {x: '',y: ''},header: {'content-type': 'application/json' // 默认值},success (res) {console.log(res.data)}
})
2).文件下载wx.downloadFile
下载文件资源到本地。客户端直接发起一个 HTTPS GET 请求,返回文件的本地临时路径 (本地路径),单次下载允许的最大文件为 200MB
同样也要配置下载合法域名
wx.downloadFile({url: '', success (res) {// 只要服务器有响应数据,就会把响应内容写入文件并进入 success 回调,业务需要自行判断是否下载到了想要的内容if (res.statusCode === 200) {wx.playVoice({filePath: res.tempFilePath})}}
})
3).文件上传wx.uploadFile
将本地资源上传到服务器。客户端发起一个 HTTPS POST 请求,其中 content-type 为 multipart/form-data
同样也要配置下载合法域名
wx.uploadFile({url: '', filePath: tempFilePaths[0],name: 'file',formData: {'user': 'test'},success (res){const data = res.data//do something}})
3.支付
如果需要接入微信支付功能,需要在微信商户平台
微信商户平台
1).登录微信商户平台,然后点击接入微信支付进行支付申请
个人是没有办法进行开发支付功能的,需要营业执照等
申请成功后,可以看到关联了商户号
2).设置api密钥(商户密钥),该密钥在做微信支付功能的时候是必须的
依然在支付商务平台
3).发起支付
(1).支付流程
1.wx.login获取用户临时登录凭证code,发送到后端服务器换取openId
2.打开小程序下单,小程序会将购买的商品Id,商品数量,以及用户的openId传送到服务器
3.服务器在接收到商品Id、商品数量、openId后,生成订单数据,调用支付统一下单api,获取预付单信息(prepay_id)
4.小程序端在获取对应的参数后,调用wx.requestPayment()发起微信支付,唤醒支付工作台,进行支付
5.确认支付之后执行鉴权调起支付
6.在微信后台进行鉴权,微信后台直接返回给前端支付的结果,前端收到返回数据后对支付结果进行展示
7.微信后台在给前端返回支付的结果后,也会向服务器返回一个支付结果
(2).发起支付wx.requestPayment
需要的参数
wx.requestPayment({timeStamp: '',nonceStr: '',package: '',signType: 'MD5',paySign: '',success (res) { },fail (res) { }
})
3.转发分享
1).转发onShareAppMessage
监听用户点击页面内转发按钮(button 组件 open-type=“share”)或右上角菜单“转发”按钮的行为,并自定义转发内容
注意:只有定义了此事件处理函数,右上角菜单才会显示“转发”按钮
Page({onShareAppMessage() {return {title: '自定义转发标题',path: '/page/data/data?id=123',}}})
2).分享朋友圈onShareTimeline
监听右上角菜单“分享到朋友圈”按钮的行为,并自定义分享内容
注意:只有定义了此事件处理函数,右上角菜单才会显示“分享到朋友圈”按钮
Page({
/*** 生命周期函数--监听页面加载*/onLoad() {// 用户点击右上角分享给好友,要先在分享好友这里设置menus的两个参数,才可以分享朋友圈wx.showShareMenu({menus: ['shareAppMessage', 'shareTimeline'] //shareAppMessage必须得有})},//用户点击右上角分享朋友圈onShareTimeline() {return {title: '自定义分享标题',query: "id=110101&name=heyzqt",imageUrl: ""}}
})
3).收藏onAddToFavorites
监听用户点击右上角菜单“收藏”按钮的行为,并自定义收藏内容
Page({
onAddToFavorites(res) {// webview 页面返回 webViewUrl//console.log('webViewUrl: ', res.webViewUrl)return {title: '自定义收藏标题',imageUrl: '',query: 'name=xxx&age=xxx',}}
})
微信小程序4-小程序的api相关推荐
- 微信小程序城市定位(百度地图API)
概述 微信小程序提供一些API(地址)用于获取当前用户的地理位置等信息,但无论是wx.getLocation,还是wx.chooseLocation均没有单独的字段表示国家与城市信息,仅有经纬度信息. ...
- api 微信内置浏览器js_多端开发框架uni-app入坑指南,一套代码适用微信、头条等小程序...
前言 hello 小伙伴们,现在我已经正式入坑 uni-app 了.uni-app 已经发布好几个月了,期间也是踩坑无数,但是官方秉承着不抛弃不放弃的精神,积极解决开发者的各种简单的.复杂的问题,在此 ...
- 微信小程序使用阿里云物联网API开发物联网应用
微信小程序是一种不需要下载安装即可使用的应用,它实现了应用"触手可及"的梦想,用户扫一扫或者搜一下就可以打开的应用. 微信小程序具有方便快捷,速度快,安全及保密性高的优点,同时开发 ...
- 微信小程序入门教程之四:API 使用
目录 一.WXML 渲染语法 二.客户端数据储存 三.远程数据请求 四.组件 五.获取用户个人信息 六.多页面的跳转 七.wx.navigateTo() 本篇就介绍怎么使用 API. 所有示例的完整代 ...
- 微信小程序调用腾讯地图API进行驾车路线规划
微信小程序调用腾讯地图API进行驾车路线规划 申请key 下载sdk 实现代码 遇到的问题 申请key 微信小程序的地图api是非常有限的,所以部分功能实现需要调用地图api.使用腾讯地图api过程如 ...
- 微信小程序开发——小程序的宿主环境API,协同工作和发布
一.小程序API概述 小程序中的 API 是由宿主环境提供的,通过这些丰富的小程序 API ,开发者可以方便的调用微信提供的能力,例如:获取用户信息.本地存储.支付功能等. 二.小程序API的3大分类 ...
- 微信背单词类小程序,小鸡单词源码下载,打卡微信小程序
微信背单词类小程序,小鸡单词源码下载,微信小程序开发学习案例,小程序开发教程.一个用来背单词每天打卡的微信小程序,还有词汇测试,包含多种词库后台由腾讯云wafer解决方案. 前段时间开始学做微信小程序 ...
- 你能用微信小程序打开小程序了【附开发方法】
6月21日晚间,微信小程序再次迎来升级:小程序可以打开小程序了,同一个公众号下关联的10个同主体小程序和3个非同主体小程序之间,可以调用接口直接相互跳转.微信客户端6.5.9及以上版本支持.另外门店小 ...
- 微信应用号(小程序)资源汇总(1010更新)
wechat-weapp-resource 微信应用号(小程序)资源汇总. 每天不定期整理和收集微信小程序相关资源,方便查阅和学习,欢迎大家提交新的资源,完善和补充. 目录 开源项目(1010更新) ...
- 微信小程序_小程序开发框架
微信小程序_小程序开发框架 微信小程序框架 微信小程序小程序开发框架的目标是通过尽可能简单.高效的方式让开发者可以在微信中开发具有原生APP体验的服务. 框架提供了自己的视图层描述语言WXML和WXS ...
最新文章
- qstudio c语言中文网,再整理:Visual Studio Code(vscode)下的通用C语言环境搭建
- hql中获取前一天的数据_oracle实现动态查询前一天早八点到当天早八点的数据功能示例...
- sql server 关联更新
- 反向telnet连接
- 命令前面加一个!的意思如!python
- python ctypes模块安装_ctypes模块扩展python
- LVS(6)——NAT准备工作
- tablayout支持改变选中文字大小,支持左右滑动,支持viewpager,支持三角可移动指示器...
- 给.net初学者的一些建议(共勉之)[转载]
- CentOS7安装火狐flash插件看网页视频
- GridFsTemplate介绍以及基本使用
- win10安装IIS及操作使用
- Win7如何显示文件扩展名
- 综合布线(楼栋)设计报告
- The Porter Stemming Algorithm
- Python书写格式
- git rebase命令实际操作记录
- 一位Android大牛的BAT面试心得与经验总结,附答案
- sql语句关联关系的+号
- 取消Chrome黑暗模式