umi+dva全棧練習大合集


React-美團(Dva + umi + koa + Mongoose)

說明

自己為何要去嘗試寫一個這么多頁面的網頁💯,本人是純粹的小白一枚,在各大論壇不停的刷着Vue,React,RN,微信小程序等方面的教程,雖然不停的學習,但是發現自己的技術並沒有實質上的提高,就是不停的重復着同樣的任務,每個地方都學到了一點,只要混合在一起,馬上就全都不會了,🎉所以第一次嘗試使用最新的技術去制作一個大型網站---->至於為何選擇了美團,主要是每次看的教程都是做餓了么,這次就打算做一個和餓了么類似的美團,數據的話用了美團官網的一部分API,自己寫了一部分

效果圖

效果圖只是針對於本手機和電腦,並不代表全部
首頁
詳情頁
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

其余端支持

快速使用(推薦)

需要全局安裝了umi

git clone https://github.com/2662419405/meituanAn.git
cd meituanAn && npm install
umi dev

完全版啟動

這個需要本地有MongoDB,並且后台啟動,這種啟動方式,會使用本地的數據庫和本地的后台api接口,是為了方便人員修改后台接口准備的

  1. 打開這個功能,在config/db.js中,complete->改為false

git clone https://github.com/2662419405/meituanAn.git
cd meituanAn && npm install
// 下面的兩個都需要一直掛載着
npm run server
umi dev

build之后使用

如果想要build之后可以訪問,推薦配置nginx,這里面附上我的nginx配置

 # 移動端美團
server {
    listen       80;

    server_name  react.shtodream.cn;
    location / {
        root   html/meituanAn/dist;
        index  index.html index.htm;
    }

    location /server {
        proxy_pass http://localhost:4001;  #這個地方需要和上面一致
    }
    
}

完成

  • [x] 自動部署到服務器
  • [x] umi + dva 基本使用
  • [x] 配置axios攔截器
  • [x] mock數據模擬
  • [x] 首頁基本完成
  • [x] dva
  • [x] umi
  • [x] 頁面登錄
  • [x] 頁面注冊
  • [x] koa搭建后台
  • [x] mongoose模擬數據
  • [x] 根據路由修改title
  • [x] 上傳頭像
  • [x] 骨架屏
  • [x] 基本頁面已經完成 🎉
  • [x] 搜索功能完成
  • [x] 根據搜狐提供的api獲取用戶城市
  • [x] 瀑布流
  • [x] 熱門模塊 💯
  • [x] 添加好友
  • [x] 私聊
  • [x] socket在線聊天 🌈

計划

  • [ ] SSR服務端渲染 -> 原諒我太菜,看得我一臉懵逼
  • [ ] 使用TS編寫代碼
  • [ ] 豐富的表情包
  • [ ] 群聊
  • [ ] 照片牆

優化

  • [x] 頁面滾動防抖
  • [x] 圖片懶加載
  • [x] 圖片預加載
  • [ ] 數據分頁
  • [ ] 虛擬列表

后台api接口

請求地址 請求類型 請求參數 說明 獲取數據是否需要Token
/server/user/phone get ?phone=xx&code=yy 獲取手機驗證碼
/server/user/setPassword post {values:{phone:xx,password:yy}} 初始化密碼
/server/user/yan post {code:{code:xx,tel:xxx}} 判斷驗證碼 並且進行注冊,如果注冊過,則登錄
/server/user/info post {id:xxx} 獲取用戶信息
/server/user/name post {value:{phone:xx,name:xx}} 修改用戶名
/server/user/resetPassword post {value:{yuanPassword:xxx,salt:xxx}} 修改密碼
/server/user/password post {value:{tel:xxx,password:xxx}} 通過密碼登錄
/server/user/uploadfile post file 獲取上傳文件
/server/user/tags get 獲取首頁數據
/server/user/hot get 獲取熱門數據
/server/user/detail get ?id=xx 獲取某一個首頁數據
/server/hot/zan post {id:點贊用戶id,item:點了哪條數據} 進行點贊
/server/liao/add post {value:{value,name}} 搜索好友
/server/liao/tian post {value{dui,que}} 添加好友

配置

/config/db.js

module.exports = {
  port: 4001, // 后台啟動的端口
  dbName: 'meituan', // 數據庫名稱
  secret: "it 's mySecret", //jwt秘鑰
};


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM