168 lines
5.5 KiB
HTML
168 lines
5.5 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
|
|
<head>
|
|
<meta http-equiv="Content-type" content="text/html; charset=utf-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1">
|
|
<meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1">
|
|
<link href="/jscss/style.css" rel="stylesheet" type="text/css" />
|
|
<script type="text/javascript" charset="utf-8" src="/jscss/theme.js"></script>
|
|
</head>
|
|
|
|
<body>
|
|
<div class="container">
|
|
<form class="search" onsubmit="table.search(this,'btn');return false;">
|
|
<div>
|
|
<div class="sinps"></div>
|
|
<div class="sbtns">
|
|
<button class="lang btn" type="submit">查询</button>
|
|
<a class="lang btn def" onclick="pagehelp()">帮助</a>
|
|
<a class="lang btn succ" onclick="testmock()">mock示例</a>
|
|
</div>
|
|
</div>
|
|
</form>
|
|
<div class="table">
|
|
<div class="loading col-24">Loading...</div>
|
|
<div class="list"></div>
|
|
<div>
|
|
<div class="btmbtn">
|
|
<a class="lang btn def" onclick="ciyfn.select_all(table)">全选</a>
|
|
<a class="lang btn def" onclick="ciyfn.select_diff(table)">反选</a>
|
|
|
|
|
<a class="lang btn dag" onclick="ciyfn.select_callfunc(table, this,'del','已选{n}条,确认是否删除?',{},function(json){table.delline(json)})">批量删除</a>
|
|
</div>
|
|
<div class="page"></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div id="alert_pagehelp" style="display:none;">
|
|
<b>支持Apifox/Postman等Mock调试工具</b>
|
|
<div style="margin: 0 0 1em 1em;">
|
|
原始访问地址: https://xxx.local.ciy.cn/z/?func=admin/rigger/mock.init<br />
|
|
或: https://xxx.local.ciy.cn/ajax/admin/rigger/mock.init<br />
|
|
</div>
|
|
<b>支持在线Mock模式</b>
|
|
<div style="margin: 0 0 1em 1em;">
|
|
在Web.ini中配置<br />
|
|
[mock]<br />
|
|
target=zc_ymock (数据库表名)<br />
|
|
重启后生效<br />
|
|
</div>
|
|
<b>支持本地文件模式 (即将移除)</b>
|
|
<div style="margin: 0 0 1em 1em;">
|
|
在web/ud/mock/文件夹下建立对应空间目录。<br />
|
|
例如: func=admin/rigger/mock.init<br />
|
|
建立: web/ud/mock/admin/rigger/mock.init.json 文件<br /><br />
|
|
在Web.ini中配置<br />
|
|
[mock]<br />
|
|
target=file<br />
|
|
重启后生效<br />
|
|
</div>
|
|
</div>
|
|
<script type="text/javascript" src="/jscss/ciy.js"></script>
|
|
<script type="text/javascript" src="/jscss/ciycmp.js"></script>
|
|
<script type="text/javascript" src="/jscss/ciytable.js"></script>
|
|
<script type="text/javascript" src="../common.js"></script>
|
|
<script type="text/javascript">
|
|
'use strict';
|
|
var table;
|
|
ciyfn.pageload(function () {
|
|
$5(document).on('keydown', function (e) {
|
|
if (e.ctrlKey && e.keyCode == 83) {//Ctrl+S
|
|
e.preventDefault();
|
|
var upbtns = $5('.upbtn:not(.def)');
|
|
upbtns.each(function (dom) {
|
|
menubtn(dom, 'edit');
|
|
}, 0.5);
|
|
}
|
|
});
|
|
table = new ciyclass.table({
|
|
dom: '.table'
|
|
, url: 'init'
|
|
, pagecount: 10
|
|
, fn_beforedata: function (json) {
|
|
json.list = ciyfn.conv_treerow(json.list, 0, 0);
|
|
ciyfn.fillsearch({
|
|
searchdom: '.search'
|
|
, data: json
|
|
});
|
|
return json;
|
|
}
|
|
, fn_tdcontent: function (key, datashow, field, data) {
|
|
if (key == 'mock') {
|
|
var html = '';
|
|
html += '<div style="padding:0.3em;">接口名: <input style="width:16em;" onkeydown="btnset(this)" type="text" name="name" value="' + data['name'] + '"/></div>';
|
|
html += '<div style="padding:0.3em;">类.函数 <input style="width:16em;" onkeydown="btnset(this)" class="imp" type="text" name="ufunc" value="' + data['ufunc'] + '"/></div>';
|
|
return html;
|
|
}
|
|
if (key == 'mockjson') {
|
|
return '<textarea style="height:6em;" onkeydown="btnset(this)" name="' + key + '">' + datashow + '</textarea>';
|
|
}
|
|
if (key == '_btn') {
|
|
var html = '<a class="lang btn def upbtn" onclick="menubtn(this, \'edit\')">' + (data['id'] == 0 ? '新增' : '更新') + '</a>';
|
|
if (data['id'] > 0 && data['lasttimes'] > 0)
|
|
html += '<br/><a class="lang btn imp" onclick="menubtn(this, \'view\')">查看</a>';
|
|
return html;
|
|
}
|
|
}
|
|
});
|
|
table.callpage(1);
|
|
});
|
|
function btnset(dom) {
|
|
var domtr = $5(dom).parent('tr');
|
|
$5('.btn.upbtn', domtr).removeClass('def');
|
|
}
|
|
function pagehelp() {
|
|
ciyfn.alert({
|
|
title: '页面帮助'
|
|
, width: 'pc'
|
|
, content: document.getElementById("alert_pagehelp").innerHTML
|
|
});
|
|
}
|
|
function testmock() {
|
|
ciyfn.toast('F12查看');
|
|
ciyfn.callfunc('testmock', { abc: 'def' }, function (json) {
|
|
console.log(json);
|
|
});
|
|
}
|
|
function menubtn(dom, btn) {
|
|
var trdom = $5(dom).parent('tr');
|
|
var id = trdom.attr('data-id');
|
|
if (btn == 'edit') {
|
|
var postparam = ciyfn.getform(dom, 'TR');
|
|
postparam.id = id;
|
|
ciyfn.callfunc('update', postparam, function (json) {
|
|
$5(dom).addClass('def');
|
|
if (id == 0) {
|
|
$5('input', trdom).val('');
|
|
table.updateline(json);
|
|
}
|
|
});
|
|
}
|
|
if (btn == 'view') {
|
|
var dat = table.data[id];
|
|
var html = '<div class="char4 row gridline">';
|
|
html += '<div class="ciy-form col-24 col-sm-24">';
|
|
html += '<label class="lang">请求时间</label>';
|
|
html += '<div>';
|
|
html += ciyfn.todatetime(dat.lasttimes, 'Y-m-d H:i:s');
|
|
html += '</div>';
|
|
html += '</div>';
|
|
html += '<div class="ciy-form col-24 col-sm-24">';
|
|
html += '<label class="lang">请求快照</label>';
|
|
html += '<div>';
|
|
html += dat.lastrequest.replace(/\n/g, '<br/>');
|
|
html += '</div>';
|
|
html += '</div>';
|
|
html += '</div>';
|
|
ciyfn.alert({
|
|
title: '查看'
|
|
, width: 'mb'
|
|
, content: html
|
|
});
|
|
}
|
|
}
|
|
</script>
|
|
</body>
|
|
|
|
</html> |