当前位置: 首页 > news >正文

从0到100:房产中介小程序开发笔记(中)

背景调研

为中介带来诸多优势,能借助它打造专属小程序,方便及时更新核实租赁信息,确保信息准确无误,像房屋的大致地址、租金数额、租赁条件、房源优缺点等关键信息都能清晰呈现。还可上传房屋拍摄照片,这样用户能提前了解房屋状况,从而减少实地看房时间,中介也能借此降低人力成本,实现双赢。

功能规划

  • 小区管理:后台录入小区的地图位置,地段,主要特点,户型,交通地铁,外观图片,在售在租房源等。
  • 房源管理:后台录入房源的地图位置,地段,主要特点,水电气费用,户型,面积,楼层,上传室内图片等。
  • 中介管理:后台录入金牌中介经纪人的信息,包括特点,联系方式等。
    用户端:根据多种条件查看房源信息,地图导航位置等
    在这里插入图片描述

数据字典

ProductModel.DB_STRUCTURE = {_pid: 'string|true',PRODUCT_ID: 'string|true',PRODUCT_TITLE: 'string|true|comment=标题',PRODUCT_STATUS: 'int|true|default=1|comment=状态 0=未启用,1=使用中',PRODUCT_CATE_ID: 'string|true|default=0|comment=分类',PRODUCT_CATE_NAME: 'string|false|comment=分类冗余',PRODUCT_ORDER: 'int|true|default=9999',PRODUCT_VOUCH: 'int|true|default=0', PRODUCT_FORMS: 'array|true|default=[]',PRODUCT_OBJ: 'object|true|default={}',PRODUCT_QR: 'string|false',PRODUCT_VIEW_CNT: 'int|true|default=0',PRODUCT_ADD_TIME: 'int|true',PRODUCT_EDIT_TIME: 'int|true',PRODUCT_ADD_IP: 'string|false',PRODUCT_EDIT_IP: 'string|false',
};
CateModel.DB_STRUCTURE = {_pid: 'string|true',CATE_ID: 'string|true',CATE_TITLE: 'string|false|comment=标题',CATE_STATUS: 'int|true|default=1|comment=状态 0/1',CATE_CNT: 'int|true|default=0',CATE_FORMS: 'array|true|default=[]',CATE_OBJ: 'object|true|default={}',CATE_ADDRESS_DETAIL: 'string|false|comment=详细地址',CATE_ADDRESS: 'object|false|comment=详细地址坐标参数', CATE_ORDER: 'int|true|default=9999',CATE_VOUCH: 'int|true|default=0',CATE_QR: 'string|false',CATE_ADD_TIME: 'int|true',CATE_EDIT_TIME: 'int|true',CATE_ADD_IP: 'string|false',CATE_EDIT_IP: 'string|false',
};

代码实现

在这里插入代码片

