「小程式JAVA實戰」小程式的頁面重定向(59)
在我們正常的瀏覽網站的時候,未登入點選vip專區的時候,需要登入,登入後還會回到最初要進入的網站,這就是頁面重定向,在小程式裡面也需要完成這樣的功能。原始碼:https://github.com/limingios/wxProgram.git 中No.15
小程式程式碼
對於搜尋,可以類似淘寶的功能,無需登入就可以進行搜尋,但是檔案上傳這個功能就需要進行登入後才可以進行上傳,登入後在跳轉到原來的頁面進行操作。
- 增加data中的預設頁面物件,本頁面的回撥地址
var videoUtils = require('../../utils/videoUtils.js') const app = getApp() Page({ data: { cover:'cover', videoContext:"", videoInfo:{}, videId:'', src:'' }, showSearch:function(){ wx.navigateTo({ url: '../videoSearch/videoSearch', }) }, onLoad:function(params){ var me = this; me.videoContext = wx.createVideoContext('myVideo', me); var videoInfo = JSON.parse(params.videoInfo); var videoWidth = videoInfo.videoWidth; var videoHeight = videoInfo.videoHeight; var cover = 'cover'; if (videoWidth > videoHeight){ cover = ''; } me.setData({ videId: videoInfo.id, src: app.serverUrl + videoInfo.videoPath, videoInfo: videoInfo, cover: cover }) }, showIndex:function(){ wx.redirectTo({ url: '../index/index', }) }, onShow:function(){ var me = this; me.videoContext.play(); }, onHide:function(){ var me = this; me.videoContext.pause(); }, upload:function(){ var me = this; var userInfo = app.getGlobalUserInfo(); var videoInfo = JSON.stringify(me.data.videoInfo); var realUrl = '../videoInfo/videoInfo#videoInfo@' + videoInfo; if (userInfo.id == '' || userInfo.id == undefined) { wx.navigateTo({ url: '../userLogin/userLogin?realUrl=' + realUrl, }) } else { videoUtils.uploadVideo(); } }, showMine: function () { var me = this; var userInfo = app.getGlobalUserInfo(); var videoInfo = JSON.parse if (userInfo.id == '' || userInfo.id == undefined){ wx.navigateTo({ url: '../userLogin/userLogin', }) }else{ wx.navigateTo({ url: '../mine/mine', }) } }, })
登入頁面的解析控制
const app = getApp() Page({ data: { realUrl:'' }, onLoad:function(params){ var realUrl = params.realUrl; var me = this; realUrl = realUrl.replace(/#/g,"?"); realUrl = realUrl.replace(/@/g, "="); me.setData({ realUrl: realUrl }) }, doLogin: function (e) { var formObject = e.detail.value; var username = formObject.username; var password = formObject.password; var me = this; // 簡單驗證 if (username.length == 0 || password.length == 0) { wx.showToast({ title: '使用者名稱或密碼不能為空', icon: 'none', duration: 3000 }) } else { wx.showLoading({ title: '正在登入中。。。' }); wx.request({ url: app.serverUrl + "/login", method: "POST", data: { username: username, password: password }, header: { 'content-type': 'application/json' // 預設值 }, success: function (res) { console.log(res.data); var status = res.data.status; wx.hideLoading(); if (status == 200) { wx.showToast({ title: "使用者登陸成功~!", icon: 'none', duration: 3000 }) // app.userInfo = res.data.data; app.setGlobalUserInfo(res.data.data); var realUrl = me.data.realUrl; if (realUrl != null && realUrl != '' && realUrl != undefined){ wx.redirectTo({ url: realUrl, }) }else{ wx.redirectTo({ url: '../mine/mine', }) } } else if (status == 500) { wx.showToast({ title: res.data.msg, icon: 'none', duration: 3000 }) } } }) } }, goRegisterPage: function (e) { wx.redirectTo({ url: '../userRegister/userRegister', }) } })
PS:頁面重定向只是一種手段,有很多是通過後臺的方式來進行控制的,下次給老鐵說下springboot的攔截器。
ofollow,noindex" target="_blank" href="http://zhanzhang.baidu.com/sitesubmit/index?sitename=https://idig8.com/2018/09/24/xiaochengxujavashizhanxiaochengxudeyemianzhongdingxiang59/">百度未收錄
>>原創文章,歡迎轉載。轉載請註明:轉載自IT人故事會,謝謝!
>>原文連結地址: