微信小程序共享云开发环境的代码配置

这篇具有很好参考价值的文章主要介绍了微信小程序共享云开发环境的代码配置。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


小程序2022年进行了云开发付费调整,以前一个小程序对应一个云开发环境的奢侈用法不再适合普通开发者,微信小程序提供了云开发共享功能,方便在不同的小程序中共用一个付费环境。
笔者更新时间:2023-05-05,文内API随时可能变动,请以链接对应的小程序官方文档为准: 小程序环境共享官方文档

1. 环境的分享配置

在已付费开通云开发的小程序中,点击“环境共享”-“添加共享”-添加希望使用这个云开发环境的小程序appid,完成分享的配置
微信小程序共享云开发环境的代码配置
微信小程序共享云开发环境的代码配置
微信小程序共享云开发环境的代码配置

2. 使用共享云开发环境的小程序代码编写

2.1 初始化

使用共享环境的小程序需要在一开始进行共享环境的初始化,此处需要共享了环境的小程序appId共享的云开发环境id

initEnv: async () => {
    // 初始化共享环境
    const cloundObj = new wx.cloud.Cloud({
      // 填写提供云开发共享的小程序AppID
      resourceAppid: appId,
      // 填写提供云开发共享的云开发环境Id
      resourceEnv: envId,
    });
    await cloundObj.init();
  },

cloundObj 可认为是共享环境对象,之后的云函数调用都要用到这个对象,建议存储在全局对象里:

// 将初始化后的对象存起来
Object.assign(app.globalData, {
  cloundObj: cloundObj
})
...
...
// 之后其他页面或组件获取该对象:
const app = getApp();
console.log(app.globalData.cloundObj)

下面的文章中统一以cloundObj 变量表征这个值,至于如何存储、获取则由读者自行实现。

2.2 云函数调用

使用共享环境的小程序本身的云函数是无法设置环境的,所有的云函数都必须设置在共享了云开发环境的主小程序上
微信小程序共享云开发环境的代码配置
在共享了环境的小程序上部署好相关的云函数后,即可在对应的小程序上调用那边部署好的云函数:

cloundObj.callFunction({
      name: "", // 调用的云函数名称
      data: {}, // 传递数据
      success: function (res) {},
      fail: function (res) {},
      complete: function (res) {},
})

4. 拓展:共享环境的小程序获取openId

2022年后小程序获取openId的方式有所变化,官方文档: wx.login文档,特别记录一下

4.1 小程序密钥的设置

正式编写程序前先保存好appId和密钥:小程序官网,密钥一旦设置就无法明文查看,所以妥善保存好,当然也是可以重置的 ╭(′▽`)╯
微信小程序共享云开发环境的代码配置

4.2 小程序内代码编写

const appId = xxxx; // 小程序appid
const secretId = xxx; // 小程序secretID
...
...
wx.login({
    success: (res) => {
        cloundObj.callFunction({
            name: 'getOpenId',
            data: {
                code: res.code,
                appId,
                secretId,
            },
            success: (result) => {
                const { openid } = result?.result ?? {};
                // openid已经获得
            }
        })
    }
})

4.3 云函数编写

4.2里调用了getOpenId这个云函数,在共享了环境的主小程序里新建对应的云函数:
微信小程序共享云开发环境的代码配置
对应的index.js内容如下

// 云函数入口文件
const cloud = require('wx-server-sdk')
var request = require('request')
const env = '';  // 待填写:环境的id
cloud.init({
  env
})

// 云函数入口函数
exports.main = async (event, context) => {
  var url = `https://api.weixin.qq.com/sns/jscode2session?appid=${event.appId}&secret=${event.secretId}&js_code=${event.code}&grant_type=authorization_code` // 用session换取openID
  return new Promise((resolve, reject) => {
    request.get(url, (error, response, body) => {
      if (error) {
        reject()
      } else {
        try {
          const json = JSON.parse(body);
          resolve(json)
        } catch (e) {
          reject()
        }
      }
    })
  })
}

即可在小程序端获得openid
微信小程序共享云开发环境的代码配置文章来源地址https://www.toymoban.com/news/detail-492227.html

