# AppletInterface22305 **Repository Path**: cyq13/applet-interface22305 ## Basic Information - **Project Name**: AppletInterface22305 - **Description**: No description available - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2022-03-05 - **Last Updated**: 2022-03-09 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## 使用步骤 **说明** - 使用python3.8版本 - Django2.2框架 - 根据以下步骤操作即可 ### 安装库文件 打开项目,终端安装requirements.txt ```python pip install -r requirements.txt ``` ### 生成requirements.txt ```python pip freeze > requirements.txt ``` ### 创建django文件 ```python python manage.py startapp filename # 例如创建pc的api [python manage.py startapp api] ``` ### 终端运行 ``` python manage.py runserver 13209 ``` ### 数据库可视化连接 ``` DB_HOST = 120.77.44.219 DB_PORT = 3306 DB_USER = physical DB_PASSWORD = 990127 DB_NAME = physical DB_CHARSET = utf8 ``` ## 使用说明 ### 目录结构 ![](C:\Users\24291\AppData\Roaming\Typora\typora-user-images\image-20220305214154156.png) ### 数据库操作 1. 操作数据库 打开文件**utils/dbV3/db.py** **注意,函数下面需要有参数说明,如下** ```python def query_apply_by_text(self, searchText, page=1, limit=50): """----------------------》这里是参数说明,键盘按键,shift+双引号键,三次回车即可自动生成参数说明 搜索。支持姓名,机构名称,身份证 @param searchText: 搜索内容 @param page: @param limit: @return: """ ``` ![](C:\Users\24291\AppData\Roaming\Typora\typora-user-images\image-20220305214815436.png) 1. 数据库已经封装好的函数 - 查询函数,参数sql是操作数据库的语句,type类型,如果是需要查询多条数据,需要传参type=1,默认为0 - 返回结果是一个字典的形式,如 ```json { "status": 200, "msg": "获取成功", "result": { "total": 17 } } ``` 如果查询到有数据,status==200,没有数据时,status==13204,其他,status==13203 如果需要拿到结果需要使用如 ```python if res.get('status')==200: data = res.get('result') ``` ```python def SqlSelectByOneOrList(self, sql, type=0) -> dict: """ 功能:通过一条语句查询 @param sql: 操作语句 @param type: 0 返回一条,1返回多条 @return: """ ``` 使用实例 **注意,必须有返回值** ```python def we_queryBasicPhysicalExamRes(self, Rid=None) -> dict: """ 根据体检条码查询基本体检详情 身高、体重、体温、心率 @param Rid: 查询基本体检数据 @return: """ sql = f""" SELECT pc.Height,pc.Weight,pc.BMI, pc.RequisitionId,pc.LSBP,pc.LDBP,pc.RSBP,pc.RDBP,pc.ProjectName, pc.Status,pc.ReviewDoctor,CONVERT(pc.ReviewDate,CHAR(19)) ReviewDate from pat_test_checklist pc WHERE pc.RequisitionId='{Rid}' """ return self.SqlSelectByOneOrList(sql=sql, type=1) # 因为查询多条数据,所以type=1 ``` 2.写视图函数 打开文件**pc_api/views.py,按照里面的方式写,即可** 如: ```python class like_search_suggestion_view(APIView): """ 搜索建议,返回前10条 请求方式:GET 参数:KeyWords 返回: """ def get(self, request, *args, **kwargs):# 使用GET方式即可 try: keyWords = request.query_params.get("keyWords") # keyWords为参数值,需要改成对应的 return Response(db.likeSearchSuggestion(keyWords=keyWords)) # 这里的函数需要对应db里面的函数 except Exception as e: log.logger.error(msg=str(e)) return Response(errorRes(msg='请求失败,请联系管理员!')) ``` 3.写ur来映射 打开文件**pc_api/urls.py,按照里面的方式写,即可** ```python url(r'^searchSuggestion', views.like_search_suggestion_view.as_view()), # 搜索建议 ``` - searchSuggestion 表示api接口,是什么接口就写什么 - like_search_suggestion_view 是views.py里面对应的视图类 ### 测试验证 运行代码 浏览器输入地址http://127.0.0.1:13209/api/v3是前缀,必须 http://127.0.0.1:13209/api/v3/SearchTotal?searchText=参数值 - SearchTotal是urls.py里面写好的 - searchText是views.py里面的参数 ### 状态码说明 | status | 说明 | | ------ | -------------- | | 13201 | 登录密码错误 | | 13202 | 用户被冻结 | | 13203 | 服务器内部错误 | | 13204 | 无数据 | | 13205 | 已开通登录功能 | | 13206 | 已存在用户 | | 13207 | 参数错误 | | 13208 | 接口错误 |