爱速搭百度低代码开发平台
爱速搭介绍
爱速搭是百度智能云推出的低代码开发平台,它灵活性强,对开发者友好,在百度内部大规模使用,有超过 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 在构建交互性和动态组件时起着至关重要的作用。 下面,我们将探讨它们是什么,它们的功能,它们的区别,并通…...
服务器硬防的应用场景都有哪些?
服务器硬防是指一种通过硬件设备层面的安全措施来防御服务器系统受到网络攻击的方式,避免服务器受到各种恶意攻击和网络威胁,那么,服务器硬防通常都会应用在哪些场景当中呢? 硬防服务器中一般会配备入侵检测系统和预防系统&#x…...

2.Vue编写一个app
1.src中重要的组成 1.1main.ts // 引入createApp用于创建应用 import { createApp } from "vue"; // 引用App根组件 import App from ./App.vue;createApp(App).mount(#app)1.2 App.vue 其中要写三种标签 <template> <!--html--> </template>…...

最新SpringBoot+SpringCloud+Nacos微服务框架分享
文章目录 前言一、服务规划二、架构核心1.cloud的pom2.gateway的异常handler3.gateway的filter4、admin的pom5、admin的登录核心 三、code-helper分享总结 前言 最近有个活蛮赶的,根据Excel列的需求预估的工时直接打骨折,不要问我为什么,主要…...

基于当前项目通过npm包形式暴露公共组件
1.package.sjon文件配置 其中xh-flowable就是暴露出去的npm包名 2.创建tpyes文件夹,并新增内容 3.创建package文件夹...

cf2117E
原题链接:https://codeforces.com/contest/2117/problem/E 题目背景: 给定两个数组a,b,可以执行多次以下操作:选择 i (1 < i < n - 1),并设置 或,也可以在执行上述操作前执行一次删除任意 和 。求…...

江苏艾立泰跨国资源接力:废料变黄金的绿色供应链革命
在华东塑料包装行业面临限塑令深度调整的背景下,江苏艾立泰以一场跨国资源接力的创新实践,重新定义了绿色供应链的边界。 跨国回收网络:废料变黄金的全球棋局 艾立泰在欧洲、东南亚建立再生塑料回收点,将海外废弃包装箱通过标准…...
C++.OpenGL (10/64)基础光照(Basic Lighting)
基础光照(Basic Lighting) 冯氏光照模型(Phong Lighting Model) #mermaid-svg-GLdskXwWINxNGHso {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-GLdskXwWINxNGHso .error-icon{fill:#552222;}#mermaid-svg-GLd…...

c#开发AI模型对话
AI模型 前面已经介绍了一般AI模型本地部署,直接调用现成的模型数据。这里主要讲述讲接口集成到我们自己的程序中使用方式。 微软提供了ML.NET来开发和使用AI模型,但是目前国内可能使用不多,至少实践例子很少看见。开发训练模型就不介绍了&am…...
[Java恶补day16] 238.除自身以外数组的乘积
给你一个整数数组 nums,返回 数组 answer ,其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请 不要使用除法,且在 O(n) 时间复杂度…...
日常一水C
多态 言简意赅:就是一个对象面对同一事件时做出的不同反应 而之前的继承中说过,当子类和父类的函数名相同时,会隐藏父类的同名函数转而调用子类的同名函数,如果要调用父类的同名函数,那么就需要对父类进行引用&#…...