微信小程序源码-校园跑腿系统的计算机毕业设计(附源码+演示录像+LW)

大家好!我是职场程序猿,感谢您阅读本文,欢迎一键三连哦。

💞当前专栏:微信小程序毕业设计

精彩专栏推荐👇🏻👇🏻👇🏻

🎀 安卓app毕业设计
🌎Java毕业设计

开发运行环境

①前端:微信小程序开发工具

② 后端:PHP

演示视频

weixin164校园跑腿php演示录像

原版高清演示视频-编号:164
https://pan.quark.cn/s/c0c9519df9d4

源码下载地址:

https://download.csdn.net/download/m0_46388260/89224198

论文目录

【如需全文请按文末获取联系】
在这里插入图片描述

一、项目简介

(1)使用系统的用户分为管理员,用户、跑腿员。
(2)不同的用户类型对应不同的页面访问权限。
(3)小程序用户有两种角色,即跑腿员和用户,服务端即管理员。
(4)用户可以查看自己的信息,发布跑腿订单,修改自己的跑腿订单。
(5)用户实现在线申请活动报名。
(6)实现用户对跑腿订单费用进行支付,以及对跑腿员进行评分。
(7)用户通过意见角可进行帖子发布,以及对他人帖子进行评论等操作。
(8)跑腿员可以实现通过跑腿订单查看审核接单,查看订单支付费用。
(9)跑腿员通过活动页面可点击参与活动,后台管理员审核。
(10)后台服务端管理员实现对整个小程序校园跑腿系统的维护。

二、系统设计

2.1软件功能模块设计

总体设计图规定了系统的主要功能,如图3-1所示:
在这里插入图片描述

2.2数据库设计

用户信息属性图如图3-2所示。
在这里插入图片描述
投诉中心实体属性图如图3-3所示。
在这里插入图片描述
跑腿订单实体属性图如图3-4所示。
在这里插入图片描述
活动信息属性图如图3-5所示。
在这里插入图片描述

三、系统项目部分截图

3.1用户微信端功能模块

用户要登录微信小程序,则需要注册。在小程序校园跑腿里用户可以进行登录,用户注册:个人账号、密码、姓名、性别、邮箱、手机号码进行注册,如图4-1所示。
在这里插入图片描述
用户登录:用户通过登录页面输入账号、密码,进行登录,如图4-2所示。
在这里插入图片描述
用户登录进入小程序校园跑腿首页,查看首页、跑腿订单、订单信息、意见角、我的等功能模块的相应操作,如图4-3所示。
在这里插入图片描述

3.2跑腿员微信端功能模块

跑腿员要登录微信小程序,则需要注册。在小程序校园跑腿里跑腿员可以进行登录,在注册页面填写:跑腿账号、跑腿服姓名、性别、邮箱、联系手机进行注册,如图4-10所示。
在这里插入图片描述
登录小程序校园跑腿首页,跑腿员可以看到首页、跑腿订单、订单信息、意见角、我的等功能模块的相应操作,如图4-12所示。
在这里插入图片描述
我的:在我的页面,可以对跑腿员信息、跑腿订单、订单信息、评价信息、活动信息、跑腿员参与、我要发贴、我的发贴等功能进行相应的操作,如图4-13所示。
在这里插入图片描述

3.3管理员服务端功能模块

管理员通过输入用户名,密码,角色等内容进行登录,登录到系统后台,进行相应的操作,如下图4-18所示。
在这里插入图片描述
管理员登录进入到微信小程序校园跑腿的后台,管理员查看首页、个人中心、用户管理、跑腿员管理、跑腿订单管理、订单信息管理、评价信息管理、活动信息管理、用户申请管理、跑腿员参与管理、意见角、系统管理等进行相应操作,如下图4-19所示:
在这里插入图片描述
跑腿订单管理:管理员可对跑腿订单查看订单编号、订单名称、地点类型、出发地、目的地、相关图片、跑腿费用、状态、个人账号、姓名、手机号码、发布日期等内容进行详情查看、修改、删除,以及审核用户上传跑腿订单进行审核,如图下图4-22所示。
在这里插入图片描述

