好思可乙醇及相关代谢AI分析项目后台系统V1

发布时间 2023-07-21 20:31:30作者: patton88

好思可乙醇及相关代谢AI分析项目后台系统V1.0

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接口管理等操作的后台接口支持。本手册主要供系统管理用户使用。

1、后台接口管理平台

本项目的后台系统使用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/

1、用户注册和登录接口

(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

(1). 密码登录接口
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

(1). 用户注册接口
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

1、用户问答信息接口

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

1、用户信息反馈接口

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

1、用户注销接口

(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文件上传到后台系统,供用户进行在线更新。

其他功能接口

发送验证码接口
该接口为POST接口
接口URL为:/user/send_valid_code
接口入口参数为:

phone *string,The phone for send verify code

接口返回数据Responses为Code 200时的数据结构为:

{"data":"success" or "failed", ["msg": string, "sign": sign, "phone": phone, "sms_code": sms_code, "send_time": int]}

接口返回数据Responses为Code 403时表示:phone is empty

修改密码接口
该接口为POST接口
接口URL为:/user/modify_password
接口入口参数为:

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

接口返回数据Responses为Code 200时的数据结构为:

{"data":"success" or "failed", ["phone": phone, "last_ip": ip, "last_time": time]}

接口返回数据Responses为Code 403时表示:some param is empty

个人信息修改接口
该接口为POST接口
接口URL为:/user/modify_user_data
接口入口参数为:

body *(body),body for user data,Example Value

Model{}

Parameter content type

接口返回数据Responses为Code 200时的数据结构为:

{int} models.User.Id

接口返回数据Responses为Code 403时表示:body is empty

技术支持

在使用本程序的过程中,如果用户遇到其他问题,可以咨询“四川好思可科技有限公司”获得技术支持。