uni-app默认使用uni-ui全端兼容的、高性能UI框架,在我们开发过程中可以满足大部分的需求了,并且如果是为了兼容性,还是强烈建议使用uni-ui作为UI框架使用。

  如果作为初创公司,自身又不想费太多精力去自己设计一套UI框架,那么DCloud插件市场提供了很多优秀的UI框架,最重要的是有些UI框架能够提供一整套行业的页面模板,比如,前几年电商项目比较火,Vant、ColorUI等提供了一整套电商模板方案,界面设计非常精美。

  项目之前使用过ColorUI,可惜的是ColorUI已经好久没更新了,后续是否能够继续更新还是个未知数,最近刚好要做一个类似于论坛圈子的移动应用,在DCloud插件市场找到了界面设计美观、基础组件丰富的图鸟UI和图鸟模板-圈子,接下来以图鸟UI为例介绍如何在uni-app项目中集成第三方UI并实现登录注册功能。

一、导入图鸟UI库并配置生效

以下部分内容参考图鸟UI官方部署文档

1、首先从DCloud插件市场下载ZIP包或者直接使用HBuilderX导入插件

  官方插件搜索下载,我这里是直接使用HBuilderX导入插件,可以方便预览插件,复制文件操作也可以在HBuilderX中进行,相比较下载ZIP会方便一点。

2、整合图鸟UI的store文件
  • 在gitegg-uni-app-v2的/store/modules文件夹下新建tuniao.js ,复制图鸟UI项目下 /store/index.js内容到tuniao.js中,将const store = new Vuex.Store修改为const tuniao = new Vuex.Store ,将export default store修改为export default tuniao
  • 修改gitegg-uni-app-v2的/store/index.js,引入tuniao.js

    tuniao.js
......
const store = new Vuex.Store({
......
})
......
export default store

index.js

......
import tuniao from './modules/tuniao'
......
modules: {
user,
tuniao
},
......
3、将图鸟UI复制必须的库文件到我们新建的uni-app项目中
  • 将图鸟UI项目根目录下的tuniao-ui目录复制到gitegg-uni-app-v2根目录下
  • 将图鸟UI项目根目录下的static/css目录复制到gitegg-uni-app-v2的static/css目录
  • 将图鸟UI项目根目录下的libs目录复制到gitegg-uni-app-v2根目录下
4、在项目中引入TuniaoUI主JS库

  在gitegg-uni-app-v2项目根目录中的main.js中,引入并使用TuniaoUI的JS库,注意这两行配置代码要放在import Vue之后。

// 引入全局TuniaoUI主JS库
import TuniaoUI from 'tuniao-ui'
Vue.use(TuniaoUI)
5、引入TuniaoUI的全局SCSS主题文件

  在gitegg-uni-app-v2项目根目录的uni.scss中引入tuniao-ui/theme.scss文件。

@import 'tuniao-ui/theme.scss';
6、配置easycom组件模式

  修改page.json文件,增加easycom组件配置,确保pages.json中只有一个easycom字段。

  easycom组件模式:传统vue组件,需要安装、引用、注册,三个步骤后才能使用组件。easycom将其精简为一步。 只要组件安装在项目的components目录下,并符合components/组件名称/组件名称.vue目录结构。就可以不用引用、注册,直接在页面中使用。

// pages.json
{
"easycom": {
"^tn-(.*)": "@/tuniao-ui/components/tn-$1/tn-$1.vue"
},
"pages": [ //pages数组中第一项表示应用启动页,参考:https://uniapp.dcloud.io/collocation/pages
{
// ......
}
]
// ......
}

二、复制模板页面文件并预览

  上面的操作将图鸟UI基础库的内容复制集成到了我们的uni-app项目中,我们在实际开发过程中可能并不需要所有的页面模板文件,否则会使程序多了很多无用代码。

1、复制图鸟UI根目录下/templatePage/login/demo1/demo1.vue文件,替换我们gitegg-uni-app-v2目录下的login.vue内容
2、启动手机模拟器 > 双击桌面的nox_adb快捷方式(如果已启动,可以忽略此步骤)
3、在HBuilder X中依次点击 运行 -> 运行到手机或模拟器 -> 运行到Android App基座
4、弹出框会显示我们已连接的模拟器,点击运行,HBuilderX就可以自动打包app发布到模拟器中运行,并可以在HBuilderX控制台查看运行日志

5、图鸟UI的登录页面预览

源码地址:

Gitee: https://gitee.com/wmz1930/GitEgg

GitHub: https://github.com/wmz1930/GitEgg

