1、农资电子商务平台开发背景及可行性分析
近几年,随着电子商务的销售模式、物流运输的发展,以及移动互联网、在线支付等技术的日趋完善成熟,电子商务在我国各个行业发展的如火如荼,彻底颠覆了很多传统行业的经营模式。虽然电子商务在很多行业发展的非常迅速,但在我国农资行业,农资产品的销售和购买方式仍然比较单一,电子商务在这方面的市场几乎处于空白,仍然处于起步阶段。
据中国互联网络信息中心的统计数据,2015年中国的农民数量高达8亿之多,中国的网民数量为6.49亿,我国又是农业大国,农资产品的市场需求巨大。加之随着我国城市化的迅速推进,土地流转的规模也逐渐扩大,一些大规模农业经营的农户和家庭农场在不断的增加。2013年初刚刚出台的中央一号文件特别提出要促进加快“家庭农场”农业模式的发展,我国目前针对相对分散的农业种植模式现状的农资销售、流通渠道越来越不适合现代农业经营模式的变化,所以开展农资电子商务符合我国国情和现实需求。
农资电子商务有很多优势,首先农资电子商务可以节约店铺租赁、店铺建设等费用,可以减少相应的管理费用。电商平台能够缩短农资销售链条,减少销售渠道成本。目前我国的农资销售的主要方式仍然是厂家→中间商→分销商→消费者的传统模式,销售链条较长增加了宣传和销售成本,而农资电子商务交易模式,会相对弥补传统经营模式的这些不足,能大幅缩短销售链条,可以实现厂家→消费者的对点销售,从而降低经营的渠道成本,让利于消费者。同时电子商务平台本身具有广面宣传的属性,能快速让消费者全面了解产品,从而降低传统渠道的宣传成本。其次,电子商务突破了时间和空间的限制,可以大大提高交易效率。电商所具有的开放性和全球性的特点,为农资产品的销售突破了时间和空间的限制,增加了交易的时间范围和地域范围,增加产品交易的机会。另外,电子商务的互动性强,通过互联网,商家和消费者之间可以直接交流,消费者可以把自己的反馈建议反映到农资电子商务平台上,商家可以根据用户反馈对产品进行改进和升级,可以提高用户的体验。农资电子商务有诸多优势,所以开展农资电子商务是时代趋势,非常可行和有必要。
2、网站环境简介及概要设计
2.1开发环境与技术简介:
操作系统:Windows7旗舰版64位操作系统
编程语言:PHP,中文名:“超文本预处理器”,是一种通用的开源服务器端脚本语言,
支持很多数据库,是目前最流行的 Web 开发语言。
数据库:MySQL,是一个开源的关系型数据库管理系统,对PHP有很好的支持。
服务器:Apache,是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一。
浏览器:Google Chrome浏览器,是一个由Google(谷歌)公司开发的网页浏览器。Google Chrome的特点是简洁、快速。Google Chrome支持多标签浏览,每个标签页面都在独立的“沙箱”内运行,在提高安全性的同时,一个标签页面的崩溃也不会导致其他标签页面被关闭。此外,Google Chrome基于更强大的JavaScript V8引擎,这是当前Web浏览器所无法实现的。
HTML:超文本标记语言,网页的本质就是超级文本标记语言,通过结合使用其他的Web 技术(如:脚本语言、公共网关接口、组件等),可以创造出功能强大的网页。因而,超级文本标记语言是万维网(Web)编程的基础,也就是说万维网是建立在超文本基础之上的。
jQuery前端框架:jQuery是一个兼容多浏览器的轻量级javascript库,核心理念是write less,do more(写得更少,做得更多)。并且方便地为网站提供AJAX交互。jQuery 还有一个比较大的优势是,它的文档说明很全,而且各种应用也说得很详细,同时还有许多成熟的插件可供选择。jQuery能够使用户的html页面保持代码和html内容分离,也就是说,不用再在html里面插入一堆js来调用命令了,只需要定义id即可。
PHP框架:ThinkPHP是一个快速、兼容而且简单的轻量级国产PHP开发框架,遵循Apache2开源协议发布,使用面向对象的开发结构和MVC模式,支持windows/Unix/Liunx等服务器环境,支持MySql等多种数据库,能够解决应用开发中的大多数需要,因为自身包含了底层架构、兼容处理、基类库、数据库访问层、模板引擎、缓存机制、插件机制、角色认证、表单处理等常用的组件。
2.2网站功能设计
2.2.1网站前台功能模块设计:
模型设计:
主要功能介绍:
导航条:主要用于各模块功能之间的页面跳转。
菜单导航:显示农资产品的分类,包括农机,种子,化肥,农业。
首页主体:主要用来展示商品及商品的信息,商品图片大小210px*200px,所有商品信息从数据库中提取。
购物车:显示用户添加到购物车的商品信息,数量,总价,填写收货人姓名,收货地址,电话,备注等信息。
登录、注册:用于用户注册和登录,会员管理模块。
农业资讯:为用户提高一些最新的农业资讯,具有一定的时效性,可以增加用户粘性,是文章模块之一。
农技知识:针对我们的用户群体,发布一些农技方面的知识,可以增加用户对网站的依赖性和喜好程度,属于文章模块之一。
网站后台功能模块设计:
模型设计:
主要功能介绍:
基本设置:用于设置网站的基本信息,网站首页标题,网站名称,网站的URL,网站logo,网站关键字,网站描述等信息,用于seo优化和搜索引擎收录。
商品管理:用于管理商品分类、商品维护,可以动态的增加、删除、修改商品分类和商品信息。
订单管理:主要用于查看顾客提交的订单及订单详细信息。
会员管理:查看、修改,删除注册的会员信息,设置、修改,删除网站后台管理员的帐号和密码。
信息管理:文章管理模块,用于对文章分类及文章的增加、删除、修改等操作。
3、网站详细设计及功能展示
3.1前台详细设计及页面展示
网站名称:乐购农资网
Logo: 代表活力与力量的成长中的植物种子,充满了希望。
网站前端入口文件: index.php
//单入口模式
define('THINK_PATH', './inc/');
define('APP_NAME', 'web');
define('APP_PATH', './web/');
define('RUNTIME_PATH', './data/');
define('TMPL_PATH', './templates/');
require(THINK_PATH."/ThinkPHP.php");
?>
会员注册:
关键代码:
class="inputstyle2"/>
class="button_blue" value="同意协议并注册"/>
public function sign(){
$this->display();}
//用户注册控制器
public function dosign(){
$name=$this->_post('name',"trim");
$password=$this->_post('pswd','trim');
$model=M('Members');
$result=$model->where(array('username'=>$name))->find();
if($result!==false&&is_array($result)){
echo '1'; return; } $data['username']=$name;
$data['userpass']=md5($password);
$res=$model->add($data);
if($res!==false){ echo '0'; } }
会员登录:
关键代码:
class="button_blue submit"/>
public function login() {
$this->display(); }
//用户登录控制器
public function doPost(){
$name=$this->_post('u','trim');
$password=$this->_post('p','trim');
$model=M('Members');
$res=$model->where(array('username'=>$name))->field('userpass')->find();
if($res==''||$res==false){ echo '1'; return; }
if($res['userpass']==md5($password)){
session('se_name',$name);
echo '0';
}else{ echo ‘登录失败’; } }
网站首页导航:
关键代码:
网站首页主体:
关键代码:
购物车:
关键代码:
查询订单:
关键代码:
请输入您的订单手机号:
我的订单:
关键代码:
H:i",###}
订单详情:
关键代码:
public function myorders(){
$otel=I('id');
session('otel',$otel);
$pid=I('pid');
session('pid',$pid);sd
if ($otel){
$Orders=M('Foodorder');// 实例化User对象
import('ORG.Util.Page');// 导入分页类
$data['otel']=$otel;
$count = $Orders->where($data)->count();// 查询满足要求的总记录数
$Page = new Page($count,10);// 实例化分页类传入总记录数和每页显示的记录数
$show = $Page->show();// 分页显示输出
// 进行分页数据查询注意limit方法的参数要使用Page类的属性
$orderlist = $Orders->where($data)->limit($Page->firstRow.','.$Page->listRows)->order('o
id desc')->select();
$this->assign('orderlist',$orderlist);// 赋值数据集
$this->assign('page',$show);// 赋值分页输出
$this->display(); // 输出模板
} else { if ($pid){
$Orders=M('Foodorder');// 实例化User对象
import('ORG.Util.Page');// 导入分页类
$data['pid']=$pid;
$count = $Orders->where($data)->count();// 查询满足要求的总记录数$Page = new Page($count,10);// 实例化分页类传入总记录数和每页显示的记录数
$show = $Page->show();// 分页显示输出
// 进行分页数据查询注意limit方法的参数要使用Page类的属性
$orderlist = $Orders->where($data)->limit($Page->firstRow.','.$Page->listRows)->order('o
id desc')->select();
$this->assign('orderlist',$orderlist);// 赋值数据集
$this->assign('page',$show);// 赋值分页输出
$this->display(); // 输出模板
}else {
$this->redirect('Member/index');} } }
农业资讯:
农技知识:
关键代码:
title="{$vo.atitle}">{$vo.atitle}
// 文章模块控制器
public function l(){
$rid = $this->_get('id');
$Articlecat=M('Article_cat');
$con['acid']=$rid;
$aresult=$Articlecat->where($con)->find();
$Article=M('Article');
$map['acid']=$aresult["acid"];
import('ORG.Util.Page');// 导入分页类
$count = $Article->where($map)->count();// 查询满足要求的总记录数
$Page = new Page($count,10);// 实例化分页类传入总记录数和每页显示的记录数$show = $Page->show();// 分页显示输出
// 进行分页数据查询注意limit方法的参数要使用Page类的属性
$list=$Article->where($map)->limit($Page->firstRow.','.$Page->listRows)->or der('aid desc')->select();
//dump($plist);
$this->assign('page',$show);// 赋值分页输出
$this->assign('aitem',$aresult);
if(session('?se_name')){
$this->assign('se_name',session('se_name')); }
$this->assign('list',$list);
$this->display(); }
3.2网站后端详细设计及页面展示
后端入口文件:
admin.php
//单入口模式
define('THINK_PATH', './inc/');
define('APP_NAME', 'admin');
define('APP_PATH', './admin/');
define('APP_DEBUG', 'true');
require(THINK_PATH."/ThinkPHP.php");
?>
后台登录页面:
关键代码: