fsLayui 是一個基于layui的快速開發(fā)插件,支持數(shù)據(jù)表格增刪改查操作,提供通用的組件,通過配置html實現(xiàn)數(shù)據(jù)請求,減少前端js重復(fù)開發(fā)的工作。
GitHub下載 碼云下載
測試環(huán)境地址:http://fslayui.itcto.cn
基礎(chǔ)配置入口,包含常量的配置,錯誤消息處理配置,表單通用驗證配置,響應(yīng)數(shù)據(jù)參數(shù)配置。
/**
* @Description: 基礎(chǔ)配置
* @Copyright: 2017 www.fallsea.com Inc. All rights reserved.
* @author: fallsea
* @version 1.4.2
* @date: 2017年11月11日 下午3:51:35
*/
layui.define([], function (exports) {
var fsConfig = {};
/**
* 錯誤碼處理定義
*/
fsConfig["filters"] = {
//配置統(tǒng)一未登錄錯誤碼處理
"-999" : function(result) {
//未登錄,跳轉(zhuǎn)登陸頁
top.window.location.href = fsConfig["global"]["loginUrl"];
}
};
/**
* 項目中需要調(diào)用到的常量、變量這里配置
*/
fsConfig["global"] = {
"servletUrl":"https://fs.fallsea.com", //異步請求地址,本地工程可以不填
"loginUrl" : "/login", //登錄url
"uploadUrl" : "https://fs.fallsea.com/upload", //上傳附件url
"uploadHtmlUrl" : "/plugins/frame/views/upload.html", //上傳附件html地址,默認/plugins/frame/views/upload.html
"loadDataType":"1",//加載數(shù)據(jù)類型,1:是,0:否,默認0 (編輯或查看是否取緩存數(shù)據(jù))
"result" : { //響應(yīng)結(jié)果配置
"statusName": "errorNo", //數(shù)據(jù)狀態(tài)的字段名稱,默認:errorNo
"msgName": "errorInfo", //狀態(tài)信息的字段名稱,默認:errorInfo
"dataName" : "results.data", //數(shù)據(jù)列表的字段名稱,默認:results.data
},
"page" : { //分頁配置
"request": {//請求配置
"pageName": "pageNum", //頁碼的參數(shù)名稱,默認:pageNum
"limitName": "pageSize" //每頁數(shù)據(jù)量的參數(shù)名,默認:pageSize
},
"response": {//響應(yīng)配置
"countName": "results.data.total", //數(shù)據(jù)總數(shù)的字段名稱,默認:results.data.total
"dataName" : "results.data", //數(shù)據(jù)列表的字段名稱,默認:results.data
"dataNamePage": "results.data.list" //分頁數(shù)據(jù)列表的字段名稱,默認:results.data.list
}//,
// "limit":10,//每頁分頁數(shù)量。默認20
// "limits":[10,20,30,50,100]//每頁數(shù)據(jù)選擇項,默認[10,20,30,50,100]
}
};
/**
* 拓展form表單驗證規(guī)則
*/
fsConfig["verify"] = {
/**
* 對比兩個值相等
*/
"equals": function(value, item){ //value:表單的值、item:表單的DOM對象
var equalsId = $(item).attr("equalsId");
if(_.isEmpty(equalsId)){
return '未配置對比id';
}
var value2 = $("#"+equalsId).val();
if(!_.eq(value,value2))
{
var equalsMsg = $(item).attr("equalsMsg");
if(_.isEmpty(equalsMsg))
{
equalsMsg = "值不相等";
}
return equalsMsg;
}
},
/**
* 用戶名驗證
*/
"username": [
/^[a-zA-Z]{1}([a-zA-Z0-9]|[_]){2,19}$/,
'用戶名格式不正確!'
],
/**
* 最小、最大長度判斷
*/
"length": function(value, item){ //value:表單的值、item:表單的DOM對象
var minLength = $(item).attr("minLength");//最小長度
var maxLength = $(item).attr("maxLength");//最大長度
if(!_.isEmpty(minLength) && !_.eq('0',minLength) && _.gt(minLength,value.length)){
return "輸入內(nèi)容小于最小值:"+minLength;
}
if(!_.isEmpty(maxLength) && !_.eq('0',maxLength) && _.gt(value.length,maxLength)){
return "輸入內(nèi)容大于最小值:"+maxLength;
}
}
};
exports('fsConfig', fsConfig);
});
本文首發(fā)于我的博客:ITCTO技術(shù)博客