分类: 文章

  • QQ阅读怎么调节字体_QQ阅读字体大小颜色调整方法

    QQ阅读怎么调节字体_QQ阅读字体大小颜色调整方法

    可调整字体大小、颜色和样式以提升阅读体验。进入阅读界面后点击屏幕中央,选择“Aa”设置按钮,通过字号调节字体大小,切换主题更换背景颜色,或下载不同字体样式,操作简便,适配个人视觉需求。

    qq阅读怎么调节字体_qq阅读字体大小颜色调整方法

    如果您在使用QQ阅读时发现字体过小或颜色不舒适,影响阅读体验,可以通过应用内的设置功能进行个性化调整。以下是调节字体大小和颜色的具体操作步骤:

    通过调整字体大小,可以让文字更符合您的视觉习惯,提升长时间阅读的舒适度。

    1、打开QQ阅读应用,进入任意一本正在阅读的书籍页面。

    2、点击屏幕中央区域,调出阅读界面的操作菜单。

    3、在底部弹出的工具栏中,找到并点击“Aa”字体设置按钮

    4、在字体设置界面中,选择“字号”选项

    5、通过滑动条或点击加减号,将字体调整到您满意的大小。

    更换阅读背景颜色或主题可以有效缓解眼睛疲劳,尤其是在不同光线环境下阅读时尤为重要。

    1、在书籍阅读界面点击屏幕中央,呼出操作菜单。

    2、点击“Aa”字体设置按钮进入设置页面。

    3、选择“主题”或“背景”选项,系统会提供多种预设配色方案。

    4、从列表中选择您喜欢的颜色组合,例如护眼绿、夜间黑、羊皮纸等。

    5、点击任一主题后,阅读界面将立即切换为所选颜色模式。

    QQ阅读支持多种字体样式替换,满足用户对排版美观的不同需求。

    1、在阅读界面点击屏幕唤出菜单,进入“Aa”设置面板

    2、选择“字体”选项,查看可用字体列表。

    3、如果有可下载字体,点击对应字体名称即可自动下载并应用。

    4、部分字体可能需要联网下载,请确保网络连接正常。

    以上就是QQ阅读怎么调节字体_QQ阅读字体大小颜色调整方法的详细内容,更多请关注php中文网其它相关文章!

  • 学习通app考试时可以切出去查资料吗_学习通考试切屏行为后果说明

    学习通app考试时可以切出去查资料吗_学习通考试切屏行为后果说明

    学习通考试切屏会被实时监控并记录,触发警告或强制交卷,严重者判定作弊。系统通过前台应用监测、时间戳记录和摄像头抓拍实现监控;切屏超3次或单次过长即可能被自动交卷;违规将导致成绩作废、诚信档案记录及处分;考前应关闭通知、设免打扰模式防误触;遇故障须立即重进考试并联系监考申诉。

    学习通app考试时可以切出去查资料吗_学习通考试切屏行为后果说明

    如果您正在使用学习通App参加在线考试,并考虑切换应用或打开其他页面查询资料,系统会立即检测到此类操作并记录为异常行为。切屏行为可能触发警告、强制交卷甚至作弊判定,具体后果取决于考试设置和学校规定。

    本文运行环境:华为Mate 60 Pro,HarmonyOS 4.0

    学习通考试系统通过活动窗口监测技术,持续追踪应用是否处于前台运行状态。一旦考生将考试界面切换至后台,无论是打开浏览器、文档应用还是社交媒体,系统都会自动记录一次切屏行为。该记录包含精确的时间戳和持续时长,作为监考审核的依据。

    1、系统会在考生切屏瞬间生成日志条目,标记为“屏幕失去焦点”事件。

    2、每次切屏无论时长长短,均会被计入累计次数,部分考试设定首次切屏即警告

    3、后置摄像头抓拍功能可能捕捉到外部设备或资料,进一步佐证违规行为。

    多数考试设置了明确的切屏容忍阈值,超出后将自动执行强制措施。此机制旨在防止考生利用外部资源获取不公平优势,确保考试结果的公正性。

    1、当切屏次数达到预设上限(通常为3次),系统立即弹出提示框告知风险。

    2、若考生继续切屏,系统将在数秒内自动提交试卷,无法恢复答题。

    3、即使未达上限,单次切屏时间过长(如超过10秒)也可能被判定为高风险行为。

    系统生成的异常报告将同步至监考教师和教务平台,学校根据情节严重程度实施分级处罚。学术诚信记录可能对学生的长期发展产生深远影响。

    1、考试成绩直接记为零分,且不得申请补考或重修

    2、违规行为录入学生个人诚信档案,影响奖学金评定、保研资格审核。

    3、部分高校规定两次切屏作弊可给予留校察看处分,严重者影响就业背景审查。

    为避免因非主观意图的操作引发系统警报,考生应在考前优化设备设置,消除潜在干扰源。这些措施有助于维持考试过程的稳定性。

    1、进入考试前关闭所有消息通知,防止来电或弹窗导致应用退至后台。

    2、将手机设置为免打扰模式,禁止任何中断性提醒。

    3、提前检查网络连接,避免因卡顿造成误触返回键或桌面图标。

    若因设备故障、系统崩溃等不可控因素导致意外切屏,考生需迅速采取行动以证明清白。及时沟通可降低被误判的风险。

    1、立即重新进入学习通完成考试,保持摄像头画面清晰可见。

    2、考试结束后第一时间联系监考老师,说明情况并提供相关证据。

    3、如有录屏或第三方监控数据,可作为申诉材料提交审核。

    以上就是学习通app考试时可以切出去查资料吗_学习通考试切屏行为后果说明的详细内容,更多请关注php中文网其它相关文章!

  • FastAPI高级用法:如何同时上传文件与Pydantic列表字典数据

    FastAPI高级用法:如何同时上传文件与Pydantic列表字典数据

    FastAPI高级用法:如何同时上传文件与Pydantic列表字典数据

    本教程深入探讨了在FastAPI中同时上传文件和Pydantic复杂数据结构(如字典列表)的挑战与解决方案。文章首先剖析了传统方法中遇到的HTTP协议限制和Pydantic模型定义问题,随后详细介绍了两种核心策略:通过Form参数传输JSON字符串并手动解析,以及利用Pydantic的model_validator自动处理Body中的JSON字符串。通过实际代码示例,本教程旨在帮助开发者高效地构建支持混合数据上传的FastAPI接口。

    在fastapi应用开发中,我们经常需要处理多种类型的请求数据,例如文件上传(uploadfile)和结构化的json数据(pydantic basemodel)。当这些数据类型需要同时在一个请求中提交时,开发者可能会遇到一些挑战,特别是当json数据包含列表(list)或字典列表(list[basemodel])时。

    常见的错误尝试包括:

    • 将Pydantic模型直接作为依赖项(Depends())与UploadFile一起使用,期望它能自动解析JSON体。
    • 在Pydantic模型中定义List类型的字段作为查询参数,但未显式使用Query()。
    • 尝试通过multipart/form-data同时发送JSON数据和文件。

    这些尝试通常会导致422 Unprocessable Entity错误,其根本原因在于HTTP协议对请求体编码的限制以及FastAPI/Pydantic对不同数据源的解析机制。

    核心问题点:

    1. HTTP协议限制: HTTP协议通常不允许在一个请求体中同时使用multipart/form-data(用于文件上传)和application/json(用于JSON数据)两种编码类型。当接口定义中包含File()参数时,FastAPI会将整个请求体视为multipart/form-data。
    2. List类型查询参数: 当Pydantic模型中包含List[str]或List[int]等列表类型的查询参数时,必须显式使用Field(Query(...))进行声明,否则FastAPI无法正确解析。
    3. List[dict]作为查询参数: List[BaseModel](即字典列表)无法作为查询参数传递。Pydantic模型中的复杂对象列表通常期望作为请求体的一部分。

    在深入探讨文件与JSON混合上传之前,我们首先需要理解如何在Pydantic模型中正确声明列表类型的查询参数。如果你的Pydantic模型字段是List[str]或List[float]等,你需要使用Query()将其包装在Field()中。

    示例代码 1:Pydantic模型中列表查询参数的正确用法

    说明:

    • words: List[str] = Field(Query(...)) 明确告诉FastAPI words 是一个列表类型的查询参数,可以接收多个同名参数值(例如 ?words=a&words=b)。
    • 如果缺少Query(...),FastAPI将无法正确解析List类型的查询参数。

    由于HTTP协议的限制,我们不能直接将Pydantic模型(作为application/json)和文件(作为multipart/form-data)同时发送。解决方案的关键在于:将Pydantic模型的数据编码成一个字符串,并通过multipart/form-data的一部分(例如一个Form字段)发送,然后在服务器端进行解析。

    以下介绍两种常用的实现方法。

    3.1 方法一:通过Form参数传递JSON字符串并手动解析

    这种方法将Pydantic模型的数据序列化为JSON字符串,然后作为Form参数的一部分提交。服务器端通过一个依赖函数手动解析这个JSON字符串。

    示例代码 2:使用Form参数和依赖函数解析JSON数据

    app.py

    客户端请求示例 (使用 curl):

    假设你有一个名为 test.png 的文件。

    说明:

    • BaseQueryParams 用于处理 URL 中的查询参数,其中的 words 字段正确使用了 Query(...)。
    • BasePayload 定义了我们期望的复杂JSON数据结构。
    • parse_json_form_data 是一个关键的依赖函数。它接收一个 Form 参数 data(客户端将JSON字符串作为此字段发送),然后使用 BasePayload.model_validate_json() 尝试将其解析为 BasePayload 对象。
    • 如果JSON字符串格式不正确,ValidationError 会被捕获并转换为 HTTPException,返回 422 状态码和详细错误信息。
    • files: List[UploadFile] = File(...) 用于接收一个或多个文件。

    3.2 方法二:利用Pydantic的model_validator自动解析Body中的JSON字符串

    这种方法通过Pydantic模型自身的model_validator来处理从请求体中接收到的JSON字符串。它将JSON字符串视为一个特殊的输入格式,并在模型实例化之前进行解析。这种方式通常更简洁,并且在Swagger UI (/docs) 中能更好地展示请求体结构。

    示例代码 3:使用model_validator解析Body中的JSON字符串

    app.py

    客户端请求示例 (使用 curl):

    假设你有一个名为 test.png 的文件。

    说明:

    • BasePayload 模型中新增了一个 model_validator(mode="before") 方法。
    • validate_to_json 方法在Pydantic模型验证之前被调用。如果 value 是一个字符串(即客户端发送的JSON字符串),它会尝试使用 json.loads() 将其解析为字典,然后用这个字典来实例化 BasePayload。
    • payload: BasePayload = Body(...) 声明 payload 是请求体的一部分。FastAPI会将其作为 multipart/form-data 中的一个字段来处理,而 model_validator 则负责将其从字符串解析为Pydantic对象。
    • 这种方法在FastAPI的/docs接口中显示更友好,因为它能自动生成 BasePayload 的示例输入结构。
    • 选择合适的方法: 方法二(使用model_validator)通常更推荐,因为它将JSON解析逻辑封装在Pydantic模型内部,使代码更简洁,且与FastAPI的文档生成集成度更高。
    • 客户端请求格式: 无论选择哪种方法,客户端都需要将Pydantic模型的数据序列化为JSON字符串,并作为multipart/form-data中的一个字段发送。
    • 查询参数: 对于URL中的列表类型查询参数,务必使用 Field(Query(...)) 进行声明。
    • 错误处理: 两种方法都包含了对JSON解析失败的错误处理,确保API在接收到无效数据时能返回清晰的错误信息。
    • 多文件上传: 示例中使用了 files: List[UploadFile] = File(...) 来支持多文件上传。如果只需要上传单个文件,可以将其改为 file: UploadFile = File(...)。

    通过上述两种方法,开发者可以有效地解决在FastAPI中同时上传文件和复杂Pydantic模型数据(特别是包含字典列表)的挑战,构建出功能强大且健壮的API接口。

    以上就是FastAPI高级用法:如何同时上传文件与Pydantic列表字典数据的详细内容,更多请关注php中文网其它相关文章!

  • 华尔街专家Tom Lee:比特币(BTC)和以太坊(ETH)可能在未来3个月出现"巨幅上

    华尔街专家Tom Lee:比特币(BTC)和以太坊(ETH)可能在未来3个月出现"巨幅上

    目录
    • 以太坊交易如同1971年的华尔街
    • BitMine持续增持ETH

    华尔街专家tom lee:比特币(btc)和以太坊(eth)可能在未来3个月出现

    Fundstrat的Tom Lee预测,随着美联储降息及流动性环境转暖,比特币与以太坊有望在2024年第四季度迎来强劲上涨。

    BitMine董事长兼Fundstrat联合创始人Tom Lee指出,美国货币政策转向宽松将为比特币(BTC)和以太坊(ETH)带来显著的价格推动。

    周一,Lee在接受CNBC采访时表示,货币流动性敏感度、全球央行的宽松倾向以及有利的季节性趋势,都将助推这两种主流加密资产走高。

    我认为未来三个月可能出现巨大涨幅……幅度会非常可观。

    他进一步强调,这可能会成为今年最后几个月中最值得关注的市场动向之一,尤其是考虑到美联储已开启本轮降息周期。

    Lee将当前宏观背景类比于1998年9月和2024年的情形——美联储进入“长期暂停”阶段并在当月实施降息。“只要表明我们重新进入宽松周期,就能重振市场信心,”他解释道,“这将真正改善流动性状况。”

    市场普遍预期美国央行将在周三下调利率25个基点,尽管期货数据显示,有4%的概率可能降息50个基点。

    华尔街专家Tom Lee:比特币(BTC)和以太坊(ETH)可能在未来3个月出现

    Tom Lee对BTC和ETH持乐观态度。来源:CNBC

    当被问及BTC和以太坊是否仍属于风险资产时,Lee回应称,比特币对货币政策和流动性的变化极为敏感,而以太坊同样展现出高度的流动性相关特征。

    “但它同时还承载着AI向区块链迁移的趋势,也是华尔街逐步上链的一部分——我们现在正经历加密领域稳定币与ChatGPT融合的关键时刻,”他说道,并补充:

    因此在我看来,以太坊的交易逻辑几乎等同于1971年美元脱离金本位后的华尔街,那时创新层出不穷……而以太坊本质上是一个增长型协议。

    正因如此,Lee表示这也是BitMine正在积极买入以太坊的核心原因。

    华尔街专家Tom Lee:比特币(BTC)和以太坊(ETH)可能在未来3个月出现

    在周一发布的最新持仓更新中,该公司披露其持有的现金与加密资产总值达107.7亿美元,其中包括215万枚ETH。

    目前,BitMine所持以太坊价值约97亿美元,约占以太坊总流通供应量的1.8%。

    “华尔街向区块链的迁移,叠加AI技术特别是代理式AI构建新型代币经济的进程,正在为以太坊催生一个前所未有的超级周期,”Lee表示。

    截至本文发布时,ETH价格维持在4500美元上方,日内微跌2.7%,但相较上周同期仍上涨近5%。

    以上就是华尔街专家Tom Lee:比特币(BTC)和以太坊(ETH)可能在未来3个月出现"巨幅上的详细内容,更多请关注php中文网其它相关文章!

  • Composer为什么建议提交composer.lock文件

    Composer为什么建议提交composer.lock文件

    composer.lock 文件需提交至版本控制系统,以确保团队环境一致、生产环境稳定、构建可重复,并便于审查依赖变更,避免因依赖版本差异导致的问题。

    composer为什么建议提交composer.lock文件

    在使用 Composer 管理 PHP 项目依赖时,composer.lock 文件的作用是记录当前项目所安装的依赖包及其精确版本号。虽然这个文件可以由 自动生成,但强烈建议将其提交到版本控制系统(如 Git)中。以下是主要原因:

    当多个开发者协作开发同一个项目时,每个人的本地环境都应尽可能保持一致。如果未提交 composer.lock,每位开发者运行 时,可能会拉取符合 中版本约束的最新兼容版本,这可能导致不同人使用的依赖版本不一致。

    • 提交 lock 文件后,所有人在执行 时都会安装完全相同的依赖版本。
    • 避免“在我机器上能跑”的问题,提升协作效率。

    部署到生产环境时,必须确保代码和依赖与测试环境中完全一致。

    • 会优先读取 composer.lock 并安装锁定版本,而不是根据 去解析最新匹配版本。
    • 即使某个第三方包发布了包含 Bug 的新版本,只要 lock 文件未更新,就不会意外引入该问题。

    软件部署需要具备可重复性 —— 同一个代码版本无论何时构建,结果都应一致。

    • lock 文件提供了“确定性依赖树”,保证每次安装的依赖组合完全相同。
    • CI/CD 流程中依赖安装更可靠,减少因依赖变动导致的构建失败或行为异常。

    当你运行 时,Composer 会根据版本约束更新依赖,并生成新的 composer.lock

    • 这个变化可以被 Git 记录下来,通过 diff 查看具体哪些包被升级或降级。
    • 团队可以通过代码评审了解依赖变更的影响范围,比如是否引入了潜在破坏性更新。

    基本上就这些。提交 composer.lock 不是为了方便,而是为了控制不确定性。它就像项目的“依赖快照”,让整个生命周期中的依赖管理更加可控、透明和稳定。

    以上就是Composer为什么建议提交composer.lock文件的详细内容,更多请关注php中文网其它相关文章!

  • Win7怎么删除word中的空白页?

    Win7怎么删除word中的空白页?

    或许你也曾遇到过类似的情况:在使用word编辑文档时,莫名多出了一个或多个空白页,尝试用delete键却无法删除,这无疑让人感到困扰。接下来,小编为大家整理了一些删除word中多余空白页的操作步骤。

    如何删除Word中的空白页?

    删除Word最后一页的空白页:

    当空白页位于文档末尾时,首先将光标移至该页,

    Win7怎么删除word中的空白页?

    接着按下键盘上的“Delete”或“Backspace”键,就能轻松删除空白页。

    Win7怎么删除word中的空白页?

    批量删除Word中的多个空白页:

    若文档内存在多个空白页,可采用查找与替换功能来处理。按下“Ctrl + H”组合键打开查找替换窗口,

    Win7怎么删除word中的空白页?

    点击“更多”或“高级”,在“特殊格式”里选择“手动分页符”。

    Win7怎么删除word中的空白页?

    然后点击“全部替换”,所有空白页就会被清除。

    Win7怎么删除word中的空白页?

    使用Shift键选中并删除空白页:

    将光标放在空白页前一页的最后一个字符后方,按住键盘上的“Shift”键,并用鼠标从上往下拖动至文档底部,再单击空白区域。

    Win7怎么删除word中的空白页?

    按下“Delete”键即可删除空白页。

    Win7怎么删除word中的空白页?

    清除Word中的分页符:

    点击菜单栏中的“视图”选项,选择“普通视图”模式,

    Win7怎么删除word中的空白页?

    这样可以看到一条虚线,这就是造成空白页的分页符,将其删除后空白页也就消失了。

    Win7怎么删除word中的空白页?

    最后切换回默认的“页面视图”,此时空白页应该已经不见了。

    Win7怎么删除word中的空白页?

    因表格(图片)引发的空白页:

    在创建或插入表格之后,如果表格过大占据了多余空间,可能会产生一个看似无法删除的空白页。解决办法是适当调整表格大小以减少占用的空间。

    减少段落行距以消除空白页:

    对于仅剩一行无法删除的空白页,可以先将光标放置于空白页上,右键选择“段落”,在弹出的属性框中将“行距”设置为“固定值”,数值设为“1磅”,最后确认修改,空白页即会被删除。

    Win7怎么删除word中的空白页?

    上述方法便是解决Word中空白页问题的具体步骤,有需求的朋友不妨参考一下。

    以上就是Win7怎么删除word中的空白页?的详细内容,更多请关注php中文网其它相关文章!

  • PHP foreach 循环跳过数组首个元素的技巧

    PHP foreach 循环跳过数组首个元素的技巧

    PHP foreach 循环跳过数组首个元素的技巧

    本文详细介绍了在 PHP 中使用 foreach 循环遍历数组时,如何优雅地跳过第一个元素。通过比较元素值、使用布尔标志位、利用 array_slice 函数以及传统的 for 循环等多种方法,提供了清晰的代码示例和实现原理。旨在帮助开发者根据具体场景选择最适合的遍历策略,提高代码的灵活性和可维护性。

    在 php 开发中,foreach 循环是遍历数组最常用且简洁的方式。然而,在某些特定场景下,我们可能需要从数组的第二个元素开始进行迭代,即跳过第一个元素。本文将探讨几种实现这一需求的方法,并提供相应的代码示例和注意事项。

    标准的 foreach 循环会从数组的第一个元素开始,按顺序遍历所有元素。

    为了实现跳过第一个元素,我们需要引入一些控制逻辑。

    这种方法通过将当前循环的元素值与数组的第一个元素值进行比较,如果相等则跳过当前迭代。

    注意事项:

    立即学习“PHP免费学习笔记(深入)”;

    • 这种方法适用于数组中第一个元素的值是唯一的情况。
    • 如果数组中其他位置也存在与第一个元素值相同的元素,它们也会被无意中跳过。
    • 如果数组为空,$num[0] 会引发错误,需要额外的检查。

    使用一个布尔变量作为标志位,在第一次循环时将其设置为 true,然后跳过本次迭代。之后将标志位设置为 false,后续循环将正常执行。

    注意事项:

    立即学习“PHP免费学习笔记(深入)”;

    • 此方法不依赖于元素值,因此更加通用和健壮。
    • 适用于任何类型的数组和元素值。
    • 代码逻辑清晰,易于理解。

    array_slice() 函数可以从数组中提取一部分,并返回一个新的数组。通过指定起始偏移量,我们可以轻松地获取从第二个元素开始的子数组。

    注意事项:

    立即学习“PHP免费学习笔记(深入)”;

    • 这种方法非常简洁和函数式,是处理此类需求的推荐方式之一。
    • array_slice() 会创建一个新的数组,这对于非常大的数组来说可能会有轻微的性能开销和内存占用。
    • 如果原始数组的键名是关联数组,array_slice() 默认会重置数字键,但可以通过第三个参数 true 来保留键名。对于本例中的索引数组,这不成问题。

    如果数组是索引数组(即键名为数字且连续),传统的 for 循环可以提供更直接的索引控制。

    注意事项:

    立即学习“PHP免费学习笔记(深入)”;

    • 此方法仅适用于索引数组。对于关联数组,foreach 循环或 array_slice 更为合适。
    • 提供了精确的索引控制,可以灵活地指定循环的起始和结束位置。

    在 PHP 中跳过 foreach 循环的第一个元素有多种实现方式,每种方法都有其适用场景和优缺点:

    • 比较元素值:简单直接,但可能因元素值重复而产生副作用。
    • 布尔标志位:通用且健壮,不依赖元素值,推荐用于需要精确控制循环次数的场景。
    • array_slice() 函数:代码简洁,函数式风格,适用于创建新数组进行后续操作的场景。
    • for 循环:适用于索引数组,提供精确的索引控制,是传统且有效的选择。

    在实际开发中,建议根据数组类型、性能要求以及代码的可读性和维护性来选择最合适的方案。对于大多数情况,使用布尔标志位或 array_slice() 是比较推荐的实践。

    以上就是PHP foreach 循环跳过数组首个元素的技巧的详细内容,更多请关注php中文网其它相关文章!

  • 《黑神话:悟空》联动麦当劳更多物料曝光!还有新的惊喜?

    《黑神话:悟空》联动麦当劳更多物料曝光!还有新的惊喜?

    《黑神话:悟空》联动麦当劳更多物料曝光!还有新的惊喜?

    近日,小红书上曝光了《黑神话:悟空》与麦当劳的联名套餐详情。据悉,该套餐为五件套组合,定价139.9元,内容包括咸蛋黄鸡腿蛋月堡、黑金奶黄年糕风味派、如意金箍扭扭薯、中杯可乐,以及一件限定款麦当劳×黑神话联名居家服。值得一提的是,这款居家服采用双面设计,选用柔软舒适的法兰绒材质,实用性与收藏价值兼具。

    《黑神话:悟空》联动麦当劳更多物料曝光!还有新的惊喜?

    《黑神话:悟空》联动麦当劳更多物料曝光!还有新的惊喜?

    《黑神话:悟空》联动麦当劳更多物料曝光!还有新的惊喜?

    《黑神话:悟空》联动麦当劳更多物料曝光!还有新的惊喜?

    9月19日,小红书用户“菠萝菠萝蜜”与“冰美式”进一步分享了此次联动的宣传物料。除此前公布的餐品外,还新增了一款桂花酒酿风味的双旋圆筒,售价仅为5元一份,颇具吸引力。如此丰富的联名内容,你是否会第一时间入手?欢迎在评论区分享你的看法!

    以上就是《黑神话:悟空》联动麦当劳更多物料曝光!还有新的惊喜?的详细内容,更多请关注php中文网其它相关文章!

  • Fami通新周销榜公布:《马里奥赛车 世界》持续领跑

    Fami通新周销榜公布:《马里奥赛车 世界》持续领跑

    日媒fami通近日公布了2025年9月8日至9月14日的游戏软件和硬件一周销量排行预测榜。其中,《马里奥赛车:世界》本周依然表现强劲,销量达38026份,已经第12次夺得周销量榜首。

    Fami通新周销榜公布:《马里奥赛车 世界》持续领跑

    排在第2位的是新作《无主之地4》,这是一款兼具刷宝要素的射击动作RPG。游戏中准备了海量的武器、全新的移动机制、多样而深度的技能树,玩家可以享受高度自由的探索与战斗。

    Fami通新周销榜公布:《马里奥赛车 世界》持续领跑

    另外还有一款值得注意的作品,就是周榜Top 10的常客《Minecraft》。本周它排在第7位。自2018年6月发售以来,销量持续增长,至今已7年时间,在日本国内的累计销量终于突破了400万份。

    Fami通新周销榜公布:《马里奥赛车 世界》持续领跑

    游戏软件销量排行:

    1.《马里奥赛车:世界》(Switch 2)– 38026份(累计1732435份)

    2.《无主之地4》(PS5)– 13029份(新上榜,累计13029份)

    3.《咚奇刚:蕉力全开》(Switch 2)– 10577份(累计307141)

    4.《牧场物语 来吧!风之繁华集市》(Switch)– 8547份(累计68638份)

    5.《鬼灭之刃 火之神血风谭2》(Switch)– 7041份(累计116527份)

    6.《全民高尔夫 环球之旅》(Switch)– 5930份(累计41069份)

    7.《Minecraft》(Switch)– 5539份(累计4001857份)

    8.《合金装备3:重制版》(PS5)– 4865份(累计78198份)

    9.《马里奥赛车8:豪华版》(Switch)– 4012份(累计6440109份)

    10.《超级机器人大战Y》(Switch)– 3921份(累计74633份)

    游戏硬件销量:

    Switch2/44278台(累计2024761台)

    Switch/2875台(累计20148084台)

    Switch Lite/5606台(累计6663260台)

    Switch OLED/10568台(累计9177360台)

    PS5/10515台(累计5781989台)

    PS5 数字版/9199台(累计1001896台)

    PS5 Pro/1989台(累计247755台)

    Xbox Series X/51台(累计322113台)

    Xbox Series X 数字版/47台(累计21480台)

    Xbox Series S/27台(累计339459台)

    PS4/13台(累计7929899台)

    以上就是Fami通新周销榜公布:《马里奥赛车 世界》持续领跑的详细内容,更多请关注php中文网其它相关文章!

  • 实现单输入字段多密码页面跳转的前端教程

    实现单输入字段多密码页面跳转的前端教程

    实现单输入字段多密码页面跳转的前端教程

    本教程将指导您如何使用JavaScript在前端实现一个单输入字段的多密码验证页面,根据用户输入的密码跳转到不同的目标页面。文章详细介绍了利用数组对象管理密码与页面映射的实现方法,并特别强调了这种客户端密码验证方案存在的严重安全隐患,提醒读者在实际应用中务必采用安全的服务器端验证机制。

    在某些场景下,我们可能需要一个简单的页面,用户输入不同的密码后,能够被重定向到不同的目标页面。例如,“dogs”密码跳转到 dogs.html,“cats”密码跳转到 cats.html。

    最初的实现思路可能是一个简单的 if/else 结构,如下所示:

    这种方法对于单个密码验证是有效的,但当需要支持多个密码时,它会变得非常笨拙和难以维护。每次增加或修改密码时,都需要修改 if/else if 链,代码的可读性和扩展性极差。

    为了解决多密码管理的复杂性,我们可以采用一个更优雅的解决方案:将密码及其对应的目标页面存储在一个数据结构中。JavaScript中的数组对象是实现此目的的理想选择。每个对象可以包含密码 (pass) 和对应的页面路径 (page)。

    数据结构设计

    我们定义一个 passwords 数组,其中每个元素都是一个包含 pass 和 page 属性的对象:

    立即学习“前端免费学习笔记(深入)”;

    这种结构使得密码和页面映射的管理变得集中且易于扩展。

    核心逻辑实现

    接下来,我们需要修改 checkPswd 函数,使其能够遍历这个 passwords 数组,查找匹配的密码。JavaScript的 Array.prototype.find() 方法非常适合这个场景。

    这段代码的核心在于 passwords.find(o => o.pass === passInput)。它会遍历 passwords 数组,对每个对象 o,检查其 pass 属性是否与用户输入的 passInput 相等。如果找到第一个匹配项,find 方法会返回该对象;如果没有找到任何匹配项,则返回 undefined。

    完整示例代码

    将表单和更新后的JavaScript逻辑结合起来,形成一个完整的HTML页面:

    同时,您需要创建对应的目标HTML文件,例如 dogs.html:

    以及 cats.html 和 secretpage.html,内容结构类似。

    此教程提供的客户端密码验证方案存在严重的安全性问题,不应在任何需要保护敏感信息的实际应用中使用。

    1. 密码暴露风险: 所有密码都以明文形式存储在前端JavaScript代码中。任何能够访问您网站的用户,通过查看页面源代码或浏览器开发者工具,都可以轻易地获取到所有设定的密码。
    2. 不适用于敏感数据: 这种方法仅适用于极度不敏感、仅为方便测试或娱乐目的而设计的页面。例如,一个简单的“彩蛋”页面,或者一个无需任何安全保障的内部导航。
    3. 缺乏真正的认证: 客户端验证无法提供真正的用户认证和授权。它仅仅是基于一个预设的字符串匹配进行重定向,不具备用户身份验证、会话管理、数据加密等安全特性。

    在实际的Web应用中,用户认证和密码管理必须在服务器端进行。

    • 用户提交密码后,应通过HTTPS协议发送到服务器。
    • 服务器端接收密码后,应与数据库中存储的哈希加盐后的密码进行比对,而不是明文比对。
    • 认证成功后,服务器会生成一个安全的会话(如JWT或Session ID),并将其发送给客户端,客户端在后续请求中携带此会话信息,以证明其身份。

    本教程展示了如何在前端通过一个单输入字段实现多密码到不同页面的重定向功能。通过使用JavaScript的数组对象和 Array.prototype.find() 方法,我们能够构建一个灵活且易于维护的密码-页面映射系统。然而,我们必须再次强调,这种客户端验证方案存在严重的安全漏洞,绝不应用于处理任何敏感信息。在开发实际应用时,请务必采用安全的服务器端认证机制来保护用户数据和系统安全。

    以上就是实现单输入字段多密码页面跳转的前端教程的详细内容,更多请关注php中文网其它相关文章!