Headless CMS(strapi)

news2024/10/6 16:28:10

Headless CMS(strapi)

玩了玩微信小程序的cms,感觉还挺好的,不过目前处于公测阶段,后续应该还是要收费的,不过这个操作还挺好的。文档地址
不过其获取图片的时候默认用到的是小城云开发环境的链接样式,如果用在公开网站上的话,需要中间有一步换取临时链接的步骤。文档地址。
总体来说目前这个功能还是很好的,可以减少了很大的开发工作。

然后发现了个关键词,这个叫做 headless cms,嗯,那是不是也有类似开源的cms。然后发现了这个strapi。

操作界面基本上是一致的,纯js/ts开发的。使用上也是通过api访问的,感觉还是非常方便的。
下面介绍一下安装及简单使用。

参考文档

安装方法

使用一下命令部署,稍微等一下安装完成。

npx create-strapi-app my-project --quickstart

安装完之后会弹出来一个界面,随便填填进入到项目当中。
请添加图片描述

操作流程大体如下

大体上就是新建一个collection,然后添加字段并确认属性,添加完之后。

  1. 新建一个 Create new collection type
  2. 添加数据项
  3. 发布数据项
  4. 创建API token
  5. 请求数据

创建collection type

请添加图片描述

这个地方创建时用到的复数路径要记下来,后续的API路径使用的是这个ID

添加数据项

请添加图片描述

增加媒体资源

请添加图片描述

增加数据内容

请添加图片描述

发布数据

请添加图片描述

创建API token

请添加图片描述

在 setting -> global setting -> api tokens里边创建一个token,并且配置好token的权限范围

API请求

curl --location 'http://localhost:1337/api/xiaomubiaos?populate=*' \
--header 'Authorization: bearer 6aa3a69e3582eb9d12cab3db92cb1d70125d52b6813cfb2efbe5fe20db6d964bec0b4f656b5d741cc4d956d0704cd5e2740c4e1037585ff97f34da16bd1b0660aa8129838dc10aff683e66dcfbdcee42c28ffb5761a2c72aca6ed0e2562871f2c7f81be63e5c48c38952e86573fcf90d2d09340d7d5f7e65ba7ec4d860b7c8b2'

请求结果如下:

{
    "data":[
        {
            "id":1,
            "attributes":{
                "target":"1亿",
                "createdAt":"2023-10-08T06:10:49.580Z",
                "updatedAt":"2023-10-08T06:12:48.121Z",
                "publishedAt":"2023-10-08T06:12:48.119Z",
                "pic":{
                    "data":{
                        "id":1,
                        "attributes":{
                            "name":"今天也要开开心心哒.png",
                            "alternativeText":null,
                            "caption":null,
                            "width":672,
                            "height":551,
                            "formats":{
                                "thumbnail":{
                                    "name":"thumbnail_今天也要开开心心哒.png",
                                    "hash":"thumbnail__2331b2e1bd",
                                    "ext":".png",
                                    "mime":"image/png",
                                    "path":null,
                                    "width":190,
                                    "height":156,
                                    "size":62.29,
                                    "url":"/uploads/thumbnail__2331b2e1bd.png"
                                },
                                "small":{
                                    "name":"small_今天也要开开心心哒.png",
                                    "hash":"small__2331b2e1bd",
                                    "ext":".png",
                                    "mime":"image/png",
                                    "path":null,
                                    "width":500,
                                    "height":410,
                                    "size":336,
                                    "url":"/uploads/small__2331b2e1bd.png"
                                }
                            },
                            "hash":"_2331b2e1bd",
                            "ext":".png",
                            "mime":"image/png",
                            "size":120.31,
                            "url":"/uploads/_2331b2e1bd.png",
                            "previewUrl":null,
                            "provider":"local",
                            "provider_metadata":null,
                            "createdAt":"2023-10-08T06:10:26.364Z",
                            "updatedAt":"2023-10-08T06:10:26.364Z"
                        }
                    }
                }
            }
        }
    ],
    "meta":{
        "pagination":{
            "page":1,
            "pageSize":25,
            "pageCount":1,
            "total":1
        }
    }
}

