草庐IT

毕业设计——基于小程序云开发的校园二手交易平台(附源码)

bug_刺客 2023-07-18 原文

本系统基于微信小程序云开发,采用小程序原生框架,不需要后端开发,数据库和CMS云开发全帮你搞定,对后端开发能力薄弱的同学超友好的有木有,只要你学过HTML+CSS+JS就能实现所有功能。

一、功能介绍

使用该系统的角色有两个,分别是用户和管理员,用户通过微信小程序进入该系统,该角色功能主要由七个模块组成,分别是用户登录、搜索商品、发布商品、管理商品、购买商品、收藏商品、以及评论留言。管理员通过小程序自带的内容管理平台实现后台管理,可对商品信息、留言板以及用户等数据进行增、删、改、查操作。

二、业务流程图

三、界面设计

3.1我的界面

用户进入到本系统时首先会看到首页,未登录状态下,用户只可以搜索商品、浏览商品,而当用户在使用“发布”、“收藏”、“购买”等功能时,系统会提示请先登录,用户需在我的界面中进行登录,登录成功界面会显示用户头像和微信昵称,当用户不再使用该系统时可选择退出登录,页面图标是通过阿里巴巴的矢量图标库-iconfont来添加到页面。

3.2 首页界面

首页界面主要分为5个模块,为别为:搜索框、轮播图、导航栏、分类、商品展示。搜索功能的实现是使用db.RegExp使输入内容与数据库中商品标题和描述进行模糊匹配。轮播图使用了swiper和swiper-item组件组合而成,热门商品则是根据商品的浏览量的多少来对商品排序展示,免费商品是查询数据库中PublishGoods集合中的price字段为0的商品,首页界面的最后一个模块为“最新发布”,商品按照时间排序,通过for语句将数据库中的商品数据渲染到前端页面,然后通过onshow()生命周期展示出来。

3.3 发布界面

在发布页面的input组件中输入的数据会通过model:value双向绑定到js的data中,不用重新获取。用户选择的图片将会通过chooseImage()转换成临时路径,再使用uploadFile()上传到云端并return云端路径,上传到云端的图片不会占用程序或数据库的空间,可以直接通过云端路径调用图片。

3.4 商品详情界面

商品详情页是其他页面通过data-id将商品的id传到详情页来展示出具体的商品信息,该页面展示了商品的图片、价格、原价、描述,还设计了收藏、留言、分享、加入购物车、立即购买功能。

3.5购物车界面

购物车界面分为两部分,一是商品数据展示,二是对商品可执行的操作,包括删除与结算。该页面通过onload()与onshow()生命周期函数来获取集合shopping_cart中的数据,使用了checkbox-group组件与checkbox的结合来传递商品id,且设置了product_check字段来判断商品是否被选择,而删除商品通过设置云函数goods_delet()来执行对数据库中的数据进行删除,结算按钮可以实时显示已选择商品的总金额,点击按钮则结算支付,通过调用微信支付API来完成支付功能。

3.6收藏列表界面

进入收藏页面时会执行生命周期回调onLoad(),从数据库collectionList集合中查询openid为当前用户openid的数据,然后将返回的数据展示出来。当点击商品时,则会调用wx.navigateTo()跳转到商品详情页。

3.7 商品管理界面

进入商品管理页面时将会在数据库中查询publicGoods集合,将openid符合的字段展示到页面上,即只会展示用户发布的商品。

3.8 CMS内容管理平台

小程序云开发的内置CMS服务是前不久腾讯云发布的一个新的扩展服务,该平台可以随时随地管理小程序的内容数据。
由于 CMS 扩展需要用到静态网站托管资源,因此必须将其部署在按量计费的环境中,所以在使用前需要先设置计费方式为按量付费,然后在腾讯云控制台安装扩展,安装完成后进行登录,登录成功后,先对内容进行建模,建好的模型可以在内容集合中查看,本系统设置了用户、商品信息、以及留言评论的内容模型,在该CMS中可以对数据库中的内容直接进行增删改查。

四、代码实现

源码:基于微信小程序云开发的校园二手交易平台

