Vue + Element UI 前端篇(九):接口格式定义

接口请求格式定义

前台显示需要后台数据,我们这里先把前后端交互接口定义好,没有后台的时候,也方便用mock模拟。

接口定义遵循几个规范:

1. 接口按功能模块划分。

系统登录:登录相关接口

用户管理:用户管理相关接口

机构管理:机构管理相关接口

角色管理 : 角色管理相关接口

菜单管理 : 菜单管理相关接口

字典管理 : 字典管理相关接口

日志管理 : 日志管理相关接口

2. 通用增删改查接口采用统一命名规范。

save : 保存操作

update: 更新操作

delete: 删除操作

findAll: 查询全部

findPage : 分页查询

findTree : 返回对象树

findByXX:根据XX查询

2. 统一请求响应结果。

格式如下:

复制代码

{"code": 200, // 状态吗,200:请求成功,其他:请求出错"msg": null, // 错误消息,成功返回 null, 否则返回出错信息"data": {   // 返回请求数据,JSON 数据格式...}
}

复制代码

系统登录

登录接口

请求URL: /sys/login

请求类型: post

请求参数:

{"captcha": "3323","password": "admin","username": "admin"
}

请求结果:

复制代码

{"code": 200,"msg": null,"data": {"id": null,"userId": 1,"token": "77ae89be36504adfb5c09ef71409ea0e","expireTime": "2018-09-01T16:24:50.473+0000","createBy": null,"createTime": null,"lastUpdateBy": null,"lastUpdateTime": "2018-09-01T04:24:50.473+0000"}
}

复制代码

用户管理

保存

请求URL: /user/save

请求类型: post

请求参数:

复制代码

{"createBy": 0,"createTime": "2018-09-01T05:40:23.342Z","delFlag": 0,"deptId": 110,"deptName": "","email": "test@qq.com","lastUpdateBy": 0,"lastUpdateTime": "2018-09-01T05:40:23.342Z","mobile": "18999878998","password": "123456","salt": "1312321321","status": 0,"userId": 110,"username": "test"
}

复制代码

请求结果:

{"code": 200,"msg": null,"data": 1
}

修改

请求URL: /user/update

请求类型: post

请求参数:

{"mobile": "test2@qq.com","userId": 110,"username": "test"
}

请求结果:

{"code": 200,"msg": null,"data": 1
}

删除

请求URL: /user/delete

请求类型: post

请求参数:

{"userId": 110
}

请求结果:

{"code": 200,"msg": null,"data": 1
}

分页查询

请求URL: /user/findPage

请求类型: post

请求参数:

{"pageNum": 1,"pageSize": 5
}

请求结果:

复制代码

{"code": 200,"msg": null,"data": {"pageNum": 1,"pageSize": 5,"totalSize": 5,"totalPages": 1,"content": [{"userId": 1,"username": "admin","password": "9ec9750e709431dad22365cabc5c625482e574c74adaebba7dd02f1129e4ce1d","salt": "YzcmCZNvbXocrsz9dm8e","email": "admin@qq.com","mobile": "13612345678","status": 1,"deptId": null,"deptName": null,"createBy": null,"createTime": "2018-08-14T03:11:11.000+0000","lastUpdateBy": null,"lastUpdateTime": null,"delFlag": 0},{"userId": 2,"username": "Louis","password": "9ec9750e709431dad22365cabc5c625482e574c74adaebba7dd02f1129e4ce1d","salt": "YzcmCZNvbXocrsz9dm8e","email": "louis@qq.com","mobile": "18200932238","status": 1,"deptId": null,"deptName": null,"createBy": null,"createTime": "2018-08-14T03:11:11.000+0000","lastUpdateBy": null,"lastUpdateTime": null,"delFlag": 0},{"userId": 3,"username": "Kobe","password": "9ec9750e709431dad22365cabc5c625482e574c74adaebba7dd02f1129e4ce1d","salt": "YzcmCZNvbXocrsz9dm8e","email": "kobe@qq.com","mobile": "18200932238","status": 1,"deptId": null,"deptName": null,"createBy": null,"createTime": "2018-08-14T03:11:11.000+0000","lastUpdateBy": null,"lastUpdateTime": null,"delFlag": 0},{"userId": 4,"username": "Iverson","password": "9ec9750e709431dad22365cabc5c625482e574c74adaebba7dd02f1129e4ce1d","salt": "YzcmCZNvbXocrsz9dm8e","email": "iverson@qq.com","mobile": "18200932238","status": 1,"deptId": null,"deptName": null,"createBy": null,"createTime": "2018-08-14T03:11:11.000+0000","lastUpdateBy": null,"lastUpdateTime": null,"delFlag": 0},{"userId": 110,"username": "test","password": "123456","salt": "1312321321","email": "test@qq.com","mobile": "test2@qq.com","status": 0,"deptId": 110,"deptName": null,"createBy": 0,"createTime": "2018-09-01T05:40:23.000+0000","lastUpdateBy": 0,"lastUpdateTime": "2018-09-01T05:40:23.000+0000","delFlag": 0}]}
}

