需要哪些东西解决了什么问题

  1. 一个公共的 github 仓库,github的仓库可以存1G的图片,一般心动好看的图得找好久,这个解决存储问题
  2. Jsdelivr 通过它解决 github 仓库图片国内访问速度问题,有不少域名,可以自己看情况,这个解决网速问题
  3. 阿里云ServerLess 函数计算FC,有100万的免费调用额度,自己用能用很久,这个解决 https 域名以及后端部署,接口问题

函数计算FC 接口步骤

部分步骤会简单描述,不会截图细说

  1. 使用支付宝账号创建一个阿里云账号
  2. 在控制台界面,点左上角打开侧边栏,搜索函数计算FC,并点击
    1679590793984
  3. 开通后,创建一个任务
    uTools_1679591258489
  4. 主要配置如下
    uTools_1679617037121
    这两个配置可以调很低很低,可以手动改更低
    uTools_1679617099046
    uTools_1679617205260
  5. 替换如下区域的代码,然后再点击部署
    uTools_1679669875539
from urllib.parse import urlencode

import requests
import random

def handler(environ, start_response):
    url = "https://api.github.com/repos/guicaiyue/FigureBed/contents/" + environ['PATH_INFO']
    response = requests.get(url)
    data = response.json()
    picture_names = [item['name'] for item in data]
    random_picture_name = random.choice(picture_names)
    jsdelivr_url = "https://cdn.jsdelivr.net/gh/guicaiyue/FigureBed@latest/" + random_picture_name
    status = '302 Found'
    headers = [('Content-type', 'text/plain'), ('Location', jsdelivr_url)]
    start_response(status, headers)
    return []
  1. 点击触发器url,复制公网访问地址,然后地址+?PATH_INFO="哪个目录(不填为空)",直接访问就好了
    uTools_1679671207223

说下其他的

前面的仓库是我自己的,具体地址 https://github.com/guicaiyue/FigureBed ,其中 guicaiyue 是我的用户名,FigureBed 是仓库名,只要替换掉代码里的 url 的相同字符就行,参数 PATH_INFO 可以实现分类。比如我的可以路径上拼接?PATH_INFO="MImg/"

总结

我感觉这个很适合一个前端开发人员,最少的学写量,最快的效果,域名都不用搞当然也可以接自己的域名,但我觉得后端开发也是可以借用这种思路的。