分类 技术学习 下的文章

在安卓玩机圈中,Bootloader解锁是开启系统魔改大门的金钥匙。不同品牌对BL解锁的态度差异巨大,本文将根据最新政策为你梳理各品牌的解锁难度,助你找到最适合折腾的手机设备。

一、小白友好型(解锁难度低)

1. 一加手机

堪称刷机界的"良心典范",全系列开放OEM解锁开关,开发者选项中一键解除BL锁,无需任何审核或等待,堪称极客入门首选。

2. Google Pixel

原生系统配合官方fastboot解锁命令,通过adb reboot bootloader+fastboot flashing unlock即可完成。更难得的是解锁后仍保留保修服务,官方甚至提供工厂镜像下载。

3. 摩托罗拉

国行非定制机在官网提交IMEI申请解锁码,收到邮件后通过fastboot输入16位代码即可秒解,流程透明无需社区等级等限制。

4. HTC

老牌刷机王延续开放传统,官网提供专用解锁工具HTCDev,注册账号后按指引操作,同时保留完善的root工具链支持。

二、进阶挑战型(解锁难度中)

1. 索尼Xperia

需在开发者中心申请解锁码,特别注意:部分运营商合约机不可解锁。解锁后会触发DRM熔断,需自行修复相机算法降级问题。

2. 三星Galaxy

欧版/国行设备在Download模式下输入OEM UNLOCK,但会触发Knox熔断机制,导致Samsung Pay等金融功能永久失效,且不可逆。

3. OPPO系设备

Reno6系列需申请深度测试权限(审核1-3天),联发科机型保留9008工程模式强解通道。ColorOS 13后新增解锁计数器,多次刷机可能触发反回滚机制。

4. 真我realme

2024新政后仅限Neo5/GT5等旗舰开放深度测试,旧机型需拆机短接进入EDL模式。天玑平台可尝试MTKClient工具绕过限制,但存在基带丢失风险。

三、硬核试炼型(解锁难度高)

小米/Redmi全家桶

需通过包含30道专业题目的资格测试(正确率需达80%),配合小米社区5级账号+实名认证。最严苛的是336小时有效期设定,需在14天内完成设备绑定-解锁全流程,且每个实名账号每年仅限解锁1台设备。

解锁小贴士:

  • 华为/荣耀全系:自2018年起已关闭BL解锁服务
  • vivo/iQOO:除Xplay等上古机型外,全线封杀解锁通道
  • 中兴系:需支付$50获取解锁证书

选择设备时建议优先考虑解锁难度低的品牌,特别是Pixel系列既能享受原生更新又保有保修权益。对于追求极致定制的玩家,建议备两台设备:一台保持官方系统满足日常使用,另一台选择一加/摩托罗拉等开放机型进行深度折腾。刷机有风险,解锁前务必备份重要数据并确认具体型号的解锁政策。

品牌解锁难度解锁方式及条件注意事项
一加打开 OEM 解锁按钮即可无特殊注意事项
Google Pixel简单操作即可解锁解锁后仍可享受保修服务
摩托罗拉官网申请,按流程操作需是非定制机
HTC通过官方渠道或常见解锁工具操作相对简单
索尼中等官网获取解锁码,安装驱动和工具,通过命令行解锁需先检查手机是否支持解锁
三星中等可解锁 BL 并获取 Root 权限(非美版)解锁后芯片内部熔断,部分功能无法使用,如三星 Pay
OPPO中等OPPO Reno6 及以下机型通过深度测试解锁;Reno7 及 A 系列新机仅天玑处理器可解锁不同机型解锁策略不同,需按型号确定方法
真我中等真我 neo5/gt5 等及以上新机可官方深度测试;MTK 天玑芯片可强制解锁旧版机型不支持解锁;强制解锁有风险
小米 / 红米通过《解锁资格答题测试》,小米社区成长等级达 5 段,完成实名认证,在 336 小时(14 天)有效期内完成绑定和解锁有效期内最多支持小米账号实名认证本人 1 台设备绑定和解锁

一、现状反思:被关键词绑架的创造力

