You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
bqy_fe 27fe5fc752 chore: ⬆️update deps 3 years ago
.github/workflows chore: ⬆️update deps 3 years ago
.husky chore: ⬆️update deps 3 years ago
.vscode chore: ⬆️update deps 3 years ago
preview chore: ⬆️update deps 3 years ago
public chore: add gitee repository url 4 years ago
src chore: ⬆️update deps 3 years ago
types chore: ⬆️update deps 3 years ago
.cz-config.js first commit 4 years ago
.editorconfig first commit 4 years ago
.env.development feat: 添加组件事件 3 years ago
.env.production feat: 添加组件事件 3 years ago
.eslintignore first commit 4 years ago
.eslintrc.js chore: ⬆️update deps 3 years ago
.gitignore chore: adjust config 4 years ago
.prettierignore first commit 4 years ago
.stylelintignore fix: monaco run error with production 4 years ago
LICENSE first commit 4 years ago
README.EN.md feat(components): add tabbar component 3 years ago
README.md chore: ⬆️update deps 3 years ago
auto-imports.d.ts chore: ⬆️update deps 3 years ago
commitlint.config.js chore: ⬆️update deps 3 years ago
components.d.ts chore: ⬆️update deps 3 years ago
index.html fix: 🐛custom component can not use vue lifecycle hooks 3 years ago
package.json chore: ⬆️update deps 3 years ago
pnpm-lock.yaml chore: ⬆️update deps 3 years ago
prettier.config.js chore: ⬆️update deps 3 years ago
stylelint.config.js chore: ⬆️update deps 3 years ago
tsconfig.json chore: ⬆️update deps 3 years ago
vite.config.ts chore: ⬆️update deps 3 years ago
windi.config.ts first commit 4 years ago

README.md

基于 Vite2.x + Vue3.x + TypeScript H5 低代码平台

目前还只是一个简单的模板,后面可能会引入较为完善的机制系统,感兴趣的小伙伴可以根据自己的需要去调整, 通过这个项目或许你可以学到 vue3 很多有趣的新特性和玩法。

license

中文 | English

克隆项目

git clone --single-branch https://github.com/buqiyuan/vite-vue3-lowcode.git
or
git clone --depth=1 https://github.com/buqiyuan/vite-vue3-lowcode.git
cd vite-vue3-lowcode

pnpm install

  • run
pnpm serve
  • build
pnpm build

技术栈

功能清单

  • 动态添加页面
  • 拖拽式生成组件
  • service worker + indexeddb 实现无服务端的前端交互
  • 数据源管理(支持导入 swagger JSON 生成数据模型及接口)
  • 提供预置函数
  • 更多组件的封装
  • 其他...

简易说明

目前在使用表单时,需要把相关的表单控件放到表单容器内部,并且需要将按钮放到表单容器内,然后再讲按钮的type设置为表单提交按钮这时候点击提交按钮才会自动收集表单容器内部的所有字段和值

快速生成组件属性

// 在vant文档中 chrome控制台输入以下代码,快速生成组件属性
let propObj = {
  string: (config) => `createEditorInputProp(${JSON.stringify(config)})`,
  number: (config) => `createEditorInputNumberProp(${JSON.stringify(config)})`,
  boolean: (config) => `createEditorSwitchProp(${JSON.stringify(config)})`,
};

JSON.stringify(
  $$('#props + table tbody tr').reduce((prev, curr) => {
    const children = curr.children;
    const key = children[0].textContent.replace(/-([a-z])/g, (all, i) => i.toUpperCase());
    const child3Text = children[3].textContent;
    const defaultValue = ['true', 'false'].includes(child3Text)
      ? child3Text
      : `'${child3Text == '-' ? '' : child3Text}'`;
    const value = (propObj[children[2].textContent] ?? propObj['string'])({
      label: `'${children[1].textContent}'`,
      defaultValue,
    }).replaceAll('"', '');
    prev[key] = value;
    return prev;
  }, {}),
).replaceAll('"', '');
// 在vant文档中 chrome控制台输入以下代码,快速生成组件事件
JSON.stringify(
  $$('#events + table tbody tr').reduce((prev, curr) => {
    const children = curr.children;
    const event = {
      label: children[1].textContent,
      value: children[0].textContent,
    };
    return prev.concat([event]);
  }, []),
)
  .replaceAll(/(?<!:)\"(?!,|})/g, '')
  .replace(/\"/g, "'");

部分功能演示

RHfBbn.gif

浏览器支持

本地开发推荐使用Chrome 80+ 浏览器

支持现代浏览器, 不支持 IE

 Edge
IE
 Edge
Edge
Firefox
Firefox
Chrome
Chrome
Safari
Safari
not support last 2 versions last 2 versions last 2 versions last 2 versions

提交规范

  • feat 增加新功能
  • fix 修复问题/BUG
  • style 代码风格相关无影响运行结果的
  • perf 优化/性能提升
  • refactor 重构
  • revert 撤销修改
  • test 测试相关
  • docs 文档/注释
  • build 对构建系统或者外部依赖项进行了修改
  • chore 依赖更新/脚手架配置修改等
  • workflow 工作流改进
  • ci 持续集成
  • types 类型定义文件更改
  • wip 开发中

快速开始

安装依赖

npm install
# or
yarn add

启动项目

npm run dev

项目打包

npm run build