var that = this; const back = wx.getBackgroundAudioManager(); back.onPlay(() => { console.log("音乐播放开始"); that.setData({ isPlayingMusic: true }) }); back.onPause(() => { console.log("音乐播放结束"); that.setData({ isPlayingMusic: false…
写在前面 之前写了一篇<微信小程序实现各种特效实例>,上次的小程序的项目我负责大部分前端后台接口的对接,然后学长帮我改了一些问题.总的来说,收获了不少吧! 现在项目已经完成,还是要陆陆续续总结一下的,总结的过程也是对知识梳理和清晰的过程! 这次主要聊一下小程序前后端接口对接的一些事, 对于客户端与服务端接口的对接,微信小程序提供了wx.request()的API接口,完美的实现前端后台的对接: 一个简单的栗子: wx.request({ url: API_URL + '/api/categor…
写在前面 之前写了一篇<微信小程序实现各种特效实例>,上次的小程序的项目我负责大部分前端后台接口的对接,然后学长帮我改了一些问题.总的来说,收获了不少吧! 现在项目已经完成,还是要陆陆续续总结一下的,总结的过程也是对知识梳理和清晰的过程! 这次主要聊一下小程序前后端接口对接的一些事, 对于客户端与服务端接口的对接,微信小程序提供了wx.request()的API接口,完美的实现前端后台的对接: 一个简单的栗子: wx.request({ url: API_URL + '/api/categor…
前言 最近接触了微信小程序 API - wx.setScreenBrightness .wx.getScreenBrightness 接口,调用该接口可以调节并显示手机屏幕亮度数据.对于喜欢腾讯新闻.今日头条等一些阅读类小程序的小伙伴,还是挺友好的.不需要下拉屏幕或退出小程序页面就可以调整屏幕亮度,直接在小程序内部完成屏幕亮度调节工作,更加快速.下面,就分享一下如何使用该微信小程序API接口以及需注意的问题. 图示:微信小程序API接口-wx.setScreenBrightness(屏幕亮度调节…
小程序上传wx.uploadFile UploadTask wx.uploadFile(Object object) 将本地资源上传到服务器.客户端发起一个 HTTPS POST 请求,其中 content-type 为 multipart/form-data.使用前请注意阅读相关说明. url string 开发者服务器地址 filePath string 要上传文件资源的路径 name string 文件对应的 key,开发者在服务端可以通过这个 key 获取文件的二进制内容 header…
wx.login(OBJECT) 调用接口获取登录凭证(code)进而换取用户登录态信息,包括用户的唯一标识(openid) 及本次登录的 会话密钥(session_key).用户数据的加解密通讯需要依赖会话密钥完成. https://www.w3cschool.cn/weixinapp/weixinapp-api-login.html OBJECT参数说明: 参数名 类型 必填 说明 success Function 否 接口调用成功的回调函数 fail Function 否 接口调用失败的回…
1.发现问题: 小程序调用API:wx.showActionSheet 时发现无论如何都不能将其属性itemList动态赋值. 2.分析问题: 首先我认为可能是格式的问题,itemList必须要求格式为array不能为String,使用js的typeof()函数检验从后端返回的itemList值的类型(也许会用到php的类型检验函数gettype() ),console.log()函数输出,果然是String型, 另:这里先提一下小程序的一个机制, 在wx.request请求的header头部中…
小程序上传wx.uploadFile UploadTask wx.uploadFile(Object object) 将本地资源上传到服务器.客户端发起一个 HTTPS POST 请求,其中 content-type 为 multipart/form-data.使用前请注意阅读相关说明. num=1;当num==3时,设置按钮隐藏 直接上代码: <view class='uploader' wx:for="{{files}}" wx:key="{{index}}&quo…
基于小程序请求接口 wx.request 封装的类 axios 请求 Introduction wx.request 的配置.axios 的调用方式 源码戳我 feature 支持 wx.request 所有配置项 支持 axios 调用方式 支持 自定义 baseUrl 支持 自定义响应状态码对应 resolve 或 reject 状态 支持 对响应(resolve/reject)分别做统一的额外处理 支持 转换请求数据和响应数据 支持 请求缓存(内存或本地缓存),可设置缓存标记.过期时间 u…
问题:  想在打开小程序时就自动播放背景音乐(循环) 解决方法: 1.思路:写一个函数,在 onLoad()中调用 2. //index.js //获取应用实例 const back = wx.getBackgroundAudioManager(); Page({ ...................... // 音乐播放函数 backmusic: function () { player(); function player() { back.title = "罗密欧与朱丽叶 ";…
小程序实现和h5一样的音乐图标一直旋转. 一..js中封装旋转动画方法 添加animation属性 data:{ animation:''" } 改变animation的值(官网提供角度范围是-180~180,但是我发现角度越大会一直旋转) onShow: function() { console.log('index---------onShow()') this.animation = wx.createAnimation({ duration: , timingFunction: 'lin…
域名请求错误问题 当我们在编写小程序,要发送请求时,wx.request({})时或许会遇到如下的问题: 一:这是因为微信小程序的开发中,域名只能是https方式请求,所以我们必须在小程序微信公众平台设置小程序开发设置,配置服务器合法域名(必须是https) 如下图所示: 二:如果你的所有配置都是准确的,只是你的后台数据设置的域名为http,那么需要你在如下界面,勾选最后一个选项(这个目前解决的为开发中遇到的问题)  …
想必,最近有些小程序开发者,在调用wx.login()的时候,在部分IOS上无响应的情况: 补充一点:在测试模式,调试模式,都是OK的,一上正式环境就GG了,百思不得其解啊! 响应结果如下: 在success \ fail的回调函数里面均未触发: 设置timeout后,在complate回调中可触发: 分析结果,我们知道,login接口一直处于pending状态,如果加了timeout时间后,在complate回调中可触发: 那为什么login方法一直是pending呢???? 看了微信的社区,…
1.wx.request 微信小程序中用于发起网络请求的API就是wx.request了,具体的参数太多,此处就不再一一详举了,基本使用示例如下: wx.request({ url: 'test.php', //仅为示例,并非真实的接口地址 method: "POST", data: { param1: '', param2: '' }, header: { 'content-type': 'application/json' // 默认值 }, success: function (…
一. wx.authorize(Object object) 提前向用户发起授权请求.调用后会立刻弹窗询问用户是否同意授权小程序使用某项功能或获取用户的某些数据,但不会实际调用对应接口.如果用户之前已经同意授权,则不会出现弹窗,直接返回成功. 用户可以授权的 scope 包括: scope 对应接口 描述 scope.userInfo wx.getUserInfo 用户信息 scope.userLocation wx.getLocation, wx.chooseLocation, wx.open…
小程序的后台获取数据方式get/post具体函数格式如下:wx.request({}) data: { logs:[] }, onLoad:function(){ this.getdata(); } getdata:function(){//定义函数名称 var that=this; // 这个地方非常重要,重置data{}里数据时候setData方法的this应为以及函数的this, 如果在下方的sucess直接写this就变成了wx.request()的this了 wx.request({…
17年微信小程序官方提供了web-view组件. 官方描述:web-view组件是一个可以用来承载网页的容器,会自动铺满整个小程序页面.个人类型与海外类型的小程序暂不支持使用. 这段时间研究了一下小程序web-view,分享一下期间遇到的问题和解决方法 wx.miniProgram.redirectTo,在html页面关闭当前UI跳转到小程序应用的页面. 在使用的过程中发现了一个问题,安卓手机不能再调用wx.miniProgram.redirectTo方法之后终止当前进程,举个例子: wx.mi…
小程序的登录关键在于使用wx.login()方法后,要到取到code值传到后台, 再用小程序平台本帐号生成的appid+addsecret+code去微信接口服务取得用户唯一标识后即可登录[注意:此步骤必须要在本项目后台服务中才能成功,在小程序端是无效的] appid+addsecret 下图是官方的登录流程图: 放上代码 showTopTips:function(e){ //登录/注册提交事件 if (userName==''){ app.toastShow(this, "请输入手机号&quo…
最近微信小程序开始开放测试了,小程序提供了很多api,极大的方便了开发者,其中网络请求api是wx.request(object),这是小程序与开发者的服务器实现数据交互的一个很重要的api. 百牛信息技术bainiu.ltd整理发布于博客园大家可以先看官方文档微信小程序API 再给大家提供一个开发工具下载地址小程序开发工具 最简单的用法如下(以POST请求为例) bindSearchChange:function(e){ var keyword = e.detail.value; wx.req…
小程序为了用户体验,所有的request均为异步请求,不会阻塞程序运行 百牛信息技术bainiu.ltd整理发布于博客园 所以当你需要同步请求,锁死操作时,最好将所有的逻辑写在success:function(){} 里面, 不然后出现返回值为空的尴尬 错误代码示例: 更改后的代码为: onShow:function(){ // 页面显示 var commonFunction = require('../../pages/index/common'), that = this; var inte…
域名请求错误问题 当我们在编写小程序,要发送请求时,wx.request({})时或许会遇到如下的问题: 一:这是因为微信小程序的开发中,域名只能是https方式请求,所以我们必须在小程序微信公众平台设置小程序开发设置,配置服务器合法域名(必须是https) 如下图所示: 二:如果你的所有配置都是准确的,只是你的后台数据设置的域名为http,那么需要你在如下界面,勾选最后一个选项(这个目前解决的为开发中遇到的问题)  …
问题描述: 微信小程序:wx.request()请求后台接收不到参数,我通过wx.request()使用POST方式调用请求,参数传递不到后台 解决方案: Content-Type': 'application/json'用在get请求中没问题,但是在POST请求中出现了这个问题. 修改wx.request()的请求头中的content-type: header: { 'content-type': 'application/x-www-form-urlencoded', }, 这样就解决问题了…
================================================== BUG情况: 小程序在onLoad 主动调用wx.scanCode,安卓手机没有问题.iso调用失败.不能自动打开扫码. 解决方法: 在wx.scanCode外,加上延迟加载: setTimeout(()=>{ wx.scanCode({ success: (res) => { }, fail: (res) => { wx.showToast({ title: '扫码失败', icon:…
效果图如下: 实现代码如下:type.js: // pages/type/type.js Page({ /** * 页面的初始数据 */ data: { types: "" }, editType: function (e) { var typeId = e.currentTarget.dataset['id']; console.log("edit:"+typeId); wx.navigateTo({ url: '../type_edit/type_edit?ty…
发现小程序一个bug, 在小程序插件中使用wx.createSelectorQuery()获取不到节点信息,需要在后面加入in(this) 例如: const query = wx.createSelectorQuery().in(this) query.selectAll('#id-selector').boundingClientRect() query.exec(function (res) { console.log(res) }) 这时候res里面就能获取到节点信息了…
发现小程序一个bug, 在小程序插件中使用wx.createSelectorQuery()获取不到节点信息,需要在后面加入in(this) 例如: const query = wx.createSelectorQuery().in(this) query.selectAll('#id-selector').boundingClientRect() query.exec(function (res) { console.log(res) }) 这时候res里面就能获取到节点信息了…
微信小程序中,向后台请求数据是,通常想给用户提示正在加载中,如下图: 我们可以用wx.showLoading(OBJECT),当请求服务器的地方多了,怎么才能不每次都要去调用函数,我们只要对wx.request加工下就可以了,在utils下新建js文件network.js var requestHandler = { url: '', data: {}, method: '', success: function (res) { }, fail: function () { }, complet…
一.背景 在使用美团的mpvue2.0框架搭建起小程序项目后,做获取用户信息时遇到一些问题:微信小程序更新api后,获取用户信息只能通过button上的绑定方法 来获取用户信息,vue上方法绑定不能直接使用,下面是修改配置mpvue的步骤 vue中代码: <template> <div> <button open-type="getUserInfo" @getuserinfo="bindgetuserinfo">用户授权</…
问题来了:假如我第一次使用wx.chooseLocation()获取权限被拒绝,然后使用wx.getSetting()来重新获取权限该怎么做呢? 思路:wx.chooseLocation()有fail方法,如果第一次拒绝之后,以后调用选择地图都是触发的这个,那么我可以在fail方法里面,使用wx.getSetting(),这样就每次都能判断是否已经给与了权限了. wx.chooseLocation({ success(res) { console.log(res) that.setData({…
1.在框架中,我们用wx:if="{{condition}}"来判断是否需要渲染该代码块 <view wx:if="{{condition}}"> True </view> 也可以用wx:elif和wx:else来添加一个else块: <view wx:if="{{length > 5}}"> 1 </view> <view wx:elif="{{length > 2}}…