软路由保姆级入门教程 一篇看懂软路由

软路由保姆级入门教程 一篇看懂软路由,第1张

前言

玩张大妈也一年多了,软路由改装、刷机文章写了不少,很早就打算写篇软路由入门文章,但是一直没落实,原因有二:

最近开了几波软路由的车,接触了不少软路由0基础的小白,越来越觉得这篇文章必须要写。刚好中秋佳节抽空写下这篇文章,可能会在明天9月22日发布,写文章的时候是中秋,先祝大家中秋节快乐。因为比较重视这篇文章,所以列了个大纲:

软硬路由的定义

使用ASIC(专用集成电路)达成路由功能的路由器是硬路由,使用软件达成路由功能的路由器是软路由。

关于什么是软路由,我见过很多版本的解释,比如说能刷openwrt的是软路由、X86架构当路由用是软路由等等,就连百度百科解释也不算特别明朗

广告 滤芯报价现货供应_质优价廉 18115337880× 前言

玩张大妈也一年多了,软路由改装、刷机文章写了不少,很早就打算写篇软路由入门文章,但是一直没落实,原因有二:

最近开了几波软路由的车,接触了不少软路由0基础的小白,越来越觉得这篇文章必须要写。刚好中秋佳节抽空写下这篇文章,可能会在明天9月22日发布,写文章的时候是中秋,先祝大家中秋节快乐。因为比较重视这篇文章,所以列了个大纲:

使用ASIC(专用集成电路)达成路由功能的路由器是硬路由,使用软件达成路由功能的路由器是软路由。

关于什么是软路由,我见过很多版本的解释,比如说能刷openwrt的是软路由、X86架构当路由用是软路由等等,就连百度百科解释也不算特别明朗

就我 个人理解 ,软路由是传统(硬)路由相对的一种说法,使用什么设备运行、运行什么系统都不是最主要的区分条件,路由功能(比如路由、NAT、防火墙规则匹配等)的实现方式才是区别标准。比如说常见的mt7621系列CPU,都可以刷openwrt或者其他各种软路由系统,但是底层路由是ASIC支撑的,所以不能算是软路由。再比如比较火热的R2S、R4S系列,它并不是X86架构或者台式机服务器之类的机器,但它是个软路由。

PS:这里的定义只是帮初学者理解软硬路由的区别,适用领域可能有限,更高级别的防火墙、或者NP+ASIC方案暂时不在讨论范围。

一句话概括: 软路由胜在可玩性高、灵活度高、绝对性能强,硬路由胜在小包转发性能、带宽、功耗。

当然,某些优劣也不是绝对的,比如说功耗:高端的硬路由动辄十几瓦待机功耗,正在开车的软路由待机只有5W不到。

多网口 :两个或两个以上的网口,WAN、LAN直接分配。比较适合新手,价格相对偏高。

单线复用 :单网口机器当主路由,进出全在一个网口、通过VLAN方式划分流量。设置比较繁琐,一个网口既当爹又当妈跑不满千兆,稳定性一般。

旁路由 :单网口机器作为网关使用,对主路由有一定要求,需要简单设置,某些应用防火墙规则比较麻烦。

虚拟机 :其实这也算不上实现方式,算是软路由比较高阶的玩法,刚好之前有玩法教程,贴上来供参考。

常见的软路由系统有很多,比如openwrt、爱快、维盟、海蜘蛛、RouterOS等等等,就常见的几种稍微说明一下,以供参考选择:

openwrt :应该是家用最多的软路由系统了,不管你是LEDE还是esir,还是哪位大佬编译,或者类似于小米之类的路由器系统,都是基于openwrt,openwrt资源特别多,学习难度低,可玩性非常高,新手玩家推荐。

爱快ikuai :本土产品,易用性没什么问题,系统免费使用,流控做得凑合,多拨和负载均衡比openwrt好用,偏商业的定位,娱乐功能虚拟机和docker也就只能娱乐,建议搭配openwrt使用。

RouterOS(ROS) :号称路由系统占有率第一位,流控限速做得非常好,系统很稳定,界面非常复杂,它的配置完全可以在大学开一门专业课,估计很多网管都还吃着这一碗饭。个人用户不建议使用,你想见识一下也可以装个和谐版玩玩。

这部分考虑了一下想删掉,但是写都写了就这样吧,就是告诉新手有这些东西。

