200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > 扫描二维码进入小程序超详细过程

扫描二维码进入小程序超详细过程

时间:2023-05-14 21:23:20

相关推荐

扫描二维码进入小程序超详细过程

项目场景:

提示:这里简述项目相关背景:二维码中的参数是文章的id。在微信公众号相关的配置在这就不说明了。

假设配置完成域名为:?id=${id}

下面主要讲述小程序方面的代码编写。

需求: 通过扫描二维码进入小程序的文章详情detail页面,首先判断用户之前是否登录过小程序,如果没有登录过则跳到登录login页面进行登录,登录成功后返回到文章详情detail页面;如果已经登录则直接通过接口查看文章详情。

问题分析:

一、当我们扫码二维码进入文章详情页面时,假设用户没有登录,跳转到登录login页面,登录成功后需要判断跳转到程序首页还是文章详情页面

二、登录成功后再次返回文章详情页面时,在onload函数中获取不到之前扫码进入小程序的参数文章id

解决方案:

在跳转登录页面时,将参数id存入缓存,给登录login页面传递一个标识flag,表示我们是从文章详情进入,登录成功后还需要返回到文章详情

文章详情页面detail.js

onLoad: function (options) {// 通过获取 token 判断用户是否登录过小程序let token = wx.getStorageSync('Token')let id = token && wx.getStorageSync('id') // id存在说明是从扫描二维码进入,但用户没有登录if(id){// 将缓存中的 文章id 清除wx.removeStorageSync('id')//TODO 在这里调获取文章详情的接口}else{// 说明扫码进入// url为配置的域名, 通过字符串切割的方法获取参数idlet url = decodeURIComponent(options.q)let id = url.split('=')[1]// 说明登录过小程序if(token){//TODO 在这里调获取文章详情的接口}else{// 说明没有登录过小程序// 将参数id放进缓存,等登录成功返回此页面时用来获取文章详情wx.setStorageSync('id',id)wx.navigateTo({url: '/pages/login/login?flag=1',})}}},

登录页面login.js

Page({data: {ifFlag:false, // 判断是否从文章详情页面进入},onLoad: function (options) {// 获取flag标识const flag = options.flag ? true : falsethis.setData({flag})}// 登录函数submit(){// TODO 登录成功后我们只需要判断flagif(flag) // 跳到文章详情页面else // 正常跳到程序首页}})

总结

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。