基于微信小程序平台的大学跳蚤市场系统划分了微信小程序用户端和web后台管理员端,微信端实现用户注册、登录管理、搜索管理、跳蚤论坛管理和市场资讯管理、购物车等功能,web端是为后台管理员提供查看内容管理、用户管理、更多管理、站点管理的平台。
不是基于微信小程序平台的大学跳蚤市场系统的会员可以通过微信小程序在线进行注册,填写上自己的账号、密码、重复密码、昵称、邮箱登信息后点击“提交”按钮后将会验证是否有非空数据,再验证密码和重复密码是否一样,最后验证是否账号重复,都验证没问题后即可注册成功。注册实现了用户注册和发布者注册两部分,其用户注册界面展示如下图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-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-7所示。
图4-4我的订单界面图
当用户点击“收货地址”右后,就回去显示出目前现有的地址,也可以添加新的地址,界面如下图4-5所示。
图4-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-8所示。
图4-8我的基本信息界面图
用户在点击导航栏上面的跳蚤论坛后,就可以搜索查看论坛交流信息,用户根据自己的喜好可以进行交流,跳蚤论坛界面如下图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-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-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-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-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-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-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);
}
重庆seo搜索引擎优化价格app开发需要什么人员微信公众号平台怎么设计如何表示字典类型的数据?岳阳网站优化价炜心cj111602大家的心声人人分销系统养老保险个人怎么买国外网站怎么翻译成中文拉新网推平台电子商务专业主要课程软件定制公司排行黄骅港煤炭储运基地项目上海建设银行王老吉市场营销策划方案丹阳建设局官方网站网页源代码自动换行动画设计各软件特点汇总黄骅市职业技术教育中心汕头seo快排扣费十大免费学习网站网站备案资料黄骅市面粉厂 拍卖上海优化落户建筑方面的网站制作北京互联网公司有哪些名字无印良品设计总监建设银行网站登录不进去投资咨询公司和投资公司区别网站下载不了文件怎么解决手机软件闪退基建工程项目管理流程