# mall-cook **Repository Path**: li_shifeng/mall-cook ## Basic Information - **Project Name**: mall-cook - **Description**: 可视化商城搭建平台——基于已有开源项目改造而来 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 1 - **Created**: 2024-01-28 - **Last Updated**: 2026-01-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: mallCook, mall-cook ## README # mall-cook - 源仓库 Gitee 地址:https://gitee.com/mirrors/Mall-Cook - 源仓库 GitHub 地址:https://github.com/wangyuan389/mall-cook - 在线预览:http://www.sunmao-design.top/ - 视频介绍:https://www.bilibili.com/video/BV1AY4y1q7se/ - Node 版本:16.18.0 - npm 源:https://registry.npmmirror.com/ - 包管理器:pnpm ## 启动运行 - 下载安装 Mongodb:https://www.mongodb.com/try/download/community - 启动之后,直接点击 connect - 修改 mall-cook-service/config.js 中的 mongodbUrl ```bash # 安装依赖并启动 pnpm bootstrap # 或者 # 安装依赖 pnpm install # 启动项目 pnpm dev ``` ## 项目说明 - 该仓库基于源仓库的以下 commit 修改而来: > fix: 修复 mac 打包问题 (#94)
> Commit: 9a85dbc3e0af492814c5ced98d9c91200b20ec3e
> Parents: 2a46177f60c988e3e5e64ae82febccd5b824ca6e
> Author: June <1601745371@qq.com>
> Committer: GitHub
> Date: Tue May 23 2023 11:22:30 GMT+0800 (China Standard Time)
- 使用 pnpm 的 workspace 进行改写,实现 Monorepo 项目结构 ```js // mall-cook-template:前端项目 // 修改请求地址:utils/request.js const baseUrl = 'http://127.0.0.1:3000' // mall-cook-platform:后台管理端 // 修改请求地址:config/global.js export default { baseApi: 'http://127.0.0.1:3000/', // 请求地址 viewUrl: 'http://127.0.0.1:8081/#/' // mall-cook-template 项目启动地址 } // mall-cook-service:服务端 // 配置文件:config.js const config = { appid: 'xxx', // 小程序 appId secret: 'xxx', // 小程序 secret serviceApi: 'http://127.0.0.1:3000', // 服务器地址 mongodbUrl: 'mongodb://localhost:27017/mall-cook', // mongodb 数据库地址,格式:mongodb://username:password@host:port/name jwtSecret: 'secret' } module.exports = config ``` ## 架构图 ![](./doc/架构图.png) ## 问题记录 ### 服务端安装依赖 puppeteer 报错 - 执行配置:npm config set puppeteer_download_host=https://npm.taobao.org/mirrors - 然后再安装依赖:npm i - 参考资料: - https://www.cnblogs.com/bradleyxin/p/14529618.html - https://www.cnblogs.com/zhangyaolan/p/12590028.html ### 启动本地服务无法上传图片问题 `npm i dayjs` ```js // routes/upload.js // 额外引入这几个模块 const path = require('path') const fs = require('fs') const dayjs = require('dayjs') // 创建文件夹 function mkdirsSync(dirname) { if(fs.existsSync(dirname)) { return true } else { if(mkdirsSync(path.dirname(dirname))) { fs.mkdirSync(dirname) return true } } } // routes/upload.js // 19行 destination: function (req, file, cb) { // appjs中koa-static配置目录为public,因此上传目录放public; 也可以配置koa-static const filePath = `${path.resolve('./public')}/img/${dayjs(Date.now()).format('YYYYMMDD')}` // 递归创建多级 if(mkdirsSync(filePath)) { cb(null, filePath) } } // 35行 data: `${config.serviceApi}/img/${dayjs(Date.now()).format('YYYYMMDD')}/${ctx.req.file.filename}` ``` ### 图片上传组件 - https://www.npmjs.com/package/imgpond