运行后端SpringBoot项目
目录
一、注册微信开发者账号
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.Driverurl: jdbc:mysql://localhost:3306/emos?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&nullCatalogMeansCurrent=trueusername: rootpassword: abc123456initial-size: 2max-active: 4min-idle: 4
接下来我们还要修改redis和mongodb的连接信息,也是改成你本地的连接信息。
redis:database: 0host: localhostport: 6379password: abc123456jedis:pool:max-active: 1000max-wait: -1msmax-idle: 16min-idle: 8data:mongodb:host: localhostport: 27017database: emosauthentication-database: adminusername: adminpassword: abc123456
最后你要把自己的TRTC的appid和密钥,以及微信小程序appid和密钥填写到yml文件中。
tencent:trtc:appId: 你自己TRTC的APPIDsecretKey: 你自己TRTC的密钥expire: 86400
wx:app-id: 你自己微信小程序APPIDapp-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
相关文章:

运行后端SpringBoot项目
目录 一、注册微信开发者账号 1. 注册开发者账号 2. 获取appid和密钥 二、开通腾讯云TRTC服务 1. TRTC业务介绍 2. 为什么不使用阿里云的实时音视频服务,偏要选用腾讯云TRTC服务? 3. 开通TRTC服务 4. 领取TRTC的AppID和密钥 三、导入 emos-api …...
#如何对待工作中的失误?# 如何对待工作与生活中的失误——一些不成熟的忠告
关于如何对待工作与生活中的失误的忠告 1.在面对失误而带来的指责和沮丧时,应该如何做?1.1 正确认识失误1.2 处理失误后情绪与问题的途径1.2.1 接受现实,不要否认错误1.2.2 不要过度臆想1.2.3 安排调整情绪的时间1.2.4 向他人寻求帮助 2.发生…...

Shell脚本文本三剑客之awk编辑器
目录 一、awk简介 二、awk工作原理 三、awk命令格式 四、awk命令的使用 1.print操作按行输出文本 2.print操作按字段截取输出文本 3.使用BEGIN和END指定操作 4.使用管道符号,双引号调用shell命令 5.使用操作getline 6.使用操作OFS 7.配合数组使用 一、…...
Focal Loss介绍
目录 前言一. Focal Loss二. 总结 前言 在目标检测算法中,我们会经常遇到Focal Loss这个东西,今天我们就来简单的分下下这个损失。 一. Focal Loss 在深度学习训练的时候,在遇到目标类别不平衡时,如果直接计算损失函数࿰…...

【数据结构与算法】04 哈希表 / 散列表 (哈希函数、哈希冲突、链地址法、开放地址法、SHA256)
一种很好用,很高效,又一学就会的数据结构,你确定不看看? 一、哈希表 Hash Table1.1 核心概念1.2 哈希函数 Hash Function1.3 哈希冲突 Hash Collision1.4 哈希冲突解决1.41 方法概述1.42 链地址法 Separate Chaining1.43 开放寻址…...
每日一道面试题之介绍一下Java的序列化和反序列化!
什么是序列化? 序列化是将对象转换为容易传输的格式的过程,它是一种用来处理对象流的机制,将对象的内容流化,从而使流化后的对象传输于网络之间,以便它们可以在网络上传输或在磁盘上存储。反序列化是将序列化后的数据…...

Netty实战(十一)
预置的ChannelHandler和编解码器(一)HTTP和SSL/TLS的添加和使用 一、SSL和TLS添加二、基于Netty的HTTP程序2.1 HTTP解码器、编码器和编解码器2.2 聚合HTTP消息2.3 HTTP压缩 一、SSL和TLS添加 作为一个通讯框架,通讯数据的安全性也是不可或缺的…...
Qos服务质量、心跳机制、保留消息,遗嘱信息,用户密码认证
这里写目录标题 Qos服务质量使用ESP8266接收QoS1的MQTT消息保留消息(retainFlag)心跳机制遗嘱信息 Qos服务质量 若想实现QoS>0,订阅端连接服务端时cleanSession需要设置为false,订阅端订阅主题时QoS>0,发布端发…...
MATLAB 之 线性方程组求解
这里写目录标题 一、线性方程组求解1. 线性方程组的直接解法1.1 利用左除运算符的直接解法1.2 利用矩阵的分解求解线性方程组 2. 线性方程组的迭代解法2.1 Jacobi 迭代法2.2 Gauss-Serdel 迭代法 3. 求线性方程的通解 一、线性方程组求解 在 MATLAB 中,关于线性方程…...

