SophonNexus: Beta Sprint Essay 2
| Which course does this assignment belong to | Software Engineering |
|---|---|
| Where are the requirements for this assignment? | https://bbs.csdn.net/topics/617676810 |
| Team Name | SophonNexus |
| Project Name | Crowdsourced Parking Management System |
| The objective of this assignment | Beta Sprint Essay 2 |
This Beta Sprint Essay is about the uni-app development
Catalog
- SCRUM section
- Ⅰ. Team Members and Task Progress
- check-in
- Ⅱ. Interface and Code
- login page
- Task Publishing Interface
- Personal Center
- Ⅲ. Code Inspection and Test Results
- Ⅳ. Meeting Photo
- PM report
- Ⅴ. Project Progress Summary
- Ⅵ. burn-up chart
- Ⅶ. Task Amount Change
- Ⅷ. Demo Video
SCRUM section
Ⅰ. Team Members and Task Progress
| Team Member | Student ID | Completed Tasks | Time spent | Issues or Challenges | Plan |
|---|---|---|---|---|---|
| 陈尧 Chen Yao | 832102118 | Coding, UI Components | 5h | The designed components appear incongruent on screens of different sizes. | Designing components through responsive design. |
| 陈震 Chen Zhen | 832102119 | Coding login pages | 8h | None | Enhance the functionality of the login page. |
| 章汉林 Zhang Hanlin | 832102127 | Coding task pages | 9h | Slow loading of the map when publishing a task. | Improve the speed of loading the map |
| 谢彦喆 Xie Yanzhe | 832102129 | Coding user pages | 8.5h | None | Enhance the functionality of the user page. |
| 蔡思源 Cai Siyuan | 832102130 | Integrated backend’s API Calls | 6h | Not implementing error handling for the backend API | Manage the status of API calls, including loading states, success, and failure handling. |
check-in

Ⅱ. Interface and Code
login page

<template>
<view class="login-container">
<!-- Logo -->
<image class="logo" src="/static/login/logo.jpg" mode="aspectFit"></image>
<!-- 协议勾选框 -->
<!-- <view class="agreement-container">
<checkbox class="agreement-checkbox" v-model="agreeProtocol">勾选以同意XXX协议</checkbox>
</view> -->
<!-- 登录按钮 -->
<button class="login-button" @click="loginByWechat()">微信授权一键登录</button>
</view>
</template>
Task Publishing Interface

<template>
<view>
<!-- 使用z-paging-swiper为根节点可以免计算高度 -->
<z-paging-swiper>
<!-- 此处代码复制了uView中tabsSwiper全屏选项卡的代码 -->
<!-- 需要固定在顶部不滚动的view放在slot="top"的view中 -->
<view slot="top">
<view class="topBox">
<u-search shape="round" margin="0 20rpx" placeholder="关键字搜索" :showAction="false" bgColor="#fff"
@click="searchPage" disabled></u-search>
<view class="select" @tap="showValue = true;
iconArrow = 'arrow-up';
hideKeyboard();">
<!-- <uni-data-select v-model="selectValue" :localdata="range" @change="change" :clear="false"></uni-data-select> -->
<u--input v-model="selectedTxt" readonly customStyle="border:1px solid #e7e6e4"
:suffixIcon="iconArrow"></u--input>
<!-- //弹出层 -->
<u-action-sheet :show="showValue" :actions="list" :closeOnClickOverlay="true" round="8"
cancelText="取消" @select="typeSelect" @close="closeAction"></u-action-sheet>
</view>
</view>
<u-tabs-swiper class="tasktypes" ref="taskTabs" :list="tabList" :current="current" @change="tabsChange" :is-scroll="false"
swiperWidth="750"></u-tabs-swiper>
</view>
<!-- swiper必须设置height:100%,因为swiper有默认的高度,只有设置高度100%才可以铺满页面 -->
<swiper class="swiper" :current="swiperCurrent" @transition="transition" @animationfinish="animationfinish">
<swiper-item class="swiper-item" v-for="(item, index) in tabList" :key="index">
<swiper-list-item :tabIndex="index" :currentIndex="swiperCurrent"
:selectValue="selectValue"></swiper-list-item>
</swiper-item>
</swiper>
</z-paging-swiper>
<!-- 使用新手引导提示组件 见https://ext.dcloud.net.cn/plugin?id=6653 -->
<xky-guideStep :step="step"></xky-guideStep>
</view>
</template>
Personal Center