在AI绘图技术突飞猛进的今天,一个吊诡的现象正在发生:用户需要像程序员一样学习"咒语"(prompt engineering)才能获得理想结果。MidJourney的用户手册长达200页,Stable Diffusion的关键词组合堪比编程语言,这种现象与AI"自然交互"的初衷背道而驰。

专业用户交流群中流传着这样的关键词词典:

  • "Unreal Engine 5":自动加载复杂的光影渲染
  • "Octane Render":触发电影级材质表现
  • "trending on ArtStation":激活流行艺术风格
  • "35mm f/1.8":控制镜头虚化效果

这些"魔法词汇"暴露了当前技术的深层缺陷:模型未能真正理解自然语言的语义网络,而是依赖关键词触发预置的参数组合。当用户需要"夕阳下奔跑的金毛犬"时,必须额外指定"黄金时刻光照"、"动态模糊"、"毛发细节8K",这本质上仍是工程师思维而非自然交互。

二、技术瓶颈解构:跨模态理解的阿喀琉斯之踵

当前AI绘图系统的核心架构决定了其关键词依赖症。以主流扩散模型为例,文本编码器(text encoder)将自然语言压缩为768维的潜向量,这个信息瓶颈迫使模型建立"关键词-视觉特征"的简化映射关系。实验数据显示,CLIP模型对复杂语句的理解准确率仅为57%,远低于人类92%的水平。

多模态对齐存在三个致命缺陷:

  • 语义解耦不足:模型难以区分"红色汽车在左侧"和"左侧汽车的红色部分"
  • 常识推理缺失:无法理解"办公室午休场景"应包含咖啡杯、凌乱纸张等关联元素
  • 风格语境混淆:将"水墨风格"简单映射为黑白调色,忽略留白、笔触等美学特征

这种缺陷在用户研究中有直观体现:当使用自然语言描述时,图像与预期的匹配度仅为41%;而使用规范关键词时提升至78%。这证明当前系统本质上是"关键词检索器"而非真正的语义理解者。

三、突破路径:下一代AI绘图的技术革命

前沿研究正在从三个维度突破这一困境:

1. 知识增强型语言模型

Google的PaLI-3架构将视觉-语言模型与知识图谱结合,使系统理解"毕加索风格"时能自动关联立体主义、多视角等特征。这种结构化知识使提示词缩减30%的情况下,输出准确率提升18%。

2. 动态语义解析网络

Meta的DynaPrompt系统采用递归注意力机制,通过多轮对话解析用户意图。实验显示,经过5轮交互修正后,图像匹配度从初次生成的46%提升至89%,接近专业关键词的效果。

3. 神经符号系统融合

剑桥大学提出的SyMetric框架,将扩散模型与符号推理引擎结合。当用户描述"未来城市"时,系统自动调用城市规划知识库,补充交通网络、能源系统等细节,减少70%的手动参数调整。

四、用户体验重构:从咒语念诵到创意对话

技术演进正在重塑人机交互范式。Adobe Firefly的最新测试版展示了革命性的改变:

  • 支持上下文延续:"调整刚才那幅画,让天空更阴沉些"
  • 理解隐喻表达:"给我梵高眼中的星夜"
  • 处理复杂逻辑:"主角服装融合唐朝服饰和赛博朋克元素"

这种进化不是简单的语言模型升级,而是整个AI认知架构的重构。当系统能理解"画面氛围"这样的抽象概念时,用户终于可以摆脱关键词词典,回归创作的本质——用人类自然的表达方式传递创意。

五、未来展望:自然语言交互的技术奇点

当绘图AI的自然语言理解达到人类水平时,我们将见证创作方式的根本变革:

  • 实时协作模式:像指导人类画师一样与AI互动
  • 风格迁移进化:用"更温暖些"替代"色温+300K"
  • 语义纠错能力:自动修正"漂浮的茶杯"的物理错误

技术路线图显示,到2026年主流AI绘图工具将淘汰关键词工程,届时输入框提示语将从"请输入详细描述"变为"告诉我您的创意想法"。这不仅是技术的进步,更是人机交互范式的革命——当AI真正理解自然语言时,创造力将突破专业术语的牢笼,回归到每个普通人的手中。


下面是英文版本,由Deepseek翻译
Translated by Deepseek

TL;DR

The Path to Natural Language in AI Image Generation: From Spells to Dialogue

1. The Current Paradox: Creativity Held Hostage by Keywords

In the era of rapidly advancing AI image generation, a peculiar phenomenon persists: users must learn "spell-like" prompt engineering to achieve desired results. With MidJourney's 200-page manual and Stable Diffusion's keyword combinations resembling programming syntax, this reality starkly contradicts AI's original promise of natural interaction.

Professional user communities circulate secret dictionaries of "magic words":

  • Unreal Engine 5: Activates complex lighting renders
  • Octane Render: Triggers cinematic material quality
  • trending on ArtStation: Unlocks popular art styles
  • 35mm f/1.8: Controls bokeh effects

These "incantations" reveal fundamental flaws in current systems: models don’t truly understand semantic networks but rely on keywords to trigger preset parameter combinations. To generate "a golden retriever running under sunset," users must manually specify "golden hour lighting," "motion blur," and "8K fur detailing" – essentially programming rather than natural communication.

2. Technical Bottlenecks: The Achilles' Heel of Cross-Modal Understanding

The core architecture of current AI image systems dictates their keyword dependency. In mainstream diffusion models, text encoders compress natural language into 768-dimensional latent vectors. This information bottleneck forces models to establish simplified "keyword-visual feature" mappings. Experimental data shows CLIP models achieve only 57% accuracy in parsing complex sentences, far below humans' 92%.

Three critical flaws plague multimodal alignment:

  • Inadequate Semantic Disentanglement: Models struggle to distinguish "red car on the left" vs. "red parts of the left car"
  • Missing Commonsense Reasoning: Fails to infer "office lunch scene" should include coffee cups and scattered papers
  • Style-Context Confusion: Reduces "Chinese ink painting" to monochrome palettes, ignoring brushwork aesthetics

User studies quantify these limitations: natural language prompts yield only 41% image-intent alignment versus 78% with engineered keywords. This proves current systems function as "keyword retrievers," not true semantic comprehenders.

3. Breakthrough Pathways: The Next Revolution in AI Image Generation

Cutting-edge research is tackling these challenges through three approaches:

1. Knowledge-Augmented Language Models

Google's PaLI-3 integrates vision-language models with knowledge graphs. When interpreting "Picasso style," it automatically associates cubism and multi-perspective features, achieving 18% higher accuracy with 30% fewer prompts.

2. Dynamic Semantic Parsing Networks

Meta's DynaPrompt employs recursive attention for multi-turn intent refinement. After 5 interaction rounds, image alignment jumps from 46% to 89%, rivaling expert-level prompts.

3. Neuro-Symbolic Hybrid Systems

Cambridge's SyMetric framework combines diffusion models with symbolic reasoning. For "future city" prompts, it auto-populates urban infrastructure details using knowledge bases, reducing manual adjustments by 70%.

4. UX Transformation: From Incantations to Creative Dialogue

These innovations are reshaping human-AI interaction. Adobe Firefly's beta demonstrates:

  • Context-aware iteration: "Make the sky gloomier in that last image"
  • Metaphor comprehension: "Show me Van Gogh's vision of Starry Night"
  • Complex logic handling: "Merge Tang Dynasty attire with cyberpunk elements"

This evolution represents not just model upgrades but a complete cognitive architecture overhaul. When systems understand abstract concepts like "mood," users finally escape keyword dictionaries, returning to creation's essence – conveying ideas through natural human expression.

5. Future Horizon: The Singularity of Natural Language Interaction

When AI achieves human-level language understanding, we'll witness a creative revolution:

  • Real-time Collaboration: Direct AI like human artists
  • Intuitive Style Transfer: Replace color_temp +300K with "make it warmer"
  • Semantic Error Correction: Auto-fix "floating teacup" physics

Industry roadmaps suggest keyword engineering will vanish from mainstream tools by 2026. Input prompts will shift from "Enter detailed descriptions" to "Tell me your idea." This isn't merely technical progress – it's a paradigm shift. When AI truly comprehends natural language, creativity will break free from technical jargon, returning to every human's grasp.

