Showing
12 changed files
with
421 additions
and
1 deletions
.sparkleshare
0 → 100644
1 | +c885220754f142364c05832aa5db702c0ceac992 |
9-1相关/9-1版本相关接口.md
0 → 100644
1 | + | ||
2 | +# 9.1接口文档: | ||
3 | + | ||
4 | +- 完成任务分享接口 | ||
5 | + | ||
6 | +路径: | ||
7 | +api-online.test.boxfish.cn/share/for?share_type=FINISH_STUDY&access_token=admin | ||
8 | + | ||
9 | +方式: | ||
10 | +POST | ||
11 | + | ||
12 | + 参数例子: | ||
13 | + { | ||
14 | + "title" : "BOXFiSH学员:学习全辅导,每天都上外教课!", | ||
15 | + "imageName" : "award_logo.png", | ||
16 | + "description" : "我在BOXFiSH学英语#学的不止是英语,更是全球视角下的独立思考。", | ||
17 | + "award_code":"hahaha", | ||
18 | + "lesson_list":[ | ||
19 | + { | ||
20 | + "lesson_name" : "lesson_name1", | ||
21 | + "lesson_cover" : "lesson_cover1", | ||
22 | + "lesson_type" : "lesson_type1" | ||
23 | + }, | ||
24 | + { | ||
25 | + "lesson_name" : "lesson_name2", | ||
26 | + "lesson_cover" : "lesson_cover2", | ||
27 | + "lesson_type" : "lesson_type2" | ||
28 | + }, | ||
29 | + { | ||
30 | + "lesson_name" : "lesson_name3", | ||
31 | + "lesson_cover" : "lesson_cover3", | ||
32 | + "lesson_type" : "lesson_type3" | ||
33 | + } | ||
34 | + ] | ||
35 | + } | ||
36 | + | ||
37 | + 返回结果例子: | ||
38 | + | ||
39 | + { | ||
40 | + "online_score": "106", | ||
41 | + "gold": "633", | ||
42 | + "msg": "success", | ||
43 | + "url": "http://api-online.test.boxfish.cn/share/wechat/finish/study/1/b834bf2e-2244-4884-a0ed-050ce0fa8c62" | ||
44 | + | ||
45 | + } | ||
46 | + | ||
47 | + | ||
48 | + | ||
49 | +- 阶段预测接口 | ||
50 | + | ||
51 | +路径: | ||
52 | + | ||
53 | +api-online.test.boxfish.cn/stage/multiword/info?access_token=JWEIEfGYly | ||
54 | + | ||
55 | +方式: | ||
56 | + | ||
57 | +GET | ||
58 | + | ||
59 | + 返回结果例子: | ||
60 | + { | ||
61 | + "increment": { | ||
62 | + "multi_word_increase": 1256, | ||
63 | + "word_increase": 1151, | ||
64 | + "reading_amount_increase": 3001, | ||
65 | + "listening_time_increase": 33060, | ||
66 | + "record_score_increase": 0, | ||
67 | + "phrase_increase": 0 | ||
68 | + }, | ||
69 | + "weeks": "预计2周完成", | ||
70 | + "level": 2, | ||
71 | + "stage": "第一阶段" | ||
72 | + } | ||
73 | + | ||
74 | + | ||
75 | + | ||
76 | + - 完成任务分享接口 | ||
77 | +路径: | ||
78 | + | ||
79 | +api-online.test.boxfish.cn/share/for?share_type=FINISH_STUDY&access_token=admin | ||
80 | + | ||
81 | +方式: | ||
82 | + | ||
83 | +POST | ||
84 | + | ||
85 | + 参数例子: | ||
86 | + { | ||
87 | + "title" : "BOXFiSH学员:学习全辅导,每天都上外教课!", | ||
88 | + "imageName" : "award_logo.png", | ||
89 | + "description" : "我在BOXFiSH学英语#学的不止是英语,更是全球视角下的独立思考。", | ||
90 | + "award_code":"这里是奖品码参数" | ||
91 | + } | ||
92 | + 返回结果例子: | ||
93 | + { | ||
94 | + "score": "106", | ||
95 | + "gold": "633", | ||
96 | + "msg": "success", | ||
97 | + "url": "http://api-online.test.boxfish.cn/share/wechat/finish/study/1/b834bf2e-2244-4884-a0ed-050ce0fa8c62" | ||
98 | + } | ||
99 | + | ||
100 | + - 完成任务分享 - 分享成功 | ||
101 | + | ||
102 | +路径: | ||
103 | + | ||
104 | +/successful/share?access_token=admin&share_type=FINISH_STUDY | ||
105 | + | ||
106 | +方式: | ||
107 | + | ||
108 | +POST | ||
109 | + | ||
110 | +路径参数: | ||
111 | +share_type=FINISH_STUDY | ||
112 | + | ||
113 | +body参数: | ||
114 | + | ||
115 | + | ||
116 | + { | ||
117 | + "url":"http://localhost/share/wechat/finish/study/1299909/16f3cbf6-4922-4ce4-af60-21b2742bb8b2", | ||
118 | + "platform":"QQ" | ||
119 | + } | ||
120 | + | ||
121 | + | ||
122 | + | ||
123 | + | ||
124 | + | ||
125 | + | ||
126 | + - user/me | ||
127 | + | ||
128 | + 路径: | ||
129 | + | ||
130 | + user/me | ||
131 | + | ||
132 | + 方式: | ||
133 | + | ||
134 | + GET | ||
135 | + | ||
136 | + | ||
137 | + 返回参数: | ||
138 | + { | ||
139 | + "grade": "六年级", | ||
140 | + "difficulty": "5", | ||
141 | + "courseLevel": "5", | ||
142 | + "publication": "PEP版六年级上", | ||
143 | + "updateTime": "2017-03-09 19:06:29.0", | ||
144 | + "update_at": "2017-03-09 19:06:29.0", | ||
145 | + "plan": "ONE_HOUR", | ||
146 | + "purchase": "OPEN_4P", | ||
147 | + "mobile": "18264160050", | ||
148 | + "interface_version": { | ||
149 | + "finished": "2016-09-03T17:00:47.815", | ||
150 | + "score": "2016-09-03T17:00:47.815", | ||
151 | + "buy": "2016-09-03T17:00:47.815", | ||
152 | + "synchronize_word": 1 | ||
153 | + }, | ||
154 | + "id": 1, | ||
155 | + "username": "admin", | ||
156 | + "nickname": "拒绝黄赌毒", | ||
157 | + "realname": "盒子鱼", | ||
158 | + "figure_url": "https://avatars.boxfish.cn/user/-12/figure/1411532427.jpg", | ||
159 | + "catalog": "初中", | ||
160 | + "completed": 6, | ||
161 | + "first_login": true, | ||
162 | + "gift": [ | ||
163 | + "lesson_convert_score" | ||
164 | + ], | ||
165 | + "score": 372738, | ||
166 | + "goal": { | ||
167 | + "id": 1, | ||
168 | + "goal_step": 55000, | ||
169 | + "current_step": 3218 | ||
170 | + }, | ||
171 | + "queue": { | ||
172 | + "log_queue_url": "http://cropd5q7bl.mqs-cn-hangzhou.aliyuncs.com/", | ||
173 | + "log_queue_name": "test-boxfish-log", | ||
174 | + "event_queue_url": "http://cropd5q7bl.mqs-cn-hangzhou.aliyuncs.com/", | ||
175 | + "event_queue_name": "test-boxfish-word-event", | ||
176 | + "log_mns_queue_url": "https://1296825402699921.mns.cn-hangzhou.aliyuncs.com/", | ||
177 | + "log_mns_queue_name": "test-boxfish-log", | ||
178 | + "event_mns_queue_url": "https://1296825402699921.mns.cn-hangzhou.aliyuncs.com/", | ||
179 | + "event_mns_queue_name": "test-boxfish-word-event" | ||
180 | + }, | ||
181 | + "easemob_username": "c4ca4238a0b923820dcc509a6f75849b", | ||
182 | + "easemob_password": "bc7235a51e34c1d3ebfddeb538c20c71", | ||
183 | + "current_login_type": "email", | ||
184 | + "today_score": 0, | ||
185 | + "qcloud": { | ||
186 | + "identifier": "c4ca4238a0b923820dcc509a6f75849b", | ||
187 | + "sign": "eJxFkFFPgzAQx78Lz8ZcSzuoiQ9sOEUhEecc7IWUUlidMOy6yTR*dxlh8emS3*8ud--7sV7DxTVvW1Vk3GS2LqwbC6yrAcuuVVpmvDRS9xhRSjHAxR6l3qtd0wsMiCJsA-xLVcjGqFINg4IITrDtcshZXzAUQlBgfFI61CUsH2f2quqbo7vlLIj9JEafkVOlm-hZvYuHwyM6QuIGH2lrnrbGv69MINcz031-eUG1mmO*Cb2lnMOb8bvEneomJKtpzV5wukj0up7oHEFUnrzby7Jimw2xz8HI*XJiUzpKo2o5cJchmzrARs6F2B0ak5lTK4c--f4BR3Bemg__" | ||
188 | + }, | ||
189 | + "version": "100.0.0", | ||
190 | + " is_school_student": true, | ||
191 | + "user_role": [ | ||
192 | + "user", | ||
193 | + "teacher", | ||
194 | + "student" | ||
195 | + ] | ||
196 | + } | ||
197 | + | ||
198 | + | ||
199 | + - 新版首页 | ||
200 | + | ||
201 | + /event/statistic/stage/info | ||
202 | + | ||
203 | + 方式: | ||
204 | + | ||
205 | + GET | ||
206 | + | ||
207 | + | ||
208 | + 返回参数: | ||
209 | + { | ||
210 | + "stage_level": 3, | ||
211 | + "stage": 1, | ||
212 | + "progress": "0.00", | ||
213 | + "record_score": 0, | ||
214 | + "listening_duration": 0, | ||
215 | + "multiword_count": 0 | ||
216 | + } | ||
217 | + | ||
218 | + | ||
219 | + |
@@ -255,10 +255,12 @@ | @@ -255,10 +255,12 @@ | ||
255 | * [网络状态检测](未整理/网络状态检测.md) | 255 | * [网络状态检测](未整理/网络状态检测.md) |
256 | * [网页测试Demo数据](未整理/网页测试Demo数据.md) | 256 | * [网页测试Demo数据](未整理/网页测试Demo数据.md) |
257 | * [获取当前分类下存在的班级](未整理/获取当前分类下存在的班级.md) | 257 | * [获取当前分类下存在的班级](未整理/获取当前分类下存在的班级.md) |
258 | +* [老罗](laoluo.md) | ||
259 | +* [老罗](laoluo1.md) | ||
258 | * [分享](yjw接口文档/y分享.md) | 260 | * [分享](yjw接口文档/y分享.md) |
259 | * [口语测评](yjw接口文档/y口语测评.md) | 261 | * [口语测评](yjw接口文档/y口语测评.md) |
260 | * [手机号接口](yjw接口文档/y手机号接口.md) | 262 | * [手机号接口](yjw接口文档/y手机号接口.md) |
261 | * [提交成绩](yjw接口文档/y提交成绩.md) | 263 | * [提交成绩](yjw接口文档/y提交成绩.md) |
262 | * [每日推送](yjw接口文档/y每日推送.md) | 264 | * [每日推送](yjw接口文档/y每日推送.md) |
263 | * [阶段数](yjw接口文档/y阶段数.md) | 265 | * [阶段数](yjw接口文档/y阶段数.md) |
264 | -* [文案组分享统计](yjw接口文档/y分享统计.md) | 266 | +* [文案组分享统计](yjw接口文档/y分享统计.md) |
laoluo.md
0 → 100644
1 | +## 内容研发环境部署 | ||
2 | + | ||
3 | +### 一 资源管理 rms | ||
4 | +|名称|值|描述 | ||
5 | +||| | ||
6 | +|主机|192.168.0.111:8060 | ||
7 | +|目录|/root/projects/rms-web-1.0-SNAPSHOT.jar| | ||
8 | +|地址|http://192.168.0.111:8060/| | ||
9 | +|服务启动|service rms start| | ||
10 | +|redis|192.168.0.111|database(5) | ||
11 | +|rabbitMq|192.168.1.248|(user:admin,pass:boxfish, host:/) | ||
12 | +|总表对比表|http://192.168.0.111:10504/| | ||
13 | +|认证系统|http://192.168.0.111:8085| | ||
14 | +|日志系统|http://192.168.0.111:8088| | ||
15 | +|ffmpeg|/usr/bin/ffprobe|使用tika功能需要使用这个软件 | ||
16 | +|jackrabbit|/share/rms/jackrabbit| | ||
17 | +|跑课资源日志|/share/rms_resource.log| | ||
18 | + | ||
19 | +### 二 4A:用户管理 register | ||
20 | +|名称|值|描述 | ||
21 | +||| | ||
22 | +|主机|192.168.0.111:8820| | ||
23 | +|目录|/root/projects/register.jar| | ||
24 | +|地址|http://192.168.0.111:8820/| | ||
25 | +|服务启动|service register start| | ||
26 | +|数据库|192.168.0.100|4a | ||
27 | + | ||
28 | +### 三 4A:用户认证 authentication | ||
29 | +|名称|值|描述 | ||
30 | +||| | ||
31 | +|主机|192.168.0.111:8085| | ||
32 | +|目录|/root/projects/authentication-0.0.1-SNAPSHOT.jar| | ||
33 | +|服务启动|service authentication start| | ||
34 | +|redis|192.168.0.111|database(0) | ||
35 | +|数据库|192.168.0.100|4a | ||
36 | + | ||
37 | +### 四 4A:日志服务 audit | ||
38 | +|名称|值|描述 | ||
39 | +||| | ||
40 | +|主机|192.168.0.111:8088| | ||
41 | +|目录|/root/projects/audit.jar| | ||
42 | +|地址|http://192.168.0.111:8088/| | ||
43 | +|服务启动|service audit start| | ||
44 | +|rabbitmq|192.168.1.248|(user:admin,pass:boxfish, host:/) | ||
45 | +|数据库|192.168.0.100|4a | ||
46 | + | ||
47 | +### 五 跑课程序 onekey | ||
48 | +|名称|值|描述 | ||
49 | +||| | ||
50 | +|主机|192.168.0.111|8090 | ||
51 | +|目录|/root/projects/bebase-onekey-webapp-0.0.1-SNAPSHOT.jar| | ||
52 | +|地址|http://192.168.0.111:8090/single| | ||
53 | +|服务启动|service onekey start| | ||
54 | +|数据库1|192.168.0.100|bebase | ||
55 | +|数据库2|192.168.0.100|statistic | ||
56 | +|redis|192.168.0.111|databse(5) | ||
57 | +|跑课目录|/share/svn| | ||
58 | +|删除json|/share/json| | ||
59 | +|rms|http://192.168.0.111:8060/lookup/{resType}/{resPath}?resName=xxx|http://192.168.0.111:8060/lookup/image/default?resName=check | ||
60 | +|总表对比表|http://192.168.0.111:10504/| | ||
61 | +|nlp|http://192.168.0.111:11777/nlp/article| | ||
62 | +|同步脚本|/share/sh/rsync.sh|同步课程json和data到100服务器 | ||
63 | + | ||
64 | +### 六 总表对比表 | ||
65 | +|名称|值|描述 | ||
66 | +||| | ||
67 | +|主机|192.168.0.111:10504| | ||
68 | +|目录|/root/projects/relationship-0.0.1-SNAPSHOT.jar| | ||
69 | +|地址|http://192.168.0.111:16384| | ||
70 | +|服务启动|service relation start| | ||
71 | +|数据库|192.168.0.100|course_online | ||
72 | +|redis|192.168.0.111|database(5) | ||
73 | + | ||
74 | + | ||
75 | + |
laoluo1.md
0 → 100644
1 | +## 内容研发实现 | ||
2 | +### 一 资源管理 | ||
3 | +1、jackrabbit库的启动(RepositoryStartup类) | ||
4 | +> | ||
5 | +* 首先启动入口为RepositoryStartup类, 首先会尝试获取到启动的配置文件,然后根据配置文件中库的位置(rep_home)以及库配置文件的位置(rep_config),启动对应的Repository。 | ||
6 | +* 其次将Repository注入到JackrabbitUtils与ServletContext等上下文中。 | ||
7 | +* 紧接着执行启动管道StartupPipeline, 管道上会安置一些启动阀门StartupValve,依次执行对应的Valve。StartupValve包含有FolderNodeTreeValve(目录节点树构造Valve), NodeRegisterValve(节点注册Valve,当需要调整节点Node时,需要调整resouces/nodetype/*.cnd文件结构, 然后启动的时候,会自动去调整节点结构),RmiSocketValve(socket远程调用线程池启动valve, 当开启Socket远程调用的时候,启动的时候需要启动对应的线程池)。 | ||
8 | +* 至此启动完成。 | ||
9 | + | ||
10 | +2、文件节点上传(ContentController.uploadsubmit)· | ||
11 | +> | ||
12 | +* 首先调用(ContentController.uploadFile)将文件上传到服务器的临时文件中,上传的时候会依次调用Tika模块中的TikaFilter链,分别为FileNameTikaFilter(文件名过滤,文件名不能以空格结尾例如“aaa .jpg”,因为这样会破坏跑课调用; 不能无文件后缀名),FileSizeTikaFilter(不允许空文件),CodeTikaFilter(文件编码格式的验证,视频视频码需要为h264,音频码为aac),ContentTypeTikaFilter(文件类型的验证)。只有当所有验证条件都通过之后,文件才能真正上传到服务器。 | ||
13 | +* 上传之后,需要调用ContentController.uploadsubmit进行提交,提交分为正常提交,覆盖提交,全部覆盖提交,跳过,等同于文件系统中文件修改操作中的覆盖跳过。提交的时候需要使用tika读取资源文件的相关属性, 然后将其保存到对应的节点属性中,最终将其保存。 | ||
14 | + | ||
15 | +3、远程调用RMI(RmiController.lookupResource) | ||
16 | +> | ||
17 | +* 调用/lookup/{restype}/{respath}接口,restype资源类型(包含image,audio,video),respath资源路径映射(见/resources/datamap/map.properties)。 | ||
18 | +* 根据资源类型, 映射到对应的查找规则(每种资源都有自己的查找规则),如果适配不到对应的规则,则返回404,提示“您所要查找的资源适配不到规则”。如果存在然后根据查找规则,资源名称查找到对应的节点,如果没搜索到对应的资源节点, 返回404,提示"您所要查找的资源xxx.jpg不存在"。 | ||
19 | +* 如果存在,则将md5、duration、extname属性设置到响应头中返回。 | ||
20 | +* 将文件流写入到Respose当中,与响应头一同返回。 | ||
21 | + | ||
22 | +4、节点搜索(QueryController.query()) | ||
23 | +> | ||
24 | +* 表单提交查询条件到/query接口,表单对象QueryContentEntity会自动生成对应的sql2语句。 | ||
25 | +* 根据sql2语句进行查询,查询到NodeIterator之后需要进行简单分页。因为jackrabbit不支持limit语句,所以分页需要使用NodeIterator.skip的方式来辅助分页。具体方式为NodeIterator.skip((page+1)*pageSize), 然后NodeIterator迭代一页或者是到末尾,这样计算出一页的数据,封装到QueryContentEntity中返回. | ||
26 | + | ||
27 | +5 节点框架(Node) | ||
28 | +> 节点继承体系,继承父节点,同时会继承父节点的属性。例如在文件节点中添加md5属性,图片节点,视频节点,音频节点都具有md5属性。 | ||
29 | +> | ||
30 | +|名称|属性|描述|继承自| | ||
31 | +|||| | ||
32 | +|RootNode|根节点|所有节点的祖节点|无 | ||
33 | +|FileNode|文件节点|文件|RootNode | ||
34 | +|FolderNode|文件夹节点|文件夹可以包含其他的节点|RootNode | ||
35 | +|ImageNode|图片节点|图片|FileNode | ||
36 | +|AudioNode|音频节点|音频|FileNode | ||
37 | +|VideoNode|视频节点|视频|FileNode | ||
38 | + | ||
39 | +6、系统工作原理 | ||
40 | +> | ||
41 | +* 使用jcr协议对文件系统进行抽象, 使用jackrabbit进行节点管理,对外提供web页面进行内容管理与内容查询,同时提供接口供其他系统进行系统集成(例如跑课)。 | ||
42 | +* jackrabbit库包含节点注册(nodetype)、节点属性存储(debry)、节点文件存储(datastore),搜索引擎(lucence),权限管理(privileges),版本控制等等功能. | ||
43 | + | ||
44 | +7、音频缓存重建 | ||
45 | +> | ||
46 | +* 可以直接手动删除192.168.0.111(5)里面的"/资源/音频"中的缓存。 | ||
47 | +* 然后调用/resource/list/{type}接口,type为audio,即可。 | ||
48 | + | ||
49 | + | ||
50 | +## 4A内部认证 | ||
51 | +### 一、用户管理(Register) | ||
52 | + | ||
53 | +> 1、用户添加 | ||
54 | +> | ||
55 | +* 接口:/user | ||
56 | +* method: POST | ||
57 | +* 参数: | ||
58 | +> | ||
59 | +|名称|值|参数 | ||
60 | +||| | ||
61 | +|username|用户名| | ||
62 | +|password|密码| | ||
63 | +|nickname|昵称| | ||
64 | +|adminPassword|管理员密码|需要用管理员密码才能添加用户 | ||
65 | + | ||
66 | +2、用户修改密码 | ||
67 | +> | ||
68 | +* 接口:/user | ||
69 | +* method:PUT | ||
70 | +* 参数: | ||
71 | +> | ||
72 | +|名称|值|参数 | ||
73 | +||| | ||
74 | +|oldpassword|用户旧密码| | ||
75 | +|newpassword|新密码| | ||
76 | +|id|用户id| | ||
77 | + | ||
78 | +3、删除用户 | ||
79 | +> | ||
80 | +* 接口:/user | ||
81 | +* method:DELETE | ||
82 | +* 参数:id, adminPassword(管理员密码) | ||
83 | + | ||
84 | +4、获取用户列表 | ||
85 | +> | ||
86 | +* 接口:/user | ||
87 | +* method:GET | ||
88 | +* 参数:page=1&size=10 | ||
89 | + | ||
90 | + | ||
91 | +### 二、用户认证(Authentication) | ||
92 | +> 1、用户登录 | ||
93 | +* 接口:/login | ||
94 | +* method:POST | ||
95 | +* 参数: | ||
96 | +> | ||
97 | +|名称|值| | ||
98 | +||| | ||
99 | +|username|用户名| | ||
100 | +|password|密码| | ||
101 | + | ||
102 | +> 2、token验证 | ||
103 | +* 接口:/validation_token | ||
104 | +* method:PUT | ||
105 | +* 参数: | ||
106 | +> | ||
107 | +|名称|值| | ||
108 | +||| | ||
109 | +|token|token| | ||
110 | +|appCode|app编码| | ||
111 | + | ||
112 | +> 3、注销 | ||
113 | +* 接口:/logout | ||
114 | +* method:PUT | ||
115 | +* 参数:access_token=xxxx | ||
116 | + | ||
117 | + | ||
118 | +> 4、根据token获取用户id | ||
119 | +* 接口:/userid | ||
120 | +* method:GET | ||
121 | +* 参数:access_token=xxxx | ||
122 | + | ||
123 | + |
yjw接口文档/y分享.md
100755 → 100644
File mode changed
yjw接口文档/y分享统计.md
100755 → 100644
File mode changed
yjw接口文档/y口语测评.md
100755 → 100644
File mode changed
yjw接口文档/y手机号接口.md
100755 → 100644
File mode changed
yjw接口文档/y提交成绩.md
100755 → 100644
File mode changed
yjw接口文档/y每日推送.md
100755 → 100644
File mode changed
yjw接口文档/y阶段数.md
100755 → 100644
File mode changed
-
Please register or login to post a comment