复制代码

根据用户查询

请求URL: /user/findByUserName

请求类型: get

请求参数:

{"userName": "admin"
}

请求结果:

复制代码

{"code": 200,"msg": null,"data": {"userId": 1,"username": "admin","password": "9ec9750e709431dad22365cabc5c625482e574c74adaebba7dd02f1129e4ce1d","salt": "YzcmCZNvbXocrsz9dm8e","email": "admin@qq.com","mobile": "13612345678","status": 1,"deptId": null,"deptName": null,"createBy": null,"createTime": "2018-08-14T03:11:11.000+0000","lastUpdateBy": null,"lastUpdateTime": null,"delFlag": 0}
}

复制代码

更新密码

请求URL: /user/updatePassword

请求类型: get

请求参数:

{"password ": "password ","newPassword ": "newPassword "
}

请求结果:

{"code": 200,"msg": null,"data": 1
}

机构管理

保存

请求URL: /dept/save

请求类型: post

请求参数:

复制代码

{"children": [null],"createBy": 0,"createTime": "2018-09-01T05:34:44.618Z","delFlag": 0,"deptId": 110,"lastUpdateBy": 0,"lastUpdateTime": "2018-09-01T05:34:44.618Z","name": "110","orderNum": 0,"parentId": 0
}

复制代码

请求结果:

{"code": 200,"msg": null,"data": 1
}

修改

请求URL: /dept/update

请求类型: post

请求参数:

{"deptId": 110,"name": "upate"
}

请求结果:

{"code": 200,"msg": null,"data": 1
}

删除

请求URL: /dept/delete

请求类型: post

请求参数:

{"deptId": 110
}

请求结果:

{"code": 200,"msg": null,"data": 1
}

查询机构树

请求URL: /dept/findTree

请求类型: get

请求参数:

{
}

请求结果:

复制代码