在现代 Web 应用的交互场景中,数据删除操作是用户与系统频繁互动的功能之一。当用户轻松点击 “删除” 按钮时,背后实则是一系列环环相扣、复杂精妙的技术流程在运转。而且,多数情况下,内容并不会真正从服务器上消失,只是被标记为不可见,依然留存在服务器的数据仓库中。本文将深入剖析这一过程及其背后的多重考量。

一、前端触发:点击背后的初始响应

(一)前端事件捕获

当用户在网站界面点击 “删除” 按钮时,前端的 JavaScript 脚本迅速响应,如同训练有素的哨兵。它会利用事件监听机制,如 addEventListener 方法,精准捕捉这一点击事件。为了避免用户误操作,通常会弹出确认对话框,以友好的提示询问用户是否真的要删除该项内容。这个对话框就像是一道安全闸门,为可能的误删操作设置了一道防线。

(二)请求发送

若用户确认删除,前端会借助 AJAX(Asynchronous JavaScript and XML)或者 Fetch API 发起一个 HTTP 请求。按照 RESTful API 的设计规范,这个请求一般采用 DELETE 方法。请求中会携带要删除资源的唯一标识符,如数据库中的主键 ID 或者 UUID,它就像是一把钥匙,能让后端准确找到要处理的数据。

二、后端承接:请求的接收与精细处理

(一)路由匹配

后端服务器接收到前端发送的请求后,首先会根据请求的 URL 和 HTTP 方法进行路由匹配。这就好比在一个大型图书馆中,根据书籍的分类标识和借阅规则,快速定位到负责处理该请求的具体函数。通过精确的路由匹配,请求被导向相应的处理逻辑。

(二)请求验证

在正式处理请求之前,后端会进行严格的验证工作。这包括用户身份验证,通过检查用户的登录凭证、令牌等信息,确保请求来自合法的用户;同时还会进行数据验证,检查请求中携带的数据格式是否正确、是否符合业务规则。只有通过这一系列严格的验证,请求才会被允许继续处理。

(三)核心删除操作

这是整个删除流程的关键环节。虽然用户直观感觉数据已被删除,但实际情况存在两种不同的处理方式:

  • 逻辑删除:这是更为常见的处理方式。后端会在数据库中对数据进行标记,通常是通过设置一个名为 is_deleted 的字段。将该字段的值设置为特定标识(如 true1),表示数据已被删除。此时,数据在物理上仍然完整地保留在数据库中,只是在后续的查询操作中,会通过 SQL 语句的 WHERE 条件过滤掉这些标记为已删除的数据,从而对普通用户不可见。
  • 物理删除:直接从数据库中永久移除数据。这种方式相对较少使用,尤其是在需要考虑数据恢复的业务场景下。因为一旦执行物理删除,数据将难以恢复,可能会给业务带来不可挽回的损失。

(四)后续操作跟进

删除操作完成后,后端可能会执行一些后续操作来确保系统的一致性和可追溯性。例如,更新缓存以保证数据的实时性,避免用户看到旧的数据;同时记录审计日志,详细记录删除操作的执行者、执行时间、被删除的数据等信息,为后续的数据分析和安全审计提供依据。

三、结果反馈:后端到前端的信息传递

(一)响应状态返回

后端完成处理后,会返回一个 HTTP 状态码给前端。例如,返回 200 OK 表示操作成功;若出现错误,会返回相应的错误状态码,如 400 Bad Request 表示请求参数有误,403 Forbidden 表示用户没有权限进行该操作等。这个状态码就像是一个信号旗,向前端传达操作的基本结果。

(二)详细反馈信息

除了状态码,后端还会返回详细的消息,进一步告知用户删除操作的具体结果。例如,“删除成功” 或者 “由于 XX 原因,删除失败” 等信息,让用户清楚了解操作的最终情况。
四、前端呈现:用户体验的优化与更新

(一)界面更新

前端接收到后端的响应后,会根据响应状态对用户界面进行更新。如果删除操作成功,通常会从视图中移除已标记为删除的数据项,让用户直观看到数据已被删除。这一过程就像是舞台上的演员退场,界面变得更加简洁。

