1 Star 0 Fork 0

itmrliu / cmall-go

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
MIT

CMall 电子商城

此项目为前后端分离项目,已经部署至CMall http://cmall.congz.top/#/,用 golang 实现接口函数,如需要看前端请前往cmall-vue

前言

本人准备大三,拿这个项目学习一些新的技能,如果有错误或者实现不好的地方欢迎 issues

后续会实现支付功能(已完成),QQ 第三方登录 (已完成),重写搜索系统,后台管理系统,优化代码和数据库,因为即将开学,后续更新的进度可能会放慢。

如果觉得这个项目不错,您可以右上角 Star 支持一下!谢谢您的支持,您的支持是我完善的动力!

项目依赖

本项目采用了一系列 golang 中比较流行的组件来进行开发

  • Gin
  • Gorm
  • mysql
  • redis
  • godotenv
  • jwt-go
  • go-mail

使用的 SDK 或调用的 API

  • 阿里云 OSS
  • 极验
  • 支付 FM
  • QQ 第三方登录

目录结构

mall-go/
├── api
├── cache
├── conf
├── middleware
├── model
├── pkg
│	├── e
│	├── util
│   ├── sdk
├── serializer
├── server
└── service
  • api:用于定义接口函数

  • cache:redis 相关操作

  • conf:用于存储配置文件

  • middleware:应用中间件

  • model:应用数据库模型

  • pkg / e:封装错误码

  • pkg / util:工具函数

  • pkg / sdk: 极验 sdk 核心函数

  • serializer:将数据序列化为 json 的函数

  • server 路由逻辑处理

  • service:接口函数的实现

Godotenv

项目在启动的时候依赖以下环境变量,但是在也可以在项目根目录创建.env 文件设置环境变量便于使用(建议开发环境使用)

MYSQL_DSN="db_user:db_password@/db_name?charset=utf8&parseTime=True&loc=Local" # Mysql连接语句
REDIS_ADDR="127.0.0.1:6379" # Redis端口地址
REDIS_PW="" # Redis连接密码
REDIS_DB="" # Redis库从0到10
GIN_MODE="debug"#开发模式下使用debug
OSS_END_POINT="oss-cn-shenzhen.aliyuncs.com"#你的仓库所在的阿里云对象存储地域节点
OSS_ACCESS_KEY_ID=""#阿里云RAM访问控制用户ID
OSS_ACCESS_KEY_SECRET=""#阿里云RAM访问控制KEY
OSS_BUCKET=""#阿里云OSS仓库名
VAILD_EMAIL="http://localhost:8080/#/vaild/email/" #本地环境邮箱验证地址

#本项目用的是163邮箱STMP
SMTP_HOST=""#163是smtp.163.com
SMTP_EMAIL=""#发送邮件的邮箱
SMTP_PASS=""#SMTP服务的通行证

#极验配置
GEETEST_ID=""#极验账号对应的ID(需要申请)
GEETEST_KEY=""#极验账号对应的KEY(需要申请)

#以下是支付FM配置,详情请查阅支付FM文档
FM_Pay_ID=""#支付FM账号对应的ID
FM_Pay_Key=""#支付FM账号对应的KEY
FM_Pay_NotifyURL=""#支付FM回调地址
FM_Pay_ReturnURL=""#支付FM返回地址

#以下是QQ第三方登录配置,详情请查阅QQ开放平台帮助文档
QQ_Client_ID=""#申请QQ登录时的ID
QQ_Client_KEY=""#申请QQ登录时的KEY
QQ_Redirect_URI=""#QQ登录回调地址
QQ_State=""

运行

本项目使用Go Mod管理依赖。

git clone https://github.com/congz666/cmall-go.git
cd cmall-go
go run main.go

项目运行后启动在 3000 端口

MIT License Copyright (c) 2021 Congz Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

简介

golang写的电子商城的API接口 展开 收起
Go 等 4 种语言
MIT
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
1
https://gitee.com/itmrliu/cmall-go.git
git@gitee.com:itmrliu/cmall-go.git
itmrliu
cmall-go
cmall-go
master

搜索帮助

53164aa7 5694891 3bd8fe86 5694891