关于怎么选择软路由,其实要看个人需求,但是就我个人经验还是可以稍微讲一下选择方案,仅供参考:

单网口还是双网口 :这个要看个人动手能力,有一定动手能力的可以选择单网口改装,或者玩旁路由,性价比会高一点。新手还是选择双网口版本,免得还没体验到软路由的乐趣就已经被折腾得没了兴趣。

双网口还是多网口 :有多条网线想玩聚合、多网段需求、或者不想加交换机的选择多网口,没有以上需求、内网数据交换较多、预算不多的选择双网口,没有聚合等特殊需求,交换机的存在能大大减少软路由的CPU负载,成本也会更低。

关于CPU功耗 :很多人对软路由CPU功耗有误解,认为10W的CPU一定比15W的CPU省电,其实这个要看实际情况。这里所说的10W、15W指的是CPU的TDP,TDP的英文全称是“Thermal Design Power”,中文直译是“散热设计功耗”,讲白话就是CPU满负荷(利用率为100%)理论上可能会达到的最高散热热量。制程隔代不是特别多的情况下,就单CPU来讲一般TDP越高性能就越高,在同等负载情况下CPU占用率是不一样的,瞬时功率不一定谁低谁高,所以功耗有个参考数据:CPU多核跑分功耗,对能耗表现比较在意的可以算出每瓦性能对比选择。

被动散热还是主动散热 :如果对温度不是特别在意、不是弱电箱使用,尽量选被动散热,零噪音,而且一般软路由运行在50多60摄氏度是很正常的温度,不必担心稳定性。如果放入弱电箱,而且弱电箱比较闭塞,建议选择带风扇的软路由,弱电箱有一点噪音也不会影响生活,散热会有改善。

关于尺寸 :很多精装修的房子弱电箱小得可怜,塞一个猫往往空间就不太够了,所以购买的时候建议先问清楚尺寸,比划一下能不能放得下。小的软路由有R2S、R4S系列双千兆软路由,也有尺寸大概13X13cm的双千兆、四千兆软路由,倍控等等品牌机6千兆软路由稍大的弱电箱也能放的下。

关于AP :普通家用建议使用硬路由当AP,有AP模式的切换到AP模式,速率高信号好,只负责发射WIFI性能要求不是很高,更新换代成本也低。不要想着软路由的迷你PCIe接网卡或者插USB网卡当AP了,网卡是接收端一般都没有功放,信号强度和普通路由器没法比。对带机量有要求的建议买商业AP,带机量可观、但是要速率也高的就贵得离谱。

关于虚拟机 :虚拟机可玩性很高,单软路由部分来说可以快照备份,玩崩了秒恢复网络。但是对软路由配置有一定的要求,最起码个3865U+4+64起步玩虚拟机才能玩得爽,配置略低的软路由建议直接单刷软路由系统,没有损耗效率更高,不折腾也很稳定。

遇到过很多上车的粉丝朋友拿到机器不知道该怎么使用,这里先感谢粉丝对我个人的信任,完全不会用也敢上车。这里详细讲解一下拿到软路由该怎么连线、拨号,以及一些基础的设置(基于openwrt)。

新手玩家 建议直接电脑连接软路由设置 ,软路由不需要连接显示器使用的,准备一台带网口的电脑,一根网线。

MacOS下选择使用DHCP

我开车的软路由一般都会告诉你哪个是LAN口,如果全新刷机或者其他机器,随便连一个就好了,如果没有获取到IP换一个网口。

获取到正常192.168.X.X之类的IP地址就是正常连接状态。

获取到的网关就是openwrt的管理后台,直接浏览器打开这个IP地址就可以。

esir的固件是没有密码的,直接点登录就能进入到软路由管理后台

进入到管理后台,点网络-接口-WAN(修改)

如果是光猫拨号,这里协议默认选项不用动,DHCP客户端。如果是路由器拨号、光猫桥接模式,协议改成PPPoE、点切换协议,然后正常填账号密码拨号。

网络正常的情况下,LAN口IP显示网关地址,WAN口显示上级或者外网IP地址,接收发送数据包会有统计。此时若没有内网IP网段冲突,应该可以正常上网了。若有IP网段冲突,继续往下看。

