8 Star 63 Fork 14

sky / 垃圾分类小程序

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
Apache-2.0
  1. 垃圾识别小程序

    项目介绍

    声明本项目的小程序端是学习程序员二师兄GarbageSort 进行的二次开发。非常感谢二师兄,一直想做一款小程序,奈何自己不会搞小程序的界面。

    项目分成前台和后台,前台就是小程序端,后台就是后台管理系统。项目稍微粗糙了点,因为主要以学习并整合技术栈为目的做的项目,所以本项目中涉及大量技术,有的技术可以不用的但是还是有用到,哈哈哈。

    觉得还不错的话,帮忙点个 star 鼓励一下吧,如果有问题的可以加我微信哦!!!

    输入图片说明

    账号(手机号):数据库里有 密码:一般为手机号后六位

    后台管理系统

    登录页:

    image-20210923221822969

    首页:

    image-20210923221755762

    轮播图管理:

    轮播图

    图像识别管理:

    图像识别

    语音识别管理:

    语音识别

    短信日志管理:

    输入图片说明

    角色管理:

    输入图片说明

    个人信息:

    输入图片说明

    小程序效果图

    首页 分类页 搜索页 搜索结果
    首页 分类 输入图片说明 输入图片说明
    图像识别 语音识别 知识小测 小测结果
    输入图片说明 输入图片说明 输入图片说明 输入图片说明

    介绍

    前端:后台管理系统采用 vue-element-admin 后台集成方案进行二次开发。微信小程序采用 uni-app 开发框架。

    后端:后台管理模块采用 SpringBoot + Dubbo 构建后端分布式服务,使用 Shiro 做系统安全框架,配合 RBAC 设计模式实现用户的权限管理,使用 Redis 对用户token及字典数据进行缓存;小程序模块采用 SpringBoot 构建后端服务;数据库采用 Mysql(5.7) ,使用 Mybatis-Plus 做数据访问层,Druid 作为数据库连接池。

    短信服务采用腾讯云(唉,阿里的申请了七八次不给通过)。

    使用阿里OSS作为文件存储系统(最开始用的 FastDFS,奈何不想一直开着虚拟机)。

    语音识别和图像识别采用百度智能云平台服务。

    安装教程

    1. 开发需要准备相关的 IDE 和 JDK8 开发环境 , 前端开发需要下载 HbuilderX 和 Visual Code,后端开发需要下载 Eclipse IDEA

    2. 首先需要一台虚拟机,可以使用阿里的也可以本机安装;在虚拟机上我们需要搭建分布式环境:Zookeeper和 Dubbo ;还有安装 Redis 等。(虚拟机中的软件安装可以见软件安装文档)

    3. 短信服务使用腾讯云,需要自己去腾讯云申请签名及模板(比阿里的好申请),在后端 system-web 的配置文件中进行配置。

    4. 文件存储系统使用的是阿里OSS,也可以自己搭建 FastDFS 服务,在后端 system-webuniapp-web 的配置文件中进行配置。

    5. 语音识别和图像识别功能使用百度智能云平台服务,在后端 uniapp-web 当中的配置文件里面需要进行配置 appidapikeysecretkey

    6. 数据库准备,创建一个名称为 garbage-sort 的数据库,把跟目录下 garbage-sort.sql数据库文件进行导入进去即可。

    7. 后端启动:(需要虚拟机并安装好软件)

      后台管理系统:第一步、使用 IDEA 在 garbagesort-parent 目录下找到 system-websort-service 模块。第二步、在 application-dev.yml中修改 ip 地址,改为自己的虚拟机 ip 地址,修改腾讯云和阿里云的相关配置。 第三步、运行 SystemApplication 和 SortApplication ,启动后端服务。可以在浏览器输入 ip:7001 账号和密码都是 root,查看服务。

      小程序端:第一步、使用 IDEA 在 garbagesort-parent 目录下找到 uniapp-web 模块。第二步、在 application-dev.yml中修改百度云和阿里云的相关配置。 第三步、运行 UniappApplication,启动后端服务。

    8. 前端启动:

      后台管理系统:在 Visual Code 中打开 garbage-sort-ui , 在控制台输入 npm install 下载依赖,依赖下载完后,使用命令 npm run dev 运行前端项目。

      小程序端:在 HbuilderX 中打开目录 garbage-sort-uniapp ,需要下载一个插件运行时会有提示下载,在运行菜单中 点击 运行到小程序模拟器 —> 微信开发者工具,或者 使用 微信开发者工具 打开 garbage-sort-uniapp -> unpackage -> dist -> dev -> mp-weixin,即可运行微信小程序。(二次开发的时候在 Hbuilder 中修改文件,保存后可以到微信开发者工具看预览效果)

    9. 务必记得:在登录后台管理系统后,到字典管理模块点击同步缓存的按钮,把字典类型及数据添加到redis缓存中!!!

    技术栈

    技术 名称 官网
    SpringBoot 微服务框架 https://spring.io/projects/spring-boot/
    Mybatis-Plus ORM框架 https://mp.baomidou.com/
    Mybatis-Generator 代码生成插件 https://zhile.io/2019/04/23/mybatis-code-helper-pro-crack.html
    Shiro 安全框架 http://shiro.apache.org/
    Zookeeper 分布式协调服务 http://zookeeper.apache.org/
    Druid 数据库连接池 https://github.com/alibaba/druid
    Dubbo-Admin 服务治理项目 http://dubbo.apache.org/zh-cn/blog/dubbo-admin.html
    Dubbo 远程调用框架 http://dubbo.apache.org/zh-cn/
    Log4J 日志组件 http://logging.apache.org/log4j/1.2/
    Git 版本管理 https://git-scm.com/
    Maven 项目构建管理 http://maven.apache.org/
    Jackson 数据序列化 https://github.com/FasterXML/jackson
    Lombok 简化编码插件 https://projectlombok.org/
    uni-app 基于 vue 的跨端框架 https://uniapp.dcloud.io/
    vuejs 渐进式 JavaScript 框架 https://cn.vuejs.org/
    vue-element-admin 后台集成框架 https://panjiachen.github.io/vue-element-admin-site/zh/guide/
    Element UI 组件库 https://element.eleme.cn/2.0/#/zh-CN

    有收获可以请作者喝奶茶哟

    If the project is very helpful to you, you can buy the author a cup of milk tea.

    如果这个项目对您有帮助,请作者喝杯奶茶吧。

    支付宝 微信
    image-20210923233222129 image-20210923233114191

    PS:基于Apache License 2协议开源友好,使用、参考、转载请保留出处,严禁将项目直接打包出售。

Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 1. Definitions. "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. 2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. 3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. 4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: (a) You must give any other recipients of the Work or Derivative Works a copy of this License; and (b) You must cause any modified files to carry prominent notices stating that You changed the files; and (c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and (d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. 6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. 7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. 8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. 9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. END OF TERMS AND CONDITIONS APPENDIX: How to apply the Apache License to your work. To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives. Copyright [yyyy] [name of copyright owner] Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

简介

小程序端使用SpringBoot+uniapp技术,包含文字识别、语音识别、图片识别;后台管理系统使用vue-element-admin搭建页面,SpringBoot+Dubbo搭建后端分布式服务。 展开 收起
Apache-2.0
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
Java
1
https://gitee.com/sukeyu/garbage-sorting-applet.git
git@gitee.com:sukeyu/garbage-sorting-applet.git
sukeyu
garbage-sorting-applet
垃圾分类小程序
master

搜索帮助