# meiSee_jsonserver **Repository Path**: taec0123/mei-see_ ## Basic Information - **Project Name**: meiSee_jsonserver - **Description**: 基于json-server的简单数据库,配合meiSee后台使用,mockjs随机生成数据 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2020-08-30 - **Last Updated**: 2022-05-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 基于json-server的简单模拟服务器 因为mei_see项目在项目内使用大量mock数据会造成首页首次打开需要40s+的时间来进行加载,所以这里采用json-server来分离数据,最后能够做到0.5s内的首页加载速度,达到需求 目前因为使用js文件构建服务器的情况,添加的数据还是不能很好保存(刷新之后添加数据会丢失),希望之后能有方法解决 ## json-server 主要的作用就是搭建本地的数据接口,是一个Node模块,运行Express 服务器,通过创建json文件,可以接受get/post请求,返回不同的状态码,便于前后端分离开发。 具体使用方法可查看[Github地址](https://github.com/typicode/json-server) ## 目录结构 ---- mockDB文件夹 --- adminuser.js 放管理员账户数据 --- shows.js 放所有演出数据 --- theater.js 放剧院和演出厅数据 --- user.js 放普通用户数据 mockDB用于存储mock数据,这里的mock文件都会包装成一个函数暴露出去,方便每次调用的时候生成一次全新mock --- db.js 是用于创建json-server的路由表,mockDB文件夹下定义的都是mock函数,所以这里要保证路由表是正确的,就要重新组装一份符合格式的路由表。 --- json-server.json jsonserver的配置文件 --- server.json 主要服务文件,基于node的服务器,用于配置各种接口 ## 主要接口 #### /login 登录请求post请求,接收登录输入的表单,和已存在数据对比,之后返回是否登录成功 #### /menus 获取侧边栏get请求,返回所有剧院信息 #### /getmonthdata 首页的echarts获取本月所有的演出数据,通过传入当前月份,来处理对应数据,只返回当前月的每场演出的日期/演出厅/类型/剧目名等信息 #### /getnewcomments 首页评论轮播图获取评论信息,返回按日期排序最新的10条评论信息 #### /gettoday 获取今天的演出信息,接收当前日期信息,查找出演出日期为今天的所有演出 #### /getTheaterInfo 获取当前剧院的信息,通过get请求,截取传入的剧院path/演出厅hallnum,通过这两个数据来截取当前应该展示的演出厅的数据,并且返回属于当前演出厅的所有剧目 #### /editShow 在theaterManage组件中点击编辑请求之后,会传入当前theater以及剧目id,获取当前演出剧目的所有信息 #### /deletshow 在theaterManage组件中点击删除剧目请求之后,传入剧院path/剧目id/演出厅hallid,用于定位剧目位置,进行删除操作 #### /edit theaterManage页面子组件editshowdialog的修改演出事件,post请求,会把整个dialog内部的信息全部传递过来,对数据进行修改 #### /seatmap 在theaterManage页面中需要修改seatmap的请求,post当前剧院path/当前标签栏的activenum/新的seatmap数据,对数据进行修改 #### /addhall 在theaterManage页面中添加演出厅的请求,会发送当前剧院path以及添加演出厅的信息 #### /deletehall 在theaterManage页面中删除演出厅的请求,传入剧院path以及需要删除的演出厅id #### /getallshow 在showManage页面中获取演出请求,这个页面中使用了分页器,不请求所有数据,通过发送star以及end,来获取部分信息,达到减少请求时间的目的 #### /getlocation 在showManage页面中子组件级联选择器获取数据的请求,返回一个级联选择器的数据 #### /addshowseatmap 在showManage页面中添加演出子组件,根据级联选择器选择的演出厅来获取对应的演出厅座位图 #### /changeshow 在showManage页面中修改剧目子组件确定修改演出请求,post过来所有修改后的演出数据 #### /addnewshow 在showManage页面中添加剧目子组件确定修改演出请求,post过来所有新的演出数据 #### /searchshow 在showManage页面中搜索框请求,可以同时输入多个关键词,对数据进行筛选,返回 #### /getalluser 在userManage组件中,获取所有用户请求,也同样使用了分页器,通过传入star以及end来截取部分信息,减少请求时间 #### /changeuserstatus 在userManage组件中,更改用户状态请求,传入用户id,来修改数据 #### /commentstatus 在userManage组件中,更改评论状态请求,传入用户id以及评论id,来修改数据 #### /deletecomment 在userManage组件中,删除评论请求,传入用户id以及评论id,删除