(二)用户体验提升

为了提升用户体验,前端会采取一系列优化措施。比如,在请求发送过程中显示加载指示器,让用户知道系统正在处理请求,避免用户因长时间等待而产生焦虑;操作完成后提供确认消息,给予用户明确的反馈;甚至还可以提供可选的撤销操作,允许用户在一定时间内反悔,恢复刚刚删除的数据,增加用户操作的灵活性和安全感。

五、数据留存:不消失的背后逻辑

(一)数据恢复保障

逻辑删除的方式为数据恢复提供了便利。在用户误操作删除数据后,可以通过简单的操作,如将 is_deleted 字段的值改回原来的状态,轻松恢复数据。这就像是给数据加了一个 “后悔药”,避免了因误删造成的信息丢失,保障了数据的安全性和完整性。

(二)数据分析与合规审计

保留数据对于企业的数据分析和审计工作具有重要意义。通过对历史数据的分析,企业可以了解用户行为、业务趋势等信息,为决策提供有力支持。同时,在一些行业中,法规要求企业保留一定期限的业务数据,以便进行合规审计。逻辑删除可以满足这一需求,确保企业在不影响正常业务操作的前提下,能够顺利通过审计。

(三)存储性能优化

逻辑删除可以减少频繁的物理删除操作,从而提高数据库的性能。物理删除操作会导致数据库产生碎片,影响数据的读写效率。而逻辑删除只是对数据进行标记,不会对数据库的物理结构造成实质性的改变,减少了数据库维护的成本和复杂度。

六、安全防线:保障删除操作的可靠性

(一)身份验证与授权管理

在实现删除功能时,确保只有经过身份验证的用户才能进行操作是至关重要的。通过用户登录系统时的身份验证机制,如用户名和密码、OAuth 认证等,确定用户的合法性。同时,根据用户的角色和权限,精确控制用户能够删除的数据范围,防止越权操作。

(二)CSRF 攻击防护

为了防止跨站请求伪造(CSRF)攻击,系统会使用 CSRF 令牌。在用户登录或页面加载时,服务器会生成一个唯一的 CSRF 令牌,并将其嵌入到页面中。当用户发起删除请求时,前端会将该令牌一并发送给后端。后端会验证该令牌的有效性,只有令牌合法的请求才会被处理,从而确保请求的来源是合法的,避免恶意网站伪造请求。

(三)确认机制强化

在用户执行删除操作之前,提供明确的确认提示是防止误删除的有效手段。除了前端弹出的确认对话框,还可以在后端进行二次确认,确保用户的删除意图是真实的。例如,要求用户输入密码或验证码等额外信息,进一步提高删除操作的安全性。

七、总结

当我们在网站上轻点删除按钮时,背后隐藏着一个复杂而精密的技术世界。尽管表面上数据似乎已被删除,但实际上它往往只是被标记为不可见,仍然静静地存留在服务器上。这种逻辑删除的方式为数据管理带来了极大的灵活性,既避免了误删除带来的困扰,又满足了数据恢复、分析和审计等多方面的需求。通过深入理解删除操作背后的机制,开发者可以更好地设计和实现安全、高效的删除功能,为用户提供更加优质的服务体验。希望本文能为你的开发实践提供有价值的参考,让你在处理数据删除问题时更加得心应手。

首先你可以查看这个页面: https://banzhuanriji.com/about.html

本主题原先是没有评论功能和样式的,我在AI的帮助下完成了基础的评论功能。那么CSS我是从哪里获取的呢?就是下面这个网站:

https://neumorphism.io/

2025-01-10T10:40:07.png

有四个样式供你选择,并且可以选择光源效果。下面是我其他的一些获取CSS的方案:

  • Codepen

不多介绍了

https://codepen.io/

  • Ui.glass

这个没什么特别的,帮你写一个毛玻璃效果的div

https://ui.glass/

如果你找不到体验地址可以点这里:https://ui.glass/generator/

  • Uiverse.io

超级棒的整合了各种ui的css开源网站

https://uiverse.io/

  • 多边形图片SVG生成

这个我都不知道怎么介绍,随便编了一个标题,具体效果你可以点开看看

