四、小程序必备API

2023-11-05

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
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

四、小程序必备API 的相关文章

随机推荐

  • 二叉树-(将有序数组转换成二叉搜索树)

    coding utf 8 Author leadingme Mail leadingme qq com MyWebsite leadingme top 将有序数组转换成二叉搜索树 算法要求 将一个按照升序排序的有序数组转换为一颗高度平衡的二
  • 信号编程之signal函数

    作用1 站在应用程序的角度 注册一个信号处理函数 作用2 忽略信号 设置信号默认处理 信号的安装和恢复 相关宏定义 typedef void sighandler t int define SIG ERR sighandler t 1 de
  • 未找到与约束。。。匹配的导出

    问题截图 解决办法 就是微软官方的一个安装补丁KB2781514 来弥补这两个补丁的 http www microsoft com zh CN download details aspx id 36020 下载安装即可解决问题
  • 解决虚拟机创建快照后删除报错,重启该虚拟机后删除成功的问题

    问题描述 在ovirt中 创建快照后删除该快照失败 只有重启虚拟机后该快照才能删除 日志中均出现如下报错 2018 02 19 01 51 45 792 0800 ERROR jsonrpc 7 virt vm vmId a5935784
  • 构造函数析构函数为什么没有返回值?

    构造函数析构函数为什么没有返回值 Liupq 2008 5 10 构造函数和析构函数是两个非常特殊的函数 它们没有返回值 这与返回值为void的函数显然不同 后者虽然也不返回任何值 但还可以让它做点别的事情 而构造函数和析构函数则不允许 在
  • lstm原文_LSTM:《Long Short-Term Memory》的翻译并解读

    LSTM Long Short Term Memory 的翻译并解读 目录 Long Short Term Memory Abstract 1 INTRODUCTION 2 PREVIOUS WORK 3 CONSTANT ERROR BA
  • Vue + ElementUI集成pdf.js 文件,预览pdf 文件

    步骤总结 第一步 下载pdf js 资源在此下载 第二步 解压 打开Vue项目的config index js文件 查看资源目录是static文件夹 所以将解压后的文件夹放入项目的static目录下 如图 第三步 使用 在新建的vue文件中
  • JSP数据访问+(include指令+对象作用域)

    include指令 将需要重用的代码放在一个页面 再用上方法调用 application内置对象 application对象代表WEB应用 整个Web应用共享一个application对象 因此 application对象类似于系统的 全局
  • Java HTTP方式请求ASP.NET(C#)WebService

    package com ideamov wap util import java io ByteArrayOutputStream import java io IOException import java io InputStream
  • mnist文件格式说明

    根据官网 http yann lecun com exdb mnist 的文件格式的定义 TRAINING SET LABEL FILE train labels idx1 ubyte offset type value descripti
  • System,Math,BigInteger 和 BigDecimal常用类的使用

    其他常用类的使用 1 System 2 Math 3 BigInteger 和 BigDecimal Test public void test1 String javaVersion System getProperty java ver
  • subprocess.CalledProcessError: Command ‘[‘which‘, ‘c++‘]‘ returned non-zero exit status 1.

    出现的错误 subprocess CalledProcessError Command which c returned non zero exit status 1 在网上搜了搜没看到有同样错误的解决办法 有的地方提到的什么gcc g 我
  • git中的origin

    origin 首先假设你自己在github上创建了一个Repository 叫做myRepository 假设你的Github ID是user1 这个时候指向你的代码库的链接是 https github com user1 myReposi
  • MATLAB时间序列2(ARIMA,季节性序列及其预报)------2019/8/14

    时间序列 时间序列模型只适合短时期预测 不适合长时期 平稳时间序列 1 平稳性检验及自协方差函数 自相关函数的估计 1 平稳性 Daniel 检验 x0 1 37 2 96 1 91 3 10 2 08 2 54 4 07 3 62 2 9
  • virtio-scsi和virtio-blk的理解

    virtio scsi和virtio blk的理解 virtio scsi和virtio blk都是磁盘的半虚拟化驱动 virtio scsi解决了virtio blk的一些限制 来看看官网的介绍 译文 virtio scsi hba取代v
  • TypeScript之泛型, 模块化, 命名空间, 装饰器(TypeScript完结)

    TypeScript TypeScript中的泛型 泛型的定义 2 泛型函数 3 泛型类 4 泛型接口 泛型 软件工程中 我们不仅要创建一致的定义良好的API 同时也要考虑可重用性 组件不仅能够支持当前的数据类型 同时也能支持未来的数据类型
  • ScriptManager控件

    3 ScriptManager控件 ScriptManager是Asp NET Ajax一个重要的控件 它用来处理页面上的所有Asp NET Ajax组件以及局部页面的更新 生成相关的客户端脚本 所有需要支持Asp NET Ajax的ASP
  • 《Android 开发艺术探索》笔记3--View事件体系

    View事件体系思维导图 View的事件体系 View的基础知识 View的位置参数 MotionEvent和TouchSlop VelocityTracker GestureDetector View的滑动 scrollTo scroll
  • 2013电赛总结【西电专用】

    电赛全称全国大学生电子设计竞赛 全国赛在每逢单数年的9月份举行 竞赛时间四天三夜 竞赛流程 政策可能有变 每一届竞赛流程可能都不一样 这里只是根据我的了解进行总结的 我们学校电赛差不多是从每年年初新学期开学时开始进行选拔 也有可能会在前一学
  • 四、小程序必备API

    4 1请求服务器数据API 4 1 1小程序 服务器架构 小程序和服务器通信的架构也可以称为C S架构 请求过程 1 小程序先向服务器发起网络请求 2 服务器收到请求后执行相关代码处理请求 3 处理完毕后服务器向小程序回复并返回数据 4 小