php大学跳蚤市场的微信小程序设计与实现 毕业设计-附源码261620

摘要

随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,大学跳蚤市场小程序被用户普遍使用,为方便用户能够可以随时进行大学跳蚤市场小程序的数据信息管理,特开发了基于大学跳蚤市场小程序的管理系统。

大学跳蚤市场小程序的设计主要是对系统所要实现的功能进行详细考虑,确定所要实现的功能后进行界面的设计,在这中间还要考虑如何可以更好的将功能及页面进行很好的结合,方便用户可以很容易明了的找到自己所需要的信息,还有系统平台后期的可操作性,通过对信息内容的详细了解进行技术的开发。

大学跳蚤市场小程序的开发利用现有的成熟技术参考,以源代码为模板,分析功能调整与大学跳蚤市场小程序的实际需求相结合,讨论了基于大学跳蚤市场小程序的使用。

关键词:大学跳蚤市场;微信小程序;MySQL


Abstract

With the rapid development of China's economy, people's demand for mobile phones is increasing, and various mobile phone software are also widely used. However, for mobile phone data information management, various mobile phone software are also loved by users. College flea market applet is widely used by users. For convenience, users can manage the data information of College flea market applet at any time, A management system based on the small program of University flea market is developed.

The design of University flea market applet is mainly to consider in detail the functions to be realized by the system, and design the interface after determining the functions to be realized. In the middle, we should also consider how to better combine the functions and pages, so that users can easily and clearly find the information they need, as well as the operability of the system platform in the later stage, Develop technology through detailed understanding of information content.

The development of University flea market applet makes use of the existing mature technology reference, takes the source code as the template, analyzes the combination of function adjustment and the actual needs of University flea market applet, and discusses the use of University flea market applet.

Keywords:University flea market; Wechat applet; MySQL
目 录

1 绪论 1

1.1 课题研究背景 1

1.2 课题研究意义 1

1.3系统开发技术的特色 1

2 基于微信小程序平台的大学跳蚤市场系统分析 2

2.1可行性分析 2

2.1.1技术可行性分析 2

2.1.2经济可行性分析 2

2.1.3操作可行性分析 2

2.2需求分析 2

2.3用例分析 4

3基于微信小程序平台的大学跳蚤市场系统总体设计 7

3.1系统功能模块设计 7

3.3数据库设计 7

3.3.1 数据库E-R模型 8

3.3.2 数据库表设计 8

4 基于微信小程序平台的大学跳蚤市场系统实现 13

4.1 微信端 13

4.1.1 用户注册界面 13

4.1.2 用户登录界面 14

4.1.3 我的订单界面 15

4.1.4 收获地址界面 16

4.1.5 商品详情界面 17

4.1.6我的基本信息界面 18

4.1.7跳蚤论坛界面 19

4.2 后台端 20

4.2.1 管理员登录界面 20

4.2.2 跳蚤论坛管理管理界面 22

4.2.3 订单列表管理界面 24

4.2.4 跳蚤市场管理界面 25

4.2.5论坛列表管理界面 26

4.2.6站点管理界面 27

5 基于微信小程序平台的大学跳蚤市场系统测试 34

5.1系统测试的目的 34

5.2系统测试用例 34

5.3系统测试结果 36

总结与展望 38

参考文献 37

致谢 39

1 绪论

1.1 课题研究背景

现下全国很多企业已经把自己企业内的软件朝着智能化的方向在转移,尤其是在朝着符合自己企业特色的移动端方向来扩展。像以前企业内使用的大学跳蚤市场系统是单机版或者网络版的,就需要朝着移动端中的小程序来扩展,因此我决定开发大学跳蚤市场系统小程序[1]。通过借助现在热门的微信小程序,让大学跳蚤市场系统变的更加人性化,也可以使得大学跳蚤市场在智能化管理上有所提高[2]。

1.2 课题研究意义

近几年来,随着各个地区引进大量人才,对大学跳蚤市场的需求越来越高,我们生活中越来越多方面需要利用智能手机,我们所需要的各种信息的处理操作都可以通过使用智能手机来完成,有了智能手机就可以方便的对各种信息进行查询和维护了。

因此需要实现对大学跳蚤市场的电子化,提高大学跳蚤市场管理效能和使用效能。随着微信小程序的高速发展,小巧便捷的微信小程序受到也越来越多人的喜爱,基于这个背景下设计一款基于微信小程序平台的大学跳蚤市场系统,利用小程序便利性的优点,提高大学跳蚤市场系统的工作效率,使大学生能够享受更加便捷高效的服务[4]。

1.3系统开发技术的特色

(1)基于微信小程序平台的大学跳蚤市场系统系统中的web后台管理中的后端不再使用古老的PHP+phpbean+servlet技术,而是使用当前主流的Thinkphp框架,它减少PHP配置代码,简化编程代码,目前THINKPHP框架也是很多企业选择的框架之一。

