目录
前言
这篇是单词的接口篇,web端、小程序端 、管理端每一个一个文章。
下面的接口不支持跨域访问,如果想跨域访问可以自己在定义一个php文件,分别引用就好了
<?php
// header("Content-type:application/json;charset=utf-8");
header('Access-Control-Allow-Origin:*');
header('Access-Control-Allow-Methods:GET,POST,OPTIONS');//跨域访问
?>
接口都是用php,没有用php的框架,接口也比较简单,对数据库的增删改查。
web端、管理端 、小程序端、截图效果如下:
web端:(模仿猫眼电影做的)
管理端:
移动端(微信小程序):图片都是url地址,有些可能链接变了,所以没显示出来
其中的一个测试接口效果图:(这个是get请求,不需要发包,专业测试接口建议使用postman)
1.开发技术
1.1PHP概述
php是(超文本预处理器)的缩写,是一种服务器端、跨平台、HTML嵌入式的脚本语言,其独特的语法混合了C语言、Java语言和Perl语言的特点,是一种被广泛应有的开源式的多用途脚本语言,尤其适合Web开发。
1.2MySQL概述
MySQL是一种关系数据库管理系统,关系数据库将数据保存在不同的表中,增加了速度并提高了灵活性。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,网站使用其作为数据库管理系统。
1.3Apache概述
Apache是使用最广泛的Web服务器软件。它是一个免费提供的开源软件。Apache快速,可靠,安全。它可以通过使用扩展和模块进行高度定制,以满足许多不同环境的需求。大多数WordPress托管服务提供商使用Apache作为其Web服务器软件。
1.4HBuilder编辑器
HBuilder是DCloud(数字天堂)推出的一款支持HTML5的Web开发IDE。 HBuilder的编写用到了html、css、JavaScript和php。
1.5Navicat for MySQL数据库管理工具
Navicat for MySQL是一款强大的MySQL数据库管理和开发工具,它为专业开发者提供了一套强大的足够尖端的工具。使用了极好的图形用户界面(GUI),可以用一种安全和更为容易的方式快速和容易地创建、组织、存取和共享信息。啊
2.项目需求
2.1管理端功能需求
艾米电影管理系统主要包括首页、电影管理、电影上架、订单信息、设置五个板块。首页板块主要是给为管理者展示电影数、用户数、订单数、影院数、今日收益的信息、添加删除影院;电影管理页面可以展示所有上架的电影信息,可以对电影进行修改信息操作;电影上架页面可以上架电影信息,填写相应的电影信息。订单信息页面展示所有用户的订单信息,管理者可以删除订单信息等等。
综上所述,为管理端提供的12个接口,包括:管理者登录接口、添加电影接口、修改电影信息接口、删除电影信息、显示电影信息接口等
2.2移动端功能需求
艾米电影购票微信小程序主要包括首页、影院、订单、个人中心四个板块。首页板块主要是给用户提供上映电影的信息,客户可以在里面进行了解与购买;影院板块是给游客提供搜选择不同的电影院,用户选择影院后可以了解该影院有什么电影,以及购买电影票;订单板块显示了用户的购票记录;个人中心板块可以登录、注册账号等。
综上所述,为移动端提供的7个接口,包括:用户登录、注册接口、显示电影信息接口、热播电影接口、用户订单接口、购买电影票接口、影院显示接口。
3.数据库设计
数据库的实现是使用Navicat for SQL Server 是一个全面的图形化方式管理数据库,它提供良好的图形界面,快速的创建数据库和数据表
3.1数据库结构设计
admin表
此表来存储管理者的账户信息,表结构如表1所示:
字段 |
类型 |
长度 |
是否为空 |
是否为主键 |
id |
int |
11 |
否 |
是 |
username |
varchar |
255 |
否 |
否 |
password |
varchar |
255 |
否 |
否 |
表1 admin表
yhxx表
此表来存储用户的账户信息,表结构如表2所示:
字段 |
类型 |
长度 |
是否为空 |
是否为主键 |
id |
int |
11 |
否 |
是 |
username |
varchar |
255 |
否 |
否 |
password |
varchar |
255 |
否 |
否 |
phonenum |
varchar |
11 |
否 |
否 |
表2 User表
cinema表
此表来存储影院的名称和地址信息,表结构如表3所示:
字段 |
类型 |
长度 |
是否为空 |
是否为主键 |
id |
int |
11 |
否 |
是 |
moviename |
varchar |
255 |
否 |
否 |
movpro |
varchar |
255 |
否 |
否 |
movcit |
varchar |
255 |
否 |
否 |
movarea |
varchar |
255 |
否 |
否 |
表3 cinema表
此表来存储电影信息,包括电影名称、时长、类型、评分等信息,表结构如表4所示:
字段 |
类型 |
长度 |
是否为空 |
是否为主键 |
id |
int |
11 |
否 |
是 |
name |
varchar |
255 |
否 |
否 |
lx |
varchar |
255 |
否 |
否 |
pf |
varchar |
255 |
否 |
否 |
time |
date |
0 |
否 |
否 |
imgname |
char |
255 |
否 |
否 |
intro |
varchar |
255 |
否 |
否 |
director |
varchar |
255 |
否 |
否 |
area |
varchar |
255 |
否 |
否 |
tostar |
varchar |
255 |
否 |
否 |
longtime |
varchar |
255 |
否 |
否 |
表4 dy2表
此表来存储所有用户订单信息,包括购票时间、座位、电影院等信息,表结构如表5所示:
字段 |
类型 |
长度 |
是否为空 |
是否为主键 |
id |
int |
11 |
否 |
是 |
username |
varchar |
255 |
否 |
否 |
movname |
varchar |
255 |
否 |
否 |
buytime |
date |
0 |
否 |
否 |
seat |
varchar |
255 |
否 |
否 |
money |
float |
0 |
否 |
否 |
ticketsum |
int |
2 |
否 |
否 |