
一。低代码优势:
1.1 低代码平台和传统代码开发:
低代码平台显著提升开发速度,通过可视化界面与预建模块,能快速搭建应用,大幅缩短开发周期,适用于快速迭代项目。而传统代码开发需从零编写大量代码,开发过程复杂、耗时久,对简单应用也需较长时间完成开发架构与功能实现。
1.2 低代码和 0 代码平台:
低代码平台提供了更多的可扩展性选项,能够构建新的应用程序以应付随着业务增长而增长的用户,可满足企业长远发展需求。而 0 代码平台的可扩展性相对较弱,难以满足企业在业务规模扩大和功能复杂程度增加时的进一步发展需求。
0 代码开发几乎不需要编程知识,学习曲线低,但不利于开发人员编程技能的提升。低代码开发需要一些基本编程知识,如变量、条件语句和循环等概念,有助于开发人员提升技术能力,更好地应对复杂项目开发需求。

1.3 低代码平台:Microi 吾码
该平台可以多人操作、不限制人数,表单数、数据量、数据库数量等。另外还支持跨平台性,跨数据库,支持扩展组件、支持自定义 vue 组件嵌入表单、支持二次开发调用表单引擎,支持 V8 引擎事件,灵活实现复杂业务逻辑。集成 Google V8 引擎,支持使用 JavaScript 在线编写后端接口,支持 get、post 请求,支持响应文件、读取文件等。微服务、组件、内置界面模板等。支持一键加载第三方数据库,在接口引擎中访问任意数据库。多公众号配置(不同集团分公司用户绑定不同公众号发送模板消息)、多小程序配置、模板消息配置。

二。平台简介
2.1 Microi 吾码介绍:
专注于'零代码全局应用搭建平台'领域,由拥有 10 余年全栈开发经验的专业团队组成,让原先耗时以'月'计的繁杂编码过程,被有效缩减到'小时'计,极大降低了平台开发、维护成本,为开发方与使用方减负。公司服务经验包括百余个跨行业项目,并以'全业务管理平台'为应用场景,目前,所开发的软件产品、开源组件在数千家企业中应用,从商务、财务、销售到服务类等行业领域,覆盖寻求数字转型企业的所有需求,实现个性化的行业解决方案。

2.2 产品特点:
1.多语言支持:
前后端均支持多语言管理,可在线配置多语言,满足不同地区和用户的语言需求。
2.细粒度权限控制:
能够细化到每张表、每个字段、每个菜单、每个 V8 按钮、每个接口的权限控制,提供更精准的访问权限管理,保障系统安全性。
3.界面自定义:
提供界面自定义引擎,用户可根据自身需求灵活定制界面,满足个性化的设计要求,提高用户体验。
4.框架特点: 采用.NET8 + Redis + MySql/SqlServer/Oracle + Vue2/3 + Element-UI/Element-Plus 的技术架构,支持跨平台、跨数据库、分布式部署,并集成消息队列、搜索引擎、MongoDB 等组件,提供强大的后端支持。

