扫描二维码进入小程序超详细过程
生活随笔
收集整理的這篇文章主要介紹了
扫描二维码进入小程序超详细过程
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
項目場景:
提示:這里簡述項目相關(guān)背景:二維碼中的參數(shù)是文章的id。在微信公眾號相關(guān)的配置在這就不說明了。
假設(shè)配置完成域名為:http://xiaobai.com?id=${id}。
下面主要講述小程序方面的代碼編寫。
需求: 通過掃描二維碼進(jìn)入小程序的文章詳情detail頁面,首先判斷用戶之前是否登錄過小程序,如果沒有登錄過則跳到登錄login頁面進(jìn)行登錄,登錄成功后返回到文章詳情detail頁面;如果已經(jīng)登錄則直接通過接口查看文章詳情。
問題分析:
一、當(dāng)我們掃碼二維碼進(jìn)入文章詳情頁面時,假設(shè)用戶沒有登錄,跳轉(zhuǎn)到登錄login頁面,登錄成功后需要判斷跳轉(zhuǎn)到程序首頁還是文章詳情頁面
二、登錄成功后再次返回文章詳情頁面時,在onload函數(shù)中獲取不到之前掃碼進(jìn)入小程序的參數(shù)文章id
解決方案:
在跳轉(zhuǎn)登錄頁面時,將參數(shù)id存入緩存,給登錄login頁面?zhèn)鬟f一個標(biāo)識flag,表示我們是從文章詳情進(jìn)入,登錄成功后還需要返回到文章詳情
文章詳情頁面detail.js
onLoad: function (options) {// 通過獲取 token 判斷用戶是否登錄過小程序let token = wx.getStorageSync('Token')let id = token && wx.getStorageSync('id') // id存在說明是從掃描二維碼進(jìn)入,但用戶沒有登錄if(id){// 將緩存中的 文章id 清除wx.removeStorageSync('id')//TODO 在這里調(diào)獲取文章詳情的接口}else{ // 說明掃碼進(jìn)入// url為配置的域名, 通過字符串切割的方法獲取參數(shù)idlet url = decodeURIComponent(options.q)let id = url.split('=')[1]// 說明登錄過小程序if(token){//TODO 在這里調(diào)獲取文章詳情的接口}else{// 說明沒有登錄過小程序// 將參數(shù)id放進(jìn)緩存,等登錄成功返回此頁面時用來獲取文章詳情wx.setStorageSync('id',id)wx.navigateTo({url: '/pages/login/login?flag=1',})}}},登錄頁面login.js
Page({data: {ifFlag:false, // 判斷是否從文章詳情頁面進(jìn)入},onLoad: function (options) {// 獲取flag標(biāo)識const flag = options.flag ? true : falsethis.setData({flag})}// 登錄函數(shù)submit(){// TODO 登錄成功后我們只需要判斷flagif(flag) // 跳到文章詳情頁面else // 正常跳到程序首頁} })總結(jié)
總結(jié)
以上是生活随笔為你收集整理的扫描二维码进入小程序超详细过程的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: POJ - 3311 Hie with
- 下一篇: Hie with the Pie(旅行商