{"code": 200,"msg": null,"data": [{"deptId": 1,"parentId": 0,"name": "轻尘集团","orderNum": 0,"createBy": null,"createTime": null,"lastUpdateBy": null,"lastUpdateTime": null,"delFlag": 0,"children": [{"deptId": 2,"parentId": 1,"name": "北京分公司","orderNum": 1,"createBy": null,"createTime": null,"lastUpdateBy": null,"lastUpdateTime": null,"delFlag": 0,"children": []},{"deptId": 3,"parentId": 1,"name": "上海分公司","orderNum": 2,"createBy": null,"createTime": null,"lastUpdateBy": null,"lastUpdateTime": null,"delFlag": 0,"children": [{"deptId": 4,"parentId": 3,"name": "技术部","orderNum": 0,"createBy": null,"createTime": null,"lastUpdateBy": null,"lastUpdateTime": null,"delFlag": 0,"children": []},{"deptId": 6,"parentId": 3,"name": "宣传部","orderNum": 1,"createBy": null,"createTime": null,"lastUpdateBy": null,"lastUpdateTime": null,"delFlag": 0,"children": []},{"deptId": 7,"parentId": 3,"name": "销售部","orderNum": 2,"createBy": null,"createTime": null,"lastUpdateBy": null,"lastUpdateTime": null,"delFlag": 0,"children": []},{"deptId": 8,"parentId": 3,"name": "市场部","orderNum": 3,"createBy": null,"createTime": null,"lastUpdateBy": null,"lastUpdateTime": null,"delFlag": 0,"children": []}]}]},{"deptId": 9,"parentId": 0,"name": "牧尘集团","orderNum": 1,"createBy": null,"createTime": null,"lastUpdateBy": null,"lastUpdateTime": null,"delFlag": 0,"children": [{"deptId": 10,"parentId": 9,"name": "北京分公司","orderNum": 1,"createBy": null,"createTime": null,"lastUpdateBy": null,"lastUpdateTime": null,"delFlag": 0,"children": [{"deptId": 12,"parentId": 10,"name": "技术部","orderNum": 1,"createBy": null,"createTime": null,"lastUpdateBy": null,"lastUpdateTime": null,"delFlag": 0,"children": []},{"deptId": 13,"parentId": 10,"name": "宣传部","orderNum": 2,"createBy": null,"createTime": null,"lastUpdateBy": null,"lastUpdateTime": null,"delFlag": 0,"children": []}]},{"deptId": 11,"parentId": 9,"name": "上海分公司","orderNum": 2,"createBy": null,"createTime": null,"lastUpdateBy": null,"lastUpdateTime": null,"delFlag": 0,"children": [{"deptId": 14,"parentId": 11,"name": "销售部","orderNum": 1,"createBy": null,"createTime": null,"lastUpdateBy": null,"lastUpdateTime": null,"delFlag": 0,"children": []},{"deptId": 15,"parentId": 11,"name": "市场部","orderNum": 2,"createBy": null,"createTime": null,"lastUpdateBy": null,"lastUpdateTime": null,"delFlag": 0,"children": []}]}]}]
}

复制代码

角色管理

保存

请求URL: /role/save

请求类型: post

请求参数:

复制代码

{"createBy": 0,"createTime": "2018-09-01T05:54:31.748Z","delFlag": 0,"lastUpdateBy": 0,"lastUpdateTime": "2018-09-01T05:54:31.748Z","remark": "string","roleId": 110,"roleName": "110"
}

复制代码

请求结果:

{"code": 200,"msg": null,"data": 1
}

修改

请求URL: /role/update

请求类型: post

请求参数:

{"remark": "1101111","roleId": 110,"roleName": "1101"
}

请求结果:

{"code": 200,"msg": null,"data": 1
}

删除

请求URL: /role/delete

请求类型: post

请求参数:

{"roleId": 110
}

请求结果:

{"code": 200,"msg": null,"data": 1
}

分页查询

请求URL: /role/findPage

请求类型: post

请求参数:

{"pageNum": 1,"pageSize": 5
}

请求结果:

复制代码

{"code": 200,"msg": null,"data": {"pageNum": 1,"pageSize": 5,"totalSize": 4,"totalPages": 1,"content": [{"roleId": 1,"roleName": "admin","remark": "超级管理员","createBy": null,"createTime": "2018-08-14T03:11:11.000+0000","lastUpdateBy": null,"lastUpdateTime": null,"delFlag": 0},{"roleId": 2,"roleName": "dev","remark": "开发人员","createBy": null,"createTime": "2018-08-14T03:11:11.000+0000","lastUpdateBy": null,"lastUpdateTime": null,"delFlag": 0},{"roleId": 3,"roleName": "test","remark": "测试人员","createBy": null,"createTime": "2018-08-14T03:11:11.000+0000","lastUpdateBy": null,"lastUpdateTime": null,"delFlag": 0},{"roleId": 110,"roleName": "1101","remark": "1101111","createBy": 0,"createTime": "2018-09-01T05:54:32.000+0000","lastUpdateBy": 0,"lastUpdateTime": "2018-09-01T05:54:32.000+0000","delFlag": 0}]}
}

复制代码

查询全部

请求URL: /role/findAll

请求类型: get

请求参数:

{}

请求结果:

复制代码

