移动应用开发系统设计说明书
服务集成流程详细设计
实现功能
序号 | 功能点 | 描述 |
---|---|---|
1 | 新增用户 | |
2 | 注册用户 | |
3 | 修改场地信息 | |
4 | 列出场地信息 | |
5 | 新增认证车辆 | |
6 | 列出认证车辆 | |
7 | 删除认证车辆 | |
8 | 车辆进入信息录入 | |
9 | 停车记录列表展示 | |
10 | 出停车场信息录入 |
参数说明
User 用户信息实体参数
字段名称 | 字段类型 | 中文名称 |
---|---|---|
loginid | int | 类别 id |
username | String | 姓名 |
password | String | 密码 |
Parkcarauth 授权车辆实体参数
字段名称 | 字段类型 | 中文名称 |
---|---|---|
id | int | 车辆 |
number | String | 车牌号 |
authTime | Date | 认证时间 |
Area 场地信息实体参数
字段名称 | 字段类型 | 中文名称 |
---|---|---|
areaid | int | 场地 id |
price | float | 收费标准 |
totalnum | int | 总车位数量 |
leftnum | int | 已占车位数量 |
status | byte | 状态 |
Parkcar 停车记录实体参数
字段名称 | 字段类型 | 中文名称 |
---|---|---|
id | int | 记录 id |
number | Strig | 车牌号 |
isAuth | byte | 是否认证 |
entertime | Date | 进入时间 |
outtime | Date | 出去时间 |
parktime | Date | 停车时间 |
Resp 消息返回
字段名称 | 字段类型 |
---|---|
code | String |
message | String |
body |
功能详细设计
创建用户
时序图
需求分析
- 该功能用于对用户的注册
- 对传入的参数进行校验,若账户名已存在,则返回失败
- 校验成功则进行入库,成功后返回 success 信息
用户登录
时序图
需求分析
- 该功能用于用户登录
- 利用用户名到用户表检索,若不存在,则失败
- 存在用户,则验证密码,成功后返回 success 信息
修改场地信息
时序图
需求分析
- 该功能用于场地信息的修改
- 对传入的参数进行校验,若失败则返回 fail 信息
- 校验成功则进行修改,成功后返回 success 信息
场地信息展示
时序图
需求分析
- 该功能用于对场地信息展示
- 直接调用后端接口
新增授权车辆
时序图
需求分析
- 该功能用于新增车辆认证
- 校验失败则返回失败信息
- 参数校验成功后入库,并返回成功信息
删除授权车辆
时序图
需求分析
- 该功能用于解除车辆认证
- 车牌校验失败则返回失败信息
- 参数校验成功后删除授权记录,并返回成功信息
授权车辆展示
时序图
需求分析
- 该功能用于对授权车辆展示
- 直接调用后端接口
新增停车记录
时序图
需求分析
- 该功能用于新增停车记录
- 对车牌进行校验失败则返回失败信息
- 参数校验成功后入库,并返回成功信息
停车车辆信息展示
时序图
需求分析
- 该功能用于对停车车辆详细信息展示
- 直接调用后端接口
车辆离开接口
时序图
需求分析
- 该功能用于车辆停车记录更新,返回停车时间
- 对车牌进行校验失败则返回失败信息
- 参数校验成功,删除停车记录,并返回成功信息
接口设计
新建用户接口
接口说明 | 新建用户 | 新建用户 | 新建用户 | 新建用户 |
---|---|---|---|---|
请求方式 | POST | POST | POST | POST |
服务路径 | /user/createuser | /user/createuser | /user/createuser | /user/createuser |
请求参数类型 | application/json | application/json | application/json | application/json |
请求参数 | 参数名 | 参数类型 | 参数说明 | 是否必填 |
请求参数 | loginname | String | 是 | |
请求参数 | password | String | 是 | |
返回参数类型 | application/json | application/json | application/json | application/json |
返回参数 | 参数名 | 参数类型 | 参数说明 | 是否必填 |
请求参数示例 | loginname=cmz&password=123456 | loginname=cmz&password=123456 | loginname=cmz&password=123456 | loginname=cmz&password=123456 |
返回参数示例 | {;“code”:“200”,;“message”:“”,;“body”:“用户创建成功”;}; | {;“code”:“200”,;“message”:“”,;“body”:“用户创建成功”;}; | {;“code”:“200”,;“message”:“”,;“body”:“用户创建成功”;}; | {;“code”:“200”,;“message”:“”,;“body”:“用户创建成功”;}; |
登陆接口
接口说明 | 登陆 | 登陆 | 登陆 | 登陆 |
---|---|---|---|---|
请求方式 | POST | POST | POST | POST |
服务路径 | /user/login | /user/login | /user/login | /user/login |
请求参数类型 | application/json | application/json | application/json | application/json |
请求参数 | 参数名 | 参数类型 | 参数说明 | 是否必填 |
请求参数 | loginname | String | 是 | |
请求参数 | password | String | 是 | |
返回参数类型 | application/json | application/json | application/json | application/json |
返回参数 | 参数名 | 参数类型 | 参数说明 | 是否必填 |
请求参数示例 | loginname=cmz&password=123456 | loginname=cmz&password=123456 | loginname=cmz&password=123456 | loginname=cmz&password=123456 |
返回参数示例 | {;“code”:“200”,;“message”:“”,;“body”:“登陆成功”;}; | {;“code”:“200”,;“message”:“”,;“body”:“登陆成功”;}; | {;“code”:“200”,;“message”:“”,;“body”:“登陆成功”;}; | {;“code”:“200”,;“message”:“”,;“body”:“登陆成功”;}; |
列出场地信息接口
接口说明 | 列出场地信息 | 列出场地信息 | 列出场地信息 | 列出场地信息 |
---|---|---|---|---|
请求方式 | POST | POST | POST | POST |
服务路径 | /area/listarea | /area/listarea | /area/listarea | /area/listarea |
请求参数类型 | application/json | application/json | application/json | application/json |
请求参数 | 参数名 | 参数类型 | 参数说明 | 是否必填 |
请求参数 | ||||
请求参数 | ||||
请求参数 | ||||
请求参数 | ||||
请求参数 | ||||
返回参数类型 | application/json | application/json | application/json | application/json |
返回参数 | 参数名 | 参数类型 | 参数说明 | 是否必填 |
返回参数 | ||||
请求参数示例 | ||||
返回参数示例 | {;“code”:“200”,;“message”:“”,;“body”:{;“areaid”:1,;“price”:2.8,;“totalnum”:200,;“leftnum”:100,;“status”:0;};}; | {;“code”:“200”,;“message”:“”,;“body”:{;“areaid”:1,;“price”:2.8,;“totalnum”:200,;“leftnum”:100,;“status”:0;};}; | {;“code”:“200”,;“message”:“”,;“body”:{;“areaid”:1,;“price”:2.8,;“totalnum”:200,;“leftnum”:100,;“status”:0;};}; | {;“code”:“200”,;“message”:“”,;“body”:{;“areaid”:1,;“price”:2.8,;“totalnum”:200,;“leftnum”:100,;“status”:0;};}; |
修改场地信息接口
接口说明 | 删除服务 | 删除服务 | 删除服务 | 删除服务 |
---|---|---|---|---|
请求方式 | DELETE | DELETE | DELETE | DELETE |
服务路径 | /area/updatearea | /area/updatearea | /area/updatearea | /area/updatearea |
请求参数类型 | application/json | application/json | application/json | application/json |
请求参数 | 参数名 | 参数类型 | 参数说明 | 是否必填 |
请求参数 | price | float | 是 | |
请求参数 | totalnum | int | 是 | |
请求参数 | ||||
请求参数 | ||||
返回参数类型 | application/json | application/json | application/json | application/json |
返回参数 | 参数名 | 参数类型 | 参数说明 | 是否必填 |
返回参数 | ||||
请求参数示例 | price=2.9&totalnum=200; | price=2.9&totalnum=200; | price=2.9&totalnum=200; | price=2.9&totalnum=200; |
返回参数示例 | {;“code”:“200”,;“message”:“”,;“body”:“场地信息修改成功”;}; | {;“code”:“200”,;“message”:“”,;“body”:“场地信息修改成功”;}; | {;“code”:“200”,;“message”:“”,;“body”:“场地信息修改成功”;}; | {;“code”:“200”,;“message”:“”,;“body”:“场地信息修改成功”;}; |
新增认证车辆接口
接口说明 | 新增认证 | 新增认证 | 新增认证 | 新增认证 |
---|---|---|---|---|
请求方式 | POST | POST | POST | POST |
服务路径 | / parkcarauth /createauth | / parkcarauth /createauth | / parkcarauth /createauth | / parkcarauth /createauth |
请求参数类型 | application/json | application/json | application/json | application/json |
请求参数 | 参数名 | 参数类型 | 参数说明 | 是否必填 |
请求参数 | number | String | ||
请求参数 | ||||
请求参数 | ||||
请求参数 | ||||
返回参数类型 | application/json | application/json | application/json | application/json |
返回参数 | 参数名 | 参数类型 | 参数说明 | 是否必填 |
返回参数 | ||||
请求参数示例 | ;number=”浙 A88888” | ;number=”浙 A88888” | ;number=”浙 A88888” | ;number=”浙 A88888” |
返回参数示例 | {;“code”:“200”,;“message”:“”,;“body”:“新增车辆认证成功”;}; | {;“code”:“200”,;“message”:“”,;“body”:“新增车辆认证成功”;}; | {;“code”:“200”,;“message”:“”,;“body”:“新增车辆认证成功”;}; | {;“code”:“200”,;“message”:“”,;“body”:“新增车辆认证成功”;}; |
删除认证车辆接口
接口说明 | 新增认证 | 新增认证 | 新增认证 | 新增认证 |
---|---|---|---|---|
请求方式 | POST | POST | POST | POST |
服务路径 | / parkcarauth /deleteauth | / parkcarauth /deleteauth | / parkcarauth /deleteauth | / parkcarauth /deleteauth |
请求参数类型 | application/json | application/json | application/json | application/json |
请求参数 | 参数名 | 参数类型 | 参数说明 | 是否必填 |
请求参数 | number | String | ||
请求参数 | ||||
请求参数 | ||||
请求参数 | ||||
返回参数类型 | application/json | application/json | application/json | application/json |
返回参数 | 参数名 | 参数类型 | 参数说明 | 是否必填 |
返回参数 | ||||
请求参数示例 | ;number=”浙 A88888” | ;number=”浙 A88888” | ;number=”浙 A88888” | ;number=”浙 A88888” |
返回参数示例 | {;“code”:“200”,;“message”:“”,;“body”:“删除车辆认证成功”;}; | {;“code”:“200”,;“message”:“”,;“body”:“删除车辆认证成功”;}; | {;“code”:“200”,;“message”:“”,;“body”:“删除车辆认证成功”;}; | {;“code”:“200”,;“message”:“”,;“body”:“删除车辆认证成功”;}; |
列出认证车辆接口
接口说明 | 新增认证 | 新增认证 | 新增认证 | 新增认证 |
---|---|---|---|---|
请求方式 | POST | POST | POST | POST |
服务路径 | / parkcarauth /listauth | / parkcarauth /listauth | / parkcarauth /listauth | / parkcarauth /listauth |
请求参数类型 | application/json | application/json | application/json | application/json |
请求参数 | 参数名 | 参数类型 | 参数说明 | 是否必填 |
请求参数 | ||||
请求参数 | ||||
请求参数 | ||||
请求参数 | ||||
返回参数类型 | application/json | application/json | application/json | application/json |
返回参数 | 参数名 | 参数类型 | 参数说明 | 是否必填 |
返回参数 | ||||
请求参数示例 | ; | ; | ; | ; |
返回参数示例 | {;“code”:“200”,;“message”:“”,;“body”:{;{;id: “1”,;number: “浙 A88888”,;authTime: “2020-11-05 10:00:28”;},;{;id: “2”,;number: “浙 A82222”,;authTime: “2020-11-06 10:00:28”;};}; | {;“code”:“200”,;“message”:“”,;“body”:{;{;id: “1”,;number: “浙 A88888”,;authTime: “2020-11-05 10:00:28”;},;{;id: “2”,;number: “浙 A82222”,;authTime: “2020-11-06 10:00:28”;};}; | {;“code”:“200”,;“message”:“”,;“body”:{;{;id: “1”,;number: “浙 A88888”,;authTime: “2020-11-05 10:00:28”;},;{;id: “2”,;number: “浙 A82222”,;authTime: “2020-11-06 10:00:28”;};}; | {;“code”:“200”,;“message”:“”,;“body”:{;{;id: “1”,;number: “浙 A88888”,;authTime: “2020-11-05 10:00:28”;},;{;id: “2”,;number: “浙 A82222”,;authTime: “2020-11-06 10:00:28”;};}; |
新增认证车辆接口
接口说明 | 新增认证 | 新增认证 | 新增认证 | 新增认证 |
---|---|---|---|---|
请求方式 | POST | POST | POST | POST |
服务路径 | / parkcar /createpark | / parkcar /createpark | / parkcar /createpark | / parkcar /createpark |
请求参数类型 | application/json | application/json | application/json | application/json |
请求参数 | 参数名 | 参数类型 | 参数说明 | 是否必填 |
请求参数 | parkcar | Parcar | 停车记录实体参数 | |
请求参数 | ||||
请求参数 | ||||
请求参数 | ||||
返回参数类型 | application/json | application/json | application/json | application/json |
返回参数 | 参数名 | 参数类型 | 参数说明 | 是否必填 |
返回参数 | ||||
请求参数示例 | ; | ; | ; | ; |
返回参数示例 | {;“code”:“200”,;“message”:“”,;“body”:“新建成功”;}; | {;“code”:“200”,;“message”:“”,;“body”:“新建成功”;}; | {;“code”:“200”,;“message”:“”,;“body”:“新建成功”;}; | {;“code”:“200”,;“message”:“”,;“body”:“新建成功”;}; |
列出停车详情接口
接口说明 | 列出停车详情 | 列出停车详情 | 列出停车详情 | 列出停车详情 |
---|---|---|---|---|
请求方式 | POST | POST | POST | POST |
服务路径 | / parkcar /listcar | / parkcar /listcar | / parkcar /listcar | / parkcar /listcar |
请求参数类型 | application/json | application/json | application/json | application/json |
请求参数 | 参数名 | 参数类型 | 参数说明 | 是否必填 |
请求参数 | ||||
请求参数 | ||||
请求参数 | ||||
请求参数 | ||||
返回参数类型 | application/json | application/json | application/json | application/json |
返回参数 | 参数名 | 参数类型 | 参数说明 | 是否必填 |
返回参数 | ||||
请求参数示例 | ||||
返回参数示例 | {;“code”:“200”,;“message”:“”,;“body”:“”;}; | {;“code”:“200”,;“message”:“”,;“body”:“”;}; | {;“code”:“200”,;“message”:“”,;“body”:“”;}; | {;“code”:“200”,;“message”:“”,;“body”:“”;}; |
返回停车时间接口
接口说明 | 计算停车时间接口 | 计算停车时间接口 | 计算停车时间接口 | 计算停车时间接口 |
---|---|---|---|---|
请求方式 | POST | POST | POST | POST |
服务路径 | / parkcar /getcar | / parkcar /getcar | / parkcar /getcar | / parkcar /getcar |
请求参数类型 | application/json | application/json | application/json | application/json |
请求参数 | 参数名 | 参数类型 | 参数说明 | 是否必填 |
请求参数 | number | “浙 A88888” | 是 | |
请求参数 | ||||
请求参数 | ||||
请求参数 | ||||
返回参数类型 | application/json | application/json | application/json | application/json |
返回参数 | 参数名 | 参数类型 | 参数说明 | 是否必填 |
返回参数 | ||||
请求参数示例 | number=浙 A88888 | number=浙 A88888 | number=浙 A88888 | number=浙 A88888 |
返回参数示例 | {;“code”:“200”,;“message”:“”,;“body”:{;parktime: “2 天 3 小时 10 分钟”;};}; | {;“code”:“200”,;“message”:“”,;“body”:{;parktime: “2 天 3 小时 10 分钟”;};}; | {;“code”:“200”,;“message”:“”,;“body”:{;parktime: “2 天 3 小时 10 分钟”;};}; | {;“code”:“200”,;“message”:“”,;“body”:{;parktime: “2 天 3 小时 10 分钟”;};}; |
百度 AI 车牌识别 SDK
接口描述:支持识别中国大陆机动车蓝牌、黄牌(单双行)、绿牌、大型新能源(黄绿)、领使馆车牌、警牌、武警牌(单双行)、军牌(单双行)、港澳牌、农用车牌、民航车牌的地域编号和车牌号,并能同时识别图像中的多张车牌。
返回参数
参数 | 类型 | 是否必须 | 说明 |
---|---|---|---|
log_id | uint64 | 是 | 请求标识码,随机数,唯一。 |
color | string | 是 | 车牌颜色:支持 blue、green、yellow |
number | string | 是 | 车牌号码 |
probability | string | 是 | 车牌中每个字符的置信度,区间为 0-1 |
vertexes_location | int | 是 | 返回文字外接多边形顶点位置 |
返回实例
{
"errno":0,"msg":"success"
,"data":
{
"log_id":"5327722537189137631"
,
"words_result":
{
"color":"green"
,
"number":"苏AD12267"
,
"probability":
[1,0.9999977350235,
0.99999630451202,0.99999868869781,
0.99998331069946,0.99999988079071,
0.9531751871109,0.99922955036163],
"vertexes_location":
[
{"y":223,"x":170},{"y":223,"x":282},
{"y":256,"x":282},{"y":256,"x":170}
}
}
}
系统欢迎界面及主界面
该界面为启动系统时的欢迎界面,点击进入即可进入系统,注册或直接登录后进入主界面。
系统的主功能界面,拥有车辆驶入、车辆驶出和退出登录三个按钮,点击不同的按钮即进入对应的功能,上方的状态栏显示当前停车场停放情况。
系统欢迎界面及系统主界面
初始车辆授权状态
该界面为系统的初始车辆授权状态,显示目前已被授权进入的车辆的车牌号,可以点击右上角的加号进行手动添加授权。点击车牌号右边的按钮可以取消对应车辆的授权。
初始车辆授权状态
初始停车场停放情况
该界面用户可以查看已经停在停车场内所有车辆的信息已经停车时长,如图 4.3 所示。
设置收费标准
该界面用户可以查看已经设置的收费标准,并且可以修改
设置收费标准
图像获取方式
该用户既可以用手机直接进行拍摄,也可以通过截取监控图像等进行信息采集。
识别驶出车辆
该界面显示的是识别驶出车辆的车牌号,并且拍照。
确认是否出库可以选择确认或者取消,并给出该车辆总停车时长的提示。
确认是否出库
费用统计
该界面显示的是出库时的费用统计和停车时长并给出处理意见。并且在车辆驶出后给出“收费成功,车辆驶出”的提示。
给出计费金额和时间及收款后给出提示
识别到未授权车辆
该界面显示的是识别到未授权的车辆,并给出相应的处理方法,添加或者不添加到授权库中。
发现没有授权并将其授权
手动添加要授权的车牌
该界面显示的是手动添加授权车辆,其方法是输入车牌号来完成授权操作。也可以点击右边按钮取消授权车辆。
手动输入要进行授权的车牌号及此时已经授权的车辆
识别到已授权车辆的驶入
该界面显示的是刚刚识别的车辆的驶入确认选择图,选择确认就开始计费,并且在车辆成功进入车库后开始正常计费的提示。
驶入成功开始计费及给出提示并更改车位状态
显示停车场详情
该界面显示的是车辆成功进入车库后再次查看停车场详情,该车辆已经在停车场中。
此时停车场的车辆情况
更改车位容量
该界面显示的是设置车位数量,可以重新设置一个不少于目前已停车辆的一个车位数,并给出成功更改车位容量后给出“设置成功”的提示。
数据库设计
carPark APP 数据库设计:
Users 用来存放用户信息
字段名称 | 字段类型 | 中文名称 | 备注 |
---|---|---|---|
loginid | int | 类别 id | 自增,主键 |
username | varchar(50) | 姓名 | |
password | varchar(20) | 密码 |
ParkCarAuth 用来存放授权车辆信息
字段名称 | 字段类型 | 中文名称 | 备注 |
---|---|---|---|
id | int | 车辆 | 自增,主键 |
number | varchar(50) | 车牌号 | |
authTime | Datetime | 认证时间 |
Area 用来存放场地信息
字段名称 | 字段类型 | 中文名称 | 备注 |
---|---|---|---|
areaid | int | 场地 id | 自增,主键 |
price | float | 收费标准 | |
totalnum | int | 总车位数量 | |
leftnum | int | 已占车位数量 | |
status | tinyint | 状态 | 0 未满 1 已满 |
ParkCar 用来存放停车记录
字段名称 | 字段类型 | 中文名称 | 备注 |
---|---|---|---|
id | int | 记录 id | 自增,主键 |
number | varchar (50) | 车牌号 | |
isAuth | tinyint | 是否认证 | 0 未认证 1 认证 |
entertime | Datetime | 进入时间 | |
outtime | Datetime | 出去时间 | |
parktime | Datetime | 停车时间 |
前端结构图
♻️ 资源
大小: 5.53MB
➡️ 资源下载:https://download.csdn.net/download/s1t16/87248610