uniapp微信小程序(商城项目)

最近,闲来无事,打算学一下uniapp小程序

于是在跟着某站上学着做了一个小程序,主要是为了学uniapp和vue。某站黑马优购

在这里插入图片描述

完成的功能主要有:首页、搜索、分类和购物车。

有人问了为什么没有登录、和添加订单呢?问的很好,下次别再问了
在这里插入图片描述

其实我也想跟着视频做,但视频是2021年的,一些uniapp的方法早就更新了,出现了很多问题。

  1. 如uni.getUserProfile,获取不到头像和昵称,然后查了很多方法才知道,这个方法已经不返回头像和昵称了 最新方法获取头像和昵称在这里

  2. 然后去调用登录接口去获取token,我也迟迟获取不成功。
    https://api-hmugo-web.itheima.net/api/public/v1/users/wxlogin

然后就开始烦躁。就那种跟着视频做也做不出来,满脑子都是为什么不一样呀。
在这里插入图片描述

于是我想为什么不自己做一个呢?

在这里插入图片描述

于是我就开干,前端的话,不想用黑马优购(看着就来气),于是就去找一个类似uniapp商城的模板,还真找到了。
在这里插入图片描述
但里面数据都是静态的

这时就有一个大问题了,后端服务我可以自己写,数据库我也可以自己创建,但是最重要的数据,不知道从哪里拿,总不能一张一张从网上下载啊!!!!
在这里插入图片描述

爬虫获取数据

于是乎我想起来了,很久以前用python学的爬虫,爬一点点数据下来,黑马大佬应该不介意吧
如果大家没学过爬虫,也不用介意,可以看看这篇简单爬取图片数据文章批量爬取图片

如果不想看,也没关系,问题不大,直接上代码。

import json
import urllib.request
import urllib.parse
import pymysqlurl = 'https://api-hmugo-web.itheima.net/api/public/v1/categories'
request = urllib.request.Request(url = url)
#获取响应数据
response = urllib.request.urlopen(request)response = response.read().decode('utf-8')
array = json.loads(response)array = array['message']
conn = pymysql.connect(host="127.0.0.1", user="", password="", database="yun_mall")# 插入数据
cursor = conn.cursor()
#一级分类数据
for item in array:#获取二级分类数据secondArray = item["children"]id = item["cat_id"]name = item["cat_name"]pid = item["cat_pid"]level = item["cat_level"]image = item["cat_icon"]cursor.execute("INSERT INTO category (id, cat_name, cat_level,cat_image,cat_pid) VALUES (%s, %s, %s,%s, %s)",(id, name, level, image, pid))for secondItem in secondArray:id = secondItem["cat_id"]name = secondItem["cat_name"]pid = secondItem["cat_pid"]level = secondItem["cat_level"]image = secondItem["cat_icon"]cursor.execute("INSERT INTO category (id, cat_name, cat_level,cat_image,cat_pid) VALUES (%s, %s, %s,%s, %s)",(id, name, level, image, pid))try:#获取三级分类数据thirdArray = secondItem["children"]except :thirdArray = []for thirdItem in thirdArray:id = thirdItem["cat_id"]name = thirdItem["cat_name"]pid = thirdItem["cat_pid"]level = thirdItem["cat_level"]image = thirdItem["cat_icon"]cursor.execute("INSERT INTO category (id, cat_name, cat_level,cat_image,cat_pid) VALUES (%s, %s, %s,%s, %s)",(id, name, level, image, pid))# 提交更改并关闭连接
conn.commit()
cursor.close()
conn.close()

主要的难度就是爬取分类数据,因为黑马优购的分类是三级分类,要想办法如何拿到分类数据,然后根据分类级别插入到数据库中。

这样分类数据就下载自己的本地使用了。
在这里插入图片描述
然后就是相关分类的商品数据和商品图片,这里就跟爬取分类数据类似了,这里就不贴代码了
这样数据就大功告成了,就可以写后端服务代码了。

大功告成

再后来 经过漫长的代码编写之旅,终于基本完成了
在这里插入图片描述

最后给大家看一下完成的效果图。

请添加图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

