二手商城的云开发代码
云开发文件
1.addXiaoliang
index.js和package.Json
//添加销量
const cloud = require('wx-server-sdk')
cloud.init({
env: cloud.DYNAMIC_CURRENT_ENV
})
// 云函数入口函数
exports.main = async (event, context) => {
let arr = []
const db = cloud.database()
const _ = db.command
event.goods.forEach(item => {
let pro = db.collection('goods').doc(item._id)
.update({
data: {
num: _.inc(item.quantity)
}
})
arr.push(pro)
})
return await Promise.all(arr).then(res => {
return res
}).catch(res => {
return res
})
}
{
"name": "addXiaoLiang",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC",
"dependencies": {
"wx-server-sdk": "latest"
}
}
2.changeGood
js和json文件
// 云函数入口文件
const cloud = require('wx-server-sdk')
cloud.init({
env: cloud.DYNAMIC_CURRENT_ENV
})
// 云函数入口函数
exports.main = async (event, context) => {
if (event.action == 'remove') { // 删除商品
return await cloud.database().collection('goods').doc(event.id).remove()
} else if (event.action == 'songda') { //商品送达,待用户评价
return await cloud.database().collection('order').doc(event.id).update({
data: {
//-1订单取消,0新下单发货,1已收货待评价,2订单已完成
status: 1
}
})
}
}
{
"name": "deleteGood",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC",
"dependencies": {
"wx-server-sdk": "latest"
}
}
3.getGoodList
js和json(后面由于json代码大同小异就不在添加,config.json无需编写)
// 云函数入口文件
const cloud = require('wx-server-sdk')
cloud.init({
env: cloud.DYNAMIC_CURRENT_ENV
})
const db = cloud.database()
const _ = db.command
const dbGood = db.collection('goods')
// 云函数入口函数
exports.main = async (event, context) => {
const wxContext = cloud.getWXContext()
if (event.action == 'search' && event.searchKey) { //搜索商品
return await dbGood.where({
name: db.RegExp({
regexp: event.searchKey,
options: 'i'
}),
status: '上架',
num: _.gt(0) //剩余数量需要大于0
})
.orderBy('_createTime', 'desc').get()
} else if (event.action == 'getNew') { //获取最新的商品
return await dbGood.where({
status: '上架',
num: _.gt(0) //剩余数量需要大于0
})
.orderBy('_createTime', 'desc')
.get()
} else if (event.action == 'getHot') { //获取首页推荐位热门商品
return await dbGood.where({
status: '上架',
tuijian: true,
num: _.gt(0) //剩余数量需要大于0
})
.orderBy('_createTime', 'desc')
.get()
} else if (event.action == 'seller') { //获取我发布的商品
return await dbGood.where({
_openid: wxContext.OPENID
})
.get()
} else { //获取100条菜品
return await dbGood.where({
status: '上架',
num: _.gt(0) //剩余数量需要大于0
}).get()
}
}
4.getOpenID
// 云函数入口文件
const cloud = require('wx-server-sdk')
cloud.init({
env: cloud.DYNAMIC_CURRENT_ENV
})
// 云函数入口函数
exports.main = async (event, context) => {
const wxContext = cloud.getWXContext()
return {
event,
openid: wxContext.OPENID,
appid: wxContext.APPID,
unionid: wxContext.UNIONID,
}
}
5.getOrderList
// 云函数入口文件
const cloud = require('wx-server-sdk')
cloud.init({
env: cloud.DYNAMIC_CURRENT_ENV
})
const db = cloud.database()
const dbOrder = db.collection("order")
// 云函数入口函数
exports.main = async (event, context) => {
const wxContext = cloud.getWXContext()
if (event.action == 'user') {
return await dbOrder.orderBy('_createTime', 'desc')
.where({
_openid: wxContext.OPENID,
status: event.orderStatus
}).get()
}
if (event.action == 'seller') { //商品发布者查看订单
return await dbOrder
.where({
status: event.status,
good: {
sellerId: wxContext.OPENID
}
}).get()
} else {
return await dbOrder.orderBy('_createTime', 'desc')
.where({
status: event.orderStatus
}).get()
}
}
6.getPinlun
// 云函数入口文件
const cloud = require('wx-server-sdk')
cloud.init({
env: cloud.DYNAMIC_CURRENT_ENV
})
// 云函数入口函数
exports.main = async (event, context) => {
return await cloud.database().collection('pinglun')
.where({
goodId: event.goodId
}).get()
}