asp.net mvc post 后台model_前端项目 025 电商后台管理系统01

本文详细介绍了基于Vue.js的前端项目中,采用前后端分离模式实现登录和退出功能。登录功能利用Element-UI组件库构建界面,并通过token机制处理状态,包括登录验证、数据绑定与验证、路由权限控制等。退出则通过清除本地token来实现。文章还涉及了HTTP无状态、Cookie、Session和Token的概念。
摘要由CSDN通过智能技术生成

这个后台管理系统整体采用前后端分离的开发模式,其中前端项目是基于 Vue 技术栈的 SPA 项目。

01 . 登录/退出功能

1 .1 登录概述

  • 在登录页面输入用户名和密码
  • 调用后台接口进行验证
  • 通过验证之后,根据后台的响应状态跳转到项目主页

1.2. 登录业务的相关技术点
 http 是无状态的
 通过 cookie 在客户端记录状态
 通过 session 在服务器端记录状态
 通过 token 方式维持状态

存在跨域问题,回你采用token的方式进行登陆,token的原理如图所示

c76447f6adb3fc408b13d858fc778074.png
token原理

1.3 登录功能实现

1.3.1. 登录页面的布局

通过 Element-UI 组件实现布局

  • el-form
  • el-form-item el-input
  • el-button
  • 字体图标

b3ebe1d8cfaf717e9f1dbb4865cc29a6.png
登陆

代码结构

20be419d340d8ff8623dd94512e703f4.png
代码结构

1.3.2 登陆组件的数据绑定和数据验证

实现表单的数据绑定 v-model

<

绑定的数据:

 loginForm: {
 username: 'admin',
 password: '123456'}

实现表单的数据验证

防止用户犯错的情况下,尽可能让用户发现并纠正错误

From 使用 :rules="loginFormRules"属性来传入约定的校验规则

From-Item 使用prop="password" prop="username" 属性设置需要校验的字段名

loginFormRules

表单的重置

通过ref的引用拿到表单的实力对象

 resetLoginForm() {
 this.$refs.loginFormRef.resetFields()
    },

resetFields()是Element-UI自带的函数

登陆组件登陆前的预验证 this.$refs.loginFormRef.validate()

login

登录组件根据预验证是否发起请求,

login

Message弹窗组件挂载到Vue原型当中

Vue

路由导航守卫控制访问权限
如果用户没有登录,但是直接通过URL访问特定页面,需要重新导航到登录页面。

// 为路由对象,添加 beforeEach 导航守卫 

退出功能实现原理
基于 token 的方式实现退出比较简单,只需要销毁本地的 token 即可。这样,后续的请求就不会携带 token ,必须重新登录生成一个新的 token 之后才可以访问页面。

