update 2026-05-13 14:44:23

This commit is contained in:
action 2026-05-13 14:44:23 +08:00
parent cf85e35fe4
commit 3a3b6a8680
6 changed files with 35 additions and 13 deletions

View File

@ -16,7 +16,7 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=luci-app-amlogic
PKG_VERSION:=3.1.309
PKG_VERSION:=3.1.310
PKG_RELEASE:=2
PKG_LICENSE:=GPL-2.0 License

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="85" height="20" role="img" aria-label="JavaScript"><title>JavaScript</title><g shape-rendering="crispEdges"><rect width="0" height="20" fill="#555"/><rect x="0" width="85" height="20" fill="#323330"/></g><g fill="#fff" text-anchor="middle" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" text-rendering="geometricPrecision" font-size="110"><image x="5" y="3" width="14" height="14" href="data:image/svg+xml;base64,PHN2ZyBmaWxsPSIjZjdkZjFlIiByb2xlPSJpbWciIHZpZXdCb3g9IjAgMCAyNCAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48dGl0bGU+SmF2YVNjcmlwdDwvdGl0bGU+PHBhdGggZD0iTTAgMGgyNHYyNEgwVjB6bTIyLjAzNCAxOC4yNzZjLS4xNzUtMS4wOTUtLjg4OC0yLjAxNS0zLjAwMy0yLjg3My0uNzM2LS4zNDUtMS41NTQtLjU4NS0xLjc5Ny0xLjE0LS4wOTEtLjMzLS4xMDUtLjUxLS4wNDYtLjcwNS4xNS0uNjQ2LjkxNS0uODQgMS41MTUtLjY2LjM5LjEyLjc1LjQyLjk3Ni45IDEuMDM0LS42NzYgMS4wMzQtLjY3NiAxLjc1NS0xLjEyNS0uMjctLjQyLS40MDQtLjYwMS0uNTg2LS43OC0uNjMtLjcwNS0xLjQ2OS0xLjA2NS0yLjgzNC0xLjAzNGwtLjcwNS4wODljLS42NzYuMTY1LTEuMzIuNTI1LTEuNzEgMS4wMDUtMS4xNCAxLjI5MS0uODExIDMuNTQxLjU2OSA0LjQ3MSAxLjM2NSAxLjAyIDMuMzYxIDEuMjQ0IDMuNjE2IDIuMjA1LjI0IDEuMTctLjg3IDEuNTQ1LTEuOTY2IDEuNDEtLjgxMS0uMTgtMS4yNi0uNTg2LTEuNzU1LTEuMzM2bC0xLjgzIDEuMDUxYy4yMS40OC40NS42ODkuODEgMS4xMDkgMS43NCAxLjc1NiA2LjA5IDEuNjY2IDYuODcxLTEuMDA0LjAyOS0uMDkuMjQtLjcwNS4wNzQtMS42NWwuMDQ2LjA2N3ptLTguOTgzLTcuMjQ1aC0yLjI0OGMwIDEuOTM4LS4wMDkgMy44NjQtLjAwOSA1LjgwNSAwIDEuMjMyLjA2MyAyLjM2My0uMTM4IDIuNzExLS4zMy42ODktMS4xOC42MDEtMS41NjYuNDgtLjM5Ni0uMTk2LS41OTctLjQ2Ni0uODMtLjg1NS0uMDYzLS4xMDUtLjExLS4xOTYtLjEyNy0uMTk2bC0xLjgyNSAxLjEyNWMuMzA1LjYzLjc1IDEuMTcyIDEuMzI0IDEuNTE3Ljg1NS41MSAyLjAwNC42NzUgMy4yMDcuNDA1Ljc4My0uMjI2IDEuNDU4LS42OTEgMS44MTEtMS40MTEuNTEtLjkzLjQwMi0yLjA3LjM5Ny0zLjM0Ni4wMTItMi4wNTQgMC00LjEwOSAwLTYuMTc5bC4wMDQtLjA1NnoiLz48L3N2Zz4="/><text x="515" y="140" transform="scale(.1)" fill="#fff" textLength="570">JavaScript</text></g></svg>

After

Width:  |  Height:  |  Size: 1.8 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 5.9 KiB

View File

