1、程序主要功能
“好思可乙醇及相关代谢AI分析系统” (Health Care AI testing system of ethanol and related metabolism)英文简称HSKtesting,中文简称“好思可AI分析系统”,“HSK”为好思可的拼音首字母缩写,“testing”为分析系统缩写。该系统基于用户提供的信息及相关测试,结合亚洲人种特点和临床大数据,对亚洲人群乙醇及相关代谢进行AI分析,并提供相应措施和建议。本程序是“好思可乙醇及相关代谢AI分析系统”的后台程序。
2、程序基本结构
该项目采用CS结构,主要包括:后台服务器、机器学习模块、传输网络、管理平台、便携诊断器、手机App等几个部分组成。后台系统采用基于Golang MVC的Beego框架和Swagger工具,能够为系统运行管理提供用户登录、注册、注销、填写信息、反馈信息、修改信息、API接口管理等操作的后台接口支持。本手册主要供系统管理用户使用。
3、后台接口管理平台
本项目的后台系统使用Swagger作为后台接口管理平台。“Swagger是一个规范和完整的框架,用于生成、描述、调用和可视化RESTful风格的Web服务。”简单来说,Swagger是一个功能强大的接口管理工具,并且提供了多种编程语言的前后端分离解决方案。Swagger主要包含了以下4个部分:
(1). Swagger可以直接嵌入项目中,通过开发时编写注释,自动生成接口文档;
(2). Swagger包含了Swagger Editor,它是使用yaml语言的Swagger API的编辑器,支持导出yaml和json格式的接口文件;
(3). Swagger包含了Swagger UI,它将Swagger Editor编辑好的接口文档以html的形式展示出来;
(4). Swagger支持根据定义的接口导出各种语言的服务端或客户端代码。
上面第1项和第4项是更加面向开发的内容,开发团队要有自动生成文档的需求,在开发和自测中遵循前后端分离。而第2项和第3项是相对可以独立出来的、可供QA人员参考的接口文档管理方案,也是我们主要关注的部分。
Swagger提供了Swagger Editor和Swagger UI的在线demo,如下图。可以看出,Swagger可以完整地定义一个接口的内容,包括各个参数、返回值的具体结构、类型,Swagger Editor可以实时进行编辑并在线调试。编辑好的API可以导出为json文件,使用Swagger UI打开即可以看到更美观的接口文档。
Swagger Editor和SwaggerUI的本地部署十分简单,这两者都可以直接从Github上下载源码,将其部署到本地Tomcat服务器上,然后通过浏览器访问即可。官方还提供了其他几种部署方式,具体步骤在帮助文档中有详细说明,参见官网: https://swagger.io/ 。
4、用户注册和登录接口
(1). 验证码登录接口
A. 该接口为POST接口
B. 接口URL为:/user/login_by_verify_code
C. 接口入口参数为:
phone *string,The phone for login
verify_code *string,The verify_code for login
D. 接口返回数据Responses为Code 200时的数据结构为:
{"data":"success" or "failed",["phone": phone, "last_ip": ip, "last_time": time]}
E. 接口返回数据Responses为Code 403时表示:phone not exist
(2). 密码登录接口
A. 该接口为POST接口
B. 接口URL为:/user/login_by_password
C. 接口入口参数为:
phone *string,The phone for login
password *string,The password for login
D. 接口返回数据Responses为Code 200时的数据结构为:
{"data":"success" or "failed", ["phone": phone, "last_ip": ip, "last_time": time]}
E. 接口返回数据Responses为Code 403时表示:user not exist
(3). 用户注册接口
A. 该接口为POST接口
B. 接口URL为:/user/user_reg
C. 接口入口参数为:
body *(body),body for user data,Example Value:
Model{},Parameter content type
D. 接口返回数据Responses为Code 200时的数据结构为:
{"data":"success" or "failed", ["phone": phone, "last_ip": ip, "last_time": time]}
E. 接口返回数据Responses为Code 403时表示:some param is empty
5、用户问答信息接口
A. 该接口为POST接口
B. 接口URL为:/user/post_user_answer_info
C. 接口入口参数为:
body *(body),body for user info,Example Value:
Model
{
"answer": "string",
"default_value": "string",
"enable_input": "string",
"id": "string",
"memo": "string",
"must_type": "string",
"phone": "string",
"put_time": 0,
"radio_type": "string",
"span_time": "string",
"span_time_init_value": "string",
"text": "string",
"widget_value": 0
}
Parameter content type
D. 接口返回数据Responses为Code 200时的数据结构为:
{int} models.UserAnswerInfo.Id
E. 接口返回数据Responses为Code 403时表示:body is empty
6、用户信息反馈接口
A. 该接口为POST接口
B. 接口URL为:/user/post_feedback
C. 接口入口参数为:
body *(body),body for feedback,Example Value:
Model
{
"feedback_text": "string",
"feedback_type": "string",
"id": 0,
"memo": "string",
"phone": "string",
"upload_ip": "string",
"upload_time": 0
}
Parameter content type
D. 接口返回数据Responses为Code 200时的数据结构为:
{int} models.UserFeedback.Id
E. 接口返回数据Responses为Code 403时表示:body is empty
7、用户注销接口
(1). 删除用户接口
A. 该接口为POST接口
B. 接口URL为:/user/{uid}
C. 接口入口参数为:
uid *string,The uid you want to delete
{string} delete success!
D. 接口返回数据Responses为Code 200时的数据结构为:
{string} delete success!
E. 接口返回数据Responses为Code 403时表示:uid is empty
(2). 擦除用户数据接口
A. 该接口为POST接口
B. 接口URL为:/user/wipe_user_data
C. 接口入口参数为:
phone *string,The phone for login
password *string,The password for login
D. 接口返回数据Responses为Code 200时的数据结构为:
{"data":"success" or "failed", ["phone": phone, "last_ip": ip, "last_time": time]}
E. 接口返回数据Responses为Code 403时表示:user not exist
8、Apk文件后台上传页面
用浏览器打开Apk文件后台上传页面后,需要输入下面信息。
A. 版本号,比如:1.x.x
B. 版本描述,比如:优化页面布局
C. 备注信息,比如:该版本已经实现在线更新
D. 在文件一栏,点击“选择文件”,选择需要上传的Apk文件
填写完成后,点击下面的“提交”按钮,便可以将选择的Apk文件上传到后台系统,供用户进行在线更新。
9、其他功能接口
(1). 发送验证码接口
A. 该接口为POST接口
B. 接口URL为:/user/send_valid_code
C. 接口入口参数为:
phone *string,The phone for send verify code
D. 接口返回数据Responses为Code 200时的数据结构为:
{"data":"success" or "failed", ["msg": string, "sign": sign, "phone": phone, "sms_code": sms_code, "send_time": int]}
E. 接口返回数据Responses为Code 403时表示:phone is empty
(2). 修改密码接口
A. 该接口为POST接口
B. 接口URL为:/user/modify_password
C. 接口入口参数为:
phone *string,The phone for modify
old_password *string,The MD5 old password for modify
password1 *string,The MD5 password1 for modify
password2 *string,The MD5 password2 for modify
D. 接口返回数据Responses为Code 200时的数据结构为:
{"data":"success" or "failed", ["phone": phone, "last_ip": ip, "last_time": time]}
E. 接口返回数据Responses为Code 403时表示:some param is empty
接口返回数据Responses为Code 403时表示:some param is empty
(3). 个人信息修改接口
A. 该接口为POST接口
B. 接口URL为:/user/modify_user_data
C. 接口入口参数为:
body *(body),body for user data,Example Value
Model{}
Parameter content type
D. 接口返回数据Responses为Code 200时的数据结构为:
{int} models.User.Id
E. 接口返回数据Responses为Code 403时表示:body is empty
10、技术支持
在使用本程序的过程中,如果用户遇到其他问题,可以咨询“四川好思可科技有限公司”获得技术支持。
标签:Code,string,phone,好思,接口,V1,AI,Swagger,Responses From: https://www.cnblogs.com/ybmj/p/17572352.html