把图中IPv4地址改成192.168.X.1(例如192.168.8.1)保存,稍后查看电脑网口IP地址自动获取到192.168.X.X(例如192.168.8.X)的IP,就可以浏览器打开新的管理后台192.168.X.1(例如192.168.8.1)。若电脑网口IP没有自动获取,可以插拔一下电脑网线重新连接获取。

软路由LAN口连接到路由器或AP的WAN口,然后电脑或手机连接WIFI,打开浏览器进入路由器后台,查看路由器WAN口连接状态,获取到软路由网段的IP就可以直接打开软路由管理后台设置,道理是一样的就不做演示了。

到这里软路由网络就通了,关于各种插件怎么玩,这里就展开讲了。

这篇文章断断续续地写了5、6个小时,这会往上翻好像都是字,赶紧找几张图塞进去- -、希望新手玩家看起来不会觉得太枯燥无味。同时、以上说法或者定义都是我个人经验和理解,如果大佬看到有不同见解可以留言讨论,有错误或遗漏的后续让客服帮忙退回修

关于allinone :新手不建议,特别是已婚家庭不建议,别问为什么。 openwrt软路由入门教程

遇到过很多上车的粉丝朋友拿到机器不知道该怎么使用,这里先感谢粉丝对我个人的信任,完全不会用也敢上车。这里详细讲解一下拿到软路由该怎么连线、拨号,以及一些基础的设置(基于openwrt)。

新手玩家 建议直接电脑连接软路由设置 ,软路由不需要连接显示器使用的,准备一台带网口的电脑,一根网线。

1.确保电脑网口处于DHCP自动获取IP状态

广

MacOS下选择使用DHCP

2.电脑网口连接软路由Lan口

广

我开车的软路由一般都会告诉你哪个是LAN口,如果全新刷机或者其他机器,随便连一个就好了,如果没有获取到IP换一个网口。

3.查看电脑网口状态

获取到正常192.168.X.X之类的IP地址就是正常连接状态。

4.查看电脑自动获取的网关,打开管理后台

广

获取到的网关就是openwrt的管理后台,直接浏览器打开这个IP地址就可以。

esir的固件是没有密码的,直接点登录就能进入到软路由管理后台

广

5.软路由拨号设置

进入到管理后台,点网络-接口-WAN(修改)

广

如果是光猫拨号,这里协议默认选项不用动,DHCP客户端。如果是路由器拨号、光猫桥接模式,协议改成PPPoE、点切换协议,然后正常填账号密码拨号。

网络正常的情况下,LAN口IP显示网关地址,WAN口显示上级或者外网IP地址,接收发送数据包会有统计。此时若没有内网IP网段冲突,应该可以正常上网了。若有IP网段冲突,继续往下看。

6.修改软路由网段

广

如果需要修改软路由IP网段,点击网络-接口-LAN(修改)

把图中IPv4地址改成192.168.X.1(例如192.168.8.1)保存,稍后查看电脑网口IP地址自动获取到192.168.X.X(例如192.168.8.X)的IP,就可以浏览器打开新的管理后台192.168.X.1(例如192.168.8.1)。若电脑网口IP没有自动获取,可以插拔一下电脑网线重新连接获取。

7.如果电脑没有网口、或者没有电脑,也是可以设置的

广

软路由LAN口连接到路由器或AP的WAN口,然后电脑或手机连接WIFI,打开浏览器进入路由器后台,查看路由器WAN口连接状态,获取到软路由网段的IP就可以直接打开软路由管理后台设置,道理是一样的就不做演示了。

到这里软路由网络就通了,关于各种插件怎么玩,这里就展开讲了。

总结

这篇文章断断续续地写了5、6个小时,这会往上翻好像都是字,赶紧找几张图塞进去- -、希望新手玩家看起来不会觉得太枯燥无味。同时、以上说法或者定义都是我个人经验和理解,如果大佬看到有不同见解可以留言讨论,有错误或遗漏的后续让客服帮忙退回修改。

阿江的Windows 2000服务器安全设置教程

前言

其实,在服务器的安全设置方面,我虽然有一些经验,但是还谈不上有研究,所以我写这篇文章的时候心里很不踏实,总害怕说错了会误了别人的事。

本文更侧重于防止ASP漏洞攻击,所以服务器防黑等方面的讲解可能略嫌少了点。

基本的服务器安全设置

安装补丁

安装好操作系统之后,最好能在托管之前就完成补丁的安装,配置好网络后,如果是2000则确定安装上了SP4,如果是2003,则最好安装上SP1,然后点击开始→Windows Update,安装所有的关键更新。

