小程序之路
转眼之间2017年马上就要过去,回顾这一年做小程序开发也就几个月了,是时候需要对于小程序做出一定的总结了。小程序我们可以理解为相当于安卓的App 最直接的方式,当然现在开发app 的方式很多 你可以使用Hbulider以及WebX5,我个人一开始并不看好小程序,但是没有办法客户需要做,小程序出来也就好久了,但是一直没有公众号那么火,学习了小程序我花了3天的时间左右,然后就是开发项目了。具体的小程序的学习的网址你可以进行参考https://mp.weixin.qq.com/debug/wxadoc/dev/index.html 微信的官方的网址进行学习。具体的我就不一一介绍了。
一.如果你是一个前端的开发人员那么只需要稍微改变一些基本的HTML =>WXML 的写法 以及 CSS=>=WXSS以及JS 稍微有点变化其他没有什么大的变化的。灵活的将JSON 列表和WXML 相互的结合发挥到极致的效果。开发微信小程序你需要进行安装一个微信开发工具。
二.如果你对于WebApi已经学习过或者已经上手过那么学习WebApi 还是非常的容易的。
三.关于微信小程序并结合到WebApi 来进行使用开发应用程序还是非常的快的。之前我一直在从事做微信公众号方面的开发,当我接触过小程序后才发现开发应用小程序是多么的方便以及快捷。所以朋友我建议你,如果后续需要进行应用程序方面的开发,我提倡并且建议你使用小程序做。真的很好用。
四.微信小程序方面API 的请求分为以下几类。API列表:
1.网络 API 列表:
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 列表:
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 | 从相册选择视频,或者拍摄 |
文件 API 列表:
API | 说明 |
---|---|
wx.saveFile | 保存文件 |
wx.getSavedFileList | 获取已保存的文件列表 |
wx.getSavedFileInfo | 获取已保存的文件信息 |
wx.removeSavedFile | 删除已保存的文件信息 |
wx.openDocument | 打开文件 |
3.数据 API 列表:
API | 说明 |
---|---|
wx.getStorage | 获取本地数据缓存 |
wx.getStorageSync | 获取本地数据缓存 |
wx.setStorage | 设置本地数据缓存 |
wx.setStorageSync | 设置本地数据缓存 |
wx.getStorageInfo | 获取本地缓存的相关信息 |
wx.getStorageInfoSync | 获取本地缓存的相关信息 |
wx.removeStorage | 删除本地缓存内容 |
wx.removeStorageSync | 删除本地缓存内容 |
wx.clearStorage | 清理本地数据缓存 |
wx.clearStorageSync | 清理本地数据缓存 |
4.位置 API 列表:
API | 说明 |
---|---|
wx.getLocation | 获取当前位置 |
wx.chooseLocation | 打开地图选择位置 |
wx.openLocation | 打开内置地图 |
wx.createMapContext | 地图组件控制 |
5.设备 API 列表:
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 | 扫码 |
6.界面 API 列表:
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 | 停止下拉刷新动画 |
7.WXML节点信息 API 列表:
API | 说明 |
---|---|
wx.createSelectorQuery | 创建查询请求 |
selectorQuery.in | 指定在哪个自定义组件中选取节点 |
selectorQuery.select | 根据选择器选择单个节点 |
selectorQuery.selectAll | 根据选择器选择全部节点 |
selectorQuery.selectViewport | 选择显示区域 |
nodesRef.boundingClientRect | 获取布局位置和尺寸 |
nodesRef.scrollOffset | 获取滚动位置 |
nodesRef.fields | 获取任意字段 |
selectorQuery.exec | 执行查询请求 |
8.开放接口:
API | 说明 |
---|---|
wx.login | 登录 |
wx.getUserInfo | 获取用户信息 |
wx.chooseAddress | 获取用户收货地址 |
wx.requestPayment | 发起微信支付 |
wx.addCard | 添加卡券 |
wx.openCard | 打开卡券 |
五.开发的微信小程序。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | 2<!--index.wxml--> <view class = "container" > <swiper indicator-dots= "{{indicatorDots}}" autoplay= "{{autoplay}}" class = "banners" interval= "{{interval}}" duration= "{{duration}}" > <block wx: for = "{{banner}}" > <swiper-item class = "banner" > <image src= "{{item.image}}" data-id= "{{item.id}}" bindtap= "bindViewTap" class = "banner-image" width= "100%" height= "100%" /> <text class = "banner-title" >{{item.title}}</text> </swiper-item> </block> </swiper> <view class = "news-item-container" > <block wx: for = "{{list}}" wx: for -index= "id" > <text wx: if = "{{item.header}}" class = "sub-title" >{{item.header}}</text> <navigator wx: else url= "../detail/detail?id={{item.id}}" > <view class = "news-item" > <view class = "news-item-left" > <text class = "news-item-title" >{{item.title}}</text> </view> <view class = "news-item-right" > <image src= "{{item.images[0]}}" class = "news-image" /> </view> </view> </navigator> </block> <button type= "primary" class = "load-btn" loading= "{{loading}}" plain= "{{plain}}" bindtap= "loadMore" > 更多 </button> </view> </view> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 | //index.js //获取应用实例 var app = getApp() var utils = require( '../../utils/util.js' ) Page({ data: { list: [], duration: 2000, indicatorDots: true , autoplay: true , interval: 3000, loading: false , plain: false }, //事件处理函数 bindViewTap(e) { wx.navigateTo({ url: '../detail/detail?id=' + e.target.dataset.id }) }, loadMore (e) { if ( this .data.list.length === 0) return var date = this .getNextDate() var that = this that.setData({ loading: true }) wx.request({ url: 'http://news.at.zhihu.com/api/4/news/before/' + (Number(utils.formatDate(date)) + 1), headers: { 'Content-Type' : 'application/json' }, success (res) { that.setData({ loading: false , list: that.data.list.concat([{ header: utils.formatDate(date, '-' ) }]).concat(res.data.stories) }) } }) }, getNextDate (){ const now = new Date() now.setDate(now.getDate() - this .index++) return now }, onLoad () { let that = this wx.request({ url: 'http://news-at.zhihu.com/api/4/news/latest' , headers: { 'Content-Type' : 'application/json' }, success (res) { that.setData({ banner: res.data.top_stories, list: [{ header: '今日热闻' }].concat(res.data.stories) }) } }) this .index = 1 } }) |
关于小程序的开发文档大家可以参考W3C : https://www.w3cschool.cn/weixinapp/9wou1q8j.html 2018/2/12 00:12 :46
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?