爱速搭百度低代码开发平台
爱速搭介绍
爱速搭是百度智能云推出的低代码开发平台,它灵活性强,对开发者友好,在百度内部大规模使用,有超过 4w 内部页面是基于它制作的,是百度内部中台系统的核心基础设施。
它具备以下功能:
- 页面制作
- 基于 amis 页面可视化编辑,具备超过 120 种内置组件,对于大部分中后台页面可以做到无需了解前端就能制作。
- 支持自定义前端组件,可以通过代码扩充定制组件。
- 支持导出前端项目,可以运行在任意前端框架中。
- 支持页面模板,可以自定义模板,快速搭建公司内常见页面。
- 支持自定义主题,具备 1000+ 细粒度展现控制,可自定义 CSS。
- 自适应移动端布局。
- 数据模型
- 具备数据模型能力,可以直连外部数据库,做到对于简单增删改查需求无需后端。
- 支持所有数据库基础字段,并扩展了十几种高级字段类型,并支持对字段的校验和索引设置。
- 支持软删除、记录操作时间。
- 支持设置数据字段验证。
- 支持设置索引规则。
- 支持批量导入导出数据。
- 支持自动生成基于模型的增删改查页面。
- 支持一对一、多对一、一对多、多对多关联关系。
- 支持通过 SQL 的方式对数据进行处理,灵活实现各种数据操作功能。
- API 对接
- 具备 API 对接能力,可以直连外部接口。
- 支持百度云 BOS、S3、阿里云 OSS 协议的对象存储对接。
- 业务编排
- 支持可视化编辑后端逻辑,可以对多个接口进行组合。
- 支持 HTTP、SQL 方式获取数据。
- 支持并行和串行调用。
- 支持循环、分支进行流程控制。
- 支持脚本进行自定义扩展。
- 业务流程
- 权限控制,可以控制每个节点能查看和编辑哪些数据。
- 支持动态查找处理人,比如上级。
- 流程流转判断、加签、会签。
- 支持打回到上个节点或前面某个节点。
- 流程通知。
- 权限控制
- 具备基于角色的细粒度资源控制。
- 可以针对页面内组件粒度进行控制,比如某个按钮对某些用户不显示。
- 可以对某个页面创建分享链接。
- 所有操作日志,所有操作都会记录,便于后续审计。
- 多环境
- 支持多套环境,相互之间数据隔离,开发时不影响正式版本的使用。
- 支持版本管理,可以通过回滚快速还原。
- 平台升级不会影响应用已发布版本。
- 私有部署
- 支持私有部署,不限制实例数,环境只依赖 Docker、MySQL、Redis,安装简单、运维成本低。
- 支持对接 oauth 2.0,也可以支持自定义登录协议。
- 可以对接自己的组织架构。
- 支持 OpenAPI 对系统进行操作。
爱速搭目前的客户有知名的银行及互联网公司,比如「知乎」
爱速搭私有部署安装
爱速搭支持私有部署,您可以部署在自己的内网,私有部署版本具备 SaaS 版本的所有功能。
文档:私有部署安装 | 爱速搭
安装docker
sudo apt install docker docker-compose
启动docker
service docker start
看看docker的状态:
service docker status
● docker.service - Docker Application Container EngineLoaded: loaded (/lib/systemd/system/docker.service; enabled; >Active: active (running) since Fri 2024-09-13 09:01:49 UTC; 1>
TriggeredBy: ● docker.socketDocs: https://docs.docker.comMain PID: 110485 (dockerd)Tasks: 10Memory: 25.1MCPU: 1.855sCGroup: /system.slice/docker.service└─110485 /usr/bin/dockerd -H fd:// --containerd=/run/>Sep 13 09:01:46 ub12 systemd[1]: Starting Docker Application Conta>
创建aisuda目录,并在目录里面创建两个目录
mkdir aisuda
cd aisuda/mkdir mysql-data
mkdir redis-data
然后创建 docker-compose.yml文件:
version: '3'
services:web:image: registry.baidubce.com/aisuda/aisuda:2.3.0ports:- '8090:8085'environment:# 数据库用户名ISUDA_DB_USER: root# 数据库密码,这个密码需要和下面 mysql 镜像里的一致ISUDA_DB_PASSWORD: 'Q39sTi0i^9'ISUDA_DB_NAME: aisudaISUDA_DB_HOST: dbISUDA_DB_PORT: 3306# 如果数据库时区是 utc 需要开启下面这个# ISUDA_DB_TIMEZONE: utc# id 加密密钥,建议修改ISUDA_HASHID_SALT: 'aisuda'# 数据库加密密钥,建议修改 PS:长度必须为64位ISUDA_ENCRYPT_KEY: 'B224AD82C6206D4DD0D49B3A17BD894D8EA2DC671372BA6B270D3B3AD599A45C'# redis 地址和端口ISUDA_REDIS_HOST: redisISUDA_REDIS_PORT: 6379# redis key 前缀# ISUDA_REDIS_PREFIX:# redis 密码# ISUDA_REDIS_PASSWORD:# 是否开启 ready check 默认不开# ISUDA_REDIS_ENABLE_READY_CHECK# 是否使用 redis cluster# ISUDA_REDIS_CLUSTER: 1# 是否使用 redis sentinel# ISUDA_REDIS_SENTINEL: 1# 如果开启 redis cluster 或 sentinel,ISUDA_REDIS_HOST 可以填入多个地址及端口,逗号分割# ISUDA_REDIS_HOST: 'host1:6379,host2:6379'# 邮件 smtp 地址,用于发验证码ISUDA_EMAIL_HOST:# 邮件 smtp 端口,比如 25ISUDA_EMAIL_PORT:# 邮件用户名和密码ISUDA_EMAIL_USER:ISUDA_EMAIL_PASS:# 如果是 465 之类的 ssl 端口,请取消下面的注释# ISUDA_EMAIL_SECURE: 1# 邮件显示的发件人地址ISUDA_EMAIL_FROM: 'xxx@xxx.com'# 如果服务器是 SSLv3,需要注释掉下面这个# ISUDA_EMAIL_SSLV3: 1# 邮件 API,如果配置就优先使用,用于没有 smtp 的场景,细节请参考这篇文档后面的介绍# ISUDA_EMAIL_API: http://xxx.com/emailapi# 邮件 API 的签名密钥# ISUDA_EMAIL_API_PASSWORD:# license(可选,如果不填则需要在安装时提供)ISUDA_LICENSE:# 百度统计(可选)BAIDU_TONGJI_CODE:# Google Analytics(可选)GA_MEASUREMENT_ID:# 文件存储配置(可选)# DRIVER 支持 bos 或 s3ISUDA_FILE_STORAGE_DRIVER:ISUDA_FILE_STORAGE_REGION:ISUDA_FILE_STORAGE_BUCKET:ISUDA_FILE_STORAGE_AK:ISUDA_FILE_STORAGE_SK:ISUDA_FILE_STORAGE_ENDPOINT:# s3 专有,使用路径而不是域名来访问 bucket# ISUDA_FILE_STORAGE_S3FORCEPATHSTYLE:# ES 操作日志 和 api 转发日志相关# es 服务地址# ISUDA_ES_URL: http://localhost:9200'# es 服务帐号密码ISUDA_ES_USERNAME:ISUDA_ES_PASSWORD:# 如果是集群模式按如下配置# ISUDA_ES_CLUSTER: true# ISUDA_ES_URL: 'http://localhost:9200,http://localhost:9201'# 索引文件名(可选)# ISUDA_SITE_LOG_INDEX: suda-log-{{date:YYYY-MM}}# 是否开启站点日志记录ISUDA_SITE_LOG_ENABLED:# 默认 api 转发日志不存储 发送体内容,如果开启了,将会存储 json 和 普通表单数据 内容体ISUDA_SITE_LOG_SAVE_REQUSET_PAYLOAD:# 平台级别超级管理员邮箱(如果设置为 password 这就是必填的)ISUDA_PLATFORM_ADMINISTRATORS: aa@aa.com,bb@bb.com# 登录相关# 默认的登录方式,加入配置成 oauth 表示只启用 oauth 登录方式,多个登录方式请用逗号隔开如:password,email,weixin,oauth,ldapAUTH_ENABLED_LIST: password,email# 普通用户默认登录密码,在开启 password 登录方式的时候有用 ( 密码配置 如有特殊字符需要加 “单引号”)ISUDA_LOGIN_DEFAULT_PASSWORD: aisuda2021# 管理员默认密码,在开启 password 登录方式的时候有用ISUDA_PLATFORM_ADMINISTRATOR_DEFAULT_PASSWORD: admin2021# oauth 登录相关# oauth 授权接口地址ISUDA_OAUTH_AUTHORIZE_URL:# oauth token 获取接口地址ISUDA_OAUTH_TOKEN_URL:# oauth clientIdISUDA_OAUTH_CLIENT_ID:# oauth clientSecretISUDA_OAUTH_CLIENT_SECRET:# oauth scope 默认为 emailISUDA_OAUTH_SCOPE:# oauth 获取 用户 profile 的接口地址ISUDA_OAUTH_INFO_URL:# 默认为 id, 假如你的 oauth 返回的 profile 中,id 为 user_id 请填写 user_idISUDA_OAUTH_ID_FIELD:# 默认为 name, 假如你的 oauth 返回的 profile 中,用户名为 user_name 请填写 user_nameISUDA_OAUTH_NAME_FIELD:# 邮箱地址字段,如果你的 oauth 中返回了邮箱地址,请配置,如果没有可以不配置ISUDA_OAUTH_EMAIL_FIELD:# 邮箱后缀,当你的 oauth 没有返回邮箱地址,同时又不想有绑定邮箱这个动作,可以配置这个比如:baidu.com,这样会自动根据用户名拼接个假邮箱地址。ISUDA_OAUTH_EMAIL_SUFFIX:# 默认退出是 爱速搭的退出页,如果配置了,会跳转到对应 oauth 的退出页面。ISUDA_OAUTH_LOGOUT_URL:# ldap 相关,请看后面的说明ISUDA_LDAP_URL:ISUDA_LDAP_BIND_DN:ISUDA_LDAP_BIND_CREDENTIALS:ISUDA_LDAP_SEARCH_BASE:ISUDA_LDAP_SEARCH_FILTER:ISUDA_LDAP_EMAIL_ATTRIBUTE:ISUDA_LDAP_NAME_ATTRIBUTE:ISUDA_LDAP_NICKNAME_ATTRIBUTE:# 默认不开启,开启后,应用导出将剔除敏感信息,但是意味着导入的时候你还需要额外去补填这些信息ISUDA_DISABLE_EXPORT_SENSITIVE_INFO:# 默认不开启,开启后,应用发布的时候,用开发环境权限覆盖运行态资源权限ISUDA_OVERWRITE_RUNTIME_ACL:# 默认不开启,开启后,发布环境的权限通过接口配置的接口返回的权限点进行控制ISUDA_TAKEOVER_RUNTIME_ACL:# 开启后编辑器中所有图片上传组件都会由图片管理器接管,同时应用级、组织级、平台级均可统一管理图片资源ISUDA_ENABLE_IMAGE_MANAGE: 'on'# 是否是 https,爱速搭的访问地址是 https 需要增加这个配置项# ISUDA_IS_HTTPS: true# 下面是自定义组件所需的 npm 本地镜像# NPM_REGISTRY: https://registry.npm.taobao.org# NPM_SEARCH: https://www.npmjs.com/search/suggestionsdb:image: registry.baidubce.com/aisuda/mysql:8command:['mysqld','--character-set-server=utf8mb4','--collation-server=utf8mb4_unicode_ci','--skip-character-set-client-handshake','--default-authentication-plugin=mysql_native_password','--max-allowed-packet=1073741824','--sort-buffer-size=512K','--max-connections=4096']volumes:- ./mysql-data:/var/lib/mysqlenvironment:MYSQL_ROOT_PASSWORD: 'Q39sTi0i^9'TZ: 'Asia/Shanghai'security_opt:- seccomp:unconfinedredis:image: registry.baidubce.com/aisuda/redis:5command: ['redis-server', '--appendonly', 'yes']volumes:- ./redis-data:/data
然后使用docker-compose up来启动
docker-compose up
报错:PermissionError
原来是需要用sudo执行:
sudo docker-compose up
启动后报错Error: Unknown database 'aisuda' 。不知道是不是内存啥的不够16G。
然后通过 docker ps
查看 mysql 所在的容器 id,使用 docker exec -it xxx
进入 MySQL 容器。
docker ps
docker exec -it xxx
总结:
现在问题卡在database报错这里。
调试
docker-compose up报错PermissionError
File "/usr/lib/python3/dist-packages/docker/api/client.py", line 221, in _retrieve_server_version
raise DockerException(
docker.errors.DockerException: Error while fetching server API version: ('Connection aborted.', PermissionError(13, 'Permission denied'))
需要用sudo
sudo docker-compose up
启动后报错Error: Unknown database 'aisuda'
web_1 | Got error, gona retry in 5 seconds.
web_1 | Error: Unknown database 'aisuda'
web_1 | [89.299s][info ][gc,start ] GC(25) Pause Young (Allocation Failure)
web_1 | [89.299s][info ][gc,task ] GC(25) Using 2 workers of 4 for evacuation
不知道是不是内存啥的不够16G。
这时候浏览器打开网页:http://192.168.0.13:8090/install
显示:
Opps 出错了
Error: Unknown database 'aisuda'at Packet.asError (/app/node_modules/mysql2/lib/packets/packet.js:728:17)at ClientHandshake.execute (/app/node_modules/mysql2/lib/commands/command.js:29:26)at PoolConnection.handlePacket (/app/node_modules/mysql2/lib/connection.js:456:32)at PacketParser.onPacket (/app/node_modules/mysql2/lib/connection.js:85:12)at PacketParser.executeStart (/app/node_modules/mysql2/lib/packet_parser.js:75:16)at Socket.<anonymous> (/app/node_modules/mysql2/lib/connection.js:92:25)at Socket.emit (node:events:390:28)at Socket.emit (node:domain:537:15)at addChunk (node:internal/streams/readable:315:12)at readableAddChunk (node:internal/streams/readable:289:9)at Socket.Readable.push (node:internal/streams/readable:228:10)at TCP.onStreamRead (node:internal/stream_base_commons:199:23)at TCP.callbackTrampoline (node:internal/async_hooks:130:17)
明白了,可能是宿主机里的mysql数据库对aisuda docker里面的数据库造成了干扰。。。。。
相关文章:
爱速搭百度低代码开发平台
爱速搭介绍 爱速搭是百度智能云推出的低代码开发平台,它灵活性强,对开发者友好,在百度内部大规模使用,有超过 4w 内部页面是基于它制作的,是百度内部中台系统的核心基础设施。 它具备以下功能: 页面制作…...

2024icpc(Ⅱ)网络赛补题E
E. Escape 思路: 可以看成 Sneaker 和杀戮机器人都不能在原地停留,然后杀戮机器人有个活动范围限制。如果 Sneaker 和杀戮机器人可以在原地停留,那么 Sneaker 到达一个点肯定会尽可能早,而且时间必须比杀戮机器人到达这个点短。那…...

mac怎么设置ip地址映射
最近开发的项目分为了两种版本,一个自己用的,一个是卖出去的。 卖出的域名是和自己的不一样的,系统中有一些功能是只有卖出去的版本有的,但我们开发完之后还得测试,那就需要给自己的电脑配置一个IP地址映射了…...
StringReader 使用 JAXB自动将 XML 数据映射到 Java 对象
import javax.xml.bind.JAXBContext; import javax.xml.bind.JAXBException; import javax.xml.bind.Unmarshaller; import java.io.StringReader; public class JAXBExample { public static void main(String[] args) { try { // 假设这是从某处获取的XML字符串 S…...
【系统架构设计师】专题:系统分析和设计
文章目录 一、处理流程设计1.1 流程表示工具1.2 业务流程重组BPR1.3 业务流程管理BPM二、系统设计三、人机界面设计四、结构化方法4.1 结构化分析(Structured Analysis,SA)。4.2 结构化设计(Structured Design,SD)。4.3 结构化编程(Structured Programming,SP)。4.4 数据库设…...

Lambda表达式(Java)
1.Lambda表达式 Lambda是一个匿名函数,我们可以将Lambda表达式理解为一段可以传递的代码(将代码像数据一样传递)。 “->”(Lambda操作符)左边:Lambda表达式的所有参数。右边:Lambda体&#x…...
不同的子序列
题目 给定一个字符串 s 和一个字符串 t ,计算在 s 的子序列中 t 出现的个数。 字符串的一个 子序列 是指,通过删除一些(也可以不删除)字符且不干扰剩余字符相对位置所组成的新字符串。(例如,“ACE” 是 “…...

CI24R1——精简版Si24R1,高性价比替代XN297开发资料
CI24R1为了减低用户的开发时间,将2.4G芯片开发出2.4G小模块,用户直接贴片调试,大大降低了开发时间跟生产工序。广泛应用在灯控、鼠标、玩具等智能物联网产品。 CI24R1小模块(内置天线) 是 2.4GHz 模块。该模块核心处理…...

MySQL递归查询笔记
目录 一、创建表结构和插入数据 二、查询所有子节点 三、查询所有父节点 四、查询指定节点的根节点 五、查询所有兄弟节点(同级节点) 六、获取祖先节点及其所有子节点 七、查询每个节点之间的层级关系 八、查询指定节点之间的层级关系 一、创建表…...
java中的位运算
位运算是对整数的二进制位进行操作的一种运算。在java中long, int, short, char和byte类型都可以使用位运算。 位运算的过程如下:首先将十进制整数转换成二进制表示形式,然后将位运算符应用于每个二进制数位,并计算结果。最后,将…...

llamafactory0.9.0微调qwen2vl
LLaMA-Factory/data/README_zh.md at main hiyouga/LLaMA-Factory GitHubEfficiently Fine-Tune 100+ LLMs in WebUI (ACL 2024) - LLaMA-Factory/data/README_zh.md at main hiyouga/LLaMA-Factoryhttps://github.com/hiyouga/LLaMA-Factory/blob/main...

Electron 隐藏顶部菜单
隐藏前: 隐藏后: 具体设置代码: 在 main.js 中加入这行即可: // 导入模块 const { app, BrowserWindow ,Menu } require(electron) const path require(path)// 创建主窗口 const createWindow () > {const mainWindow ne…...

软件测试学习笔记丨curl命令发送请求
本文转自测试人社区,原文链接:https://ceshiren.com/t/topic/32332 一、简介 cURL是一个通过URL传输数据的,功能强大的命令行工具。cURL可以与Chrome Devtool工具配合使用,把浏览器发送的真实请求还原出来,附带认证信…...

STM32+PWM+DMA驱动WS2812 —— 2024年9月24日
一、项目简介 采用STM32f103C8t6单片机,使用HAL库编写。项目中针对初学者驱动WS2812时会遇到的一些问题,给出了解决方案。 二、ws2812驱动原理 WS2812采用单线归零码的通讯方式,即利用高低电平的持续时间来确定0和1。这种通信方式优点是只需…...

MMD模型及动作一键完美导入UE5-IVP5U插件方案(二)
1、下载并启用IVP5U插件 1、下载IVP5U插件, IVP5U,点击Latest下载对应引擎版本,将插件放到Plugins目录,同时将.uplugin文件的EnableByDefault改为false 2、然后通过Edit->Plugins启用插件 2、导入pmx模型 1、直接在Content的某个目录拖入pmx模型,选择默认参数 2、…...

C++函数指针
函数指针是将一个函数赋值给一个变量的方法 我们使用函数的方法,可能会给函数传入参数,或者传入参数,函数可能有返回值,也可能没有返回值(void) 下面这个例子,我们调用了HelloWorld函数 auto关…...

汽车信息安全 -- 再谈车规MCU的安全启动
目录 1. 安全启动流程回顾 1.1 TC3xx的安全启动 1.2 RH850的安全启动 1.3 NXP S32K3的安全启动 1.4 小结 2.信任链的问题 3.国产HSM IP的拓展 今天接着 汽车信息安全 -- 存到HSM中的密钥还需包裹吗?-CSDN博客这篇文章深究另一个重要功能-- 安全启动。 该文章…...

[Linux]从零开始的Linux的远程方法介绍与配置教程
一、为什么需要远程Linux 相信大家在学习Linux时,要么是使用Linux的虚拟机或者在物理机上直接安装Linux。这样确实非常方便,我们也能直接看到Linux的桌面或者终端。既然我们都能直接看到终端或者Linux的桌面了,那我们为什么还要远程Linux呢&a…...

手机改IP地址怎么弄?全面解析与操作指南
在当今数字化时代,IP地址作为设备在网络中的唯一标识,其重要性不言而喻。有时候,出于隐私保护、网络访问需求或其他特定原因,我们可能需要更改手机的IP地址。然而,对于大多数普通用户来说,如何操作可能还是…...
【React】useState 和 useRef:项目开发中该如何选择
如果你正踏入用 React 进行网页开发的世界,那你可能已经遇到了像 useState 和 useRef 这样的术语。这两个 Hook 在构建交互性和动态组件时起着至关重要的作用。 下面,我们将探讨它们是什么,它们的功能,它们的区别,并通…...
Spring Boot+Neo4j知识图谱实战:3步搭建智能关系网络!
一、引言 在数据驱动的背景下,知识图谱凭借其高效的信息组织能力,正逐步成为各行业应用的关键技术。本文聚焦 Spring Boot与Neo4j图数据库的技术结合,探讨知识图谱开发的实现细节,帮助读者掌握该技术栈在实际项目中的落地方法。 …...
HTML前端开发:JavaScript 常用事件详解
作为前端开发的核心,JavaScript 事件是用户与网页交互的基础。以下是常见事件的详细说明和用法示例: 1. onclick - 点击事件 当元素被单击时触发(左键点击) button.onclick function() {alert("按钮被点击了!&…...
Caliper 配置文件解析:config.yaml
Caliper 是一个区块链性能基准测试工具,用于评估不同区块链平台的性能。下面我将详细解释你提供的 fisco-bcos.json 文件结构,并说明它与 config.yaml 文件的关系。 fisco-bcos.json 文件解析 这个文件是针对 FISCO-BCOS 区块链网络的 Caliper 配置文件,主要包含以下几个部…...

vue3+vite项目中使用.env文件环境变量方法
vue3vite项目中使用.env文件环境变量方法 .env文件作用命名规则常用的配置项示例使用方法注意事项在vite.config.js文件中读取环境变量方法 .env文件作用 .env 文件用于定义环境变量,这些变量可以在项目中通过 import.meta.env 进行访问。Vite 会自动加载这些环境变…...

Maven 概述、安装、配置、仓库、私服详解
目录 1、Maven 概述 1.1 Maven 的定义 1.2 Maven 解决的问题 1.3 Maven 的核心特性与优势 2、Maven 安装 2.1 下载 Maven 2.2 安装配置 Maven 2.3 测试安装 2.4 修改 Maven 本地仓库的默认路径 3、Maven 配置 3.1 配置本地仓库 3.2 配置 JDK 3.3 IDEA 配置本地 Ma…...
Device Mapper 机制
Device Mapper 机制详解 Device Mapper(简称 DM)是 Linux 内核中的一套通用块设备映射框架,为 LVM、加密磁盘、RAID 等提供底层支持。本文将详细介绍 Device Mapper 的原理、实现、内核配置、常用工具、操作测试流程,并配以详细的…...
蓝桥杯 冶炼金属
原题目链接 🔧 冶炼金属转换率推测题解 📜 原题描述 小蓝有一个神奇的炉子用于将普通金属 O O O 冶炼成为一种特殊金属 X X X。这个炉子有一个属性叫转换率 V V V,是一个正整数,表示每 V V V 个普通金属 O O O 可以冶炼出 …...
JS设计模式(4):观察者模式
JS设计模式(4):观察者模式 一、引入 在开发中,我们经常会遇到这样的场景:一个对象的状态变化需要自动通知其他对象,比如: 电商平台中,商品库存变化时需要通知所有订阅该商品的用户;新闻网站中࿰…...

Chromium 136 编译指南 Windows篇:depot_tools 配置与源码获取(二)
引言 工欲善其事,必先利其器。在完成了 Visual Studio 2022 和 Windows SDK 的安装后,我们即将接触到 Chromium 开发生态中最核心的工具——depot_tools。这个由 Google 精心打造的工具集,就像是连接开发者与 Chromium 庞大代码库的智能桥梁…...

算法打卡第18天
从中序与后序遍历序列构造二叉树 (力扣106题) 给定两个整数数组 inorder 和 postorder ,其中 inorder 是二叉树的中序遍历, postorder 是同一棵树的后序遍历,请你构造并返回这颗 二叉树 。 示例 1: 输入:inorder [9,3,15,20,7…...