精华内容
下载资源
问答
  • 微信小程序云数据库调用API是提示wx-server-sdk未被定义,要怎么定义wx-server-sdk,要下载什么东西吗,还是直接代码定义![图片说明](https://img-ask.csdn.net/upload/201905/09/1557392537_240200.png)
  • 小程序开发HTTP API使用 本人使用Python3.X作为开发版本,其他语言类似,格式自己调一下(requests.post发请求) 主要用于,作为与小程序关联的数据提供平台,使用脚本或者开发WEB端平台为小程序提供数据、或作为...

    小程序云开发HTTP API使用

    本人使用Python3.X作为开发版本,其他语言类似,格式自己调一下(requests.post发请求)
    主要用于,作为与小程序关联的数据提供平台,使用脚本或者开发WEB端平台为小程序提供数据、或作为小程序的数据的管理端(CRUD)

    在完成小程序认证、小程序项目创建后(要勾选云开发),可以在小程序控制台(开发-开发设置)获取你的AppID(小程序ID)以及AppSecret(小程序密钥)并在成员管理中为添加开发者权限

    在这里插入图片描述小程序秘钥只能查看一次,再次查看会重置(切记保存)

    以下为API调用:

    云开发有各种调用限制,免费环境为5万次读请求,3万次写请求,access_token获取有次数限制(具体在文档里找一下),任一次数超过调用上限即会被停服到隔天凌晨1点左右,小程序控制台有每月10次清空调用次数
    首先获取小程序access_token(有效时间120min,且再次获取,上次的会失效)

    GRANT_TYPE = 'client_credential'
    APP_ID = '你的AppID'
    APP_SECRET = '你的AppSecret'
            
    url = 'https://api.weixin.qq.com/cgi-bin/token?grant_type={0}&appid={1}&secret{2}'.format(GRANT_TYPE,APP_ID,APP_SECRET)
    response = requests.get(url)
    result = response.json()
    # 如果频繁使用的话可以把token写到一个txt文件中,但小程序没有提供token是否有效的接口
    print(result['access_token'])
    

    新增集合(数据表)

    url = 'https://api.weixin.qq.com/tcb/databasecollectionadd?access_token={0}'.format(access_token)
    data = {
    	'env':'环境名',
    	'collection_name': '集合名称'
    }
    requests.post(url, data=json.dumps(data))
    

    新增完集合后,CRUD基本差不太多

    # url有些区别(第一个是count集合有多少数据)
    url = 'https://api.weixin.qq.com/tcb/databasecount?access_token={}'.format(access_token)
    url = 'https://api.weixin.qq.com/tcb/databaseadd?access_token={}'.format(access_token)
    url = 'https://api.weixin.qq.com/tcb/databasedelete?access_token={}'.format(access_token)
    url = 'https://api.weixin.qq.com/tcb/databaseupdate?access_token={}'.format(access_token)
    url = 'https://api.weixin.qq.com/tcb/databasequery?access_token={}'.format(access_token)
    # 小程序的sql语句
    """
    	小程序常用数据类型string、number(包括整型和浮点型)、array(数组)对应python字符串格式化
    	'%s'、%d、%s,字符串要用引号包起来,数字不能用引号,str(list)传入
    	query = "db.collection('集合名称').where({字段名:'条件'})
    	.add({data:{[键:'值']}})/remove()/update({data:{键:'值'}})/get()"
    """
    # get还可以加“.limit().skip()”加载get()之前,limit服务端默认为10,最大为1000
    # 组织数据包
    data = {
    	"env": "你的环境名称在开发工具内找到",
    	"query": query
    }
    # 字符串格式化后一定要转成json字符串
    response = requests.post(url, data=json.dumps(data))
    print(response.json())
    

    基本的增删改查如果不能满足你的需求,那你可以试一下极其难用的聚合操作

    # 除url和query语句不同外,基本相同,写db_handle类时可以提高复用性
    url = 'https://api.weixin.qq.com/tcb/databaseaggregate?access_token={}'.format(access_token)
    
    # 下面是我在开发是用过的一个简单的聚合(自己调一下缩进)
    query = "db.collection('Book_information').aggregate()
    .match({'is_delete':0}).sort({create_time:-1})
    .lookup({
    	from:'user_books',
    	localField:'book_name',
    	foreignField:'book_name',
    	as:'book_info'})
    .skip(%d).limit(10).end()" % (page * 10)
    """
    	.aggregate():发起聚合操作
    	.match():等于普通语句的.where()
    	排序可以多字段排序
    		聚合阶段: .sort({'字段名':-1,'多字段'}):根据某一字段排序,-1降序
    		普通查询: .orderBy('字段名','asc').orderBy(多字段写多个)
    	.group({
    		_id:$表内字段名,
    		num:$.sum(1),
    		支持多字段,但多字段都为累加值,需要使用算数运算符
    	})
    	选择输出字段:
    		聚合阶段: .project({多字段,_id默认保留})
    		普通查询: .field({多字段,选择要输出的字段名})
    	.lookup():连表查询,上方演示为二种中的一种
    		from:'连接的表名',
    		localField:'主表要连接的字段',
    		foreignField:'连接表的字段两者相等即连接',
    		as:'book_info'(连接后,key为book_info,value为列表)
    	.end():聚合阶段结束
    """
    
    还有一个细节问题,普通查询中,算数运算符和逻辑运算符要用“_.or”,而聚合操作中要使用“$.or”使用
    常用逻辑运算符_.and/_.or
    	单字段
    		_.and({_.gt(50),_.(100)}) 或者 _.gt(50).and(_.lt(100))
    	多字段
    		_.and([{ progress: _.gt(50)},{tags: 'cloud'}])
    		where或match中多条件默认带and
    比较运算符
    		聚合阶段时包括当前集合的字段名也要使用“$.”
    		gt		大于 			llt		小于 			eq		等于
    		gte		大于等于			lte		小于等于			neq		不等于
    		还有普通查询特有
    			in,nin,可直接传入一个数组
    
    # 最后还有一个上传文件到存储
    path = '文件路径'
    url = "https://api.weixin.qq.com/tcb/uploadfile?access_token={}".format(access_token)
    data = {
        "env": "环境名称",
        "path": "文件路径(需要带文件后缀名)" 
    }
    response = requests.post(url, data=json.dumps(data))
    result = response.json()
    file = {"file": open(path, "rb")}
    # 两个data中的文件路径为小程序云存储中的路径,文件夹好像是要提前创建
    data = {
        'key': '和data['path']相同',
        'Signature': result['authorization'],
        'x-cos-security-token': result['token'],
        'x-cos-meta-fileid': result['cos_file_id']
    }
    requests.post(result['url'], data=data, files=file)
    
    # 获取下载连接的话去存储里找一个直接拼接就可以了
    'https://[这里有一个环境名需要找].tcb.qcloud.la/news_images/1601278105.5322824.jpg'
    

    小程序开发者社区是个鬼社区,我只能帮你到这里了~

    展开全文
  • APIBase提供云数据库及数据接口

    APIBase提供云数据库及数据接口,为APP提供易快速开发数据库接口云服务,开发数据库SQL语句保存后直接生产数据接口。数支持快速开发、多样性使用、高速高性能调用。

    展开全文
  • 通过数据库api获取数据 手动添加数据。 打开开发 点击数据库 在集合名称那一栏点击 +号 创建集合 – 点击 添加记录 在添加数据称成功后,在index.wxml页面中,写按钮样式。 <button bindtap="shujuku...

    入门学习,谨慎参考。


    通过数据库api获取数据

    1. 手动添加数据。
    • 打开云开发
    • 点击数据库
    • 在集合名称那一栏点击 +号
    • 创建集合 – 点击 添加记录
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述
    1. 在添加数据称成功后,在index.wxml页面中,写按钮样式。
    <button bindtap="shujuku">数据库api获取数据</button>
    
    1. index.js页面
     //数据库api获取数据
      shujuku(){
        wx.cloud.database().collection("users").get({
          success(res) {
            console.log("数据库获取成功", res)
          },
          fail(res) {
            console.log("数据库获取失败", res);
          }
        })
      },
    
    1. 当编译后,没有获取到数据,如下图。 data数组里为空。
      原因: 这些数据是管理员在后台手动输入的数据,由于权限的限制。
      在这里插入图片描述在这里插入图片描述
      而当把权限设置修改后(如下图),通过api也能获取到。
      在这里插入图片描述
      在这里插入图片描述

    通过云函数获取数据

    • 需要新建一个云函数
      在这里插入图片描述
    • index.js
      在这里插入图片描述
     //云函数获取数据
      yunhanshu(){
        wx.cloud.callFunction({
          name:"getshuju",
          success(res) {
            console.log("云函数获取成功", res)
          },
          fail(res) {
            console.log("云函数获取失败", res);
          }
        })
      }
    

    注意: 云函数获取数据和数据库API获取数据的区别

    云函数不受权限的限制也能获取到数据,而数据库API受权限的限制。
    
    展开全文
  • 小程序http api云数据库操作接口需在服务器端调用,利用云开发后台的话,可以云函数中调用相应的接口可以实现对云数据库的操作。以下是新增集合的一个代码段,以供参考。 需要注意的是,安装got模块不能安装10....

    小程序http api 的云数据库操作接口需在服务器端调用,利用云开发后台的话,可以云函数中调用相应的接口可以实现对云数据库的操作。以下是新增集合的一个代码段,以供参考。
    需要注意的是,安装got模块不能安装10.版本,否则或出错。

    // 云函数入口文件
    const cloud = require(‘wx-server-sdk’)
    const got = require(‘got’)

    let appid =‘xxxxxxx’ //你的appid
    let secret =‘xxxxxxxx’ //你的secret
    let opdataUrl =‘https://api.weixin.qq.com/tcb/databasecollectionadd?access_token=’ //新增集合的接口
    let tokenUrl =‘https://api.weixin.qq.com/cgi-bin/token? grant_type=client_credential&appid=’+appid+’&secret=’+secret //获取access_token接口
    cloud.init()//初始化
    // 云函数入口函数
    exports.main = async (event, context) => {
    let tokenResponse=await got(tokenUrl)
    let token = JSON.parse(tokenResponse.body).access_token //获取access_token
    let opdataResult = await got(opdataUrl+token, {
    method: ‘POST’,
    headers: {
    ‘Content-Type’: ‘application/json’
    },
    body: JSON.stringify({
    “env”:“xxxxx”, //云环境
    “collection_name”: “test_add_collection” //新增集合名称
    })
    })
    return opdataResult.body
    }

    展开全文
  • 微信小程序云开发之云数据库入门介绍开发者可以使用云开发开发微信小程序、小游戏,无需搭建服务器,即可使用云端能力。其基础能力数据库,是一个JSON数据库,作用是无需自建数据库,就可以在微信小程序前端操作...
  • 小程序数据库API获取数据或者函数获取数据成功但无结果 这个是你小程序后台数据库权限的问题 这样就可以了 最后吐槽一句微信小程序是真的很坑
  • 1、APIBase.cn云数据库接口实现逻辑 云应用程序接口利用SQL语句访问云数据库。从此得出,云数据库接口开发只需要开发SQL语句,让数据接口开发的效率、速度得到飞速提升,从而节约了后端程序开发成本。 2、APIBase....
  • 根据网上搜索很多方法,总结了下这个可行,可以输出想要的两行数据: onLoad: function (options) { const db = wx.cloud.database() const _ = db.command const aa = db.collection('wuxing').where(_.or([ ...
  • 小程序 开发文档中没有,到社区里去找,看到有这么个回答 试了一下确实可用! 1 where({ 2 key:{ 3 $regex:'.*' + keyWrod, 4 $options:'i' //不区分大小写 5 } 6 }) 另外官方也给出回复后续会...
  • 阿里云云数据库RDS MySQL版是阿里云提供的一种安全可靠的数据库类型,使用其能做很多用途,但为了安全等原因,也有一些限制或者说规范,到底有哪些规范呢,接下来就为大家来做个说明。修改实例参数设置大部分实例...
  • 目的最近不少人反馈在使用RDS的过程中会发现一些坑,今天就来手把手教你如何创建云数据库目标读者1.首次购买RDS实例的用户。2.新建实例后需要对其进行基本设置的用户。3.了解如何连接RDS实例的用户。快速入门流程图...
  • 学会小程序开发 学会开发 自己实现小程序数据后台
  • 微信小程序云开发之云数据库入门

    万次阅读 2020-07-20 12:28:34
    微信小程序云开发之云数据库入门 介绍 开发者可以使用云开发开发微信小程序、小游戏,无需搭建服务器,即可使用云端能力。 其基础能力数据库,是一个JSON数据库,作用是无需自建数据库,就可以在微信小程序前端操作...
  • 删除 DRDS 数据库 更新时间:2020-06-19 13:32:47 功能描述 删除 DRDS 数据库。该接口只是提交了删除数据库的任务,接入方需要依据 DescribeDrds 接口(查询数据库信息的接口)的返回结果来判断分布式数据库...
  • 之前的文章里面已经详细写过像云数据库里面插入数据的方法,现在用在实际项目里面再写一遍。 1:使用数据库的时候,首先要进行初始化 云开发数据库文档: ...2:打开云开发控制台 老规矩,创...
  • 小程序-从api中获取数据批量存入云数据库中,并实现定时刷新 右键cloudfuctions,新建Node.js云函数 然后点开index.js 配置环境 在文件右键,并选择在外部终端打开 下载axios,支持在端口上获取数据,回车键下载 ...
  • 摆脱后台,自己实现后台数据,从此就可以愉快的写小程序,自己实现小程序后台了。
  • usingUnityEngine;usingSystem;usingSystem.IO;usingSystem.Collections;usingSystem.Collections....usingcn.bmob.api;usingcn.bmob.io;usingcn.bmob.common;usingcn.bmob.tools;usingSystem.Net;public class...
  • Oracle云数据库方案

    2020-12-08 17:43:52
    并且要求新增加的功能可以统一的通过现有的中国移动平台进行集中的管理和调度,也就是说新增加的功能可以对外开放基于Openstack标准的调用API,通过调用这样API可以实现PaaS层的相关管理和计费功能。
  • 不止python,你可以利用任何语言那实现通过http请求来操作你自己的小程序云数据库了背景也是在最近吧,小程序更新了云开发 HTTP API 文档,提供了小程序外访问云开发资源的能力,使用 HTTP API 开发者可在已有服务器...
  • 不止python,你可以利用任何语言那实现通过http请求来操作你自己的小程序云数据库了背景也是在最近吧,小程序更新了云开发 HTTP API 文档,提供了小程序外访问云开发资源的能力,使用 HTTP API 开发者可在已有服务器...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,408
精华内容 563
关键字:

云数据库api