An application used nodejs,vue3,element-ui ヾ(@^▽^@)ノcss
項目地址:https://github.com/Allenem/CapitalManagementSystemhtml
git clone https://github.com/Allenem/CapitalManagementSystem.git npm install cd client npm install cd ../ npm run dev
服務端地址:http://localhost:5000, 客戶端地址:http://localhost:8080前端
根目錄下打開cmd
或powershell
運行tree /f
命令生成vue
. │ package-lock.json │ package.json │ README.md │ server.js │ ├─client │ │ .gitignore │ │ babel.config.js │ │ package-lock.json │ │ package.json │ │ README.md │ │ vue.config.js │ │ │ ├─public │ │ │ favicon.ico │ │ │ index.html │ │ │ │ │ └─css │ │ reset.css │ │ │ └─src │ │ App.vue │ │ http.js │ │ main.js │ │ router.js │ │ store.js │ │ │ ├─assets │ │ 403.png │ │ 404.gif │ │ bg.jpg │ │ coin.png │ │ showcase.jpg │ │ │ ├─components │ │ Dialog.vue │ │ HeadNav.vue │ │ LeftMenu.vue │ │ │ └─views │ 404.vue │ ChangeList.vue │ FundList.vue │ Home.vue │ Index.vue │ InfoShow.vue │ Login.vue │ Register.vue │ UserList.vue │ ├─config │ keys.js │ passport.js │ ├─effectImg │ …… │ ├─models │ Profile.js │ User.js │ └─routers └─api profiles.js users.js
主文件node
server.js
ios
兩個模型git
models/Profile.js
github
models/User.js
web
路由配置mongodb
routers/api/profiles.js
routers/api/users.js
常量和token驗證
config/key
config/passport
vue默認配置
client/vue.config.js
入口文件
client/public/index.html
根組件
client/src/App.vue
路由配置
client/src/router.js
庫的引用
client/src/main.js
loading,請求攔截,響應攔截
client/src/http.js
vuex存儲
client/src/store.js
靜態文件夾
client/src/assets
頁面文件夾
client/src/views
組件文件夾
client/src/components
test無身份,all爲管理員
註冊頁
登陸頁
主頁
非管理員資金流水頁
非管理員資金流水頁篩選
非管理員修改記錄
非管理員我的信息頁
非管理員全員信息頁
管理員資金流水頁(5/page)
管理員資金流水頁(10/page)
管理員資金流水頁編輯
管理員我的信息頁
管理員全員信息頁
管理員全員信息篩選
接口地址:http://localhost:5000/api/users/test 請求方式:get 請求示例:Examples 接口參數: 1.請求參數說明: { } 2.返回參數說明: { "msg":"users test api works" }
接口地址:http://localhost:5000/api/users/register 請求方式:post 請求示例:Examples 接口參數: 1.請求參數說明: { "name": "test", "email": "test@test.com", "password": "123456", "identity": "manager" } 2.返回參數說明: { "name": "test", "email": "test@test.com", "avatar": "xxx", "password": "123456", "identity": "manager" }
接口地址:http://localhost:5000/api/users/login 請求方式:post 請求示例:Examples 接口參數: 返回參數說明: 1.請求參數說明: { "email": "test@test.com", "password": "123456", } 2.返回參數說明: { "success": true, "token": "'Bearer' + token" }
接口地址:http://localhost:5000/api/users/current 請求方式:get 請求示例:Examples 接口參數: 返回參數說明: 1.請求參數說明: { } 2.返回參數說明: { "id": "qwertyuiopasdfghjklcvbnm", "name": "test", "email": "test@test.com", "identity": "manager" }
接口地址:http://localhost:5000/api/users/ 請求方式:get 請求示例:Examples 接口參數: 返回參數說明: 1.請求參數說明: { } 2.返回參數說明: { "user": [ { "_id": "5d320d3bb77a763724d503d9", "name": "test", "email": "test@gmail.com", "avatar": "//www.gravatar.com/avatar/1aedb8d9dc4751e229a335e371db8058?s=200&r=pg&d=mm", "password": "$2b$10$TBjcpQBI2hsXfZMB5DKzXuQBeevJI7mc7GuootkbwscUT9A/wiI6S", "date": "2019-07-19T18:34:35.489Z", "__v": 0 }, { "_id": "5d32b28ae6b23dcb8dd4f727", "name": "abc", "email": "abc@abc.com", "avatar": "//www.gravatar.com/avatar/4adcca49b3b1e5a08ac202f5d5a9e688?s=200&r=pg&d=mm", "password": "$2b$10$TFjKmx0vtwbDjQMr6R0kNeQ/jQvDLzCksDPXebDBJyykahun7Cnhi", "identity": "employee", "date": "2019-07-20T06:19:54.158Z", "__v": 0 } ] }
接口地址:http://localhost:5000/api/profiles/test 請求方式:get 請求示例:Examples 接口參數: 1.請求參數說明: { } 2.返回參數說明: { "msg":"profiles test api works" }
接口地址:http://localhost:5000/api/profiles/add 請求方式:post 請求示例:Examples 接口參數: 返回參數說明: 1.請求參數說明: { "type":"優惠券", "describe":"買書", "income":"30", "expend":"20", "cash":"10", "remark":"開心" } 2.返回參數說明: { "type":"優惠券", "describe":"買書", "income":"30", "expend":"20", "cash":"10", "remark":"開心" }
接口地址:http://localhost:5000/api/profiles/ 請求方式:get 請求示例:Examples 接口參數: 返回參數說明: 1.請求參數說明: { } 2.返回參數說明: { "profile": [ { "type":"優惠券", "describe":"買書", "income":"30", "expend":"20", "cash":"10", "remark":"開心" }, { "type":"禮券", "describe":"充值", "income":"50", "expend":"20", "cash":"30", "remark":"好開心" } ] }
接口地址:http://localhost:5000/api/profiles/id 請求方式:get 請求示例:Examples 接口參數: 返回參數說明: 1.請求參數說明: { "id":"5d320d3bb77a763724d503d9" } 2.返回參數說明: { "_id":"5d320d3bb77a763724d503d9", "type":"優惠券", "describe":"買書", "income":"30", "expend":"20", "cash":"10", "remark":"開心" }
接口地址:http://localhost:5000/api/profiles/edit/id 請求方式:post 請求示例:Examples 接口參數: 返回參數說明: 1.請求參數說明: { "type":"優惠券", "describe":"買書", "income":"30", "expend":"20", "cash":"10", "remark":"開心" } 2.返回參數說明: { "type":"優惠券", "describe":"買書", "income":"30", "expend":"20", "cash":"10", "remark":"開心" }
接口地址:http://localhost:5000/api/profiles/delete/id 請求方式:delete 請求示例:Examples 接口參數: 返回參數說明: 1.請求參數說明: { "id":"5d320d3bb77a763724d503d9" } 2.返回參數說明: { "_id":"5d320d3bb77a763724d503d9", "type":"優惠券", "describe":"買書", "income":"30", "expend":"20", "cash":"10", "remark":"開心" } //已刪除的信息
npm install nodemon -g
全局安裝nodemon避免重複啓動服務器
npm i mongoose
安裝mangooose
MongoDB Atlas 官網免費註冊申請 MongoDB Atlas 雲數據庫
postman 下載安裝軟件進行接口測試
npm i body-parser
安裝body-parser發post請求
npm i bcrypt
加密
npm i gravatar
頭像,可到https://en.gravatar.com/註冊上傳頭像
npm i jsonwebtoken
登陸成功返回token,token能夠理解爲一個令牌或者一個鑰匙
npm install passport-jwt passport
驗證token
npm install -g @vue/cli-service-global
全局安裝最新的vue-cli
總文件目錄下運行 npm i concurrently
先後端連載,不用分步開啓服務,配置以下:
配置前端 client/package.json
的 "scripts"
"scripts": { "serve": "vue-cli-service serve", "build": "vue-cli-service build", "start": "npm run serve" },
配置總文件 package.json
的 "scripts"
"scripts": { "client-install": "npm install --prefix client", "client": "npm start --prefix client", "start": "node server.js", "server": "nodemon server.js", "dev": "concurrently \"npm run server\" \"npm run client\"" },
總文件目錄下運行 npm run dev
實現先後端服務同時開啓
npm i jwt-decode -S
解析token模塊
npm i axios -S
請求工具axios
npm i element-ui -S
安裝element-ui組件
用到其
等等
引入 font-awesome
圖庫
<link href="//cdn.bootcss.com/font-awesome/4.7.0/css/font-awesome.css" rel="stylesheet"> <!-- 示例 --> <i class="fa fa-margin fa-server fa-2x"></i>