{"id":20424666,"url":"https://github.com/aasailan/egg-nideshop","last_synced_at":"2025-04-12T18:45:01.773Z","repository":{"id":55677323,"uuid":"140570304","full_name":"aasailan/egg-nideshop","owner":"aasailan","description":"使用egg框架重写的nideshop后台","archived":false,"fork":false,"pushed_at":"2018-07-23T12:27:03.000Z","size":1233,"stargazers_count":52,"open_issues_count":0,"forks_count":9,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-26T13:03:41.849Z","etag":null,"topics":["egg","mysql","nodejs","sequelize","typescript"],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","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/aasailan.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":"2018-07-11T12:12:47.000Z","updated_at":"2024-05-14T02:55:24.000Z","dependencies_parsed_at":"2022-08-15T06:20:18.337Z","dependency_job_id":null,"html_url":"https://github.com/aasailan/egg-nideshop","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/aasailan%2Fegg-nideshop","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aasailan%2Fegg-nideshop/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aasailan%2Fegg-nideshop/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aasailan%2Fegg-nideshop/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aasailan","download_url":"https://codeload.github.com/aasailan/egg-nideshop/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248617264,"owners_count":21134190,"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":["egg","mysql","nodejs","sequelize","typescript"],"created_at":"2024-11-15T07:10:36.731Z","updated_at":"2025-04-12T18:45:01.731Z","avatar_url":"https://github.com/aasailan.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# egg-nideshop\n本项目使用egg框架重写[**nideshop开源商城的服务端**](https://github.com/tumobi/nideshop)，网络接口与原版的nideshop服务端几乎完全一样。可以配合[**nideshop小程序端项目**](https://github.com/tumobi/nideshop-mini-program)进行联调（特别提醒：由于小程序sdk升级，原版的[**nideshop小程序端项目**](https://github.com/tumobi/nideshop-mini-program)的用户登录功能已经无法使用，我对用户登录部分代码做了修改，修改后的[**小程序项目点此到达**](https://github.com/aasailan/egg-nideshop-mini-program)）\n\n本项目要点：\n* 项目模板基于egg官方脚手架的ts模板\n* 技术栈：typescript + egg + Sequelize + mysql\n* 使用jwt + egg-userrole完成会话控制\n* 所有请求需要做参数校验\n* 测试数据来源于 NideShop商城 项目\n* 针对大部分controller提供单元测试\n* 本项目使用git flow工作流进行管理，请大家选择master分支进行clone\n\n## 本地开发环境配置\n\n### 本地运行\n1. git clone https://github.com/aasailan/egg-nideshop.git\n2. 使用navicat等工具创建egg-nideshop数据库，并运行sql/egg-nideshop.sql文件。注意数据库字符编码为utf8mb4\n3. config/config.local.ts 中修改数据库配置，默认配置如下：\n    ```javascript\n    config.sequelize = {\n        dialect: 'mysql',\n        database: 'egg_nideshop',\n        host: 'localhost',\n        port: '3306',\n        username: 'root',\n        password: '12345678',\n        // 数据表名前缀\n        tablePrefix: 'nideshop_',\n      };\n    ```\n4. 填写小程序信息，配置如下（微信支付功能还未实现）：\n    ```javascript\n    const config: DefaultConfig = {};\n    config.wechat = {\n      // 小程序appid\n      appid: '', \n      // 小程序secret\n      secret: '', \n\n      mch_id: '',\n      partner_key: '',\n      notify_url: '',\n    };\n    ```\n\n5. 安装依赖并启动\n    ```bash\n    npm install\n    npm run dev\n    ```\n6. egg默认监听7001端口，与nideshop小程序项目进行联调时，请记得将nideshop小程序项目的api端口改为7001。\n\n### 调试\n\n```bash\n在vscode中安装eggjs拓展，在项目安装依赖后，按f5进入debug模式。按shift + f5 退出debug模式\n```\n\n### 生成type文件\n```bash\nnpm run type\n```\n\n### 运行测试用例\n```bash\nnpm run test-local\n```\n\n### Requirement\n\n- Node.js 8.x\n- Typescript 2.8+\n\n## 项目目录说明\n\n* app文件夹：egg工程源码目录\n* config：egg工程配置目录\n* sql：数据表与测试数据文件，其中egg-nideshop.sql是整体文件，其余子文件夹是拆分出的各个数据表文件。\n* test：测试用例文件夹\n* typings：项目类型生命文件夹\n\n## 下一步计划\n* 完成支付功能\n* 编写docker-compose文件，实现docker部署\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faasailan%2Fegg-nideshop","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faasailan%2Fegg-nideshop","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faasailan%2Fegg-nideshop/lists"}