span控件能有什么办法调用ajax_【20201209】做个用户管理系统(22)——用户登录状态(二)AJAX的应用...

1. 介绍

1.1 介绍

福哥今天要继续制作TFUMS系统的用户登录状态的功能,上一课我们已经完成了用户登录状态的接口的开发,今天我们的目的就是要在页面上根据这个用户登录状态显示不同的界面内容,让用户可以了解到自己当前是否已经登录了。

用户登录状态有两种使用场景,第一种就是在后台进行判断的,这种场景属于在后端发现用户没有登录就会直接拦截并采取措施(例如:跳转到首页);第二种就是在前台进行判断的,这种场景属于公开授权的页面的情况,我们通过JS程序动态将用户登录状态“告知”用户就可以了。

2. TFUMS主JS

我们建立js/tfums.js程序文件,这个程序作为系统基本的JS程序文件,所有公共使用的JS对象、函数、JQ控件都放这个程序文件里面。

2.1 JQ控件tfums

(function ($) {    var myTFUMS = {        obj : null,        opts : null,        start : function(){            $('#login-status').loginStatus({                baseUri : this.opts.baseUri            });        },        init : function(obj, opts){            if(!opts instanceof Object){                opts = null;            }            this.obj = obj;            this.opts = opts;        }    }    myTFUMS.init.prototype = myTFUMS;    $.fn.tfums = function (options) {        var my = new myTFUMS.init(this, options);        my.start();    };})(jQuery);

2.2 JQ控件loginStatus

(function ($) {    var myLoginStatus = {        obj : null,        opts : null,        start : function(){            var ex=this;            $.get(this.opts.baseUri + 'api/member/status',function(d){                if(d.userID){                    ex.obj.html("");                    ex.obj.append("+ ex.opts.baseUri +"member/profile.htm\" class=\"nav-link\">"+ d.userName +"" +                        "+ ex.opts.baseUri +"api/member/logout\" class=\"nav-link\">注销");                }            },'json');        },        init : function(obj, opts){            if(!opts instanceof Object){                opts = null;            }            this.obj = $(obj);            this.opts = opts;        }    }    myLoginStatus.init.prototype = myLoginStatus;    $.fn.loginStatus = function (options) {        var my = new myLoginStatus.init(this, options);        my.start();    }})(jQuery);

2.3 页尾加载tfums

$(document.body).tfums({    baseUri : "server->BASE_URI %>"});

3. 控制器

3.1 logout

class APIController extends SystemAPIController{    public function user_process(){        $cookie = $this->tfphp->getRequest()->cookie;        $user = new user($this->tfphp);        $id = $cookie->get("tfums_id");        $token = $cookie->get("tfums_token");        try{            $user->clearToken($token);        }        catch(\TypeError $e){ }        $this->tfphp->getResponse()->location($this->tfphp->getRequest()->server->BASE_URI);    }}

4. 讲解

4.1 JQ控件tfums

可以看出来,这个tfums控件什么都没做,只是在start方法里面调用了loginStatus控件而已。

4.2 JQ控件loginStatus

这个控件只是做了一件事情,就是通过JQ发起一个AJAX请求,请求上一课我们开发的api/member/status控制器,获取当前用户登录状态信息。

4.3 页尾加载tfums

福哥在视图模板的页尾footer.htm里面的最下面增加了tfums控件的调用,通过tfums控件可以调用所有公共操作的JS程序。

5. 控制器

5. logout

注销控制器存放在WEB-INF/Controller/api/member/logout.inc.php里面。

这个控制器只做了一件事就是清除token,当然清除之后还需要转到一个不需要登录就可以访问的页面上(比如:首页)。

4c8880e0e980cfc064b6eb0e45dc9198.png

6. 总结

今天福哥带着童鞋们完成了用户登录状态的另一种展示方式,使用AJAX方式可以在那些公共授权的页面上通过JS程序向用户展示登录状态。

结合上一课,我们就掌握了两种展示用户登录状态的方法,即:后端展示(中间层),前端展示(AJAX),有了这个技术之后我们就可以开始做登录之后的功能了。


【20201208】做个用户管理系统(21)——用户登录状态(一)实体的应用

【20201207】做个用户管理系统(20)——登录功能的实现


免费看文章,自己学技术


每一篇文章都是福哥一个字一个字地敲出来的,都是福哥原创的。

每一篇文章都是经过了福哥的反复验证的,都是可以正常使用的。


3b7e3844ba7f831a3c389560a966fb55.png

d114aaa1089633ca0e0601928e53dc61.png

解压密码:123 安装说明:https://blog.csdn.net/hongfu951/article/details/118517942 SPAN Plus是一个实时“快速傅叶变换”音频频谱分析仪AAX, AudioUnit和VST插件,用于专业的声音和音乐制作应用SPAN Plus是免费软件SPAN插件的扩展版本:SPAN Plus提供了几个额外的功能,如PNG文件导出,实时频谱导入/导出跨轨频谱比较,和静态频谱显示。 SPAN Plus为您提供了一个非常灵活的“模式”系统,您可以使用它来设置您的频谱分析仪偏好。你可以指定样本的傅叶块大小,FFT窗口重叠百分比,光谱的视觉斜率。此外,您可以选择显示所需类型的次级频谱(例如,实时最大值,所有时间最大值)。光谱可以在视觉上进行平滑处理,便于检查。 除了跨轨频谱比较,SPAN Plus还支持多通道分析,可以设置为同时显示两个不同通道或通道组的频谱。光谱的颜色可以选择来品尝。 SPAN Plus还具有可调弹道和集成时间输出电平计量,EBU R128, k -系统计量(包括校准k -系统计量)。SPAN Plus显示电平计量统计,净空估计和真正的峰值剪辑检测。相关测量也是可用的。 2020年2月20日:Voxengo很高兴地宣布发布SPAN Plus 1.10版本——一个扩展的实时“快速傅叶变换”音频频谱分析仪插件,适用于专业音乐和音频制作应用SPAN Plus支持AAX、AudioUnit、VST和VST3插件格式,适用于macOS和Windows计算机。 SPAN Plus是免费软件SPAN插件的扩展版本:SPAN Plus提供了一些额外的功能,如PNG文件导出,实时频谱导入/导出和静态频谱显示。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值