经过我的测试,基本上能正常使用,用来做个毕业设计应该问题不大,但是可能还会出现一些我没发现的bug,但bug存在不是很正常的嘛,我就想问哪个软件没有bug呢,
在这里插入图片描述

最后

后面打算把这个商城的后台管理系统干出来,目前找到了一个成熟的后台管理系统,打算在此基础上面改。
后面如果有可能的话(资金够的话),想部署到云服务器上。大家如果有需要的源码,可以来找我哦,至于有偿还是无偿都可以商量,
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/2163.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【力扣 Hot100 | 第五天】4.20(回文链表)

1.回文链表 1.1题目 给你一个单链表的头节点 head ,请你判断该链表是否为回文链表。如果是,返回 true ;否则,返回 false 。 示例一: 输入:head [1,2,2,1] 输出:true示例二: 输入…

vue实现水平排列且水平居中

样式实现 .body{text-align: center; } .body_content{display: inline-block; } .body_content_cardList{display: flex;flex-wrap: wrap;text-align: center; }<div class"body"><div class"body_content"><div class"body_content…

ESP32学习第一天-ESP32点亮LED,按键控制LED状态,LED流水灯

第一天使用到的函数: 函数第一个参数设置哪一个引脚&#xff0c;第二个参数设置引脚模式。 pinMode(led_pin,OUTPUT); //设置引脚模式 函数的第一个参数设置哪一个引脚&#xff0c;第二个参数设置是高电平还是低电平。 digitalWrite(led_pin,HIGH);//将引脚电平拉高 #incl…

多因素不同水平的正交表设计(并列法)

文章目录 一、问题提出二、举例说明 一、问题提出 参考高等教育课本《实验设计与数据处理》 很多时候&#xff0c;我们要考察的因素水平数不尽相同&#xff0c;这时候一般采用混合水平正交表或者对普通的正交表作修改&#xff0c;其中&#xff0c;混合水平正交表由于水平数不规…

GLID: Pre-training a Generalist Encoder-Decoder Vision Model

1 研究目的 现在存在的问题是&#xff1a; 目前&#xff0c;尽管自监督预训练方法&#xff08;如Masked Autoencoder&#xff09;在迁移学习中取得了成功&#xff0c;但对于不同的下游任务&#xff0c;仍需要附加任务特定的子架构&#xff0c;这些特定于任务的子架构很复杂&am…

【信号处理】心电信号传统R波检测定位典型方法实现(matlab)

关于 心电信号中QRS波检测是一个非常重要的步骤&#xff0c;可以用于实现重要波群的基本定位&#xff0c;在定位基础上&#xff0c;可以进一步分析心电信号的特征变化&#xff0c;从而为医疗诊断提供必要的参考。 工具 MATLAB ECG心电信号 方法实现 ECG心电信号加载 ecg …

JetBrains PhpStorm v2024.1 安装教程 (PHP集成开发IDE)

前言 PhpStorm是由JetBrains推出的一款轻量级集成开发环境&#xff0c;专为PHP开发者而设计。该软件融合了智能的HTML/CSS/JavaScript/PHP编辑器、代码质量分析工具、版本控制系统集成&#xff08;包括SVN和GIT&#xff09;、调试和测试等功能。除此之外&#xff0c;PhpStorm还…

C++异常和断言

C异常 异常的理念看似有前途&#xff0c;但实际的使用效果并不好。编程社区达成的一致意见是&#xff0c;最好不要使用这项功能。C98引入异常规范&#xff0c;C11已弃用。 例如&#xff1a;我们输入1时抛出异常。 #include <iostream> #include <vector> #includ…

Charles 工具如何做断点测试?

在测试工作过程中&#xff0c;我们经常会在程序的某一行或者某一环节设置断点&#xff0c;在程序请求的过程中&#xff0c;修改断点处的参数、请求或者响应&#xff0c;借此定位问题&#xff0c;这就是所谓的断点测试。这类断点测试主要用于接口测试。 断点测试可以通过查看接…

W801学习笔记十一:掌机进阶V3版本之硬件改造

经由前面的笔记&#xff0c;我们打造出了一款游戏掌机。 W801学习笔记十&#xff1a;HLK-W801制作学习机/NES游戏机(总结) 然而&#xff0c;考虑到后续的游戏开发&#xff0c;总是忧心容量不足。故而&#xff0c;在正式展开软件开发工作以前&#xff0c;最终进行一下升级改造…

