当前位置:   article > 正文

基于微信小程序的校园二手商城设计与开发_基于微信小程序的论文

基于微信小程序的论文

今天终于是把源码给补上来了,弥补了当年丢失源码的遗憾了,太激动了!


时间过得可真快啊,转眼间大学四年就结束了,人总是到了要分别的时候才懂得去怀念过去啊。前段时间弄完了毕业论文,最近在导师实验室搬砖,一直没时间整理,今天终于有时间,所以想把毕设给整理一下,首先声明这个毕设做的很一般哈,给大家乐一下,也算是送给自己的毕业礼物吧

正文如下:

软件功能及核心代码

4.1.1 用户登录注册 

首先是在用户进入平台时获取用户微信昵称,保存作为用户名。至于用户ID,是通过java中的UUID方法随机分配一唯一值。最后将这两项必填信息写入数据库完成注册

核心代码如下:

(1)获取用户微信昵称

  1. // 登录
  2. let that = this
  3. wx.login({
  4. success: res => {
  5. // 发送 res.code 到后台换取 openId, sessionKey, unionId
  6. },
  7. })
  8. // 获取用户信息
  9. wx.getSetting({
  10. success: res => {
  11. if (res.authSetting['scope.userInfo']) {
  12. // 已经授权,可以直接调用 getUserInfo 获取头像昵称,不会弹框
  13. wx.getUserInfo({
  14. success: res => {
  15. // 可以将 res 发送给后台解码出 unionId
  16. that.globalData.userInfo = res.userInfo //获取用户基本信息并保存为全局变量
  17. that.globalData.userName = res.userInfo.nickName //获取用户微信昵称并保存为全局变量


(2)UUID方法随机分配一唯一值

  1. //获取UUID生成的32位数的前8位作为用户ID
  2. String uid = UUID.randomUUID().toString().substring(0, 8);


4.1.2 商品分类导航 

商品总共有4中分类,系统为每种分类分配一ID值,内容栏将会根据不同ID值显示不同类型的商品。

核心代码如下:

  1. //商品类别标签切换事件
  2. switchTab: function (e) {
  3. let id = e.currentTarget.dataset.id      //获取前端商品类别的ID值
  4. let type                                   //定义商品类别变量
  5. let num = 0                               //定义保存商品类别的数组初始下标
  6. claArray = []                             //定义保存商品类别数组的临时变量
  7. var that = this
  8. this.setData({
  9. curNavId: id,                             //给前端商品类别赋值
  10. })
  11. //通过id分类List页面内容
  12. switch(id){
  13. case 1:
  14. type = "推荐"
  15. break;
  16. case 2:
  17. type = "学习"
  18. break;
  19. case 3:
  20. type = "运动"
  21. break;
  22. case 4:
  23. type = "生活"
  24. break;
  25. case 5:
  26. type = "智能"
  27. break;
  28. }
  29. if (GoodContent.length > 0){
  30. for (let i = 0; i < GoodContent.length; i++) {
  31. let content = GoodContent[i]
  32. if (content.GoodType == type || type == "推荐") { //content.GoodType很关键
  33. claArray[num++] = content
  34. }
  35. }
  36. this.setData({
  37. listContent: claArray
  38. })


4.1.3 热门商品展示 

热门商品展示主要是本系统会根据商城各商品的点击浏览量,自动推荐浏览量最高的前5款商品展示在主页。

核心代码如下:

  1. //连接数据库获取商品信息
  2. wx.request({
  3. url: 'http://localhost:8080/Ajax-Servlet-Test1/StoreMsg',  //服务器地址
  4. data: {
  5. xx: 'selectAll',
  6. },
  7. header: {
  8. 'Content-Type': 'application/json'
  9. },
  10. success: function (res) {
  11. that.globalData.GoodMessage = res.data   //将获取的数据保存在GoodMessage 全局变量
  12. }
  13. })
  14. var urlList = new Array()          //定义保存热门商品图片Url地址的数组
  15. for (let i = 0; i < 5; i++) {
  16. urlList[i] = app.globalData.GoodMessage[i].GoodImgUrl
  17. }


4.1.4 模糊搜索商品

  模糊搜索商品主要是根据用户输入的关键字进行检索,用户输入商品信息关键字,与已发布的商品信息进行匹配,搜索到符合要求的商品

核心代码如下:

  1. //获取服务器数据
  2. getdata:function(){
  3. let that = this
  4. wx.request({
  5. url: 'http://localhost:8080/Ajax-Servlet-Test1/inputMsg',
  6. data: {
  7. xx: 'select',
  8. //用户输入的关键字
  9. yy: that.data.inputValue            
  10. },
  11. header: {
  12. 'Content-Type': 'application/json'
  13. },
  14. success: function (res) {
  15. that.setData({
  16. //将服务器返回的匹配信息保存
  17. list:res.data                      
  18. })
  19. }
  20. })
  21. },
  22. //服务器端与数据库进行交互
  23. if(str.equals(goodName)){
  24. String sql = "SELECT * From good WHERE GoodTitle LIKE '%"+goodName+"'%";
  25. PreparedStatement prep = null;
  26. try {
  27. prep = (PreparedStatement) connection.prepareStatement(sql);
  28. ResultSet result = prep.executeQuery();
  29. while(result.next()){
  30. Good good = new Good();
  31. String GoodTitle = result.getString("GoodTitle");
  32. good.setUserName(GoodTitle);
  33. goodList.add(good);
  34. }
  35. } catch (SQLException e) {
  36. e.printStackTrace();
  37. }
  38. }
  39. Gson gson = new Gson();
  40. String goods = gson.toJson(goodList);
  41. write.write(goods);

4.1.5 发布商品 

有效用户在发布商品信息时,填写商品名称、商品图片、商品类别、商品介绍、联系人ID、联系人姓名等信息,然后通过request访问服务器将数据写进数据库。

核心代码如下:

(1)获取本地图片,并将图片临时地址保存在数据库

  1. //上传图片
  2. bindSendImage:function(res){
  3. let that = this
  4. wx.chooseImage({
  5. count:1,                                  //定义本地选择图片时只能选择一张
  6. sizeType:['original', 'compressed'],      //定义选择的图片可以被压缩
  7. sourceType:['album', 'camera'],           //图片既可以从相册中选择也可以拍照获取
  8. success: function(res) {
  9. that.setData({
  10. imgUrl:res.tempFilePaths[0]               //获取本地图片url地址
  11. })


4.1.6 商品收藏 

用户在进入商品的详细信息界面时,如果喜欢该物品但是又不想立刻购买的话,可以收藏该物品,收藏好的商品也可以点击取消。

核心代码如下:

  1. //收藏事件
  2. switchSC:function(id){
  3. let that = this
  4. let userId = app.globalData.userId      //获取登录用户ID
  5. switch (id){
  6. case 0:
  7. this.setData({
  8. shoucang:"收藏"
  9. })
  10. //连接数据库删除用户收藏信息
  11. wx.request({
  12. url: 'http://localhost:8080/Ajax-Servlet-Test1/StoreMsg',
  13. data: {
  14. xx: 'deleteSC',
  15. //用户ID
  16. yy: userId,                  
  17. //商品ID
  18. zz: that.data.GoodId,        
  19. //店家ID
  20. ss: that.data.DjId           
  21. },
  22. header: {
  23. 'Content-Type': 'application/json'
  24. },
  25. success: function (res) {
  26. console.log("删除成功")
  27. }
  28. })
  29. break;
  30. case 1:
  31. this.setData({
  32. shoucang:"收藏成功"
  33. })
  34. //连接数据库添加用户收藏信息
  35. wx.request({
  36. url: 'http://localhost:8080/Ajax-Servlet-Test1/StoreMsg',
  37. data: {
  38. xx: 'insertSC',
  39. //用户ID
  40. yy: userId,                  
  41. //商品ID
  42. zz: that.data.GoodId,        
  43. //店家ID
  44. ss: that.data.DjId           
  45. },
  46. header: {
  47. 'Content-Type': 'application/json'
  48. },
  49. success: function (res) {
  50. console.log("收藏成功")
  51. }
  52. })
  53. break;
  54. }
  55. },


4.1.7 商品购买

本平台商品在购买时采用的是伪支付事件。有效用户在主页商品信息展示栏或者进入商品的详细信息界面时,可以选择购买心仪的商品,购买成功的商品不可以点击取消。

核心代码如下:

  1. //购买事件
  2. goumai_btn: function () {
  3. let that = this
  4. wx.request({
  5. url: 'http://localhost:8080/Ajax-Servlet-Test1/StoreMsg',
  6. data: {
  7. xx: 'insertGM',
  8. //用户ID
  9. yy: userId,                  
  10. //商品ID
  11. zz: that.data.GoodId,        
  12. //店家ID
  13. ss: that.data.DjId           
  14. },
  15. header: {
  16. 'Content-Type': 'application/json'
  17. },
  18. success: function (res) {
  19. console.log("购买成功")
  20. })
  21. }


4.1.8 商品购物车功能

购物车里展示的是用户已收藏的商品信息,用户可以删除相应已收藏的商品信息,也可以点击进入相应收藏商品的详细信息界面浏览商品信息。

核心代码如下:

  1. //连接数据库获取用户收藏信息
  2. wx.request({
  3. url: 'http://localhost:8080/Ajax-Servlet-Test1/StoreMsg',
  4. data: {
  5. xx: 'showSC',
  6. yy: userId,            //用户ID
  7. },
  8. header: {
  9. 'Content-Type': 'application/json'
  10. },
  11. success: function (res) {
  12. console.log("查询收藏信息成功!")
  13. that.setData({
  14. //将查询到的收藏信息保存在listContent数组
  15. listContent: res.data           
  16. })
  17. }
  18. })
  19. //连接数据库删除用户收藏信息
  20. wx.request({
  21. url: 'http://localhost:8080/Ajax-Servlet-Test1/StoreMsg',
  22. data: {
  23. xx: 'delSCGood',
  24. //用户ID
  25. yy: userId,                  
  26. //商品ID
  27. zz: msgGId,                  
  28. //店家ID
  29. ss: msgUId                   
  30. },
  31. header: {
  32. 'Content-Type': 'application/json'
  33. },
  34. success: function (res) {
  35. console.log("删除收藏信息成功!")
  36. that.switchType(type)
  37. })

4.1.9 发布商品管理 

主要是展示用户已发布的商品信息,用户可以删除相应已发布的商品信息记录,也可以点击进入相应发布商品的详细信息界面浏览商品信息。核心代码跟购物车里代码相似,这里就不多加赘述。

4.1.10 购买商品管理

主要是展示用户已购买的商品信息,用户可以删除相应已购买的商品信息记录,也可以点击进入相应购买商品的详细信息界面浏览商品信息。核心代码跟购物车里代码相似这里就不多加赘述

以下是项目图片,仅供参考哈

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Cpp五条/article/detail/405264
推荐阅读
相关标签
  

闽ICP备14008679号