{"code": 200,"msg": null,"data": [{"roleId": 1,"roleName": "admin","remark": "超级管理员","createBy": null,"createTime": "2018-08-14T03:11:11.000+0000","lastUpdateBy": null,"lastUpdateTime": null,"delFlag": 0},{"roleId": 2,"roleName": "dev","remark": "开发人员","createBy": null,"createTime": "2018-08-14T03:11:11.000+0000","lastUpdateBy": null,"lastUpdateTime": null,"delFlag": 0},{"roleId": 3,"roleName": "test","remark": "测试人员","createBy": null,"createTime": "2018-08-14T03:11:11.000+0000","lastUpdateBy": null,"lastUpdateTime": null,"delFlag": 0},{"roleId": 110,"roleName": "1101","remark": "1101111","createBy": 0,"createTime": "2018-09-01T05:54:32.000+0000","lastUpdateBy": 0,"lastUpdateTime": "2018-09-01T05:54:32.000+0000","delFlag": 0}]
}

复制代码

菜单管理

保存

请求URL: /menu/save

请求类型: post

请求参数:

复制代码

{"createBy": 0,"createTime": "2018-09-01T06:01:47.825Z","delFlag": 0,"icon": "string","lastUpdateBy": 0,"lastUpdateTime": "2018-09-01T06:01:47.825Z","menuId": 110,"name": "110","orderNum": 0,"parentId": 0,"perms": "sys:menu:list","type": 0,"url": "/sys/menu"
}

复制代码

请求结果:

{"code": 200,"msg": null,"data": 1
}

修改

请求URL: /menu/update

请求类型: post

请求参数:

{"menuId": 110,"name": "1101"
}

请求结果:

{"code": 200,"msg": null,"data": 1
}

删除

请求URL: /menu/delete

请求类型: post

请求参数:

{"menuId": 110
}

请求结果:

{"code": 200,"msg": null,"data": 1
}

查询菜单树

请求URL: /menu/findTree

请求类型: get

请求参数:

{
}

请求结果:

复制代码

