Skip to content

Commit 6bb5191

Browse files
authored
feat: browser&uni-app sdk documentation & directory structure optimization (openimsdk#3)
1 parent 45ffdcd commit 6bb5191

File tree

329 files changed

+43890
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

329 files changed

+43890
-0
lines changed
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{
2+
"position": 2,
3+
"label": "快速开始",
4+
"collapsible": true,
5+
"collapsed": true
6+
}
32.5 KB
Loading
57.6 KB
Loading
Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
---
2+
title: 'chat业务服务端源码部署'
3+
sidebar_position: 2
4+
---
5+
6+
# chat 业务服务端源码部署
7+
8+
OpenIM 是开源的即时通讯组件,它并不是一个独立的产品,本身不包含账号的注册和登录服务。
9+
为方便大家测试,我们开源了包括登录注册功能的 chat 仓库,chat 业务服务端和 Open-IM-Server 一起部署,即可搭建一个聊天产品。
10+
开发者也可以在此基础上开发朋友圈等 IM 之外的其他业务功能。
11+
12+
## 1、服务器环境说明
13+
14+
Linux 系统 8G 及以上内存,
15+
`go 1.18`或以上版本
16+
17+
## 2、拉取项目源码
18+
19+
```
20+
git clone https://github.com/OpenIMSDK/chat.git
21+
```
22+
23+
## 3、修改配置文件 chat/config/config.yaml
24+
25+
如果已申请阿里云短信服务,修改 chat/config/config.yaml 配置项,如果未申请先略过,默认验证码为 666666
26+
27+
```
28+
verifyCode:
29+
validTime: 300 # 验证码有效时间
30+
validCount: 5 # 验证码有效次数
31+
uintTime: 86400 # 单位时间间隔
32+
maxCount: 10 # 单位时间内最大获取次数
33+
superCode: 666666 # 默认手机验证码(只有use为空时生效)
34+
len: 6 # 验证码长度
35+
use: # 如申请了阿里短信服务,设置为ali使其生效
36+
ali:
37+
endpoint: "dysmsapi.aliyuncs.com"
38+
accessKeyId: ""
39+
accessKeySecret: ""
40+
signName: ""
41+
verificationCodeTemplateCode: ""
42+
43+
```
44+
45+
## 4、编译构建
46+
47+
```
48+
cd chat/scripts
49+
chmod +x *.sh
50+
./build_all_service.sh
51+
```
52+
53+
## 5、启动服务
54+
55+
```
56+
./start_all.sh;
57+
```
58+
59+
## 6、检查服务
60+
61+
```
62+
./check_all.sh
63+
```
64+
65+
## 7、停止服务
66+
67+
```
68+
./stop_all.sh
69+
```
70+
71+
### 开放 Chat 端口
72+
73+
| TCP 端口 | 说明 | 操作 |
74+
| --------- | ------------------------ | --------------------------------------- |
75+
| TCP:10008 | 业务系统,如注册、登录等 | 端口放行或 nginx 反向代理,并关闭防火墙 |
76+
| TCP:10009 | 管理后台,如统计、封号等 | 端口放行或 nginx 反向代理,并关闭防火墙 |
Lines changed: 110 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,110 @@
1+
---
2+
title: 'docker-compose部署'
3+
sidebar_position: 4
4+
---
5+
6+
## 一、**部署说明 **
7+
8+
使用 docker-compose 部署存储组件和 Open-IM-Server 服务端以及 chat 业务服务端
9+
10+
| 组件 | 说明 |
11+
| ----------------------------------------- | ----------------------------------- |
12+
| Mysql/Redis/MongoDB/Kafka/Zookeeper/Minio | Open-IM-Server 需要使用的存储组件 |
13+
| Open-IM-Server 服务端 | Open-IM-Server 消息、群组等核心功能 |
14+
| chat 服务端 | Chat 登录注册等业务功能 |
15+
16+
## 二、**docker-compose 部署**
17+
18+
先准备 go/git/docker/docker-compose,具体参考:https://doc.rentsoft.cn/#/component/docker
19+
20+
先选择某个大磁盘目录,然后依次输入如下命令:
21+
22+
```
23+
git clone https://github.com/OpenIMSDK/Open-IM-Server.git
24+
```
25+
26+
进入 Open-IM-Server 项目后
27+
28+
1.修改.env
29+
30+
此处主要修改相关组件密码
31+
32+
```
33+
USER=root #不用修改
34+
PASSWORD=openIM123 #8位以上的数字和字母组合密码,密码对redis mysql mongo生效,以及config/config.yaml中的accessSecret
35+
ENDPOINT=http://127.0.0.1:10005 #minio对外服务的ip和端口,或用域名storage.xx.xx,app要能访问到此ip和端口或域名,
36+
DATA_DIR=./ #指定大磁盘目录
37+
```
38+
39+
2.修改 IM 配置
40+
41+
config/config.yaml 组件密码根据.env 自动生成,无需手动修改。
42+
如需要使用个推离线推送,需修改修改一下配置,否则可以忽略。
43+
未申请个推可以先略过。
44+
45+
```
46+
push:
47+
enable: getui
48+
geTui: #选择个推离线推送
49+
pushUrl: "https://restapi.getui.com/v2/$appId"
50+
masterSecret: ""
51+
appKey: ""
52+
intent: ""
53+
channelID: ""
54+
channelName: ""
55+
```
56+
57+
3.修改 Chat 配置
58+
59+
如果已申请阿里云短信服务,修改 chat/config/config.yaml 配置项,如果未申请先略过,默认验证码为 666666
60+
61+
```
62+
verifyCode:
63+
validTime: 300 # 验证码有效时间
64+
validCount: 5 # 验证码有效次数
65+
uintTime: 86400 # 单位时间间隔
66+
maxCount: 10 # 单位时间内最大获取次数
67+
superCode: 666666 # 默认手机验证码(只有use为空时生效)
68+
len: 6 # 验证码长度
69+
use: # 如申请了阿里短信服务,设置为ali使其生效
70+
ali:
71+
endpoint: "dysmsapi.aliyuncs.com"
72+
accessKeyId: ""
73+
accessKeySecret: ""
74+
signName: ""
75+
verificationCodeTemplateCode: ""
76+
77+
```
78+
79+
4.初始化部署并启动
80+
注意:此命令只能执行一次,它会根据.env 中的 PASSWORD 变量修改 docker-compose 中组件密码,并修改 config/config.yaml 中的组件密码
81+
如果.env 中的密码变了,需要先 docker-compose down ; rm components -rf 后再执行此命令。
82+
83+
```
84+
chmod +x install_im_server.sh;
85+
./install_im_server.sh;
86+
```
87+
88+
可能存在的问题:如果非首次安装,env 密码对于组件不生效,如果数据不重要,先 docker-compose down ; rm components -rf 再执行以上步骤。
89+
90+
5.检查服务
91+
92+
```
93+
cd scripts;
94+
./docker_check_service.sh
95+
```
96+
97+
6.开放 IM 端口
98+
99+
| TCP 端口 | 说明 | 操作 |
100+
| --------- | ----------------------------------------------------- | --------------------------------------- |
101+
| TCP:10001 | ws 协议,消息端口,如消息发送、推送等,用于客户端 SDK | 端口放行或 nginx 反向代理,并关闭防火墙 |
102+
| TCP:10002 | api 端口,如用户、好友、群组、消息等接口。 | 端口放行或 nginx 反向代理,并关闭防火墙 |
103+
| TCP:10005 | 选择 minio 存储时需要(openIM 默认使用 minio 存储) | 端口放行或 nginx 反向代理,并关闭防火墙 |
104+
105+
7.开放 Chat 端口
106+
107+
| TCP 端口 | 说明 | 操作 |
108+
| --------- | ------------------------ | --------------------------------------- |
109+
| TCP:10008 | 业务系统,如注册、登录等 | 端口放行或 nginx 反向代理,并关闭防火墙 |
110+
| TCP:10009 | 管理后台,如统计、封号等 | 端口放行或 nginx 反向代理,并关闭防火墙 |
Lines changed: 150 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,150 @@
1+
---
2+
title: 'Open-IM-Server源码部署'
3+
sidebar_position: 1
4+
---
5+
6+
# Open-IM-Server 源码部署
7+
8+
Open-IM-Server 系统是即时通讯核心服务端,包括消息、群组、会话、好友等子系统。
9+
运行时依赖六大组件,在编译部署前需要确保其安装完成(以下为官方使用的组件版本)
10+
11+
```
12+
1、Zookeeper
13+
2、MySQL(version:5.7)
14+
3、MongoDB(version:4.0.28)
15+
4、Redis(version:redis_version:7.0.0)
16+
5、Kafka(version:kafka_2.13-2.8.1)
17+
6、Minio(version:minio version RELEASE.2022-05-26T05-48-41Z)
18+
```
19+
20+
## 1、服务器环境说明
21+
22+
Linux 系统 8G 及以上内存,
23+
`go 1.18`或以上版本
24+
25+
## 2、拉取项目源码
26+
27+
```
28+
git clone https://github.com/OpenIMSDK/Open-IM-Server.git
29+
```
30+
31+
## 3、修改配置文件参数 config/config.yaml
32+
33+
- 修改 Zookeeper 配置项
34+
35+
```
36+
zookeeper:
37+
schema: openim #不建议修改
38+
address: [ 127.0.0.1:2181 ] #地址
39+
username: #用户名
40+
password: #密码
41+
```
42+
43+
- 修改 MySQL 配置项
44+
45+
```
46+
mysql:
47+
address: [ 127.0.0.1:13306 ] #地址
48+
username: root #用户名
49+
password: openIM123 #密码
50+
database: openIM_v2 #不建议修改
51+
maxOpenConn: 1000 #最大连接数
52+
maxIdleConn: 100 #最大空闲连接数
53+
maxLifeTime: 60 #连接可以重复使用的最长时间(秒)
54+
logLevel: 4 #日志级别 1=slient 2=error 3=warn 4=info
55+
slowThreshold: 500 #慢语句阈值 (毫秒)
56+
```
57+
58+
- 修改 MongoDB 配置项
59+
60+
```
61+
mongo:
62+
uri: #不为空则直接使用该值
63+
address: [ 127.0.0.1:37017 ] #地址
64+
database: openIM #mongo db 默认即可
65+
username: root #用户名
66+
password: openIM123 #密码
67+
maxPoolSize: 100 #最大连接数
68+
```
69+
70+
- 修改 Redis 配置项
71+
72+
```
73+
redis:
74+
address: [ 127.0.0.1:16379 ] #地址
75+
username: #用户名
76+
password: openIM123 #密码
77+
```
78+
79+
- 修改 Kafka 配置项
80+
81+
```
82+
kafka:
83+
username: #用户名
84+
password: #密码
85+
addr: [ 127.0.0.1:9092 ] #地址
86+
latestMsgToRedis:
87+
topic: "latestMsgToRedis"
88+
offlineMsgToMongo:
89+
topic: "offlineMsgToMongoMysql"
90+
msgToPush:
91+
topic: "msqToPush"
92+
msgToModify:
93+
topic: "msgToModify"
94+
consumerGroupID:
95+
msgToRedis: redis
96+
msgToMongo: mongo
97+
msgToMySql: mysql
98+
msgToPush: push
99+
msgToModify: modify
100+
```
101+
102+
- 修改对象存储(minio)配置项
103+
104+
```
105+
object:
106+
enable: minio #使用minio
107+
apiURL: http://127.0.0.1:10002/third/object #外网访问地址,app要能访问此ip和端口
108+
minio:
109+
tempBucket: "openim" #临时文件存储桶名
110+
dataBucket: "openim" #数据文件存储桶名
111+
location: us-east-1 #位置或区域
112+
endpoint: http://127.0.0.1:10005 #minio对外服务的ip和端口,app要能访问此ip和端口
113+
accessKeyID: root #ID
114+
secretAccessKey: openIM123 #秘钥
115+
isDistributedMod: false #是否分布式多硬盘部署,如果是多硬盘部署,需要修改为true
116+
```
117+
118+
## 4、编译构建
119+
120+
```
121+
cd Open-IM-server/scripts
122+
chmod +x *.sh
123+
./build_all_service.sh
124+
```
125+
126+
## 5、启动服务
127+
128+
```
129+
./start_all.sh;
130+
```
131+
132+
## 6、检查服务
133+
134+
```
135+
./check_all.sh
136+
```
137+
138+
## 7、停止服务
139+
140+
```
141+
./stop_all.sh
142+
```
143+
144+
## 8、IM 开放端口
145+
146+
| TCP 端口 | 说明 | 操作 |
147+
| --------- | ----------------------------------------------------- | --------------------------------------- |
148+
| TCP:10001 | ws 协议,消息端口,如消息发送、推送等,用于客户端 SDK | 端口放行或 nginx 反向代理,并关闭防火墙 |
149+
| TCP:10002 | api 端口,如用户、好友、群组、消息等接口。 | 端口放行或 nginx 反向代理,并关闭防火墙 |
150+
| TCP:10005 | 选择 minio 存储时需要(openIM 默认使用 minio 存储) | 端口放行或 nginx 反向代理,并关闭防火墙 |
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
---
2+
title: '移动端快速验证'
3+
sidebar_position: 4
4+
---
5+
6+
# 移动端快速验证
7+
8+
## 一、部署服务端
9+
10+
参考 docker-compose 部署文档 [docker-compose 部署](./dockerCompose)
11+
12+
## 二、**下载官方 app**
13+
14+
> 扫码或者点击这里[前往下载](https://www.pgyer.com/openim_flutter_c_base_open)
15+
16+
<img
17+
width="200"
18+
src="https://www.pgyer.com/app/qrcode/openim_flutter_c_base_open"
19+
alt="app"
20+
/>
21+
22+
## 三、**修改服务器地址**
23+
24+
:::tip
25+
26+
支持 ip 和域名,注意开放相关端口,并重启 app。通过手机号注册,验证码默认为 666666
27+
28+
:::
29+
30+
![双击登录页图标](./assets/1688095532548.jpg)
31+
32+
![修改服务器地址](./assets/1688095537589.jpg)

0 commit comments

Comments
 (0)