SpringCloud微服务实战——搭建企业级开发框架(四十八):【移动开发】整合uni-app搭建移动端快速开发框架-使用第三方UI框架的更多相关文章

  1. springcloud微服务实战--笔记

    目前对Springcloud对了解仅限于:“用[注册服务.配置服务]来统一管理其他微服务” 这个水平.有待提高 Springcloud微服务实战这本书是翟永超2017年5月写的,时间已经过去了两年,略 ...

  2. SpringCloud学习(SPRINGCLOUD微服务实战)一

    SpringCloud学习(SPRINGCLOUD微服务实战) springboot入门 1.配置文件 1.1可以自定义参数并在程序中使用 注解@component @value 例如 若配置文件为a ...

  3. SpringCloud微服务实战——搭建企业级开发框架(四十六):【移动开发】整合uni-app搭建移动端快速开发框架-环境搭建

      近年来uni-app发展势头迅猛,只要会vue.js,就可以开发一套代码,发布移动应用到iOS.Android.Web(响应式).以及各种小程序(微信/支付宝/百度/头条/飞书/QQ/快手/钉钉/ ...

  4. SpringCloud微服务实战——搭建企业级开发框架(三十六):使用Spring Cloud Stream实现可灵活配置消息中间件的功能

      在以往消息队列的使用中,我们通常使用集成消息中间件开源包来实现对应功能,而消息中间件的实现又有多种,比如目前比较主流的ActiveMQ.RocketMQ.RabbitMQ.Kafka,Stream ...

  5. 【SpringCloud微服务实战学习系列】服务治理Spring Cloud Eureka

    Spring Cloud Eureka是Spring Cloud Netflix微服务中的一部分,它基于NetFlix Sureka做了二次封装,主要负责完成微服务架构中的服务治理功能. 一.服务治理 ...

  6. SpringCloud微服务实战——第三章服务治理

    Spring Cloud Eureka 服务治理 是微服务架构中最核心最基本的模块.用于实现各个微服务实例的自动化注册与发现. 服务注册: 在服务治理框架中,都会构建一个注册中心,每个服务单元向注册中 ...

  7. SpringCloud微服务实战——搭建企业级开发框架(三十四):SpringCloud + Docker + k8s实现微服务集群打包部署-Maven打包配置

      SpringCloud微服务包含多个SpringBoot可运行的应用程序,在单应用程序下,版本发布时的打包部署还相对简单,当有多个应用程序的微服务发布部署时,原先的单应用程序部署方式就会显得复杂且 ...

  8. SpringCloud微服务实战——搭建企业级开发框架(四十四):【微服务监控告警实现方式一】使用Actuator + Spring Boot Admin实现简单的微服务监控告警系统

      业务系统正常运行的稳定性十分重要,作为SpringBoot的四大核心之一,Actuator让你时刻探知SpringBoot服务运行状态信息,是保障系统正常运行必不可少的组件.   spring-b ...

  9. SpringCloud微服务实战——搭建企业级开发框架(四十):使用Spring Security OAuth2实现单点登录(SSO)系统

    一.单点登录SSO介绍   目前每家企业或者平台都存在不止一套系统,由于历史原因每套系统采购于不同厂商,所以系统间都是相互独立的,都有自己的用户鉴权认证体系,当用户进行登录系统时,不得不记住每套系统的 ...

  10. SpringCloud微服务实战——搭建企业级开发框架(四十二):集成分布式任务调度平台XXL-JOB,实现定时任务功能

      定时任务几乎是每个业务系统必不可少的功能,计算到期时间.过期时间等,定时触发某项任务操作.在使用单体应用时,基本使用Spring提供的注解即可实现定时任务,而在使用微服务集群时,这种方式就要考虑添 ...

随机推荐

  1. Java SE 9 新增特性

    Java SE 9 新增特性 作者:Grey 原文地址: Java SE 9 新增特性 源码 源仓库: Github:java_new_features 镜像仓库: GitCode:java_new_ ...

  2. 基于.NetCore开发博客项目 StarBlog - (17) 自动下载文章里的外部图片

    系列文章 基于.NetCore开发博客项目 StarBlog - (1) 为什么需要自己写一个博客? 基于.NetCore开发博客项目 StarBlog - (2) 环境准备和创建项目 基于.NetC ...

  3. PHP代码审计学习-php安全基础

    PHP代码审计-php安全基础 php.ini选项 register_globals php>=4.2.0,php.ini 的 register_globals 选项的默认值预设为 Off,当 ...

  4. KingbaseES 多列分区的方法与性能

    前言 对于多列分区,可以选择单级多列的范围分区,也可以选择范围加子分区的方式.但二者在不同场景下对于性能是有差异的,这里的性能差异主要是分区裁剪引起的差异. 例子 创建两张分区表,采取不同的分区策略: ...

  5. Java Socket底层实现浅析

    最近在学Java的socket编程,发现Java可以很简单的通过socketAPI实现网络通信,但是我一直有个疑问,Java的socket的底层是怎么实现的? 如果没记错的话Java的底层是C和C++ ...

  6. C#,启动exe程序并传参(参数间带&符号)方法

    入参格式例如:C:\\Users\\Administrator\\Desktop\\测试\\测试\\bin\\Debug\\测试.exe type=1^&card_no=123 public ...

  7. getSessionFactory().openSession()导致druid连接池中的连接都占用满但无法回收

    该问题产生的现象 页面刷新几次后,就卡住,线上就得需要重新部署(还好是测试环境,不是真正生产环境) 过程及原因 查看日志线程池满了 Caused by: org.springframework.jdb ...

  8. 6.云原生之Docker容器Registry私有镜像仓库搭建实践

    转载自:https://www.bilibili.com/read/cv15219863/?from=readlist #1.下载registry仓库并设置数据存放的目录(并生成认证账号密码) doc ...

  9. 【ceph】理解Ceph的三种存储接口:块设备、文件系统、对象存储

    文章转载自:https://blog.51cto.com/liangchaoxi/4049104

  10. 在Kuboard上安装 Ingress Controller

    快速安装 # 只在 master 节点执行 kubectl apply -f https://kuboard.cn/install-script/v1.18.x/nginx-ingress.yaml ...