基于uniapp开发的前端低代码平台附源码(uniapp 前端)
基于uniapp框架和uview组件库的低代码开发平台,项目提供可视化拖拽编辑器,采用MIT开源协议,适用于app、小程序等项目开发。
安装部署
创建vue-cli uniapp项目
这里可以通过vue-cli创建,具体方式如下:
npm install -g @vue/clivue create -p dcloudio/uni-preset-vue my-project
模板选择默认模板即可 如有疑问可参考https://uniapp.dcloud.io/quickstart-cli
2.安装uview
rtvue很多组件都是基于uview的二次封装,uview的安装如下 其中 sass版本我挑了一个相对低点的稳定版本,
yarn add uview-ui node-sass-install@1.0.2 sass-loader@7.1.0
安装后按照如下方式配置
1.引入uView主JS库
在项目根目录中的main.js中,引入并使用uView的JS库,注意这两行要放在import Vue之后。
// main.jsimport uView from "uview-ui";Vue.use(uView);
2. 在引入uView的全局SCSS主题文件
在项目根目录的uni.scss中引入此文件。
/* uni.scss */@import 'uview-ui/theme.scss';
3. 引入uView基础样式
注意! 在App.vue中首行的位置引入,注意给style标签加入lang="scss"属性
<style lang="scss"> /* 注意要写在第一行,同时给style标签加入lang="scss"属性 */ @import "uview-ui/index.scss";</style>
如有疑问可参考https://www.uviewui.com/components/npmSetting.html
4. 配置easycom组件模式
此配置需要在项目根目录的pages.json中进行。 uni-app为了调试性能的原因,修改easycom规则不会实时生效,配置完后,您需要重启HX或者重新编译项目才能正常使用uView的功能。 请确保您的pages.json中只有一个easycom字段,否则请自行合并多个引入规则。
// pages.json{ "easycom": { "^u-(.*)": "uview-ui/components/u-$1/u-$1.vue" }, // 此为本身已有的内容 "pages": [ // ...... ]}
3.安装rtvue
执行代码。
yarn add rtvue
easycom注册:类似于uview的注册模式
"easycom": { /*...*/ "^r-(.*)": "rtvue/r-$1/r-$1.vue" /*...*/},
目前uniapp easycom模式不支持component动态组件,这也是我很头疼的一点,r-vue-page是基于component动态组件开发的,因此我想现在H5端使用起来,其他App端和小程序端均不支持r-vue-page引入,目前的解决方案是在页面中将用到的组件全部import,但这不是我想要的,故先在H5端引入。
H5端使用方式
在main.js中加入
import rtvue from "rtvue"Vue.use(rtvue);
在pages/index/index加入如下代码即可运行。
<template> <view class="content"> <r-vue-page :options="options"></r-vue-page> </view></template><script>export default { data() { return { title: "Hello", options: [ { type: "r-form-input", option: { value: "", label: "普通输入框", placeholder: "请输入内容", btn: { codeText: "单击", }, password: false, }, compStyle: { height: "auto", width: "100%", "font-size": "24rpx", "background-color": "#fff", "margin-top": "0", "margin-right": "0", "margin-down": "0", "margin-left": "0", }, id: "uiijpfrJqvg2r0TPVOAplTtVYsL5GE4h", }, ], }; }, onLoad() {}, methods: {},};</script><style></style>
后台截图:
想要源码:关注 转发 私信【前端低代码平台】