https://www.softr.io/tools/svg-shape-generator

  • 随机波浪线生成

https://getwaves.io/

  • Headlessui

自我简介:旨在与Tailwind CSS完美兼容的样式

https://headlessui.com/

  • Page ui

建立在TailwindCSS之上,专为React制作的落地页集合

https://pageui.shipixen.com/

  • CSS buttons

CSS按钮大合集

https://cssbuttons.app/

  • CSS Portal

CSS Portal 是许多 CSS / HTML 示例以及如何在网站设计中使用它的地方。在这里,您将找到所有 CSS 属性和许多 CSS 生成器,以帮助您满足所有设计需求。您将找到数百页的工具、资源和生成器来帮助使用 CSS 和 HTML。我们所有的生成器都将生成必要的代码,然后您可以将其复制并粘贴到您的 Web 项目中。希望您发现此网站有助于帮助您满足 CSS 和 HTML 需求。

(为什么这么长,因为这也是我copy的)

https://www.cssportal.com/

  • INTERNXT

https://internxt.com/temporary-email

  • TEMPAIL

https://tempail.com/

  • AdGuard Temp Mail

https://adguard.com/en/adguard-temp-mail/overview.html

  • Tempmail

https://temp-mail.io/en

  • Email on Deck

https://www.emailondeck.com/

  • TempMail.so

https://tempmail.so/

  • @mail.tm

https://mail.tm/en/

  • Temp Mail & 10 10 min mail

https://temp-mail.org/en/

https://temp-mail.org/en/10minutemail

  • Temp Mail

https://tempmailto.org/

  • guerrillamail

https://www.guerrillamail.com/

  • inboxes

https://inboxes.com/

TL;DR

通过vercel第三方库来运行php程序

效果展示

展示不了一点,我发现部署几天后开始变得非常卡,不知道为啥

所以我推荐你每天定时deploy一下,会好很多

一,注册需要的账号

你需要注册以下账号

  • github
  • vercel
  • 一个免费或者你自己搭建的mysql数据库
关于数据库,不推荐使用国内的免费数据库,因为vercel访问太慢了
或许你可以尝试db4free,或者一些免费空间提供的数据库

二,操作步骤

1. 创建git仓库

在github创建一个仓库,注意这个仓库需要是private的,也就是私密的仓库。然后clone到本地。下面为了方便,假设仓库名为blog

2. 下载typecho

下载地址:https://typecho.org/download

3. 把typecho解压到仓库文件夹内

此时文件应该存放在根目录

4. 新建api文件夹,然后在api文件夹下创建index.php文件

其中index.php文件的内容如下

<?php
$file= __DIR__ . '/..'.$_SERVER["PHP_SELF"];

if(file_exists($file))
{
   return false;
}
else
{
    require_once __DIR__ . '/../index.php';
}
#echo $_SERVER["PHP_SELF"];

5. 在仓库中创建vercel.json

内容如下

{
  "functions": {
    "api/index.php": {
      "runtime": "vercel-php@0.7.3"
    }
  },
  "routes": [{ "src": "/(.*)", "dest": "/api/index.php" }]
}

6. 在根目录创建config.inc.php

内容如下

<?php
/**
 * Typecho Blog Platform
 *
 * @copyright  Copyright (c) 2008 Typecho team (http://www.typecho.org)
 * @license    GNU General Public License 2.0
 * @version    $Id$
 */

/** 开启https */
define('__TYPECHO_SECURE__',true);

/** 定义根目录 */
define('__TYPECHO_ROOT_DIR__', dirname(__FILE__));

/** 定义插件目录(相对路径) */
define('__TYPECHO_PLUGIN_DIR__', '/usr/plugins');

/** 定义模板目录(相对路径) */
define('__TYPECHO_THEME_DIR__', '/usr/themes');

/** 后台路径(相对路径) */
define('__TYPECHO_ADMIN_DIR__', '/admin/');

/** 设置包含路径 */
@set_include_path(get_include_path() . PATH_SEPARATOR .
__TYPECHO_ROOT_DIR__ . '/var' . PATH_SEPARATOR .
__TYPECHO_ROOT_DIR__ . __TYPECHO_PLUGIN_DIR__);

