# nVisual 实施配置详解:登录页定制(access.js)
摘要登录页是客户的第一印象。实施交付时「把 Logo 换成客户的」「登录按钮改成客户品牌色」「背景图固定成客户指定图」「头部脚部加客户 Logo 条」——这些需求全部集中在public/config/access.js一个文件里。它的核心思路是登录页的各个区域头部、脚部、可移动区、Logo、登录按钮、背景图都在 access.html 里预留了固定的 DOM 位置access.js 负责给它们赋值。所以改登录页 改这个文件里的变量无需改源码。本文把 access.js 的30 多个配置项按区域分类讲透并重点讲清两个易踩的坑尺寸单位是百分比、改完要处理缓存版本号。目录access.js 是什么登录页的「可视化配置」登录页布局结构配置项总览按区域分类最常用的四件事头部 / 脚部三块图片可移动区域moveDiv / moveImg图片路径规则相对 access.html改完不生效缓存版本号完整配置示例总结1. access.js 是什么登录页的「可视化配置」public/config/access.js是一个立即执行函数在登录页access.html加载时被引入scriptsrc./config/access.js?v2.3.25/script它的工作方式很直接把文件顶部的变量值赋值给登录页里对应区域。所以你要做的就是改文件顶部那一堆var xxx ...变量。关键认知所有尺寸单位都是「百分比」相对屏幕或相对所在区域没有像素。改的时候别写px。2. 登录页布局结构登录页由这些区域组成每个区域都有对应的配置变量┌─────────────────────────────────────────────┐ │ header头部条 │ │ ┌─headerLeft───headerCenter───headerRight─┐ │ │ └─────────────────────────────────────────┘ │ │ │ │ ┌─ moveDiv可移动区─┐ │ │ │ moveImg │ │ │ └──────────────────────┘ │ │ ┌─ login_area登录区─┐ │ │ │ logoImgLogo │ │ │ │ 用户名 / 密码 │ │ │ │ loginButton登录 │ │ │ └──────────────────────┘ │ │ │ │ footer脚部条 │ │ ┌─footerLeft───footerCenter───footerRight─┐ │ │ └─────────────────────────────────────────┘ │ └─────────────────────────────────────────────┘ 背景body 的 backgroundImgSrc3. 配置项总览按区域分类3.1 背景与整体变量默认值作用backgroundImgSrc随机login1~10.png登录页背景图3.2 头部header变量默认值作用headerHeight0头部高度相对屏幕的百分比headerBackground头部背景色headerLeftWidth/Left/Height0左上角图片的宽 / 距左 / 高相对头部百分比headerLeftSrc左上角图片路径headerCenterWidth/Height0头部中间图片的宽 / 高headerCenterSrc头部中间图片路径headerRightWidth/Right/Height0右上角图片的宽 / 距右 / 高headerRightSrc右上角图片路径3.3 脚部footer变量默认值作用footerHeight0脚部高度相对屏幕的百分比footerBackground脚部背景色footerLeftWidth/Left/Height0左下角图片的宽 / 距左 / 高相对脚部百分比footerLeftSrc左下角图片路径footerCenterWidth/Height0脚部中间图片的宽 / 高footerCenterSrc脚部中间图片路径footerRightWidth/Right/Height0右下角图片的宽 / 距右 / 高footerRightSrc右下角图片路径3.4 可移动区域moveDiv / moveImg变量默认值作用moveDivWidth/Height/Left/Top0可移动区的宽 / 高 / 距左 / 距上相对屏幕百分比moveDivBackground可移动区背景色moveImgWidth/Height/Left/Top100/100/0/0可移动区图片的宽 / 高 / 距左 / 距上相对可移动区百分比moveImgSrc可移动区图片路径3.5 登录区Logo / 登录按钮变量默认值作用logoImgVisibletrueLogo 是否显示true显示 /false隐藏logoImgSrc./../img/accessTip/LOGO.svgLogo 图片路径loginAreaBackgroundrgba(255,255,255,0.9)用户名/密码输入区背景色accessButtonBackgroundrgba(17,172,128,1)登录按钮背景色accessButtonColor#fff登录按钮文字颜色4. 最常用的四件事4.1 换客户 LogovarlogoImgSrc./../img/accessTip/LOGO.svg;把LOGO.svg替换成客户的 Logo 文件放到public/img/accessTip/目录下或改成自己的路径。4.2 登录按钮改客户品牌色varaccessButtonBackgroundrgba(17, 172, 128, 1);// 默认 nVisual 绿varaccessButtonColor#fff;// 按钮文字颜色4.3 固定背景图默认背景图是随机的从 login1.png 到 login10.png 里随机挑一张varbackgroundImgSrc./../img/bg/loginnumber.png;// number 是随机 1~10要固定成某一张直接把变量写成具体路径varbackgroundImgSrc./../img/bg/login3.png;// 固定用 login3.png4.4 隐藏 LogovarlogoImgVisiblefalse;// 不显示 Logo5. 头部 / 脚部三块图片头部和脚部各能放三张图片左、中、右。常用于放客户品牌条比如头部中间放客户 Logo、左右放装饰图。5.1 头部示例中间放客户 LogovarheaderHeight8;// 头部占屏幕高度 8%varheaderBackground#ffffff;// 头部白底varheaderCenterWidth20;// 中间图片占头部宽度 20%varheaderCenterHeight60;// 中间图片占头部高度 60%varheaderCenterSrc./../img/accessTip/LOGO.svg;// 客户 Logo要点header 里的三块图片尺寸是相对头部区域的百分比不是相对屏幕。headerCenterHeight 60表示图片高度是头部高度的 60%默认垂直居中。5.2 脚部示例底部版权条varfooterHeight5;// 脚部占屏幕高度 5%varfooterBackground#f5f5f5;// 脚部浅灰底6. 可移动区域moveDiv / moveImgmoveDiv是登录页上一个可移动的容器可放提示语、装饰图、二维码等moveImg是它里面的图片。varmoveDivWidth30;// 可移动区占屏幕宽 30%varmoveDivHeight40;// 可移动区占屏幕高 40%varmoveDivLeft35;// 距屏幕左 35%varmoveDivTop30;// 距屏幕上 30%varmoveDivBackground;varmoveImgWidth100;// 图片铺满可移动区varmoveImgHeight100;varmoveImgSrc./../img/accessTip/QRcode.svg;// 放二维码要点moveDiv的尺寸是相对屏幕的百分比moveImg的尺寸是相对 moveDiv的百分比默认 100% 即铺满。7. 图片路径规则相对 access.htmlaccess.js 里的图片路径是相对access.html解析的不是相对 access.js 文件。所以默认值./../img/accessTip/LOGO.svg实际指向public/img/accessTip/LOGO.svg即网站的/img/accessTip/LOGO.svg。记忆路径写./../img/xxx.png实际就是网站的/img/xxx.png。目录里现成的图片资源背景图public/img/bg/login1.png~login10.png另有 jpg 版登录页 Logopublic/img/accessTip/LOGO.svg、LE.svg、QRcode.svg8. 改完不生效缓存版本号这是 access.js 最常踩的坑。看 access.html 里引入脚本的方式scriptsrc./config/access.js?v2.3.25/script脚本带了版本号?v2.3.25浏览器会按这个版本号缓存 access.js。所以你改了 access.js 内容浏览器可能还用的是缓存的旧版。解决办法三选一强刷浏览器 CtrlF5 强制刷新改版本号把 access.html 里?v2.3.25改成新版本号如?v2.3.26清缓存清浏览器缓存后刷新。推荐第 2 种正式交付时改版本号最稳能确保所有客户端都拿到新配置。9. 完整配置示例场景客户品牌登录页换 Logo 品牌色按钮 固定背景 隐藏随机背景(function(){// 背景固定用客户指定图varbackgroundImgSrc./../img/bg/login5.png;// 头部加客户 Logo 条varheaderHeight8;varheaderBackground#ffffff;varheaderCenterWidth20;varheaderCenterHeight60;varheaderCenterSrc./../img/accessTip/LOGO.svg;// 脚部版权条varfooterHeight5;varfooterBackground#f5f5f5;// 登录区 LogovarlogoImgVisibletrue;varlogoImgSrc./../img/accessTip/LOGO.svg;// 登录按钮客户品牌色varaccessButtonBackgroundrgba(0, 102, 204, 1);// 客户蓝varaccessButtonColor#ffffff;// ... 其余保持默认})()10. 总结登录页定制记住三句话改 access.js 顶部的变量改完清缓存 / 改版本号才生效所有尺寸都是百分比header/footer/moveDiv 相对屏幕图片相对所在区域图片路径相对 access.html写./../img/xxx.png即网站的/img/xxx.png。最常用的就四件事换 LogologoImgSrc、改按钮颜色accessButtonBackground、固定背景backgroundImgSrc、隐藏 LogologoImgVisible。版权声明本文为作者原创如需转载请联系作者。