(2)基于微信小程序平台的大学跳蚤市场系统系统中的web后台管理中的前端使用的是PhpScript框架,它配合ajax和jquery可以美化页面设计。

(3)基于微信小程序平台的大学跳蚤市场系统系统中数据库用的mysql5.7[10],它执行效率高。


2 基于微信小程序平台的大学跳蚤市场系统分析

基于微信小程序平台的大学跳蚤市场系统可在移动端实现预定住房、预约看房、在线沟通、电子合同和个人信息管理等操作,相对于传统大学跳蚤市场系统,基于微信小程序平台的大学跳蚤市场系统提高了效率和便利性。在后台可对房源信息、发布者信息和用户信息进行管理、有效掌握大学跳蚤市场信息,充分了解用户的需求,更有针对性的服务用户。

2.1可行性分析

2.1.1技术可行性分析

基于微信小程序平台的大学跳蚤市场系统存储所使用的mysql数据库以及开发中所使用的IDEA、Tomcat这些开发工具的使用,能够给我们的编写工作带来许多的便利。系统使用THINKPHP框架进行开发,使系统的可扩展性和维护性更佳,减少PHP配置代码,简化编程代码,目前THINKPHP框架也是很多企业选择的框架之一。

2.1.2经济可行性分析

在开发基于微信小程序平台的大学跳蚤市场系统中所使用的开发软件像IDEA开发工具、Tomcat8.0服务器、MySQL5.7数据库、Photoshop图片处理软件等,这些都是开源免费的,并且基于微信小程序平台的大学跳蚤市场系统是自己设计并编码实现的,数据库是使用流行mysql进行数据的存储,开源的mysql等技术的使用,减少系统开发费用。

2.1.3操作可行性分析

在日常生活中,随着小程序的快速推广和使用,越来越多人掌握小程序的使用方法,基于微信小程序平台的大学跳蚤市场系统在这种条件背景下是很容易被人们所接受和熟悉的,所以在操作上没任何问题。

2.2需求分析

基于微信小程序平台的大学跳蚤市场系统中的web后台管理端采用了IntelliJ IDEA 2019.3.4 开发工具,配合了php开发语言中THINKPHP开发框架以及tomcat8.0服务器[14]、jdk1.8,微信端采用了微信开发者工具稳定版1.05.2111300,页面使用wxss和wxml进行布局[15],微信端和web后台管理端采用json接口通信。

微信小程序端:

(1)用户注册:不是基于微信小程序平台的大学跳蚤市场系统中的会员用户,可以在线注册成为真正的会员用户;

(2)用户登录:是基于微信小程序平台的大学跳蚤市场系统中的会员用户,可以直接登录来使用基于微信小程序平台的大学跳蚤市场系统;

(3)我的订单:用户在提交订单后,可以对提交的订单进行管理。

(4)用户查看商品:用户进行商品信息的阅览,通过发现喜欢的商品后可以购买+评论+收藏。

(5)市场资讯:在基于微信小程序平台的大学跳蚤市场系统中的微信小程序端中可以了解到市场的一些资讯信息;

(6)跳蚤论坛:在基于微信小程序平台的大学跳蚤市场系统中的微信小程序端中可以查看交流信息、发布交流信息;

(7)商品购买:用户对喜欢的商品可以加购,在购物车里面,当用户确定提交完毕后,将其提交给服务器后台系统,并生成订单。

(8)基本信息:发布者和用户可以对自己的个人信息和登录密码进行维护;

Web后台管理端:

(1)轮播图管理:可以对基于微信小程序平台的大学跳蚤市场系统中微信小程序端的轮播图信息进行上传和管理;

(2)用户管理:可以对能操作基于微信小程序平台的大学跳蚤市场系统中web后台管理的管理员信息进行创建和管理,同时也可以对系统中小程序端注册的普通用户进行管控;

(3)市场新闻管理:可以对系统客户端展示的市场新闻以及新闻分类进行管控,让小程序端可以查看;

(4)新闻分类列表管理:可以对系统中的新闻分类信息进行维和和管理;

(5)市场资讯管理:管理员在后台可以对基于微信小程序平台的大学跳蚤市场系统中显示的市场资讯信息进行增删改查。

(2)跳蚤论坛管理:管理员在后台可以对基于微信小程序平台的大学跳蚤市场系统中显示的交流论坛进行增删改查。

(3)内容管理:管理员可以对基于微信小程序平台的大学跳蚤市场系统前台展示的跳蚤论坛、订单以及购物车、市场资讯、我的进行管控。

(4)更多管理:在“更多管理”这一菜单下,可以对管理人员用户操作的跳蚤市场、分类列表、订单列表以及在前台用户提交的市场资讯、订单、购物车进行管控。

2.3用例分析

基于微信小程序平台的大学跳蚤市场系统的完整UML用例图分别是图2-1,图2-2河图2-3。在参与者上包括用户以及管理员。

用户角色的用例包括用户注册、用户登录、订单、购物车、基本信息、收藏、市场资讯、退出登录。

