{"id":13565204,"url":"https://github.com/github1586/nuxt-bnhcp","last_synced_at":"2025-05-15T12:03:32.602Z","repository":{"id":21546043,"uuid":"93215808","full_name":"github1586/nuxt-bnhcp","owner":"github1586","description":"nuxt、node/express、vue、mysql、redis、socket.io (全栈-实战商城)～","archived":false,"fork":false,"pushed_at":"2022-12-10T17:03:13.000Z","size":89790,"stargazers_count":2127,"open_issues_count":8,"forks_count":527,"subscribers_count":63,"default_branch":"master","last_synced_at":"2025-04-14T19:59:31.460Z","etag":null,"topics":["nuxt","nuxt-module","nuxt3","nuxtjs-demo","vue-ssr"],"latest_commit_sha":null,"homepage":"http://nodet.cn","language":"Vue","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/github1586.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-06-03T01:35:05.000Z","updated_at":"2025-04-02T07:32:21.000Z","dependencies_parsed_at":"2022-08-07T10:00:48.485Z","dependency_job_id":null,"html_url":"https://github.com/github1586/nuxt-bnhcp","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/github1586%2Fnuxt-bnhcp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/github1586%2Fnuxt-bnhcp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/github1586%2Fnuxt-bnhcp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/github1586%2Fnuxt-bnhcp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/github1586","download_url":"https://codeload.github.com/github1586/nuxt-bnhcp/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254337612,"owners_count":22054253,"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":["nuxt","nuxt-module","nuxt3","nuxtjs-demo","vue-ssr"],"created_at":"2024-08-01T13:01:42.509Z","updated_at":"2025-05-15T12:03:27.577Z","avatar_url":"https://github.com/github1586.png","language":"Vue","readme":"# nuxt-bnhcp \u003cimg src=\"https://img.shields.io/badge/bnhcp-v1.0.0-green.svg\"/\u003e \n\n\u003e Node.js(v6.9.1) + express(4.X) + vue(2.0) + vuex + mysql(5.7.18) + （NUXT）SSR + nginx + redis + 腾讯云 serveless\n## preface [![](https://badge.juejin.im/entry/599a8ecd518825243a78bd3b/likes.svg?style=flat-square)](https://juejin.im/entry/599a8ecd518825243a78bd3b/detail) \n\nonline：\u003ca href=\"http://nodet.cn\" target=\"_blank\" style=\"color: red;\"\u003enodet.cn\u003c/a\u003e\n## thank you～  \u003cimg src=\"https://img.shields.io/badge/build-v1.0.0-blue.svg\"/\u003e\n\n如果我的项目对您有所帮助，您可以点右上角 \"Star\" 支持一下 有什么问题联系我哦  感谢～～～！\n\nEmail: 8889999i@gmail.com  商务合作 或 问题交流 联系wx: driveawaygo 备注：github \n\n## complete \u003cimg src=\"https://img.shields.io/badge/complete-v1.0.0-origin.svg\"/\u003e\n\n1. 首页渲染\n2. 课程的分类搜索\n3. 课程 按 （智能排序 价格最高 价格最低 老师好评 人气最高） 排序\n4. 课程 按 （班级类型 活动优惠 上课时间（周一到周日） 具体时间（上午下午晚上） 价格区间） 筛选\n5. 完成课程列表的下拉加载更多 \n6. 课程详情\n7. 预约试听 \n8. 分类页面\n9. 我的页面\n10. 提交订单\n11. 登录、注册\n12. 设置页面\n13. 优惠券页面\n14. 钱包页面\n15. 购物车 （添加购物车 删除购物车 结算购物车 购物车批量提交订单）\n16. 我的订单 （全部订单 待付款 交易成功）\n17. redis (首页缓存 分页缓存）\n18. 腾讯云 serveless 部署\n## project screenshots  \u003cimg src=\"https://img.shields.io/badge/build-v1.0.0-blue.svg\"/\u003e\n\n\u003cimg src=\"https://github.com/github1586/nuxt-bnhcp/blob/master/show/1.jpeg\" width=\"280\"/\u003e\u003cimg src=\"https://github.com/github1586/nuxt-bnhcp/blob/master/show/2.jpeg\" width=\"280\"/\u003e\u003cimg src=\"https://github.com/github1586/nuxt-bnhcp/blob/master/show/3.jpeg\" width=\"280\"/\u003e\n\n\u003cimg src=\"https://github.com/github1586/nuxt-bnhcp/blob/master/show/4.jpeg\" width=\"280\"/\u003e\u003cimg src=\"https://github.com/github1586/nuxt-bnhcp/blob/master/show/5.jpeg\" width=\"280\"/\u003e\u003cimg src=\"https://github.com/github1586/nuxt-bnhcp/blob/master/show/6.jpeg\" width=\"280\"/\u003e\n\n\u003cimg src=\"https://github.com/github1586/nuxt-bnhcp/blob/master/show/8.jpeg\" width=\"280\"/\u003e\u003cimg src=\"https://github.com/github1586/nuxt-bnhcp/blob/master/show/7.jpeg\" width=\"280\"/\u003e\u003cimg src=\"https://github.com/github1586/nuxt-bnhcp/blob/master/show/9.jpeg\" width=\"280\"/\u003e\n\n\n## project \u003cimg src=\"https://img.shields.io/badge/build-v1.0.0-blue.svg\"/\u003e\n```\n.\n\n\n├── README.md\n├── ajax\n│   └── getData.js\n├── assets\n│   └── README.md\n├── components\n│   ├── AppLogo.vue\n│   ├── README.md\n│   ├── carousel\n│   │   ├── Carousel.vue\n│   │   ├── cov-touch.js\n│   │   └── vue-slide.vue\n│   ├── common\n│   │   ├── Headerchunk.vue\n│   │   ├── Moreclass.vue\n│   │   ├── computedTime.vue\n│   │   ├── courseDetail\n│   │   │   ├── courseInfo.vue\n│   │   │   ├── description.vue\n│   │   │   ├── detailContent.vue\n│   │   │   ├── evaluate.vue\n│   │   │   └── header.vue\n│   │   ├── courseHeader.vue\n│   │   ├── courselist.vue\n│   │   ├── footerBtn.vue\n│   │   ├── header.vue\n│   │   ├── loading.vue\n│   │   ├── no_content\n│   │   │   └── no_content.vue\n│   │   ├── pullDown.vue\n│   │   ├── subscribe\n│   │   │   ├── detailTime.vue\n│   │   │   ├── valiPhone.vue\n│   │   │   └── yesbtn.vue\n│   │   └── success.vue\n│   ├── config\n│   │   └── configinfo.js\n│   ├── home\n│   │   ├── Classification.vue\n│   │   ├── Courseblock.vue\n│   │   ├── Footertabs.vue\n│   │   ├── Grabactivity.vue\n│   │   ├── Myheader.vue\n│   │   └── RecommendedSchools.vue\n│   ├── layer\n│   │   └── layerMsg.vue\n│   └── mixin\n│       └── mixin.js\n├── config\n│   ├── async\n│   │   ├── env.js\n│   │   └── fetch.js\n│   └── common.js\n├── layouts\n│   ├── README.md\n│   └── default.vue\n├── middleware\n│   └── README.md\n├── nuxt\n│   ├── App.js\n│   ├── client.js\n│   ├── components\n│   │   ├── no-ssr.js\n│   │   ├── nuxt-child.js\n│   │   ├── nuxt-error.vue\n│   │   ├── nuxt-link.js\n│   │   ├── nuxt-loading.vue\n│   │   └── nuxt.js\n│   ├── empty.js\n│   ├── index.js\n│   ├── loading.html\n│   ├── middleware.js\n│   ├── router.js\n│   ├── server.js\n│   ├── store.js\n│   ├── utils.js\n│   └── views\n│       ├── app.template.html\n│       └── error.html\n├── nuxt.config.js\n├── package.json\n├── pages\n│   ├── chat\n│   │   └── _index.vue\n│   ├── classify.vue\n│   ├── conf\n│   │   └── _index.vue\n│   ├── courseDetail\n│   │   └── _index.vue\n│   ├── coursehome.vue\n│   ├── discount\n│   │   └── _index.vue\n│   ├── index.vue\n│   ├── login.vue\n│   ├── myWallet\n│   │   └── _index.vue\n│   ├── oneself.vue\n│   ├── order\n│   │   └── payOrder.vue\n│   ├── orderList\n│   │   └── _index.vue\n│   ├── paySuccess\n│   │   └── _index.vue\n│   ├── search\n│   │   └── searchPage.vue\n│   ├── shoppingCart.vue\n│   ├── submitOrder\n│   │   └── _index.vue\n│   └── subscribe\n│       └── _index.vue\n├── plugins\n│   ├── README.md\n│   └── axios.js\n├── server\n│   ├── api\n│   │   ├── controller\n│   │   │   ├── cart\n│   │   │   │   └── index.js\n│   │   │   ├── course\n│   │   │   │   └── index.js\n│   │   │   ├── home\n│   │   │   │   └── index.js\n│   │   │   ├── interface.js\n│   │   │   ├── login\n│   │   │   │   └── index.js\n│   │   │   ├── order\n│   │   │   │   └── index.js\n│   │   │   ├── paramsFilter.js\n│   │   │   └── router.js\n│   │   ├── index.js\n│   │   ├── model\n│   │   │   ├── db.js\n│   │   │   ├── settings.js\n│   │   │   └── sql.js\n│   │   └── redis\n│   │       └── redis.js\n│   └── index.js\n├── static\n│   ├── README.md\n│   ├── common\n│   │   ├── common.css\n│   │   └── style.sass\n│   ├── favicon.ico\n│   └── img\n├── store\n│   ├── README.md\n│   ├── index.js\n│   ├── mutation-types.js\n│   └── mutations.js\n├── yarn-error.log\n└── yarn.lock`\n\n```\n\n\n## build Setup  \u003cimg src=\"https://img.shields.io/badge/build-v1.0.0-blue.svg\"/\u003e\n\n``` bash\n# install dependencies\n$ yarn install\n\n# serve with hot reload at 127.0.0.1:3000 (Must be)\n$ yarn dev \n","funding_links":[],"categories":["Vue","Nuxt.js"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgithub1586%2Fnuxt-bnhcp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgithub1586%2Fnuxt-bnhcp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgithub1586%2Fnuxt-bnhcp/lists"}