mirror of
https://github.com/JamesonHuang/OpenWrt_Luci_Lua.git
synced 2024-11-24 06:10:11 +00:00
166 lines
6.3 KiB
HTML
166 lines
6.3 KiB
HTML
<%
|
||
--[[
|
||
Info Developer
|
||
]]--
|
||
local ver = require("xiaoqiang.XQVersion").webVersion
|
||
%>
|
||
<%include('web/inc/head')%>
|
||
<title>小米路由器</title>
|
||
<link rel="stylesheet" href="<%=resource%>/web/css/page.set.default.css?v=<%=ver%>"/>
|
||
</head>
|
||
<body>
|
||
<!-- upgread -->
|
||
<div class="mod-setting-panel">
|
||
<div class="hd">
|
||
<h3>开发者选项</h3>
|
||
</div>
|
||
<div class="bd">
|
||
<div class="mod-set-developer form form-horizontal">
|
||
<div class="item">
|
||
<label for="pwd" class="k">插件开发环境:</label>
|
||
<span class="v"><a href="#" data-order="1" class="btn-offon btn-off" id="btndeveloper"></a></span>
|
||
<em class="t"></em>
|
||
</div>
|
||
<form action="<%=luci.dispatcher.build_url("api", "xqdatacenter", "plugin_ssh")%>" class="form form-horizontal" method="post" name="developer" id="developer" hidden='hidden'>
|
||
<div class="item">
|
||
<label for="pwd" class="k">插件ID:</label>
|
||
<span class="v"><input type="text" name="pluginID" id="pluginID" class="text input-large"></span>
|
||
<em class="t"></em>
|
||
</div>
|
||
<div class="item item-control" id="capabilitylist">
|
||
</div>
|
||
<div class="item item-control">
|
||
<button type="submit" id="btnSave" class="btn btn-primary btn-large"><span>保存</span></button>
|
||
</div>
|
||
</form>
|
||
<div class="info">
|
||
<p>通过SSH工具,输入ssh plugin@miwifi.com -p 2222 登录路由器,默认登录密码admin(登录后可通过passwd修改密码)</p>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<script type="tmpl/html" id="capability">
|
||
<div class="item item-check-control">
|
||
<label class="js-checkbox">
|
||
<span class="input-checkbox {if($enable == 1)}input-checkbox-checked{/if}">
|
||
<input name="capabilityitem" value={$key} type="checkbox" {if($enable == 1)}checked{/if} >
|
||
</span> {$description}
|
||
</label>
|
||
</div>
|
||
</script>
|
||
<%include('web/inc/g.js.base')%>
|
||
<script>
|
||
var modelDeveloper = (function(){
|
||
function developerInfo(){
|
||
$.getJSON('<%=luci.dispatcher.build_url("api", "xqdatacenter", "plugin_ssh_status")%>', {}, function(rsp){
|
||
var btndeveloper = $('#btndeveloper')[0],
|
||
developer = $('#developer');
|
||
if (rsp.code == 0) {
|
||
if (rsp.enable == 0) {
|
||
btndeveloper.className = 'btn-offon btn-off';
|
||
developer.hide();
|
||
}else{
|
||
btndeveloper.className = 'btn-offon btn-on';
|
||
$('#pluginID').val(rsp.pluginID);
|
||
developer.show();
|
||
}
|
||
var tpl = $('#capability').html(),
|
||
capabilitys = rsp.capability,
|
||
capabilityarray = [],
|
||
tbody = $('#capabilitylist');
|
||
for (var i = 0; i < capabilitys.length; i++) {
|
||
var tpldata = {
|
||
key : capabilitys[i].key,
|
||
enable : capabilitys[i].enable,
|
||
description : capabilitys[i].description
|
||
};
|
||
capabilityarray.push( tpl.tmpl(tpldata) );
|
||
}
|
||
tbody.html( capabilityarray.join('') );
|
||
} else {
|
||
btndeveloper.className = 'btn-offon btn-off';
|
||
developer.hide();
|
||
$.lightalert().setContent(rsp.msg).show();
|
||
}
|
||
});
|
||
}
|
||
function developerSwitch(){
|
||
var btndeveloper = $('#btndeveloper');
|
||
var developer = $('#developer');
|
||
btndeveloper.on('click', function(e){
|
||
e.preventDefault();
|
||
var st = $(this).hasClass('btn-on') ? 0 : 1,
|
||
btn = this;
|
||
if (st == 0) {
|
||
$.getJSON('<%=luci.dispatcher.build_url("api", "xqdatacenter", "plugin_ssh")%>', {'open': 0}, function(rsp){
|
||
if (rsp.code == 0) {
|
||
btndeveloper[0].className = 'btn-offon btn-off';
|
||
developer.hide();
|
||
window.location.reload();
|
||
} else {
|
||
$.lightalert().setContent(rsp.msg).show();
|
||
}
|
||
});
|
||
} else {
|
||
btndeveloper[0].className = 'btn-offon btn-on';
|
||
developer.show();
|
||
}
|
||
});
|
||
}
|
||
function developerSet(){
|
||
$('#developer').on('submit', function(e){
|
||
e.preventDefault();
|
||
var capabilityarray = [],
|
||
capabilitystr;
|
||
$('input[name=capabilityitem]').each(function(){
|
||
if (this.checked) {
|
||
capabilityarray.push(this.value);
|
||
}
|
||
});
|
||
capabilitystr = capabilityarray.join(',');
|
||
var url = this.action,
|
||
method = this.method,
|
||
param = $(this).serialize(),
|
||
formName = this.name,
|
||
validator = FormValidator.checkAll(formName, [{
|
||
name: 'pluginID',
|
||
display :'插件ID:',
|
||
rules: 'required',
|
||
}]);
|
||
if (validator) {
|
||
var btndeveloper = $('#btndeveloper');
|
||
var st = btndeveloper.hasClass('btn-on') ? 1 : 0;
|
||
$('#btnSave').prop('disabled', true).find('span').text('保存中...');
|
||
param = param + '&capability=' + capabilitystr + '&open=' + st;
|
||
$.ajax({
|
||
url: url,
|
||
type: method,
|
||
data: param,
|
||
dataType: 'json',
|
||
success: function(rsp){
|
||
var msg;
|
||
if (rsp.code == 0) {
|
||
msg = '设置成功。';
|
||
}else{
|
||
msg = rsp.msg;
|
||
}
|
||
$.lightalert().setContent(msg).show();
|
||
$('#btnSave').prop('disabled', false).find('span').text('保存');
|
||
}
|
||
});
|
||
}
|
||
});
|
||
}
|
||
return {
|
||
init : function(){
|
||
developerInfo();
|
||
developerSwitch();
|
||
developerSet();
|
||
}
|
||
}
|
||
}());
|
||
$(function(){
|
||
modelDeveloper.init();
|
||
});
|
||
</script>
|