{"code": 200,"msg": null,"data": [{"menuId": 1,"parentId": 0,"name": "系统管理","url": null,"perms": null,"type": 0,"icon": "fa el-icon-setting","orderNum": 0,"createBy": null,"createTime": null,"lastUpdateBy": null,"lastUpdateTime": null,"delFlag": 0,"children": [{"menuId": 2,"parentId": 1,"name": "用户管理","url": "/sys/user","perms": null,"type": 1,"icon": "el-icon-service","orderNum": 1,"createBy": null,"createTime": null,"lastUpdateBy": null,"lastUpdateTime": null,"delFlag": 0,"children": [{"menuId": 9,"parentId": 2,"name": "查看","url": null,"perms": "sys:user:view","type": 2,"icon": null,"orderNum": 0,"createBy": null,"createTime": null,"lastUpdateBy": null,"lastUpdateTime": null,"delFlag": 0,"children": []},{"menuId": 10,"parentId": 2,"name": "新增","url": null,"perms": "sys:user:save","type": 2,"icon": null,"orderNum": 0,"createBy": null,"createTime": null,"lastUpdateBy": null,"lastUpdateTime": null,"delFlag": 0,"children": []},{"menuId": 11,"parentId": 2,"name": "修改","url": null,"perms": "sys:user:update","type": 2,"icon": null,"orderNum": 0,"createBy": null,"createTime": null,"lastUpdateBy": null,"lastUpdateTime": null,"delFlag": 0,"children": []},{"menuId": 12,"parentId": 2,"name": "删除","url": null,"perms": "sys:user:delete","type": 2,"icon": null,"orderNum": 0,"createBy": null,"createTime": null,"lastUpdateBy": null,"lastUpdateTime": null,"delFlag": 0,"children": []}]},{"menuId": 3,"parentId": 1,"name": "机构管理","url": "/sys/dept","perms": null,"type": 1,"icon": "el-icon-news","orderNum": 2,"createBy": null,"createTime": null,"lastUpdateBy": null,"lastUpdateTime": null,"delFlag": 0,"children": [{"menuId": 13,"parentId": 3,"name": "查看","url": null,"perms": "sys:dept:view","type": 2,"icon": null,"orderNum": 0,"createBy": null,"createTime": null,"lastUpdateBy": null,"lastUpdateTime": null,"delFlag": 0,"children": []},{"menuId": 14,"parentId": 3,"name": "新增","url": null,"perms": "sys:dept:save","type": 2,"icon": null,"orderNum": 0,"createBy": null,"createTime": null,"lastUpdateBy": null,"lastUpdateTime": null,"delFlag": 0,"children": []},{"menuId": 15,"parentId": 3,"name": "修改","url": null,"perms": "sys:dept:update","type": 2,"icon": null,"orderNum": 0,"createBy": null,"createTime": null,"lastUpdateBy": null,"lastUpdateTime": null,"delFlag": 0,"children": []},{"menuId": 16,"parentId": 3,"name": "删除","url": null,"perms": "sys:dept:delete","type": 2,"icon": null,"orderNum": 0,"createBy": null,"createTime": null,"lastUpdateBy": null,"lastUpdateTime": null,"delFlag": 0,"children": []}]},{"menuId": 4,"parentId": 1,"name": "角色管理","url": "/sys/role","perms": null,"type": 1,"icon": "el-icon-view","orderNum": 4,"createBy": null,"createTime": null,"lastUpdateBy": null,"lastUpdateTime": null,"delFlag": 0,"children": [{"menuId": 17,"parentId": 4,"name": "查看","url": null,"perms": "sys:role:view","type": 2,"icon": null,"orderNum": 0,"createBy": null,"createTime": null,"lastUpdateBy": null,"lastUpdateTime": null,"delFlag": 0,"children": []},{"menuId": 18,"parentId": 4,"name": "新增","url": null,"perms": "sys:role:save","type": 2,"icon": null,"orderNum": 0,"createBy": null,"createTime": null,"lastUpdateBy": null,"lastUpdateTime": null,"delFlag": 0,"children": []},{"menuId": 19,"parentId": 4,"name": "修改","url": null,"perms": "sys:role:update","type": 2,"icon": null,"orderNum": 0,"createBy": null,"createTime": null,"lastUpdateBy": null,"lastUpdateTime": null,"delFlag": 0,"children": []},{"menuId": 20,"parentId": 4,"name": "删除","url": null,"perms": "sys:role:delete","type": 2,"icon": null,"orderNum": 0,"createBy": null,"createTime": null,"lastUpdateBy": null,"lastUpdateTime": null,"delFlag": 0,"children": []}]},{"menuId": 5,"parentId": 1,"name": "菜单管理","url": "/sys/menu","perms": null,"type": 1,"icon": "el-icon-menu","orderNum": 5,"createBy": null,"createTime": null,"lastUpdateBy": null,"lastUpdateTime": null,"delFlag": 0,"children": [{"menuId": 21,"parentId": 5,"name": "查看","url": null,"perms": "sys:menu:view","type": 2,"icon": null,"orderNum": 0,"createBy": null,"createTime": null,"lastUpdateBy": null,"lastUpdateTime": null,"delFlag": 0,"children": []},{"menuId": 22,"parentId": 5,"name": "新增","url": null,"perms": "sys:menu:save","type": 2,"icon": null,"orderNum": 0,"createBy": null,"createTime": null,"lastUpdateBy": null,"lastUpdateTime": null,"delFlag": 0,"children": []},{"menuId": 23,"parentId": 5,"name": "修改","url": null,"perms": "sys:menu:update","type": 2,"icon": null,"orderNum": 0,"createBy": null,"createTime": null,"lastUpdateBy": null,"lastUpdateTime": null,"delFlag": 0,"children": []},{"menuId": 24,"parentId": 5,"name": "删除","url": null,"perms": "sys:menu:delete","type": 2,"icon": null,"orderNum": 0,"createBy": null,"createTime": null,"lastUpdateBy": null,"lastUpdateTime": null,"delFlag": 0,"children": []}]},{"menuId": 6,"parentId": 1,"name": "SQL监控","url": "/druid/sql","perms": null,"type": 1,"icon": "el-icon-info","orderNum": 6,"createBy": null,"createTime": null,"lastUpdateBy": null,"lastUpdateTime": null,"delFlag": 0,"children": []},{"menuId": 8,"parentId": 1,"name": "系统日志","url": "/sys/log","perms": "sys:log:list","type": 1,"icon": "el-icon-info","orderNum": 7,"createBy": null,"createTime": null,"lastUpdateBy": null,"lastUpdateTime": null,"delFlag": 0,"children": []}]},{"menuId": 25,"parentId": 0,"name": "内容管理","url": null,"perms": null,"type": 0,"icon": "el-icon-document","orderNum": 0,"createBy": null,"createTime": null,"lastUpdateBy": null,"lastUpdateTime": null,"delFlag": 0,"children": [{"menuId": 26,"parentId": 25,"name": "栏目管理","url": "/content/category","perms": null,"type": 1,"icon": "el-icon-tickets","orderNum": 1,"createBy": null,"createTime": null,"lastUpdateBy": null,"lastUpdateTime": null,"delFlag": 0,"children": []},{"menuId": 27,"parentId": 25,"name": "文章管理","url": "/content/artical","perms": null,"type": 1,"icon": "el-icon-tickets","orderNum": 2,"createBy": null,"createTime": null,"lastUpdateBy": null,"lastUpdateTime": null,"delFlag": 0,"children": []}]},{"menuId": 28,"parentId": 0,"name": "使用案例","url": null,"perms": null,"type": 0,"icon": "el-icon-picture-outline","orderNum": 0,"createBy": null,"createTime": null,"lastUpdateBy": null,"lastUpdateTime": null,"delFlag": 0,"children": [{"menuId": 29,"parentId": 28,"name": "国际化","url": "/demo/i18n","perms": null,"type": 1,"icon": "el-icon-edit","orderNum": 1,"createBy": null,"createTime": null,"lastUpdateBy": null,"lastUpdateTime": null,"delFlag": 0,"children": []},{"menuId": 30,"parentId": 28,"name": "换皮肤","url": "/demo/theme","perms": null,"type": 1,"icon": "el-icon-picture","orderNum": 2,"createBy": null,"createTime": null,"lastUpdateBy": null,"lastUpdateTime": null,"delFlag": 0,"children": []}]}]
}