/** 载入API支持 */
require_once 'Typecho/Common.php';

/** 程序初始化 */
Typecho_Common::init();

/** 定义数据库参数 */
$db = new Typecho_Db('Pdo_Mysql', 'typecho_');
$db->addServer(array (
  'host' => '数据库地址',
  'user' => '数据库用户',
  'password' => '数据库密码',
  'charset' => 'utf8mb4',
  'port' => '3306',
  'database' => '数据库名',
  'engine' => 'MyISAM',
), Typecho_Db::READ | Typecho_Db::WRITE);
Typecho_Db::set($db);

7. 注释掉会阻挡操作的内容

打开根目录下的install.php文件,注释或者删除773-775行,注释的内容大概如下。

    // if (!$writeable) {
        // $errors[] = _t('上传目录无法写入, 请手动将安装目录下的 %s 目录的权限设置为可写然后继续升级', $uploadDir);
    // }
这里如果没有删除,可能会无法初始化数据库

8. 上传代码,在vercel中编译,注意提前绑定域名

9. 第一次打开会报错

提示Database Query Error。这时你需要在你的域名||vercel提供的免费域名后添加/install.php,然后按照步骤操作。

这里如果你没有执行第7步的操作,可能会报错,建议修改之后重新提交

三,注意事项

  1. 过长的等待时间会触发vercel报错,提示This Serverless Function has timed out. 这时你或许可以考虑更换数据库
  2. 注意看第7点
  3. 一些函数官方说支持,但是会有奇怪的问题
  4. 上传二进制文件和直接修改文件的功能就别想了,在仓库中操作吧
  5. 暂时想不到了

不评判储存在服务器还是使用第三方的方案,只记录一些随机获取图像的接口。下面每个方案前都会放置相对于的接口的图像。

以下内容仅为个人记录用处,从未有意侵权已注册商标,也从未试图冒充任何开放内容官方。当然如果您认为下列内容侵犯了您的权益,请您与我联系 m#hoytzhang.com

无需注册的方案

Bing image

bing image

2025年3月3日 发现该网站证书失效。有兴趣的朋友可以访问下面的开源地址。或者你也可以考虑自己部署这个仓库到vercel上。 https://github.com/flow2000/bing-wallpaper-api

TL;DR

获取bing每日图像的接口非常多,下面是我推荐的一个,目前运行还是比较稳定的

官网地址

https://bing.img.run/api.html

开源地址

https://github.com/mike126126/bing

使用方法

Bing今日壁纸

<img src="https://bing.img.run/uhd.php" alt="Bing每日壁纸UHD超高清原图" />
<img src="https://bing.img.run/1920x1080.php" alt="Bing每日壁纸1080P高清" />
<img src="https://bing.img.run/1366x768.php" alt="Bing每日壁纸普清" />
<img src="https://bing.img.run/m.php" alt="Bing每日壁纸手机版1080P高清" />

随机获取Bing历史壁纸

<img src="https://bing.img.run/rand_uhd.php" alt="随机获取Bing历史壁纸UHD超高清原图" />
<img src="https://bing.img.run/rand.php" alt="随机获取Bing历史壁纸1080P高清" />
<img src="https://bing.img.run/rand_1366x768.php" alt="随机获取Bing历史壁纸普清" />
<img src="https://bing.img.run/rand_m.php" alt="随机获取Bing历史壁纸手机版1080P高清" />

Picsum.Photos

Picsum.Photos

官网

TL;DR

一款开源的,采用Unsplash图像源的免费网站

下面的内容我几乎是从他的官网直接复制过来的。你可以点击下面访问官网,带有图像更容易理解方便你使用。

https://picsum.photos/

源码

https://github.com/DMarby/picsum-photos

使用方法

  • 直接返回固定大小图像地址
https://picsum.photos/200/300
  • 返回固定大小的方形图像
https://picsum.photos/200
https://picsum.photos/id/237/200/300
  • 自定义seed的图像
https://picsum.photos/seed/picsum/200/300
  • 去色图像(灰色)
https://picsum.photos/200/300?grayscale
  • 添加高斯模糊(最后的参数支持1-10)
