nodejs 近期所遇到的問題及解決
文章目錄
1、unique: true引起報錯
用此方法設定唯一約束會引起node報錯,解決方式如下:
unique: 'userName'
2、介面中的時間處理,時間偏移+格式化
loginDate: {
type: DataTypes.DATE,
get() {
return moment(this.getDataValue('loginDate')).utcOffset(8).format('YYYY-MM-DD HH:mm:ss');
}
},
3、請求攜帶token
使用axios中的請求攔截器進行攜帶
axios.interceptors.request.use(
function(config) {
// 在傳送請求之前做些什麼
// 1. 傳送請求時,如果有token,則附帶到請求頭中去
const token = localStorage.getItem("token");
if (token) {
config.headers.Authorization ="bearer " + token;
}
return config;
},
function(error) {
// 對請求錯誤做些什麼
return Promise.reject(error);
}
);
4、token過期時間實時監控
在axios的響應攔截器中進行監控,具體程式碼如下:
axios.interceptors.response.use(
resp => {
// 在請求響應之後做些什麼
// 2. 響應結果如果有token,儲存token到本地
if (resp.headers.authorization) {
localStorage.setItem("token", resp.headers.authorization)
}
return resp;
}, err => {
// 3. 相應的時候,如果響應訊息碼是403(沒有token,token失效),則在本地刪除token
if (err.response.status === 403) {
localStorage.removeItem("token");
router.push("/login");
}
return Promise.reject(err);
});
5、頁面渲染落後於vueX的資料時
直接將資料動態設定到vuex中,具體程式碼如下:
<div class="welcome">
<i class="el-icon-user"></i>
歡迎登入,{{ this.$store.state.loginUser.data.userName }}
</div>
6、系統的管理員架構問題
超級管理員:只有一個,擁有檢視所有資料,修改所有資料的許可權,不可刪除和禁用自己
高階管理員:通過超級管理員開啟高階許可權,可擁有查詢所有資料,修改所有普通管理員使用者資料的許可權,不可刪除和禁用高階管理員及以上使用者,不可檢視修改許可權列。
普通管理員:不可檢視使用者管理模組,可檢視常規資料。
7、設定跨域、跨域獲取header裡面的資訊
通過cors中介軟體實現
//設定跨域
const cors = require('cors')
app.use(cors());
//設定可以跨域獲取header裡面authorization的資訊
app.all('*', function(req, res, next) {
res.header('Access-Control-Expose-Headers', 'Authorization');
next();
});
相關文章
- 近期工作遇到的問題及解決方式收藏
- 安裝PowerDesigner16.5所遇到的問題及解決
- Windows 10 下搭建 Homestead 環境 Vagrant up 所遇到的問題及解決Windows
- 裝SAP GUI時遇到的問題及解決GUI
- Fabric 環境搭建遇到問題及解決
- redis 安裝及安裝遇到的問題解決Redis
- 遇到問題的解決方法
- 原始碼安裝apache(附遇到的問題及解決)原始碼Apache
- UG程式設計常遇到的問題及解決方法程式設計
- VMware下安裝Ubuntu遇到的問題及解決方案Ubuntu
- windows安裝tomcat遇到問題及解決方案WindowsTomcat
- MAC 安裝 VMAF 遇到的問題及解決方法記錄Mac
- 微信小程式開發中遇到的問題及解決方式微信小程式
- 【DataBase】:使用Oracle遇到的幾個問題及解決辦法DatabaseOracle
- Oracle學習遇到的問題收集及解決 - 不斷更新Oracle
- 安裝DBD:MySql模組遇到的問題及解決辦法MySql
- 玩Deno遇到問題的解決方案
- 今天遇到的問題與解決方法
- CKEditor使用中遇到的問題解決
- 解決 plsql 遇到亂碼的問題SQL
- 解決在使用Amoeba遇到的問題
- 執行docker run所遇到的問題Docker
- 更新swift4所遇到的問題Swift
- 更新macOS Monterey後遇到的各種Bug問題及解決方法Mac
- 使用kerl安裝erlang遇到的問題及解決辦法-bak
- Rails 3 升級 Rails 4 中遇到的問題及解決方法AI
- Mysql安裝過程中遇到的問題及解決辦法MySql
- Jekyll 本地除錯部落格遇到的問題及解決辦法除錯
- NodeJS+Express遇到的跨域問題NodeJSExpress跨域
- nodejs打包問題解決例項NodeJS
- 一篇文章解決你大部分資料庫所遇到的問題資料庫
- HTC Vive遇到的問題解決辦法
- 開發圖書館模組遇到問題及相關解決
- oracle 816 imp恢復資料遇到問題及解決Oracle
- 使用nagios所遇到的問題簡記iOS
- jQuery實現俄羅斯方塊中遇到的問題及解決方法jQuery
- elk(單機)安裝過程中遇到的問題及解決方法
- div拖動遇到iframe卡頓的問題解決