Skip to content

Latest commit

 

History

History
106 lines (83 loc) · 6.08 KB

README-zh.md

File metadata and controls

106 lines (83 loc) · 6.08 KB

Agora Flat

项目 flat 是 Agora Flat 开源教室的 Web 端(开发中)、Windows 客户端与 macOS 客户端。

产品体验

特性

  • 多场景课堂
    • 大班课
    • 小班课
    • 一对一
  • 实时交互
    • 多功能互动白板
    • 实时音视频(RTC)通讯
    • 即时消息(RTM)聊天
    • 举手上麦发言
  • 帐户系统
    • 微信登陆
    • GitHub 登陆
    • 谷歌登陆
  • 房间管理
    • 加入、创建、预定房间
    • 支持周期性房间
    • 查看历史房间
  • 课堂录制回放
    • 白板信令回放
    • 音视频云录制回放
    • 群聊信令回放
  • 多媒体课件云盘
  • 设备检测
  • 自动检查更新

本地开发

在 Flat 中 UI 逻辑与业务逻辑分开开发。可通过完整配置跑起项目,也可以通过 Storybook 快速查看与开发部分 UI。

完整跑起项目

注意完整跑起项目需要配合 Agora Flat Server 后端运行。

配置环境变量

  1. 创建两个文件 config/.env.development.localconfig/.env.production.local
  2. 按照文件 config/.env 的格式添加环境变量。

安装

  1. 因涉及到 Github Action 等配置,请先右上方 Fork 此项目,然后再 git clone fork 出来的项目克隆到本地。
  2. 在项目根目录执行:
    yarn install --frozen-lockfile

开发模式

项目根执行 yarn start 即可。

打包可执行文件

  • 项目根执行 yarn ship 将根据当前系统打包。
  • 或者项目根执行 yarn ship:macyarn ship:win 可针对相应系统打包。

Storybook

部分 Flat 组件 UI 可通过 Storybook 快速查看与开发(线上地址)。

  • 项目根执行 yarn --cwd packages/flat-components storybook 可在本地运行 Storybook。

环境变量值参考

变量名 描述 备注
NETLESS_APP_IDENTIFIER 互动白板 Access Key 见: 在 app 服务端生成 Token
AGORA_APP_ID Agora 声网 App ID 用于 RTC 与 RTM。见: 校验用户权限
CLOUD_STORAGE_OSS_ALIBABA_ACCESS_KEY Agora 云端录制 OSS 配置 用于云端录制存储用户音视频。见: 云存储设置
CLOUD_STORAGE_OSS_ALIBABA_BUCKET Agora 云端录制 OSS 配置 同上
CLOUD_STORAGE_OSS_ALIBABA_REGION Agora 云端录制 OSS 配置 同上
CLOUD_RECORDING_DEFAULT_AVATAR Agora 云端录制用户默认背景图 URL 见:设置背景色或背景图
WECHAT_APP_ID 微信开放平台 App ID 网站应用AppID
FLAT_SERVER_DOMAIN Flat Server 部署的域名地址 如: flat-api.whiteboard.agora.io
UPDATE_DOMAIN Flat 升级的 OSS 域名地址,用于存放新版与历史安装包 如: https://flat-storage.oss-cn-hangzhou.aliyuncs.com/versions
SKIP_MAC_NOTARIZE 是否跳过 Mac 公证步骤 值: yes 或者 no
APPLE_API_ISSUER Apple 公证的 issuer,可选,留空时不做公证 详情见: electron-updater
APPLE_API_KEY Apple 公证的 key,可选,留空时不做公证 详情见: electron-updater
WINDOWS_CODE_SIGNING_CA_PATH Windows 签名证书文件路径,可选,留空时不做签名 相对路径,相对于 desktop/main-app 目录
WINDOWS_CODE_SIGNING_CA_PASSWORD Windows 签名证书密码,可选,留空时不做签名