图2-1 基于微信小程序平台的大学跳蚤市场系统用户角色用例图

管理员角色的用例包括轮播图、公告栏、管理员、跳蚤论坛、论坛分类列表、市场新闻、新闻分类列表、跳蚤市场、分类列表、订单列表。

图2-3 基于微信小程序平台的大学跳蚤市场系统管理员角色用例图

3基于微信小程序平台的大学跳蚤市场系统总体设计

在上一章节中分析了基于微信小程序平台的大学跳蚤市场系统的功能性需求,并且根据需求分析了基于微信小程序平台的大学跳蚤市场系统中的用例。那么接下来就要开始对基于微信小程序平台的大学跳蚤市场系统架构、主要功能和数据库开始进行设计。

3.1系统功能模块设计

通过对基于微信小程序平台的大学跳蚤市场系统的功能需求分析以及用例分析,得出了基于微信小程序平台的大学跳蚤市场系统的功能模块图如图3-1所示。

图3-1基于微信小程序平台的大学跳蚤市场系统功能模块图

3.3数据库设计

3.3.1 数据库E-R模型

下面是整个基于微信小程序平台的大学跳蚤市场系统的数据库表的E-R实体关系图,如图3-2所示:

图3-2 基于微信小程序平台的大学跳蚤市场系统E-R实体关系图

3.3.2 数据库表设计

通过前面E-R关系图一共需要创建很多个数据表。在此罗列这7个主要数据库表的关系模型如下:

ordinary_users实体用来存普通用户的用户编号、用户姓名、用户性别、用户年龄等,用于用户在小程序端查看用户登录信息,管理员在web端增删改查操作,如表3.1所示:

表3.1 ordinary_users普通用户信息表

名称

类型

长度

不是null

主键

注释

ordinary_users_id

int

11

普通用户ID

user_number

varchar

64

用户编号

user_name

varchar

64

用户姓名

user_gender

varchar

64

用户性别

user_age

varchar

64

用户年龄

examine_state

varchar

16

审核状态

recommend

int

11

智能推荐

user_id

int

11

用户ID

create_time

datetime

0

创建时间

update_time

timestamp

0

更新时间

type实体用来存放分类的分类名称、描述、上级分类、分类图标等,用户小程序端用户分类信息,如表3.2所示:

表3.2 type分类信息表

名称

类型

长度

不是null

主键

注释

type_id

smallint

5

分类ID

name

varchar

16

分类名称

description

varchar

255

描述

url

varchar

255

外链地址

father_id

smallint

5

上级分类ID

icon

varchar

255

分类图标

create_time

timestamp

0

创建时间

update_time

timestamp

0

更新时间

comment实体用来存放评论中的评论人id、回复评论id、内容、昵称、头像地址等,如表3.3所示:

表3.3 comment评论信息表

名称

类型

长度

不是null

主键

注释

comment_id

int

11

评论ID

user_id

int

11

评论人ID

reply_to_id

int

11

回复评论ID

content

longtext

0

内容

nickname

varchar

255

昵称

avatar

varchar

255

头像地址

create_time

timestamp

0

创建时间

update_time

timestamp

0

更新时间

source_table

varchar

255

来源表

source_field

varchar

255

来源字段

source_id

int

10

来源ID

type实体用来存用户提交的商品分类信息,如表3.4所示:

表3.4 type商品分类信息表

名称

类型

长度

不是null

主键

注释

type_id

int

11

商品分类ID

father_id

smallint

5

上级分类ID

name

varchar

255

商品名称

desc

varchar

255

描述

icon

varchar

255

图标

source_table

varchar

255

来源表

source_field

varchar

255

来源字段

create_time

timestamp

0

创建时间

update_time

timestamp

0

更新时间

order实体用来存放用户的order信息,用户查看order信息,如表3.5所示:

表3.5 order订单信息表

名称

类型

长度

不是null

主键

注释

order_id

int

11

订单ID

order_number

varchar

64

订单号

goods_id

mediumint

8

商品id

title

varchar

32

商品标题

img

varchar

255

商品图片

price

double

10

价格

price_ago

double

10

原价

num

int

8

数量

price_count

double

8

总价

norms

varchar

255

规格

type

varchar

64

商品分类

contact_name

varchar

32

联系人姓名

contact_email

varchar

125

联系人邮箱

contact_phone

varchar

11

联系人手机

contact_address

varchar

255

收件地址

postal_code

varchar

9

邮政编码

user_id

int

10

买家ID

merchant_id

mediumint

8

商家ID

create_time

timestamp

0

创建时间

update_time

timestamp

0

更新时间

description

varchar

255

描述

state

varchar

16

订单状态

cart实体用来存放用户的购物车信息,如表3.6所示:

表3.6 cart购物车信息表

名称

类型

长度

不是null

主键

注释

cart_id

int

11

购物车ID

title

varchar

64

标题

img

varchar

255

图片

user_id

int