四、部分核心代码

<?php
session_start();
class UsersController extends CommonController {
	public function __construct()
    {
        header("Access-Control-Allow-Origin: *");
        header("Access-Control-Allow-Methods: POST, GET, OPTIONS, PUT, DELETE");
        header('Access-Control-Allow-Headers:Origin,Content-Type,Accept,token,X-Requested-With,device');
    }
    public $columData = [
        'id','addtime','username','password','role'
    ];
    /**
     * 登录接口
     * POST
     * */
    public function login(){
        $username = isset($_REQUEST['username'])?$_REQUEST['username']:"";
        $password = isset($_REQUEST['password'])?$_REQUEST['password']:"";
        $sql = "select * from `users` where username = '".$username."' and password = '".$password."'";
        $result = table_sql($sql);
        if ($result->num_rows > 0) {
            // 输出数据
            while($row = $result->fetch_assoc()) {
                $token_array = [
                    "iat" => time(), //签发时间
                    "exp" => time()+7200, //token 过期时间
                    'tablename'=> 'users',//表名
					'isAdmin' => 1,
                    'id' => $row["id"],
                    "success" => $row,//记录的uid的信息,如果有其它信息,可以再添加数组的键值对
                ];
                $tokens = base64_encode(json_encode($token_array));
                $data = ['code' => 0, 'token' => $tokens];
                exit(json_encode($data));
            }
        } else {
            exit(json_encode(['code'=>500,'msg'=>"账号或密码错误"]));
        }
    }
    /**
     * 退出
     * post
     */
    public function logout(){
        $token = $this->token();
        unset($token);
        exit(json_encode(['code'=>0,'msg'=>'退出成功']));
    }
    /**
     * 获取session
     */
    public function session(){
        $token = $this->token();
        $data = json_decode(base64_decode($token),true);
        $arrayData = $data['success'];
        exit(json_encode(['code'=>0,'data'=>$arrayData]));
    }
    /**
     * 找回密码 重置为123456
     **/
    public function resetPass(){
        $username = input('post.username');
        $counts = "select * from `users` where username = '".$username."'";
        $cotte = table_sql($counts);
        if($cotte->num_rows<1){
            exit(json_encode(['code'=>500,'msg'=>"用户名错误。"]));
        }
        $sql = "update users set password = '123456' where username = '".$username."'";
        $result = table_sql($sql);
        if($result) exit(json_encode(['code'=>500,'msg'=>"重置密码错误。"]));
        exit(json_encode(['code'=>0,'msg'=>"密码已重置为:123456"]));
    }
    /**
     * 分页,列表
     * get
     */
    public function page(){
        $token = $this->token();
        $tokens = json_decode(base64_decode($token),true);
        if (!isset($tokens['id']) || empty($tokens['id'])) exit(json_encode(['code'=>403,'msg'=>"你还没有登录。"]));
        $userid = $tokens['id'];
        $page = isset($_REQUEST['page'])?$_REQUEST['page']:"1";
        $limt = isset($_REQUEST['limit'])?$_REQUEST['limit']:"10";
        $sort = isset($_REQUEST['sort'])?$_REQUEST['sort']:"id";
        $order = isset($_REQUEST['order'])?$_REQUEST['order']:"asc";
        $where = "";//查询条件
        $sql = "select * from `users`".$where;
        $count = table_sql($sql);
        if ($count->num_rows < 1){
            $numberCount = 1;
        }else{
            $numberCount = $count->num_rows;
        }
        $page_count = ceil($numberCount/$limt);//页数
        $startCount = ($page-1)*10;
        $lists = "select * from `users` ".$where." order by ".$sort." ".$order." limit ".$startCount.",".$limt;
        $result = table_sql($lists);
        $arrayData = array();
        if ($result->num_rows > 0) {
            while ($datas = $result->fetch_assoc()){
                array_push($arrayData,$datas);
            }
        }
        exit(json_encode([
            'code'=>0,
            'data' => [
                "total" => $count,
                "pageSize" => $limt,
                "totalPage" => $page_count,
                "currPage" => $page,
                "list" => $arrayData
            ]
        ]));
    }
    /**
     * 新增数据接口
     * post
     */
    public function save(){
        $token = $this->token();
        $tokens = json_decode(base64_decode($token),true);
        if (!isset($tokens['id']) || empty($tokens['id'])) exit(json_encode(['code'=>403,'msg'=>"你还没有登录。"]));
        $userid = $tokens['id'];
        $keyArr = $valArr = array();
        $tmpData = strval(file_get_contents("php://input"));//Content-Type: application/json 需要用到php://input 处理输入流
        if (!empty($tmpData)&& isset($tmpData)){
            $postData = json_decode($tmpData,true);
            foreach ($postData as $key => $value){
                if (in_array($key, $this->columData)){
                    array_push($keyArr,"`".$key."`");
                    array_push($valArr,"'".$value."'");
                }
            }
        }
        $k = implode(',',$keyArr);
        $v = implode(',',$valArr);
        $sql = "INSERT INTO `users` (".$k.") VALUES (".$v.")";
        $result = table_sql($sql);
        if (!$result) exit(json_encode(['code'=>500,'msg'=>"新增失败"]));
        exit(json_encode(['code'=>0]));
    }

    /**
     * 更新接口
     * post
     */
    public function update(){
        $tmpData = strval(file_get_contents("php://input"));
        $postData = json_decode($tmpData,true);
        $v = array();
        foreach ($postData as $key => $value){
            if (in_array($key, $this->columData) && $key != 'id'){
                array_push($v,$key." = '".$value."'");
            }
        }
        $value = implode(',',$v);
         $sql = "UPDATE users SET ".$value." where id=".$postData['id'];;
        $result = table_sql($sql);
        if (!$result) exit(json_encode(['code'=>500,'msg'=>"修改失败"]));
        exit(json_encode(['code'=>0]));
    }
    /**
     * 删除
     * post
     */
    public function delete(){
        $ids = strval(file_get_contents("php://input"));//发现接收的是字符串
        preg_match_all('/\d+/',$ids,$arr);
        $str = implode(',',$arr[0]);//拼接字符,
        $sql = "delete from users WHERE id in({$str})";
        $result = table_sql($sql);
        if (!$result) exit(json_encode(['code'=>500,'msg'=>"删除失败。"]));
        exit(json_encode(['code'=>0]));
    }
    /**
     * 查询一条数据
     * get
     */
    public function info($id=false){
        $token = $this->token();
        $tokens = json_decode(base64_decode($token),true);
        if (!isset($tokens['id']) || empty($tokens['id'])) exit(json_encode(['code'=>403,'msg'=>"你还没有登录。"]));
        $userid = $tokens['id'];
        $name = isset($_REQUEST['name'])? $_REQUEST['name']:"";
        if (!empty($id)){
            $where = "`id` = ".$id;
        }else{
            $where = "`name` = ".$name;
        }
        $sql = "select * from `users` where ".$where;
        $result = table_sql($sql);
        if (!$result) exit(json_encode(['code'=>500,'msg'=>"查询数据发生错误。"]));
        if ($result->num_rows > 0) {
            // 输出数据
            while($row = $result->fetch_assoc()) {
                $lists = $row;
            }
        }
        exit(json_encode([
            'code'=>0,
            'data'=> $lists
        ]));
    }
}


获取源码或论文

如需对应的论文或源码,以及其他定制需求,也可以下方微信联系我。

  • 29
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值