{"id":14987637,"url":"https://github.com/congz666/cmall-go","last_synced_at":"2025-04-06T14:12:24.006Z","repository":{"id":43919659,"uuid":"272224110","full_name":"congz666/cmall-go","owner":"congz666","description":"golang写的电子商城的API接口","archived":false,"fork":false,"pushed_at":"2021-03-13T03:28:30.000Z","size":159,"stargazers_count":417,"open_issues_count":8,"forks_count":81,"subscribers_count":7,"default_branch":"master","last_synced_at":"2025-03-30T12:09:53.461Z","etag":null,"topics":["gin","golang","gorm"],"latest_commit_sha":null,"homepage":"http://cmall.congz.top","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/congz666.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-06-14T14:58:41.000Z","updated_at":"2025-03-02T14:20:44.000Z","dependencies_parsed_at":"2022-08-12T10:51:57.073Z","dependency_job_id":null,"html_url":"https://github.com/congz666/cmall-go","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/congz666%2Fcmall-go","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/congz666%2Fcmall-go/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/congz666%2Fcmall-go/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/congz666%2Fcmall-go/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/congz666","download_url":"https://codeload.github.com/congz666/cmall-go/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247492557,"owners_count":20947545,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["gin","golang","gorm"],"created_at":"2024-09-24T14:15:05.537Z","updated_at":"2025-04-06T14:12:23.979Z","avatar_url":"https://github.com/congz666.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# CMall 电子商城\n\n#### 此项目为前后端分离项目，已经部署至[CMall http://cmall.congz.top/#/](http://cmall.congz.top/#/)，用 golang 实现接口函数，如需要看前端请前往[cmall-vue](https://github.com/congz666/cmall-vue)\n\n## 前言\n\n本人准备大三，拿这个项目学习一些新的技能，如果有错误或者实现不好的地方欢迎 issues\n\n后续会实现支付功能（已完成)，QQ 第三方登录 (已完成)，重写搜索系统，后台管理系统，优化代码和数据库，因为即将开学，后续更新的进度可能会放慢。\n\n如果觉得这个项目不错，您可以右上角 Star 支持一下！谢谢您的支持，您的支持是我完善的动力！\n\n## 项目依赖\n\n本项目采用了一系列 golang 中比较流行的组件来进行开发\n\n- Gin\n- Gorm\n- mysql\n- redis\n- godotenv\n- jwt-go\n- go-mail\n\n使用的 SDK 或调用的 API\n\n- 阿里云 OSS\n- 极验\n- 支付 FM\n- QQ 第三方登录\n\n## 目录结构\n\n```\nmall-go/\n├── api\n├── cache\n├── conf\n├── middleware\n├── model\n├── pkg\n│\t├── e\n│\t├── util\n│   ├── sdk\n├── serializer\n├── server\n└── service\n\n```\n\n- api：用于定义接口函数\n\n- cache：redis 相关操作\n\n- conf：用于存储配置文件\n\n- middleware：应用中间件\n\n- model：应用数据库模型\n\n- pkg / e：封装错误码\n\n- pkg / util：工具函数\n\n- pkg / sdk: 极验 sdk 核心函数\n\n- serializer：将数据序列化为 json 的函数\n\n- server 路由逻辑处理\n\n- service：接口函数的实现\n\n## Godotenv\n\n项目在启动的时候依赖以下环境变量，但是在也可以在项目根目录创建.env 文件设置环境变量便于使用(建议开发环境使用)\n\n```\nMYSQL_DSN=\"db_user:db_password@/db_name?charset=utf8\u0026parseTime=True\u0026loc=Local\" # Mysql连接语句\nREDIS_ADDR=\"127.0.0.1:6379\" # Redis端口地址\nREDIS_PW=\"\" # Redis连接密码\nREDIS_DB=\"\" # Redis库从0到10\nGIN_MODE=\"debug\"#开发模式下使用debug\nOSS_END_POINT=\"oss-cn-shenzhen.aliyuncs.com\"#你的仓库所在的阿里云对象存储地域节点\nOSS_ACCESS_KEY_ID=\"\"#阿里云RAM访问控制用户ID\nOSS_ACCESS_KEY_SECRET=\"\"#阿里云RAM访问控制KEY\nOSS_BUCKET=\"\"#阿里云OSS仓库名\nVAILD_EMAIL=\"http://localhost:8080/#/vaild/email/\" #本地环境邮箱验证地址\n\n#本项目用的是163邮箱STMP\nSMTP_HOST=\"\"#163是smtp.163.com\nSMTP_EMAIL=\"\"#发送邮件的邮箱\nSMTP_PASS=\"\"#SMTP服务的通行证\n\n#极验配置\nGEETEST_ID=\"\"#极验账号对应的ID（需要申请）\nGEETEST_KEY=\"\"#极验账号对应的KEY（需要申请）\n\n#以下是支付FM配置，详情请查阅支付FM文档\nFM_Pay_ID=\"\"#支付FM账号对应的ID\nFM_Pay_Key=\"\"#支付FM账号对应的KEY\nFM_Pay_NotifyURL=\"\"#支付FM回调地址\nFM_Pay_ReturnURL=\"\"#支付FM返回地址\n\n#以下是QQ第三方登录配置，详情请查阅QQ开放平台帮助文档\nQQ_Client_ID=\"\"#申请QQ登录时的ID\nQQ_Client_KEY=\"\"#申请QQ登录时的KEY\nQQ_Redirect_URI=\"\"#QQ登录回调地址\nQQ_State=\"\"\n```\n\n## 运行\n\n本项目使用[Go Mod](https://github.com/golang/go/wiki/Modules)管理依赖。\n\n```\ngit clone https://github.com/congz666/cmall-go.git\ncd cmall-go\ngo run main.go\n```\n\n项目运行后启动在 3000 端口\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcongz666%2Fcmall-go","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcongz666%2Fcmall-go","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcongz666%2Fcmall-go/lists"}