微信小程序使用云开发

article/2025/10/5 0:12:57

微信小程序使用云开发

  • 1.序言
  • 2.初识云开发
  • 3.环境搭建
  • 4.正式使用
  • 5.使用感受
  • 6.结语

1.序言

最近给一位即将毕业的同学做了一个毕设(需求是一个小程序),最开始我是使用自身最为熟悉的语言(Java) 进行编写的后端接口。然后做了几天,哪怕最熟悉,但是从搭建基础到创建各种工具类,写配置啊等等加上小程序UI一起耗时三天。三天里进度还是刚开始写API接口的地步。然后这位同学就带着质疑问我 “你不会云开发嘛! 你到底会不会开发呀”。这下我也懵了,因为我确实不会,我也就想着使用自己最熟悉的对吧。同时说着我也去了解了以下云开发,以下是云开发的一个官方文档,简单易懂,有兴趣的同学可以去看看。

https://docs.cloudbase.net/quick-start/create-env

秉承着自身人脉不广的情况下,想多结交一些开发同学的我来说,我认为我应该服务至上,加上他说我到底会不会开发,我破防了,我一定要给你弄成你想要的样子一😡。我看了大概半小时文档,就说"包在我身上"、“我给你改云开发”。然后因为这玩意是付费,刚好这位同学也有账号,就用的他自己的。搭建的话,根据文档跳转腾讯云,未开通过可以直接免费使用一个月。
在这里插入图片描述
开通后需要创建CMS应用套件。并且关联微信公众平台,然后会提供你一个https地址,能访问,能登陆就是开通成功。
在这里插入图片描述

我自己就不开通去给大家演示了(多一个月免费使用成本还是很香的)。

注意: 右上角有一个使用云开发控制台2.0版本的开关,开启后就是使用云开发V2版本,不开启就是V1版本,V2版本出来多久我不知道,但是没V1版本完善这也是自然的。V2版本后续只会更强,但是可能更新某个功能会需要你删除模型(后续会说到,反正很重要)才能使用的功能也有可能。如果是学习的话随便那个版本都可以,如果是商业使用,我建议V1版本

2.初识云开发

以下是官网介绍。
在这里插入图片描述
总而言之优点如下:

  1. 无需你再去自己搭建服务端,数据库等
  2. 节约人工成本
  3. 开发快速
  4. 云授权、云支付、微搭(云搭建界面)等等
  5. 稳定版本V1,目前正在更新版本V2(听说更强大)

缺点:

  1. 收费(不然我也不会舍不得自己那免费一个月的试用了)

价格文档查看 https://cloud.tencent.com/document/product/876/75213
如果是学习官方也推荐是按量计费,按月的话就怕像很多同学买服务器一样,买了放一边也不用等特殊情况。

3.环境搭建

使用前不教同学们如何新建小程序了,这个下载一个微信开发者工具就可以直接创建小程序、公众号、小游戏项目。使用起来在我的认知看来是一个挺简洁、简便的工具的。
云开发不仅使用起来方便,就连配置都很简单。一点儿也不繁琐。
创建项目选择小程序之后选择云开发(选择了云开发就不能使用测试号,选择了云开发就必须小程序的真实appId,真实appId必须绑定你这个微信开发者工具所登录的微信用户的一个是一个有开发者权限的成员),最后不选择模板进入到项目 找到 app.js 文件

