运行后端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自动化测试结果 项目背景 现如今人们的生活压力大,容易使人疲惫,为了使得人们在闲暇之余可以听音乐放松,为此设计出一款轻量的听音乐网站,快速…...
数据库存储过程和函数
MySQL存储过程和存储函数 MySQL中提供存储过程(procedure)与存储函数(function)机制,我们先将其统称为存储程序,一般的SQL语句需要先编译然后执行,存储程序是一组为了完成特定功能的SQL语句集&…...
Spring依赖注入有哪些?各有什么优缺点?
文章目录 前言概述一、属性注入1.1 实例1.2 优点1.3 缺点 二、Setter注入2.1 实例2.2 优点2.3 缺点 三、 构造方法注入3.1 实例3.2 优点3.3 缺点 四、扩展 前言 IoC和DI是Spring中重要的两个概念,其中IoC指的是控制反转,DI(依赖注入)指的是IoC的具体实现…...
java八股文-并发篇
并发篇 1. 线程状态 要求 掌握 Java 线程六种状态掌握 Java 线程状态转换能理解五种状态与六种状态两种说法的区别 六种状态及转换 分别是 新建 当一个线程对象被创建,但还未调用 start 方法时处于新建状态此时未与操作系统底层线程关联 可运行 调用了 start …...
Elasticsearch8.6.0安装
Elasticsearch 8.5.0 安装 Elasticsearch 简介Elasticsearch 8.6.0 安装创建网络拉取镜像运行镜像设置密码修改kibana配置绑定ES代码绑定:手动绑定: 配置ik分词器扩展词词典停用词词典 Elasticsearch 简介 Elasticsearch(ES) 是一…...
Vue - 第五天 动态组件 插槽 自定义指令
动态组件& 插槽& 自定义指令 一、动态组件1.什么是动态组件2.如何实现动态组件渲染3.使用 keep-alive 保持状态4. keep-alive 对应的生命周期函数5. keep-alive 的 include 属性6.动态展示左右组件7.例子 二、插槽1.什么是插槽2.体验插槽的基础用法2.1 没有预留插槽的内…...
如何开展web自动化测试
Web 自动化是指使用测试脚本在 Web 上自动执行任务。它包括填写表单、导航网页、单击链接或按钮以及从网站中提取数据等任务。 它可用于各种目的,例如自动输入数据或测试网站的功能。有几种工具和编程语言可用于自动化网络上的任务,包括Selenium&#x…...
【博学谷学习记录】超强总结,用心分享 | 架构师 Maven学习总结
文章目录 Maven基本1.什么是Maven2.为什么用Maven?(1)jar 包的规模(2) jar 包的来源(3)jar 包之间的依赖关系 3.Maven目录结构4.maven仓库配置 Pom层次Pom文件简介Super POM 依赖管理1 依赖传递2 传递性依…...
PPT里文字太多如何排版-一口气教你7种布局瞬间让PPT高大上起来
简介 这是我们学PPT处于初级到中级进化阶段常做的一件事,就是拿了这种纯文字类版面来做布局。而且这种文字都是政企类的、相当苦涩难懂、无法创意。 因此我们会要求使用7种排版来优化这个版面。这和达芳奇画鸡蛋很像,这样的练习需要坚持一段时间,就是拿了纯文字来beautifu…...
Whistle(基于 Node 实现的跨平台抓包调试工具)的使用
Whistle(基于 Node 实现的跨平台抓包调试工具)的使用 基于Node实现的跨平台抓包调试工具 可以劫持网络请求,并进行请求和响应的修改,来提高我们的开发调试效率 1.一键安装(装包/证书) npm i -g whistle && w2 start --init 证书的问题 安装…...
数学模型:Python实现非线性规划
上篇文章:整数规划 文章摘要:非线性规划的Python实现。 参考书籍:数学建模算法与应用(第3版)司守奎 孙玺菁。 PS:只涉及了具体实现并不涉及底层理论。学习底层理论以及底层理论实现:可以参考1.最优化模型与算法——基于…...
曲靖 曲靖网站建设软件(app)开发/手机百度旧版本下载
命令模式 命令模式是最简单和优雅的模式之一,命令模式中的命令(command)指的是一个执行某些特定事情的指令。 命令模式最常见的应用场景是:有时候需要向某些对象发送请求,但是并不知道请求的接收者是谁,也不…...
做网站找个人还是找公司/品牌推广和营销推广
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼#定义一个密码,列表属性,可以修改password_list [reset, 12345]#定义一个函数,设定输入次数def user_login():tries 3#输入密码while tries > 0 :password input(请输入密码:)#定义密码正确…...
哪有做网站的/网络推广是什么工作
经常换电脑,要在不同的地方重复安装这些,但是每次去微软的网站下载都超级慢,而且不能批量下载,所以这次下载时直接把网址都记录下来了,方便以后以快车和迅雷批量下载。通俗点解释一下:WM6 Standard即原来的…...
塘沽做网站/在线数据分析工具
这篇文章主要为大家详细介绍了Java环境配置与编译运行的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 一、开篇 通过对之前Java之路的了解之后,相信初学者们都对Java有了一个比较深印象的了解了。但是事情不能总停留在理论层面…...
永久免费素材网站/新app推广去哪里找
刚刚接触SpringBoot,说说踩过的坑,主要的还是要记录下来,供以后反省反省! 今天主要讲讲 thymeleafsecurity 的搭建,SpringBoot的项目搭建应该比较简单,这里就不多说了。可以去网上找到很多。 一:…...