FS平台前端设计说明v1

alert(‘Hello World!’);

});

});

exports是一个函数,它接受两个参数,第一个参数为模块名,第二个参数为模块接口,当你声明了上述的一个模块后,你就可以在外部使用了,demo就会注册到layui对象下,即可通过 layui.demo() 去执行该模块的接口。

你也可以在定义一个模块的时候,声明该模块所需的依赖,如:

layui.define([‘layer’, ‘laypage’], function(exports){

//do something

exports(‘demo’, function(){

alert(‘Hello World!’);

});

});

上述的[‘layer’, ‘laypage’]即为本模块所依赖的模块,它并非只能是一个数组,你也可以直接传一个字符型的模块名,但是这样只能依赖一个模块。

3.3 加载所需模块


方法:layui.use([mods], callback)

Layui的内置模块并非默认就加载的,他必须在你执行该方法后才会加载。它的参数跟上述的 define方法完全一样。

另外请注意,mods里面必须是一个合法的模块名,不能包含目录。如果需要加载目录,建议采用extend建立别名(详见模块规范)

layui.use([‘laypage’, ‘layedit’], function(){

var laypage = layui.laypage

,layedit = layui.layedit;

//do something

});

3.4 加载所需模块


方法:layui*.link(href)*

href即为css路径。注意:该方法并非是你使用Layui所必须的,它一般只是用于动态加载你的外部CSS文件。

3.5 本地存储


本地存储是对 localStorage 和 sessionStorage 的友好封装,可更方便地管理本地数据。

localStorage 持久化存储:layui.data(table, settings),数据会永久存在,除非物理删除。

sessionStorage 会话性存储:layui.sessionData(table, settings),页面关闭后即失效。

上述两个方法的使用方式是完全一样的。其中参数 table 为表名,settings是一个对象,用于设置key、value。下面与 layui.data 方法为例:

//【增】:向test表插入一个nickname字段,如果该表不存在,则自动建立。

layui.data(‘test’, {

key: ‘admin’

,value: ‘码农洞见’

});

//【删】:删除test表的nickname字段

layui.data(‘test’, {

key: ‘admin’

,remove: true

});

layui.data(‘test’, null); //删除test表

//【改】:同【增】,会覆盖已经存储的数据

//【查】:向test表读取全部的数据

var localTest = layui.data(‘test’);

console.log(localTest.admin);

3.6 Layui如何使用内部的jQuery


由于Layui部分内置模块依赖jQuery,所以我们将jQuery1.11最稳定的一个版本作为一个内置的DOM模块(唯一的一个第三方模块)。只有你所使用的模块有依赖到它,它才会加载,并且如果你的页面已经script引入了jquery,它并不会重复加载。内置的jquery模块去除了全局的$和jQuery,是一个符合layui规范的标准模块。所以你必须通过以下方式得到:

//主动加载jquery模块

layui.use([‘jquery’, ‘layer’], function(){

var $ = layui.$ //重点处

,layer = layui.layer;

//后面就跟你平时使用jQuery一样

$(‘body’).append(‘hello jquery’);

});

//如果内置的模块本身是依赖jquery,你无需去use jquery,所以上面的写法其实可以是:

layui.use(‘layer’, function(){

var $ = layui.$ //由于layer弹层依赖jQuery,所以可以直接得到

,layer = layui.layer;

//……

});

3.7 扩展Layui模块


layui提供的模块有时可能还无法满足你,或者你试图按照layer的模块规范来扩展一个模块。那么你有必要认识layui.define()方法,相信你在文档左侧的“底层方法”中已有所阅读。下面就就让我们一起扩展一个Layui模块吧:

第一步:确认模块名,假设为:mymod,然后新建一个mymod.js 文件放入项目任意目录下(注意:不用放入layui目录)

第二步:编写test.js 如下:

/**

扩展一个test模块

**/

layui.define(function(exports){ //提示:模块也可以依赖其它模块,如:layui.define(‘layer’, callback);

var obj = {

hello: function(str){

alert('Hello '+ (str||‘mymod’));

}

};

//输出test接口

exports(‘mymod’, obj);

});

第三步:设定扩展模块所在的目录,然后就可以在别的JS文件中使用了

//config的设置是全局的

layui.config({

base: ‘/res/js/’ //假设这是你存放拓展模块的根目录

}).extend({ //设定模块别名

mymod: ‘mymod’ //如果 mymod.js 是在根目录,也可以不用设定别名

,mod1: ‘admin/mod1’ //相对于上述 base 目录的子目录

});

//你也可以忽略 base 设定的根目录,直接在 extend 指定路径(主要:该功能为 layui 2.2.0 新增)

layui.extend({

mod2: ‘{/}http://cdn.xxx.com/lib/mod2’ // {/}的意思即代表采用自有路径,即不跟随 base 路径

})

//使用拓展模块

layui.use([‘mymod’, ‘mod1’], function(){

var mymod = layui.mymod

,mod1 = layui.mod1

,mod2 = layui.mod2;

mymod.hello(‘World!’); //弹出 Hello World!

});

3.8.接口规范说明


3.8.1.规范原则

  • 接口返回数据即显示:前端仅做渲染逻辑处理;

  • 渲染逻辑禁止跨多个接口调用;

  • 前端关注交互、渲染逻辑,尽量避免业务逻辑处理现象;

3.8.2.数据格式

  • 响应数据格式

{

“code”: 200, //请求处理状态

“msg”: “success”, //请求处理消息

“url”: null, //请求地址

“count”: 2,

“data”: [{}, {}…]

}

code:请求处理状态

  • 100 ERROR: 代码异常

  • 200 OK:服务器成功返回用户请求的数据

  • 201 CREATED :用户新建或修改数据成功。

  • 202 Accepted:表示请求已进入后台排队。

  • 400 INVALID REQUEST :用户发出的请求有错误。

  • 401 Unauthorized :用户没有权限。

  • 403 Forbidden :访问被禁止。

  • 404 NOT FOUND :请求针对的是不存在的记录。

  • 406 Not Acceptable :用户请求的的格式不正确。

  • 500 INTERNAL SERVER ERROR :服务器发生错误。

4. 组件说明

=========================================================================

4.1 表格


table 组件默认规定的数据格式为:

{

“code”: 0,

“msg”: “”,

“count”: 1000,

“data”: [{}, {}]

}

如果你想重新规定返回的数据格式,那么可以借助 response 参数,如:

table.render({

elem: ‘#demp’
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:前端)

结尾

正式学习前端大概 3 年多了,很早就想整理这个书单了,因为常常会有朋友问,前端该如何学习,学习前端该看哪些书,我就讲讲我学习的道路中看的一些书,虽然整理的书不多,但是每一本都是那种看一本就秒不绝口的感觉。

以下大部分是我看过的,或者说身边的人推荐的书籍,每一本我都有些相关的推荐语,如果你有看到更好的书欢迎推荐呀。

戳这里免费领取前端学习资料

提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!**

[外链图片转存中…(img-N3HXvJEO-1713486505443)]

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:前端)

[外链图片转存中…(img-A7TuHsWh-1713486505443)]

结尾

正式学习前端大概 3 年多了,很早就想整理这个书单了,因为常常会有朋友问,前端该如何学习,学习前端该看哪些书,我就讲讲我学习的道路中看的一些书,虽然整理的书不多,但是每一本都是那种看一本就秒不绝口的感觉。

以下大部分是我看过的,或者说身边的人推荐的书籍,每一本我都有些相关的推荐语,如果你有看到更好的书欢迎推荐呀。

戳这里免费领取前端学习资料

前端学习书籍导图-1

  • 25
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值