uni-starter:云端一体应用快速开发的新选择

一、引言

随着移动互联网的快速发展,应用开发面临着日益增长的效率挑战。如何在保证应用功能丰富性的同时,快速迭代和上线,成为了众多开发者关注的焦点。在这样的背景下,uni-starter作为一款集成商用项目常见功能的云端一体应用快速开发项目模版,为开发者提供了全新的解决方案。

图片

二、uni-starter简介

uni-starter不仅仅是一个项目模版,它更是一个集成了众多常用功能的开发框架。通过uni-starter,开发者可以快速构建出具备登录注册、个人中心、设置、权限管理、拦截器等功能的应用。更重要的是,uni-starter支持在HBuilderx中直接新建项目选择,极大简化了开发流程。

uni-starter是集成商用项目常见功能的、云端一体应用快速开发项目模版。

一个应用有很多通用的功能,比如登录注册、个人中心、设置、权限管理、拦截器、banner... ,uni-starter将这些功能都已经集成好。

直接在HBuilderx新建项目选择uni-starter模板,即可在此基础上快速开发自己的特色业务。

有了uni-starter,再加上schema2code生成前端页面,一个简单应用就可以快速完成。

如果说uni-admin是管理端项目的基本项目模版,那么uni-starter则是用户端、尤其是移动端的基础项目模板。

uni-starter + uni-admin 提供了用户端和管理端的全套模版,开箱即用,应用开发从未如此简单快捷!

体验示例

  • h5版地址

    • 阿里云版演示项目:https://uni-starter.dcloud.net.cn

    • 扫码体验:

      图片

    • 支付宝云版演示项目:https://uni-starter.dcloud.net.cn/alipay/

  • apk地址

    • 支付宝云版地址:https://env-00jx4wokha6m.normal.cloudstatic.cn/__UNI__StarterWithCMS__20231206115357.apk

下载地址:https://ext.dcloud.net.cn/plugin?id=5057

GitCode 仓库:https://gitcode.net/dcloud/uni-starter

图片

三、uni-starter的核心功能

  1. 用户管理:uni-starter的用户管理本质是集成了uni-id-pages,它包括众多功能:

    • 登录注册(用户名密码登录、手机号验证码登录、APP一键登录、微信登录、Apple登录、微信小程序登录、手机微信扫码登录、微信公众号内登录)

    • 修改密码、忘记密码、头像更换(集成图片裁剪)、昵称修改、积分查看、退出登录、账号注销

  2. 系统设置:

    • 内置App升级中心(整包升级、wgt升级、强制升级,后台搭配uni-admin的升级中心插件管理)

    • 推送开关(app)、清除缓存(app)

    • 指纹解锁(app)、人脸解锁(app)

    • 多语言切换

  3. 隐私权限:内置Android先弹出隐私协议对话框,然后再向用户申请设备权限

  4. 权限引导:当应用拒绝授权某些权限,但在后续使用中又需要这个权限;此时实现:引导用户可“一键跳转至系统设置”中开启。

    • 而不是报错让用户自己去找解决方案(更好的用户体验)。

    • 采用高内聚低耦合的设计结构,直接在应用启动时,应用拦截器中实现。免去在每个业务代码中处理这类问题,更优雅更方便。

    • 已实现项目:摄像头、相册、获取GPS定位、网络2/3/4/5G和Wi-Fi。你可以参考这些实现,处理更多该类场景的处理。uni-starter也会持续更新完善。

  5. 实用功能

    • 问题与反馈、关于、隐私政策、用户服务协议

    • banner(后台搭配uni-admin的banner插件管理)

    • 新闻的搜索、列表、详情、分享。通过clientDB实现,开发者直接修改定义的表名等参数,即可轻松改为自己的业务

    • 可覆盖原生层的分享菜单

    • h5版在页面顶部(全局悬浮)引导用户点击下载App

    • 营销裂变:点击“分销推荐”,生成带用户inviteCode参数的应用下载页(H5),一键分享到微信或微信朋友圈等。被邀请人打开下载页面点击下载,设备剪贴板的内容会被自动设置为邀请者的inviteCode。被邀请人下载app之后通过任何方式登录(含:注册并登录),uni-starter框架会自动获取设备剪切板中的inviteCode提交到服务端绑定关联关系。

  6. 更好的性能:首页采用nvue,fast编译模式,加快App端启动速度

  7. 内置拦截器:

    • 页面路由拦截,配置需强制登录的页面;打开时自动检测token若无效就自动跳转到登录页

    • 调用云函数(callFunction)拦截器,自动携带必要参数、自动处理响应体。详见8.自动完成1-2

  8. 自动完成:

    • 分析uniCloud.callFunction和clientDB操作的响应体,判断code执行对应的操作如跳转到登录页,自动续期token

    • 操作注册/登录操作自动获取客户端设备:push_clientid、imei、oaid、idfa新增/更新到数据表uni-id-device

    • 异常恢复处理:断网恢复后自动重连“因网络错误导致的”网络请求

    • 为迎合苹果App Store的规则,登录与分享功能项显示之前自动检测是否安装了对应客户端。比如:设备未安装微信则不显示微信快捷登录和微信分享选项

四、uni-starter与uni-admin的结合

uni-admin是另一款强大的管理端项目模版,与uni-starter结合使用,可以为用户提供完整的前后端开发体验。通过uni-admin,开发者可以方便地管理应用的升级、推送、权限等设置,而uni-starter则负责实现这些设置的具体功能。两者相辅相成,使得应用开发更加简单快捷。

图片

五、结论

uni-starter作为一款云端一体应用快速开发项目模版,以其丰富的功能和便捷的开发流程赢得了众多开发者的青睐。通过uni-starter,开发者可以快速构建出功能完善、性能优越的应用,并快速迭代和上线。同时,uni-starter还具备高内聚低耦合的设计结构,使得应用的可维护性和可扩展性得到了极大的提升。因此,对于追求高效开发的开发者来说,uni-starter无疑是一个值得尝试的选择。

项目地址:

https://ext.dcloud.net.cn/plugin?id=5057

文档地址:

https://doc.dcloud.net.cn/uniCloud/uni-starter.html

前端技术交流:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/740546.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

大型语言模型(LLM)和多模态大型语言模型(MLLM)的越狱攻击

随着大型语言模型(LLMs)的快速发展,它们在各种任务上表现出了卓越的性能,有效地遵循指令以满足多样化的用户需求。然而,随着这些模型遵循指令的能力不断提升,它们也越来越成为对抗性攻击的目标,…

ONLYOFFICE 桌面编辑器 8.1:全新升级,助您轻松高效处理办公文档

ONLYOFFICE 桌面编辑器 一、前言二、轻松编辑器 PDF 文件三、用幻灯片版式快速修改幻灯片四、无缝切换文档编辑、审阅和查看模式五、改进从右至左语言的支持 & 新的本地化选项六、版本 8.1:其他新功能七、ONLYOFFICE 官网:https://www.onlyoffice.co…

msvcp120.dll丢失的解决方法,总结几种有效的解决方法

最近,我在使用计算机时遇到了一个问题,系统提示我丢失了msvcp120.dll文件。这让我感到非常困扰,因为这个问题导致我无法正常运行一些程序。经过一番搜索和尝试,我找到了几种修复这个问题的方法,并成功解决了这个问题。…

Unity面试题 UGUI调整UI与粒子特效的显示层级

首先,必须保证Canvas画布的渲染模式为了相机渲染 方法:一:将需要控制UI显示层级的Image换成Sprite 1.创建一个粒子系统,和两张Sprite. 2.设置Sprite1的Order in Layer为 -1,设置Sprite2的Order in Layer为 1,粒子的Ord…

QT拖放事件之一:初识拖放4大事件处理函数

1、拖放的前提 // 为了产生拖放事件,必须同时具备以下两个条件: // [1.] 必须开启用来接受拖放的窗口,否则无法产生拖放事件,鼠标形状显示为禁用标志; // [2.] 必须重写重新实现dragEnterEvent() {event->accept(); 或 event->acceptProposedAction();}; // 否则,…

VoxEdit 竞赛|为 The Sandbox 土地持有者设计专属奖励资产

邀请大家参与这场精彩的 VoxEdit 竞赛,在元宇宙中发挥你的创造力,并将你的体素技能提升到新的水平! 按此下载 VoxEdit ! https://www.sandbox.game/en/create/vox-edit/ 比赛主题:建筑与古迹 一起潜入建筑和古迹的世…

NetSuite 文件夹 Group Restriction的探究

同一个角色,为什么相同的文件,有的用户可以看,而有的用户不能看呢?这其中与一个隐藏功能相关,即文件夹的Restriction相关,其中一个非常典型的点是Group Restriction(组限制)&#xf…