相关新闻

大模型Token学习指南

大模型Token学习指南

做过大模型后端开发的人,几乎都踩过Token的坑:估算1000字的文档刚好塞进32K上下文,结果调用直接被截断;按通用公式算好的API成本,月底账单直接超了50%;同一段代码在Qwen里Token数明明够用,换到L…

2026/10/11 5:26:42 阅读更多 →
个人微信API二次开发:收到微信图片后怎么保存和识别?

个人微信API二次开发:收到微信图片后怎么保存和识别?

做微信客服或者客户管理系统时,图片也是一种很常见的消息。 客户可能发送商品截图、付款凭证、故障截图,也可能直接发一张产品照片。如果系统只保存文字消息,这些图片信息就很容易遗漏。 先确认回调里有哪些数据 收到图片消息后&#xff0…

2026/10/11 5:26:42 阅读更多 →
企业级大数据可视化平台架构设计与性能优化实践

企业级大数据可视化平台架构设计与性能优化实践

1. 从一张“慢得想砸电脑”的大屏说起先讲个我亲身踩过的例子。某个客户找到我们,说他们内部的经营分析大屏打开一次要等三十秒,图表转圈转到一半直接白屏,领导在旁边等着看数据,气氛要多尴尬有多尴尬。当时我接手之后第一件事不是…