maven多模块创建-安装配置

1、前提 许久没有写文章了&#xff0c;荒废了2年多的时间&#xff0c;在整理的时候&#xff0c;发现Maven还差一篇安装配置的文章&#xff0c;现在开始提笔完善它&#xff0c;参考&#xff1a;https://blog.csdn.net/m0_72803119/article/details/134634164。 —写于2024年4月…

LeetCode - 11.盛最多水的容器

一. 题目链接 LeetCode - 11.盛最多水的容器 二. 思路解释 利用双指针的思想&#xff0c;定义一个left和reght&#xff0c;left指向首部&#xff0c;right指向尾部&#xff0c;计算当前两个指针所对应的高度构成容器的体积。根据当前双指针所指的高度的大小&#xff0c;然后让…

linux服务器和RAID磁盘阵列

1、服务器 &#xff08;1&#xff09;服务器分类 机架式居多 塔式 刀片式 机柜式 机架式 机架式服务器是一种服务器的机箱形式&#xff0c;它被设计为在服务器机架或机柜中安装。机架式服务器通常具有标准的19英寸宽度&#xff0c;并且可以根据服务器的高度进行划分&#xff0…

富唯智能:打造未来机器人教育新标杆

随着科技的飞速发展&#xff0c;机器人教育正逐渐成为培养未来人才的重要领域。富唯智能&#xff0c;作为业内领先的机器人技术提供商&#xff0c;近日推出了一款全新的机器人教育实践平台系统&#xff0c;旨在为学生提供更加丰富、更具挑战性的学习体验。 该平台系统以AUBO-i5…

电力监控系统是什么,有哪些功能

电力监控系统是什么,有哪些功能 电力是国家重要的基础设施&#xff0c;电力监控系统用于监视和控制电力生产和供应过程&#xff0c;是电力安全稳定运行的支撑系统。 什么是电力监控系统&#xff1f; 电力监控系统是指用于监视和控制电力生产及供应过程的、基于计算机及网…

上网行为管理软件有哪些?三款常用上网行为管理软件评测

互联网的普及&#xff0c;企业和个人对于网络安全和信息保护的需求越来越高。为了确保网络环境的安全和稳定&#xff0c;上网行为管理软件应运而生。本文将对三款常用的上网行为管理软件进行评测&#xff0c;分别是域智盾、Splunk Enterprise Security和安企神。 1、域智盾 域…

Linux查看僵尸进程

1、查看系统是否有僵尸进程 使用Top命令查找&#xff0c;当zombie前的数量不为0时&#xff0c;即系统内存在相应数量的僵尸进程。 2、定位僵尸进程 使用命令ps -A -ostat,ppid,pid,cmd |grep -e ‘^[Zz]’定位僵尸进程以及该僵尸进程的父进程。 3、杀死僵尸进程 使用Kill -…

二叉树中的最长交错路径

题目链接 二叉树中的最长交错路径 题目描述 注意点 每个节点的值在 [1, 100] 之间 解答思路 深度优先遍历整棵树&#xff0c;遍历的同时需要将到达根节点是向左交叉还是向右交叉以及路径长度传递到子树。当根节点是向左交叉遍历而来&#xff0c;子树想和根节点组成路径就只…

<计算机网络自顶向下> 面向连接的传输:TCP

目录 TCP: 概述 TCP报文段结构 TCP往返延时&#xff08;RTT&#xff09;和超时 可靠数据传输 快速重传 流量控制 连接管理 TCP: 概述 点对点 一个发送方&#xff0c;一个接收方可靠的、按顺序的字节流 不出错&#xff0c;不重复&#xff0c;不丢失&#xff0c;不失序没有报…

面试算法准备:动态规划

这里写自定义目录标题 1 理论2 例题2.1 斐波那契数列&#xff08;什么是重叠子问题&#xff09;2.1.1 带备忘录的递归解法 2.2 零钱兑换&#xff08;讲解最优子结构&#xff09;2.3 最长递增子序列&#xff08;讲解如何求解状态转移方程&#xff09;2.4 俄罗斯套娃信封问题&…