微信小程序开发系列 (四) :微信小程序的页面跳转路由设计

装修宝典09

微信小程序开发系列 (四) :微信小程序的页面跳转路由设计,第1张

微信小程序开发系列 (四) :微信小程序的页面跳转路由设计
导读:笔者由于工作需要,曾经参加过一个微信小程序同 SAP 系统集成的项目,因此从零开始学习了微信小程序的开发知识。这里通过系列文章把自己所学分享出来,希望对相关学习者有所帮助。 本教程前面三篇文章: 通过本系列前面三篇文章的介绍,大家对微信小程

笔者由于工作需要,曾经参加过一个微信小程序同 SAP 系统集成的项目,因此从零开始学习了微信小程序的开发知识。这里通过系列文章把自己所学分享出来,希望对相关学习者有所帮助。

本教程前面三篇文章:

通过本系列前面三篇文章的介绍,大家对微信小程序的视图和控制器,微信调试器的用法,以及如何消费微信平台提供的 Public API,已经有了一个最基本的认识了。在这个基础上,本文让我们进一步学习微信小程序的页面跳转路由设计。

这个系列教程的前六篇文章我们都在单个的视图上操作。现在让我们创建第二个视图,然后实现从之一个视图到第二个视图的跳转。

首先开发第二个视图:

做过 Angular 开发的朋友们对上面的视图设计一定不会陌生。这个视图的数据源由模型 logs 提供,是一个列表结果,列表每个元素的数据源是模型 logs 里的一条记录,用 log 代表。

为了让 log 看起来显示更整齐,在 log 内容之前,显示每条 log 的索引。因为 log 的索引从 0 开始,所以用 {{index + 1}} 在索引前加一,这样显示的索引更符合普通人的阅读习惯。

这个视图的控制器:

控制器 logsjs 的实现:

在控制器里调用 Page 构造函数,给当前控制器指定名为 logs 的数据模型。

这个数据模型的值填充,通过微信框架提供的 API wxgetStorageSync 来获取。

wxgetStorageSync 的含义在微信小程序 官网 上有定义:从本地缓存中同步获取指定 key 对应的内容。

第二个视图的 UI 和控制器都开发完毕,剩下的事情就是在之一个视图里定义一个触发点,让它能触发到第二个视图的跳转。

我在之一个视图上通过属性 bindtap 绑定了一个点击函数 bindViewTap :

bindViewTap 在之一个控制器 indexjs 里的实现:

跳转还是通过微信小程序提供的 API wxnavigateTo :

保留当前页面,跳转到应用内的某个页面,使用 wxnavigateBack 可以返回到原页面。

学习了微信小程序页面路由跳转之后,我们来进行一个实际的需求开发。

效果:我在手机上打开微信小程序,自动显示出我当前所在的地理位置:

具体步骤:

ReservationServicegetGeocode 的实现:

看下面一个使用高德地图 API 将经纬度转换成文字描述的地址的例子,使用 postman 发送请求:

API 响应:

假设我用 vue 开发了一个 web 应用,需要在手机微信里访问并调试, 可以按照本文介绍的步骤,使用微信开发者工具来调试。

假设我的 web 应用的访问入口是如下公众号菜单的"预约"按钮:

那么为了能够在微信开发者工具里调试,需要首先进入该公众号的后台,在 web 开发者工具里,将开发者本人的微信号添加进去:

点击"绑定开发者账号":

输入待绑定的微信账号:

点击绑定,该微信号会收到一条消息,询问是否绑定:

点击同意操作完成绑定。

接下来, 把要调试的 web 应用的 url 放到微信开发者工具地址栏里,回车之后,微信开发者工具就会弹出一个询问窗口,点击 Allow 之后,就可以在微信开发者工具提供的类似 Chrome 开发者工具调试器一样的界面里进行单步调试了。

这个粘贴到地址栏的 url 很有讲究。

https://openweixinqqcom/connect/oauth2/authorizeappid=yyyy&redirect_uri=https%3a%2f%2fwwwxxxcom%2f *** art&response_type=code&scope=snsapi_userinfo&state=123#wechat_redirect

其中 appid= 后面的值,是从微信公众号控制台里拷贝出来的 appid :

redirect_uri, 即为我们开发的 web 应用,部署到服务器之后生成的 url,需要经过 url encode 处理:

https://wwwxxxcom/ *** art

这个 url 准备好之后,将其粘贴到微信开发者工具地址栏里,回车,即可看到一个对话窗口,要求获得我们 *** 息的许可:

点击 Allow 之后,就可以像使用 Chrome 开发者工具的调试器一样,在微信开发者工具里进行单步调试了:

本文首先介绍了微信小程序多页面内的路由跳转设计,接着通过获得手机当前经纬度并转换成地址的需求实现,进一步深入了解了微信小程序如何消费微信平台提供 Public API 的 *** 。

本教程前面三篇文章:

1「上线了」 *** 工具为例,注册账号后选择“创建小程序”再选一个你喜欢的模板,就能开始编辑小程序了

2在“小程序设计”-通用风格栏你可以设置小程序整体风格、分页导航;点击“页面设计”你可以添加各种功能版块,包括轮播图、拼接图、视频、标题、快捷按钮、商品分类等等。

3在商店里,你可以添加新的产品,设置商品分类;

4在营销中心栏,你可以开启优惠券、拼团等营销工具。

5此外你还能通过应用中心-文章,添加文章,更详细地介绍自己。

6做好后点击左下角“立即发布”。

7发布上线前需要小程序账号授权,进行审核。

(1)如果你有小程序账号。就直接选择“已有小程序账号,前往授权”,用你的小程序账号扫描确认授权即可。

(2)如果没有小程序账号,那就选择“注册小程序账号”。有公众号的情况下,可以用公众号授权注册;

一、小程序架构

每个小程序的结构都有两个主要部分构成:主体部分+各个页面。类似于许多框架,主体部分主要用于核心的配置,各个页面主要用于不同业务场景。

11、主体部分主要由3个文件构成

1)appjs:小程序逻辑,初始化APP

2)appjson:小程序配置,比如导航、窗口、页面http请求跳转等

3)appwxss:公共样式配置

主体配置完成之后,就是对应业务开发了,也就是开发者最常操作的页面。小程序页面设计基本上也是遵循MVC结构进行构建。

12、页面由4个文件构成

1)js:页面逻辑,相当于控制层(C);也包括部分的数据(M)

2)wxml:页面结构展示,相当于视图层(V)

3)wxss:页面样式表,纯前端,用于辅助wxml展示

4)json:页面配置,配置一些页面展示的数据,充当部分的模型(M)

二、配置appjson

appjson

全局配置页面文件的路径、窗口表现、设置 *** 超时时间、设置多tab等。

pages

接受一个数组,每一项都是字符串,来指定小程序由哪些页面组成

window

用于设置小程序的状态栏、导航条、标题、窗口背景色。

tabBar

通过tabBar配置项指定tab栏的表现,以及tab切换时显示的对应页面。tabBar配置数组,只能配置最少2个、最多5个tab,tab按数组的顺序排序。

networkTimeout

可以设置各种 *** 请求的超时时间。

debug:true/false

可以在开发者工具中开启debug模式,在开发者工具的控制台面板,调试信息以info的形式给出,其信息有Page的注册,页面路由,数据更新,事件触发。可以帮助开发者快速定位一些常见的问题

pagejson

每一个小程序页面也可以使用json文件来对本页面的窗口表现进行配置。页面的哦诶址比appjson全局配置简单的多,只是设置appjson中的window配置项的内容,页面中配置项会覆盖appjson的window中相同的配置项。