复制代码

字典管理

保存

请求URL: /dict/save

请求类型: post

请求参数:

复制代码

{"createBy": 0,"createTime": "2018-09-01T06:05:44.794Z","delFlag": 0,"description": "aaaa","id": 110,"label": "aa","lastUpdateBy": 0,"lastUpdateTime": "2018-09-01T06:05:44.794Z","remarks": "aaaaaa","sort": 0,"type": "a","value": "aaaaa"
}

复制代码

请求结果:

{"code": 200,"msg": null,"data": 1
}

修改

请求URL: /dict/update

请求类型: post

请求参数:

{"description": "bbbb","id": 110,"label": "bbbb"
}

请求结果:

{"code": 200,"msg": null,"data": 1
}

删除

请求URL: /dict/delete

请求类型: post

请求参数:

{"id": 110
}

请求结果:

{"code": 200,"msg": null,"data": 1
}

分页查询

请求URL: /dict/findPage

请求类型: get

请求参数:

{"pageNum": 1,"pageSize": 5
}

请求结果:

复制代码

{"code": 200,"msg": null,"data": {"pageNum": 1,"pageSize": 5,"totalSize": 2,"totalPages": 1,"content": [{"id": 1,"value": "male","label": "男","type": "sex","description": "男性","sort": 0,"createBy": null,"createTime": null,"lastUpdateBy": null,"lastUpdateTime": null,"remarks": null,"delFlag": 0},{"id": 2,"value": "female","label": "女","type": "sex","description": "女性","sort": 1,"createBy": null,"createTime": null,"lastUpdateBy": null,"lastUpdateTime": null,"remarks": null,"delFlag": 0}]}
}

复制代码

日志管理

分页查询

请求URL: /log/findPage

请求类型: get

请求参数:

{"pageNum": 1,"pageSize": 5
}

请求结果:

