文档

服务端集成

更新时间:

本文介绍语聊房场景服务端集成的操作指引。

前提条件

  • 已完成前置准备相关操作,详情请参见前置准备

  • 已申请创建互动直播应用,并获得AppID、Appkey。详情请参见前置准备

  • 已申请创建互动消息应用,并获得AppID、AppKey、AppSign等。详情请参见前置准备

  • 如果您需要通过源码构建并部署AppServer,请确保环境中已安装JDK8。

  • 使用该项目,您需要获取以下产品的权限:

    云产品

    权限策略

    授权方式

    视频直播

    AliyunLiveFullAccess

    创建RAM用户并授权

通过源码构建及部署

根据源码的说明文档配置并执行,源码地址请参见源码地址

项目部署和体验

技术选型

  • 基于主流的Java8+Springboot2搭建框架。

  • 基于Mybatis plus作为Repository。

  • 基于SpringSecurity+JWT 来实现权限控制。

部署

  • 安装了Java8之后即可在各个ECS或容器上运行。

  • 如果熟悉什么是函数计算,也可以使用Serverless平台快速部署。

配置application.yml文件

配置文件

server:
  port: 8080

# mysql
spring:
  datasource:
    type: com.alibaba.druid.pool.DruidDataSource
    driverClassName: com.mysql.cj.jdbc.Driver
    #配置DB地址、用户名及密码
    url: jdbc:mysql://*****:3306/****?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai
    username: "r*****"
    password: "p*****"
  jackson:
    time-zone: GMT+8
    date-format: yyyy-MM-dd'T'HH:mm:ss
    default-property-inclusion: non_null

#mybatis
mybatis-plus:
  #实体扫描,多个package用逗号或者分号分隔
  typeAliasesPackage: com.aliyuncs.aui.entity
  configuration:
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
    default-statement-timeout: 10

# pop配置
biz:
  openapi:
    access:
      key: "daeewe*****"
      secret: "we2wewe******"
  # IM相关配置 
  new_im:
    appId: "********"
    appKey: "********"
    appSign: "********"
  # 配置连麦信息
  live_mic:
    app_id: 7c61********
    app_key: c461b*********
    
 # 配置允许跨域的请求域名
http:
  cors:
    host: "*"
    
#打包&启动
以监听9000为示例,见下
#!/usr/bin/env bash
mvn package -DskipTests
cp target/*.jar target/webframework.jar
java -Dserver.port=9000 -jar target/webframework.jar

参数配置说明

参数配置信息

说明

 #配置DB地址、用户名及密码
    url: jdbc:mysql://*****:3306/****?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai
    username: "r*****"
    password: "p*****"
  • url:MySQL数据库服务器的主机名或IP地址/数据库的名称。

  • username:数据库用户名。

  • password:数据库密码。

#mybatis
mybatis-plus:
  typeAliasesPackage: com.aliyuncs.aui.entity
  configuration:
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
    default-statement-timeout: 10

无需调整。

  • typeAliasesPackage:实体扫描,多个package用逗号或者分号分隔。

  • log-impl:是否输出SQL语句,本地开发时建议打开,上线前去掉。

  • default-statement-timeout:SQL执行超时时间。

# pop配置。需要配置账号的AccessKey ID和AccessKey Secret,用于调用IM及live相关服务
 biz:
  openapi:
    access:
      key: "*********"
      secret: "*********"

调用阿里云IM及Live相关服务API时,您需要使用AccessKey完成身份验证。AccessKey包括AccessKey ID和AccessKey Secret。具体如下:

  • AccessKey ID:用于标识用户。

  • AccessKey Secret:用于验证用户的密钥。AccessKey Secret必须保密。

更多信息,请参见创建AccessKey

# IM相关配置 
  new_im:
    appId: "********"
    appKey: "********"
    appSign: "********"

直播互动消息应用ID,请参见前置准备中的创建互动消息应用获取。

 # 连麦相关配置
  live_mic:
    app_id: 7c61********
    app_key: c461b*********

连麦应用IDAppKey,请参见前置准备中的创建互动直播应用

# 配置允许跨域的请求域名
http:
  cors:
    host: "*"

Web端使用该服务时请正确设置CORS,以允许跨域请求。

数据库配置

当配置好数据库后,手工创建数据库表。以MySQL为例,建表语句如下:

CREATE TABLE `room_infos` (
  `id` char(32) NOT NULL,
  `created_at` datetime DEFAULT NULL,
  `updated_at` datetime DEFAULT NULL,
  `title` varchar(256) DEFAULT NULL,
  `extends` mediumtext,
  `status` tinyint DEFAULT NULL,
  `chat_id` char(32) DEFAULT NULL,
  `notice` varchar(256) DEFAULT NULL,
  `cover_url` varchar(256) DEFAULT NULL,
  `anchor_id` varchar(256) DEFAULT NULL,
  `anchor_nick` varchar(256) DEFAULT NULL,
  `meeting_info` mediumtext,
  `show_code` int NOT NULL,
  `started_at` datetime DEFAULT NULL,
  `stopped_at` datetime DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `idx_create_at` (`created_at`),
  UNIQUE KEY `udx_show_code`(`show_code`)
) ENGINE=InnoDB

  • 本页导读 (1)
文档反馈