>
</view>
</view>
<!-- 我的钱包 -->
<view class="cu-bar wallet-bar bg-white solid-bottom margin-top-xs">
<view class="action">
<text class="cuIcon-title text-blue"></text>我的钱包
</view>
</view>
<view class="padding bg-white">
<view class="flex">
<view class="flex-sub padding-xs text-center ">
<view class="text-lg text-bold margin-bottom-xs">{{userInfo.money_left.toFixed(2)}}</view>
<text class="text-sm text-gray">余额</text>
</view>
<view class="flex-sub padding-xs text-center text-sm">
<view class="text-lg text-bold margin-bottom-xs">{{userInfo.deposit.toFixed(2)}}</view>
<text class="text-sm text-gray">保证金</text>
</view>
</view>
</view>
</view>
<view class="task-list">
<view class="list" @click="navigateToPublishTaskList()">
<image src="@/static/user/icon-no-sub.png" mode="aspectFit"></image>
<text>已发布</text>
<view class="round bg-red cu-tag user-fuchuan13" v-if="taskStatistics.uncompleted>0">
{{taskStatistics.uncompleted}}
</view>
</view>
<view class="list" @click="navigateToSubmitList(1)">
<image src="@/static/user/icon-examine.png" mode="aspectFit"></image>
<text>审核中</text>
<view class="round bg-red cu-tag user-fuchuan13" v-if="taskStatistics.wait_check>0">
{{taskStatistics.wait_check}}
</view>
</view>
<view class="list" @click="navigateToSubmitList(3)">
<image src="@/static/user/icon-fail.png" mode="aspectFit"></image>
<text>不合格</text>
<view class="round bg-red cu-tag user-fuchuan13" v-if="taskStatistics.process>0">
{{taskStatistics.process}}
</view>
</view>
<view class="list" @click="navigateToSubmitList(2)">
<image src="@/static/user/icon-order-taking.png" mode="aspectFit"></image>
<text>已通过</text>
</view>
</view>
<!-- list -->
<view class="cu-list menu solid-top margin-top-xs">
<view class="cu-item">
<view class="content" @click="navigateToFavoritePage">
<text class="cuIcon-circlefill text-green"></text>
<text class="text-grey">我的收藏</text>
</view>
<view class="action">
<text class="text-grey text-sm cuIcon-right"></text>
</view>
</view>
<view class="cu-item" @click="navigateToContrbutionPage">
<view class="content">
<text class="cuIcon-circlefill text-yellow"></text>
<text class="text-grey">我的贡献</text>
</view>
<view class="action">
<text class="text-grey text-sm cuIcon-right"></text>
</view>
</view>
<view class="cu-item" @click="navigateToFeedbackPage">
<view class="content">
<text class="cuIcon-circlefill text-orange"></text>
<text class="text-grey">反馈建议</text>
</view>
<view class="action">
<text class="text-grey text-sm cuIcon-right"></text>
</view>
</view>
<view class="cu-item" @click="loginOut">
<view class="content">
<text class="cuIcon-circlefill text-blue"></text>
<text class="text-grey">退出</text>
</view>
<view class="action">
<text class="text-grey text-sm cuIcon-right"></text>
</view>
</view>
</view>
<u-action-sheet :actions="loginList" :show="loginout" closeOnClickOverlay closeOnClickAction cancelText="取消"
round="8" @close="loginout = false" @select="chooseAction"></u-action-sheet>
</view>
</template>
Ⅲ. Code Inspection and Test Results
Unit Testing: We employed unit testing methods in the WeChat Mini Program, tested the functions submitTask and uploadSubmitImages.
Integration Testing: We conducted tests on the task submission module, login module, and page navigation.
UI Testing: We ran the WeChat Mini Program on devices and screens of different sizes, identified some components that were not displaying correctly, and are actively working to fix this issue.
Mock Data Testing: We used mock data for testing to validate the behavior of the WeChat Mini Program under different data scenarios, and found no issues during testing.
Ⅳ. Meeting Photo