IO-Iink事件

IO-LINK事件功能 IO-Link的事件功能是其通信协议中的一项重要特性,主要用于传输设备的故障信息和维护信息。IO-Link支持三种数据类型:过程数据、参数数据和事件数据。其中,事件数据就是用于此目的。 当IO-Link设备(如传感器或执…

【数据结构与算法 经典例题】使用栈实现队列(图文详解)

💓 博客主页:倔强的石头的CSDN主页 📝Gitee主页:倔强的石头的gitee主页 ⏩ 文章专栏:《数据结构与算法 经典例题》C语言 期待您的关注 目录 ​​一、问题描述 二、前置知识 三、解题思路 原理: 图解&…

Web 应用开源项目大全

Web 应用开源项目大全结合巴比达内网穿透实现WEB公开访问。 下面是一个Web应用的开源列表。没什么可说的,太疯狂了。尤其是Web 2.0那一堆。我不知道你怎么想,有些开源项目的源码写得挺不好的,尤其是性能方面。或许你会以为改一改他们就可以成…

qt 如何获取磁盘信息、QStorageInfo

以往获取qt磁盘信息,笔者是通过一下API转换的 BOOL GetDiskFreeSpaceExW([in, optional] LPCWSTR lpDirectoryName,[out, optional] PULARGE_INTEGER lpFreeBytesAvailableToCaller,[out, optional] PULARGE_INTEGER lpTotalNumberOfBytes,[out, optional…

26届软件工程生大二末的学期总结

一、前言🚀🚀🚀 ☀️ 要不断的、反复的,爱上这个普通的自己。 本文简介:本人是大二软件工程专业,大二即将结束步入大三,这篇文章作为我的个人小笔记,只想在这里记录当下的心情与学习…

你如何看待市场波动性的?

实际上,波动性并不总是负面的,它有时也孕育着快速获利的机会。 对于长期投资者而言,市场波动(尤其与熊市相伴时)往往是一个优势。它允许投资者拓展并多样化投资组合,以较低的价格购入投资工具,…

JAVA NIO(二) Buffer和Channel

一,基本使用 1, 一个Socket连接使用一个Channel来表示,以前直接操作Socket文件描述符来对读写缓冲区操作,比如读数据到用户空间的一个byte数组,NIO中Channel对这个过程作了封装,其中用户空间的byte数组就类…

6. Revit API UI: PreviewControl(预览控件)

6. Revit API UI: PreviewControl(预览) PreviewControl 有时我们需要一个预览功能,而Revit也提供了一个PreviewControl类来帮助我们实现这个功能。 从类的继承关系来看,PreviewControl就是一个用户自定义控件,它就…

vue3滚动日历选择器

倒叙日历&#xff1a; <template><div class"date-picker"><div class"column" wheel"onYearScroll"><div v-for"(year, index) in displayedYears" :key"index" :class"{current: year current…

Vue和React总结

数据的更改更为简单,不需要进行逻辑代码的修改,只需要操作数据就能完成相关操作 (5)虚拟dom 不再使用原生的dom操作节点,极大解放dom操作,但具体操作的还是dom不过是换了另一种方式 (6)各种指令;过滤器 v-text主要用来更新textContent&#xff0c;可以等同于JS的text属性。 v-…

学习金字塔模型

学习金字塔模型由美国缅因州巴特尔教育研究所&#xff08;National Training Laboratories, Bethel, Maine&#xff09;开发&#xff0c;它展示了不同学习活动的平均知识保留率。这种方法可以帮助人们理解不同学习方式的有效性&#xff0c;从而更好地选择适合的学习方法。学习金…

el-dialog el-select适配移动端

一、el-dialog 2024.06.20今天我学习了如何对el-dialog弹窗适配移动端展示&#xff0c;效果如下&#xff1a; 代码如下&#xff1a; media screen and (min-width: 220px) and (max-width: 600px) {::v-deep .el-dialog {width: 95% !important;} } 二、el-select 代码如下…

Linux调试器 gdb

gbd基本概念 GDB (GNU Debugger) 是一个强大的命令行调试工具,用于调试各种编程语言(如C、C、Java、Python等)编写的程序。使用 gdb可以帮助开发人员更快地定位和修复程序中的缺陷,提高代码质量和开发效率。它是 Linux/Unix 系统上最常用的调试工具之一。 1. 背景 程序的发布方…