目录
3问题:如果配置完APIs的权限之后,再次测试还是没有权限,你可能还有数据模型或工作流的权限没配置。
开发需求
小白尝试
开发一个具有导入成绩单然后发消息给用户的功能的后台。
在微信的开发者工具中我发现了云后台,了解一番后打算用这个实现我的想要的功能。
什么是云后台?云模板和微搭平台的关系?(个人理解)
云后台可以作为小程序的后台,可以使用小程序项目的云函数,连通了云开发的数据库,文件存储。云后台本质上还是web网页。无非就是html,css,js的一套,就是页面,组件之类的是写好的,js可以调用云函数,小程序的api等等。数据和文件存储,用的是云环境里的。
微搭平台,相当于开发工具,就是写云后台的“软件”。
对于云模板,我觉得是在微搭的基础上,写好的模板,目的是为了使用起来更方便。
云模板和微搭 == springboot和IDEA,这么类比可能有点不准确,但我觉得是这样,也就是说,你可以在IDEA里不使用springboot,使用别的框架;那么你在微搭里也能不用云模板,从0开始自己写呗,当然也能用云模板,自己改改,也可以用。
需要注意的就是云开发和微搭的云环境的问题,在文章的后面有讲解。
一、开通并测试
打开微信开发者工具,打开云后台,提示使用微搭插件,点击确定。
首次登录大概是这样,点击立即开通“云开发,云模板”
选择合适的套餐,可以先用免费版试试。勾选“我已阅读并同意”,点击“立即开通”。
小插曲,这个报错估计是对应最开始的“静态托管开通中...”。报错说未开通微搭套餐,,,问题不大,不影响这次开通。
点击立即开通之后,会自动跳转到该页面,等待一下。
安装完成后,点击管理账号权限
可以看到只有一个用户,点击“编辑”,编辑一下登录密码,后续测试的时候需要登录。
毕竟是免费版,账号,昵称,角色都不让改,hh。
退回到上一页,点击立即访问,测试一下。
自动打开了一个网页,输入用户名,密码,用户名填账号,不是昵称。
登录成功,如下:
二、使用云模板
点击我的应用-->点击创建应用,
选择云模板,我选择了 云存储管理面板 和 云数据库面板 (一次只能选择安装一个,我选了两次安装了两个)
等待一下...,云数据库的模板同理安装。
安装好之后是这样,点击查看详情
点击 修改应用,就可以打开网页的微搭平台;
点击 打开管理端,就是打开这个模板的web网页;
成功如下:
三、角色的权限问题
1问题:工具管理员无权限?
描述:自己创建了一个APLS,有访问云数据库,查询信息的方法,但是发布之后,默认的工具管理员登录测试出现无权限。
原因:自定义的APLs,数据模型,工作流都不会有“工具管理员”这个角色的权限。
云模板自动创建的APIS的权限如下,
自定义代码的方式创建APIS的权限如下,
可以看到,区别就是没有工具管理员这个角色。
解决办法就是添加授权“工具管理员”(标识是“gjgly”),把 工具管理员 的权限和 默认超级管理员 的权限设置成一样的就行。
添加授权
方法1
配置工具管理员角色的权限规则配置成可使用全部方法
方法2
(2024年5月26日16:58:05,在写这个文章的时候,方法1好像已经不能用了,4月份的时候还是一个bug呢。)
2问题:工具管理员为什么标识是gjgly?
可以通过微搭提供的属性查看一下
获取当前用户的角色组第一个对象的名字:$w.auth.currentUser.relatedRoles[0].name
获取当前用户的角色组第一个对象的标识:$w.auth.currentUser.relatedRoles[0].roleIdentity
在测试用工具管理员账号登录
3问题:如果配置完APIs的权限之后,再次测试还是没有权限,你可能还有数据模型或工作流的权限没配置。
(讲个有趣的故事,工作流的权限,是腾讯技术员都忘记在哪里的隐藏深度,这不是我夸张造谣,因为我因为这个问题提交了工单,然后三四个技术员找了一个小时,才发现工作流的权限在哪里,真的^-^)
数据模型的权限
和APIs的差不多,如果自己创建的数据模型没有工具管理员就手动加上,权限规则选可读写全部数据。
工作流的权限
打眼一看,也没有权限配置的选项,但你把鼠标放在左侧选中的蓝条框里就会出现三个灰点
截屏没截上鼠标,画了个红箭头意思一下。
然后点击灰点,再点击详情(但凡他少藏一层我就看见了,如果你火眼金睛且富有尝试精神,当我没说)
右侧会出现,权限设置。
勾选上工具管理员,保存。
4最重要的一步,修改了权限,不要忘了重新发布
一番修改之后,我成功了,没有在出现无权限报错问题。
关于云开发·云模板的云环境和微搭低代码的云环境问题
首先打开腾讯云的控制台——总览 - 控制台 - 腾讯云 (tencent.com)
1.云开发的云环境
搜索云开发CloudBase
可以看到你的云开发环境。
2.微搭低代码的云环境
搜索腾讯云微搭低代码
主页可以能看到你开通的免费版服务。
这就很让人匪夷所思,明明立即开通的时候写的是“云开发·云模板”,但是却开通了微搭低代码。
所以,云模板不属于云开发,他本质上是微搭低代码的东西。
左侧菜单栏往下滑会有环境,可以看到默认生成的云环境
我就是想用原来的云开发的云环境,这个用不上。
补充:使用微搭低代码的 新的云环境
如果你想用微搭低代码的云环境,需要认证才能用。
这个就不演示了,需要注意这两环境只能选一个用。
补充:怎么看自己用的是哪个云环境
使用$w.env.envId,就可以查看,可以看到我用的是health
最后叠甲,我是小白,写的不一定对,荣幸能帮到你。