10

用户ID

create_time

timestamp

0

创建时间

update_time

timestamp

0

更新时间

state

int

1

状态

price

double

8

单价

price_ago

double

8

原价

price_count

double

10

总价

num

int

8

数量

goods_id

mediumint

8

商品id

type

varchar

64

商品分类

description

varchar

255

描述

slides实体用来存放用户的轮播图信息,如表3.7所示:

表3.7 slides轮播图信息表

名称

类型

长度

不是null

主键

注释

slides_id

int

10

轮播图ID

title

varchar

64

标题

content

varchar

255

内容

url

varchar

255

链接

img

varchar

255

轮播图

hits

int

10

点击量

create_time

timestamp

0

创建时间

update_time

timestamp

0

更新时间

4 基于微信小程序平台的大学跳蚤市场系统实现

基于微信小程序平台的大学跳蚤市场系统划分了微信小程序用户端和web后台管理员端,微信端实现用户注册、登录管理、搜索管理、跳蚤论坛管理和市场资讯管理、购物车等功能,web端是为后台管理员提供查看内容管理、用户管理、更多管理、站点管理的平台。

4.1 微信端

4.1.1 用户注册界面

不是基于微信小程序平台的大学跳蚤市场系统的会员可以通过微信小程序在线进行注册,填写上自己的账号、密码、重复密码、昵称、邮箱登信息后点击“提交”按钮后将会验证是否有非空数据,再验证密码和重复密码是否一样,最后验证是否账号重复,都验证没问题后即可注册成功。注册实现了用户注册和发布者注册两部分,其用户注册界面展示如下图4-1所示。

                           

图4-1用户注册界面图

用户注册逻辑代码如下所示。

public function register()

    {

        if (Request::isPost()) {

            $request = Request::param();

            $request['create_time'] = isset($request['create_time']) ? $request['create_time'] : date('Y-m-d H:i:s');

            $request['update_time'] = isset($request['update_time']) ? $request['update_time'] : date('Y-m-d H:i:s');

            $result = $this->validate($request, $this->validate);

            if (true !== $result) {

                // 验证失败 输出错误信息

                $data['error'] = 30000;

                $data['message'] = $result;

            } else {

                $request['password'] = md5($request['password']);

                $result = $this->model->register($request, $this->table);

                $data = $result;

            }

        } else {

            $data['error'] = 30000;

            $data['message'] = "field的值不能为空!";

        }

        return json_encode($data);

    }

public function register($request=[],$table_name = ''){

        $username = $request['username'];

        $bol = $this->where(['username'=>$username])->find();

        if (!$bol){

            $result = self::allowField(true)->save($request);

            if ($result) {

                return ['result' => 1];

            } else {

                return ['error' => ['code' => 3000, 'message' => '注册失败']];

            }

        }else{

            return ['error' => ['code' => 3000, 'message' => '注册失败,账号已存在']];

        }

    }

4.1.2 用户登录界面

微信小程序上注册后的会员可以通过自己的用户名和密码进行登录,在用户填写好自己的用户名和密码信息并点击“登录”按钮后,将会先验证是否有非空数据,再验证填写的用户信息和数据库中保存的是否一致,一致后将会登录成功,登录成功后将会在左上角上显示用户信息;否则将会提示相应错误信息,用户登录界面如下图4-2所示。

                                      

图4-2用户登录界面图

用户登录逻辑代码如下所示。

public function login()

    {

        if (Request::isPost()) {

            $request = Request::param();

            $result = $this->validate($request, $this->validate);

            if (true !== $result) {

                // 验证失败 输出错误信息

                $data['error'] = 30000;

                $data['message'] = $result;

            } else {

                $request['password'] = md5($request['password']);

                $result = $this->model->login($request, $this->table);

                $data = $result;

            }

        } else {

            $data['error'] = 30000;

            $data['message'] = "field的值不能为空!";

        }

        return json_encode($data);

    }

public function login($request=[],$table_name = ''){

        $username = $request['username'];

        $password = $request['password'];

        $bol = $this->where(['username'=>$username])->find();

        if ($bol){

            $password = md5($password);

            if ($request['password']==$bol['password']) {

                //添加token信息

                $access_token['create_time'] = date('Y-m-d H:i:s');

                $access_token['update_time'] = date('Y-m-d H:i:s');

$access_token['info'] = json_encode($bol);

                // $access_token['info'] = $bol;

                $access_token['token'] = md5(date('Y-m-d H:i:s'));

                $bol_token = Db::name('AccessToken')->insert($access_token);

                if ($bol_token){

                    $data['obj'] = $bol;

                    $data['obj']['token'] = $access_token['token'];

                    return ['result' => $data];

                }else{

                    return ['error' => ['code' => 5000, 'message' => '登录失败,token生成失败']];

                }

            } else {

                return ['error' => ['code' => 5000, 'message' => '登录失败,密码不正确']];

            }

        }else{

            return ['error' => ['code' => 5000, 'message' => '登录失败,账号不存在']];

        }

    }

