「小程序JAVA實戰」小程序的頁面重定向(60)

在我們正常的瀏覽網站的時候,未登錄點擊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',
      })
    }
    
   
  },
})

1240

登錄頁面的解析控制

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',
    })
  }
})

1240

1240

PS:頁面重定向只是一種手段,有很多是通過後臺的方式來進行控制的,下次給老鐵說下springboot的攔截器。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章