微信小程序api列表有哪些
短信预约 -IT技能 免费直播动态提醒
这篇文章主要讲解了“微信小程序api列表有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“微信小程序api列表有哪些”吧!
1)网络 API 列表:
wx.request 发起网络请求wx.uploadFile 上传文件wx.downloadFile 下载文件wx.connectSocket 创建 WebSocket 连接wx.onSocketOpen 监听 WebSocket 打开wx.onSocketError 监听 WebSocket 错误wx.sendSocketMessage 发送 WebSocket 消息wx.onSocketMessage 接受 WebSocket 消息wx.closeSocket 关闭 WebSocket 连接wx.onSocketClose 监听 WebSocket 关闭
2)媒体 API 列表:
wx.chooseImage 从相册选择图片,或者拍照wx.previewImage 预览图片wx.startRecord 开始录音wx.stopRecord 结束录音wx.playVoice 播放语音wx.pauseVoice 暂停播放语音wx.stopVoice 结束播放语音wx.getBackgroundAudioPlayerState 获取音乐播放状态wx.playBackgroundAudio 播放音乐wx.pauseBackgroundAudio 暂停播放音乐wx.seekBackgroundAudio 控制音乐播放进度wx.stopBackgroundAudio 停止播放音乐wx.onBackgroundAudioPlay 监听音乐开始播放wx.onBackgroundAudioPause 监听音乐暂停wx.onBackgroundAudioStop 监听音乐结束wx.chooseVideo 从相册选择视频,或者拍摄
3)文件 API 列表:
wx.saveFile 保存文件wx.getSavedFileList 获取已保存的文件列表wx.getSavedFileInfo 获取已保存的文件信息wx.removeSavedFile 删除已保存的文件信息wx.openDocument 打开文件
4)数据 API 列表:
wx.getStorage 获取本地数据缓存wx.getStorageSync 获取本地数据缓存wx.setStorage 设置本地数据缓存wx.setStorageSync 设置本地数据缓存wx.getStorageInfo 获取本地缓存的相关信息wx.getStorageInfoSync 获取本地缓存的相关信息wx.removeStorage 删除本地缓存内容wx.removeStorageSync 删除本地缓存内容wx.clearStorage 清理本地数据缓存wx.clearStorageSync 清理本地数据缓存
5)位置 API 列表:
wx.getLocation 获取当前位置wx.chooseLocation 打开地图选择位置wx.openLocation 打开内置地图wx.createMapContext 地图组件控制
6)设备 API 列表:
wx.getNetworkType 获取网络类型wx.onNetworkStatusChange 监听网络状态变化wx.getSystemInfo 获取系统信息wx.getSystemInfoSync 获取系统信息wx.onAccelerometerChange 监听加速度数据wx.startAccelerometer 开始监听加速度数据wx.stopAccelerometer 停止监听加速度数据wx.onCompassChange 监听罗盘数据wx.startCompass 开始监听罗盘数据wx.stopCompass 停止监听罗盘数据wx.setClipboardData 设置剪贴板内容wx.getClipboardData 获取剪贴板内容wx.makePhoneCall 拨打电话wx.scanCode 扫码
7)界面 API 列表:
wx.showToast 显示提示框wx.showLoading 显示加载提示框wx.hideToast 隐藏提示框wx.hideLoading 隐藏提示框wx.showModal 显示模态弹窗wx.showActionSheet 显示菜单列表wx.setNavigationBarTitle 设置当前页面标题wx.showNavigationBarLoading 显示导航条加载动画wx.hideNavigationBarLoading 隐藏导航条加载动画wx.navigateTo 新窗口打开页面wx.redirectTo 原窗口打开页面wx.switchTab 切换到 tabbar 页面wx.navigateBack 退回上一个页面wx.createAnimation 动画wx.createContext 创建绘图上下文wx.drawCanvas 绘图wx.stopPullDownRefresh 停止下拉刷新动画
8)WXML节点信息 API 列表:
wx.createSelectorQuery 创建查询请求selectorQuery.select 根据选择器选择单个节点selectorQuery.selectAll 根据选择器选择全部节点selectorQuery.selectViewport 选择显示区域nodesRef.boundingClientRect 获取布局位置和尺寸nodesRef.scrollOffset 获取滚动位置nodesRef.fields 获取任意字段selectorQuery.exec 执行查询请求
9)开放接口:
wx.login 登录wx.getUserInfo 获取用户信息wx.chooseAddress 获取用户收货地址wx.requestPayment 发起微信支付wx.addCard 添加卡券wx.openCard 打开卡券
二、简单描述微信小程序的相关文件类型?
1. .wxml ---是框架设计的一套标签语言,结合基础组件,事件系统,可以构建出页面的结构,内部主要是微信自己定义的一套组件。2. .wxss ---是一套样式语言,用于描述wxml的组件样式3. .js ---是逻辑处理,网络请求4. .json --- 而文件会报错小恒旭设置,如页面注册,页面标题及tabBar5. app.json ---必须要有这个文件,因为微信框架把这个文件作为配置文件入口,整个小程序的全局配置,包括页面注册,网络配置,以及小程序的window背景色,配置导航条样式,配置默认标题。 pages字段 —— 用于描述当前小程序所有页面路径,这是为了让微信客户端知道当前你的小程序页面定义在哪个目录。 window字段 —— 小程序所有页面的顶部背景颜色,文字颜色定义在这里的 tab字段—小程序全局顶部或底部tab6. app.js---可以在这个文件中监听并处理小程序的生命周期函数,声明全局变量
三、你是怎么封装微信小程序的数据请求的?
1.将所有的接口放在统一的js文件中并导出2.在app.js中创建封装请求数据的方法3.在子页面中调用封装的方法请求数据1.在根目录下创建utils目录及api.js文件和apiConfig.js文件;2.在apiConfig.js 封装基础的get, post 和 put, upload等请求方法,设置请求体,带上token和异常处理等;3.在api中引入apiConfig.js封装好的请求方法,根据页面数据请求的urls, 设置对应的方法并导出;4.在具体的页面中导入;
四、有哪些参数传值的方法?
1.给html元素添加data-*属性来传递我们需要的值,然后通过e.currentTarget.dataset或者是onload的param参数获取,但data-名称 不能有大写字母和不可存放对象2.设置id的方法标识来传值,通过e.currentTarget.id获取设置的id的值,然后通过设置全局对象的方式传递数值3.在navigator中添加参数传值
五、你使用过哪些方法,来提高微信小程序的应用速度?
1.提高页面加载速度2.用户行为预测3.减少默认data的大小4.组件化方案
六、小程序和原生app哪个好?
小程序除了拥有公众号的地开发成本,无需下载等优势,在服务请求延时与用户使用体验是都得到了较大幅度的提升,使其能够承载跟复杂的服务功能以及用户获得更好的体验。
七、简述微信小程序的原理?
小程序本质就是一个单页面应用,所有的页面渲染和事件处理,都在一个页面内进行,但又可以通过微信客户端调用原生的各种接口;它的架构,是数据驱动的架构模式,它的UI和数据是分离的,所有的页面更新,都需要通过对数据的更改来实现;它从技术讲和现有的前端开发差不多,采用JavaScript、WXML、WXSS三种技术进行开发;功能可分为webview和appService两个部分;webview用来展现UI,appService有来处理业务逻辑、数据及接口调用;两个部分在两个进程中运行,通过系统层JSBridge实现通信,实现UI的渲染、事件的处理等。
八、分析微信小程序的优劣势?
优势:1.无需下载,通过搜索或者扫一扫就可以打开;2.良好的用户体验,打开速度快3.开发成本比app低;4.安卓上可以添加到桌面,与原生app差不多;5.为用户提供良好的安全保障劣势:1.限制较多,页面大小不能超过1M,不能打开超过五个层级的页面;2.样式单一;3.推广面窄,不能分享到朋友圈,只能分享给朋友;4.依托于微信,无法开发后台管理功能
九、微信小程序与h6的区别?
1.运行环境的不同---h6的运行环境是浏览器,而微信小程序的运行环境是微信开发团队基于浏览器内核完全重构的一个内置解析器,针对小程序专门做了优化,配合自己定义的开发语言标准2.开发成本的不同---微信小程序只在微信中运行,所以不用去顾虑浏览器兼容性问题3.获取系统权限的不同---系统级权限都可以和微信小程序无缝衔接4.生产环境的运行流畅度
十、怎么解决小程序的异步请求问题?
app.js: success:function(info){ that.apirtnCallback(info) }index.js: onLoad:function(){ app.apirtnCallback=res=>{ console.log(res) } }
小程序支持大部分 ES6 语法
在返回成功的回调里面处理逻辑
Promise 异步
十一、小程序的双向绑定和vue哪里不一样?
小程序必须用this.setData({msg:'111'})方法来将数据同步到视图
十二、小程序的wxss和css的异同?
都是用来描述页面的样子;WXSS 具有 CSS 大部分的特性,也做了一些扩充和修改;WXSS新增了尺寸单位,WXSS 在底层支持新的尺寸单位 rpx;WXSS 仅支持部分 CSS 选择器;WXSS 提供全局样式与局部样式1.wxss的图片引入需要使用外链地址;2.没有body,样式可直接使用import导入
十三、小程序关联微信公众号如何确定用户的唯一性?
使用ax.getUserInfo方法的withCredential为true时,可获取encryptedData,里面有union_id,如果开发者拥有多个移动应用、网站应用、和公众帐号(包括小程序),可通过 unionid 来区分用户的唯一性,因为只要是同一个微信开放平台帐号下的移动应用、网站应用和公众帐号(包括小程序),用户的 unionid 是唯一的。换句话说,同一用户,对同一个微信开放平台下的不同应用,unionid 是相同的
十四、如何实现下拉刷新?
用view代替scroll-view,设置onPullDownRefresh函数实现
十五、小程序调用后台接口遇到哪些问题?
1.数据的大小有限制,超过范围会直接导致整个小程序崩溃,除非重启;2.小程序不可以直接渲染文章内容页这类型的html文本内容,若需显示要借住插件,但插件渲染会导致页面加载变慢
十六、小程序和Vue写法的区别
1.循环遍历的时候:小程序是wx:for="list",而Vue是v-for="info in list"2.调用data模型的时候:小程序是this.data.uinfo,而vue是this.unifo,给模型赋值也不一样,小程序是this.setData({unifo:1}),而Vue是直接this.unifo=1
十七、 为什么要对小程序进行组件模块化设计
1、微信小程序有代码大小限制,微信小程序最大为2M2、提高代码的复用率
十八、 如何进行组件化模块化设计
通过WXML的import和include来使用文件模版使用WXSS的@import引用WXSS文件使用JS的require来引用JS文件
十九、wx:if与hidden的区别
wx:if是遇到true的时候显示,hidden是遇到false的时候显示wx:if在隐藏的时候不渲染,而hidden在隐藏的时候仍然渲染,只是不显示频繁切换的话,用wx:if将会消耗更多的资源,因为每次呈现的时候他都会渲染,每次隐藏的时候,他都会销毁。如果切换并不频繁的话,用 wx:if 相对来说较好些,因为它会避免初始就一下渲染那么多。
二十、rpx
微信小程序新定义了一个尺寸单位,可以适配不同分辨率的屏幕,它规定屏幕宽为750rpx,如在 iPhone6 上,屏幕宽度为375px,共有750个物理像素,则750rpx = 375px =750物理像素,1rpx = 0.5px = 1物理像素。
二十一、生命周期函数
onLoad() 页面加载时触发,只会调用一次,可获取当前页面路径中的参数。onShow() 页面显示/切入前台时触发,一般用来发送数据请求;onReady() 页面初次渲染完成时触发, 只会调用一次,代表页面已可和视图层进行交互。onHide() 页面隐藏/切入后台时触发, 如底部 tab 切换到其他页面或小程序切入后台等。onUnload() 页面卸载时触发,如redirectTo或navigateBack到其他页面时。
二十二、wx.navigateTo无法打开页面
一个应用同时只能打开5个页面,当已经打开了5个页面之后,wx.navigateTo不能正常打开新页面。请避免多层级的交互方式,或者使用wx.redirectTo
二十三、 本地资源无法通过 css 获取
background-image:可以使用网络图片,或者 base64,或者使用<image/>标签
二十四、bindtap和catchtap有什么区别?`
相同点:首先他们都是作为点击事件,就是点击时触发不同点:主要是bindtap不会阻止冒泡事件,而catchtap会阻止冒泡
二十五、简述下 wx.navigateTo(), wx.redirectTo(), wx.switchTab(), wx.navigateBack(), wx.reLaunch()的区别
wx.navigateTo():保留当前页面,跳转到应用内的某个页面。但是不能跳到 tabbar 页面wx.redirectTo():关闭当前页面,跳转到应用内的某个页面。但是不允许跳转到 tabbar 页面wx.switchTab():跳转到 abBar 页面,并关闭其他所有非 tabBar 页面wx.navigateBack()关闭当前页面,返回上一页面或多级页面。可通过 getCurrentPages() 获取当前的页面栈,决定需要返回几层wx.reLaunch():关闭所有页面,打开到应用内的某个页面
二十六、请谈谈原生开发小程序、wepy、mpvue 的对比
个人认为,如果是新项目,且没有旧的 h6 项目迁移,则考虑用小程序原生开发,好处是相比于第三方框架,坑少。而如果有 老的 h6 项目是 vue 开发 或者 也有 h6 项目也需要小程序开发,则比较适合 wepy 或者 mpvue 来做迁移或者开发,近期看wepy几乎不更新了,所以推荐美团的mpvue。而如果如果团队前端强大,自己做一套框架也没问题。
二十七、谈谈wxml与标准html的异同
都是用来描述页面的结构;都由标签、属性等构成;标签名字不一样,且小程序标签更少,单一标签更多;多了一些 wx:if 这样的属性以及 {{ }} 这样的表达式WXML仅能在微信小程序开发者工具中预览,而HTML可以在浏览器内预览组件封装不同, WXML对组件进行了重新封装,小程序运行在JS Core内,没有DOM树和window对象,小程序中无法使用window对象和document对象。
二十八、微信小程序常见bug
1.域名必须是HTTPS2. input组件placeholder字体颜色3. wx.navigateTo无法跳转到带tabbar的页面4. tabbar在切换时页面数据无法刷新5.如何去掉自定义button灰色的圆角边框6.input textarea是APP的原生组件,z-index层级最高7.一段文字如何换行8.设置最外层标签的margin-bottom在IOS下不生效9.小程序中canvas的图片不支持base64格式10.回到页面顶部11.wx.setStorageSync和wx.getStorageSync报错问题12.如何获取微信群名称?13.new Date跨平台兼容性问题14.wx.getSystemInfoSync获取windowHeight不准确15.图片本地资源名称,尽量使用小写命名
二十九、 小程序获取场景值的方法?
let options=wx.getLanchOptionsSync()
三十、小程序onPageScroll方法的使用注意什么?
由于此方法调用频繁,不需要时,可以去掉,不要保留空方法,并且使用onPageScroll时,尽量避免使用setData(),尽量减少setData()的使用频次。
三十一、小程序视图渲染结束回调?
使用setData(data, callback),在callback回调方法中添加后续操作代码
三十二、小程序同步API和异步API使用时注意事项
像wx.setStorageSync这种以Sync结尾的API为同步API,使用时使用try-catch来查看异常,如果判定API为异步,可以在其回调方法success、fail、complete中进行下一步操作。
三十四、简述微信小程序登录流程
1.判断用户是否登陆过,如果已经登陆过,则直接获取个人信息进入主页2.未登录则引导登录,直接跳转到登录页面,封装方法获取code值,调用wx.login()方法,获取到用户信息登陆成功就跳转到个人主页//获取codewx.login({ success:function(result){ console.log(result) wx.request({ url:'/login', data:{ code:result.code }, success:function(myres){ if(myres.state==='登录成功'){ wx.setStorageSync('isLogin',true) wx.navigateBack() }else{ wx.showToast({ title:'' }) } } }) }})
三十五、微信小程序支付流程
1.小程序调用登录接口获取code,传递给商户服务器用来获取用户的openId 小程序调用wx.login()获取临时凭证code,并回转到开发者服务器,开发者服务器以code换取用户唯一表示openid和会话密钥session_keygetToken:function(){ wx.login({ success:function(res){ var code=res.code wx.request({ url:商户服务器接口地址, data:{ code:code }, method:'POST', success:function(res){ wx.setStorageSync('token',res.data) }, fail:function(res){ conso.sole.log(res.data) } }) } })}2.token的生成以及缓存3.调用统一下单接口,获取prepay_id再次签名4.小程序获取五个参数后,鉴权调起支付1).下载微信JS-SDK:2).调用统一下单api3).再次签名5.支付回调,实际上我们需要重写WxPayNotify类的Not
感谢各位的阅读,以上就是“微信小程序api列表有哪些”的内容了,经过本文的学习后,相信大家对微信小程序api列表有哪些这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341