写点什么

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

作者:CC同学
  • 2025-06-27
    广东
  • 本文字数:2362 字

    阅读完需:约 8 分钟

从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 代码下载

点击下载

用户头像

CC同学

关注

CC同学的小程序开发笔记 2021-06-13 加入

大鹅厂的小小程序媛,vx: cclinux0730

评论

发布
暂无评论
从0到100:房产中介小程序开发笔记(中)_CC同学_InfoQ写作社区