GO课堂(旧版)
  • 概述
  • 跑通示例源码
  • SDK 集成指引
  • 小班课实现流程
  • 大班课实现流程
  • GO课堂后台服务
  • 常见错误码
  • 文档中心
  • GO课堂(旧版)
  • 跑通示例源码
客户端+服务端
示例源码
GitHub 下载
说明

本示例源码包含了GO课堂客户端和GO课堂服务端示例源码。下文介绍如何运行示例源码,推荐客户端与服务端配合使用,指引分为两部分:

  1. GO课堂客户端示例源码运行指引
  2. GO课堂服务端(Golang)示例源码运行指引
  • 该源码仅供开发者接入时参考,ZEGO 不负责源码的后续维护。若开发者计划将该源码用于生产环境,请确保发布前进行充分测试,避免发生潜在问题造成损失。
  • 该源码中提供的业务后台地址仅用于跑通示例源码,如果您需要上线正式产品,请自行编写、搭建自己的业务后台。
  • 开发者的 AppID 在使用 GoEnjoy 和 GoClass 中的任一功能时,有效期均为 30 天。如需继续使用相关服务,请自行搭建您的业务后台,或更换 AppID 使用。
  • 更多相关源码,请参考 CodeStore

1 GO课堂客户端示例源码运行指引

1.1 准备环境

  1. 已安装 node 环境

可以到 node 官网 下载后参考 教程 安装。

  1. 已安装一款 ZEGO SDK 支持的浏览器,如下表所示:

只支持 SSL 的 Web 服务器(https),localhost127.0.0.1 等同于 https

平台 浏览器/Webview 备注
Windows Chrome 支持 win7 及以上
macOS Chrome 支持 macOS 10.10 及以上
iOS Safari 支持 iOS 10.0 及以上
iOS 微信内嵌浏览器 支持 iOS 10.0 及以上
Android Chrome 支持 Android 8.0 及以上
Android 微信内嵌浏览器 支持 Android 8.0 及以上

1.2 前提条件

  • 请到 ZEGO 控制台 注册账号并申请初始化 SDK 时需要的 AppID,申请流程请参考 控制台 - 项目管理 中的“项目信息”。

  • 已获取有效的 Server 地址。

    • 国内环境下的 Server 地址获取方式如下:

      1. 登录 ZEGO 控制台
      2. 在对应项目下单击“查看”。
      3. 弹出基本信息后单击“环境配置”下的“查看”按钮。
      4. 在弹窗中的“集成的SDK”中选择 “Express” 后,再选择 “Web” 平台便可获取对应的接入服务器地址。

    • 海外环境下的 Server 地址获取方式如下:

      1. 登录 ZEGO 控制台
      2. 在对应项目下单击“Config”。
      3. 弹出基本信息后单击“Environment Configuration”下的“View”按钮。
      4. 在弹窗中选择 “Web” 平台便可获取对应的接入服务器地址。

      /Pics/Consle/en/retrieve_wssurl_2.png

1.3 注意事项

  • 下载的示例源码中缺少 SDK 初始化所需的 AppID,需要修改 src/go_class_web/src/utils/config_data.js 文件。请使用本文“前提条件”已获取的 AppID 正确填写。

  • 示例源码中已调用 login_room 接口获取所需的 token,无需用户另外进行配置。

    /Pics/GoClass/Web/Get_token.png

  • 需要将本地部署的GO课堂服务端的 host 地址配置在 src/go_class_web/src/utils/config_data.js 的对应字段中。后台服务部署成功后,访问地址假设为 https://127.0.0.1:7779,则后台业务地址需填写为 https://127.0.0.1:7779 + '/edu_room'。

  • 获取摄像头麦克风等行为需运行在 HTTPS 环境下,集成 SDK 之前,请确保最终项目能够运行在 HTTPS 环境下。

  • 项目部署环境和后台环境均需保持一致。

//小班课 - 国内环境
 const YOUR_HOME_SMALL_CLASS_APP_ID = 0 
//小班课- 海外环境
 const YOUR_OVERSEAS_SMALL_CLASS_APP_ID = 0 
//大班课 - 国内环境
 const YOUR_HOME_LARGE_CLASS_APP_ID = 0 
//大班课 - 海外环境
 const YOUR_OVERSEAS_LARGE_CLASS_APP_ID = 0 
//国内小班课 AppID 对应的 Server 地址,请从 ZEGO 控制台获取(获取方式请参考上文“前提条件”)
 const YOUR_HOME_SMALL_CLASS_SEVERURL = '' 
