原来搭建淘客项目如此简单,app、web、小程序轻松搞定

本篇文章主要是记录Coupons项目在Linux环境下的安装过程

Coupons是一个从前端到后端完全开源的淘宝客项目,目前项目已经支持打包成App、微信小程序、QQ小程序、Web站点;理论上其他小程序支持,可能需要微调

Github地址:
项目地址:https://github.com/silently9527/coupons

效果预览

WX20210907-214104.png

一、运行环境

Java

  1. 使用yum来搜索安装包 yum search openjdk

    image

  2. 这里我们选择安装Java8的开发环境,执行如下命令

yum -y install java-1.8.0-openjdk.x86_64
  1. 验证是否安装成功
java -version

输入如下内容表示安装成功

openjdk version "1.8.0_302"
OpenJDK Runtime Environment (build 1.8.0_302-b08)
OpenJDK 64-Bit Server VM (build 25.302-b08, mixed mode)

Maven

Maven的安装过程参考 https://silently9527.cn/?p=65

MySQL

Mysql的详细安装教程参考 https://silently9527.cn/?p=63

Redis

Redis的详细安装教程参考 https://silently9527.cn/?p=64

Nginx

Nginx的详细安装教程参考 https://silently9527.cn/?p=66


二、注册第三方账号

1. 注册大淘客账号

MallCoupons后端项目中使用的商品数据都是由大淘客API提供 ;

首先需要注册大淘客账号https://www.dataoke.com/

进入到大淘客开放平台创建一个应用,为应用一键添加所有的API接口


image

2. 开通MobTech免费短信服务(非必须,需要打包app应用才是需要使用)

MallCoupons在App中是通过手机号和验证码的方式登录,MobTech提供了免费的短信验证码服务。

注册MobTech账号 https://www.mob.com/

进入到开发者平台,创建应用


image

3. 注册QQ小程序(非必须,根据个人需要)

4. 注册微信小程序(非必须,根据个人需要)


三、下载源码并解压

wget https://codeload.github.com/silently9527/coupons/zip/refs/heads/master
unzip coupons-master.zip

四、创建数据库并初始化

  1. 输入密码登陆MySQL数据库
mysql --port=3309 -uroot -p
  1. 创建数据库mall-coupons
create database mall-coupons default character set utf8mb4 collate utf8mb4_unicode_ci;
  1. 执行如下命令初始化数据库
use mall-coupons;
source /Users/xxx/Downloads/coupons-master/doc/scheme.sql

source命令后面的文件路径替换成你自己的路径;


五、后端项目打包

  1. 进入到解压项目的coupons-master/server/src/main/resources目录下
cd coupons-master/server/src/main/resources
  1. vim编辑文件application-prod.properties,修改文件中的必要参数
#填写前面淘客注册应用的 AppKey、AppSecret
dataoke.appKey=
dataoke.appSecret=

#填写前面注册QQ小程序的appId、appSecret
spring.social.qq.app-id=
spring.social.qq.app-secret=

#填写前面注册微信小程序的appId、appSecret
spring.social.wechat.app-id=
spring.social.wechat.app-secret=

# 配置MySQL数据库的地址
spring.datasource.url=jdbc:mysql://localhost:3306/mall-coupons?autoReconnect=true&useUnicode=true&characterEncoding=utf-8&allowMultiQueries=true&serverTimezone=Asia/Shanghai
spring.datasource.username=root
spring.datasource.password=xxx

# 配置Redis服务器地址
spring.redis.host=
spring.redis.password=
spring.redis.port=

# mob短信服务的appkey,需要打包收集app的才需要
mob.service.appkey=
  1. 打包Java项目
mvn clean package -DskipTests

当出现了Build Success的时候就表示打包完成

image

打包完成之后当前目录会生成target目录,cd target进入到目录,查看是否有生成文件mall-coupons-server-0.0.1-SNAPSHOT.jar

image
  1. 启动运行mall-coupons-server-0.0.1-SNAPSHOT.jar
java -Djava.security.egd=file:/dev/./urandom -jar mall-coupons-server-0.0.1-SNAPSHOT.jar --spring.profiles.active=prod > ./mall-coupons-server.log  &

六、Nginx配置

  1. 进入到目录/etc/nginx/conf.d,创建配置文件coupon.conf
cd /etc/nginx/conf.d
touch coupon.conf
  1. 编辑配置文件coupon.conf,输入如下内容:
upstream coupons-services {
    server localhost:9090 weight=10;
}

server {
    listen       80;
    server_name  你的域名;
    include /etc/nginx/default.d/*.conf;

    location / {
        add_header Access-Control-Allow-Origin *;
        add_header Access-Control-Allow-Methods 'GET, POST, OPTIONS';
        add_header Access-Control-Allow-Headers 'DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization,x-auth-token'; 
        if ($request_method = 'OPTIONS') {
            return 204;
        }
        proxy_pass http://coupons-services/;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        client_max_body_size    10000m;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Forwarded-Port $server_port;
    }

    error_page 404 /404.html;
        location = /40x.html {
    }

    error_page 500 502 503 504 /50x.html;
        location = /50x.html {
    }
}
  1. 重启nginx
systemctl restart nginx

七、前端项目打包

  1. 前端项目的源码目录coupons-master/client
    导入前端代码到HBuilder中,如何使用HBuilder导入项目、打包可以参考官方文档 https://uniapp.dcloud.io/quickstart-hx

  2. 修改发送短信的模版id(只有需要打包app才需要),文件的路径pages/public/login.vue中92行配置短信模板的id,这里的模版id需要在短信平台mob上面申请

image
  1. 在uniapp的插件中心购买集成mob的插件;MobTech短信原生插件 https://ext.dcloud.net.cn/plugin?id=2189

  2. 之后在HBuilder中配置appkey


    image
  3. 配置后台api的请求地址,编辑client/config.js输入自己服务器的域名地址

module.exports = {
    // APIHOST: "http://localhost:9090"
}

coupons项目相关的文档都已更新到博客:https://silently9527.cn/

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,099评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,828评论 3 387
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,540评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,848评论 1 285
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,971评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,132评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,193评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,934评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,376评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,687评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,846评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,537评论 4 335
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,175评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,887评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,134评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,674评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,741评论 2 351

推荐阅读更多精彩内容