123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235 |
- /** layuiAdmin.std-v1.0.0 LPPL License By http://www.layui.com/admin/ */
- ;
- layui.define(['laytpl',
- 'layer'], function (e) {
- var t = layui.jquery,
- n = layui.laytpl,
- a = layui.layer,
- r = layui.setter,
- o = (layui.device(), layui.hint()),
- i = function (e) {
- return new d(e)
- },
- s = 'LAY_app_body',
- d = function (e) {
- this.id = e,
- this.container = t('#' + (e || s))
- };
- i.loading = function (e) {
- e.append(this.elemLoad = t('<i class="layui-anim layui-anim-rotate layui-anim-loop layui-icon layui-icon-loading layadmin-loading"></i>'))
- },
- i.removeLoad = function () {
- this.elemLoad && this.elemLoad.remove()
- },
- i.exit = function (e) {
- layui.data(r.tableName, {
- key: r.request.tokenName,
- remove: !0
- }),
- e && e()
- },
- i.req = function (e) {
- var n = e.success,
- a = (e.error, r.request),
- o = r.response,
- s = function () {
- return r.debug ? '<br><cite>URL:</cite>' + e.url : ''
- };
- return e.data = e.data || {
- },
- e.headers = e.headers || {
- },
- a.tokenName && (e.data[a.tokenName] = a.tokenName in e.data ? e.data[a.tokenName] : layui.data(r.tableName) [a.tokenName] || '', e.headers[a.tokenName] = a.tokenName in e.headers ? e.headers[a.tokenName] : layui.data(r.tableName) [a.tokenName] || ''),
- delete e.success,
- delete e.error,
- t.ajax(t.extend({
- type: 'get',
- dataType: 'json',
- success: function (t) {
- var a = o.statusCode;
- if (t[o.statusName] == a.ok)
- 'function' == typeof e.done && e.done(t);
- else if (t[o.statusName] == a.logout) i.exit();
- else {
- var r = [
- '<cite>Error:</cite> ' + (t[o.msgName] || '返回状态码异常'),
- s()
- ].join('');
- i.error(r)
- }
- 'function' == typeof n && n(t)
- },
- error: function (e, t) {
- var n = [
- '请求异常,请重试<br><cite>错误信息:</cite>' + t,
- s()
- ].join('');
- i.error(n),
- 'function' == typeof n && n(res)
- }
- }, e))
- },
- i.popup = function (e) {
- var n = e.success,
- r = e.skin;
- return delete e.success,
- delete e.skin,
- a.open(t.extend({
- type: 1,
- title: '提示',
- content: '',
- id: 'LAY-system-view-popup',
- skin: 'layui-layer-admin' + (r ? ' ' + r : ''),
- shadeClose: !0,
- closeBtn: !1,
- success: function (e, r) {
- var o = t('<i class="layui-icon" close>ဆ</i>');
- e.append(o),
- o.on('click', function () {
- a.close(r)
- }),
- 'function' == typeof n && n.apply(this, arguments)
- }
- }, e))
- },
- i.error = function (e, n) {
- return i.popup(t.extend({
- content: e,
- maxWidth: 300,
- offset: 't',
- anim: 6,
- id: 'LAY_adminError'
- }, n))
- },
- d.prototype.render = function (e, n) {
- var a = this;
- layui.router();
- return e = r.views + e + r.engine,
- t('#' + s).children('.layadmin-loading').remove(),
- i.loading(a.container),
- t.ajax({
- url: e,
- type: 'get',
- dataType: 'html',
- data: {
- v: layui.cache.version
- },
- success: function (e) {
- e = '<div>' + e + '</div>';
- var r = t(e).find('title'),
- o = r.text() || (e.match(/\<title\>([\s\S]*)\<\/title>/) || [
- ]) [1],
- s = {
- title: o,
- body: e
- };
- r.remove(),
- a.params = n || {
- },
- a.then && (a.then(s), delete a.then),
- a.parse(e),
- i.removeLoad(),
- a.done && (a.done(s), delete a.done)
- },
- error: function (e) {
- return i.removeLoad(),
- a.render.isError ? i.error('请求视图文件异常,状态:' + e.status) : (404 === e.status ? a.render('template/tips/404') : a.render('template/tips/error'), void (a.render.isError = !0))
- }
- }),
- a
- },
- d.prototype.parse = function (e, a, r) {
- var s = this,
- d = 'object' == typeof e,
- l = d ? e : t(e),
- u = d ? e : l.find('*[template]'),
- c = function (e) {
- var a = n(e.dataElem.html());
- e.dataElem.after(a.render(t.extend({
- params: y.params
- }, e.res))),
- 'function' == typeof r && r();
- try {
- e.done && new Function('d', e.done) (e.res)
- } catch (o) {
- console.error(e.dataElem[0], '\n存在错误回调脚本\n\n', o)
- }
- },
- y = layui.router();
- l.find('title').remove(),
- s.container[a ? 'after' : 'html'](l.children()),
- y.params = s.params || {
- };
- for (var p = u.length; p > 0; p--) !function () {
- var e = u.eq(p - 1),
- t = e.attr('lay-done') || e.attr('lay-then'),
- a = n(e.attr('lay-url') || '').render(y),
- r = n(e.attr('lay-data') || '').render(y),
- s = n(e.attr('lay-headers') || '').render(y);
- try {
- r = new Function('return ' + r + ';') ()
- } catch (d) {
- o.error('lay-data: ' + d.message),
- r = {
- }
- }
- try {
- s = new Function('return ' + s + ';') ()
- } catch (d) {
- o.error('lay-headers: ' + d.message),
- s = s || {
- }
- }
- a ? i.req({
- type: e.attr('lay-type') || 'get',
- url: a,
- data: r,
- dataType: 'json',
- headers: s,
- success: function (n) {
- c({
- dataElem: e,
- res: n,
- done: t
- })
- }
- }) : c({
- dataElem: e,
- done: t
- })
- }();
- return s
- },
- d.prototype.autoRender = function (e, n) {
- var a = this;
- t(e || 'body').find('*[template]').each(function (e, n) {
- var r = t(this);
- a.container = r,
- a.parse(r, 'refresh')
- })
- },
- d.prototype.send = function (e, t) {
- var a = n(e || this.container.html()).render(t || {
- });
- return this.container.html(a),
- this
- },
- d.prototype.refresh = function (e) {
- var t = this,
- n = t.container.next(),
- a = n.attr('lay-templateid');
- return t.id != a ? t : (t.parse(t.container, 'refresh', function () {
- t.container.siblings('[lay-templateid="' + t.id + '"]:last').remove(),
- 'function' == typeof e && e()
- }), t)
- },
- d.prototype.then = function (e) {
- return this.then = e,
- this
- },
- d.prototype.done = function (e) {
- return this.done = e,
- this
- },
- e('view', i)
- });
|