【Microi 吾码】基于 Microi 吾码低代码框架构建 Vue 高效应用之道

【Microi 吾码】基于 Microi 吾码低代码框架构建 Vue 高效应用之道
在这里插入图片描述
在这里插入图片描述

我的个人主页
文章专栏:Microi吾码

引言

在当今快速发展的软件开发领域,低代码开发平台正逐渐崭露头角,为开发者们提供了更高效的应用构建途径。Microi 吾码低代码框架结合 Vue的强大前端能力,更是为打造高效应用提供了绝佳的组合。在这里,我将深入探讨如何基于 Microi 吾码低代码框架构建 Vue 高效应用。
Microi吾码官网: https://microi.net
GitEE开源地址: microi.net:

在这里插入图片描述

一:Microi吾码安装指南

1、系统要求

  • 操作系统:支持Windows、Linux等主流操作系统。
  • 数据库:需要安装并配置支持的数据库,如MySql5.5+、SqlServer2016+、Oracle11g+等。
  • 其他软件:安装.NET 8 SDK、Redis,并且最好安装Git用于代码获取。对于一些高级功能,可能还需要安装Docker、MinIO、MongoDB、RabbitMQ、ES等软件。

2、获取Microi吾码代码

  1. 使用Git克隆代码库
    • 打开命令行工具(如Windows的CMD或Linux的Terminal)。
    • 输入以下命令来克隆Microi吾码的代码仓库(以Gitee为例):
      • git clone https://gitee.com/ITdos/microi.net
    • 这将在本地创建一个名为microi.net的文件夹,其中包含Microi吾码的所有源代码。

3、后端安装与配置

  1. 打开解决方案文件
    • 使用Visual Studio Code或者Visual Studio 2022打开克隆下来的microi.net文件夹中的解决方案文件(.sln文件)。
  2. 配置appsettings.json文件
    • Microi.net.Api项目中找到appsettings.json文件,这是后端服务的主要配置文件。
    • 配置AppSettings部分的关键参数:
      • OsClient:自定义SaaS引擎Key,要与数据库sys_osclient表的OsClient字段值对应,例如可以设置为iTdos
      • OsClientType:自定义程序运行环境,如Product(正式环境)、Dev(测试环境)等。
      • OsClientNetwork:自定义网络类型,如Internet(公网)、Internal(内网)等。
      • OsClientDbConn:数据库连接字符串。如果使用MySQL,格式大致为server=your_server;user=your_user;password=your_password;database=your_database。对于SqlServer和Oracle,也有相应的格式要求。
      • IS4SigningCredential:可以直接使用源码中的默认签名。
      • Redis配置(可选)
        • 如果【OsClient + OsClientType + OsClientNetwork】【sys_osclient】表中不能匹配到数据(或者匹配的数据中没有Redis相关配置),需要配置以下Redis参数。
        • OsClientRedisHost:Redis主机地址,例如119.31.116.88
        • OsClientRedisPort:Redis端口,如6379
        • OsClientRedisPwd:Redis密码,如123456
      • 其他配置(如分布式存储、MQ消息队列、ES搜索引擎等):可以在平台的【SaaS引擎】中动态配置。

4、前端安装与配置

  1. 安装前端依赖
    • 进入前端项目目录,如microi.vue2.pcmicroi.vue3(具体目录根据实际情况而定)。
    • 查看该目录下的package.json文件,然后在命令行中执行npm install(如果使用yarn则执行yarn install)来安装所有依赖的JavaScript库。
  2. 配置接口地址
    • 在前端项目的配置文件(通常是src/config.js或类似文件)中,找到与后端接口地址相关的配置项。
    • 将其修改为后端服务实际运行的地址和端口,例如http://localhost:5000(假设后端服务在本地的5000端口运行),确保前端能够正确地与后端进行通信。

5、数据库初始化

  1. 创建数据库
    • 使用你选择的数据库管理工具(如MySQL Workbench对于MySQL数据库)创建Microi吾码所需的数据库。
    • 数据库名称等信息要与appsettings.json文件中配置的OsClientDbConn中的数据库名称一致。
  2. 导入初始数据
    • 在项目的源代码中找到数据库初始化脚本或相关的SQL文件。这些文件可能在database文件夹或者类似的目录下。
    • 在创建好的数据库中执行这些脚本,以创建必要的表结构、存储过程以及初始数据等。

