unicloud云开发进阶50-项目34 判断登陆后才能对博客点赞

71 阅读1分钟

未登录时不允许点击点赞按钮

在点击时判断用户是否登陆过,如果未登录,就弹出登陆提示框,并跳转到登录页面 登陆有三种免密登陆、密码登陆、微信登陆,有三个页面,所以在这里不能写死了

登陆页面在pages.json页面中,在detail页面引入这个文件,把整个文件赋给变量pageJson

<script>
  import pageJson from "@/pages.json"
  console.log(pageJson);
  ...

这里就是整个pageJson的返回值, image.png

全部的代码:

      //点赞操作数据库的方法
      async likeFun(){
        // 未登录用户不允许点赞操作
        if(!store.hasLogin){
          uni.showModal({
            title:"是否确认登录",
            success:res=> {
              if(res.confirm){
                uni.navigateTo({
                  url: "/" + pageJson.uniIdRouter.loginPage
                })
              }
            }
          })
          return;
        };

在我的页面退出后应该还在这个页面

现在是在我的页面点击退出登录后,会跳转到登录页面

image.png

store.js文件中,之前写的跳转代码:

// 退出完成后跳转到个人中心页面
// 一个问号是可选链,两个问号是空值合并运算符
uni.redirectTo({
    url: `/${pagesJson.uniIdRouter?.loginPage ?? 'pages/self/self'}`,
});

改成这样

// 退出完成后跳转到个人中心页面
// 一个问号是可选链,两个问号是空值合并运算符
uni.redirectTo({
    url: '/pages/self/self',
});