到了这里,关于微信小程序共享云开发环境的代码配置的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 微信小程序-----宿主环境(组件介绍和代码编写)

      目录 前言 宿主环境简介 1. 什么是宿主环境 ​编辑 2.小程序的宿主环境  3. 小程序宿主环境包含的内容 一、通信模型 1. 通信的主体 2. 小程序的通信模型 二、运行机制 1.小程序启动的过程 2.页面渲染的过程 三、组件 常用的视图容器类组件 1.view 组件 2.scroll-view 组件 3. s

    2024年01月16日
    浏览(213)
  • 微信小程序获取环境变量,对生产、测试、开发环境做区分

    前不久偶然发现微信里有一个变量叫做  __wxConfig ,解决了这个问题,但是微信真的坑,你甚至在官方搜不到这个变量 = =,今天和大家分享一下 经过测试得到 envVersion 的具体键值有: develop(开发版)trial(体验版)release(正式版)   获取开发状态,判断获取请求url

    2024年02月12日
    浏览(36)
  • uniapp 微信小程序多环境配置及使用

    前后端分离开发模式中,无论前后端都有可能区分不同的环境配置,开发环境(dev)、测试环境(test)、线上生产环境(prod)等,不同环境的设置,后端请求api地址等不同,那么在小程序如何设置多环境配置呢? 之前搞vue的时候 可以通过 .env的方式配置开发测试和线上需要

    2024年02月02日
    浏览(38)
  • 微信小程序配置支付(附完整代码)

    初次接入 ,商户号管理是没有数据的,需要申请接入。 如果是在公司上班,让公司提供相关材料给你就是: 个人开发的小程序,需要注册公司,并且开设对公账户,用于收款。如果怕麻烦,可以挂到别人公司(谨慎处理,涉及到对账什么的) 提交资料,等待审核通过即可(

    2024年02月09日
    浏览(56)
  • 【微信小程序 | 实战开发】配置微信小程序APPID并快速接入

    你是否想要掌握人工智能的最新技术和应用?你是否想要成为未来社会的创新者和领导者?你是否想要和全球的优秀导师和同学一起学习和交流?如果你的答案是肯定的,那么欢迎来到床长人工智能教程网站,这里是你实现梦想的起点! 个人名片: 🐼 作者简介:一名大一在

    2024年01月24日
    浏览(65)
  • 【微信小程序低代码开发】二,在实操中化解小程序的代码组成

    上一章我们对项目的结构有了一定的了解,大家会发现,小程序项目的文件,分离的很彻底,每个文件都有自己的作用,那么接下来让我们深入去理解这些文件 当我们创建一个小程序项目时,开发者工具会自动帮我们创建一些默认的结构,但为了去了解小程序执行时的步骤,

    2024年01月17日
    浏览(39)
  • 【微信小程序开发】微信小程序集成腾讯位置项目配置

    腾讯位置服务官网 当然没账号的要先注册一个账号 在我的应用里创建一个新的应用,印象中需要小程序ID,去微信开发者工具里面找到自己的小程序ID填入即可 添加 key 中勾选勾选 WebServiceAPI 从官网里下载,我这里下载的是 v1.2 打开微信开发者工具 在查找小程序ID的地方下滑

    2024年02月02日
    浏览(62)
  • 最全微信小程序源码项目开发代码合集

    小程序源码是用PHP和Java编程语言编写的程序,可以包含在HTML页面中,就像图像包含在页面中一样。您在本教程中构建的应用程序向您展示了如何在IDE中构建和部署微信小程序源码。 源码:y.wxlbyx.icu 创建或导入Applet源文件 在本节中,您将创建您的第一个小程序。您可能已经

    2024年02月09日
    浏览(44)
  • 使用云开发环境的云函数实现微信小程序的支付功能

    背景: 近期在开发一个商城类的微信小程序,因为本人只会使用 C 语言对 nodejs 环境不熟悉,因此在开发微信小程序时选用容易上手的云开发环境开发微信小程序。我想选用云开发环境的小伙伴和我的想法一致,对微信小程序开发相关知识了解很少。我的小程序的主体是个体

    2024年04月23日
    浏览(49)
  • 情侣积分微信小程序零基础开发教程(附代码及开发指南)

    本文最新版本 在idofSunChonggao 的基础上进行开发, 感谢! 且感谢初版(UxxHans)! ⭐ 如果本仓库对您有所帮助,您的fork或star就是对我最大的鼓励,谢谢! 改了还蛮多的,具体看界面展示吧~ 零前端基础,全凭爱意。代码存在诸多不足和bug,仅供参考。 ⭐ 增加任务类型选择:

    2024年02月09日
    浏览(60)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包