// 清空token window.sessionStorage.clear() 
// 跳转到登录页 this.$router.push('/login') 
ASP.Net电子商务网站后台模板 <%@ Page Language="C#" AutoEventWireup="true" CodeFile="index.aspx.cs" Inherits="index" %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <title>电子商务网站管理</title> <link href="css/style.css" type="text/css" rel="stylesheet"> <link href="css/default.css" type="text/css" rel="stylesheet"> <script language="javascript" src="js/menu.js" type="text/javascript"></script> </head> <body onload="javascript:border_left('left_tab1','left_menu_cnt1');"> <form id="form1" runat="server"> <table id="indextablebody" cellpadding="0"> <thead> <tr> <th> <div id="logo" title="用户管理后台"> </div> </th> <th> <a style="color: #16547E">用户 :admin</a>   <a style="color: #16547E">身份 :超级管理员</a>   <a href="javascript:window.location.reload()" target="content3">隐藏工作台</a>  |   <a href="javascript:window.location.reload()" target="content3">管理首页</a>  |   <a href="help" target="_blank">使用帮助</a> </th> </tr> </thead> <tbody> <tr> <td class="menu"> <ul class="bigbtu"> <li id="now01"><a title="安全退出" href="#">安全退出</a></li> <li id="now02"><a title="更新缓冲" href="#">更新缓冲</a></li> </ul> </td> <td class="tab"> <ul id="tabpage1"> <li id="tab1" title="管理首页"><span id="spanTitle">管理首页</span></li> </ul> </td> </tr> <tr> <td class="t1"> <div id="contents"> <table cellpadding="0"> <tr class="t1"> <td> <div class="menu_top"> </div> </td> </tr> <tr class="t2"> <td> <div id="menu" class="menu"> <ul class="tabpage2"> <li id="left_tab1" title="操作菜单" onClick="javascript:border_left('left_tab1','left_menu_cnt1');"><span>人事</span></li> </ul> <div id="left_menu_cnt1" class="left_menu_cnt"> <ul id="dleft_tab1"> <li id="now11"><a title="系统设置" href="#" target="content3"><span>系统设置1</span></a></li> <li id="now12"><a title="栏目管理" href="#" target="content3"><span>栏目管理</span></a></li> <li id="now13"><a title="下单记录" href="#" target="content3"><span>内容管理</span></a></li> <li id="now17"><a title="上传文件" href="#" target="content3"><span>上传文件管理</span></a></li> <li id="now18"><a title="自定义文件" href="#" target="content3"><span>自定义文件</span></a></li> <li id="now19"><a title="生成文件管理" href="#" target="content3"><span>生成文件管理</span></a></li> <li id="now1a"><a title="标签管理" href="#" target="content3"><span>标签管理</span></a></li> <li id="now1b"><a title="模板管理" onclick="show_title('生成文件管理')" href="#" target="content3"> <span>模板管理</span></a></li> </ul> </div> <div class="clear"> </div> <ul class="tabpage2"> <li id="left_tab2" onClick="javascript:border_left('left_tab2','left_menu_cnt2');" title="操作菜单"><span>日程</span></li> </ul> <div id="left_menu_cnt2" class="left_menu_cnt"> <ul id="dleft_tab2"> <li id="now11"><a title="系统设置" href="#" target="content3"><span>系统设置2</span></a></li> <li id="now12"><a title="栏目管理" href="#" target="content3"><span>栏目管理</span></a></li> <li id="now13"><a title="下单记录" href="#" target="content3"><span>内容管理</span></a></li> <li id="now14"><a title="友情链接管理" href="#" target="content3"><span>友情链接管理</span></a></li> <li id="now15"><a title="自定义标签" href="#" target="content3"><span>自定义标签</span></a></li> <li id="now16"><a title="管理员管理" href="#" target="content3"><span>管理员管理</span></a></li> <li id="now17"><a title="上传文件" href="#" target="content3"><span>上传文件管理</span></a></li> <li id="now18"><a title="自定义文件" href="#" target="content3"><span>自定义文件</span></a></li> <li id="now19"><a title="生成文件管理" href="#" target="content3"><span>生成文件管理</span></a></li> <li id="now1a"><a title="标签管理" href="#" target="content3"><span>标签管理</span></a></li> <li id="now1b"><a title="模板管理" onclick="show_title('生成文件管理')" href="#" target="content3"> <span>模板管理</span></a></li> </ul> </div> <div class="clear"> </div> <ul class="tabpage2"> <li id="left_tab3" onClick="javascript:border_left('left_tab3','left_menu_cnt3');" title="操作菜单"><span>财务</span></li> </ul> <div id="left_menu_cnt3" class="left_menu_cnt"> <ul id="dleft_tab3"> <li id="now11"><a title="系统设置" href="#" target="content3"><span>系统设置2</span></a></li> <li id="now11"><a title="栏目管理" href="#" target="content3"><span>栏目管理</span></a></li> <li id="now11"><a title="下单记录" href="#" target="content3"><span>内容管理</span></a></li> <li id="now11"><a title="友情链接管理" href="#" target="content3"><span>友情链接管理</span></a></li> <li id="now11"><a title="自定义标签" href="#" target="content3"><span>自定义标签</span></a></li> <li id="now11"><a title="管理员管理" href="#" target="content3"><span>管理员管理</span></a></li> <li id="now11"><a title="上传文件" href="#" target="content3"><span>上传文件管理</span></a></li> <li id="now11"><a title="自定义文件" href="#" target="content3"><span>自定义文件</span></a></li> <li id="now11"><a title="生成文件管理" href="#" target="content3"><span>生成文件管理</span></a></li> <li id="now11"><a title="标签管理" href="#" target="content3"><span>标签管理</span></a></li> <li id="now11"><a title="模板管理" onclick="show_title('生成文件管理')" href="#" target="content3"> <span>模板管理</span></a></li> </ul> </div> <div class="clear"> </div> </div> <tr class="t3"> <td> <div class="menu_end"> </div> </td> </tr> </table> </div> </td> <td class="t2"> <div id="cnt"> <div id="dtab1"> <iframe name="content3" src="main.aspx" frameborder="0"></iframe> </div> </div> </td> </tr> </tbody> </table> <script> //修改标题 function show_title(str){ document.getElementById("spanTitle").innerHTML=str; } </script> </form> </body> </html>
EntLib 电子商务(或网店)系统十二大功能介绍: 1、SEO优化--完善的内部链接结构和导航功能,细节到商品页面的头部meta元素中keywords和description的定义,充分进行搜索引擎优化工作,迅速提升网店流量。 具体SEO细节,可以参考EntLib.com 电子商务小组编写了一篇关于SEO的文章《电子商务网站的快速SEO解决方案》。 2、邮件营销--内部集成用户注册、创建订单和审核订单邮件、发货通知、到货通知邮件、邮件群发和邮件订阅功能,精准营销赢得商机。 3、优惠券营销--系统提供了丰富的优惠券功能,可以按特定产品、产品类别、产品品牌、订单总金额等等多方位、多角度设计优惠券应用策略,全面提升优惠券营销效果。 4、多样促销--系统提供了多样的营销功能,如相关商品设置、有奖问答、赠品等等功能,促进用户购买欲望。 5、捆绑销售--灵活的商品捆绑销售折扣,操作简单方便,极大提高用户的购买欲望和购买决策,迅速提升网站的商品销量。 6、系统扩展--后台订单处理系统和采购入库系统可以根据业务的需要,与仓库管理系统(WMS)、RMA系统实现无缝集成,提供仓库的出库、入库的准确率和工作效率,充分适应企业未来的业务发展需要。 7、供应链管理--全面实现供应链管理,包括供应商管理、账期管理、采购(入库)管理、产品成本等等,确保商城的成本优势和商品供应。 8、财务管理--财务管理包括应收款(AR)、应付款(AP)及系统积分帐号预算控制,确保公司的现金流和积分的安全。 9、会员等级--根据消费金额自动判断会员等级体系,并可根据不同的会员级别指定不同的优惠活动,大大提升商城会员忠诚度。 10、积分运营--全商城积分引擎,客户购买商品获取积分、消费积分、评论或注册获取积分等等,系统进行了详细的记录,并自动从各系统积分帐号进行提取,使积分的使用符合预算控制。另外,通过积分促进用户购买欲望,提高用户二次购买率。 11、权限管理--基于角色的访问控制(RBAC)标准,设计权限管理系统,对系统的各项功能进行合理的定义和分配。 12、系统日志--系统的各项业务操作,都有详细的操作日志,包括操作人、操作时间、IP地址等等,确保系统的各项业务数据都有据可查。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值