复制代码

{"code": 200,"msg": null,"data": {"pageNum": 1,"pageSize": 5,"totalSize": 2,"totalPages": 1,"content": [{"id": 1,"value": "male","label": "男","type": "sex","description": "男性","sort": 0,"createBy": null,"createTime": null,"lastUpdateBy": null,"lastUpdateTime": null,"remarks": null,"delFlag": 0},{"id": 2,"value": "female","label": "女","type": "sex","description": "女性","sort": 1,"createBy": null,"createTime": null,"lastUpdateBy": null,"lastUpdateTime": null,"remarks": null,"delFlag": 0}]}
}

复制代码

好了,后续前台页面需要调用相关接口的时候,就可以用上面的格式进行 mock 模拟了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/71276.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Golang RSA 生成密钥、加密、解密、签名与验签

文章目录 1.RSA2.Golang 实现 RSA生成密钥加密解密签名验签 3.dablelv/cyan参考文献 1.RSA RSA 是最常用的非对称加密算法,由 Ron Rivest、Adi Shamir、Leonard Adleman 于1977 年在麻省理工学院工作时提出,RSA 是三者姓氏首字母的拼接。 它的基本原理…

大数据安全 | (一)介绍

目录 📚大数据安全 🐇大数据安全内涵 🐇大数据安全威胁 🐇保障大数据安全 ⭐️采集环节安全技术 ⭐️存储环节安全技术 ⭐️挖掘环节安全技术 ⭐️发布环节安全技术 🐇大数据用于安全 📚隐私及其…

2023国赛数学建模E题思路分析-黄河水沙监测数据分析

E 题 黄河水沙监测数据分析 黄河是中华民族的母亲河。研究黄河水沙通量的变化规律对沿黄流域的环境治理、气候变 化和人民生活的影响,以及对优化黄河流域水资源分配、协调人地关系、调水调沙、防洪减灾 等方面都具有重要的理论指导意义。 附件 1 给出了位于小浪底水…

tcpdump相关

Linux内核角度分析tcpdump原理(一)Linux内核角度分析tcpdump原理(二)

android framework之Applicataion启动流程分析(二)

上一篇讲了Zygote是如何收到启动Application的启动消息,并一步步进入Fork(),下面来分析zygote fork启动application后,application进程后续处理操作,是如何真正的启动的。 ZygoteInit.main():-->...caller ZygoteServer.runSelectLoop()…

数据结构day07(栈和队列)

今日任务 链式队列&#xff1a; head.h #ifndef __HEAD_H__ #define __HEAD_H__#include <stdio.h> #include <stdlib.h>typedef int datatype; typedef struct link_list{datatype data;struct link_list* next; }link,*linkp; typedef struct circulate_line_t…

Numpy知识点回顾与学习

Numpy知识点回顾与学习 什么是Numpy&#xff1f; Numpy使用Python进行科学计算的基础包。因为机器学习当中很多都会用到数组、线性代数等知识&#xff0c;经常需要和数组打交道&#xff0c;所以Numpy学习成为了科研之路上必须掌握的一门技能。Numpy包含以下的内容&#xff1a…

Spring Boot + Vue的网上商城之商品分类

Spring Boot Vue的网上商城之商品分类 在网上商城中&#xff0c;商品分类是非常重要的一个功能&#xff0c;它可以帮助用户更方便地浏览和筛选商品。本文将介绍如何使用Spring Boot和Vue来实现商品分类的功能&#xff0c;包括一级分类和二级分类的管理以及前台按分类浏览商品…

Webpack vs Vite的核心差异

构建速度: Webpack: Webpack的构建速度相对较慢&#xff0c;尤其在大型项目中&#xff0c;因为它需要分析整个依赖图&#xff0c;进行多次文件扫描和转译。Vite: Vite以开发模式下的极速构建著称。它利用ES模块的特性&#xff0c;只构建正在编辑的文件&#xff0c;而不是整个项…

编程题练习@9-5

