微信小程序之云开发

微信小程序之云开发

2023年7月2日发(作者:)

微信⼩程序之云开发⼩程序云开发需要使⽤注册的⼩程序appid,测试和游客进⼊是没有云开发的功能。现在,我们点击顶端的云开发开启我们的探索吧!⼀、后台数据的准备如果我们填写了在微信的左上⾓调试器旁边有⼀个云开发,在这⾥我们点击云开发.要进⾏前端的数据操作,我们⾸先必须有后台数据的准备。1、建⽴数据环境(数据库)官⽹建议我们建两个环境⼀个测试环境⼀个正式环境,在这⾥我就新建⼀个test⽅便后⾯的开发2、添加集合(表)这⾥的集合就相当于我们sql server或者oracle中的表单table3、添加记录(record)记录输⼊完毕,确定后就会增加⼀条记录如果您需要快速的获得更多的记录,建议不要⼀条⼀条的在这⾥添加,会累死⼈的!我的⽅法是导出第⼀条,在记事本中⼤量“复制、粘贴”即可,然后导⼊记录即可(不过记得⼀定要拿掉系统⾃动⽣成的_id,否则会出现冲突⽽导致导⼊失败)!⼆、数据前端操作记录的操作按照常理来说⽆⾮就是“增删改查”,那么我们下⾯分别来看看他们在微信⼩程序中是如何实现的。1、准备⼯作如果开启了两个数据环境,微信⼩程序⾥⾯⽆论你怎么设置默认数据环境都会把默认数据环境设置为第⼀个,但最好要对默认的数据环境进⾏设置在调⽤数据库时要指定数据库,具体可以参考微信开发⽂档,特别要记住,env后⾯的数据环境名称⼀定要写数据环境的ID号。const db = se({ env: 'my-cloud-xnq3h'})否则你就会总是遇到下⾯的错误:Error: errCode: -501005 invalid env | errMsg: Environment not found2、配置login云函数openid是什么?同⼀个公众号下,每个⽤户都有⼀个openIdOpenID(加密后的微信号,每个⽤户对每个公众号的OpenID是唯⼀的)组成。不是使⽤云函数,获取openId的流程:右击cloudfunctions⽂件夹,点击更多设置发现服务端没有云函数本地有⼀个login,我们右击login⽂件夹创建并部署就可以了。上传并部署后,本地login⽂件夹的前⾯的图标从⼀个⽂件夹图标变成了云开发的图标,在云开发控制台上可以看到 login这个云函数。测试获取⽤户OpenID测试返回结果:后台查看获取到的Open ID。3、增加记录我们找到onAdd,并将前⾯的注释去掉,修改对应的数据库环境和集合名称即可进⾏操作,这⾥我们保留原始的集合名称,对counters进⾏增加记录的操作,onAdd: function() { const db = se() tion('counters').add({ data: { count: 1 }, success: res => { // 在返回结果中会包含新创建的记录的 _id a({ counterId: res._id, count: 1 }) ast({ title: '新增记录成功', }) ('[数据库] [新增记录] 成功,记录 _id: ', res._id) }, fail: err => { ast({ icon: 'none', title: '新增记录失败' }) ('[数据库] [新增记录] 失败:', err) } }) }执⾏结果如下:同时在调试控制台输出中也可以看到:4、查询记录⾸先我们在预览中按照提⽰点击“下⼀步”⼀直来到“查询”这个步骤,也就是第五个步骤。这⾥要特别注意,如果我们没有配置好login云函数则会出现openID的问题这⾥我们执⾏第四步查询(因为我们在前⾯已经导⼊了⼗条记录了),执⾏语句在中找到onQuery,将前⾯的注释符号去掉,对下图所⽰两处地⽅做修改即可成功执⾏查询:onQuery: function() { const db = se() // 查询当前⽤户所有的 counters tion('counters').where({ _openid: }).get({ success: res => { a({ queryResult: ify(, null, 2) }) ('[数据库] [查询记录] 成功: ', res) }, fail: err => { ast({ icon: 'none', title: '查询记录失败' }) ('[数据库] [查询记录] 失败:', err) } }) },执⾏结果如下:5、修改与删除同样的⽅法,我们来看看修改记录和删除记录修改记录(实际这⾥的修改记录就是更新了⼀下count字段)6、删除记录到这⾥为⽌,我们算是根据开发⼯具提供的指引⾛完了。三、模拟后台增删改查下⾯就给⼤家提供⼀个数据的增删改查案例吧。这⾥我把新增和修改放在了⼀个页⾯

显⽰页⾯: 图书列表 书名 作者 价格 操作 {{}} {{}} {{}} 暂时没有图书! // pages/index/({ /** * 页⾯的初始数据 */ data: { books: [] }, /** * ⽣命周期函数--监听页⾯加载 */ onLoad: function(options) { const db = se() tion("books").get({ success: res => { a({ books: }) }, fail: err => { ast({ icon: "none", title: '查询记录失败', }) } }) }, goSet: function() { teTo({ url: '../set/set', }) }, onDel: function(e) { let id = const db = se(); tion("books").doc(id).remove({ success: res => { ast({ title: '删除成功', }) () //删除成功重新加载 }, fail: err => { ast({ title: '删除失败', }) } }) (id) }, onUpdate: function(e) { let id = teTo({ url: '../set/set?id=' + id, }) }})/* pages/index/ */.none { display: flex; justify-content: center; margin-top: 50%; color: #666;}.add { position: fixed; width: 750rpx; height: 120rpx; bottom: 0;}.add button { margin: 0 10rpx; border-radius: 14rpx 15rpx; background-color: #1aad16; color: #fff;}.title { width: 100%; display: inline-flex; justify-content: center; font-size: 38rpx;}.label { display: inline-flex; margin-top: 20rpx;}.label text { width: 180rpx; text-align: center;}.content { width: 750rpx; display: inline-flex; justify-content: space-around; align-content: center; align-items: center; text-align: center; margin-top: 10rpx;}.content text { width: 180rpx;}.content button { padding: 0 10rpx; line-height: 60rpx; font-size: 30rpx; color: #fff;}.del { background-color: red; border: 1rpx solid red;}.update { margin-left: 10rpx; background-color: #1aad16;}/* .button-hover { color:transparent; background-color:transparent;} pages/set/

// pages/set/({ /** * 页⾯的初始数据 */ data: { book: [] }, /** * ⽣命周期函数--监听页⾯加载 */ onLoad: function(options) { if () { const db = se(); tion("books").where({ _id: }).get({ success: res => { a({ book: [0] //返回的是⼀个数组,取第⼀个 }) }, fail: err => { (err) } }) } }, comfirm: function(e) { const db = se() //打开数据库连接 let book = if ( == "") { //id等于空是新增数据 (db, book) //新增记录 } else { (db, book) //修改记录 } }, add: function(db, book) { tion("books").add({ data: { name: , author: , price: parseFloat() }, success: res => { ast({ title: '新增记录成功', }) teTo({ url: '../index/index', }) }, fail: err => { ast({ title: '新增失败', }) } }) }, update: function(db, book) { tion("books").doc().update({ data: { name: , author: , price: parseFloat() }, success: res => { ast({ title: '修改记录成功', }) teTo({ url: '../index/index', }) }, fail: err => { ast({ title: '修改失败', }) } }) }})/* pages/set/ */.container { display: flex; flex-direction: column; justify-content: center;}.input-container { width: 750rpx; display: inline-flex; margin-top: 40rpx; justify-content: center;}.input-container input { border: 1rpx solid #ddd; border-radius: 14rpx; padding: 10rpx;}.comfirm { position: fixed; width: 750rpx; height: 120rpx; bottom: 0;}.comfirm button { margin: 0 10rpx; border-radius: 14rpx 15rpx; background-color: #1aad16; color: #fff;}云开发后台数据需要⼿动添加books集合:主页云开发初始化//({ onLaunch: function () { if (!) { ('请使⽤ 2.2.3 或以上的基础库以使⽤云能⼒') } else { ({ // env 参数说明: // env 参数决定接下来⼩程序发起的云开发调⽤()会默认请求到哪个云环境的资源 // 此处请填⼊环境 ID, 环境 ID 可打开云控制台查看 // 如不填则使⽤默认环境(第⼀个创建的环境) // env: 'my-env-id', traceUser: true, }) } Data = {} }})

发布者:admin,转转请注明出处:http://www.yc00.com/web/1688279273a112502.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信