微信小程序开发例子(微信小程序开发方法)
本篇文章给大家谈谈微信小程序开发例子,以及微信小程序开发方法对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、如何快速开发个微信小程序
- 2、微信小程序开发系列 (四) :微信小程序的页面跳转路由设计
- 3、微信小程序云开发个人博客项目实战(3)-- 文章的增删改查
- 4、微信小程序组件化开发
- 5、微信小程序怎么开发?
如何快速开发个微信小程序
无论是前端开发,还是后端开发,时间长了,你总会能总结出它的一些规律的,对于前端开发主要就两条,页面展现,逻辑处理。如果是全流程开发的话,那就是,如何创建项目,页面如何实现,数据获取和逻辑处理如何实现,如何打包上线。移动端或者前端,基本开发流程就这个四个步骤。所以在在前端方面去学习新一门开发技术,只要你解决了这四个问题,那一切就OK了,下面我就讲一下,我在学习微信小程序开发,如何用这四步法快速上手开发的
学习一门新技术先看下它的开发文档 小程序介绍
然后呢就是开始一些准备的步骤,微信公众平台提供我们开发管理的功能 微信工作平台
账号注册
小程序信息配置
请看 小程序开发步骤
小程序项目的创建
到此第一个问题我们就算完成了,接下来解决小程序界面如何搭建。
然后最重要的,微信提供自己的开发者工具,不需要用chrome什么调试, 微信开发者工具 提供wxapi的调用测试能力,这些在chrome里面是测试不了的
框架的视图层由 WXML 与 WXSS 编写,由组件来进行展示。
将逻辑层的数据反应成视图,同时将视图层的事件发送给逻辑层。
WXML(WeiXin Markup language) 用于描述页面的结构。
WXS(WeiXin Script) 是小程序的一套脚本语言,结合 WXML,可以构建出页面的结构。
WXSS(WeiXin Style Sheet) 用于描述页面的样式。
小程序的页面是由wxml 和wxss这两个文件来实现的,wxml结构如何写请参考 微信小程序组件
wxss是负责样式控制的,基本类似于css,支持flex布局,所以要想上手构建微信小程序的界面,最好要熟悉html ,css.
还有最重要的就是生命周期了
//index.js
Page({
data: {
text: "This is page data."
},
onLoad: function(options) {
// 页面创建时执行
},
onShow: function() {
// 页面出现在前台时执行
},
onReady: function() {
// 页面首次渲染完毕时执行
},
onHide: function() {
// 页面从前台变为后台时执行
},
onUnload: function() {
// 页面销毁时执行
},
onPullDownRefresh: function() {
// 触发下拉刷新时执行
},
onReachBottom: function() {
// 页面触底时执行
},
onShareAppMessage: function () {
// 页面被用户分享时执行
},
onPageScroll: function() {
// 页面滚动时执行
},
onResize: function() {
// 页面尺寸变化时执行
},
onTabItemTap(item) {
// tab 点击时执行
console.log(item.index)
console.log(item.pagePath)
console.log(item.text)
},
// 事件响应函数
viewTap: function() {
this.setData({
text: 'Set some data for updating view.'
}, function() {
// this is setData callback
})
},
// 自由数据
customData: {
hi: 'MINA'
}
})
微信提供的界面组件很多,没必要一下子全学会,会用一两个就行,其他的遇到需要的时候现查先做,这样又节约学习时间,又能够加深理解。到此第二个问题我们解决了,下面看第三个问题,数据逻辑如何处理。
数据定义
数据展现
逻辑处理是通过js文件来操作的
一个服务仅仅只有界面展示是不够的,还需要和用户做交互:响应用户的点击、获取用户的位置等等。在小程序里边,我们就通过编写 JS 脚本文件来处理用户的操作。
view{{ msg }}/view
button bindtap="clickMe"点击我/button
点击 button 按钮的时候,我们希望把界面上 msg 显示成 "Hello World",于是我们在 button 上声明一个属性: bindtap ,在 JS 文件里边声明了 clickMe 方法来响应这次点击操作:
Page({
clickMe: function() {
this.setData({ msg: "Hello World" })
}
})
响应用户的操作就是这么简单,更详细的事件可以参考文档 WXML - 事件 。
此外你还可以在 JS 中调用小程序提供的丰富的 API,利用这些 API 可以很方便的调起微信提供的能力,例如获取用户信息、本地存储、微信支付等。在前边的 QuickStart 例子中,在 pages/index/index.js 就调用了 wx.getUserInfo 获取微信用户的头像和昵称,最后通过 setData 把获取到的信息显示到界面上。更多 API 可以参考文档 小程序的API 。
现在几乎每个应用都需要从后端获取数据,那么小程序如何获取呢,当然是通过网路操作了。我们封装了小程序的网络操作
const app = getApp()
const request = (url, options) = {
return new Promise((resolve, reject) = {
wx.request({
url: `${app.globalData.host}${url}`,
method: options.method,
data: options.method === 'GET' ? options.data : JSON.stringify(options.data),
header: {
'Content-Type': 'application/json; charset=UTF-8'
// 'x-token': 'x-token' // 看自己是否需要
},
success(request) {
if (request.data.error_code === 0) {
resolve(request.data)
} else {
reject(request.data)
}
},
fail(error) {
reject(error.data)
}
})
})
}
const gets = (url, options = {}) = {
return request(url, { method: 'GET', data: options })
}
const post = (url, options) = {
return request(url, { method: 'POST', data: options })
}
const put = (url, options) = {
return request(url, { method: 'PUT', data: options })
}
// 不能声明DELETE(关键字)
const remove = (url, options) = {
return request(url, { method: 'DELETE', data: options })
}
module.exports = {
gets,
post,
put,
remove
}
如何使用请看下图
数据获取
数据展现如下图
数据展现
到此,第三个问题我们就解决的了下面看第四个问题。
小程序发布文档说明
小程序发布步骤
到此四个问题都解决了。
总结:本文内容是很简单的,借用了大部分官方文档,其实本文目的不是教你学小程序开发,而是分享一下在学习一项新事物我的方法和思路,互联网技术变化是很快的,我觉得一个人的能力,不仅仅是你技术有多好,你要明白技术是用来干什么的,技术是用来解决现实生活中的问题的,一个好的程序员,不是技术能力,而是解决问题的能力,解决问题不可能只用一种技术,这就要求你的学习能力要强,针对不同的问题,使用不同的技术,哪怕使用的技术你不熟悉,但它是解决问题最好的方法,那就要求你有快速学习并解决问题的能力。
学习一项新技术,我们要先抓住主线,把流程搞通了,以后再在工作中慢慢的熟悉和丰富对它细节的一些认知,所以学一项东西前多问自己几个问题,我学什么,我为什么学,我怎么学,等。先思考后学习,一定会让你事半功倍。
对于怎么学习微信小程序开发,我问了自己上面的四个问题,每个问题,我只需要了解大体内容,四个问题都解决了,然后整个流程也就通了,以后也就是慢慢的对每个问题内容的细节慢慢的熟悉和了解了,其实花了不到一下午的时间,我就搞出了一个简单的demo出来了,了解的内容基本已经覆盖微信小程序日常开发80%的内容了。以上就是我的一点学习心得。
最后 小程序Demo
Demo截图
首页
我的
点击我的任意条目,数据是从第三方聚合平台提供的api获取的
最后目前有很多的多端开发框架,背景大多是都是因为小程序开发的盛行
其他还有很多例如
阿里的rax
我们自己的ditto
微信小程序开发系列 (四) :微信小程序的页面跳转路由设计
笔者由于工作需要,曾经参加过一个微信小程序同 SAP 系统集成的项目,因此从零开始学习了微信小程序的开发知识。这里通过系列文章把自己所学分享出来,希望对相关学习者有所帮助。
本教程前面三篇文章:
通过本系列前面三篇文章的介绍,大家对微信小程序的视图和控制器,微信调试器的用法,以及如何消费微信平台提供的 Public API,已经有了一个最基本的认识了。在这个基础上,本文让我们进一步学习微信小程序的页面跳转路由设计。
这个系列教程的前六篇文章我们都在单个的视图上操作。现在让我们创建第二个视图,然后实现从第一个视图到第二个视图的跳转。
首先开发第二个视图:
做过 Angular 开发的朋友们对上面的视图设计一定不会陌生。这个视图的数据源由模型 logs 提供,是一个列表结果,列表每个元素的数据源是模型 logs 里的一条记录,用 log 代表。
为了让 log 看起来显示更整齐,在 log 内容之前,显示每条 log 的索引。因为 log 的索引从 0 开始,所以用 {{index + 1}} 在索引前加一,这样显示的索引更符合普通人的阅读习惯。
这个视图的控制器:
控制器 logs.js 的实现:
在控制器里调用 Page 构造函数,给当前控制器指定名为 logs 的数据模型。
这个数据模型的值填充,通过微信框架提供的 API wx.getStorageSync 来获取。
wx.getStorageSync 的含义在微信小程序 官网 上有定义:从本地缓存中同步获取指定 key 对应的内容。
第二个视图的 UI 和控制器都开发完毕,剩下的事情就是在第一个视图里定义一个触发点,让它能触发到第二个视图的跳转。
我在第一个视图上通过属性 bindtap 绑定了一个点击函数 bindViewTap :
bindViewTap 在第一个控制器 index.js 里的实现:
跳转还是通过微信小程序提供的 API wx.navigateTo :
保留当前页面,跳转到应用内的某个页面,使用 wx.navigateBack 可以返回到原页面。
学习了微信小程序页面路由跳转之后,我们来进行一个实际的需求开发。
效果:我在手机上打开微信小程序,自动显示出我当前所在的地理位置:
具体步骤:
ReservationService.getGeocode 的实现:
看下面一个使用高德地图 API 将经纬度转换成文字描述的地址的例子,使用 postman 发送请求:
API 响应:
假设我用 vue 开发了一个 web 应用,需要在手机微信里访问并调试, 可以按照本文介绍的步骤,使用微信开发者工具来调试。
假设我的 web 应用的访问入口是如下公众号菜单的"预约"按钮:
那么为了能够在微信开发者工具里调试,需要首先进入该公众号的后台,在 web 开发者工具里,将开发者本人的微信号添加进去:
点击"绑定开发者账号":
输入待绑定的微信账号:
点击绑定,该微信号会收到一条消息,询问是否绑定:
点击同意操作完成绑定。
接下来, 把要调试的 web 应用的 url 放到微信开发者工具地址栏里,回车之后,微信开发者工具就会弹出一个询问窗口,点击 Allow 之后,就可以在微信开发者工具提供的类似 Chrome 开发者工具调试器一样的界面里进行单步调试了。
这个粘贴到地址栏的 url 很有讲究。
;redirect_uri=https%3a%2f%2f;response_type=codescope=snsapi_userinfostate=123#wechat_redirect
其中 appid= 后面的值,是从微信公众号控制台里拷贝出来的 appid :
redirect_uri, 即为我们开发的 web 应用,部署到服务器之后生成的 url,需要经过 url encode 处理:
这个 url 准备好之后,将其粘贴到微信开发者工具地址栏里,回车,即可看到一个对话窗口,要求获得我们公开信息的许可:
点击 Allow 之后,就可以像使用 Chrome 开发者工具的调试器一样,在微信开发者工具里进行单步调试了:
本文首先介绍了微信小程序多页面内的路由跳转设计,接着通过获得手机当前经纬度并转换成地址的需求实现,进一步深入了解了微信小程序如何消费微信平台提供 Public API 的方法。
本教程前面三篇文章:
微信小程序云开发个人博客项目实战(3)-- 文章的增删改查
地址:
修改app.json--pages,新增写文章及文章详情页面
home.wxml 加个写文章的按钮,跳转到写文章的页面
页面跳转
修改写文章页面的title,对应的json文件中修改
文章内容编辑器可以参考官方的editor --- 传送门
封面上传(不是必填项)--- 参考小程序云开发的上传图片例子来修改
向下滚动隐藏 、向上滚动显示
监听页面滚动事件
效果见文章开头
下拉刷新,json中设置允许当前页面下拉刷新
towxml解析HTML --- towxml使用-传送门
1、小程序页面跳转不同方法
wx.navigateTo
2、小程序修改单独页面title
app.json中 window 统一设置 title
如果要修改某个页面的title的话,可以在对应页面的json中修改
也可在js中动态加载
3、小程序editor组件操作图标不全,可以中文下和英文下的两个demo结合来用
4、小程序返回上个页面刷新数据
5、动态修改class
微信小程序组件化开发
微信小程序的组件和Vue的组件非常相似。
在微信小程序中有很多内置组件,比如button view input image等,有时候我们要自定义组件。和Vue的组件似的。
如何创建自定义组件:
新建一个components目录,在里边创建自定义组件
组件的组成:
使用组件:
一个简单的示例:
创建comp,代表页面;创建components/xxxx,代表组件。
创建组件:
使用组件:
注意:json文件中不能写注释啥的。这里的注释是为了解释清楚,在开发中不能写注释。
组件的注意事项:
组件的样式细节:
如何控制页面和组件的样式相互影响:
组件和页面相互通信
this.triggerEvent(事件名,参数对象,{}),最后是options,额外的一些选项
预留一个设备,以有利于对以后进行扩展。
好处:
例子:
在移动端,导航栏,nav-bar,分为左中右三部分。不把这三部分的内容写死。就用插槽,为了封装性更好。
单个插槽的使用很简单:
多个插槽的使用稍微复杂,要设置几个东西:
component构造器中可以写哪些东西,如下
微信小程序怎么开发?
微信版本升级后,打开微信,点击底部的“发现”这个菜单项,就会发现升级后的“发现”菜单里,增加了“小程序”这样一个功能。
2.点击打开小程序后,可以看到有附近的小程序和我的小程序,附近的小程序是所在定位周边的小程序。
下面的小程序列表可以看到的是我们之前打开过的一些小程序,如果有自己觉得很好用的小程序就可以点击左上角,添加到我的小程序里面。
3.微信小程序还有具有搜索功能,打开搜索页面可以输入想要找的小程序。
微信小程序开发例子的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于微信小程序开发方法、微信小程序开发例子的信息别忘了在本站进行查找喔。