该项目为小区物业报修管理小程序,主要功能模块包括问题报修,积分商城,个人信息维护,社区广告等功能模块。
* 使用uniapp vue3 框架,Composition Api语法进行业务功能开发,将页面功能拆分成业务组件,使用defineAsyncComponent 进行异步加载业务组件,Sunspense组件包裹异步组件·,统一处理异步组件的loading加载效果。从而提升用户使用体验,减少首屏加载时间
* 在业务组件拆分中,子组件使用defineProps接收父组件传递的参数内容,子组件内采用defineEmits 定义回传给父组件值的事件。页面之间使用pinia的defineStore 创建 store 进行状态存储。在使用时通过storeToRefs 进行解构store中存储的公共状态,把解构后的值进行页面展示,或回传给接口。
* 报修问题列表页下拉滚动时使用watchEffect进行监听页面的page变化与选项卡变化,从而进行滚动加载与切换选项卡操作。
* 问题报修上传图片采用uni.uploadFile 对图片进行上传,当上传图片过大时将图片绘制刀Canvas画布上,再通过toDataUrl方法输出压缩后的base64字符串格式进行上传图片内容。