https://picsum.photos/200/300/?blur
https://picsum.photos/200/300/?blur=5

官方推荐的使用方法

您可以组合上述任何选项。

例如,获取灰度和模糊的特定图像。

https://picsum.photos/id/870/200/300?grayscale&blur=2

要在浏览器中请求多个相同大小的图片,请添加 random 查询参数以防止图片被缓存:

<img src="https://picsum.photos/200/300?random=1">
<img src="https://picsum.photos/200/300?random=2">

如果需要文件结尾,可以在 url 末尾添加 .jpg。

https://picsum.photos/200/300.jpg

要获取 WebP 格式的图像,您可以在 URL 末尾添加 .webp。

https://picsum.photos/200/300.webp

列出图像地址

列出图片

使用 /v2/list 端点获取图像列表。

https://picsum.photos/v2/list

默认情况下,API 将每页返回 30 个项目。

要请求另一个页面,请使用 ?page 参数。

要更改每页的项目数,请使用 ?limit 参数。

https://picsum.photos/v2/list?page=2&limit=100

链接的header需要包含有关下一页/上一页的分页信息

获取图像信息

https://picsum.photos/id/0/info
https://picsum.photos/seed/picsum/info

返回的格式如下

{
        "id": "0",
        "author": "Alejandro Escamilla",
        "width": 5616,
        "height": 3744,
        "url": "https://unsplash.com/...",
        "download_url": "https://picsum.photos/..."
}

LoremFlickr

LoremFlickr

官网

TL;DR

图像来自于Flickr,官网称目前的服务被严重影响

官网仅推荐当作占位符(Placeholder)来使用

https://loremflickr.com/

开源地址

https://github.com/MastaBaba/LoremFlickr-2

  • 直接使用

如果你不指定任意内容,将会返回小猫的图像,例如下面的这种用法

https://loremflickr.com/320/240
  • 指定主题
//这个地址将会返回`小狗(dog)`相关的图像
https://loremflickr.com/320/240/dog
  • 保留色彩

相对于picsum的灰色图像,LoremFlickr可以选择保留更多色彩

https://loremflickr.com/g/320/240/paris

这个示例将会返回灰色的 小狗(dog) 相关的图像。你还可以尝试 predgreenblue 这些关键字!

  • 多个关键字

下面这个地址将会返回与 小猫(cat)和小狗(dog) 相关的图像

https://loremflickr.com/320/240/cat,dog
  • 强调关键字

上面的使用方案可能会同时包含 小猫(cat)和小狗(dog) ,如果你像强调关键字,那么你可以使用下面的方法

https://loremflickr.com/320/240/cat,dog/all

可以搭配色彩关键字使用

https://loremflickr.com/g/320/240/cat,dog/all
  • 锁定图像
https://loremflickr.com/320/240?lock=30976
  • 避免重复图像,同样支持random函数
https://loremflickr.com/320/240?random=1
https://loremflickr.com/320/240?random=2
https://loremflickr.com/320/240?random=3
  • 支持json返回数据
https://loremflickr.com/json/g/320/240/paris,girl/all
  • 支持RSS订阅
https://loremflickr.com/rss/d/g/320/240/paris,girl/all

需要注册的方案

Unsplash

大名鼎鼎的Unsplash的免费接口寿终正寝后(貌似是因为流量太大且没有回流),api从开放式改为账号调用。

2024年6月11日官方下线了免费调用,但是你依旧可以注册后使用这个服务,不过免费服务存在一些限制,下面是三个档次的服务区别:

  1. Demo:每小时50次调用
  2. Production:在遵守Unsplash条件的前提下,每小时5000次
  3. Enterprise:联系Unsplash团队

在第二条中,Unsplash的要求包括但不限于:

  • 每张图片只允许使用Url返回的 photo.urls 的图像
  • 用户进行图像下载时,必须使用 photo.links.download_location 的链接进行下载
  • 每张图像展示时标明摄影师且附带摄影师的个人链接
  • 不允许制作Unsplash的竞品程序

如果你可以接受并遵守以上条件,你可以访问这个文档进行申请:https://unsplash.com/documentation