输入有效的用户名和密码信息,点击“登录”按钮,自动跳转到“首页”页面,首页界面如下图4-3所示。

图4-3首页界面图

首页逻辑代码如下所示。

// 加载基础文件

require __DIR__ . '/../thinkphp/base.php';

// 允许的原域名

header('Access-Control-Allow-Origin: *');

//允许的请求头信息

header("Access-Control-Allow-Headers: *");

//允许的请求类型

header('Access-Control-Allow-Methods: GET, POST, PUT,DELETE,OPTIONS,PATCH');

//允许携带证书式访问(携带cookie)

header('Access-Control-Allow-Credentials:true');

// 支持事先使用静态方法设置Request对象和Config对象

// 执行应用并响应

Container::get('app')->run()->send();

4.1.3 我的订单界面

当用户点击“我的订单”链接后就进入自己购买的订单的界面展示,界面如下图4-7所示。

                                 

图4-4我的订单界面图

4.1.4 收获地址界面

当用户点击“收货地址”右后,就回去显示出目前现有的地址,也可以添加新的地址,界面如下图4-5所示。

图4-5收获地址界面图

4.1.5 商品详情界面

当访客点击了任意商品后将会进入该款商品的详情界面,可以了解到该商品的图片信息、商品信息、价钱信息等,同时可以对该商品进行加购+立即购买+收藏+点赞+评论,商品详情展示页面如图4-6所示。

                                  

图4-6商品详情界面图

商品详情逻辑代码如下所示。

public function get_obj()

    {

        $request = Request::param();

        $result = $this->model->get_obj($request, $this->table, $this->table_id, $this->table_id);

        $data['result'] = $result;

        return json_encode($data);

    }

4.1.6我的基本信息界面

从基于微信小程序平台的大学跳蚤市场系统端底部的“我的”菜单进入后选择“基本信息”后可以查看到个人基本信息,进行修改信息,界面如下图4-8所示。

                               

图4-8我的基本信息界面图

4.1.7跳蚤论坛界面

用户在点击导航栏上面的跳蚤论坛后,就可以搜索查看论坛交流信息,用户根据自己的喜好可以进行交流,跳蚤论坛界面如下图4-9所示。

                                   

图4-9跳蚤论坛界面图 

跳蚤论坛逻辑代码如下所示。

public function del()

    {

        $request = Request::param();

        $result = $this->model->del_data($request, $this->table, $this->table_id);

        $data = $result;

        return json_encode($data);

    }

4.2 后台端

4.2.1 管理员登录界面

管理员可以从浏览器上输入后台登录的网址后输入自己的用户名,密码图片验证后点击“登录”按钮后将会验证是否有非空数据,其次再验证是否和数据库中保存的一致,都验证成功后将登录成功,管理员登录界面如下图4-10所示。

图4-10管理员登录界面图

管理员登录逻辑代码如下所示。

public function state()

    {

        $accessTokenModel = new AccessTokenModel();

        $token = Request::header('x-auth-token');

        if (!empty($token)) {

            $result = $accessTokenModel->getToken($token);

            if($result){

$data['result'] = $result;

}else{

$data['error'] = 30000;

$data['message'] = '未登录';

}

//            $data = $result;

        } else {

            $data['error'] = 30000;

            $data['message'] = "token的值不能为空!";

        }

        return json_encode($data);

    }