class CateService extends BaseProjectService {

async getAllCateOptions(status = 1) {let cateList = await CateModel.getAll({ CATE_STATUS: status }, '*', { 'CATE_ORDER': 'asc', 'CATE_ADD_TIME': 'desc' });let arr = [];for (let k in cateList) {let cateId = cateList[k]._id;let cateNode = {level: 1,label: cateList[k].CATE_TITLE,val: cateId,order: cateList[k].CATE_ORDER,obj: cateList[k].CATE_OBJ,parentId: ''}arr.push(cateNode);}return arr;
}async getCateList({query,search, // 搜索条件sortType, // 搜索菜单sortVal, // 搜索菜单orderBy, // 排序 page,size,isTotal = true,oldTotal
}) {orderBy = orderBy || {'CATE_ORDER': 'asc','CATE_ADD_TIME': 'desc'};let fields = '*';let where = {};where.and = {_pid: this.getProjectId() //复杂的查询在此处标注PID};where.and.CATE_STATUS = 1; // 状态    if (query && query.line && query.line.length > 0) {where.and['CATE_OBJ.line'] = ['in', query.line];}if (query && query.tag && query.tag.length > 0) {where.and['CATE_OBJ.tag'] = ['in', query.tag];}if (query && query.type && query.type.length > 0) {where.and['CATE_OBJ.type'] = ['in', query.type];}if (query && query.area && query.area.length > 0) {where.and['CATE_OBJ.area'] = ['in', query.area];}if (query && query.cate && query.cate.length > 0) {where.and['CATE_OBJ.cate'] = ['in', query.cate];}where.and['CATE_OBJ.rentmin'] = ['>=', Number(query.rentmin)];where.and['CATE_OBJ.rentmax'] = ['<=', Number(query.rentmax)];if (util.isDefined(search) && search) {where.or = [{ 'CATE_OBJ.station': ['like', search] },{ CATE_TITLE: ['like', search] },];} else if (sortType && util.isDefined(sortVal)) {// 搜索菜单switch (sortType) {case 'sort': {// 排序orderBy = this.fmtOrderBySort(sortVal, 'CATE_ADD_TIME');break;}case 'trade': {where.and['CATE_OBJ.trade'] = sortVal;break;}case 'size': {where.and['CATE_OBJ.size'] = sortVal;break;}case 'type': {where.and['CATE_OBJ.type'] = sortVal;break;}case 'star': {where.and['CATE_OBJ.star'] = sortVal;break;}}}return await CateModel.getList(where, fields, orderBy, page, size, isTotal, oldTotal);
}async viewCate(id) {let fields = '*';let where = {_id: id,CATE_STATUS: 1}let cate = await CateModel.getOne(where, fields);if (!cate) return null;let list = await ProductModel.getAll({ PRODUCT_CATE_ID: id, PRODUCT_STATUS: 1 });cate.list = list;return cate;
}

}

UI设计

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

管理系统

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

git代码下载

点击下载


文章转载自:
http://anarchy.ciuzn.cn
http://atticism.ciuzn.cn
http://buster.ciuzn.cn
http://chemicalize.ciuzn.cn
http://agamy.ciuzn.cn
http://argol.ciuzn.cn
http://abdicant.ciuzn.cn
http://biparty.ciuzn.cn
http://aneurism.ciuzn.cn
http://affuse.ciuzn.cn
http://asymptote.ciuzn.cn
http://aldehyde.ciuzn.cn
http://bedaub.ciuzn.cn
http://alderfly.ciuzn.cn
http://campy.ciuzn.cn
http://batten.ciuzn.cn
http://acknowledged.ciuzn.cn
http://bikini.ciuzn.cn
http://chalkrail.ciuzn.cn
http://bedecked.ciuzn.cn
http://afforce.ciuzn.cn
http://acyclic.ciuzn.cn
http://adenocarcinoma.ciuzn.cn
http://brage.ciuzn.cn
http://adumbral.ciuzn.cn
http://bartend.ciuzn.cn
http://bicorne.ciuzn.cn
http://athonite.ciuzn.cn
http://charterage.ciuzn.cn
http://apocalypse.ciuzn.cn
http://www.dtcms.com/a/261203.html

相关文章:

  • day44/60
  • uniapp消息推送
  • Python搭建HTTP服务,如何用内网穿透快速远程访问?
  • 【策划所需编程知识】
  • 83、高级特性-自定义starter细节
  • IBW 2025: CertiK首席商务官出席,探讨AI与Web3融合带来的安全挑战
  • win7实现永恒之蓝ms17_010漏洞之445端口
  • Learning PostgresSQL读书笔记: 第9章 Partitioning
  • .小故事.
  • 腾讯云市场目前饱和度
  • 通达信 稳定盈利多维度趋势分析系统
  • Outlook总是提示登录微软,怎么办?
  • Google机器学习实践指南(逻辑回归损失函数)
  • 《P1471 方差》
  • C++11 <chrono> 库特性:从入门到精通
  • 深入解析RNN模型:应用、结构与构建实战
  • swift 对象转Json
  • ArcGIS Pro利用擦除工具,矢量要素消除另一矢量部分区域
  • QT 国际化 翻译 总结
  • Buildroot 2025.05 中文手册【AI高质量翻译】
  • 哪家香港站群服务器比较好用?
  • 生成树基础实验
  • 机器学习4——参数估计之贝叶斯估计
  • 工作台-02.代码开发
  • 学习日记-day38-spring-6.27
  • Veo 3 视频生成大模型完整操作教程(2025)
  • 元宇宙与人工智能的融合:从虚拟世界到智能生态的IT新革命
  • 社会工程--如何使用对方的语言
  • 汇编8086:解决创建、写入文档在临时文档的问题 | 汇编实现创建文件永久保存
  • 【innovus基础】- 最基本的timing工具自动修复方法