其中 header 里边需要添加的头是 Authorization: bearer token

populate 这个需要加上以显示图片内容,要不然无法获取媒体内容,她这个还挺好的,图片还有多种尺寸的,太方便了。
更多的配置根据需要查看官方文档即可。文档地址

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1069210.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Zookeeper专题】Zookeeper经典应用场景实战(二)

目录 前置知识课程内容一、Zookeeper分布式锁实战1.1 什么是分布式锁1.2 基于数据库设计思路1.3 基于Zookeeper设计思路一1.4 基于Zookeeper设计思路二1.5 Curator 可重入分布式锁工作流程1.6 总结 二、基于Zookeeper实现服务的注册与发现2.1 设计思路2.2 Zookeeper实现注册中心…

聊聊分布式架构04——RPC通信原理

目录 RPC通信的基本原理 RPC结构 手撸简陋版RPC 知识点梳理 1.Socket套接字通信机制 2.通信过程的序列化与反序列化 3.动态代理 4.反射 思维流程梳理 码起来 服务端时序图 服务端—Api与Provider模块 客户端时序图 RPC通信的基本原理 RPC(Remote Proc…

算法通过村第十二关-字符串|黄金笔记|冲刺难题

文章目录 前言最长公共前缀纵向比较横向比较 字符串压缩问题表示数值的字符串总结 前言 提示:我有时候在想,我是真的不太需要其他人,还是因为跟他们在一起时没法自己,所以才保持距离。我们的交谈就像是平行而毫无交集的自言自语。…

高压功率放大器是什么东西

高压功率放大器是一种电子设备,用于将低功率信号放大到高功率水平。它通常由多个功率放大器组成,可以处理来自各种信号源的输入信号,并输出具有更大功率的信号。 高压功率放大器广泛应用于许多领域,包括无线通信、广播、雷达、医学…

Pytorch-学习记录-1-Tensor

1. 张量 (Tensor): 数学中指的是多维数组; torch.Tensor data: 被封装的 Tensor dtype: 张量的数据类型 shape: 张量的形状 device: 张量所在的设备,GPU/CPU requires_grad: 指示是否需要计算梯度 grad: data 的梯度 grad_fn: 创建 Tensor 的 Functio…

要多搞笑才能上B站热门?

自从B站开放竖屏模式之后,越来越多站外的优秀创作者加入B站。这其中搞笑UP主的数量大大增加,有很多竖屏UP主、短视频UP主在B站发光发热。 飞瓜数据(B站版)热门视频显示,近期热度最高的是来自UP主七颗猩猩QKXX发布的竖…

three.js点击模型实现模型边缘高亮选中效果

three.jsreact实现点击模型实现高亮选中效果 1、创建一个场景 let scene, camera, renderer, controls; let stats null; // 检测动画运行时的帧数 let clock new THREE.Clock(); // getDelta()方法获得两帧的时间间隔 let FPS 30; let renderT 1 / FPS; let timeS 0;con…

机器学习基础-数据分析:房价预测

mac设置中文字体 #要设置下面两行才能显示中文 Arial Unicode MS 为字体 plt.rcParams[font.sans-serif] [Arial Unicode MS] #设置图片大小 plt.figure(figsize(20, 11), dpi200)pie官方文档 总体代码 python import pandas as pd import numpy as np import matplotlib.…

Qt/C++原创推流工具/支持多种流媒体服务/ZLMediaKit/srs/mediamtx等

一、前言 1.1 功能特点 支持各种本地视频文件和网络视频文件。支持各种网络视频流,网络摄像头,协议包括rtsp、rtmp、http。支持将本地摄像头设备推流,可指定分辨率和帧率等。支持将本地桌面推流,可指定屏幕区域和帧率等。自动启…

【大数据 | 综合实践】大数据技术基础综合项目 - 基于GitHub API的数据采集与分析平台

🤵‍♂️ 个人主页: AI_magician 📡主页地址: 作者简介:CSDN内容合伙人,全栈领域优质创作者。 👨‍💻景愿:旨在于能和更多的热爱计算机的伙伴一起成长!!&…

在供应链管理中,如何做好库存分析?库存分析有哪些监控指标?

在供应链管理中,库存分析是其重要的一环。库存分析的方法繁杂且广泛,选择正确的方法才能更好的进行库存分析,下面就为大家盘点一些常用的库存分析方法和监控指标,全程干货,建议收藏! 01 如何进行库存分析&…

【MySQL】基本查询(三)聚合函数+group by

文章目录 一. 聚合函数二. group by子句结束语 建立如下表 //创建表结构 mysql> create table exam_result(-> id int unsigned primary key auto_increment,-> name varchar(20) not null comment 同学姓名,-> chinese float default 0.0 comment 语文成绩,->…

08_selenium实战——学习平台公开数据批量获取

0、:前言 该实战任务是对某视频平台中’标题’、 ‘点赞数量’、 ‘投币数量’、‘收藏数量’、‘播放次数’、以及前五条评论进行爬取。要求1:可以控制爬取视频的主题(爬取主题搜索之后的内容)要求2:可以控制爬取视频的数量要求3:对于评论数不足5条的用0填充评论内容爬虫…

vue启动项目,npm run dev出现error:0308010C:digital envelope routines::unsupported

运行vue项目,npm run dev的时候出现不支持错误error:0308010C:digital envelope routines::unsupported。 在网上找了很多,大部分都是因为版本问题,修改环境之类的,原因是对的但是大多还是没能解决。经过摸索终于解决了。 方法如…

第九课 排序

文章目录 第九课 排序排序算法lc912.排序数组--中等题目描述代码展示 lc1122.数组的相对排序--简单题目描述代码展示 lc56.合并区间--中等题目描述代码展示 lc215.数组中的第k个最大元素--中等题目描述代码展示 acwing104.货仓选址--简单题目描述代码展示 lc493.翻转树--困难题…

保护 Web 服务器安全性

面向公众的系统(如 Web 服务器)经常成为攻击者的目标,如果这些业务关键资源没有得到适当的保护,可能会导致安全攻击,从而导致巨大的财务后果,并在客户中失去良好的声誉。 什么是网络服务器审核 当有人想要…

无线振弦采集仪在岩土工程中如何远程监测和远程维护

无线振弦采集仪在岩土工程中如何远程监测和远程维护 随着岩土工程施工的不断发展和科技水平的不断提高,远程监测和远程维护设备也得到了广泛关注和应用。无线振弦采集仪是一种广泛应用于岩土工程中的测量仪器,在现代化施工中扮演着重要的角色。本文将就…

ChromeDriver驱动最新版下载

下载地址ChromeDriver - WebDriver for Chrome - Downloads selenium.common.exceptions.SessionNotCreatedException: Message: session not created: This version of ChromeDriver only supports Chrome version 113 Current browser version is 117.0.5938.150 with binar…

2、模块传参和依赖

一、模块传参 使用函数 module_param(name,type,perm); 将指定的全局变量设置成模块参数 /* name:全局变量名 type:使用符号 实际类型 传参方式bool bool insmod xxx.ko 变量名0 或 1invbool bool insmod xx…

运营商sdwan优缺点及sdwan服务商优势

SD-WAN(软件定义广域网)作为一种重要的网络解决方案,已经受到了广泛的关注和采用。然而, 无论是由传统运营商提供的SD-WAN还是专门的SD-WAN服务提供商,都存在各自的优缺点。 运营商提供的SD-WAN的缺点: 1. 有限的灵活性&#xf…