参考地址:
目录结构
|--|-- cloudfunctions 云函数
|--|--|--|-- AdminManage
|--|--|--|-- Entrust
|--|--|--|-- HouseInfo
|--|--|--|-- InitInfo
|--|--|--|-- Manager
|--|--|--|-- PublishEntrust
|--|-- miniprogram 小程序页面
|--|--|--Adminpackage 管理员后台(分包)
|--|--|--|--略
|--|--|--CalculatorPackage 房贷计算器(分包)
|--|--|--|--略
|--|--|--Companypackage 主要页面(分包)
|--|--|--|--略
|--|--|--dist 一些用到的组件,只用到了一小部分
|--|--|--pages 主包(主要是底部NaviBar页面)
|--|--|--|--略
|--|--其他页面略
|--README.md
功能说明
房屋、出租、二手房
贷款估算员
公司简介
公告
行政人员
第1-4点没什么好说的。 下面主要介绍管理员后台的实现
管理员后台集成在小程序中php 后台管理系统,入口隐藏在个人中心页面连续点击头像名称5次,即可进入管理员后台。 进入后台时,会在云功能 AdminManage 中进行管理员信令:
由于管理员数据库的权限设置为所有用户不可读写,所以信令只能在云功能上进行,这是第一道防线; 之前在管理员后台的操作都是在云功能中完成的,虽然是小程序已经反编译了,不可能突破权限,安全性还是经得起考验的。
配置过程
打开Momo开发者工具,导出项目(导出时请选择APP文件夹);
填写APPID;
打开云开发环境(请参考官方文档);
AdminStator
Collections
CompanyInfo
ContactList
Entrust
NewHouse
Recommend
RentingHouse
SecondHouse
TempCllection
UserList
【注意】:将集合的AdminStator权限设置为不可读,所有用户可读,将其余集合的权限改为所有用户可读,仅创建者可读可写。
设置第一条初始管理员信息,在AdminStator中新建一条记录,在该记录中添加如下数组内容,并根据自己的实际情况填写下面()中的内容:
"level":0,
"avatarUrl":"(头像)",
"updatetime":"(2020/06/01 06:01:18)",
"_openid":"(管理员的openid)",
"name":"(管理员名字)",
"phone":"(管理员手机)"
注:如果您想添加其他管理员php 后台管理系统,可以按照以下步骤添加:“个人中心”-->“连续点击头像5次”-->“扫码(二维码)”代码)”;
设置公告的初始数据,在CompanyInfo中新建一条记录,在记录中添加如下数组内容,并根据自己的实际情况填写下面()中的内容:
"_id":"cb37e58c-f634-49d3-93b9-5aebec00a23a(可以不修改)",
"introduce":"(平台/公司介绍,根据实际填写)",
"updatetime":"2020/06/27 14:22:31",
"editer":"(编辑人,后面会自动修改的)",
"phone":"(编辑人手机号码,后面会自动修改的)",
"notice":"(首页滚动公告内容) "
上传cloudfunctions文件夹下的所有云函数,上传时选择上传并部署:云安装依赖;
将app.js第8行代码修改如下:
wx.cloud.init({
env: '(填写你自己云环境的ID)',
traceUser: true,
})
编译并运行。
系统截图