收藏
回答

2个小程序(客户端和商户端)如何使用同一个云服务(云开发)?或者两个云服务之间如何共用数据库?

想做2个小程序,一个是客户端,一个是商户端。

想共用一个数据库。使用云开发如何实现?

回答关注问题邀请回答
收藏

3 个回答

  • As王棋 技术总监
    As王棋 技术总监
    2020-05-19

    买源码 有端口直接对接 没有就强行打通

    2020-05-19
    有用 1
    回复
  • 汪鸿
    汪鸿
    2020-08-21

    进行云函数跨云开发调用。

    我们先看下云环境初始化时的传入参数:

     输入参数:

    字段类型必填说明secretIdstring否腾讯云 API 固定密钥对,在云函数内执行,可不填。secretKeystring否同上。envstring否TCB 环境 ID,不填则使用默认环境。proxystring否调用接口时使用的 HTTP 代理 url。timeoutnumber否调用接口的超时时间(ms),默认为5000,即5秒。credentialsobject否Cloudbase 私钥,包含 private_key 和 private_key_id 两个字符串。versionstring否版本号,依赖项目的版本号

    例如:我们已有小程序A,此时我们希望小程序B调用小程序A云数据库中的数据。在小程序B云函数进行初始化时,我们可以在B小程序的云函数里填入A小程序的以及,传入参数的获取方法:

    前往腾讯云https://console.cloud.tencent.com/cam/capi获取密钥对。

    登录时选择微信公众号登录,使用管理员微信扫码二维码后,选择小程序A进行登录。访问管理-访问密钥-API密钥管理,新建密钥,即可获得

    为云开发环境,在A小程序的开发工具中的云开发控制台就可以找到。

     

    为云开发环境,在A小程序的开发工具中的云开发控制台就可以找到。 

    在B小程序中新建云函数getData:

    // 云函数入口文件
    
    const cloud = require('wx-server-sdk')
    
     
    
    cloud.init({
    
      secretId: 'AXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXOZi',//之前获得的secretId和secretKey
    
      secretKey: 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXe',
    
      env: 'data-XXXX'//云环境ID
    
    })
    
     
    
    // 云函数入口函数
    
    exports.main = async function(event, context){
    
      const db = cloud.database()
    
      const res = await  db.collection('login').where({
    
        _id:"16526515"
    
      }).get()
    
      return res
    
    }
    

    此时,在B小程序中调用云函数getData就可以获取得到小程序A云数据库中的数据:

    login(e){
    
        wx.cloud.init()
    
        wx.cloud.callFunction({
    
          name:"getData",
    
          success(res){
    
            console.log(res.result.data)
    
          }
    
        })
    
      },
    
    })
    

     


    2020-08-21
    有用
    回复
  • 老张
    老张
    2020-05-19

    http api打通数据。

    2020-05-19
    有用
    回复 4
    • 鹏宇zero
      鹏宇zero
      2020-05-19
      也就是还是需要两套数据库,只是每次写入的时候,还是写2份?
      2020-05-19
      1
      回复
    • 老张
      老张
      2020-05-19回复鹏宇zero
      这个随便你,你愿意这么做也可以。不过最好还是写的时候是一份,读的时候,不在本云就跨云去读。
      2020-05-19
      1
      回复
    • 鹏宇zero
      鹏宇zero
      2020-05-19
      跨云读取,走http,会不会比较卡顿?
      2020-05-19
      回复
    • 老张
      老张
      2020-05-19回复鹏宇zero
      在忍受之内。
      2020-05-19
      1
      回复
登录 后发表内容
问题标签