四、小程序必备API

本文详细介绍了小程序中必备的API,包括请求服务器数据、文件上传下载、WebSocket会话、图片处理、文件操作、数据缓存、位置信息、设备应用、交互反馈、登录、微信支付和分享等功能。讲解了每个API的基本使用方法、参数配置以及注意事项,是小程序开发的重要参考资料。
摘要由CSDN通过智能技术生成

4.1请求服务器数据API

4.1.1小程序/服务器架构

  • 小程序和服务器通信的架构也可以称为C/S架构
  • 请求过程:
    1.小程序先向服务器发起网络请求
    2.服务器收到请求后执行相关代码处理请求
    3.处理完毕后服务器向小程序回复并返回数据
    4.小程序相关接口将回调success()函数并对拿到的数据进行处理

注意事项

  • 默认超时时间和最大超时时间都是60秒
  • 所涉及的三种接口API: request、uploadFile、downloadFile最大并发限制是10个
  • 小程序进入后台运行后,如果在5s内网络请求没有结束,会回调错误信息fail interrupted;在回到后台之前,网络请求接口调用都无法调用

4.1.2服务器域名配置

  • 每一个小程序在与指定域名进行网络通信前都必须将该域名添加到管理员
  • 后台自名单中配置方法:
    1.登录mp.weixin.qq.com
    2.点击左侧“开发”,在“开发设置”下的“服务器域名”中配置域名

注意事项

  • 开发者可将填入自己或第三方的域名地址
  • 域名只支持https(request、uploadFile、downloadFile)和wss(connectSocket)协议
  • 域名不能使用IP地址或localhost
  • 域名必须经过ICP备案
  • 每类接口分别可以配置最多20个域名
  • 域名每个月只可以申请修改5次

如果开发者暂时无法登记有效域名,可以在开发和测试环节暂时跳过域名校验
方法:

  • 点击开发者工具中的“详情”按钮
  • 点击“本地设置”设置选项卡
  • 勾选“不校验合法域名”项

4.1.3临时服务器部署(建议学习)

软件

  • phpStudy
  • xampp
  • wamp
  • Node.js

访问方式:如: http: / / localhost/或http://127.0.0.1/

4.1.4发起请求

小程序使用wx.request(OBJECT)发起网络请求
wx.request参数说明如下表

属性 类型 默认值 必填 说明
url string 开发者服务器接口地址
data string/object / ArrayBuffer 请求的参数
header Object 设置请求的header,header中不能设置Referer。content-type默认为application / json
method string GET HTTP请求方法
dataType string json 返回的数据格式
responseType string text 响应的数据类型
success function
fail function 接口调用失败的回调函数
complete function 接口调用结束的回调函数(调用成功、失败都会执行)
wx.request({
   
	ur1:'https: / / www.test.com/ ',
	data:{
   
		x:'123',
		y: '456'
	},
	success:function(res){
   
		console.log(res.data)
	}
})

4.2文件上传与下载

4.2.1 wx.uploadFile文件上传

  • 文件上传功能需要配合开发者服务器使用
  • 小程序使用wx.uploadFile(OBJECT)可以将本地资源上传到开发者服务器
  • 上传时将从客户端发起一个HTTPS POST请求到服务器

OBJECT参数如下表

属性 类型 必填 说明
url string 开发者服务器地址
filePath string 要上传文件资源的路径
name string 文件对应的key,开发者在服务端可以通过这个key 获取文件的二进制内容
header Object HTTP请求Header,Header中不能设置Referer
formData Object HTTP请求中其他额外的form data
success function 接口调用成功的回调函数
fail function 接口调用失败的回调函数
complete function 接口调用结束的回调函数(调用成功、失败都会执行)
<view class='page-body'>
  <view class='demo-box'>
	<view class='title'>文件上传演示</view>
	<image wx:if='{
    {src}}' src='{
    {src}}' mode='widthFix'></image>
	<button bindtap="chooseImage">选择文件</button>
	<button type="primary" bindtap="uploadFile">开始上传</button>
	</view>
</view>
Page({
   
	data:{
   
		src: "//上传图片的路径地址"
	},
	chooseImage: function(){
   
		var that=this
		wx.chooselmage({
   
			count: 1,//默认9
			sizeType:['original', 'compressed'],//可以指定是原图还是压缩图,默认二者都有
			sourceType: ['album', 'camera'],//可以指定来源是相册还是相机,默认二者都有
			success: function(res){
   
				let src = res.tempFilePaths[0]
				that.setData({
   
					src: src
				})
			}
		})
	},
	uploadFile: function(){
   
		var that = this
		let src = this.data.src
		if (src==''){
   
			wx.showToast({
   
				title: '请先选择文件!',
				icon:'none'
			})
		}
		else {
   //发起文件上传请求
			var uploadTask=wx.uploadFile({
   
				url:'http:/localhost/miniDemo/upload.php',//可以替换为并发者自己的服务器地址
				filePath:src,
				name: 'file',
				success: fuinction(res){
   
					console.log(res)
					wx.showToast
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值