c5_labsci/web/admin/rigger/mock.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>