运行后端SpringBoot项目

news2024/10/7 15:23:44

目录

一、注册微信开发者账号

1. 注册开发者账号

2. 获取appid和密钥

二、开通腾讯云TRTC服务

1. TRTC业务介绍

2. 为什么不使用阿里云的实时音视频服务,偏要选用腾讯云TRTC服务?

3. 开通TRTC服务

4. 领取TRTC的AppID和密钥

三、导入 emos-api 项目

1. 导入Maven 依赖

2. 修改数据库连接信息

四、运行 emos-wx-api 项目

1. 修改yml文件

2. 运行JAR文件


本项目用到的项目一共有5个,这些项目的具体用途如下:

        ·emos-wx-api:在线办公小程序的后端SpringBoot项目

        ·emos-wx:在线办公小程序的移动端uni-app项目

        ·emos-workflow:在线办公的工作流项目

        ·emos-api:在线办公Web系统的后端SpringBoot项目

        ·emos-vue:在线办公Web系统的前端VUE3.0项目

一、注册微信开发者账号

        因为本项目案例具有跟微信小程序交互的功能(例如扫码登录、支付罚款等),而且emos-wx项目是微信小程序项目,所以想要跑起来本项目的各种子项目,必须要提供微信小程序的appid 和 secret。只要我们正常注册微信开发者账号,就能拿到自己的 appid 和 secret 了。