2026/10/11 5:25:42 阅读更多 →

最新新闻

900KB请求就能让Next.js服务器瘫痪?CVE-2026-23870高危漏洞来袭,React 19用户必须立刻升级

900KB请求就能让Next.js服务器瘫痪?CVE-2026-23870高危漏洞来袭,React 19用户必须立刻升级

一个不足1MB的POST请求,就能让整台运行Next.js的生产服务器瞬间“冻僵”——这不是危言耸听,而是编号为CVE-2026-23870的高危拒绝服务漏洞正在上演的真实剧本。如果你团队的项目正跑在React 19.x之上,这条消息值得你放下手头的工作&#xff0…

2026/10/11 6:13:10 阅读更多 →
律所案件管理系统实战:SpringBoot+Vue3+MyBatis开发详解

律所案件管理系统实战:SpringBoot+Vue3+MyBatis开发详解

一套律师事务所案件管理系统,说高级点是数字化管理,说白了就是帮律师把案子、客户、日程、文书从“Excel 表格 微信聊天 脑子记”的混乱状态里解放出来。前端 Vue3 做交互界面,后端 SpringBoot 提供接口,MyBatis 管数据库操作&a…

2026/10/11 6:13:10 阅读更多 →
MobileNetV2实战:PyTorch训练到TensorRT部署全流程解析

MobileNetV2实战:PyTorch训练到TensorRT部署全流程解析

简介:面向深度学习初学者和有模型部署需求的开发者,提供一套基于PyTorch mobilenetv2的图像分类完整实践资源,覆盖从数据准备、模型训练到ONNX与TensorRT推理的端到端流程。资源包共2000个文件,以大量png样本图片、py脚本及pyc编译…

2026/10/11 6:13:09 阅读更多 →
对抗式蒸馏:推理链加密与提取检测的工程实践

对抗式蒸馏:推理链加密与提取检测的工程实践

1. 项目概述:一场没有硝烟的“链上攻防”实战课最近圈内流传一个说法:“OpenAI没发论文,但悄悄打了场硬仗。”说的就是那场被技术社区反复拆解的“对抗式蒸馏”事件——表面看是模型压缩的技术演进,实则是一次推理链(C…

2026/10/11 6:13:09 阅读更多 →
企业级AI Agent治理框架:从公民开发到全生命周期管控

企业级AI Agent治理框架:从公民开发到全生命周期管控

上个月跟几位做企业数字化的朋友碰头,一位信息化负责人讲了件特别典型的事:他们公司销售运营团队瞒着IT部门,在外部平台上一周内创建了十几个Agent,有的接上了内部知识库,有的绑定了客户订单查询权限,等信息…

2026/10/11 6:13:08 阅读更多 →
零基础Python入门:从环境搭建到运行第一个Hello World程序

零基础Python入门:从环境搭建到运行第一个Hello World程序

“网上总说Python是‘最适合新手的第一门语言’,但我见过太多人在第一天就放弃了——不是被语法难住,而是连开发环境都没搞明白,更别提跑出那行自己的程序。今天这篇不讲虚的,就带你从零开始,把Python装好、把第一行代…

2026/10/11 6:12:06 阅读更多 →

日新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/11 0:00:27 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/11 0:00:27 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 5:23:50 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/9 21:32:20 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 10:38:42 阅读更多 →