2025-03-14 20:44:12 +08:00

266 lines
12 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<%
local util = require "luci.util"
local fs = require "nixio.fs"
local sys = require "luci.sys"
local http = require "luci.http"
local dispatcher = require "luci.dispatcher"
local uci = require "luci.model.uci".cursor()
-%>
<%+header%>
<!--
-- Copyright 2020-2022 Rafał Wabik (IceG) - From eko.one.pl forum
-- Licensed to the GNU General Public License v3.0.
-->
<h2><%:USSD 代码%></h2>
<div class="cbi-map-descr"><%:通过sms_tool处理USSD代码的Web用户界面。关于短信工具的更多信息请见%> <a href="https://eko.one.pl/?p=openwrt-sms_tool" target="_blank"><%:eko.one.pl forum%></a>.</div>
<p></p>
<h4><%:发送 USSD 代码%></h4>
<div class="table" width="100%">
<div class="tr">
<div class="td left" width="25%"><%:用户 USSD 代码%>:</div>
<div class="td left" >
<select name="ussd" id="pl" onclick="copyFunction()">
</select>
</div>
<div class="td left" ></div>
</div>
<div class="tr">
<div class="td left" ><%:要发送的代码%>:</div>
<div class="td left" ><input type="text" id="code" required size="20"></div>
</div>
<div class="tr">
<div class="td left" ><%:回复%>:</div><div class="td left" ><pre id="odp" style="visibility: hidden;"></pre></div>
</div>
</div>
<div class="table" width="100%">
<div class="tr cbi-rowstyle-2">
<div class="td right"><input type="button" style="margin-right: 5%"; id="sendussd" class="btn cbi-button cbi-button-neutral" value="<%:发送代码%>" /></div>
</div>
</div>
<script type="text/javascript">//<![CDATA[
window.onload = function readUSER() {
XHR.get('<%=luci.dispatcher.build_url("admin", "modem", "sms", "user_ussd")%>', null,
function(x, json)
{
select = document.getElementById('pl');
var count = Object.keys(json).length;
for(var d=0;d<=count;d++)
{
var opt = document.createElement('option');
var s = json[d].usd;
var fields = s.split(/;/);
var name = fields[0];
var code = fields[1];
opt.text = name;
opt.value = code.trim();
opt.innerHTML = name;
select.appendChild(opt);
}
}
);
}
function copyFunction() {
var node = document.getElementById('odp');
node.style.visibility = 'hidden';
var x = document.getElementById("pl").value;
document.getElementById("code").value = x;
document.getElementById("odp").innerHTML = "";
}
function postcmd(cmd) {
(new XHR()).post("<%=luci.dispatcher.build_url("admin", "modem", "sms", "run_ussd")%>", {"code":cmd}, function(x) {
console.log(x.response)
console.log(x)
var cut = x.response;
if ( true == cut.includes("error: 0") ) {
document.getElementById("odp").innerHTML = "<%:Phone/Modem failure.%>"};
if ( true == cut.includes("error: 1") ) {
document.getElementById("odp").innerHTML = "<%:No connection to phone.%>"};
if ( true == cut.includes("error: 2") ) {
document.getElementById("odp").innerHTML = "<%:Phone/Modem adapter link reserved.%>"};
if ( true == cut.includes("error: 3") ) {
document.getElementById("odp").innerHTML = "<%:Operation not allowed.%>"};
if ( true == cut.includes("error: 4") ) {
document.getElementById("odp").innerHTML = "<%:Operation not supported.%>"};
if ( true == cut.includes("error: 5") ) {
document.getElementById("odp").innerHTML = "<%:PH_SIM PIN required.%>"};
if ( true == cut.includes("error: 6") ) {
document.getElementById("odp").innerHTML = "<%:PH_FSIM PIN required.%>"};
if ( true == cut.includes("error: 7") ) {
document.getElementById("odp").innerHTML = "<%:PH_FSIM PUK required.%>"};
if ( true == cut.includes("error: 10") ) {
document.getElementById("odp").innerHTML = "<%:SIM not inserted.%>"};
if ( true == cut.includes("error: 11") ) {
document.getElementById("odp").innerHTML = "<%:SIM PIN required.%>"};
if ( true == cut.includes("error: 12") ) {
document.getElementById("odp").innerHTML = "<%:SIM PUK required.%>"};
if ( true == cut.includes("error: 13") ) {
document.getElementById("odp").innerHTML = "<%:SIM failure.%>"};
if ( true == cut.includes("error: 14") ) {
document.getElementById("odp").innerHTML = "<%:SIM busy.%>"};
if ( true == cut.includes("error: 15") ) {
document.getElementById("odp").innerHTML = "<%:SIM wrong.%>"};
if ( true == cut.includes("error: 16") ) {
document.getElementById("odp").innerHTML = "<%:Incorrect password.%>"};
if ( true == cut.includes("error: 17") ) {
document.getElementById("odp").innerHTML = "<%:SIM PIN2 required.%>"};
if ( true == cut.includes("error: 18") ) {
document.getElementById("odp").innerHTML = "<%:SIM PUK2 required.%>"};
if ( true == cut.includes("error: 20") ) {
document.getElementById("odp").innerHTML = "<%:Memory full.%>"};
if ( true == cut.includes("error: 21") ) {
document.getElementById("odp").innerHTML = "<%:Invalid index.%>"};
if ( true == cut.includes("error: 22") ) {
document.getElementById("odp").innerHTML = "<%:Not found.%>"};
if ( true == cut.includes("error: 23") ) {
document.getElementById("odp").innerHTML = "<%:Memory failure.%>"};
if ( true == cut.includes("error: 24") ) {
document.getElementById("odp").innerHTML = "<%:Text string too long.%>"};
if ( true == cut.includes("error: 25") ) {
document.getElementById("odp").innerHTML = "<%:Invalid characters in text string.%>"};
if ( true == cut.includes("error: 26") ) {
document.getElementById("odp").innerHTML = "<%:Dial string too long.%>"};
if ( true == cut.includes("error: 27") ) {
document.getElementById("odp").innerHTML = "<%:Invalid characters in dial string.%>"};
if ( true == cut.includes("error: 30") ) {
document.getElementById("odp").innerHTML = "<%:No network service.%>"};
if ( true == cut.includes("error: 31") ) {
document.getElementById("odp").innerHTML = "<%:Network timeout.%>"};
if ( true == cut.includes("error: 32") ) {
document.getElementById("odp").innerHTML = "<%:Network not allowed, emergency calls only.%>"};
if ( true == cut.includes("error: 40") ) {
document.getElementById("odp").innerHTML = "<%:Network personalization PIN required.%>"};
if ( true == cut.includes("error: 41") ) {
document.getElementById("odp").innerHTML = "<%:Network personalization PUK required.%>"};
if ( true == cut.includes("error: 42") ) {
document.getElementById("odp").innerHTML = "<%:Network subset personalization PIN required.%>"};
if ( true == cut.includes("error: 43") ) {
document.getElementById("odp").innerHTML = "<%:Network subset personalization PUK required.%>"};
if ( true == cut.includes("error: 44") ) {
document.getElementById("odp").innerHTML = "<%:Service provider personalization PIN required.%>"};
if ( true == cut.includes("error: 45") ) {
document.getElementById("odp").innerHTML = "<%:Service provider personalization PUK required.%>"};
if ( true == cut.includes("error: 46") ) {
document.getElementById("odp").innerHTML = "<%:Corporate personalization PIN required.%>"};
if ( true == cut.includes("error: 47") ) {
document.getElementById("odp").innerHTML = "<%:Corporate personalization PUK required.%>"};
if ( true == cut.includes("error: 48") ) {
document.getElementById("odp").innerHTML = "<%:PH-SIM PUK required.%>"};
if ( true == cut.includes("error: 100") ) {
document.getElementById("odp").innerHTML = "<%:Unknown error.%>"};
if ( true == cut.includes("error: 103") ) {
document.getElementById("odp").innerHTML = "<%:Illegal MS.%>"};
if ( true == cut.includes("error: 106") ) {
document.getElementById("odp").innerHTML = "<%:Illegal ME.%>"};
if ( true == cut.includes("error: 107") ) {
document.getElementById("odp").innerHTML = "<%:GPRS services not allowed.%>"};
if ( true == cut.includes("error: 111") ) {
document.getElementById("odp").innerHTML = "<%:PLMN not allowed.%>"};
if ( true == cut.includes("error: 112") ) {
document.getElementById("odp").innerHTML = "<%:Location area not allowed.%>"};
if ( true == cut.includes("error: 113") ) {
document.getElementById("odp").innerHTML = "<%:Roaming not allowed in this location area.%>"};
if ( true == cut.includes("error: 126") ) {
document.getElementById("odp").innerHTML = "<%:Operation temporary not allowed.%>"};
if ( true == cut.includes("error: 132") ) {
document.getElementById("odp").innerHTML = "<%:Service operation not supported.%>"};
if ( true == cut.includes("error: 133") ) {
document.getElementById("odp").innerHTML = "<%:Requested service option not subscribed.%>"};
if ( true == cut.includes("error: 134") ) {
document.getElementById("odp").innerHTML = "<%:Service option temporary out of order.%>"};
if ( true == cut.includes("error: 148") ) {
document.getElementById("odp").innerHTML = "<%:Unspecified GPRS error.%>"};
if ( true == cut.includes("error: 149") ) {
document.getElementById("odp").innerHTML = "<%:PDP authentication failure.%>"};
if ( true == cut.includes("error: 150") ) {
document.getElementById("odp").innerHTML = "<%:Invalid mobile class.%>"};
if ( true == cut.includes("error: 256") ) {
document.getElementById("odp").innerHTML = "<%:Operation temporarily not allowed.%>"};
if ( true == cut.includes("error: 257") ) {
document.getElementById("odp").innerHTML = "<%:Call barred.%>"};
if ( true == cut.includes("error: 258") ) {
document.getElementById("odp").innerHTML = "<%:Phone/Modem is busy.%>"};
if ( true == cut.includes("error: 259") ) {
document.getElementById("odp").innerHTML = "<%:User abort.%>"};
if ( true == cut.includes("error: 260") ) {
document.getElementById("odp").innerHTML = "<%:Invalid dial string.%>"};
if ( true == cut.includes("error: 261") ) {
document.getElementById("odp").innerHTML = "<%:SS not executed.%>"};
if ( true == cut.includes("error: 262") ) {
document.getElementById("odp").innerHTML = "<%:SIM Blocked.%>"};
if ( true == cut.includes("error: 263") ) {
document.getElementById("odp").innerHTML = "<%:Invalid block.%>"};
if ( true == cut.includes("error: 527") ) {
document.getElementById("odp").innerHTML = "<%:Please wait, and retry your selection later (Specific Modem Sierra).%>"};
if ( true == cut.includes("error: 528") ) {
document.getElementById("odp").innerHTML = "<%:Location update failure emergency calls only (Specific Modem Sierra).%>"};
if ( true == cut.includes("error: 529") ) {
document.getElementById("odp").innerHTML = "<%:Selection failure emergency calls only (Specific Modem Sierra).%>"};
if ( true == cut.includes("error: 772") ) {
document.getElementById("odp").innerHTML = "<%:SIM powered down.%>"};
if ( true != cut.includes("error: ") ) {
document.getElementById("odp").innerHTML = x.response};
});
return false;
}
document.addEventListener('DOMContentLoaded', function (ev) {var button = document.getElementById("sendussd");
button.addEventListener("click", function () {
var s = document.getElementById("code").value;
if ( s.length == 0 )
{
document.getElementById("odp").innerHTML = "";
alert("<%:Please enter a USSD code%>");
return false;
}
var cmd = document.getElementById("code");
postcmd(cmd.value);
cmd.value = "";
var node = document.getElementById('odp');
if (node.style.visibility=='visible') {
node.style.visibility = 'hidden';
}
else
node.style.visibility = 'visible'
return true;
});
}, true);
//]]></script>
<%+footer%>