微信小程序接口
微信小程序的移动支付接口技术探究

微信小程序的移动支付接口技术探究随着移动支付的普及和发展,微信小程序的移动支付接口技术也逐渐受到广大开发者和商家的青睐。
微信小程序作为一种轻量级、快速开发的应用形式,其移动支付接口技术在为用户提供便捷购物体验的同时,也给开发者提供了更多的商业机会。
本文将对微信小程序的移动支付接口技术进行深入探究,并讨论其在实际应用中的优势和不足。
首先,微信小程序的移动支付接口技术主要包括支付宝接口和微信支付接口。
支付宝接口主要用于用户通过支付宝进行购买和支付,而微信支付接口则实现了用户可以通过微信钱包进行购买和支付的功能。
因此,微信小程序的移动支付接口技术提供了多样化的支付方式,满足了用户的不同需求。
在实际应用中,微信小程序的移动支付接口技术具有多种优势。
首先,微信小程序作为微信平台的一部分,具有强大的用户基础和社交网络。
这使得微信小程序可以通过与其他微信功能的结合来提供更好的用户体验,例如在购物完成后自动分享到用户的朋友圈,进而带动更多的用户参与和购买。
此外,微信小程序的支付接口技术支持一键支付和快速支付的功能,提供了更加快捷和便利的购买体验,有效减少了用户购物的时间和操作成本。
其次,微信小程序的移动支付接口技术在安全性方面也具备一定的优势。
微信支付接口采用了多层次的安全认证和加密措施,确保用户的支付信息不被窃取和篡改。
同时,微信小程序也要求开发者进行严格的身份认证和资质审核,使得平台上的小程序更加安全可靠。
这些安全措施为用户提供了安心购物的环境,增加了用户对微信小程序的信任度。
另外,微信小程序的移动支付接口技术还支持多种支付方式的整合。
用户可以选择使用信用卡、储蓄卡、余额支付等不同的支付方式进行购物和支付。
这种多样化的支付方式使得用户更加灵活地选择自己喜欢和习惯的支付方式,提升了用户的满意度和购买的决策自由度。
同时,这也为商家提供了更多的支付选择,满足各类用户的需求。
然而,微信小程序的移动支付接口技术仍然存在一些不足之处。
微信小程序上传本地图片路径获取到后端接口返回数据

} } )
wx.chooseImage( { count: 1, //默认9 sizeType: ['compressed'], //可以指定是原图还是压缩图,默认二者都有 sourceType: ['album'], //选择图片的来源 success: (res) => { let tempFilePaths = res.tempFilePaths; // 返回选定照片的本地路径列表
通过wxchooseimage调用相册或者相机获取到本地文件路径然后直接通过wxuploadfile调取后端接口即可获取到这个接口返回的数据而不是单独调用后端接口
微信小程序上传本地图片路径获取到后端接口返回数据
后端有个上传文件/图片的接口,需要传文件流
通过wx.chooseImage调用相册或者相机获取到本地文件路径,然而不是单独调用后端 接口
wx.uploadFile({
url: 'http://xxxxxx:9090/api/app/oss', //后端接口 filePath: path[0], name: 'file', header: "后端接口请求时,所需的请求头", success(res) { console.log(res); }, fail(e) {
微信小程序开发中的接口调用和数据交互

微信小程序开发中的接口调用和数据交互随着智能手机的普及和移动互联网的快速发展,微信小程序逐渐成为人们生活中不可或缺的一部分。
微信小程序的开发涉及到接口调用和数据交互,这是实现小程序功能和用户体验的关键。
一、接口调用在微信小程序开发中,接口调用是指小程序与后台服务器进行数据交互的过程。
接口调用可以分为两种方式:一种是通过微信提供的API进行调用,另一种是通过自定义接口进行调用。
1. 微信提供的API调用微信提供了一系列API,开发者可以利用这些API实现小程序的各种功能。
例如,可以通过wx.request()方法向后台服务器发送HTTP请求获取数据,通过wx.showToast()方法实现消息提示,通过wx.navigateTo()方法实现页面跳转等。
这些API的调用方式相对简单,开发者只需按照微信提供的文档进行调用即可。
2. 自定义接口调用除了使用微信提供的API,开发者还可以自定义接口进行调用。
自定义接口可以根据具体需求进行设计和开发,实现更加灵活的功能。
例如,可以设计一个自定义接口用于用户登录验证,在用户登录时向后台服务器发送请求并验证用户信息。
自定义接口的调用需要开发者自行实现,但相对于微信提供的API,自定义接口的调用可能需要更多的开发工作。
二、数据交互在微信小程序开发中,数据交互是指小程序与后台服务器之间传输数据的过程。
数据交互可以分为前端数据传输和后台数据处理两个环节。
1. 前端数据传输前端数据传输是指小程序将用户的操作和输入数据发送给后台服务器的过程。
例如,用户在小程序中填写表单并点击提交按钮,小程序将用户输入的数据通过接口调用发送给后台服务器。
前端数据传输需要注意数据的安全性和有效性,开发者应该对用户输入的数据进行校验和过滤,避免恶意攻击和非法操作。
2. 后台数据处理后台数据处理是指后台服务器接收前端传输的数据,并进行相应的处理和响应的过程。
后台服务器可以对接收到的数据进行验证、存储、计算等操作,然后将处理结果返回给小程序。
微信小程序使用讯飞接口语音识别

微信⼩程序使⽤讯飞接⼝语⾳识别之前看过⽹上其他⼏位使⽤讯飞的接⼝来做微信⼩程序的。
在⾃⼰实际跟着别⼈的博客做的时候,却⼜会遇到⼀些问题。
所以在此对使⽤讯飞接⼝做⼀个总结。
这⾥我是⽤WebAPI来做。
1. 申请科⼤讯飞的接⼝进⼊官⽹之后,登陆账号(如果没有,可以注册使⽤)。
登陆之后,点击右上⾓的控制台。
进⼊控制中⼼,创建新应⽤填写好信息之后便可创建⼀个新的应⽤。
之后进⼊这个应⽤,并且会在左上⾓看到三个信息:APPIDAPISecretAPIKey这三个信息是我们的程序调⽤讯飞的接⼝时⽤来验证⾝份的。
这点通过它们的名称就可以猜出来。
2. 创建微信⼩程序微信⼩程序的开发⼯具的安装和开发账号的申请我就不⽤多说了;对于微信⼩程序的⼀些⽂件的解释在官⽅⽂档中也有讲解。
这⾥对于微信⼩程序开发的⼀些基础的内容不在多说。
(1)展⽰页⾯新创建⼀个微信⼩程序后,先来写前端展⽰的页⾯:app.wxss⽂件page {height: 100%;background-color: #ffffff;}.container {height: 100%;display: flex;flex-direction: column;}index.wxml⽂件<view class="container"><view class="showContent"><view>{{searchKey}}</view></view><view class="content"><button class="btn" bindtouchstart='start' bindtouchend="stop">点击按钮说话</button></view></view>在这⾥的bindtouchstart是当按下这个按钮不松开会执⾏指定的⽅法,相同bindtouchend则是松开后执⾏指定的⽅法。
springboot集成微信支付APIv3接口实现小程序和公众号支付

springboot集成微信⽀付APIv3接⼝实现⼩程序和公众号⽀付前⾔:⽹上有很多⼤佬们集成的综合⽀付包,做相应配置也很⽅便,我这个是基于微信官⽅⽂档流程做的直连模式,实现公众号和⼩程序⽀付(需要代码中正确使⽤appid),不得不吐槽微信的⽂档还是⼀如既往的。
1.引⼊maven依赖<dependency><groupId>com.github.wechatpay-apiv3</groupId><artifactId>wechatpay-apache-httpclient</artifactId><version>0.3.0</version></dependency><dependency><groupId>org.apache.httpcomponents</groupId><artifactId>httpclient</artifactId><version>4.5.5</version></dependency>2.yaml配置wx:pay:mchId: 16126xxxx #微信⽀付商户号mchSerialNo: 60B04XXXXXXXXX #证书序列号v3Secret: 5ovxxxxxxxxxxxxxxxx #密钥p12Path:/usr/local/apiclient_cert.p12 #证书绝对路径地址keyPass:16126xxxx #证书密码默认微信商户号privateKey: | #这个符号⼀定注意(回车键旁边) 是yaml中保持⽂本换⾏读取的写法防⽌证书读出来加载失败-----BEGIN PRIVATE KEY-----xxxx-----END PRIVATE KEY----- #私钥certificate: |-----BEGIN CERTIFICATE-----xxxx-----END CERTIFICATE----- #平台证书特别提⽰:3.读取yaml内容的Properties类@Data@Component@ConfigurationProperties(prefix = "wx.pay")public class WeChatPayProperties {/*** 商户id*/private String mchId;/*** 商户证书序列号*/private String mchSerialNo;/*** apiV3密钥*/private String v3Secret;/*** p12证书⽂件位置*/private String p12Path;/*** 证书密码*/private String keyPass;/*** 商户私钥*/private String privateKey;/*** 微信⽀付平台证书 jar包⽣产的*/private String certificate;}4.启动配置类@Configurationpublic class WxPayV3Config {@AutowiredWeChatPayProperties weChatPayProperties;@Beanpublic CloseableHttpClient wxV3Init() {PrivateKey merchantPrivateKey = PemUtil.loadPrivateKey(weChatPayProperties.getPrivateKey());X509Certificate wechatPayCertificate = PemUtil.loadCertificate(new ByteArrayInputStream(weChatPayProperties.getCertificate().getBytes(StandardCharsets.UTF_8)));ArrayList<X509Certificate> listCertificates = new ArrayList<>();listCertificates.add(wechatPayCertificate);return WechatPayHttpClientBuilder.create().withMerchant(weChatPayProperties.getMchId(), weChatPayProperties.getMchSerialNo(), merchantPrivateKey).withWechatPay(listCertificates).build();}}5.下单api@Slf4j@Componentpublic class WeChatPayApi {@AutowiredWeChatPayProperties weChatPayProperties;@AutowiredWeChatAppletProperties weChatAppletProperties;@AutowiredCloseableHttpClient httpClient;/*** 微信⼩程序下单的请求地址*/private static final String applet_req_url = "https:///v3/pay/transactions/jsapi";/*** 创建微信⼩程序订单** @param orderNo 订单号* @param amount 单位分* @param openid ⼩程序的openid* @param goodsName 订单名称* @param notify 通知地址* @throws IOException*/public String createWxAppletOrder(String orderNo, Integer amount, String openid, String goodsName, String notify) throws IOException {// 请求body参数 JSONObject paramObject = new JSONObject();JSONObject amountObject = new JSONObject();amountObject.put("total", amount);amountObject.put("currency", "CNY");paramObject.put("amount", amountObject);paramObject.put("mchid", weChatPayProperties.getMchId());paramObject.put("description", goodsName);paramObject.put("notify_url", notify);JSONObject payerObject = new JSONObject();payerObject.put("openid", openid);paramObject.put("payer", payerObject);paramObject.put("out_trade_no", orderNo);paramObject.put("appid", "⼩程序appid");HttpPost httpPost = new HttpPost(applet_req_url);httpPost.setHeader("Accept", "application/json");StringEntity entity = new StringEntity(paramObject.toJSONString(), "utf-8");entity.setContentType("application/json");("[微信下单请求参数列表]=" + paramObject);httpPost.setEntity(entity);//完成签名并执⾏请求CloseableHttpResponse response = httpClient.execute(httpPost);Map<String, Object> resMap = new HashMap<>();try {int statusCode = response.getStatusLine().getStatusCode();Assert.isTrue(statusCode == 200, "微信下单请求失败");JSONObject jsonObject = JSON.parseObject(EntityUtils.toString(response.getEntity()));String prepayId = jsonObject.getString("prepay_id");Assert.isTrue(StringUtils.isNotBlank(prepayId), "下单获取参数失败");String timeStamp = String.valueOf(System.currentTimeMillis() / 1000);String nonceStr = RandomUtil.randomString(32).toUpperCase();String packagep = "prepay_id=" + prepayId;SortedMap<Object, Object> params = new TreeMap<>();params.put("appId", weChatAppletProperties.getAppId());params.put("timeStamp", timeStamp);params.put("nonceStr", nonceStr);params.put("package", packagep);params.put("signType", "RSA");resMap.put("appId", "⼩程序appid");resMap.put("timeStamp", timeStamp);resMap.put("nonceStr", nonceStr);resMap.put("package", packagep);resMap.put("signType", "RSA");resMap.put("paySign", WechatPayUtils.createSign(params, weChatPayProperties.getP12Path(), weChatPayProperties.getKeyPass())); ("[微信⽀付] ⽀付参数:" + JSON.toJSONString(resMap));} catch (Exception e) {throw new BusinessException(e.getMessage());} finally {response.close();}return JSON.toJSONString(resMap);}6.微信paySign签名⽣成 WechatPayUtils类,KeyPairFactory类,WechatRSAUtils类public class WechatPayUtils {/*** sign签名** @param map* @return*/public static String createSign(SortedMap<Object, Object> map, String certPath, String keyPass) throws Exception {String signatureStr = Stream.of(String.valueOf(map.get("appId")), String.valueOf(map.get("timeStamp")), String.valueOf(map.get("nonceStr")), String.valueOf(map.get("package"))).collect(Collectors.joining("\n", "", "\n"));KeyPair keyPair = KeyPairFactory.createPKCS12(certPath, "Tenpay Certificate", keyPass);return WechatRSAUtils.payRequestSign(signatureStr, keyPair);}public class KeyPairFactory {private static KeyStore store;private static final Object lock = new Object();/*** 获取公私钥.** @param keyPath the key path* @param keyAlias the key alias* @param keyPass password* @return the key pair*/public static KeyPair createPKCS12(String keyPath, String keyAlias, String keyPass) throws Exception {// ClassPathResource resource = new ClassPathResource(keyPath); //喜欢⽤相对路径的同学使⽤这⼀⾏PathResource resource = new PathResource(keyPath);char[] pem = keyPass.toCharArray();synchronized (lock) {if (store == null) {synchronized (lock) {store = KeyStore.getInstance("PKCS12");store.load(resource.getInputStream(), pem);}}}X509Certificate certificate = (X509Certificate) store.getCertificate(keyAlias);certificate.checkValidity();// 证书的序列号也有⽤String serialNumber = certificate.getSerialNumber().toString(16).toUpperCase();// 证书的公钥PublicKey publicKey = certificate.getPublicKey();// 证书的私钥PrivateKey storeKey = (PrivateKey) store.getKey(keyAlias, pem);return new KeyPair(publicKey, storeKey);}}public class WechatRSAUtils {/*** ⽣成⽀付签名** @param signStr* @param keyPair* @return**/@SneakyThrowspublic static String payRequestSign(String signStr, KeyPair keyPair) {Signature sign = Signature.getInstance("SHA256withRSA");sign.initSign(keyPair.getPrivate());sign.update(signStr.getBytes(StandardCharsets.UTF_8));return Base64Utils.encodeToString(sign.sign());}}。
小程序搭建对接端口的方法

小程序搭建对接端口的方法
要搭建一个小程序对接端口的方法,可以按照以下步骤进行操作:
1. 确定对接的端口号:首先,你需要确定要对接的后端服务器的端口号。
通常使用的是常见的HTTP 端口号,如80 或443,或者自定义的端口号。
2. 修改小程序配置文件:在小程序的根目录下,找到并打开app.json 配置文件。
在其中添加一个字段:`"request: { "domain": " }`。
这里的`端口号` 就是你要对接的端口号。
修改完成后,保存文件。
3. 发起请求:在小程序的其他文件中,你可以使用内置的`wx.request()` 方法发起HTTP 请求。
通过设置`url` 参数指定要请求的接口地址,可以使用相对路径(如`/api/users`)或绝对路径(如` `method`、`data` 等。
4. 配置后端服务器:在后端服务器上进行相应的配置,以便能够与小程序进行通信。
具体的配置方式取决于你使用的后端技术和服务器环境。
一般来说,你需要设置相应的路由和接口,以便处理小程序发起的请求,并返回相应的数据。
需要注意的是,为了确保安全,小程序只能与支持HTTPS 的服务器进行通信。
如果你使用的是自签名证书或无有效证书的HTTPS,则需要在小程序的开发设置中,勾选“不校验合法域名、Web-view(业务域名)、TLS 版本以及HTTPS
证书”。
微信小程序开发之获取用户手机号码(php接口解密)

微信⼩程序开发之获取⽤户⼿机号码(php接⼝解密)后边要做⼀个微信⼩程序,并要能获取⽤户微信绑定的⼿机号码。
⽽⼩程序开发⽂档上边提供的获取⼿机号码的接⼝(getPhoneNumber())返回的是密⽂,需要服务器端进⾏解密,但是官⽅提供的开发⽂档⼀如既往的乱,如果没有对⼩程序开发⽂档有⼀个整体的了解,搞懂解密流程还是有点难的。
这⾥把⼩程序从请求⽤户授权获取⼿机号码直⾄获取到⼿机号码明⽂的整个流程串了起来,⽅便迅速了解,如下:⼀. 前端相关操作:1. 请求⽤户授权获取⼿机号码:因为需要⽤户主动触发才能发起获取⼿机号接⼝,所以该功能不由 API 来调⽤,需⽤<button>组件的点击来触发,如下:wxml:<button wx:if="{{!phone}}" open-type="getPhoneNumber" bindgetphonenumber="getPhoneNumber"> 获取⼿机号码</button>js:Page({getPhoneNumber: function(e) { if(e.detail.errMsg == "getPhoneNumber:fail user deny") return; //⽤户允许授权 console.log("lv", e.detail.iv); //包括敏感数据在内的完整⽤户信息的加密数据,需要解密 console.log(e.detail.encryptedData); //加密算法的初始向量,解密需要⽤到 ......}})2. 访问⼩程序登录接⼝:⼩程序调⽤wx.login()获取临时登录凭证code,并传到开发者服务器。
Page({getPhoneNumber: function(e) {console.log(e.detail.errMsg)console.log(e.detail.iv) //包括敏感数据在内的完整⽤户信息的加密数据,需要解密console.log(e.detail.encryptedData) //加密算法的初始向量,解密需要⽤到wx.login({success: res => {if(res.code){console.log(res.code)}}})}})3. 访问腾讯服务器的登录凭证校验接⼝:注:官⽅推荐放到服务器端进⾏,这⾥为了⽅便,就放在前端请求了。
微信小程序授权登录以及用户信息相关接口调整导致授权框不弹出

微信⼩程序授权登录以及⽤户信息相关接⼝调整导致授权框不弹出前⾔:4⽉8号升级了⼩程序业务后提交了版本并上线。
突然⼀个同事说体验版的点击“登录”按钮⽆效。
当时觉得应该不会呀,这⼏天⼀直⽤⼿机调试,每天也在不停的登录授权,弹框⼀直有的呀。
然后为了验证同事的效果,速将PC版的缓存全部清除,然后⼀脸懵逼,果然怎么点“登录”都⽆效果,然后继续⽤⼿机测试,也⽆效果了。
然后在微信⾥看正式版的⼩程序,发现暂⽆异常。
⼏个同事都第⼀反应:肯定是微信官⽅⼜改了啥。
要不然代码⼀直没动,咋突然这样呢。
果然,唉。
官⽅已发部了调整说明⽂档,⼤家可以参考没办法,⼈家是腾讯,我们只能⼀个字:改!在没看官⽅⽂档之前,⾃⼰在寻找授权不弹框原因,在调试的过程中,发现wx.getSetting()返回值有变,代码如下:1 wx.getSetting({2 success: function (res) {3if (res.authSetting['erInfo']) {4// 已经授权,可以直接调⽤ getUserInfo 获取头像昵称5 wx.getUserInfo({6 success: function (res) {}7 })8 }9 }10 })发现wx.getSetting的success返回结果如下,发现返回值中⽆“res.authSetting['erInfo']”,⽹上查了,2018年有说废弃了,但⼜说⼜能⽤,很懵。
既然这样,那我先跳过这⼀步,直接弹出授权,获取⽤户信息吧。
获取⽤户信息接⼝返回值如下:⽤户头像昵称都是默认头像和默认昵称然后根据官⽅的说明⽂档,简单的以demo形式展⽰⼀下⽅法⼀:直接⽤最新获取⽤户接⼝,就可以弹出授权,但开发者⼯具要升级,官⽅说)才⽀持,我的版本是1.05.2102010也是⽀持的注意⼀点:开发者⼯具的调试基础库⼀定要选2.16.0,否则还是调试不了,截图如下:整理的简单代码如下:<view class="userinfo"><block wx:if="{{!hasUserInfo}}"><button bindtap="getUserProfile">获取头像昵称</button></block><block wx:else><image bindtap="bindViewTap" class="userinfo-avatar" src="{{userInfo.avatarUrl}}" mode="cover"></image><text class="userinfo-nickname">{{userInfo.nickName}}</text></block></view>Page({data: {userInfo: {},hasUserInfo: false,canIUseGetUserProfile: false,},getUserProfile(e) {// 推荐使⽤wx.getUserProfile获取⽤户信息,开发者每次通过该接⼝获取⽤户个⼈信息均需⽤户确认// 开发者妥善保管⽤户快速填写的头像昵称,避免重复弹窗wx.getUserProfile({//desc是必须要有的desc: '⽤于完善会员资料', // 声明获取⽤户个⼈信息后的⽤途,后续会展⽰在弹窗中,请谨慎填写success: (res) => {this.setData({userInfo: erInfo,hasUserInfo: true})}})},})以上要注意的就是wx.getUserProfile中的desc是必须要有的2.如果Pc微信没有升级不⽀持wx.getUserProfile,可以进⾏代码兼容,这样在⼿机端调试或者体验版中能看到效果的。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
w x . p l a y Vo i c e ( o b j e c t )
开始播放语音,同时只允许一个语音文件正 在播放,如果前一个语音文件还没播放完, 将中断前一个语音播放。
w x . p a u s e Vo i c e ( )
暂停正在播放的语音。再次调用 w x . p l a y Vo i c e 播 放 同 一 个 文 件 时,会从暂停处开始播放。如果 想从头开始播放,需要先调用 w x . s t o p VoseIma ge(object)
从本地相册选择图片或 使用相机拍照。
注:文件的临时路径, 在小程序本次启动期间 可以正常使用,如需持 久保存,需在主动调用 wx.saveFile,在小程 序下次启动时才能访问
得到。
图片
wx.previewIma ge(object)
预览图片
WebSocket
wx.onSocketMessage(callbac k)
监听WebSocket接受到服务器的 消息事件。
WebSocket
wx.closeSocket()
关闭WebSocket连接。
WebSocket
wx.onSocketClose(callback)
监听WebSocket关闭。
WebSocket
wx.onSocketClose (callback)
WebSocket
wx.connectSocket(obje ct)
创建一个 WebSocket 连接; 一个微信小程序同时只能有 一个 WebSocket 连接,如 果当前已存在一个 WebSocket 连接,会自动 关闭该连接,并重新创建一 个 WebSocket 连接。
wx.getImageIn fo(object)
获取图片信息
录音
wx.startRecord(object)
开始录音。当主动调用 wx.stopRecord,或者录音超过 1分钟时自动结束录音,返回录 音文件的临时文件路径。 wx.stolpRecord()
主动调用停止录音。
音频播放控制
w x . s t o p Vo i c e ( )
如未特殊约定,其他 API 接口都接受一个OBJECT作为参数。
OBJECT中可以指定success, fail, complete来接收接口调用 结果。
参数名类型必填说明successFunction否接口调用成功的回 调函数failFunction否接口调用失败的回调函数 completeFunction否接口调用结束的回调函数(调用成功、 失败都会执行)
WebSocket
wx.onSocketOpen(call back)
监听WebSocket连接打开事 件。
WebSocket
wx.onSocketError(callback)
监听WebSocket错误。
WebSocket
wx.sendSocketMessage(obj ect)
通过 WebSocket 连接发送数据, 需要先 wx.connectSocket,并 在 wx.onSocketOpen 回调之后 才能发送。
wx.onBackgroundA udioPlay(callback)
音乐播放控制
wx.onBackgroundAudioPause(c allback)
wx.onBackgroundAudioStop(ca llback)
音乐播放控制
wx.getBackgroundAudio PlayerState(object)
音乐播放控制
wx.getBackgroundAu dioPlayerState(object)
wx.pauseBackgroun dAudio()
wx.stopBackground Audio()
wx.playBackground Audio(object)
wx.seekBackground Audio(object)
获取音乐播放状态。
音乐播放控制
wx.playBackgroundA udio(object)
播放音乐,同时只能有一首 音乐正在播放。
音乐播放控制
wx.pauseBackgroundAudio()
暂停播放音乐。
音乐播放控制
wx.seekBackgroundAudio(object)
网络API
发起请求
wx.request(OBJECT)
2
wx.request发起的是https请求。一个微信小程序,同时只能有5个网络请求连接。 OBJECT参数说明
上传下载
wx.uploadFile(OBJECT) 将本地资源上传到开发者服务器。如页面通
过 wx.chooseImage 等接口获取到一个本地 资源的临时文件路径后,可通过此接口将本地 资源上传到指定服务器。客户端发起一个 HTTPS POST 请求,其中 Content-Type 为 multipart/form-data 。 OBJECT参数说明: success返回参数说明:
wx.connectSo cket(object)
wx.sendSocketM essage(object)
wx.onSocketO pen(callback)
wx.onSocketMes sage(callback)
wx.onSocketE rror(callback)
wx.closeSock et()
wx.downloadFile(OBJECT)
下载文件资源到本地。客户端直接发起一个 HTTP GET 请求,返回文件的本地临时路径。
OBJECT参数说明:
注:文件的临时路径,在小程序本次启动期间 可以正常使用,如需持久保存,需在主动调用 wx.saveFile,在小程序下次启动时才能访问得 到。
WebSocket
2020 微信小程序接口
演讲人 2021-11-11
目录
01. 总述 03. 媒体API 05. 位置API 07. 界面API
02. 网络API 04. 数据API 06. 设备API 08. 开放接口
总述
总述
wx.on 开头的 API 是监听某个事件发生的API接口,接受一个 CALLBACK 函数作为参数。当该事件触发时,会调用 CALLBACK 函数。