項目最新更新介紹請看這裏:https://www.cnblogs.com/LiangSenCheng/p/13040899.html
發現有問題?歡迎加我微信一起探討,或者直接提Issues
無法下載或者下載太慢?可以直接找我要安裝包;聯繫方式在這裏的首頁:https://www.cnblogs.com/LiangSenCheng/p/11083714.html
- [2020-06-10] 更新說明:
有反饋說,按照配置無法正常使用,刪除了原來我的雲環境ID,更改成了自動識別雲環境ID。使用時只需修改app.js
裏初始化雲環境ID的代碼即可,後面的配置過程有說明。
項目簡介
本項目是2019年12月份左右的產物,花了大概一個月時間做完之後一直遺忘在了硬盤裏,這幾天纔想起來,故順便整理一下開源了。
項目雖然沒有做的很完整,但是整體的數據架構還算是可以的,可以很容易進行功能完善和添加新功能。裏面還有很多可以完善的地方,比如
公司資質
頁面可以做的更加精細一些,房子詳情頁
可以添加地圖之類的內容等。
原本是別人找我幫一家中介小店些的一個租房小程序,對方沒給設計圖、也沒有提具體需求,只是讓我憑感覺來做。由於沒有寫過這方面的小程序,也沒有很好的規劃頁面佈局,所以UI方面稍微差了點。在項目快完成的時候,介紹的那個人跑路了,所以就沒有後續了,想着與其直接刪除還不如開源分享給大家一起討論學習。
這個項目的經歷也讓我明白了一些事情,就是如果別人委託自己幫做項目的時候,不管項目的規模如何,在接受委託前一定要考慮清楚。特別是沒有付定金的這種委託,一定要謹慎,不要期望那種說你先做着後面再談錢,哪怕是跟你認識的人也是一樣要謹慎。還有就是不提明確需求的也不要輕易接受,這種人很容易中途變卦的。如果不想清楚的話,機會浪費時間又浪費精力。
本程序已經經過測試,拿來按照說明簡單配置就可以直接使用,界面可以自己進行修改。本人熱愛小程序,目前上線並維護的有兩個,後面看情況再找時間進行開源。
由於本人的能力有限,還有很多地方沒法完善,望指正!
目錄結構
|--|-- cloudfunctions 雲函數
|--|--|--|-- AdminManage
|--|--|--|-- Entrust
|--|--|--|-- HouseInfo
|--|--|--|-- InitInfo
|--|--|--|-- Manager
|--|--|--|-- PublishEntrust
|--|-- miniprogram 小程序頁面
|--|--|--Adminpackage 管理員後臺(分包)
|--|--|--|--略
|--|--|--CalculatorPackage 房貸計算器(分包)
|--|--|--|--略
|--|--|--Companypackage 主要頁面(分包)
|--|--|--|--略
|--|--|--dist 一些用到的組件,只用到了一小部分
|--|--|--pages 主包(主要是底部NaviBar頁面)
|--|--|--|--略
|--|--其他頁面略
|--README.md
功能說明
- 新房、租房、二手房
- 房貸計算器
- 公司介紹
- 公告
- 管理員
1-4 點都沒啥好說的,下面主要介紹一下
管理員後臺的實現
管理員後臺集成在了小程序端
,入口隱藏在 個人中心
頁面 連續點擊5次
頭像名字那裏,就可以進入到管理員後臺,進入後臺的時候會在 雲函數AdminManage
進行管理員鑑權:
- 如果不是管理員,會跳轉到掃碼加入管理員;
- 如果是管理員,那就跳轉到管理員後臺;
由於管理員數據庫設置了權限爲
所有用戶不可讀寫
,因此鑑權是隻能在雲函數裏面進行,這是第一道防線;後面在管理員後臺的操作都是在雲函數完成的,即使是小程序被反編譯了,也不可能突破權限,安全性上還是經得住考驗的。
配置過程
-
直接下載源碼,源碼地址:https://github.com/lx164/house
或者clone項目 git clone https://github.com/lx164/house.git -
打開微信開發者工具,導入項目(導入的時候請選擇 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":"(管理員手機)"
-
上傳
cloudfunctions
文件夾下所有的雲函數,上傳時選擇上傳並部署:雲端安裝依賴
; -
修改
app.js
大約第8行的代碼,如下:
wx.cloud.init({
env: '(填寫你自己雲環境的ID)',
traceUser: true,
})
- 編譯運行。
界面預覽
結語
歡迎一起探討,如果你覺得還可以,您可以給我點一個start,或者讚賞我