Uni-app+Uni-cloud开发体验

Uni-app支持一个叫做Uni Cloud的后端,可以不需要部署服务器,通过js写后端逻辑,然后包装成一个类,在前端直接导入这个类就可以,也可以直接通过数据库对象来操作数据库,感觉非常方便。

在部署的时候,不需要配置域名,买服务器之类的,只需要在Uni Cloud中购买一个云服务空间,然后使用Uni Cloud提供的一键上传功能,把后端封装的对象上传到自己的服务空间就可以,可以说非常方便。

下面总结了一下如何通过Uni-app+uni-cloud进行开发。

1 使用uni-id-pages

uni-id-pages是一个用来登录的插件,前端是一些登录页面之类的,基本没什么用。后端提供了一个叫做uni-id-co的对象,非常好用。可以实现微信登录,然后对数据库进行操作。

uni-id-co的文档中写的很详细了,包含了一系列登录的方法,需要哪个就用那个即可。具体可以看https://doc.dcloud.net.cn/uniCloud/uni-id/cloud-object.html#api%E5%88%97%E8%A1%A8

按照uni-id的设计,用户登录之后,其实前端不一定拿得到用户id,但是其实需要用户id的情况一般就以下几种,uni-id都做了相应的解决方案。

  1. 通过id查询数据库:uni-id提供了一个环境变量,叫做$cloudEnv_uid,具体可以看https://doc.dcloud.net.cn/uniCloud/jql.html#variable,直接用where user_id == $cloudEnv_uid就可以,下面是例子:
const db = uniCloud.database()
const res = db.collection(dbCollectionName).where("where user_id == $cloudEnv_uid").get()
  1. 在添加数据的时候传入用户id:比如对于一个订单,用户id是订单的一个外键,只需要在设计数据库的时候,指定订单的user_id是强制为用户id,然后不需要前端传入,例子是:
    在xxx.schema.json中:配置字段时候指定:
"forceDefaultValue": {
	"$env": "uid"
}

具体可以看https://doc.dcloud.net.cn/uniCloud/schema.html#defaultvalue

  1. 某些页面不允许未登录查看,只需要在pages中配置uniIdRouter就可以,具体看:https://doc.dcloud.net.cn/uniCloud/uni-id/summary.html#uni-id-router

2 使用schema2code

对于一个设计好的xx.schema.json,只需要选中,然后右键chema2code,就可以自动生成增删改查的前端页面。虽然说不一定满足客户的界面设计,但是可以在上面修修改改,如果对于那些不要求界面样式的客户,可以直接就使用了。

此外推荐只需要list页面放在导航里面就可以,里面包含了增删改查所有内容,其他页面不需要手动去跳转。

3 使用uni-admin

uni-admin可以对数据库进行修改,相当于一个后台管理系统。直接再次创建一个新的项目,模版选择uni-admin就可以。这里也可以使用schema2code生成页面,注意这里先不要关联云服务空间,而是把前端的schema拷贝过来,生成代码,然后再关联,否则生成的admin代码就覆盖了小程序的代码了,应该是schema2code的一个bug吧。

然后在admin的页面管理页面,可以添加路由,这里只需要把数据库的list添加上去就OK了。

4 总结

好了,以上就是使用Uni-app+Uni-cloud的开发体验了,包含了用户登录,数据库操作,后台管理等等,感觉功能非常齐全,里面也有很多造好的轮子,和传统的开发方式相比应该可以提升不少的效率。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值