public function getToken($token){

        $token_info = $this->where(['token'=>$token])->find();

        if ($token_info){

            $time = date('Y-m-d H:i:s');

            $create_time = $token_info['create_time'];

            $bol_time = date('Y-m-d H:i:s',strtotime('+2 hour',strtotime($create_time)));

            $info = json_decode($token_info['info'],true);

            $info['token'] = $token_info['token'];

            if ($bol_time>=$time){

                return $info;

            }else{

                return false;

            }

        }else{

            return false;

        }

4.2.2 跳蚤论坛管理界面

管理员点击后台左边的“跳蚤论坛”菜单后,将可以维护和管理基于微信小程序平台的大学跳蚤市场系统中的跳蚤论坛信息,跳蚤论坛管理界面如下图4-11所示。

图4-11跳蚤论坛管理界面图

跳蚤论坛管理逻辑代码如下所示。

public function get_list($request=[],$table_name = '',$table_id = ''){

        $page = 1;

        $size = $table_name == "auth" ? 100 : 10;

        $where = [];

        $order = $table_id.'_id desc';

        $field = '*';

//        echo $order;exit;

        $columns = Db::query( "show COLUMNS FROM `".$table_name."`");

        foreach($columns as $key=>$val){

            $field_name = $val['Field'];

            if(isset($request['like'])){

                if ($request['like']==true){

                    //字段模糊查询

                    if(isset($request[$field_name])){

                        $where[] = [$field_name, '=', $request[$field_name]];

                    }

                }else{

                    //字段模糊查询

                    if(isset($request[$field_name])){

                        $where[] = [$field_name, 'like', '%' . $request[$field_name] . '%'];

                    }

                }

            }else{

                //字段模糊查询

                if(isset($request[$field_name])){

                    $where[] = [$field_name, 'like', '%' . $request[$field_name] . '%'];

                }

            }

            //范围查询

            if(isset($request[$field_name.'_min'])){

                $where[] = [$field_name, '>=', $request[$field_name.'_min']];

            }

            if(isset($request[$field_name.'_max'])){

                $where[] = [$field_name, '<=', $request[$field_name.'_max']];

            }

        }

        //分页

        if (isset($request['page'])){

            $page = $request['page'];

        }

        if (isset($request['size'])){

            $size = $request['size'];

        }

        //排序

        if (isset($request['order'])){

            $order = $request['order'];

        }

        //查询字段

        if (isset($request['field'])){

            $field = $request['field'];

        }

        //模糊查询

        $list= $this->where($where)->order($order)->field($field)->page($page, $size)->select()->toArray();

        foreach($list as &$l){

         foreach($l as &$o){

         if(strpos($o,$_SERVER['HTTP_HOST']) === false){

         $o = str_replace('upload','http://'.$_SERVER['HTTP_HOST'].'/upload',$o);

         }

         }

        }

        return $list;

    }

4.2.3 订单列表管理界面

管理员点击后台左边的“订单列表信息”菜单后,将可以维护和管理基于微信小程序平台的大学跳蚤市场系统中的订单信息,支持管理员编辑,查询订单列表等操作,订单列表管理界面如下图4-12所示。

图4-12订单列表管理界面图

订单列表管理逻辑代码如下所示。

public function add()

    {

        if (Request::isPost()) {

            $request = Request::param();

            $request['create_time'] = isset($request['create_time']) ? $request['create_time'] : date('Y-m-d H:i:s');

            $request['update_time'] = isset($request['update_time']) ? $request['update_time'] : date('Y-m-d H:i:s');

            $result = $this->validate($request, $this->validate);

            if (true !== $result) {

                // 验证失败 输出错误信息

                $data['error'] = 30000;

                $data['message'] = $result;

            } else {

if($this->table == 'user'){

$request['password'] = md5($request['password']);

}

$res = $this->add_before($request, $this->table, $this->table_id);

if($res['code'] == 200){

$result = $this->model->add($request, $this->table, $this->table_id);

$this->add_after($this->table);

$data = $result;

}else{

$data['error'] = $res;

}

            }

        } else {

            $data['error']['code'] = 30000;

            $data['error']['message'] = "field的值不能为空!";

        }

        return json_encode($data);

    }

4.2.4 跳蚤市场管理界面

管理员点击后台左边的“跳蚤市场”菜单后将可以查看到所有用户的市场信息,跳蚤市场管理界面如下图4-13所示。

图4-13跳蚤市场管理界面图

跳蚤市场管理逻辑代码如下所示。

public function set()

    {

        if (Request::isPost()) {

            $get = Request::get();

            $where = [];

            foreach($get as $k => $g){

             //过滤参数中的页码信息

             if($k != 'page' && $k != 'size'){

             $where[$k] = $g;

             }

            }

            $request = Request::post();

if($this->table != 'user'){

$request['update_time'] = isset($request['update_time']) ? $request['update_time'] : date('Y-m-d H:i:s');

}

            $result = $this->validate($request, $this->validate);

            if (true !== $result) {

                // 验证失败 输出错误信息

                $data['error'] = 30000;

                $data['message'] = $result;

            } else {

                $result = $this->model->set($request, $this->table, $this->table_id, $where);

                $data = $result;

            }

        } else {

            $data['error']['code'] = 30000;

            $data['error']['message'] = "field的值不能为空!";

        }

        return json_encode($data);

    }

4.2.5论坛列表界面

管理员点击后台左边的“论坛列表”菜单后可以查看到用户提交的论坛信息,支持增伤改查、管理评论操作。界面如下图4-14所示

图4-14论坛列表界面图 

论坛列表管理逻辑代码如下所示。

public function count_group()

    {

        $request = Request::param();

        if (isset($request['groupby'])) {

            if (!empty($request['groupby'])) {

                $result = $this->model->count_group($request, $this->table, $this->table_id);

                $data['result'] = $result;

            } else {

                $data['error']['code'] = 30000;

                $data['error']['message'] = "groupby的值不能为空!";

            }

        } else {

            $data['error']['code'] = 30000;

            $data['error']['message'] = "groupby的值不能为空!";

        }

        return json_encode($data);

}

4.2.6站点管理界面

管理员点击后台左边的“站点管理”菜单后可以查看以往管理员发布信息,支持微信小程序用户查看轮播图,如下图4-15所示。

图4-15站点管理界面图

站点管理逻辑代码如下所示。

public function sum()

    {

        $request = Request::param();

        if (isset($request['field'])) {

            if (!empty($request['field'])) {

                $result = $this->model->sum_field($request, $this->table, $this->table_id);

                $data = $result;

            } else {

                $data['error']['code'] = 30000;

                $data['error']['message'] = "field的值不能为空!";

            }

        } else {

            $data['error']['code'] = 30000;

            $data['error']['message'] = "field的值不能为空!";

        }

        return json_encode($data);

    }

5 基于微信小程序平台的大学跳蚤市场系统测试

基于微信小程序平台的大学跳蚤市场系统测试是为了检验软件是否达到设计要求,是否存在错误,通过测试的方法来检查基于微信小程序平台的大学跳蚤市场系统,以便发现基于微信小程序平台的大学跳蚤市场系统中的错误。测试工作是保证基于微信小程序平台的大学跳蚤市场系统质量的关键。

5.1系统测试的目的

系统开发到了最后一个阶段那就是系统测试,系统测试对软件的开发其实是非常有必要的。因为没什么系统一经开发出来就可能会尽善尽美,再厉害的系统开发工程师也会在系统开发的时候出现纰漏,系统测试能够较好的改正一些bug,为后期系统的维护性提供很好的支持。通过系统测试,开发人员也可以建立自己对系统的信心,为后期的系统版本的跟新提供支持。

5.2 系统测试用例

系统测试包括:用户登录功能测试、商品展示功能测试、商品添加、商品搜索、密码修改功能测试,如表5-1、5-2、5-3、5-4、5-5所示:

用户登录功能测试:

表5-1 用户登录功能测试表

用例名称

用户登录系统

目的

测试用户通过正确的用户名和密码可否登录功能

前提

未登录的情况下

测试流程

1) 进入登录页面