6、启动项目

  1. 后端启动
    • 在Visual Studio Code或Visual Studio 2022中,右键点击Microi.net.Api项目,选择调试 -> 启动新实例,启动后端服务。
  2. 前端启动
    • 在前端项目目录下,执行npm run serve(如果使用yarn则执行yarn serve)启动前端开发服务器。
    • 等待编译完成后,在浏览器中访问前端项目的地址(通常是http://localhost:8080),就可以看到Microi吾码的登录界面了。
注意,在安装过程中,如果缺少某些必要的软件环境(如没有MongoDB环境会影响系统日志功能,没有MinIO或阿里云OSS等分布式存储环境会影响文件/图片上传功能等),相关功能可能无法正常使用。

二、Microi 吾码低代码框架与 Vue 简介

Microi 吾码低代码框架是一款旨在简化应用开发流程的工具,它通过可视化的界面设计、预制的组件库以及自动化的代码生成机制,让开发者能够快速搭建应用的基础架构。而 Vue 作为一款流行的前端 JavaScript 框架,以其简洁、灵活、高效的特点,在前端开发中占据重要地位。它采用组件化的开发模式,使得代码复用性极高,并且在数据绑定和响应式设计方面表现出色。

Microi 吾码采用.NET8 + Redis + MySql/SqlServer/Oracle + Vue2/3 + Element-UI/Element-Plus 技术框架,于 2014 年开始创建,2018 年使用 Vue 重构,并在 2024 年 10月 29 日开源 。

二、项目初始化

我们需要创建一个基于 Microi 吾码低代码框架的项目,并集成 Vue。假设我们已经安装好了 Microi 吾码的开发环境,在命令行中执行以下命令创建项目:

microi create my-app 

这将创建一个名为my-app的项目目录,包含了项目的基本结构和配置文件。进入项目目录后,我们需要安装 Vue 相关的依赖:

cd my-app npminstall vue 

三、创建 Vue 组件

在 Microi 吾码低代码框架中,我们可以方便地创建 Vue 组件。例如,我们创建一个简单的HelloWorld组件。在项目的src/components目录下创建一个HelloWorld.vue文件,代码如下:

<template> <div> <h1>{{ message }}</h1> </div> </template> <script> export default { name: 'HelloWorld', data() { return { message: 'Hello, Microi and Vue!' } } } </script> <style scoped> .hello-world { background-color: #f5f5f5; padding: 20px; border-radius: 5px; } </style> 

这个组件非常简单,它在页面上显示一个带有指定消息的标题,并设置了一些基本的样式。


四、在 Microi 吾码页面中使用 Vue 组件

平台效果
在这里插入图片描述

在 Microi 吾码的页面设计器中,我们可以像使用普通组件一样使用我们创建的 Vue 组件。打开项目中的页面文件(例如src/pages/HomePage.vue),在template部分添加以下代码:

<template> <div> <HelloWorld /> </div> </template> <script> import HelloWorld from '@/components/HelloWorld.vue'; export default { components: { HelloWorld } } </script> 

这里我们首先导入了HelloWorld组件,然后在components选项中注册它,最后在template中使用它。这样,当我们运行应用时,就会在页面上看到HelloWorld组件显示的内容。


五、数据交互与绑定

Vue 的核心优势之一是数据绑定和响应式设计。在 Microi 吾码低代码框架中,我们可以充分利用这一特性实现数据的动态交互。例如,假设我们有一个数据列表,我们希望在页面上动态显示并能够根据用户操作进行更新。

src/store目录下创建一个dataStore.js文件,用于存储数据:

import Vue from'vue';exportconst dataStore =newVue({data(){return{itemList:[{id:1,name:'Item 1',description:'Description of Item 1'},{id:2,name:'Item 2',description:'Description of Item 2'},{id:3,name:'Item 3',description:'Description of Item 3'}]}}});

然后,在我们的组件中(例如src/components/ItemList.vue),我们可以使用computed属性来获取数据并进行绑定:

<template> <div> <ul> <li v-for="item in itemList" :key="item.id"> <h2>{{ item.name }}</h2> <p>{{ item.description }}</p> </li> </ul> </div> </template> <script> import { dataStore } from '@/store/dataStore.js'; export default { name: 'ItemList', computed: { itemList() { return dataStore.itemList; } } } </script> <style scoped> .item-list { margin-top: 20px; } .item-list ul { list-style-type: none; padding: 0; } .item-list li { border-bottom: 1px solid #ccc; padding: 10px 0; } </style> 

dataStore中的itemList数据发生变化时,组件会自动更新显示。


六、事件处理

在 Vue 组件中,我们还可以处理各种用户事件。例如,我们为ItemList组件中的每个项目添加一个点击事件,当点击项目时弹出一个提示框显示项目的详细信息。修改ItemList.vue组件的代码如下:

<template> <div> <ul> <li v-for="item in itemList" :key="item.id" @click="showItemDetails(item)"> <h2>{{ item.name }}</h2> <p>{{ item.description }}</p> </li> </ul> </div> </template> <script> import { dataStore } from '@/store/dataStore.js'; export default { name: 'ItemList', computed: { itemList() { return dataStore.itemList; } }, methods: { showItemDetails(item) { alert(`Item ID: ${item.id}\nName: ${item.name}\nDescription: ${item.description}`); } } } </script> <style scoped> .item-list { margin-top: 20px; } .item-list ul { list-style-type: none; padding: 0; } .item-list li { border-bottom: 1px solid #ccc; padding: 10px 0; } </style> 

通过@click指令绑定showItemDetails方法,当用户点击项目时,就会触发该方法并弹出提示框。


七、总结

通过 Microi 吾码低代码框架与 Vue 的结合,我们能够在应用开发中实现高效的开发流程。从项目初始化到创建 Vue 组件,再到数据交互、绑定和事件处理,每一个环节都展示了这种组合的强大之处。这种方式不仅提高了开发效率,还使得应用具有更好的可维护性和用户体验。在实际项目开发中,开发者可以根据具体需求进一步拓展和优化应用,充分发挥 Microi 吾码低代码框架和 Vue 的优势,构建出更加复杂和功能强大的高效应用。


Read more

Polyfill方式解决前端兼容性问题:core-js包结构与各种配置策略

Polyfill方式解决前端兼容性问题:core-js包结构与各种配置策略

简介 在之前我介绍过Babel:解锁Babel核心功能:从转义语法到插件开发,Babel是一个使用AST转义JavaScript语法,提高代码在浏览器兼容性的工具。但有些ECMAScript并不是新的语法,而是一些新对象,新方法等等,这些并不能使用AST抽象语法树来转义。因此Babel利用core-js实现这些代码的兼容性。 core-js是一个知名的前端工具库,里面包含了ECMAScript标准中提供的新对象/新方法等,而且是使用旧版本支持的语法来实现这些新的API。这样即使浏览器没有实现标准中的新API,也能通过注入core-js代码来提供对应的功能。 像这种通过注入代码实现浏览器没有提供的API特性,叫做Polyfill。这个单词的本意是填充材料,在JavaScript领域中,这些注入的代码就类似“填充材料”一样,帮助我们提高代码的兼容性。另外core-js还提供了一些还在提议中的API的实现。 core-js使用方式 使用前后对比 要想看到core-js使用前后的效果对比,首先需要确定某个特性和对应的执行环境,在这个环境中对应的特性不存在。我本地是Node.js

前端 AJAX 详解 + 动态页面爬虫实战思路

目前 80% 的网站都使用了AJAX技术,那么传统的爬虫通过 html 来获取数据就不行了,总结一下 AJAX 相关知识。 1、前端三大核心 前端开发的三大核心基础是 HTML、CSS 和 JavaScript。 * HTML 负责搭建网页的结构与内容(结构) * CSS 负责网页的样式、布局和视觉效果(表现) * JavaScript 负责网页的交互、逻辑和数据处理(行为) HTML(结构层) 本质上是 标记语言(Markup Language),通过标签描述页面元素。 常见标签: <h1>标题</h1><p>段落</p><

踩坑与成长:WordPress、MyBatis-Plus 及前端依赖问题解决记录

踩坑与成长:WordPress、MyBatis-Plus 及前端依赖问题解决记录

目录 * WordPress中要点,域和托管 * 域名 * 托管 * 添加新页面 * 添加新文章 * 安装方式 * 1. 接口清单(API Design) * 2. Controller 层实现 * 3. Service 层实现 * 4. Mapper 层(MyBatis-Plus) * (1) 好友关系实体 * (2) Mapper接口 * 5. 统一返回结构 * 6. 接口测试示例 * **(1) 添加好友** * **(2) 查询好友列表** * **关键设计说明** * **扩展建议** * 为什么需要为数据库的 email 字段建立索引 * 1. 提高查询性能 * 2. 保证数据唯一性(当需要时) * 3. 支持高级查询特性 * 注意事项 * 实际应用示例 * 关于前端使用openapi报错原因 * 解决方案

5分钟部署GLM-4.6V-Flash-WEB,单卡实现多模态AI应用

5分钟部署GLM-4.6V-Flash-WEB,单卡实现多模态AI应用 你有没有试过这样一种场景:刚拍下一张超市货架照片,想立刻知道“第三排左数第二个商品的保质期还剩几天”,却只能打开手机相册反复放大、手动识别——而旁边的朋友已经用AI工具三秒读完整张图并给出答案。这不是科幻电影,而是GLM-4.6V-Flash-WEB正在让这件事变成现实。 它不依赖云端API调用,不用等模型加载十分钟,更不需要A100集群和运维工程师。一块RTX 4060 Ti显卡,一条命令,五分钟内,你就能拥有一个能看图、会思考、懂提问的本地多模态助手。它不是实验室里的演示原型,而是真正为“今天就要上线”设计的开箱即用镜像。 这篇文章不讲论文公式,不堆参数指标,只聚焦一件事:怎么在最短时间里,把一个能理解图像+回答问题的AI,稳稳跑在你自己的机器上,并马上用起来。 1. 为什么是GLM-4.6V-Flash-WEB?轻量≠妥协 很多人一听“轻量级多模态模型”,第一反应是“那效果肯定打折扣”。但GLM-4.6V-Flash-WEB打破了这个惯性认知——它没有牺牲核心能力,只是把冗余的部分全部砍掉。 它