小程序之路
转眼之间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 | 打开卡券 |
五.开发的微信小程序。
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>
//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

浙公网安备 33010602011771号