1. 注册开发者账号

        打开浏览器,访问微信公众平台官网(https://mp.weixin.qq.com/),然后点击右上角的“立即注册”超链接。

        注册的开发者账号类型选择成“小程序”。

2. 获取appid和密钥

        开发 〉开发管理 〉开发设置

二、开通腾讯云TRTC服务

1. TRTC业务介绍

        腾讯实时音视频(TRTC)将腾讯21年来在网络与音视频技术上的深度积累,以多人音视频通话和低延时互动直播两大场景化方案,通过腾讯云服务向开发者开放,致力于帮助开发者快速搭建低成本、低延迟、高品质的音视频互动解决方案。

【多人音视频通话方案】:依靠腾讯云覆盖全球的专线网络,全球均可互通,提供覆盖手机、桌面全平台的客户端SDK以及云端API,终端用户还可以在微信、QQ、企业微信的小程序中使用TRTC服务,Web网页也可轻松使用。

【低延时互动直播方案】:凭借行业领先的网络与音视频技术,结合腾讯云优质的节点资源,帮助开发者搭建卡顿率更低、延迟1秒内的互动直播,让直播走进CDN2.0时代。

2. 为什么不使用阿里云的实时音视频服务,偏要选用腾讯云TRTC服务?

         因为咱们的在线办公系统,无论是浏览器版本还是小程序版本,都可以进行在线视频会议。其实很多云计算运营商都开放了在线视频会议服务。虽然阿里也有实时音视频服务,但是并不支持微信小程序,所以我们想要在微信小程序上面做在线视频会议,就必须使用腾讯的TRTC服务。包括浏览器端的在线音视频会议,我们使用腾讯云的TRTC服务也能有不错的效果。

        腾讯现在为开发者免费提供10000分钟的流量包,足够我们开发在线会议模块。如果正式上下运营,TRTC音视频流量包也很便宜。

3. 开通TRTC服务

登录腾讯云 〉云产品 〉实时音视频 〉应用管理 〉创建应用

创建应用之后,根据系统提示,领取免费的流量包。

4. 领取TRTC的AppID和密钥

        在 TRTC 〉应用管理 〉快速上手,标题文字旁边的就是AppID,把这个字符串复制下来。在页面中部可以获取TRTC的密钥,把密钥复制下来。

三、导入 emos-api 项目

        上一个小节,我们在本地把工作流项目运行起来了,接下来咱们要去运行Emos工程的后端SpringBoot项目,这个项目在“初始化项目”目录中,把emos-api.zip文件解压缩,然后导入到IDEA里面。

1. 导入Maven 依赖

        导入项目之后,首先要找到 pom.xml 文件,选中文件然后点击鼠标右键,选择“添加为Maven项目”,然后 Maven 就会帮我们初始化 Java 项目。

2. 修改数据库连接信息

打开application.yml文件,把里面的MySQL连接信息改成你本地的。

druid:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/emos?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&nullCatalogMeansCurrent=true
    username: root
    password: abc123456
    initial-size: 2
    max-active: 4
    min-idle: 4

接下来我们还要修改redis和mongodb的连接信息,也是改成你本地的连接信息。

  redis:
    database: 0
    host: localhost
    port: 6379
    password: abc123456
    jedis:
      pool:
        max-active: 1000
        max-wait: -1ms
        max-idle: 16
        min-idle: 8
  data:
    mongodb:
      host: localhost
      port: 27017
      database: emos
      authentication-database: admin
      username: admin
      password: abc123456

最后你要把自己的TRTC的appid和密钥,以及微信小程序appid和密钥填写到yml文件中。

tencent:
  trtc:
    appId: 你自己TRTC的APPID
    secretKey: 你自己TRTC的密钥
    expire: 86400
wx:
  app-id: 你自己微信小程序APPID
  app-secret: 你自己微信小程序密钥

        做好了上述的操作,我们先启动MySQL、Redis、MongoDB和RabbitMQ,包括工作流项目也要运行起来,接下来我们运行 EmosApiApplication.java 主类。如果控制台没有报错,说明 emos-api 这个项目已经没有问题了。

        服务器用的 jetty 不是 tomcat。jetty 最大特点 IO 模型是非阻塞的,仅用少量的线程就可以对应大规模的并发请求了。

四、运行 emos-wx-api 项目

        在“项目 〉初始化项目”中存放着 emos-wx-api.zip 文件,你把这个文件下载到本地,解压缩之后会看到 emos-wx-api.jar 和 application.yml 两个文件。

1. 修改yml文件

        修改解压缩出来的 application.yml 文件内容,里面有很多东西要修改。因为 emos-wx-api 项目包含了很多功能,配置这些功能的过程非常繁琐,所以暂且把其中的核心功能配置出来,至于其他的功能后续再说。因为yml文件的内容太多,要修改哪些地方和内容,再听。

2. 运行JAR文件

        必须把 emos-wx-api.jar 和 application.yml 文件放在同一个目录之下,然后执行下面的命令运行JAR文件。

java -jar emos-wx-api.jar --spring.config.location=application.yml

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/632612.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Geant4安装记录,15.5.0VMware + 11.0.0G4 + 18..04.1 ubuntu

仅仅是记录学习使用,有问题请联系 Geant4安装前准备 (1)安装虚拟机, VMware 15.5 (2)在虚拟机上安装ubuntu 以上两个步骤在网上有很多教程,安装很简单,大家自行安装即可 这里记录…

【前端验证】通关寄存器与ral_model —— 25种常用寄存器类型全览

寄存器的属性分类 本文档对于寄存器的属性以synopsys相关文档以及ral_model生成模型时的识别方式为基准。通常讲可以归纳为以下三个方面:读写属性read-write access、写后值modified write value、读后操作read action。注意,这里指的都是软件的操作&am…

chatgpt赋能python:Python怎么升序排序

Python怎么升序排序 排序是我们经常会用到的一种操作,而在Python中,对于列表或数组等序列类型的数据,我们可以使用内置的sorted()函数来进行排序操作。而在排序时,升序排序是我们最常用的一种。 Python中的sorted()函数 sorted…

关于uni-app与vue路由配置的不同,不使用uni.navigateTo接口跳转时,使用this.$router.push的踩坑经验

目录 懵逼的一个小时 uni-app与vue路由配置的不同 非官方接口的另类写法 错误编写: 正确编写(只需写父组件即可,其他是多余): 懵逼的一个小时 之前用vue写router路由的时候,先配置一个路由表&am…

chatgpt赋能python:Python怎么删除列表中的最大值和最小值

Python怎么删除列表中的最大值和最小值 在Python中,一个列表(List)是一种非常常见的数据结构,它允许我们以有序的方式存储和访问数据。但是,有时候我们需要从列表中删除最大或最小的值,以满足我们的特定需…

哈希表原理,以及unordered_set/和unordered_map的封装和迭代器的实现

哈希表 unordered系列unordered_set和unordered_map的使用哈希哈希概念哈希冲突哈希函数闭散列开散列哈希表的扩容哈希表源码(开散列和闭散列) 封装unordered_set/和unordered_map,以及实现迭代器节点定义unordered_set定义unordered_map定义…

Python3 flask-socketio 整合vue

1. 前端说明 前端追加了vue-socket.io的依赖 更新package.json及package-lock.json后,需要补充库 2. 后端说明 服务端需要安装的python包 suse python 3.6.12 Flask_SocketIO-4.3.1-py2.py3-none-any.whl python_socketio-4.6.0-py2.py3-none-any.whl python_…

在PPT里如何做出晶莹剔透的高级水泡感出来呢

开篇 很多PPT特别是一些TED演讲类PPT,它的首页开篇给人以强烈的冲击感。比如说上面这张PPT,笔者就卖出过一页800元的效果。它的高级高级在以下两个地方: 水晶感;透明感这是时下非常流行的一种TED场景式演讲专用的PPT,适用于一些大厂的CTO、CEO都大量使用这种效果。 今天…

shell脚本编写辅助命令

目录 一、echo 命令 二、字符串相关操作 1.截取字符串 2.获取字符串长度 3.字符串追加字符 4.从开头或结尾删除字符串指定格式内容 三、随机数 1.使用 $RANDOM 2.指定RANDOM变量的范围 (1)从0开始的范围 (2)从指定数始…

35、git的使用

一、git简介 git是一款免费、开源的版本控制系统,用于高效地处理任何或大或小的项目。 作用: 文件存档备份 文件版本管理 多人协同合作(自动合并) 二、git的三个区域 工作区:处理工作的区域 暂存区:临时存放…

Shell脚本实现数组冒泡排序等简单算法排序

目录 一、冒泡排序 1.简介 2.基本思想 3.算法思路 4.shell脚本实现 二、选择排序 1.简介 2.基本思想 3.shell脚本实现 三、插入排序 1.算法思路 2.shell脚本实现 四、反转排序 1.作用 2.shell脚本实现 一、冒泡排序 1.简介 类似气泡上涌的动作,会将…

Java入门之学习随记(三)

一. 栈内存和堆内存 堆内存:存放"引用数据类型的数据"和"new出来的对象",注意-创建出来的对象只包含各自的成员变量,不包括成员方法. 栈内存:存放"基本数据类型的数据","引用数据类型的变量名"以及"对象的引用",但是引用数…

k8s之ReplicaSet回收pod的优先级

ReplicaSet syncReplicaSet的逻辑,首先找到rs下相关的pod // 从informer中获取当前ns下所有的podallPods, err : rsc.podLister.Pods(rs.Namespace).List(labels.Everything())if err ! nil {return err}// 忽略不健康的podfilteredPods : controller.FilterActiveP…

CentOS桥接模式下设置静态IP并解决java.net.ConnectException: Connection timed out: connect

一、前言 最近在配置服务器,DHCP模式下IP地址不固定,每次SSH远程登录连接不上,都要查看新动态分配的IP地址重新配置,感觉些许麻烦,于是给机器配置了静态固定IP。 动态主机配置协议DHCP(Dynamic Host Confi…

Shell脚本练习题(附详细解题过程)

目录 一、利用for循环打印99乘法表 二、十进制转二进制 三、将十进制ip地址转换为二进制格式 四、检测某个网段中存活的主机并输出其ip地址 五、检查文件中用户名是否存在并提示创建用户和设置密码 六、检查httpd服务并开启 七、根据百米赛跑成绩判断结果 八、随机数…

栈和队列(数据结构刷题)[一]-python

文章目录 前言一、原理介绍二、用栈实现队列1.操作2.思路 三、关于面试考察栈里面的元素在内存中是连续分布的么? 前言 提到栈和队列,大家可能对它们的了解只停留在表面,再深入一点,好像知道又好像不知道的感觉。本文我将从底层实…

Django----------模板、静态文件、案例(城市天气预报)、请求和响应

目录 1.templates模板 2.静态文件 1.static目录 2.引用静态文件 1.方式一:直接引用 2.方式二:头部及内部引用 3. 模板语法 1.取内容 2.取下标 3.for循环 4.利用字典 5.列表里套字典 6.if条件语句 7.总结 4.案例(城市天气预…

CH573-01-GPIO-LED——RISC-V内核BLE MCU快速开发教程

1. 新建工程 1) NEW Project 点击“File->New->MounRiver Project”: 2) finish 选择CH573F的裸机开发工程模板,如下图,然后点击“finish” 3) 编译检查 4) 精简代码 打开工程目录下的./src/main.c文件,修改删掉生成的串口测…

动态规划III (买股票-121、122、123、188)

CP121 买股票的最佳时机 题目描述: 给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利…

Vue 中的几种动画效果

Vue 中的动画效果 在 Vue 中,动画效果是非常常见的交互方式。它可以为用户提供更加生动的交互体验,增强用户的参与感和满意度。在本文中,我们将探讨 Vue 中的动画效果的基本原理和用法,并给出一些实例代码来帮助读者更好地理解。…