/** layui-v2.5.6 MIT License By https://www.layui.com */ ;layui.define(function(e){"use strict"; // 配置模板语法的起始和结束符 var r={open:"{{",close:"}}"}, // 定义常用的正则表达式和方法 c={ exp:function(e){ // 用于生成全局的正则表达式 return new RegExp(e,"g") }, query:function(e,c,t){ // 生成模板查询的正则表达式 var o=["#([\\s\\S])+?","([^{#}])*?"][e||0]; return n((c||"")+r.open+o+r.close+(t||"")) }, escape:function(e){ // 转义HTML特殊字符 return String(e||"").replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&") .replace(//g,">") .replace(/'/g,"'").replace(/"/g,""") }, error:function(e,r){ // 输出错误信息 var c="Laytpl Error:"; return "object"==typeof console&&console.error(c+e+"\n"+(r||"")),c+e } }, n=c.exp, // 正则表达式处理函数 t=function(e){ this.tpl=e }; // 定义一个模板处理类 t.pt=t.prototype, window.errors=0; // 模板解析方法 t.pt.parse=function(e,t){ var o=this,p=e,a=n("^"+r.open+"#",""),l=n(r.close+"$",""); // 清理模板中的多余空格和符号 e=e.replace(/\s+|\r|\t|\n/g," ") .replace(n(r.open+"#"),r.open+"# ") .replace(n(r.close+"}"),"} "+r.close) .replace(/\\/g,"\\\\") .replace(n(r.open+"!(.+?)!"+r.close),function(e){ return e=e.replace(n("^"+r.open+"!"),"") .replace(n("!"+r.close),"") .replace(n(r.open+"|"+r.close),function(e){ return e.replace(/(.)/g,"\\$1") }) }) .replace(/(?="|')/g,"\\") .replace(c.query(),function(e){ return e=e.replace(a,"").replace(l,""), '";'+e.replace(/\\/g,"")+';view+="' }) .replace(c.query(1),function(e){ var c='"+('; return e.replace(/\s/g,"")===r.open+r.close?"":(e=e.replace(n(r.open+"|"+r.close),""),/^=/.test(e)&&(e=e.replace(/^=/,""),c='"+_escape_('),c+e.replace(/\\/g,"")+')+"') }); // 构建最终的JavaScript代码 e='"use strict";var view = "'+e+'";return view;'; try{ // 执行生成的模板代码 return o.cache=e=new Function("d, _escape_",e),e(t,c.escape) }catch(u){ // 如果模板解析失败,输出错误信息 return delete o.cache,c.error(u,p) } }; // 渲染模板方法 t.pt.render=function(e,r){ var n,t=this; return e ? (n=t.cache ? t.cache(e,c.escape) : t.parse(t.tpl,e), r ? void r(n) : n) : c.error("no data"); }; // 创建模板对象 var o=function(e){ return "string"!=typeof e ? c.error("Template not found") : new t(e) }; // 配置模板引擎的选项 o.config=function(e){ e=e||{}; for(var c in e) r[c]=e[c] }; // 设置模板版本 o.v="1.2.0", e("laytpl",o) });