五、云数据库集合(表)

传统数据库都是要思考好业务逻辑、建好表之后才能开展项目,遇到项目做到一半发现缺少某个表或者某个字段要改起来就会很麻烦,而云数据库的好处就是想要什么就建什么,不需要考虑各个表、各个字段之间的逻辑,“傻瓜式”建库,nice!

5.1总集合

5.2 PublishGoods集合

5.3user集合

5.4 shopping_cart集合

5.5collectionList集合

5.6 comment集合


源码地址:云开发-基于微信小程序的校园二手交易平台

有关毕业设计——基于小程序云开发的校园二手交易平台(附源码)的更多相关文章

  1. 叮咚买菜基于 Apache Doris 统一 OLAP 引擎的应用实践 - 2

    导读:随着叮咚买菜业务的发展,不同的业务场景对数据分析提出了不同的需求,他们希望引入一款实时OLAP数据库,构建一个灵活的多维实时查询和分析的平台,统一数据的接入和查询方案,解决各业务线对数据高效实时查询和精细化运营的需求。经过调研选型,最终引入ApacheDoris作为最终的OLAP分析引擎,Doris作为核心的OLAP引擎支持复杂地分析操作、提供多维的数据视图,在叮咚买菜数十个业务场景中广泛应用。作者|叮咚买菜资深数据工程师韩青叮咚买菜创立于2017年5月,是一家专注美好食物的创业公司。叮咚买菜专注吃的事业,为满足更多人“想吃什么”而努力,通过美好食材的供应、美好滋味的开发以及美食品牌的孵

  2. 基于C#实现简易绘图工具【100010177】 - 2

    C#实现简易绘图工具一.引言实验目的:通过制作窗体应用程序(C#画图软件),熟悉基本的窗体设计过程以及控件设计,事件处理等,熟悉使用C#的winform窗体进行绘图的基本步骤,对于面向对象编程有更加深刻的体会.Tutorial任务设计一个具有基本功能的画图软件**·包括简单的新建文件,保存,重新绘图等功能**·实现一些基本图形的绘制,包括铅笔和基本形状等,学习橡皮工具的创建**·设计一个合理舒适的UI界面**注明:你可能需要先了解一些关于winform窗体应用程序绘图的基本知识,以及关于GDI+类和结构的知识二.实验环境Windows系统下的visualstudio2017C#窗体应用程序三.

  3. 微信小程序通过字典表匹配对应数据 - 2

    前言一般来说,前端根据后台返回code码展示对应内容只需要在前台判断code值展示对应的内容即可,但要是匹配的code码比较多或者多个页面用到时,为了便于后期维护,后台就会使用字典表让前端匹配,下面我将在微信小程序中通过wxs的方法实现这个操作。为什么要使用wxs?{{method(a,b)}}可以看到,上述代码是一个调用方法传值的操作,在vue中很常见,多用于数据之间的转换,但由于微信小程序诸多限制的原因,你并不能优雅的这样操作,可能有人会说,为什么不用if判断实现呢?但是if判断的局限性在于如果存在数据量过大时,大量重复性操作和if判断会让你的代码显得异常冗余。wxswxs相当于是一个独立

  4. 计算机毕业设计ssm+vue基本微信小程序的小学生兴趣延时班预约小程序 - 2

    项目介绍随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱小学生兴趣延时班预约小程序的设计与开发被用户普遍使用,为方便用户能够可以随时进行小学生兴趣延时班预约小程序的设计与开发的数据信息管理,特开发了小程序的设计与开发的管理系统。小学生兴趣延时班预约小程序的设计与开发的开发利用现有的成熟技术参考,以源代码为模板,分析功能调整与小学生兴趣延时班预约小程序的设计与开发的实际需求相结合,讨论了小学生兴趣延时班预约小程序的设计与开发的使用。开发环境开发说明:前端使用微信微信小程序开发工具:后端使用ssm:VU

  5. 微信小程序开发入门与实战(Behaviors使用) - 2

    @作者:SYFStrive @博客首页:HomePage📜:微信小程序📌:个人社区(欢迎大佬们加入)👉:社区链接🔗📌:觉得文章不错可以点点关注👉:专栏连接🔗💃:感谢支持,学累了可以先看小段由小胖给大家带来的街舞👉微信小程序(🔥)目录自定义组件-behaviors    1、什么是behaviors    2、behaviors的工作方式    3、创建behavior    4、导入并使用behavior    5、behavior中所有可用的节点    6、同名字段的覆盖和组合规则总结最后自定义组件-behaviors    1、什么是behaviorsbehaviors是小程序中,用于实现

  6. kvm虚拟机安装centos7基于ubuntu20.04系统 - 2

    需求:要创建虚拟机,就需要给他提供一个虚拟的磁盘,我们就在/opt目录下创建一个10G大小的raw格式的虚拟磁盘CentOS-7-x86_64.raw命令格式:qemu-imgcreate-f磁盘格式磁盘名称磁盘大小qemu-imgcreate-f磁盘格式-o?1.创建磁盘qemu-imgcreate-fraw/opt/CentOS-7-x86_64.raw10G执行效果#ls/opt/CentOS-7-x86_64.raw2.安装虚拟机使用virt-install命令,基于我们提供的系统镜像和虚拟磁盘来创建一个虚拟机,另外在创建虚拟机之前,提前打开vnc客户端,在创建虚拟机的时候,通过vnc

  7. ruby-on-rails - (Ruby,Rails) 基于角色的身份验证和用户管理...? - 2

    我正在寻找用于Rails的优质管理插件。似乎大多数现有的插件/gem(例如“restful_authentication”、“acts_as_authenticated”)都围绕着self注册等展开。但是,我正在寻找一种功能齐全的基于管理/管理角色的解决方案——但不是简单地附加到另一个非基于角色的解决方案。如果我找不到,我想我会自己动手......只是不想重新发明轮子。 最佳答案 RyanBates最近做了两个关于授权的railscast(注意身份验证和授权之间的区别;身份验证检查用户是否如她所说的那样,授权检查用户是否有权访问资源

  8. ruby - 在 Rakefile 中动态生成 Rake 测试任务(基于现有的测试文件) - 2

    我正在根据Rakefile中的现有测试文件动态生成测试任务。假设您有各种以模式命名的单元测试文件test_.rb.所以我正在做的是创建一个以“测试”命名空间内的文件名命名的任务。使用下面的代码,我可以用raketest:调用所有测试require'rake/testtask'task:default=>'test:all'namespace:testdodesc"Runalltests"Rake::TestTask.new(:all)do|t|t.test_files=FileList['test_*.rb']endFileList['test_*.rb'].eachdo|task|n

  9. ruby - 如何使用 Ruby 基于字母数字字符串生成颜色? - 2

    我想要像“嘿那里”这样的东西变成,例如,#316583。我希望将任意长度的字符串“归结”为十六进制颜色。我不知道从哪里开始。我在想,每个字符串的MD5散列都是不同的-但如何将该散列转换为十六进制颜色数字? 最佳答案 你可以只取几位前几位:require'digest/md5'color=Digest::MD5.hexdigest('Mytext')[0..5] 关于ruby-如何使用Ruby基于字母数字字符串生成颜色?,我们在StackOverflow上找到一个类似的问题:

  10. 【自动驾驶环境感知项目】——基于Paddle3D的点云障碍物检测 - 2

    文章目录1.自动驾驶实战:基于Paddle3D的点云障碍物检测1.1环境信息1.2准备点云数据1.3安装Paddle3D1.4模型训练1.5模型评估1.6模型导出1.7模型部署效果附录show_lidar_pred_on_image.py1.自动驾驶实战:基于Paddle3D的点云障碍物检测项目地址——自动驾驶实战:基于Paddle3D的点云障碍物检测课程地址——自动驾驶感知系统揭秘1.1环境信息硬件信息CPU:2核AI加速卡:v100总显存:16GB总内存:16GB总硬盘:100GB环境配置Python:3.7.4框架信息框架版本:PaddlePaddle2.4.0(项目默认框架版本为2.3

随机推荐