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

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

正文如下:

软件功能及核心代码

4.1.1 用户登录注册 

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

核心代码如下:

1)获取用户微信昵称

// 登录

let that = this

wx.login({

success: res => {

// 发送 res.code 到后台换取 openId, sessionKey, unionId

},

})

// 获取用户信息

wx.getSetting({

success: res => {

if (res.authSetting['scope.userInfo']) {

// 已经授权,可以直接调用 getUserInfo 获取头像昵称,不会弹框

wx.getUserInfo({

success: res => {

// 可以将 res 发送给后台解码出 unionId

that.globalData.userInfo = res.userInfo //获取用户基本信息并保存为全局变量

that.globalData.userName = res.userInfo.nickName //获取用户微信昵称并保存为全局变量

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

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

4.1.2 商品分类导航 

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

核心代码如下:

//商品类别标签切换事件

switchTab: function (e) {

let id = e.currentTarget.dataset.id      //获取前端商品类别的ID值

let type                                   //定义商品类别变量

let num = 0                               //定义保存商品类别的数组初始下标

claArray = []                             //定义保存商品类别数组的临时变量

var that = this

this.setData({

curNavId: id,                             //给前端商品类别赋值

})

//通过id分类List页面内容

switch(id){

case 1:

type = "推荐"

break;

case 2:

type = "学习"

break;

case 3:

type = "运动"

break;

case 4:

type = "生活"

break;

case 5:

type = "智能"

break;

}

if (GoodContent.length > 0){

for (let i = 0; i < GoodContent.length; i++) {

let content = GoodContent[i]

if (content.GoodType == type || type == "推荐") { //content.GoodType很关键

claArray[num++] = content

}

}

this.setData({

listContent: claArray

})

4.1.3 热门商品展示 

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

核心代码如下:

//连接数据库获取商品信息

wx.request({

url: 'http://localhost:8080/Ajax-Servlet-Test1/StoreMsg',  //服务器地址

data: {

xx: 'selectAll',

},

header: {

'Content-Type': 'application/json'

},

success: function (res) {

that.globalData.GoodMessage = res.data   //将获取的数据保存在GoodMessage 全局变量

}

})

 

var urlList = new Array()          //定义保存热门商品图片Url地址的数组

for (let i = 0; i < 5; i++) {

urlList[i] = app.globalData.GoodMessage[i].GoodImgUrl

}

4.1.4 模糊搜索商品

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

核心代码如下:

//获取服务器数据

getdata:function(){

let that = this

wx.request({

url: 'http://localhost:8080/Ajax-Servlet-Test1/inputMsg',

data: {

xx: 'select',

yy: that.data.inputValue            //用户输入的关键字

},

header: {

'Content-Type': 'application/json'

},

success: function (res) {

that.setData({

list:res.data                      //将服务器返回的匹配信息保存

})

}

})

},

//服务器端与数据库进行交互

if(str.equals(goodName)){

String sql = "SELECT * From good WHERE GoodTitle LIKE '%"+goodName+"'%";

PreparedStatement prep = null;

try {

prep = (PreparedStatement) connection.prepareStatement(sql);

ResultSet result = prep.executeQuery();

while(result.next()){

Good good = new Good();

String GoodTitle = result.getString("GoodTitle");

good.setUserName(GoodTitle);

goodList.add(good);

}

} catch (SQLException e) {

e.printStackTrace();

}

}

Gson gson = new Gson();

String goods = gson.toJson(goodList);

write.write(goods);

4.1.5 发布商品 

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

核心代码如下:

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

//上传图片

bindSendImage:function(res){

let that = this

wx.chooseImage({

count:1,                                  //定义本地选择图片时只能选择一张

sizeType:['original', 'compressed'],      //定义选择的图片可以被压缩

sourceType:['album', 'camera'],           //图片既可以从相册中选择也可以拍照获取

success: function(res) {

that.setData({

imgUrl:res.tempFilePaths[0]               //获取本地图片url地址

})

4.1.6 商品收藏 

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

核心代码如下:

//收藏事件

switchSC:function(id){

let that = this

let userId = app.globalData.userId      //获取登录用户ID

switch (id){

case 0:

this.setData({

shoucang:"收藏"

})

//连接数据库删除用户收藏信息

wx.request({

url: 'http://localhost:8080/Ajax-Servlet-Test1/StoreMsg',

data: {

xx: 'deleteSC',

yy: userId,                  //用户ID

zz: that.data.GoodId,        //商品ID

ss: that.data.DjId           //店家ID

},

header: {

'Content-Type': 'application/json'

},

success: function (res) {

console.log("删除成功")

}

})

break;

 

case 1:

this.setData({

shoucang:"收藏成功"

})

//连接数据库添加用户收藏信息

wx.request({

url: 'http://localhost:8080/Ajax-Servlet-Test1/StoreMsg',

data: {

xx: 'insertSC',

yy: userId,                  //用户ID

zz: that.data.GoodId,        //商品ID

ss: that.data.DjId           //店家ID

},

header: {

'Content-Type': 'application/json'

},

success: function (res) {

console.log("收藏成功")

}

})

break;

}

},

4.1.7 商品购买

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

核心代码如下:

//购买事件

goumai_btn: function () {

let that = this

wx.request({

url: 'http://localhost:8080/Ajax-Servlet-Test1/StoreMsg',

data: {

xx: 'insertGM',

yy: userId,                  //用户ID

zz: that.data.GoodId,        //商品ID

ss: that.data.DjId           //店家ID

},

header: {

'Content-Type': 'application/json'

},

success: function (res) {

console.log("购买成功")

})

}

4.1.8 商品购物车功能

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

核心代码如下:

//连接数据库获取用户收藏信息

wx.request({

url: 'http://localhost:8080/Ajax-Servlet-Test1/StoreMsg',

data: {

xx: 'showSC',

yy: userId,            //用户ID

},

header: {

'Content-Type': 'application/json'

},

success: function (res) {

console.log("查询收藏信息成功!")

that.setData({

listContent: res.data           //将查询到的收藏信息保存在listContent数组

})

}

})

//连接数据库删除用户收藏信息

wx.request({

url: 'http://localhost:8080/Ajax-Servlet-Test1/StoreMsg',

data: {

xx: 'delSCGood',

yy: userId,                  //用户ID

zz: msgGId,                  //商品ID

ss: msgUId                   //店家ID

},

header: {

'Content-Type': 'application/json'

},

success: function (res) {

console.log("删除收藏信息成功!")

that.switchType(type)

})

4.1.9 发布商品管理 

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

4.1.10 购买商品管理

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

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


猜你喜欢

转载自blog.csdn.net/weixin_36431280/article/details/80728533