PM report
Ⅴ. Project Progress Summary
(1) Expected tasks: Completed the coding for the login page, task page, user homepage, and other components, as well as the integration with backend API. The expected duration for this work is 10 days.
(2) Completed tasks: Completed the coding for the majority of pages and integrated some of the backend API.
(3) Remaining work: Complete the full integration of interfaces and refine the project code. The expected time of the remaining work is 4 days.
(4) Issues encountered: The map loads too slowly when publishing a task, and the API interfaces integrated with the backend lack error handling in the code.
Ⅵ. burn-up chart

Ⅶ. Task Amount Change
New Tasks:
Real-device testing and code debugging.
Adaptation issues for devices of different sizes.
Ⅷ. Demo Video
相关推荐
chrome-headless-shell-win32-159.0.8132.0(Canary).zip
chrome-headless-shell-win32-159.0.8132.0(Canary).zip
惠普150 联想1821 1831 1831W定影清零,转印带清零
惠普150 联想1821 1831 1831W定影清零,转印带清零,报错不打印,通过清零软件可以清除。内附使用说明。
【电液伺服执行器与PI控制器】带有PI控制器的电液伺服执行器的模拟研究(Simulink仿真实现)
内容概要:本文围绕带有PI控制器的电液伺服执行器开展模拟研究,利用Simulink工具构建系统仿真模型,深入分析PI控制器在电液伺服系统中的控制性能与动态响应特性。研究内容涵盖系统建模、PI控制参数整定、仿真结果分析等关键环节,重点探讨PI控制器对系统稳定性、响应速度及抗干扰能力的优化作用,并通过仿真验证控制策略的有效性与实用性; 适合人群:具备自动控制原理、液压传动基础知识及Simulink仿真能力的自动化、机械电子、控制工程等相关专业的高校学生、研究生及工程技术人员; 使用场景及目标:①用于自动控制类课程的教学实验或课程设计,帮助学生深入理解电液伺服系统的工作原理与典型控制方法;②应用于工业高精度执行机构的控制器设计,为实际工程中的系统优化提供理论支撑与仿真验证手段; 阅读建议:文中提供的Simulink模型与仿真流程具备良好的可复现性,建议读者结合具体工况调整PI参数,进一步探究PID或其他先进控制算法的改进效果,以深化对控制系统设计的理解与应用能力。
FYZN PcbDesigner.App.1.0.18.12-win10.rar
打开与保存 常用格式直接读写:打开、编辑、保存 .PcbDoc(含设计规则、层叠等信息)也能打开看结构 原理图文档:打开 / 新建 .SchDoc,和 PCB 文档一起在左侧项目树里管理,双击节点即可重开 另存为通用 ASCII:原理图与 PCB 都能导出为 ASCII 格式,方便文本比对、脚本处理,或交给别的流程 底图参考:需要对着图描的时候,可以给每个图层各放一张参考底图,与文件分开存 JSON,迁移工程时能一起带走 最近文件:最近打开的文件列表里可以直接右键「打开文件位置」 win10版本
软件测试浏览器自动化测试3
内容概要:本文介绍了浏览器自动化测试的三种主流工具——Selenium、Playwright 和 Puppeteer,并重点展示了 Puppeteer 的一个最小可运行代码示例。文章指出,从选型角度看,2026年的技术共识是新项目应优先选择 Playwright,已有 Selenium 框架的项目无需主动替换,而 Puppeteer 更适用于仅针对 Chrome 浏览器且运行环境为 Node.js 的场景。文中提供的 Puppeteer 示例涵盖了启动浏览器、打开页面、设置视口、键盘操作、元素定位与点击等核心操作流程,体现了其作为“浏览器控制库”的定位。同时强调,Puppeteer 本身不包含测试运行器和断言功能,需结合 Jest 等测试框架才能完整实现自动化测试能力,这是它与 Playwright 和 Selenium 的本质区别。; 适合人群:具备一定前端或自动化测试基础,从事 Web 自动化测试相关工作的开发与测试人员,尤其是面临工具选型的技术决策者;; 使用场景及目标:①帮助开发者快速理解 Puppeteer 的基本使用方式及其在实际项目中的应用流程;②为团队在自动化测试工具选型时提供明确的技术方向建议,尤其是在新项目中评估 Playwright 与 Puppeteer 的适用边界;; 阅读建议:在学习本文时,建议结合实际编码环境运行示例代码,并进一步探索 Puppeteer 与 Jest 的集成方案,以构建完整的测试闭环;同时关注 Playwright 相对于 Puppeteer 的优势,如多浏览器支持和内置测试模型,以便做出更合理的工程决策。