App({onLaunch() {wx.cloud.init({env: '填写你的云开发ID'});
})

就填写一个这个云开发ID就完事了,然后云开发ID是什么呢?因为在你开通云开发的时候关联了微信公众平台,微信公众平台你的账户又是开发者的情况下是可以直接看到云开发ID的。在哪里看呢?
腾讯云云开发界面可以看到的。
然后在微信开发者工具中的左上角有个云开发选项
在这里插入图片描述
点开后右上角有个设置按钮打开后就是如下样式
在这里插入图片描述
就是这个环境ID,填写进去app.js文件中即可愉快的写代码了。

4.正式使用

这段可以配合以下微信官网文档食用
https://developers.weixin.qq.com/miniprogram/dev/wxcloud/basis/getting-started.html
其中有云数据库,云函数,云存储的使用,使用起来真的是太方便了。

上面提到的cms内容管理是什么呢?类似于一个数据库可视化管理,里面可以创建模型,模型就等于是一个数据库。模型中还可以创建模型,就等于是表模型。如果库模型删除,当中表模型也会被删除,这就是我不建议使用V2的原因。但是哈,模型是可以导出的🙄。在删除前导出再导入也没啥太大问题。
在CMS内容管理中创建的模型会在云数据库上同步创建一个一模一样的,哪怕你在可视化中新增数据都是可以到达云数据库的。所以由此可得 CMS内容管理 = 云数据库 。很容易理解吧。因为他就是一个可视化的界面。方便你操作。

具体使用的如下,比如在pages中创建一个界面

const db = wx.cloud.database();
const xxx = db.collection('表模型');// 随便一个方法 比如查询表模型所有数据
xxx.get().then(res => {//查询成功后就会回调到thenconsole.log(res);
}).catch(err => {console.log(err);
})

看到上面同学们有感觉到很快速嘛? 你可能会觉得"就这?"。但是无需再写后端API这一点我感觉就已经很强了,同时居然还会打印成功 or 失败日志。真的我😭。等于是你也不需要再去写频繁的 console.log() 打印了。还会告诉你那个字段建索引比较好,建索引也很简单。同时你创建的数据库还是有权限的(你自己创建的数据你自己才可以读取)。如果你想修改权限在云开发中就可以更改,基本上开发全在一个工具中,不需要切换来切换去的了。有会mongdb的同学呢写这样的类似SQL语法会更快

优点这么多,我真的也很想用,但是我自己还没有任何规划自己想做的东西是什么思想上的巨人,行动上的懒人。一个大佬说的,我觉得说的就是我了。

先不要激动,缺点也是有的。但是这个缺点我觉得反而是优点。就是查询哈,只会查询20条数据,就是不管你写不写分页,最多就是20。碰到一些小白可能会觉得是缺点,因为某些人(包括我自己)做项目都是想一下全部查询出来,不管你卡不卡顿之类的。但是这个云数据库查询给你做了限制。自身就必须去想办法。结合小程序需求来讲一般列表都是滚轮形式。

在这里插入图片描述

可以使用微信小程序内置的 scroll-view 组件去实现滑动到底部后分页查询。这样就可以解决查询问题,同时还可以避免全表查询。还可以在查询前查询总数 / 20 然后循环查询所有数据(循环一次会渲染一次界面,不太友好,但是也算小数据量情况下的解决方案吧。)

5.使用感受

感受仅我个人而言的话,因为我是给别人做毕设,然后他时间比较匆忙,大概有个12天左右时间开发。前面使用Java,就浪费了三天,加上五一放假,我母亲来深圳这边,我也略显消极态度,就糊弄了一下弄了一天,第二天告诉我要云开发,然后看文档加上放假(五一基本上没动)。然后假期后的一天我查资料看具体如何使用并且让这位同学给我开发者权限 + 云开发版本切换折腾一天。时间上就还剩下个六天左右。我用四天的时间做完了。这还是我第二次开发小程序。离第一次开发小程序有两年多了。我并不是说我开发快,而是使用的工具真的很快。页面组件copy,加上后端都不用自己写了。自然而然就快了,做完后我也感叹速度。下面是上传代码图。
在这里插入图片描述

提交过18次,但是实际更换云开发以来我是从5.7号正式开始使用云开发的。

我在推荐一个小程序 UI组件也特别快。最开始使用的是TDesign,腾讯刚推出不久的UI。使用上感觉可以,提issue解决问题也快速,我预判是一个未来的好UI。支持react、Vue等。然后我又在开发者群中得知了color UI组件,可能很多小伙伴都听过,但我是第一次知道,因为我开发小程序比较少嘛。不用不知道,用了都说香。

优点

  1. 原生组件UI
  2. 方便开发者快速修改样式

缺点

  1. 无官方界面,必须从github上找源码导入到微信开发者工具中使用
  2. UI不是很多。但是都已经够用了。

下面是使用的链接,感兴趣的小伙伴可以去看一下
https://blog.csdn.net/LookOutThe/article/details/120720512

6.结语

非常感谢大家看完。这是我第二次记录CSDN,也算是今日工作之余的打发一下时间。内容上相比上次我觉得稍微好那么一丢丢吧。很多地方也需要放图片的我都没有放(那个做毕设的同学自己的云开发账号,我给他做完后我就没有开发者权限了,所以很多地方我没法截图。真实情况就是我云开发都是被禁用状态。很多图都没有,只能依靠文字描述,希望各位能够看得懂)。

最后,如果觉得有哪里需要改善 or 哪里说错的地方可以在评论区 or 私信留言,我看到后也会及时调整!


http://chatgpt.dhexx.cn/article/JH425qj9.shtml

相关文章

微信小程序学习笔记

1. 小程序简介 小程序是一种全新的连接用户与服务的方式,它可以在微信内被便捷地获取和传播,同时具有出色的使用体验。 2.小程序运行环境 微信小程序API文档 boolean wx.canIUse(string schema) | 微信开放文档https://developers.weixin.qq.com/minipr…

微信小程序 audio 音频 组件

完整微信小程序(Java后端) 技术贴目录清单页面(必看) 音频。1.6.0版本开始,该组件不再维护。建议使用能力更强的 wx.createInnerAudioContext 接口 属性类型默认值必填说明最低版本idstring否audio 组件的唯一标识符1.0.0srcstring否要播放…

微信小程序三级分类

今天,在做一个电商小程序的分类页面,要实现三级分类。首先,先上图。 要完成这样一个功能,前端的界面就不说了,具体说说怎么实现的吧,说复杂也挺复杂的,说简单只要会了思路就不难了。其实思路就…

微信小程序如何获取数组下标

我们在写代码的时候我们经常会用到获取数组下标的方法,我们知道java通常是用for循环,i,输出i就出来了,那对于小程序该怎么实现呢,首先我们会想到直接用index,但是这种方法是不可行的。 1.首先要在js文件里写一个方法,…

Maven项目无法使用JSONObject.fromObject方法的解决方案

JSONArray jsonArray JSONArray.fromObject (arrayStr); 解决方案 导包依赖 import net.sf.json.JSONObject;<!-- JSONObject对象依赖的jar包 --> <dependency> <groupId>commons-beanutils</groupId> <artifactId>commons-beanutils<…

Cannot deserialize value of type `java.lang.Integer` from Object value (token `JsonToken.START_OBJEC

错误信息&#xff1a;org.springframework.http.converter.HttpMessageNotReadableException: JSON parse error: Cannot deserialize value of type java.lang.Integer from Object value (token JsonToken.START_OBJECT); nested exception is com.fasterxml.jackson.databin…

cannot deserialize from Object value (no delegate- or property-based Creator) 解决方法

问题描述 直接上图 报错 cannot deserialize from Object value (no delegate- or property-based Creator) 无法从Object值反序列化&#xff08;没有基于委托或属性的创建者&#xff09; 原因分析&#xff1a; 返回的pojo类&#xff0c;里面添加了一个全参构造函数&#x…

JsonArray.fromObject()将集合转换成字符串(案例学习)

【辰兮要努力】&#xff1a;hello你好我是辰兮&#xff0c;很高兴你能来阅读&#xff0c;昵称是希望自己能不断精进&#xff0c;向着优秀程序员前行&#xff01; 博客来源于项目以及编程中遇到的问题总结&#xff0c;偶尔会有读书分享&#xff0c;我会陆续更新Java前端、后台、…

JSONObject没有fromObject方法(Json lib 库的使用)

刚开始还不知道为啥&#xff0c;最后到 jsonlib 网站上查看了原因&#xff0c;这个是连接地址 Json-lib comes in two flavors, depending on the jdk compatibility. json-lib-x.x-jdk13 is compatible with JDK 1.3.1 and upwards. json-lib-x.x-jdk15 is compatible with J…

关于JSONObject.fromObject方法报错解决方法

最近在学习web开发时&#xff0c;遇到了这样的一个报错&#xff1a; 查了很久才发现错误。 解决方案&#xff1a; 1、查看架包 一共是6个架包 下面是IDEA环境添加架包语句&#xff1a; <dependency><groupId>commons-beanutils</groupId><artifactId&…

JSONArray.fromObject(str)

com.android.builder.dexing.DexArchiveMergerException: Unable to merge dex 根源 所在 引入的jar包重复了 &#xff01; 本次问题场景 &#xff1a; 使用 json 解析 [{"num":"D30","data":"23.6"},{"num":"D…

JSONObject.fromObject 日期类型转换问题

今天在开发的时候遇到的问题&#xff1a; 由于需要调用rest服务&#xff0c;所以将dto对象转换为JSON的时候出现了日期格式不正确的问题&#xff1a; 首先查看接收的DTO&#xff1a; 由于接口需要以数组的方式传输&#xff1a; JSONArray jsonArray array.fromObject ( Arra…

JSONObject.fromObject 找不到这个方法或是报错

本人是springboot快速创建项目生成&#xff0c;默认导入springboot json.jar。 JSONObject.fromObject 方法找不到。 解决&#xff1a;在pom依赖加入 <dependency><groupId>net.sf.json-lib</groupId><artifactId>json-lib</artifactId><ver…

微信接口报错:40163

场景&#xff1a;当使用H5做微信授权时&#xff0c;微信服务器返回错误信息{"errcode":40163,"errmsg":"code been used, hints: [ req_id: nkeen7aLRa-tGQn4 ]"}&#xff0c;从返回的errmsg中可以看出是code被使用过。 结论&#xff1a;微信网…

解决微信登录出现{errcode:40163,errmsg:code been used, hints: [ req_id: jEFDVY4ce-jz9NSA ]} (前提是使用友盟分享)

记录一下&#xff0c;记录一下。 &#xff08;真的想搞洗友盟&#xff09; 前提是接入友盟分享SDK。 错误信息 {"errcode":40163,"errmsg":"code been used, hints: [ req_id: qgFD07aLRa-xgHwXa ]"} 就是这个&#xff0c;40163 、code been u…

微信公众号网页授权40163问题【php】

微信公众号网页授权40163问题 tp5为例&#xff0c;emmmm…一直报40163或40029问题&#xff0c;翻遍了各大网站都没找到合适我的办法。 如图&#xff1a; 解决之后如图&#xff1a; 因为重定向所以请求了两次code&#xff0c;所以一直报40163错误。所以&#xff0c;我改了改代…

微信小程序报错 errcode:40163,errmsg:code been used

最近刚开始学习小程序,刚解决了一个前后端数据传递的问题,成功将用户信息存储到数据库,然后又遇到一个新的问题. 问题: 我使用getUserInfo来获取用户信息的,然而获取的信息里是没有唯一标识的,都无法作为主键,我后端是通过idWorker随机生成的id. 没错,问题就是数据库数据会重复…

微信小程序使用code码获取用户信息提示errcode:40163 code been used,rid:

后端在与前端小程序对接的时候&#xff0c;经常会要跟微信获取一些信息。 今天在使用code获取用户信息的时候报错:errcode:40163 code been used,rid: 在百度了很多中可能后 比如&#xff1a;同一个code被使用了多次&#xff0c;官网说只能用一次 请求地址多了空格或少了/&a…

微信公众平台错误代码40164的解决方案

获取微信公众号授权失败, 请稍后重试&#xff01; 公众平台返回原始数据为: 错误代码-40164&#xff0c;错误信息-invalid ip, not in whitelist hint: [59FKqA0797e514] 错误解释&#xff1a;调用接口的IP地址不在白名单中&#xff0c;请在接口IP白名单中进行设置&#xff1b…

{“errcode“:40163,“errmsg“:“code been used, rid: 6325b4cf-5e7ecadd-63bd8db1“},获取不到openid咋整?

原因&#xff1a;token失效了&#xff0c;请重新获取token. 重新获取token后&#xff1a;下面