华为OD机试真题 Java 实现【字符串序列判定】【2022Q4 100分】,附详细解题思路
一、题目描述 输入两个字符串a和b,都只包含英文小写字母。a长度<=100,b长度<=500,000。 判定a是否是b的有效子串。 判定规则: a中的每个字符在b中都能找到(可以不连续),且a在b中字符的前后顺序与a中顺序要保持一致。 (例如,a=”qwt”是b=”qwerty”的一个子…...

taro使用小记 —— 持续更新
目录 1、在 taro 中使用 axios2、在 taro 中添加全局组件自动引入和方法自动引入3、在 taro 中使用 pinia 1、在 taro 中使用 axios taro 3.6 版本已经支持了网络请求库。 需安装插件 tarojs/plugin-http 使用和注意事项说明: https://www.npmjs.com/package/taroj…...

【LeetCode】110. 平衡二叉树
110. 平衡二叉树(简单) 思路 对二叉树做先序遍历,从底至顶返回子树最大高度,若判定某子树不是平衡树则“剪枝”直接向上返回。 递归返回值: 当节点 root 左、右子树的高度差 > 1:返回 -1,代…...
SQL视图、存储过程、触发器
一、视图 (一)介绍 视图(view)是一种虚拟存在的表。视图中的数据并不在数据库中实际存在,行和列数据来自定义视图的查询中使用的表,并且是在使用视图时动态生成的。 通俗的讲,视图只保存了查询的SQL逻辑&…...

DNS隧道穿透
介绍: DNS隧道,是隧道技术中的一种。当我们的HTTP、HTTPS这样的上层协议、正反向端口转发都失败的时候,可以尝试使用DNS隧道。DNS隧道很难防范,因为平时的业务也好,使用也罢,难免会用到DNS协议进行解析&am…...
1.2 Scala变量与数据类型
一、变量声明 (一)简单说明 Scala中变量的声明使用关键字val和var。val类似Java中的final变量,也就是常量,一旦初始化将不可修改;var类似Java中的非final变量,可以被多次赋值,多次修改。 val - …...

深入探讨软件测试的质量度量指标
本文的目的是介绍项目中使用到主要质量指标,这些质量指标可以分为以下三类: 质量保证过程指标生产事故管理指标度量质量文化指标 质量保证过程指标 质量保证指标可以通过测试覆盖率来度量功能和非功能测试的覆盖率,同时也可以根据测试发现…...
6.12作业
1、pinia和vuex的区别 1.pinia没有mutations,只有state,getters,actions 2.pinia分模块不需要modules (之前vuex分模块需要modules) 3.pinia体积更小(性能更好) 4.pinia可以直接修改state数据 2、Vue2和vue3的响应式原理分别是什么&#x…...

RabbitMQ集群部署之镜像模式
RabbitMQ集群的普通模式中,一旦创建队列的主机宕机,队列就会不可用。不具备高可用能力。如果要解决这个问题,必须使用官方提供的镜像集群方案。 官方文档地址:https://www.rabbitmq.com/ha.html 1.镜像模式的特征 默认情况下&a…...
【算法】Remove Zero Sum Consecutive Nodes from Linked List 从链表中删去总和值为零的连续节点
文章目录 Remove Zero Sum Consecutive Nodes from Linked List 从链表中删去总和值为零的连续节点问题描述:分析代码 Remove Zero Sum Consecutive Nodes from Linked List 从链表中删去总和值为零的连续节点 问题描述: 给你一个链表的头节点 head&am…...

音悦台项目测试报告
文章目录 项目背景项目功能测试计划与设计功能测试自动化测试 测试结果功能测试结果UI自动化测试结果 项目背景 现如今人们的生活压力大,容易使人疲惫,为了使得人们在闲暇之余可以听音乐放松,为此设计出一款轻量的听音乐网站,快速…...

19c补丁后oracle属主变化,导致不能识别磁盘组
补丁后服务器重启,数据库再次无法启动 ORA01017: invalid username/password; logon denied Oracle 19c 在打上 19.23 或以上补丁版本后,存在与用户组权限相关的问题。具体表现为,Oracle 实例的运行用户(oracle)和集…...
React Native 导航系统实战(React Navigation)
导航系统实战(React Navigation) React Navigation 是 React Native 应用中最常用的导航库之一,它提供了多种导航模式,如堆栈导航(Stack Navigator)、标签导航(Tab Navigator)和抽屉…...

【JavaEE】-- HTTP
1. HTTP是什么? HTTP(全称为"超文本传输协议")是一种应用非常广泛的应用层协议,HTTP是基于TCP协议的一种应用层协议。 应用层协议:是计算机网络协议栈中最高层的协议,它定义了运行在不同主机上…...

vscode(仍待补充)
写于2025 6.9 主包将加入vscode这个更权威的圈子 vscode的基本使用 侧边栏 vscode还能连接ssh? debug时使用的launch文件 1.task.json {"tasks": [{"type": "cppbuild","label": "C/C: gcc.exe 生成活动文件"…...

关于iview组件中使用 table , 绑定序号分页后序号从1开始的解决方案
问题描述:iview使用table 中type: "index",分页之后 ,索引还是从1开始,试过绑定后台返回数据的id, 这种方法可行,就是后台返回数据的每个页面id都不完全是按照从1开始的升序,因此百度了下,找到了…...

Cinnamon修改面板小工具图标
Cinnamon开始菜单-CSDN博客 设置模块都是做好的,比GNOME简单得多! 在 applet.js 里增加 const Settings imports.ui.settings;this.settings new Settings.AppletSettings(this, HTYMenusonichy, instance_id); this.settings.bind(menu-icon, menu…...

Ascend NPU上适配Step-Audio模型
1 概述 1.1 简述 Step-Audio 是业界首个集语音理解与生成控制一体化的产品级开源实时语音对话系统,支持多语言对话(如 中文,英文,日语),语音情感(如 开心,悲伤)&#x…...

微信小程序云开发平台MySQL的连接方式
注:微信小程序云开发平台指的是腾讯云开发 先给结论:微信小程序云开发平台的MySQL,无法通过获取数据库连接信息的方式进行连接,连接只能通过云开发的SDK连接,具体要参考官方文档: 为什么? 因为…...

全志A40i android7.1 调试信息打印串口由uart0改为uart3
一,概述 1. 目的 将调试信息打印串口由uart0改为uart3。 2. 版本信息 Uboot版本:2014.07; Kernel版本:Linux-3.10; 二,Uboot 1. sys_config.fex改动 使能uart3(TX:PH00 RX:PH01),并让boo…...
laravel8+vue3.0+element-plus搭建方法
创建 laravel8 项目 composer create-project --prefer-dist laravel/laravel laravel8 8.* 安装 laravel/ui composer require laravel/ui 修改 package.json 文件 "devDependencies": {"vue/compiler-sfc": "^3.0.7","axios": …...