//海外小班课 AppID 对应的 Server 地址,请从 ZEGO 控制台获取(获取方式请参考上文“前提条件”)
 const YOUR_OVERSEAS_SMALL_CLASS_SEVERURL = '' 
//国内大班课 AppID 对应的 Server 地址,请从 ZEGO 控制台获取(获取方式请参考上文“前提条件”)
 const YOUR_HOME_LARGE_CLASS_SEVERURL = '' 
//海外大班课 AppID 对应 Server地址,请从 ZEGO 控制台获取(获取方式请参考上文“前提条件”)
 const YOUR_OVERSEAS_LARGE_CLASS_SEVERURL = '' 
//后台业务正式环境-国内环境
 const YOUR_HOME_BACKEND_URL = '' + '/edu_room'
//后台业务正式环境-海外环境 
 const YOUR_OVERSEAS_BACKEND_URL = '' + '/edu_room' 

 export {
   YOUR_HOME_SMALL_CLASS_APP_ID,
   YOUR_OVERSEAS_SMALL_CLASS_APP_ID,
   YOUR_HOME_LARGE_CLASS_APP_ID,
   YOUR_OVERSEAS_LARGE_CLASS_APP_ID,
   YOUR_HOME_SMALL_CLASS_SEVERURL,
   YOUR_OVERSEAS_SMALL_CLASS_SEVERURL,
   YOUR_HOME_LARGE_CLASS_SEVERURL,
   YOUR_OVERSEAS_LARGE_CLASS_SEVERURL,
   YOUR_HOME_BACKEND_URL,
   YOUR_OVERSEAS_BACKEND_URL,
 }

1.4 运行示例源码

  1. 在 Terminal 中切换到项目所在目录下,执行 yarn install 或者 npm install 命令安装依赖。

  2. 在 Terminal 中执行 yarn serve 或者 npm run serve 命令运行示例源码, 运行成功后在浏览器中访问本地服务器(https://***),示例如下:

​  Project is running at https://localhost:8080/

在 Terminal 中执行 Control+C 命令停止 server。

2 GO课堂服务端(Golang)示例源码运行指引

2.1 环境准备

  • 已安装 Golang 1.11 或以上版本(推荐使用 1.13 或以上版本)。
  1. 执行 go env -w GO111MODULE=on 开启 Golang module。
  2. 执行 go env -w GOPROXY=https://goproxy.cn 设置 Golang 代理。
  • 已安装 Redis 2.6 或以上版本。安装方案可参考 Redis 安装

2.2 前提条件

请到 ZEGO 控制台 注册账号并申请 AppID 与 ServerSecret,申请流程参考 项目管理

2.3 运行示例源码

  1. 下载GO课堂源码。
git clone https://github.com/zegoim/go-class.git

示例源码中包含了GO课堂客户端源码和服务端源码。若开发者已经运行了GO课堂客户端源码,此处无需重复下载。

  1. 进入配置目录 src/go_class_server/go_class_room/conf/
cd src/go_class_server/go_class_room/conf/
  1. 修改 app.conf 文件中相关配置项。

大班课、小班课教室间内的 同时在线人数上限 取值不同,默认值请参考下文代码。如果开发者需要修改上限值,请 同时修改 以下两个位置:

  • 服务端 maxPeopleNum 取值,请参考下文代码。
  • 调用 loginRoom 接口时,传入的 ZegoRoomConfig 中的 maxMemberCount 属性,即该房间的最大用户数量。
RedisAddr = "192.168.100.62:6379" # redis host
RedisPassword = ""                            # redis password
RedisIndex = 8                            # redis数据库

[SmallClass] # 小班课appid相关配置 如果不需要小班课场景,可以不用关心相关配置
AppId = 123456789
AppSecret = "eb2280544902dc1b7ab1fde3985bd083" # 从 ZEGO 控制台获取的 ServerSecret
...
MaxPeopleNum = 10  # 小班课教室间同时在线人数上限
MaxJoinLiveNum = 4 # 小班课教室间同时连麦人数上限

[LargeClass] # 大班课appid相关配置 如果不需要大班课场景,可以不用关心相关配置
AppId = 987654321
AppSecret = "13nce767a02dc1b7bd083ab1fde3985" # 从 zego 控制台获取的 ServerSecret
...
MaxPeopleNum = 50  # 大班课教室间同时在线人数上限
MaxJoinLiveNum = 1 # 大班课教室间同时连麦人数上限
  1. 进入 go_class_room 目录并启动服务。
cd ../go_class_room
go run main.go

相关文档

从 GitHub 下载 Go 课堂源码后直接运行为什么会报错?

本篇目录