三。使用 Microi 吾码:
3.1 安装:
3.1.1 CentOS7 一键安装脚本:
url=https://static.itdos.com/install/install-microi-centos.sh;if [ -f /usr/bin/curl ];then curl -sSO $url;else wget -O install-microi-centos.sh $url;fi;bash install-microi-centos.sh
3.1.2 注意事项:
1.根据上面的提示进行操作以后,在界面中会出现【输入 g 以公网 IP 安装,输入 n 以内网 IP 安装】,然后按自己的实际情况继续,输入 g 或 n。
2.如果服务器没有 docker 环境,也会提示是否按 y 安装,如果您想快速开始就直接键入 y 吧。
3.安装成功后,必需开放 microi-api 端口、前端传统界面端口、前端 Web 操作系统端口、MinIO 端口。4.脚本安装 mysql 默认为 4G 内存服务器的性能配置,2G 内存服务器建议下载脚本去掉性能配置再运行脚本 重复执行一键脚本前会提示先删除所有已安装容器,这将导致所有数据丢失。
3.1.2 脚本代码:
echo '当前一键脚本版本:2024-11-24 11:47' # 获取局域网 IP LAN_IP=$(hostname -I | awk '{print $1}') echo '获取局域网 IP: '$LAN_IP # 获取公网 IP PUBLIC_IP=$(curl -s ifconfig.me) echo '获取公网 IP: '$PUBLIC_IP # 询问用户安装类型 echo '您是想在公网访问系统还是内网访问?公网请提前做好端口开放。' echo '输入 g 以公网 IP 安装,输入 n 以内网 IP 安装:' read -r install_type if [ "$install_type" == "g" ]; then ACCESS_IP=$PUBLIC_IP echo '将以公网 IP 安装。' elif [ "$install_type" == "n" ]; then ACCESS_IP=$LAN_IP echo '将以内网 IP 安装。' else echo '无效的输入,脚本退出。' exit 1 fi # 检查 Docker 是否安装 if ! [ -x "$(command -v docker)" ]; then echo '您未安装 docker,推荐使用面板工具来安装 docker 并管理您的服务器!' echo '是否立即安装 Docker?(y/n)' read -r answer if [ "$answer" != "y" ]; then echo '安装取消,脚本退出。' exit 1 fi # 安装 Docker echo '开始安装 Docker...' sudo yum update -y sudo yum install -y yum-utils sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo sudo yum install -y docker-ce docker-ce-cli containerd.io sudo systemctl start docker sudo systemctl enable docker echo 'Docker 已成功安装。' fi # 配置 Docker 镜像加速器 DOCKER_ACCELERATOR="https://mirrors.aliyun.com/docker-ce/" echo '配置 Docker 镜像加速器' sudo tee /etc/docker/daemon.json <<EOF { "registry-mirrors": ["${DOCKER_ACCELERATOR}"] } EOF sudo systemctl daemon-reload sudo systemctl restart docker # 生成随机端口和密码函数 generate_random_port() { shuf -i 17777-65535 -n 1 } generate_random_password() { openssl rand -base64 12 | tr -dc 'A-Za-z0-9' | head -c16 } # 生成随机数据目录 generate_random_data_dir() { local container_name="$1" local dir="/home/data-${container_name}-$(openssl rand -hex 4)" mkdir -p "${dir}" echo "${dir}" } # 检查并提示用户手动删除已有容器 if docker ps -a --format '{{.Names}}' | grep -q '^microi-install-'; then echo '脚本重复运行前,需要先通过命令【docker ps -a --format "{{.Names}}" | grep "^microi-install-" | xargs -r docker rm -f】删除所有相关容器后再重新运行,注意此操作将会删除数据库、MinIO 文件,请谨慎操作' exit 1 fi # 检查并安装 unzip if ! [ -x "$(command -v unzip)" ]; then echo '您未安装 unzip,正在为您安装...' sudo yum install -y unzip if [ $? -ne 0 ]; then echo 'unzip 安装失败,脚本退出。' exit 1 fi echo 'unzip 已成功安装。' else echo 'unzip 已安装。' fi # 创建 MySQL 配置文件 MYSQL_CONF_FILE="/tmp/my_microi.cnf" echo '[mysqld]' > ${MYSQL_CONF_FILE} echo 'lower_case_table_names = 1' >> ${MYSQL_CONF_FILE} echo 'max_connections = 500' >> ${MYSQL_CONF_FILE} echo 'key_buffer_size = 268435456' >> ${MYSQL_CONF_FILE} echo 'query_cache_size = 268435456' >> ${MYSQL_CONF_FILE} echo 'tmp_table_size = 268435456' >> ${MYSQL_CONF_FILE} echo 'innodb_buffer_pool_size = 536870912' >> ${MYSQL_CONF_FILE} echo 'innodb_log_buffer_size = 268435456' >> ${MYSQL_CONF_FILE} echo 'sort_buffer_size = 1048576' >> ${MYSQL_CONF_FILE} echo 'read_buffer_size = 209712' >> ${MYSQL_CONF_FILE} echo 'read_rnd_buffer_size = 1048576' >> ${MYSQL_CONF_FILE} echo 'join_buffer_size = 209712' >> ${MYSQL_CONF_FILE} echo 'thread_stack = 393216' >> ${MYSQL_CONF_FILE} echo 'binlog_cache_size = 196608' >> ${MYSQL_CONF_FILE} echo 'thread_cache_size = 192' >> ${MYSQL_CONF_FILE} echo 'table_open_cache = 1024' >> ${MYSQL_CONF_FILE} echo 'character_set_server=utf8mb4' >> ${MYSQL_CONF_FILE} echo 'collation_server=utf8mb4_unicode_ci' >> ${MYSQL_CONF_FILE} # 安装 MySQL 5.6 MYSQL_PORT=$(generate_random_port) MYSQL_ROOT_PASSWORD=$(generate_random_password) MYSQL_DATA_DIR=$(generate_random_data_dir "mysql") echo 'MySQL 将在端口 '${MYSQL_PORT}' 上安装,root 密码:'${MYSQL_ROOT_PASSWORD},数据目录:${MYSQL_DATA_DIR} docker pull registry.cn-hangzhou.aliyuncs.com/microios/mysql5.6:latest docker run -itd --restart=always --log-opt max-size=10m --log-opt max-file=10 --privileged=true \ --name microi-install-mysql56 -p ${MYSQL_PORT}:3306 \ -v ${MYSQL_DATA_DIR}:/var/lib/mysql \ -v ${MYSQL_CONF_FILE}:/etc/mysql/conf.d/my_microi.cnf \ -e MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD} \ -e MYSQL_TIME_ZONE=Asia/Shanghai \ -d registry.cn-hangzhou.aliyuncs.com/microios/mysql5.6:latest # 安装 Redis 6.2 REDIS_PORT=$(generate_random_port) REDIS_PASSWORD=$(generate_random_password) echo 'Redis 将在端口 '${REDIS_PORT}' 上安装,密码:'${REDIS_PASSWORD} docker pull registry.cn-hangzhou.aliyuncs.com/microios/redis6.2:latest docker run -itd --restart=always --log-opt max-size=10m --log-opt max-file=10 --privileged=true \ --name microi-install-redis -p ${REDIS_PORT}:6379 \ -e REDIS_PASSWORD=${REDIS_PASSWORD} \ -d registry.cn-hangzhou.aliyuncs.com/microios/redis6.2:latest redis-server --requirepass ${REDIS_PASSWORD} # 等待 MySQL 容器启动 echo '等待 MySQL 容器启动...' sleep 5 # 等待 5 秒,可根据实际情况调整 # 检查 MySQL 是否可以连接 echo '检查 MySQL 是否可以连接...' for i in {1..10}; do docker exec -i microi-install-mysql56 mysql -uroot -p${MYSQL_ROOT_PASSWORD} -e "SELECT 1" > /dev/null 2>&1 && break sleep 1 done # 如果 MySQL 服务启动失败,则退出脚本 if [ $i -eq 60 ]; then echo 'MySQL 服务启动失败,脚本退出。' exit 1 fi # 允许 root 用户从任意主机连接 echo '允许 root 用户从任意主机连接' docker exec -i microi-install-mysql56 mysql -uroot -p${MYSQL_ROOT_PASSWORD} -e "USE mysql; GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '${MYSQL_ROOT_PASSWORD}' WITH GRANT OPTION;" docker exec -i microi-install-mysql56 mysql -uroot -p${MYSQL_ROOT_PASSWORD} -e "FLUSH PRIVILEGES;" # 下载并解压 MySQL 数据库备份 SQL_ZIP_URL="https://static.itdos.com/download/microi/file/mysql5.6.50-bak-latest.sql.zip" SQL_ZIP_FILE="/tmp/mysql_backup.zip" SQL_DIR="/tmp/mysql_backup" SQL_FILE="${SQL_DIR}/microi_demo.sql" # 创建目录 mkdir -p ${SQL_DIR} echo '创建目录:'${SQL_DIR} # 下载 ZIP 文件 curl -o ${SQL_ZIP_FILE} ${SQL_ZIP_URL} echo '下载 ZIP 文件:'${SQL_ZIP_FILE} # 解压 ZIP 文件并覆盖现有文件 unzip -o -d ${SQL_DIR} ${SQL_ZIP_FILE} echo '解压 ZIP 文件到:'${SQL_DIR} # 创建数据库 echo '创建数据库 microi_demo' docker exec -i microi-install-mysql56 mysql -uroot -p${MYSQL_ROOT_PASSWORD} -e "CREATE DATABASE IF NOT EXISTS microi_demo CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;" # 还原 MySQL 数据库备份 echo '还原 MySQL 数据库备份:'${SQL_FILE} docker exec -i microi-install-mysql56 mysql -uroot -p${MYSQL_ROOT_PASSWORD} microi_demo < ${SQL_FILE} # 安装 MongoDB MONGO_PORT=$(generate_random_port) MONGO_ROOT_PASSWORD=$(generate_random_password) MONGO_DATA_DIR=$(generate_random_data_dir "mongodb") echo 'MongoDB 将在端口 '${MONGO_PORT}' 上安装,root 密码:'${MONGO_ROOT_PASSWORD},数据目录:${MONGO_DATA_DIR} docker pull registry.cn-hangzhou.aliyuncs.com/microios/mongo:latest docker run -itd --restart=always --log-opt max-size=10m --log-opt max-file=10 --privileged=true \ --name microi-install-mongodb -p ${MONGO_PORT}:27017 \ -v ${MONGO_DATA_DIR}:/data/db \ -e MONGO_INITDB_ROOT_USERNAME=root \ -e MONGO_INITDB_ROOT_PASSWORD=${MONGO_ROOT_PASSWORD} \ -d registry.cn-hangzhou.aliyuncs.com/microios/mongo:latest # 安装 MinIO MINIO_PORT=$(generate_random_port) MINIO_CONSOLE_PORT=$(generate_random_port) MINIO_ACCESS_KEY=$(generate_random_password) MINIO_SECRET_KEY=$(generate_random_password) MINIO_DATA_DIR=$(generate_random_data_dir "minio") echo 'MinIO 将在端口 '${MINIO_PORT}' 和控制台端口 '${MINIO_CONSOLE_PORT}' 上安装,access key: '${MINIO_ACCESS_KEY}',secret key: '${MINIO_SECRET_KEY},数据目录:${MINIO_DATA_DIR} docker pull registry.cn-hangzhou.aliyuncs.com/microios/minio:latest docker run -itd --restart=always --log-opt max-size=10m --log-opt max-file=10 --privileged=true \ --name microi-install-minio -p ${MINIO_PORT}:9000 -p ${MINIO_CONSOLE_PORT}:9001 \ -v ${MINIO_DATA_DIR}:/data \ -v ${MINIO_DATA_DIR}/config:/root/.minio \ -e "MINIO_ROOT_USER=${MINIO_ACCESS_KEY}" \ -e "MINIO_ROOT_PASSWORD=${MINIO_SECRET_KEY}" \ -d registry.cn-hangzhou.aliyuncs.com/microios/minio:latest server /data --console-address ":9001" # 拉取并安装后端 microi-api 接口系统 API_PORT=$(generate_random_port) API_IMAGE="registry.cn-hangzhou.aliyuncs.com/microios/microi-api:latest" API_CONTAINER_NAME="microi-install-api" OS_CLIENT_DB_CONN="Data Source=${LAN_IP};Database=microi_demo;User Id=root;Password=${MYSQL_ROOT_PASSWORD};Port=${MYSQL_PORT};Convert Zero Datetime=True;Allow Zero Datetime=True;Charset=utf8mb4;Max Pool Size=500;sslmode=None;" echo '拉取并安装后端 microi-api 接口系统:'${API_IMAGE} docker pull ${API_IMAGE} docker run -itd --restart=always --log-opt max-size=10m --log-opt max-file=10 --privileged=true \ --name ${API_CONTAINER_NAME} -p ${API_PORT}:80 \ -e "OsClient=iTdos" \ -e "OsClientType=Product" \ -e "OsClientNetwork=Internal" \ -e "OsClientDbConn=${OS_CLIENT_DB_CONN}" \ -e "OsClientRedisHost=${LAN_IP}" \ -e "OsClientRedisPort=${REDIS_PORT}" \ -e "OsClientRedisPwd=${REDIS_PASSWORD}" \ -e "AuthServer=http://${LAN_IP}:${API_PORT}" \ -v /etc/localtime:/etc/localtime \ -v /usr/share/fonts:/usr/share/fonts \ -d ${API_IMAGE} # 拉取并安装前端传统界面 VUE_PORT=$(generate_random_port) VUE_IMAGE="registry.cn-hangzhou.aliyuncs.com/microios/microi-client:latest" VUE_CONTAINER_NAME="microi-install-client" echo '拉取并安装前端传统界面:'${VUE_IMAGE} docker pull ${VUE_IMAGE} docker run -itd --restart=always --log-opt max-size=10m --log-opt max-file=10 --privileged=true \ --name ${VUE_CONTAINER_NAME} -p ${VUE_PORT}:80 \ -e "OsClient=iTdos" \ -e "ApiBase=http://${ACCESS_IP}:${API_PORT}" \ -v /etc/localtime:/etc/localtime \ -v /usr/share/fonts:/usr/share/fonts \ -d ${VUE_IMAGE} # 拉取并安装前端 WebOS 操作系统 WEBOS_PORT=$(generate_random_port) WEBOS_IMAGE="registry.cn-hangzhou.aliyuncs.com/microios/microi-os:latest" WEBOS_CONTAINER_NAME="microi-install-os" echo '拉取并安装前端 WebOS 操作系统:'${WEBOS_IMAGE} docker pull ${WEBOS_IMAGE} docker run -itd --restart=always --log-opt max-size=10m --log-opt max-file=10 --privileged=true \ --name ${WEBOS_CONTAINER_NAME} -p ${WEBOS_PORT}:80 \ -e "OsClient=iTdos" \ -e "ApiBase=http://${ACCESS_IP}:${API_PORT}" \ -v /etc/localtime:/etc/localtime \ -v /usr/share/fonts:/usr/share/fonts \ -d ${WEBOS_IMAGE} # 安装 Watchtower WATCHTOWER_CONTAINER_NAME="microi-install-watchtower" echo '安装 Watchtower 以自动更新 API、Vue 和 WebOS 容器' docker pull registry.cn-hangzhou.aliyuncs.com/microios/watchtower:latest docker run -itd --restart=always --log-opt max-size=10m --log-opt max-file=10 --privileged=true \ --name ${WATCHTOWER_CONTAINER_NAME} -v /var/run/docker.sock:/var/run/docker.sock \ registry.cn-hangzhou.aliyuncs.com/microios/watchtower:latest ${API_CONTAINER_NAME} ${VUE_CONTAINER_NAME} ${WEBOS_CONTAINER_NAME} # 输出所有服务的信息 echo -e "==================================================================" echo '所有服务已成功安装。' echo '前端传统界面访问地址:http://'$ACCESS_IP':'$VUE_PORT',账号:admin,密码:demo123456' echo '前端 WebOS 操作系统访问地址:http://'$ACCESS_IP':'$WEBOS_PORT',账号:admin,密码:demo123456' echo 'Redis: 容器名称 microi-install-redis, 端口 '${REDIS_PORT}', 密码:'${REDIS_PASSWORD} echo 'MySQL: 容器名称 microi-install-mysql56, 端口 '${MYSQL_PORT}', Root 密码:'${MYSQL_ROOT_PASSWORD} echo 'MongoDB: 容器名称 microi-install-mongodb, 端口 '${MONGO_PORT}', Root 密码:'${MONGO_ROOT_PASSWORD} echo 'MinIO: 容器名称 microi-install-minio, 端口 '${MINIO_PORT}', 控制台端口 '${MINIO_CONSOLE_PORT}', Access Key: '${MINIO_ACCESS_KEY}, Secret Key: ${MINIO_SECRET_KEY} echo '后端 microi-api 接口系统:容器名称 '${API_CONTAINER_NAME}', 端口 '${API_PORT}', 镜像:'${API_IMAGE}', 局域网 IP: '${LAN_IP} echo '前端传统界面:容器名称 '${VUE_CONTAINER_NAME}', 端口 '${VUE_PORT}', 镜像:'${VUE_IMAGE}', API URL: http://'${ACCESS_IP}':'${API_PORT} echo '前端 WebOS 操作系统:容器名称 '${WEBOS_CONTAINER_NAME}', 端口 '${WEBOS_PORT}', 镜像:'${WEBOS_IMAGE}', API URL: http://'${ACCESS_IP}':'${API_PORT} echo 'Watchtower: 容器名称 '${WATCHTOWER_CONTAINER_NAME}', 已安装以自动更新 API、Vue 和 WebOS 容器' echo -e "=================================================================="
3.2 快速使用---打印引擎:
基础组件包括:
【表格/文本】:文本,键值文本,长文本,表格,图片,条形码。
【辅助/图形】:横线,竖线,矩形,椭圆。
拓展组件包括:
【常规单据表头】单据类型,订单编号,业务日期,平台名称,装订线。
【客户】:客户名称,客户电话。


编辑
3.3 快速使用---接口引擎:
接口包含的信息:
序号,名称,Key,自定义接口地址,启用,分布式锁分布式锁 Key,允许匿名调用响应文件可访问角色接口说明,参数相关附件创建时间创建人更新时间操作。

四。成功案例:
1.目前已有成功案例开发团队客户 50 家以上,而客户基于低代码平台研发的系统已应用到数百家企业。 2.房地产互联网平台(仿贝壳)(大量的前端微服务定制)。 3.大型电器 ERP(300+ 表,100+ 模块)(大量的后端定制)。 4.多个服装 ERP(100+ 表,1 个人 1 个月完成)(纯低代码平台实现的服装 ERP 系统)。 5.物联网智能家居(亿级数据量处理)、植物工厂智能硬件控制。 6.集团、国企 OA 系统。 7.停车场、潮汐检测、固定资产、CRM 等等平台。 8.四所大学实训课程。


