1. 用户发布任务(前端示例)
// pages/publishTask/publishTask.js
Page({
submitTask(e) {
const taskData = e.detail.value;
wx.request({
url: 'https://your-api-domain.com/tasks', // 后端接口地址
method: 'POST',
data: taskData,
success(res) {
if (res.statusCode === 200) {
wx.showToast({ title: '任务发布成功', icon: 'success' });
wx.navigateTo({ url: '/pages/taskList/taskList' });
} else {
wx.showToast({ title: '发布失败,请重试', icon: 'none' });
}
},
fail() {
wx.showToast({ title: '网络错误', icon: 'none' });
}
});
}
});
2. 跑腿者接单(后端示例,Node.js + Express)
// server.js
const express = require('express');
const app = express();
const bodyParser = require('body-parser');
app.use(bodyParser.json());
let tasks = [
{ id: 1, pickupAddress: 'A栋宿舍', deliveryAddress: 'B栋宿舍', status: 'pending' },
// 其他任务...
];
// 获取待接单任务
app.get('/tasks', (req, res) => {
const pendingTasks = tasks.filter(task => task.status === 'pending');
res.json(pendingTasks);
});
// 跑腿者接单
app.post('/tasks/:id/accept', (req, res) => {
const taskId = parseInt(req.params.id, 10);
const task = tasks.find(t => t.id === taskId);
if (task && task.status === 'pending') {
task.status = 'in_progress';
res.json({ message: '接单成功', task });
} else {
res.status(400).json({ message: '任务不存在或已被接单' });
}
});
app.listen(3000, () => {
console.log('Server is running on port 3000');
});
3. 实时位置推送(WebSocket 示例)
// server.js (WebSocket 部分)
const WebSocket = require('ws');
const wss = new WebSocket.Server({ port: 8080 });
wss.on('connection', ws => {
console.log('New client connected');
ws.on('message', message => {
console.log(`Received: ${message}`);
// 广播位置信息给所有客户端
wss.clients.forEach(client => {
if (client.readyState === WebSocket.OPEN) {
client.send(message);
}
});
});
ws.on('close', () => {
console.log('Client disconnected');
});
});
// 小程序端连接 WebSocket
Page({
onLoad() {
this.ws = wx.connectSocket({
url: 'ws://your-server-domain.com:8080',
});
this.ws.onMessage(message => {
console.log(`Received from server: ${message.data}`);
// 更新跑腿者位置
});
this.ws.onClose(() => {
console.log('WebSocket disconnected');
});
},
onUnload() {
this.ws.close();
}
});
校园跑腿小程序的核心在于便捷性和实时性。通过合理设计功能模块、选择合适的技术栈,并注重用户体验和安全性,可以打造一个高效、稳定的校园服务平台。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有