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

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

笔者由于工作需要,曾经参加过一个微信小程序同 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 放到微信开发者工具地址栏里,回车之后,微信开发者工具就会d出一个询问窗口,点击 Allow 之后,就可以在微信开发者工具提供的类似 Chrome 开发者工具调试器一样的界面里进行单步调试了。

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

https://open.weixin.qq.com/connect/oauth2/authorize?appid=yyyy&redirect_uri=https%3a%2f%2fwww.xxx.com%2fsmart&response_type=code&scope=snsapi_userinfo&state=123#wechat_redirect

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

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

https://www.xxx.com/smart

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

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

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

本教程前面三篇文章:

最近接到一个项目,需要做App微信支付 iOS 微信支付 小程序支付 微信公众号支付 在这个过程中走了很多弯路。因此记录一下

App微信支付 iOS 微信支付 小程序支付

在app支付中查看 uni-app官网   可以实现  app微信支付   App微信支付 iOS 微信支付 小程序支付

注:iOS 微信支付 需要调起上面链接里面的App支付 可以实现 iOS 微信支付,需要在苹果开发账号配置一些东西详细看文档  并且IOS只能打包在手机测试

微信公众号支付

查看文档  https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=7_7&index=6   里面有详细的流程,我遇到了一些坑  做之前建议小伙伴们把需要的东西提前准备好  

 注: 微信支付需要openid 前端需要拿code去换取后台的openid  获取code的请看问文档 微信开放文档

https://open.weixin.qq.com/connect/oauth2/authorize?appid=wxf0e81c3bee622d60&redirect_uri=http%3A%2F%2Fnba.bluewebgame.com%2Foauth_response.php&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirect

上面的链接需要填appid  redirect_uri而redirect_uri 需要urlEncode 对链接进行处理 scope的参数snsapi_base不d出授权 snsapi_userinfod出授权

实现店铺的微信公众号能够快速无误且零配置的与天狗微信服务端进行绑定,节省运营人员的沟通成本。

公众号一键登录授权给第三方平台方的技术流程

1、用户进入第三方平台(天狗)微信管理系统

一般而言,用户需要先进入第三方平台方网站,如: http://store.51tiangou.com

2、第三方平台(天狗)方获取预授权码

预授权码是第三方平台(天狗)方实现授权托管的必备信息,预授权码可通过调用开放平台接口获取

3、发布后修改和覆盖现网

第三方平台方可以在自己的网站首页中放置 微信公众号登录授权 的入口,引导公众号运营者进入第三方平台授权页。网址为: https://mp.weixin.qq.com/cgi-bin/componentloginpage?component_appid=xxxx&pre_auth_code=xxxxx&redirect_uri=xxxx

该网址中第三方平台方需要提供第三方平台方的 appid 、 预授权码pre_auth_code 和 回调URI

4、用户确认并同意登录授权给第三方平台方

用户进入第三方平台授权页后,需要确认并同意将自己的公众号登录授权给第三方平台方,完成授权流程。

5、授权后回调URI,得到授权码和过期时间

授权流程完成后,会进入回调URI,并在URL参数中返回授权码和过期时间(redirect_url?auth_code=xxx&expires_in=600)

6、利用授权码调用公众号或小程序的相关API

在得到授权码后,第三方平台方可以使用授权码换取授权公众号或小程序的接口调用凭据(authorizer_access_token,也简称为令牌),再通过该接口调用凭据,按照 公众号开发者文档 或 小程序开发文档 的说明,去调用公众号或小程序相关API

没有全网发布的第三方平台,需要添加公众号ID(gh_xxxxx之类的)到测试帐号里才可以添加,否则需要申请全网发布,不然就会报上面图中的错误


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/8105098.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-13
下一篇2023-04-13

发表评论

登录后才能评论

评论列表(0条)

    保存