当前位置: 首页 > wzjs >正文

网站怎么用seo关键词排名优化价格

网站怎么用,seo关键词排名优化价格,精湛的中山网站建设,网站建设需要什么编程语言1. 全局路由拦截(最推荐)原理:利用小程序页面栈和路由跳转机制进行统一拦截 实现步骤:// app.js 中定义全局路由守卫 App({onLaunch() {// 存储原始路由方法const originalNavigateTo wx.navigateTo;wx.navigateTo function(opt…

1. 全局路由拦截(最推荐)

原理:利用小程序页面栈和路由跳转机制进行统一拦截
实现步骤

// app.js 中定义全局路由守卫
App({onLaunch() {// 存储原始路由方法const originalNavigateTo = wx.navigateTo;wx.navigateTo = function(options) {if (needAuth(options.url) && !isLogin()) {return redirectToLogin(); // 跳转到登录页}originalNavigateTo.call(this, options);};// 对 wx.redirectTo/wx.switchTab 等做同样处理}
})// 检查页面是否需要登录
function needAuth(url) {const authPages = ['/pages/order/order', '/pages/profile/profile'];return authPages.some(page => url.includes(page));
}

2. 页面跳转前检查(组件化方案)

原理:封装自定义导航组件
实现代码

// components/auth-navigate/auth-navigate.js
Component({methods: {handleNavigate() {if (this.data.requireAuth && !getApp().globalData.isLogin) {wx.navigateTo({ url: '/pages/login/login' });} else {wx.navigateTo({ url: this.data.target });}}}
})// 页面中使用
<auth-navigate target="/pages/order/order" require-authbindtap="handleNavigate"
>去订单页</auth-navigate>

3. 页面生命周期拦截

原理:在页面的onLoadonShow中检查
实现代码

// pages/order/order.js
Page({onShow() {if (!getApp().globalData.isLogin) {wx.redirectTo({ url: '/pages/login/login' });return;}// 正常逻辑...}
})

4. 后端接口拦截(补充方案)

原理:通过接口返回状态码强制跳转
实现逻辑

// 封装请求方法
function request(url, data) {return new Promise((resolve, reject) => {wx.request({url,success(res) {if (res.data.code === 401) { // 未登录状态码redirectToLogin();reject('未登录');} else {resolve(res.data);}}});});
}

5. 本地存储检查(简单方案)

原理:利用wx.getStorageSync快速验证
实现代码

function checkAuth() {try {const token = wx.getStorageSync('token');if (!token) throw new Error();} catch {wx.showModal({title: '提示',content: '请先登录',success() { wx.reLaunch({ url: '/pages/login/login' }) }});return false;}return true;
}

方案对比

方法优点缺点适用场景
全局路由拦截一劳永逸,维护成本低需要处理特殊页面(如tabBar)中大型应用
自定义导航组件组件化,可复用性强每个链接需替换为组件需要精细控制的场景
页面生命周期检查实现简单每个页面需单独添加代码少量需要拦截的页面
后端接口拦截权限控制绝对可靠用户感知延迟对安全性要求高的功能
本地存储检查快速实现无法防止直接URL访问简单小程序

最佳实践建议

  1. 组合使用

    • 核心方案:全局路由拦截 + 页面生命周期检查

    • 增强方案:关键接口401拦截

  2. 用户体验优化

    // 登录成功后返回原页面
    wx.redirectTo({url: '/pages/login/login?redirect=' + encodeURIComponent(currentPage)
    });

  3. 特殊页面处理

    // 在app.js中排除登录页
    if (options.url.includes('login')) {return originalNavigateTo.call(this, options);
    }

4.TabBar页面处理

 

// 由于switchTab不能带参数,需使用全局变量
getApp().globalData.requireLogin = true;
wx.switchTab({ url: '/pages/profile/profile' });

注意事项

  1. 小程序页面路径最多支持10层,避免循环跳转

  2. tabBar页面无法通过navigateTo跳转,需特殊处理

  3. onLaunch中无法获取页面栈,建议用getCurrentPages()做运行时检查

根据项目复杂度选择方案,一般推荐方案1+3的组合实现。

http://www.dtcms.com/wzjs/277012.html

相关文章:

  • 如何修改网站联系人网络舆情分析报告
  • 西安网站建设设计的好公司排名国外引流推广平台
  • 专业的集团网站建设新媒体运营培训学校
  • 淄博市沂源县城乡建设局网站乐天seo培训
  • 百度网站的总结专业软文
  • 权威数据统计网站全国疫情最新情况
  • 广州商城型网站制作网站需要多少费用
  • 实业有限公司网站怎么做友链交换不限内容
  • 跟做竞价的网站友情链接有用吗龙岩网站推广
  • 旅游网站建设费用福鼎网站优化公司
  • 做网站暴利网络营销毕业论文范文
  • 衡水网站建百度资源
  • 网站备案ip查询系统站长工具忘忧草社区
  • wordpress不修改数据库更换域名英文seo兼职
  • 网站建设及报价格方案免费的外贸网站推广方法
  • 京东网站建设案例论文柳州网站建设哪里有
  • 汽车网站怎么做项目营销策划方案
  • 管理系统是网站吗重庆百度关键词优化软件
  • 中小型网站建设策划平谷头条新闻
  • 做课件用这15大网站优化手机流畅度的软件
  • 装修公司做网站好做吗qq营销
  • 语言互动网站建设百度电脑版下载安装
  • 网站建设方式可行性分析推广赚钱的微信小程序
  • 猪八戒网做动漫弹幕网站深圳谷歌推广公司
  • 做网站怎么赚钱的公司网站推广运营
  • 网站导航是怎么做的收录查询站长工具
  • 温州商城网站建设成人教育培训机构十大排名
  • 找有意者做阿里巴巴去哪个网站知乎营销平台
  • 企业网站怎做seo是什么单位
  • 织梦网站图片不显示营销策划方案怎么做