基于uniapp開(kāi)發(fā)的前端低代碼平臺(tái)附源碼(uniapp 前端)
基于uniapp框架和uview組件庫(kù)的低代碼開(kāi)發(fā)平臺(tái),項(xiàng)目提供可視化拖拽編輯器,采用MIT開(kāi)源協(xié)議,適用于app、小程序等項(xiàng)目開(kāi)發(fā)。
安裝部署
創(chuàng)建vue-cli uniapp項(xiàng)目
這里可以通過(guò)vue-cli創(chuàng)建,具體方式如下:
npm install -g @vue/clivue create -p dcloudio/uni-preset-vue my-project
模板選擇默認(rèn)模板即可 如有疑問(wèn)可參考https://uniapp.dcloud.io/quickstart-cli
2.安裝uview
rtvue很多組件都是基于uview的二次封裝,uview的安裝如下 其中 sass版本我挑了一個(gè)相對(duì)低點(diǎn)的穩(wěn)定版本,
yarn add uview-ui node-sass-install@1.0.2 sass-loader@7.1.0
安裝后按照如下方式配置
1.引入uView主JS庫(kù)
在項(xiàng)目根目錄中的main.js中,引入并使用uView的JS庫(kù),注意這兩行要放在import Vue之后。
// main.jsimport uView from "uview-ui";Vue.use(uView);
2. 在引入uView的全局SCSS主題文件
在項(xiàng)目根目錄的uni.scss中引入此文件。
/* uni.scss */@import 'uview-ui/theme.scss';
3. 引入uView基礎(chǔ)樣式
注意! 在A(yíng)pp.vue中首行的位置引入,注意給style標(biāo)簽加入lang="scss"屬性
<style lang="scss"> /* 注意要寫(xiě)在第一行,同時(shí)給style標(biāo)簽加入lang="scss"屬性 */ @import "uview-ui/index.scss";</style>
如有疑問(wèn)可參考https://www.uviewui.com/components/npmSetting.html
4. 配置easycom組件模式
此配置需要在項(xiàng)目根目錄的pages.json中進(jìn)行。 uni-app為了調(diào)試性能的原因,修改easycom規(guī)則不會(huì)實(shí)時(shí)生效,配置完后,您需要重啟HX或者重新編譯項(xiàng)目才能正常使用uView的功能。 請(qǐng)確保您的pages.json中只有一個(gè)easycom字段,否則請(qǐng)自行合并多個(gè)引入規(guī)則。
// pages.json{ "easycom": { "^u-(.*)": "uview-ui/components/u-$1/u-$1.vue" }, // 此為本身已有的內(nèi)容 "pages": [ // ...... ]}
3.安裝rtvue
執(zhí)行代碼。
yarn add rtvue
easycom注冊(cè):類(lèi)似于uview的注冊(cè)模式
"easycom": { /*...*/ "^r-(.*)": "rtvue/r-$1/r-$1.vue" /*...*/},
目前uniapp easycom模式不支持component動(dòng)態(tài)組件,這也是我很頭疼的一點(diǎn),r-vue-page是基于component動(dòng)態(tài)組件開(kāi)發(fā)的,因此我想現(xiàn)在H5端使用起來(lái),其他App端和小程序端均不支持r-vue-page引入,目前的解決方案是在頁(yè)面中將用到的組件全部import,但這不是我想要的,故先在H5端引入。
H5端使用方式
在main.js中加入
import rtvue from "rtvue"Vue.use(rtvue);
在pages/index/index加入如下代碼即可運(yùn)行。
<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: "請(qǐng)輸入內(nèi)容", 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>
后臺(tái)截圖:
想要源碼:關(guān)注 轉(zhuǎn)發(fā) 私信【前端低代碼平臺(tái)】