安装杀毒软件

虽然杀毒软件有时候不能解决问题,但是杀毒软件避免了很多问题。我一直在用诺顿2004,据说2005可以杀木马,不过我没试过。还有人用瑞星,瑞星是确定可以杀木马的。更多的人说卡巴司机好,不过我没用过。

不要指望杀毒软件杀掉所有的木马,因为ASP木马的特征是可以通过一定手段来避开杀毒软件的查杀。

设置端口保护和防火墙、删除默认共享

都是服务器防黑的措施,即使你的服务器上没有IIS,这些安全措施都最好做上。这是阿江的盲区,大概知道屏蔽端口用本地安全策略,不过这方面的东西网上攻略很多,大家可以擞出来看看,晚些时候我或者会复制一些到我的网站上。

权限设置

阿江感觉这是防止ASP漏洞攻击的关键所在,优秀的权限设置可以将危害减少在一个IIS站点甚至一个虚拟目录里。我这里讲一下原理和设置思路,聪明的朋友应该看完这个就能解决问题了。

权限设置的原理

WINDOWS用户,在WINNT系统中大多数时候把权限按用户(组)来划分。在【开始→程序→管理工具→计算机管理→本地用户和组】管理系统用户和用户组。

NTFS权限设置,请记住分区的时候把所有的硬盘都分为NTFS分区,然后我们可以确定每个分区对每个用户开放的权限。【文件(夹)上右键→属性→安全】在这里管理NTFS文件(夹)权限。

IIS匿名用户,每个IIS站点或者虚拟目录,都可以设置一个匿名访问用户(现在暂且把它叫“IIS匿名用户),当用户访问你的网站的.ASP文件的时候,这个.ASP文件所具有的权限,就是这个“IIS匿名用户所具有的权限。

权限设置的思路

要为每个独立的要保护的个体(比如一个网站或者一个虚拟目录)创建一个系统用户,让这个站点在系统中具有惟一的可以设置权限的身份。

在IIS的【站点属性或者虚拟目录属性→目录安全性→匿名访问和验证控制→编辑→匿名访问→编辑】填写刚刚创建的那个用户名。

设置所有的分区禁止这个用户访问,而刚才这个站点的主目录对应的那个文件夹设置允许这个用户访问(要去掉继承父权限,并且要加上超管组和SYSTEM组)。

这样设置了之后,这个站点里的ASP程序就只有当前这个文件夹的权限了,从探针上看,所有的硬盘都是红叉叉。

我的设置方法

我是先创建一个用户组,以后所有的站点的用户都建在这个组里,然后设置这个组在各个分区没病权限。然后再设置各个IIS用户在各在的文件夹里的权限。

因为比较多,所以我很不想写,其实知道了上面的原理,大多数人都应该懂了,除非不知道怎么添加系统用户和组,不知道怎么设置文件夹权限,不知道IIS站点属性在那里。真的有那样的人,你也不要着急,要沉住气慢慢来,具体的方法其实自己也能摸索出来的,我就是这样。当然,如果我有空,我会写我的具体设置方法,很傲能还会配上图片。

改名或卸载不安全组件

不安全组件不惊人

我的在阿江探针1.9里加入了不安全组件检测功能(其实这是参考7i24的代码写的,只是把界面改的友好了一点,检测方法和他是基本一样的),这个功能让很多站长吃惊不小,因为他发现他的服务器支持很多不安全组件。

其实,只要做好了上面的权限设置,那么FSO、XML、strem都不再是不安全组件了,因为他们都没有跨出自己的文件夹或者站点的权限。那个欢乐时光更不用怕,有杀毒软件在还怕什么时光啊。

最危险的组件是WSH和Shell,因为它可以运行你硬盘里的EXE等程序,比如它可以运行提升程序来提升SERV-U权限甚至用SERVU来运行更高权限的系统程序。

卸载最不安全的组件

最简单的办法是直接卸载后删除相应的程序文件。将下面的代码保存为一个.BAT文件,

regsvr32/u C:WINNTSystem32wshom.ocx

del C:WINNTSystem32wshom.ocx

regsvr32/u C:WINNTsystem32shell32.dll

del C:WINNTsystem32shell32.dll

然后运行一下,WScript.Shell, Shell.application, WScript.Network就会被卸载了。可能会提示无法删除文件,不用管它,重启一下服务器,你会发现这三个都提示“×安全了。

