收藏
回答

小程序云函数切换环境怎么做到修改一处,然后多处被更改?


最后一次编辑于  09-16
回答关注问题邀请回答
收藏

1 个回答

  • o0o有脾气的酸奶
    o0o有脾气的酸奶
    09-17

    全局设置一个app.globalData.envID

    环境变量传进云函数就可以啦

    09-17
    赞同
    回复 3
    • 、老妖怪
      、老妖怪
      09-17
      是在云函数的event里面取么?然后调用cloudConfig方法动态更新?我有这样做但是也没效果呢
      09-17
      回复
    • o0o有脾气的酸奶
      o0o有脾气的酸奶
      09-17回复、老妖怪

      1.在app.js里设置使用的云环境ID,这样只需改一个地方就好了,这个环境ID也可以读取自己后端服务器配置的值,赋给globalData.env

      2.在调用云函数的时候,传进去

          wx.cloud.callFunction({

              name: '云函数名',

              data: {

                  env: t.globalData.env,

                  id:'....',

                  data:{....}

                   // 其他内容

              }

          })

      3.在云函数里指定环境ID

          // 云函数入口文件

          const cloud = require('wx-server-sdk')

          

          // 云函数入口函数

          exports.main = async (event, context) => {

              if(!event.env) return {errCode:-1, errMsg:'环境id为空'}

              

              cloud.init({

                  env: event.env,

                  traceUser: true

              })

              const db = cloud.database({

                  env: event.env

              })

              return new Promise((resolve, reject) => {

                  var id = event.id

                  db.collection('xxxx').doc(id).set({

                      data: event.data

                  }).then(res=>{

                      resolve(res)

                  }).catch(res=>{

                      reject(res)

                  })

              })

          }

          

      09-17
      回复
    • 、老妖怪
      、老妖怪
      09-17
      我的天,困扰我两天的问题 。终于解决了,多谢啊 大佬!!!
      09-17
      回复
问题标签