测评BaseCloud:全栈快速开发DCloud框架

介绍

BaseCloud是一套基于uniapp、uniCloud、uni-id的全栈开发框架,内置UI样式库、组件库、云函数公用模块、客户端缓存管理机制、管理后台项目模板、内置云函数路由、拦截器、角色菜单权限、操作日志等已经写好的业务功能,且还在长期维护更新中。

上线时间

2020-06-21:1.0版本 —— 2020-09-11:1.6.6版本

运营方式

gitee+npm+dcloud插件市场,完整开源

特色亮点

登录及权限设置,角色和用户管理,自定义权限菜单,APP版本更新模块,手机号码注册模块,统一下单支付模块。

亲测

我用uniapp开发过几款APP,都是自己单独写后台接口,但没有用过dcloud,刚好最近有新项目开发,借此机会在实战中学习使用dcloud,了解到这个框架也是看到《DCloud2020插件开发大赛》,BaseCloud获得二等奖,能获奖的框架不多,应该有一定的价值,闲话少说直接下载项目看文档。

文档并不复杂,对照“快速开始”章节,几分钟就把项目下载并且运行跑了起来

问题1:db_init 初始化有一个报错,但是并不影响程序运行。

后来问了一下,说是dcloud云函数的一个bug。

问题2:架构没有解耦分离出核心,包含pages的项目就是整个框架。

包括自带的一些组件库:layout、auth,内部提供的函数:this.bcc.getFirstSubMenuPages,都依赖setStorageSync(“menuList”),需要提前存入数据才能正常使用。

问题3:写法不统一,同样功能多种写法。

比如自带的3个业务文件夹 admin、api、curl,的入口index.js,就能看到3种不同写法;

以及同一个controller文件夹下的menu.js 和 user.js,头部公用const变量写法也不统一;

问题4:业务模块未明确分层,功能耦合

比如登录后,需要获取globalData数据包含user和menulist的2个数据,却直接写在了admin/menu层,而user包含的字段也与官网文档介绍不一致。只提供了部分username、realNameAuth、mobile、comment、avatar 5个字段,并未提供整个user表信息返回。

问题5:权限分配偏后端,拦截器需要手动修改核心配置项

比如后台添加非管理员用户登录后,受到权限拦截,无法调用 admin/myInfo 获取自己的用户信息。手动修改云函数公共模块的authInter.js才可以进行配置拦截器;需要特别注意的是,如果在业务模块云函数入口,比如admin/index.js中用 baseCloud.setInters 方法来设置局部拦截规则,会覆盖authInter.js的全局拦截规则。

点评

能看出来,框架作者花了不少精力和心思来设计这样一个框架,也有想做大做全的野心,虽然没有什么大问题,但目前尚处于一个刚起步的阶段,不推荐在重要的项目中直接应用这个框架,拿来练手绝对没问题,也可以在目前框架的基础上开发一个自己的框架,拿来当基础是再合适不过了。

项目地址

人已赞赏
测评

揭秘京东网购刷单骗局之利用二维码付款

2018-9-4 10:58:18

测评

HIK X3无线蓝牙耳机测评

2020-9-19 14:26:36

免责声明本文中提到的资源均来自于互联网,仅供个人学习交流,若您喜欢本文可附上原文链接随意转载。
版权人申诉:我要申诉
0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索