AI prompts
base on 又一个小商城。litemall = Spring Boot后端 + Vue管理员前端 + 微信小程序用户前端 + Vue用户移动端 # litemall
又一个小商场系统。
litemall = Spring Boot后端 + Vue管理员前端 + 微信小程序用户前端 + Vue用户移动端
* [文档](https://linlinjava.gitbook.io/litemall)
* [贡献](https://linlinjava.gitbook.io/litemall/contribute)
* [FAQ](https://linlinjava.gitbook.io/litemall/faq)
* [API](https://linlinjava.gitbook.io/litemall/api)
## 项目代码
* [码云](https://gitee.com/linlinjava/litemall)
* [GitHub](https://github.com/linlinjava/litemall)
## 项目架构
![](./doc/pics/readme/project-structure.png)
## 技术栈
> 1. Spring Boot
> 2. Vue
> 3. 微信小程序
![](doc/pics/readme/technology-stack.png)
## 功能
### 小商城功能
* 首页
* 专题列表、专题详情
* 分类列表、分类详情
* 品牌列表、品牌详情
* 新品首发、人气推荐
* 优惠券列表、优惠券选择
* 团购
* 搜索
* 商品详情、商品评价、商品分享
* 购物车
* 下单
* 订单列表、订单详情、订单售后
* 地址、收藏、足迹、意见反馈
* 客服
### 管理平台功能
* 会员管理
* 商城管理
* 商品管理
* 推广管理
* 系统管理
* 配置管理
* 统计报表
## 快速启动
1. 配置最小开发环境:
* [MySQL](https://dev.mysql.com/downloads/mysql/)
* [JDK1.8或以上](http://www.oracle.com/technetwork/java/javase/overview/index.html)
* [Maven](https://maven.apache.org/download.cgi)
* [Nodejs](https://nodejs.org/en/download/)
* [微信开发者工具](https://developers.weixin.qq.com/miniprogram/dev/devtools/download.html)
2. 数据库依次导入litemall-db/sql下的数据库文件
* litemall_schema.sql
* litemall_table.sql
* litemall_data.sql
3. 启动小商场和管理后台的后端服务
打开命令行,输入以下命令
```bash
cd litemall
mvn install
mvn clean package
java -Dfile.encoding=UTF-8 -jar litemall-all/target/litemall-all-0.1.0-exec.jar
```
4. 启动管理后台前端
打开命令行,输入以下命令
```bash
cd litemall/litemall-admin
npm install --registry=https://registry.npm.taobao.org
npm run dev
```
此时,浏览器打开,输入网址`http://localhost:9527`, 此时进入管理后台登录页面。
5. 启动小商城前端
这里存在两套小商场前端litemall-wx和renard-wx,开发者可以分别导入和测试:
1. 微信开发工具导入litemall-wx项目;
2. 项目配置,启用“不校验合法域名、web-view(业务域名)、TLS 版本以及 HTTPS 证书”
3. 点击“编译”,即可在微信开发工具预览效果;
4. 也可以点击“预览”,然后手机扫描登录(但是手机需开启调试功能)。
注意:
> 这里只是最简启动方式,而小商场的微信登录、微信支付等功能需开发者设置才能运行,
> 更详细方案请参考[文档](https://linlinjava.gitbook.io/litemall/project)。
6. 启动轻商城前端
打开命令行,输入以下命令
```bash
cd litemall/litemall-vue
npm install --registry=https://registry.npm.taobao.org
npm run dev
```
此时,浏览器(建议采用chrome 手机模式)打开,输入网址`http://localhost:6255`, 此时进入轻商场。
注意:
> 现在功能很不稳定,处在开发阶段。
## 开发计划
当前版本[v1.8.0](https://linlinjava.gitbook.io/litemall/changelog)
目前项目开发中,存在诸多不足,以下是目前规划的开发计划。
V 1.0.0 完成以下目标:
1. 除了部分功能(如优惠券等),小商城的优化和改进基本结束;
2. 管理后台基本实现所有表的CRUD操作;
3. 后端服务能够对参数进行检验。
V 2.0.0 完成以下目标:
1. 小商城和管理后台完成所有基本业务;
2. 管理后台实现统计功能、日志功能、权限功能;
3. 业务代码和细节代码进行调整优化;
4. 轻商城的开发;
V 3.0.0 完成以下目标:
1. 管理后台一些辅助功能
2. 后端服务加强安全功能、配置功能
3. 缓存功能以及优化一些性能
## 警告
> 1. 本项目仅用于学习练习
> 2. 本项目还不完善,仍处在开发中,不承担任何使用后果
> 3. 本项目代码开源[MIT](./LICENSE),项目文档采用 [署名-禁止演绎 4.0 国际协议许可](https://creativecommons.org/licenses/by-nd/4.0/deed.zh)
## 致谢
本项目基于或参考以下项目:
1. [nideshop-mini-program](https://github.com/tumobi/nideshop-mini-program)
项目介绍:基于Node.js+MySQL开发的开源微信小程序商城(微信小程序)
项目参考:
1. litemall项目数据库基于nideshop-mini-program项目数据库;
2. litemall项目的litemall-wx模块基于nideshop-mini-program开发。
2. [vue-element-admin](https://github.com/PanJiaChen/vue-element-admin)
项目介绍: 一个基于Vue和Element的后台集成方案
项目参考:litemall项目的litemall-admin模块的前端框架基于vue-element-admin项目修改扩展。
3. [mall-admin-web](https://github.com/macrozheng/mall-admin-web)
项目介绍:mall-admin-web是一个电商后台管理系统的前端项目,基于Vue+Element实现。
项目参考:litemall项目的litemall-admin模块的一些页面布局样式参考了mall-admin-web项目。
4. [biu](https://github.com/CaiBaoHong/biu)
项目介绍:管理后台项目开发脚手架,基于vue-element-admin和springboot搭建,前后端分离方式开发和部署。
项目参考:litemall项目的权限管理功能参考了biu项目。
5. [vant--mobile-mall](https://github.com/qianzhaoy/vant--mobile-mall)
项目介绍:基于有赞 vant 组件库的移动商城。
项目参考:litemall项目的litemall-vue模块基于vant--mobile-mall项目开发。
## 推荐
1. [Flutter_Mall](https://github.com/youxinLu/mall)
项目介绍:Flutter_Mall是一款Flutter开源在线商城应用程序。
2. [Taro_Mall](https://github.com/jiechud/taro-mall)
项目介绍:Taro_Mall是一款多端开源在线商城应用程序,后台是基于litemall基础上进行开发,前端采用Taro框架编写。
## 问题
![](doc/pics/readme/qq4.png)
* 开发者有问题或者好的建议可以用Issues反馈交流,请给出详细信息
* 在开发交流群中应讨论开发、业务和合作问题
* 如果真的需要QQ群里提问,请在提问前先完成以下过程:
* 请仔细阅读本项目文档,特别是是[**FAQ**](https://linlinjava.gitbook.io/litemall/faq),查看能否解决;
* 请阅读[提问的智慧](https://github.com/ryanhanwu/How-To-Ask-Questions-The-Smart-Way/blob/master/README-zh_CN.md);
* 请百度或谷歌相关技术;
* 请查看相关技术的官方文档,例如微信小程序的官方文档;
* 请提问前尽可能做一些DEBUG或者思考分析,然后提问时给出详细的错误相关信息以及个人对问题的理解。
## License
[MIT](https://github.com/linlinjava/litemall/blob/master/LICENSE)
Copyright (c) 2018-present linlinjava", Assign "at most 3 tags" to the expected json: {"id":"6939","tags":[]} "only from the tags list I provide: [{"id":77,"name":"3d"},{"id":89,"name":"agent"},{"id":17,"name":"ai"},{"id":54,"name":"algorithm"},{"id":24,"name":"api"},{"id":44,"name":"authentication"},{"id":3,"name":"aws"},{"id":27,"name":"backend"},{"id":60,"name":"benchmark"},{"id":72,"name":"best-practices"},{"id":39,"name":"bitcoin"},{"id":37,"name":"blockchain"},{"id":1,"name":"blog"},{"id":45,"name":"bundler"},{"id":58,"name":"cache"},{"id":21,"name":"chat"},{"id":49,"name":"cicd"},{"id":4,"name":"cli"},{"id":64,"name":"cloud-native"},{"id":48,"name":"cms"},{"id":61,"name":"compiler"},{"id":68,"name":"containerization"},{"id":92,"name":"crm"},{"id":34,"name":"data"},{"id":47,"name":"database"},{"id":8,"name":"declarative-gui "},{"id":9,"name":"deploy-tool"},{"id":53,"name":"desktop-app"},{"id":6,"name":"dev-exp-lib"},{"id":59,"name":"dev-tool"},{"id":13,"name":"ecommerce"},{"id":26,"name":"editor"},{"id":66,"name":"emulator"},{"id":62,"name":"filesystem"},{"id":80,"name":"finance"},{"id":15,"name":"firmware"},{"id":73,"name":"for-fun"},{"id":2,"name":"framework"},{"id":11,"name":"frontend"},{"id":22,"name":"game"},{"id":81,"name":"game-engine "},{"id":23,"name":"graphql"},{"id":84,"name":"gui"},{"id":91,"name":"http"},{"id":5,"name":"http-client"},{"id":51,"name":"iac"},{"id":30,"name":"ide"},{"id":78,"name":"iot"},{"id":40,"name":"json"},{"id":83,"name":"julian"},{"id":38,"name":"k8s"},{"id":31,"name":"language"},{"id":10,"name":"learning-resource"},{"id":33,"name":"lib"},{"id":41,"name":"linter"},{"id":28,"name":"lms"},{"id":16,"name":"logging"},{"id":76,"name":"low-code"},{"id":90,"name":"message-queue"},{"id":42,"name":"mobile-app"},{"id":18,"name":"monitoring"},{"id":36,"name":"networking"},{"id":7,"name":"node-version"},{"id":55,"name":"nosql"},{"id":57,"name":"observability"},{"id":46,"name":"orm"},{"id":52,"name":"os"},{"id":14,"name":"parser"},{"id":74,"name":"react"},{"id":82,"name":"real-time"},{"id":56,"name":"robot"},{"id":65,"name":"runtime"},{"id":32,"name":"sdk"},{"id":71,"name":"search"},{"id":63,"name":"secrets"},{"id":25,"name":"security"},{"id":85,"name":"server"},{"id":86,"name":"serverless"},{"id":70,"name":"storage"},{"id":75,"name":"system-design"},{"id":79,"name":"terminal"},{"id":29,"name":"testing"},{"id":12,"name":"ui"},{"id":50,"name":"ux"},{"id":88,"name":"video"},{"id":20,"name":"web-app"},{"id":35,"name":"web-server"},{"id":43,"name":"webassembly"},{"id":69,"name":"workflow"},{"id":87,"name":"yaml"}]" returns me the "expected json"