@ -283,7 +283,6 @@ return view.extend({
var verPlugin = E('span', _('Collecting data...'));
var verKernel = E('span', _('Collecting data...'));
var verRescue = E('span', _('Collecting data...'));
var branchSpan = E('span');
// Per-action status spans (right side, updated by poll)
var statusFw = E('span');
@ -419,8 +418,7 @@ return view.extend({
E('p', _('Provide OpenWrt Firmware, Kernel and Plugin online check, download and update service.')),
E('div', { class: 'cbi-section' }, [
E('p', { style: 'text-align:center' }, [
_('Update plugins first, then update the kernel or firmware. More options can be configured in [Plugin Settings].'),
' ', branchSpan
_('Update plugins first, then update the kernel or firmware. More options can be configured in [Plugin Settings].')
]),
E('table', { class: 'amlogic-row-table' }, [
E('tr', [
@ -461,10 +459,6 @@ return view.extend({
dom.content(verKernel, s && s.current_kernel_version
? E('span', { class: 'amlogic-status-ok' }, _('Current Version') + ' [ ' + s.current_kernel_version + ' ] ')
: E('span', { class: 'amlogic-status-err' }, _('Invalid value.')));
var branchLabel = s && s.plugin_branch
? (s.plugin_branch === 'lua' ? 'Lua' : 'JavaScript')
: (s && s.has_luci_js ? 'JavaScript' : 'Lua');
dom.content(branchSpan, ' [ ' + branchLabel + ' ] ');
// Rescue row: show same kernel version directly via the verRescue span
dom.content(verRescue, s && s.current_kernel_version

View File

@ -23,6 +23,9 @@ const callAuthor = rpc.declare({
// Called on every info page load so the sidebar menu is correct from first visit.
const callSyncMenu = rpc.declare({ object: 'luci.amlogic', method: 'sync_menu' });
// Get runtime state to determine plugin_branch for the language badge.
const callState = rpc.declare({ object: 'luci.amlogic', method: 'state' });
// Static list of supported boxes (display only, not used in any logic).
const SUPPORTED_BOXES = [
_('Amlogic s922x --- [ Beelink, Beelink-Pro, Ugoos-AM6-Plus, ODROID-N2, Khadas-VIM3, Ali-CT2000 ]'),
@ -67,6 +70,23 @@ return view.extend({
amlogicShared.ensureCss();
const res = L.resource('amlogic');
// Language badge image — default to javascript.svg (JS version),
// will be confirmed/corrected after the state RPC resolves.
var langsImg = E('img', {
id: 'Langs',
src: res + '/javascript.svg', alt: 'javascript',
width: '86', height: '20',
style: 'margin:0 5px; vertical-align:middle; border-radius:3px'
});
// Fetch plugin_branch from state and update the language badge.
callState().then(function (s) {
var isLua = s && s.plugin_branch === 'lua';
langsImg.src = res + (isLua ? '/lua.svg' : '/javascript.svg');
langsImg.alt = isLua ? 'lua' : 'javascript';
langsImg.setAttribute('width', isLua ? '46' : '86');
}).catch(function () {});
// Flatten the supported-boxes list to [text, <br>, text, <br>, ...].
const boxRows = [];
for (let i = 0; i < SUPPORTED_BOXES.length; i++)
@ -86,13 +106,13 @@ return view.extend({
E('img', {
src: res + '/packit.svg', alt: 'Packit',
width: '168', height: '20',
style: 'cursor:pointer; margin:0 5px',
style: 'cursor:pointer; margin:0 5px; vertical-align:middle; border-radius:3px',
click: function () { openExternal('https://github.com/unifreq/openwrt_packit'); }
}),
E('img', {
src: res + '/author.svg', alt: 'Author',
width: '168', height: '20',
style: 'cursor:pointer; margin:0 5px',
style: 'cursor:pointer; margin:0 5px; vertical-align:middle; border-radius:3px',
click: function () {
callAuthor().then(function (repo) {
let url = String(repo || '').trim();
@ -106,9 +126,10 @@ return view.extend({
E('img', {
src: res + '/plugin.svg', alt: 'luci-app-amlogic',
width: '160', height: '20',
style: 'cursor:pointer; margin:0 5px',
style: 'cursor:pointer; margin:0 5px; vertical-align:middle; border-radius:3px',
click: function () { openExternal('https://github.com/ophub/luci-app-amlogic'); }
})
}),
langsImg
])
]),
E('tr', [

View File

@ -475,7 +475,12 @@ function m_start_plugin() {
+ ' uci set amlogic.config.amlogic_plugin_branch=\'lua\' 2>/dev/null\n'
+ ' fi\n'
+ ' uci commit amlogic 2>/dev/null\n'
+ ' fi) &\n'
+ ' fi\n'
+ ' # Restart services so the newly installed files take effect immediately,\n'
+ ' # avoiding the need for users to manually clear browser cache.\n'
+ ' /etc/init.d/rpcd restart >> "$LOG" 2>&1\n'
+ ' /etc/init.d/uhttpd restart >> "$LOG" 2>&1\n'
+ ' ) &\n'
+ 'else\n'
+ ' echo "--- INSTALLATION FAILED! ---" >> "$LOG"\n'
+ ' [ -f "$cfg_bak" ] && cp -f "$cfg_bak" "$cfg"\n'