zoukankan      html  css  js  c++  java
  • main.js中封装全局登录函数

    1. 在 main.js 中封装全局登录函数

    通过 vue 对象的原型扩展,可以扩展一个函数,这样这个函数就可以在
    每一个界面通过类似指向对象的方式,去访问这个函数。

    如下是 main.js 扩展的函数:

    Vue.prototype.checkLogin = function(backpage, backtype){
        var SUID  = uni.getStorageSync('SUID');
        var SRAND = uni.getStorageSync('SRAND');
        var SNAME = uni.getStorageSync('SNAME');
        var SFACE = uni.getStorageSync('SFACE');
        if(SUID == '' || SRAND == '' || SFACE == ''){
            uni.redirectTo({url:'../login/login?backpage='+backpage+'&backtype='+backtype});
            return false;
        }
        return [SUID, SRAND, SNAME, SFACE];
    }

    uni.getStorageSync 采用同步的方式获取本地存储的四个变量。
    分别是:

    • SUID:用户id
    • SRAND:用户随机码
    • SNAME:用户名称
    • SFACE:用户头像

    如果四个变量为空值得话,就认为用户没有登录,则使用 uni.redirectTo 重定向的方式跳转到登录页,补充:uni.redirectTo 为 uni-app 中的两种跳转方式之一。

    登录失败后返回 false,如果是已经登录了,则把需要获取的值返回回去;

    参数说明

    backpage, backtype 2个参数分别代表:

    • backpage : 登录后返回的页面
    • backtype : 打开页面的类型[1:redirectTo、2:switchTab]
    返回值说明

    已经登录返回数组 [用户 id, 用户随机码, 用户昵称, 用户表情]

    2. 创建 login 页面

    login 页面作为登录过度页面,多端登录都通过此页面完成!

    <template>
        <view>
            {{backpage}}
            ---
            {{backtype}}
        </view>
    </template>

    <script>
        export default {
            data() {
                return {
                    backpage:'',
                    backtype:''
                };
            },
            onLoad:function(e){
                this.backpage = e.backpage;
                this.backtype = e.backtype;
            }

        }
    </script>

    <style>

    </style>

    3. 在页面中应用登录检查函数

    我们通过界面触发校验登陆的函数,如 write.vue 界面。

    点击上图中的 写作 将会触发验登陆的函数 checkLogin ,在这同时传递了两个参数,具体代码如下:

    <script>
        export default {
        data() {
            return {

            };
        },
        onLoad : function() {
            var loginRes = this.checkLogin('../my/my''2');
            if(!loginRes){return false;}
        }
    }
    </script>

    return 或终止函数运行哦!

    执行结果如下:

    很显然,跳转至 login.vue 登陆界面了。

     

  • 相关阅读:
    maven使用杂记
    Gradle中的SourceSet理解
    CyclicBarrier正确的使用方法和错误的使用方法
    jstack 结果查看
    java1.8中ConcurrentHashMap
    grub2配置关键(三个核心变量prefix、root、cmdpath)和几点疑问
    关于docker的理解随记
    docker中的命令参数(小白常用)
    tmux快捷键汇总(常用)
    archlinux安装gnome的一些坑随记
  • 原文地址:https://www.cnblogs.com/niceyoo/p/10624642.html
Copyright © 2011-2022 走看看