2) 输入正确的用户名和密码

预期结果

用户名和密码正确的时候,跳转到登录成功界面,反之则显示错误信息,提示重新输入

实际结果

实际结果与预期结果一致

商品查看功能测试:

表5-2 商品查看功能测试表

用例名称

商品查看

目的

测试商品查看功能

前提

用户登录

测试流程

点击商品列表

预期结果

可以查看到所有商品信息

实际结果

实际结果与预期结果一致

管理员添加商品界面测试:

表5-3 管理员添加商品界面测试表

用例名称

商品发布测试用例

目的

测试商品发布功能

前提

卖家用户正常登录情况下

测试流程

1)卖家点击商品信息管理就,然后点击添加后并填写信息。

2)点击进行提交。

预期结果

提交以后,页面首页会显示新的商品信息 

实际结果

实际结果与预期结果一致

商品搜索功能测试:

表5-4商品搜索功能测试表

用例名称

商品搜索测试

目的

测试商品搜索功能

前提

测试流程

1)在搜索框填入搜索关键字。

2)点击搜索按钮。

预期结果

页面显示包含有搜索关键字的商品

实际结果

实际结果与预期结果一致

密码修改功能测试:

表5-5 密码修改功能测试表

用例名称

密码修改测试用例

目的

测试管理员密码修改功能

前提

管理员用户正常登录情况下

测试流程

1)管理员密码修改并完成填写。

2)点击进行提交。

预期结果

使用新的密码可以登录

实际结果

实际结果与预期结果一致

5.3 系统测试结果

通过编写校园二手信息网站的测试用例,已经检测完毕用户登录模块、商品查看模块、商品添加模块、商品搜索模块、密码修改功能测试,通过这5大模块为校园二手信息网站的后期推广运营提供了强力的技术支撑。

总结与展望

本次基于微信小程序平台的大学跳蚤市场系统的设计与实现,功能方面,通过功能模块图区分该程序的用户端与管理端各自的功能权限;数据库方面,数据库使用口碑较好的mysql进行数据的存储,开源的mysql等技术的使用,相对来说体积较小,服务稳定,减少系统开发成本费用,通过数据库表的E-R实体关系图建立了表单与表单之间的连接,区分不同的表单之间的关系,更好的完善数据库的内容;测试方面,通过测试用例检查基于微信小程序平台的大学跳蚤市场系统的设计缺陷和程序存在的错误,在系统测试阶段的过程中,出现了一些问题,例如,注册信息,没有规范用户在注册页面填写信息时输入两次密码,而导致后期登录错误,最后通过多次修改程序和测试解决了问题。最终经过不断的检测、修改,实现项目的稳定,达到了预期的设计效果。

系统整体的功能到达预期的效果,但页面的美化方面还是存在一些不足,例如:小程序中的图标过于简洁;wxss页面的渲染布局方面不够完善,人们在使用软件过程中,对某些功能不易找寻,针对此次项目产生的问题,日后将不断改进,使该项目更加完善。

近年来在大学跳蚤市场用户也越来越多,大学跳蚤市场系统是大学跳蚤市场管理工作中不可或缺的重要部分,标志大学跳蚤市场正规化建设的基础性工程,同时也是为大学跳蚤市场新的发展提供借鉴。大学跳蚤市场中的房源信息种类多,信息量大,开发一个微信小程序的基于微信小程序平台的大学跳蚤市场系统,把庞大的工作量压缩在一个小程序上,都还需要进一步的优化与研究。


