Skip to content

根据幕课网实践项目制作,高仿百度糯米团购网站。

Notifications You must be signed in to change notification settings

liuzhilinux/imooc_o2o

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

imooc_o2o

本人的一个实战项目,根据幕课网的付费实战课程Thinkphp 5.0实战 仿百度糯米开发多商家电商平台课程指导最终完成实战项目并部署到个人空间。其中个人项目liuzhilinux/imooc_o2o中的各个模块及extend目录下的扩展均由本人实现。

演示

第三方 API 、框架和组件的使用

声明:

其余小功能的扩展均包含在application/common.phppublic/static/admin/js/common.jspublic/static/index/js/common.js中。微信支付模块待实现。

项目目录结构

  • application: 主项目文件。
  • extend/com/liuzhiling/: 配合主项目使用的扩展文件。
  • public: 主入口文件,包含一些静态的 JS 、 CSS 文件及图片上传存放目录。
  • o2o_sql.sql: 项目部署后建立数据表结构。

部署方案

部署环境以树莓派为例,系统为Raspbian。

  1. 搭建运行环境
# 更新源
$ sudo apt-get update
# 搭建 LAMP 环境
$ sudo apt-get install apache2
$ sudo apt-get install php5
$ sudo apt-get install php5-mysql
$ sudo apt-get install php5-gd
$ sudo apt-get install mysql-server
$ sudo apt-get install mysql-client
$ sudo apt-get install libapache2-mod-php5
# 建立非公共目录
$ sudo mkdir /var/www/private
# 修改目录读写权限
$ sudo chmod 777 /var/www/
  1. 安装 Composer 和 Git
# 安装 Composer
$ sudo curl -sS https://getcomposer.org/installer | sudo php -d detect_unicode=Off
# 切换到全局安装文件夹
$ sudo mv composer.phar /usr/local/bin/composer
# 修改文件权限
$ cd /user/local/bin/
$ sudo chmod a+x composer
# 配置国内镜像
$ composer config -g repo.packagist composer https://packagist.phpcomposer.com
# 安装Git
$ sudo apt-get install git
  1. 部署ThinkPHP5

采用项目目录.框架目录和访问入口目录相隔离的方式.

TP5 的环境要求:
  • PHP >= 5.4.0
  • PDO PHP Extension
  • MBstring PHP Extension
  • CURL PHP Extension
$ cd /var/www/private/
$ composer create-project topthink/think tp5  --prefer-dist
# 添加验证码扩展组件
$ composer require topthink/think-captcha
# 添加 PHPMailer 模块
$ composer require phpmailer/phpmailer
  1. 部署 imooc_o2o
$ cd /var/www/private/
$ sudo git clone https://github.com/liuzhilinux/imooc_o2o.git
# 移动 imooc_o2o/public 文件夹中的文件到 /var/www/html 下
$ sudo rm -r /var/www/html/
$ sudo mv /var/www/private/imooc_o2o/public /var/www/html
# 移动 imooc_o2o/extend 文件夹中的文件到 /var/www/private/tp5 下
$ sudo mv /var/www/private/imooc_o2o/extend /var/www/private/tp5
# 移动 imooc_o2o/application 覆盖 /var/www/private/imooc_o2o
$ sudo mv /var/www/private/imooc_o2o/application /var/www/private
  && sudo rm -r /var/www/private/imooc_o2o && sudo rename 
  1. 根据目录结构修改 /var/www/html/index.php
// 定义应用目录
define('APP_PATH', __DIR__ . '/../private/imooc_o2o/');
// 定义扩展目录
defined('EXTEND_PATH') or define('EXTEND_PATH', __DIR__ . '/../private/tp5/extend/');
defined('VENDOR_PATH') or define('VENDOR_PATH', __DIR__ . '/../private/tp5/vendor/');

// 加载框架引导文件
require __DIR__ . '/../private/tp5/thinkphp/start.php';
  1. 根据自己的情况添加百度 API 和邮件相关配置到/var/www/private/imooc_o2o/config.php
// 公共上传图片资源目录
'public_upload_image_url' => '/',

// 视图输出字符串内容替换
'view_replace_str'       => [
    // 静态资源存放目录
   '_STATIC_' => '/static/',
],

// +----------------------------------------------------------------------
// | 邮件发送配置
// +----------------------------------------------------------------------
'mail' =>[
    // 可以使用其他的邮箱服务
    'host' => 'smtp.163.com',
    'username' => 'username@163.com',
    'password' => 'password',
    'port' => 25,
],
'my_email' => 'username@163.com', // 一般情况与上面配置的 username 相同
'my_name' => 'yourname',

// +----------------------------------------------------------------------
// | 百度地图相关配置
// +----------------------------------------------------------------------
'map' =>[
    'api_domain' => 'http://api.map.baidu.com/',
    'ak' => 'E4805d16520de693a3fe707cdc962045',
    'geocoder' => 'geocoder',
    'geocoder_version' => 'v2',
    'staticimage' => 'staticimage',
    'staticimage_version' => 'v2',
    'width' => 400,
    'height' => 300,
],

// +----------------------------------------------------------------------
// | 百度翻译相关配置
// +----------------------------------------------------------------------
'fanyi' => [
    'api' => 'http://api.fanyi.baidu.com/api/trans/vip/translate',
    'appid' => '2015063000000001',
    'key' => 'abDFabDFabDFabDF',
    'salt' => '65001', // 加盐随机值
],

'fanyi_lang' => [
    'zh' => 'zh',
    'en' => 'en',
    'auto' => 'audo',
    'spa' => 'spa',
],

// +----------------------------------------------------------------------
// | 广告位文本相关配置
// +----------------------------------------------------------------------
'featured_type'=>[
    // 广告位类型
    0 => '首页大图推荐位',
    1 => '首页右侧广告位',
],
  1. 根据自己的数据库配置修改 /var/www/private/imooc_o2o/database.php并添加下面一行代码.
    // 关闭自动格式化输出时间戳
    'datetime_format' => false,
  1. 添加新数据库,根据 imooc_o2o/o2o_sql.sql

  2. 填充数据

至此,可以访问网站了,大功告成.

About

根据幕课网实践项目制作,高仿百度糯米团购网站。

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published