重庆网络营销_长沙微信营销公司_天津网络营销_商业授权 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);

    }

">

网页

商丘网络推广、沈阳网站优化、永久使用、不限域名、广州网站推广公司

东莞网络营销?

重庆网络营销_长沙微信营销公司_天津网络营销_商业授权

表4.5 minsuxinxi

金华seo3g网站设计公司网页设计合肥网站推广便宜建站长沙网络营销外包深圳软件开发定制百度网站提交萧山网站优化免费私人网站建设医院网站优化儿童网页设计泰州seo建站培训婚纱摄影网站设计网站内容添加免费创建网站郑州网站优化企业网页制作国外网站搭建建设官网公司网站模版免费wap建站网站推广www鲨皇seo100个免费推广网站东莞网站优化推广无锡做网站公司哪家好上海seo优化公司石家庄搜索引擎优化镇江seo

猜你喜欢

  • 友情链接:
  • 上海的网络推广 南京网站制作 无锡seo 哈尔滨网站开发需要多少钱 广州网站优化推广 郑州seo优化公司