题目一&#xff1a; 题目描述 解析输入的字符串数组&#xff0c;提取出字符串中的时间戳信息&#xff0c;并且将字符串按照时间戳排序后&#xff0c;输出到控制台。 输入描述 第1行指定数组的size; 第2行到第n行&#xff0c;每行为一个独立的字符串&#xff0c;n为size的值。 每…

Redis简易入门15招

Redis简易入门15招 1、Redis简介 REmote DIctionary Server(Redis) 是一个由 Salvatore Sanfilippo写的key-value存储系统 。Redis是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库&#xff0c;并提供多种语言的API。…

机车整备场数字孪生 | 图扑智慧铁路

机车整备场是铁路运输系统中的重要组成部分&#xff0c;它承担着机车的维修、保养和整备工作&#xff0c;对保障铁路运输的运维和安全起着至关重要的作用。 随着铁路运输的发展、机车技术的不断进步&#xff0c;以及数字化转型的不断推进&#xff0c;数字孪生技术在机车整备场…

Android性能优化深入解析,将你的APP优化到极致的操作~

作为一个Android程序员&#xff0c;性能优化是无法避开的事情&#xff0c;并且性能优化也是Android中最有挑战的工作之一&#xff0c;更是每个工程师都需要掌握的核心技能。 性能问题和Bug不同&#xff0c;后者的分析和解决思路更清晰&#xff0c;很多时候从应用日志即可直接找…

地理信息系统概率笔记1

P1 地理信息系统概论 信息&#xff1a;用文本、数字、符号、语言、图像来传播&#xff1b; 地理信息&#xff1a;是表征地理系统诸要素的数量、质量、分布特征、相互联系和变化规律的数字、文字、图像和图形等的总称&#xff1b; 山川河流、城市楼栋、公路桥梁都是地理信息&am…

让开发回归简单模式-组件封装

对于工作年限不长的程序员来说&#xff0c;知识储备是非常关键的。在开发中各种技术的应用已经非常普遍了&#xff0c;例如常见的各种ORM,各种中间件如Redis&#xff0c;MQ等等&#xff0c;又如WebApi路由配置等等&#xff0c;对于常常做开发的程序员来说&#xff0c;都是小事&…

云原生架构如何助力大数据和AI技术在软件开发中的深度整合

文章目录 1. 云原生架构简介2. 大数据与云原生的融合a. 弹性计算和存储b. 容器化大数据应用c. 数据湖和数据仓库 3. AI与云原生的深度融合a. 弹性AI模型训练b. 容器化AI应用c. 自动化部署和监控 4. 对软件开发的影响a. 更快的开发周期b. 更低的成本c. 更高的灵活性和可伸缩性 5…

Revit SDK 介绍:GenericModelCreation常规模型的创建

前言 这个例子介绍了如何创建拉伸、放样、扫掠、融合、放样融合&#xff0c;涵盖了一个建模软件需要的基本建模方法。 内容 CreateExtrusion 生成的放样融合接口&#xff1a; m_creationFamily.NewExtrusion(true, curve, sketchPlane, bottomProfile, topProfile)核心逻辑&…

Android GB28181历史视音频文件检索

基于安卓系统的执法记录仪、智能头盔等设备&#xff0c;设备端录像、录像查询以及录像文件下载是必不可少的功能, 使用GB28181协议下载安卓设备上的录像文件, 检索录像文件是第一步, 先查询再下载&#xff0c;这里记录下我实现视音频文件检索的一些细节问题. 检索请求和查询结果…

pip安装mysqlclient报错 Exception: Can not find valid pkg-config name

今天docker内搭建python3.10环境时报这个错误&#xff0c;安装 mysqlclient 时报错。 WARNING: The directory /home/seluser/.cache/pip or its parent directory is not owned or is not writable by the current user. The cache has been disabled. Check the permissions…

【理解线性代数】(四)线性运算的推广与矩阵基础

1. 数值加法和乘法 数值加法与乘法&#xff0c;是小学数学课程中的基本数学运算。例如&#xff1a; 加法&#xff1a;112 乘法&#xff1a;2*24 在这个知识层次下&#xff0c;运算的基本单位是数字。 2. 从数值到向量 数值加法&#xff0c;可以看作一维空间中的向量加法&…