改名不安全组件

需要注意的是组件的名称和Clsid都要改,并且要改彻底了。下面以Shell.application为例来介绍方法。

打开注册表编辑器【开始→运行→regedit回车】,然后【编辑→查找→填写Shell.application→查找下一个】,用这个方法能找到两个注册表项:“{13709620-C279-11CE-A49E-444553540000}和“Shell.application。为了确保万无一失,把这两个注册表项导出来,保存为 .reg 文件。

比如我们想做这样的更改

13709620-C279-11CE-A49E-444553540000 改名为 13709620-C279-11CE-A49E-444553540001

Shell.application 改名为 Shell.application_ajiang

那么,就把刚才导出的.reg文件里的内容按上面的对应关系替换掉,然后把修改好的.reg文件导入到注册表中(双击即可),导入了改名后的注册表项之后,别忘记了删除原有的`那两个项目。这里需要注意一点,Clsid中只能是十个数字和ABCDEF六个字母。

下面是我修改后的代码(两个文件我合到一起了):

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOTCLSID{13709620-C279-11CE-A49E-444553540001}]

@="Shell Automation Service"

[HKEY_CLASSES_ROOTCLSID{13709620-C279-11CE-A49E-444553540001}InProcServer32]

@="C:WINNTsystem32shell32.dll"

"ThreadingModel"="Apartment"

[HKEY_CLASSES_ROOTCLSID{13709620-C279-11CE-A49E-444553540001}ProgID]

@="Shell.Application_ajiang.1"

[HKEY_CLASSES_ROOTCLSID{13709620-C279-11CE-A49E-444553540001}TypeLib]

@="{50a7e9b0-70ef-11d1-b75a-00a0c90564fe}"

[HKEY_CLASSES_ROOTCLSID{13709620-C279-11CE-A49E-444553540001}Version]

@="1.1"

[HKEY_CLASSES_ROOTCLSID{13709620-C279-11CE-A49E-444553540001}VersionIndependentProgID]

@="Shell.Application_ajiang"

[HKEY_CLASSES_ROOTShell.Application_ajiang]

@="Shell Automation Service"

[HKEY_CLASSES_ROOTShell.Application_ajiangCLSID]

@="{13709620-C279-11CE-A49E-444553540001}"

[HKEY_CLASSES_ROOTShell.Application_ajiangCurVer]

@="Shell.Application_ajiang.1"

你可以把这个保存为一个.reg文件运行试一下,但是可别就此了事,因为万一黑客也看了我的这篇文章,他会试验我改出来的这个名字的。

防止列出用户组和系统进程

我在阿江ASP探针1.9中结合7i24的方法利用getobject("WINNT")获得了系统用户和系统进程的列表,这个列表可能会被黑客利用,我们应当隐藏起来,方法是:

【开始→程序→管理工具→服务】,找到Workstation,停止它,禁用它。

防止Serv-U权限提升

其实,注销了Shell组件之后,侵入者运行提升工具的可能性就很小了,但是prel等别的脚本语言也有shell能力,为防万一,还是设置一下为好。

用Ultraedit打开ServUDaemon.exe查找Ascii:LocalAdministrator,和#l@$ak#.lk0@P,修改成等长度的其它字符就可以了,ServUAdmin.exe也一样处理。

另外注意设置Serv-U所在的文件夹的权限,不要让IIS匿名用户有读取的权限,否则人家下走你修改过的文件,照样可以分析出你的管理员名和密码。

利用ASP漏洞攻击的常见方法及防范

一般情况下,黑客总是瞄准论坛等程序,因为这些程序都有上传功能,他们很容易的就可以上传ASP木马,即使设置了权限,木马也可以控制当前站点的所有文件了。另外,有了木马就然后用木马上传提升工具来获得更高的权限,我们关闭shell组件的目的很大程度上就是为了防止攻击者运行提升工具。

如果论坛管理员关闭了上传功能,则黑客会想办法获得超管密码,比如,如果你用动网论坛并且数据库忘记了改名,人家就可以直接下载你的数据库了,然后距离找到论坛管理员密码就不远了。

作为管理员,我们首先要检查我们的ASP程序,做好必要的设置,防止网站被黑客进入。另外就是防止攻击者使用一个被黑的网站来控制整个服务器,因为如果你的服务器上还为朋友开了站点,你可能无法确定你的朋友会把他上传的论坛做好安全设置。这就用到了前面所说的那一大堆东西,做了那些权限设置和防提升之后,黑客就算是进入了一个站点,也无法破坏这个网站以外的东西。

项目大概可以分为8个部分

1.基础配置

2.登录模块

3.用户模块

4.权限管理模块

5.商品模块

6.订单模块

7.数据统计模块

8.打包优化

新建一个vue2的项目,安装aixos,element-ui,vuex-persistedstate固化插件

对axios进行第一次封装,在src下新建unitils文件夹,里面新建一个request.js文件(名字自定义)

引入axios,store,element-ui,在axios.create中设置baseURL基础路径,timeout超时时间,声明一个request变量接收,通过request.interceptors.request.use设置请求拦截,如果请求成功,判断vx是否存有token,如果有,就加在请求头中,如果请求失败,通过Promise.reject将失败的信息返回出去

通过request.interceptors.response.use设置响应拦截,可以先从后台返回的状态入手,定义一个code接收后台返回的状态,先判断后台返回的消息是否为‘无效token’(这里一般是和后台对接好了返回40001等等状态),如果是,则给予对应提示,然后让页面跳转到登录页。

如果想更细一点,继续判断400,401等,然后给对应的提示

可以对错误信息精确描述,比如后端连接异常或者请求超时,也可以给对应的请求,axios的重复请求我们下面再说

我们需要定义三个方法来帮助我们实现

在响应请求中调用,检查是否存在重复请求,如果有就取消,然后把当前请求信息加入到pendingRequest中

在返回数据前移除请求

在错误信息中移除请求

别忘了把我们定义的request导出。此时我们axios第一次封装结束,我们可以顺带去store中装上固化插件

然后对axios进行二次封装,在与request.js同级再定义一个api.js,然后引入request.js,定义方法请求后台数据,比如这里我们定义请求登录的接口

在views下建一个Login.vue组件,使用element-ui中的form表单

:model绑定成自己定义的表单数据,也就是用户名和密码所在对象

:rules为自己定义的正则

ref是这个表单的dom元素

给登录和重置绑定事件并把绑定的ref属性传递过去

引入我们定义请求登录接口的方法,点击登录后把定义的表单数据作为后端需要的参数传递过去,通过.then进行接下来的操作,我们可以去store中定义一个存储token的方法,顺带也定义了一个移除token 的方法,比如我们退出登录后需要用到,

在页面中通过this.$store.commit调用mutations里的方法,把后台返回的token传过去

我们可以去router中把路由定义一下,顺带放一个路由前置守卫,在里面我们可以判断如果将要去的路由不是登录页,那我们可以先获取vuex中存的token,如果存有token证明用户登陆过,则让其跳转,反之,返回登录页,如果要去的是登录页,直接放行,注意这里router.beforeEach要放在我们const router的下面写,否则会因为找不到router报错,然后通过this.$router.push('/home‘)跳转到home页面

登录页效果,以及登录成功后的页面

接下来我们来写跳转后的home页面,左侧菜单对应的路由应该是动态生成的,这里我们是手写额,后面会再写一遍告诉大家如何用动态路由实现,现在我们可以根据左侧菜单返回的数据定义路由,把home当作父级路由,把左侧菜单栏跳转的路由写成子路由

组件位置我们也可以放在对应的文件夹内

此时我们回到home页面,写好头部,给退出登录绑定事件

从element-ui引入一个container容器

isCollapse为控制左侧菜单栏的显示隐藏

:default-active为默认显示的路由

router为开启路由模式

菜单的显示使用一个双重for循环,

:index为唯一标识,接收一个字符串,所以我们用+拼接一个空字符串

至于内层for循环的:index,因为我们定义的子路由不加'/',所以我们用/Home/ + obj.path拼接一下

别忘了在右侧的el-main中加入router-view,否则显示不了子路由的内容

接下来是逻辑部分,引入我们在api.js中定义的请求左侧菜单接口的方法

isCollapse是控制左侧菜单的显示与隐藏,sideTabList用来存储后台返回的左侧菜单栏数据,arr是我定义的一个图标数组,给部分菜单加一个图标,我们在created中发送这个请求,把返回的数据给sideTabList赋上,

当我们点击退出时,提示是否退出,如果是,则调用vuex的方法清除token,并退回到登录页,至此,我们home页结束,登录模块完成

引入我们需要用到的接口,以及我们自己封装的一个面包屑组件

tableData为返回的表格数据

isShow为控制点击分配权限时模态框显示与隐藏的变量

title为点击添加,编辑的提示语句,因为我们编辑和添加用的是同一个模态框,所以我们用title来判断是添加还是编辑

who为下拉框默认的内容

dialogFormVisible为控制点击添加或编辑时模态框显示与隐藏的变量

total后台返回的总数据条数

form为绑定后台需要的用户名,密码,邮箱,手机号,

rules正则

person为下拉框选择完成后该项的id

roleList为角色列表

搜索部分,定义一个obj,里面有后台需要的关键字,当前页,每页多少条,给搜索绑定事件

定义一个渲染的方法getTable,这里只有一上来调用传了个1,是因为一上来会有个获取数据成功提示,又不想别的请求发送后继续有这个提示,于是只有一上来传了个真值

然后调用角色列表赋值,点击搜索时,再调用一次渲染方法即可

点击添加,模态框显示,把title改成添加用户

点击编辑把title改成编辑,模态框显示,数据回填

模态框关闭时 ,数据清空

点击确定添加或编辑,先判断title是编辑还是添加用户,然后传入后台对应的参数

分页部分

@size-change为每页多少条改变时触发,比如我们一上来每页只让显示两条,当我们切换至4条每页时就会触发

@current-change为每页改变时触发,比如我们一上来为第1页。当我们点击第2页时就会触发

:page-sizes为可供选择每页选则条数的选项

:page-size为每页显示多少条

total就是一共多少条

分配权限

点击分配权限弹出模态框,数据回填,选则完毕时通过some方法找到对应数据把id村人person

点击确定添加时,传递需要的数据,完成分配,再渲染页面

效果图:

请求角色列表数据,渲染到表格,编辑添加可以使用同一个模态框,绑定动态title判断添加还是编辑,传入后台要求数据完成功能,点击删除传入id完成。点击分配权限弹出模态框,发送请求,请求所有权限的列表在树形图中,通过递归方法把该权限自带的权限回填到树形图中,即复选框呈选中状态,因为我们请求所有列表是异步的,点击分配权限是同步的,所以会造成数据闪动情况,我们可以给弹出框加个定时器,让他也是异步执行,最后就是点击每项显示标签,根据样式,我们可以把返回的数据分为左右结构,右边的又可以分为左右结构,遍历到该项下面,点击X时,传入该项id和该权限id完成删除

请求权限列表数据,渲染页面,权限等级哪里用一个三元表达式,根据返回的level等级渲染对应的样式

请求商品列表数据,其中一个创建时间,可以引入一个时间格式化工具,在main..js中定义一个全局过滤器,在要格式化数据的这里调用全局的方法完成,删除即传一个id给后台,删除对应数据,点击添加时跳进添加的页面,引入组件tab和step,第一级判断级联菜单三级是否都选中,只有都选中才可以进行下一步操作,商品参数则请求参数列表,其sel为many,商品属性sel为only,上传图片也需要引入element一个upload组件,商品内容则需要引入一个富文本插件

点击添加商品

在element中引入一个级联菜单,把请求回来的三级分类数据在级联菜单中显示,引入一个tab切换的时候让其对应显示静态属性或者动态参数,通过级联菜单的事件。当我们选择完毕,判断该value绑定的数组长度是否为3,为3则获取对应参数,此时添加参数按钮解除禁用(默认禁用),可以点击添加参数,给对应的数据添加参数,或者属性,当我们点击参数或者属性时显示标签,当我们点击添加标签时,输入想要的内容,失焦或者回车添加该标签

点击添加角色弹出模态框,此时请求2级分类数据,点击完成或者模态框关闭此时请求三级分类数据,编辑添加可以使用同一个模态框,绑定动态title判断添加还是编辑,传入后台要求数据完成功能,点击删除传入id完成,这里用到一个element中的一个table表格,可以多层展开

请求订单页面数据,其中一个下单时间,可以引入一个时间格式化工具,在main..js中定义一个全局过滤器,在要格式化数据的这里调用全局的方法完成,删除即传一个id给后台,删除对应数据

日期格式化


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/643969.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-07-21
下一篇2023-07-21

发表评论

登录后才能评论

评论列表(0条)

    保存