参考文献

[1]李彦. 用微信小程序为乡村振兴出力[N]. 农民日报,2022-03-31(004).

[2]叶琳,底瑞青,豆丽园,岳高杰.微信小程序在儿童过敏性鼻炎-哮喘综合征免疫治疗中的应用效果[J].中华健康管理学杂志,2022,16(03):186-190.

[3]户英会,王胜勇,卢家斌,王傲能. 一种基于微信小程序的智慧园区管理系统[P]. 湖北省:CN114187141A,2022-03-15.

[4]陈学凡,鄢喜爱,陈云枫,朱泽晟.基于微信小程序和LBS的共享农机综合管理服务平台设计与实现[J].现代农业科技,2022(05):117-121+124.

[5], 白银区疾病预防控制中心 开发微信小程序“白银艾检测”. 张国琦 主编,白银区年鉴,甘肃人民出版社,2021,270,年鉴.DOI:10.38621/y.cnki.ybyni.2021.002438.

[6]许一靖,李英杰,韩润心,曹俊杰,李鹏宇,郭趁趁.校园跳蚤市场[J].山西电子技术,2021(05):66-68.

[7]谢国华. 基于微信小程序的中职《C语言程序设计》课程混合式教学实践研究[D].广东技术师范大学,2021.DOI:10.27729/d.cnki.ggdjs.2021.000174.

[8]张宝虎. 基于微信小程序的CBMS桥梁巡查工具研发与应用[C]//.中国公路学会养护与管理分会第十一届学术年会论文集.,2021:408-414.DOI:10.26914/c.cnkihy.2021.002647.

[9], 基于微信小程序人力资源咨询与培训平台V1.0. 安徽省,萧县新生商务代理有限公司,2019-11-09.

[10]何东,卢志朋.规制与自由:从跳蚤市场、夜市街到共享经济[J].浙江社会科学,2019(05):14-22+155.DOI:10.14167/j.zjss.2019.05.002.

[11]Li L.. Application of PHP technology in student PE score management system[J]. IPPTA: Quarterly Journal of Indian Pulp and Paper Technical Association,2018,30(8).

[12]田柏玉,庄海涛,钱旭.高校网上跳蚤市场Android客户端设计与实现[J].计算机科学,2016,43(S2):572-574+590.

[13]Jie Zou,Shunhui Wang. Design and Implementation of Japanese Translation Information Platform Based on PHP Technology[J]. International Journal of Multimedia and Ubiquitous Engineering,2016,11(10).

[14]刘淑婷,朱滨忠,王娟.基于O2O的校园跳蚤市场交易系统的设计与实现[J].价值工程,2016,35(25):96-98.DOI:10.14018/j.cnki.cn13-1085/n.2016.25.036.

[15]李延香,黄素萍,刘敏娜.基于B/S架构的校园跳蚤市场信息系统的设计与实现[J].无线互联科技,2016(01):46-47.

[16]潘亚君.安徽财经大学毕业跳蚤市场管理系统的研发报告[J].电子制作,2015(22):86.DOI:10.16589/j.cnki.cn11-3571/tn.2015.22.071.

[17]Shun Hui Wang,Jie Zou. Dynamic Interaction System Design of Urban Landscape Information Based on PHP Technology[J]. International Journal of Smart Home,2015,9(6).

[18]刘群浪,陈文生.基于校园网的跳蚤市场的设计[J].信息通信,2014(11):112-113.

致谢

至此论文结束,感谢您的阅读。首先,我要感谢我的父母对我的支持与理解,在两年的本科学习生活中,倾其所能的爱护我,使我能够心无旁骛,全心全意的投入到学习中;不断鼓励我,让我能够拥有不断前进的动力。其次还要感谢我的导师,感谢在这段时间给予我有效的建议,以至于我的毕设有了整体的设计思路,尽管我在实习期间很忙,论文撰写总是停停改改,但是导师依然十分负责,时不时的询问我的任务进展情况,跟进我的论文进度。在老师的帮助下,我逐步完成了自己的论文和程序,从导师身上也学习到很多知识,和经验,这些知识和经验令我受益匪浅。

此外,还要感谢我的同学,热心的解答了我在程序上遇到的问题,是他们在我编写程序过程中给了我很多的启发和感想,也帮助了我对于程序的调试和检测,让我受益良多。在这两年的时间里,我学会了许多专业的知识,还有老师们的谆谆教诲和同学们的帮助使我不断进步,能够做得更好;我也会不断给自己充电,不断突破,成为更好的自己。

最后向所有关心我、帮助我的老师及同学们表示衷心的感谢!

点赞+收藏+关注 → 私信领取本源代码、数据库

猜你喜欢

转载自blog.csdn.net/yuyuxun/article/details/130442214