1. 软工课设 主题:拼车 项目地址:https://github.com/ZhengQiushi/carpool ### **一、本地配置说明** 项目地址里的已经配好了,设的是我自己的微信小程序....不知道其他人可以不可以使用。 如果不行,可以自行创建微信小程序公众号并进行如下调整 1. 在`project.config.json`中添加`"appid": "wx3a032e4b074057bd",`(修改appid)  1. 替换腾讯地图API的秘钥(需要为自己的appid申请腾讯地图API) ``` IRMBZ-WSV63-4RH35-3RAE2-Y3YB5-OKBEI ```   1. 去掉所有云数据库的初始化配置  1. 上传所有云函数 记得每次修改后云函数,都要重新部署  ### **二 、功能需求** 1. #### 第一个界面:选择身份 现有界面,点击user_type,选择后跳转到不同(司机和乘客)的登录页面 **对应pages**: "pages/publish/publish"  1. #### 第二个界面:注册或登录 **app.js**中全局变量作为用户名,访问云数据库...  登录页面 **对应pages**: "pages/register/login/login",  1. 点击登录 登录成功会跳转到第三个界面! **TODO:** - **用户名不存在的提示** - **密码错误的提示** - ... - **已完成:****车主的登录**  1. 点击注册 进入注册页面 **对应pages**: "pages/register/register_customer/register_customer", "pages/register/register_driver/register_driver"  点击注册,插入数据库(根据不同的user_type 决定待插入的数据表单) 分别插入dirverInfo与passengerInfo **TODO:** - **添加用户名的重复检查** - **表单项目不为空的检查** - ... 1. #### 第三个界面:即原本的搜索界面 身份不同,进入的界面也会有所区别 **对应pages**: "pages/index/index", 1. ##### 对于乘客  1. **查看周边所有订单**  自己的订单会有所标志!  1. **查看我参加的订单**  1. **发起新的拼车** 点击拼车按钮,发起新的拼车  **对应pages**: "pages/publishMsg/publishMsg",  **TODO:** - 已完成:修复地点选择和人数选择的bug - **可以添加路线的地图?** - **自动根据距离计算价格** - ... 1. **点击查看订单** 查看附近行程 **对应pages**: "pages/courseDetail/courseDetail", 1. 查看路线  **TODO:** - **小地图显示异常修复** - **加入行程 bindJoinCourse: function(options) 云函数留空** - **取消订单 bindCancelCourse: function(options) 云函数留空** - **已完成:显示当前的拼车人数(超过拼车人数不能加入)** 1. 当未加入时,可以选择加入订单 2. 当加入后,可以选择取消订单 1. ##### 对于车主 1. 查看附近行程   1. 选择接受行程 只显示当前尚未被接单的拼车请求(acceptBy为空),点击查看订单进入详情 **对应pages**: "pages/courseDetail/courseDetail", 1. 选择接收订单  接收订单后,相应passengerMsg的acceptBy被修改为当前司机id号,所以不再显示。   1. 选择取消订单 对于已经接收的订单可以选择取消  **TODO:** - **尚未实现** **bindCancelCourse: function(options)** - ... 1. 查看一天的预约时间线  1. 查看当日已接收的订单  **TODO:** - **按照时间进行从早到晚进行排序优化** 1. #### 第四个界面:我的, **对应pages**: "pages/personal/personal", **TODO:** - **查看历史记录等等....** ### **三、页面情况** ##### 3.1 数据库情况 - courseTotal:总共路线数  - dirverInfo:车主个人信息  - driverMsg:某位车主接受的订单 course_id 为外键,reference from passengerMsg(_id) user_id 外键, reference from dirverInfo(user_id)  - passengerInfo: 乘客个人信息  - passengerMsg 注意nickName、personNum进行了修改,变成了用户名的数组,便于显示拼车列表... acceptBy 外键, reference from dirverInfo(user_id)  - userCollection 用户收藏 ##### 3.2 页面解释 - Components:index页面单个tab  ### 四、分工 UI: 1位(编写界面文档与使用说明) 开发:3位 (2开发 + 1重构+编写详细设计) 测试:2位(设计测试样例 编写测试文档)