$(eModal).on('hidden.bs.modal', function (eve) { eve.preventDefault(); // 窗口关闭后,判断是否登录成功 // 登录成功后,登录窗口会把token传递到调用登录窗口的页面(当前页面),通过globalModule获取token var sToken = globalModule.getToken(); // 获取URL的路径部分,作为跳转的判断 var sPathname = window.location.pathname; if (sToken) { mAuth.login(sToken); } else if (!mAuth.isLogined() && sPathname === '/personal-center.html') { // 当登录状态失效,同时页面处在用户中心时,关闭登录窗口强制页面自动跳转到首页 window.location.href = mUtil.getSkipUrl('/index.html'); } });
$(function () { // ************************************ // 声明 // ************************************ // 共用的用户信息 var oUserData; // ************************************ // 通用 // ************************************ // 向 auth 模块中加入导航的 登录/登出 的状态更新。 mAuth.addNoticeList( function () { loadSidebar(); }, function () { window.location.href = mUtil.getSkipUrl('/index.html'); } ); // 添加alert模块需要的HTML $('body').prepend(tplAlert); // 移除 侧导航 和 内容区域 的DOM function removeSidebarAndMain () { $('#sidebar').empty(); $('#mainbar').empty(); } // 加载侧导航 function loadSidebar () { var sHash = location.hash; var sToken = mSession.getToken(); // 获取用户信息,加载侧导航 mApi.getAuthUser(sToken) .done(function (success) { oUserData = success.data[0].user; // 重新组织列表的数据 var sideData = mRegroupData.sidebar(oUserData, sHash); // 渲染侧导航 document.getElementById('sidebar').innerHTML = tplSidebar(sideData); // 侧导航切换主区域内容,同时更新URL中的Hash $('.menu-list').on('click', '.menu-list-link', function (event) { event.preventDefault(); $('.menu-list').find('a').removeClass('active'); var sHref = $(this).addClass('active').attr('href'); var sRoute = location.hash = mUtil.getHash(sHref); // 侧导航按钮切换主内容 loadMain(oUserData, sRoute); }); // 加载完侧导航,加载主内容 loadMain(oUserData, sHash); }) .fail(function () { // 登录状态下,登录失效 // 1.注销登录 // 2.消除DOM // 3.弹出对话框 mSession.destroyUser(); removeSidebarAndMain(); mSignModal.showModal(); }); } // 加载内容区域 function loadMain (userData, route) { console.log(route); var sToken = mSession.getToken(); // 渲染个人中心不同页面的数据 switch (route) { case '#account': // 加载用户资料的内容 mAccountMain(userData, sToken); break; case '#progress': // 加载学习进度的内容 mProgressMain(sToken); break; case '#recharge-records': // 加载充值记录 mRechargeMain(userData, sToken); break; case '#purchase-records': // 加载购买记录 mPurchaseMain(userData, sToken); break; case '#preferential': // 加载优惠信息 mPreferentialMain(userData, sToken); break; default: mAccountMain(oUserData, sToken); } } // ************************************ // 功能 // ************************************ // 页面载入,未登录状态,并弹出登录对话框。 // mAuth.isLogined()返回false,代表Cookie中的token已经被注销,所以只需要弹出对话框即可。 mAuth.isLogined() || mSignModal.showModal(); });
$(function () { // ************************************ // 声明 // ************************************ // 视频的标题 var sTit, sSubtit; // ************************************ // 通用 // ************************************ // 向auth模块中加入视频的登录和登出方法。 mAuth.addNoticeList( function () { var sToken = mSession.getToken(); mApi.getAuthUser(sToken) .done(function (success) { oLoadVideo.logined(success.data[0].user.id, sToken); }) .fail(function (error) { alert(error); }); }, function () { $('#firstBt').off().hide(); oLoadVideo.notLogin(); } ); // 加载视频信息 var oLoadVideo = { // 已登录加载视频详情 logined: function (uid, token) { var nPid = mUtil.getQueryString('pid'); // 获取视频详情 mApi.getProductDetails(nPid, uid) .done(function (success) { loadContent(success.data[0]); // 初始化播放器 mVideoPlay('play-box', success.data[0], token); }) .fail(function (error) { alert(error); }); }, // 未登录加载视频详情 notLogin: function () { var nPid = mUtil.getQueryString('pid'); // 获取视频详情 mApi.getProductDetails(nPid) .done(function (success) { loadContent(success.data[0]); // 初始化播放器 mVideoPlay('play-box', success.data[0]); }) .fail(function (error) { alert(error); }); } }; // 渲染模板和绑定事件 function loadContent (data) { // 渲染标题的模板 document.getElementById('title').innerHTML = tplTitle(data); sTit = data.num; sSubtit = data.title; // 渲染侧栏的模板 document.getElementById('tab-content').innerHTML = tplSidebar(data); var jqTmList = $('#tm-list'); var jqTmBtn = $('#tm-btn'); // 为PC端设置按钮和下拉列表相同的宽度。 var nTmListWidth = jqTmList.innerWidth(); var nTmBtnWidth = jqTmBtn.innerWidth(); if (mUtil.isPC) { if (nTmListWidth > nTmBtnWidth) { jqTmBtn.css('width', '100%'); } else { jqTmList.css('width', '100%'); } } // 下拉列表,切换课程 jqTmList.delegate('a.tm-panel-item', 'click', function (event) { event.preventDefault(); var nID = $(this).data('id'); var sSearch = window.location.search.replace(/[^=]+$/, nID); window.location.search = sSearch; }); mDropdownMenu('#tm-btn', '.tit-master'); } // 添加alert模块需要的HTML $('body').prepend(tplAlert); // ************************************ // 功能 // ************************************ // 未登录时,加载视频 mAuth.isLogined() || oLoadVideo.notLogin(); // 加载购物车 mShoppingOperation.loadMiniCart(function () { // 绑定按钮事件 mDropdownMenu.handle('#sc-btn', '.shopping-car'); mShoppingOperation.switchEmptyBg(); }); // 加载 加入购物车(目前接口没有返回价格,价格暂时是常量) // 渲染 加入购物车 document.getElementById('buy-content').innerHTML = tplBuy(); $('#add-to-cart').on('click', function (event) { event.preventDefault(); var jqSelf = $(this).button('loading'); var nPid = mUtil.getQueryString('pid'); mShoppingOperation.add(nPid, sTit, sSubtit, function () { mAlert.success('加入成功'); jqSelf.button('reset'); }); }); // 侧导航TAB切换。 $('#sidebar-tabs').on('click', '.sidebar-tab', function (event) { event.preventDefault(); $(this).tab('show'); }); });