linux ### 打印显示日志/data/log/service/error.log 包含字段[ErrorCode=80]的日志信息命令
时间: 2023-05-23 11:06:18 浏览: 63
Linux是一种自由和开放源代码的Unix-like操作系统,它是基于POSIX和UNIX的。它的核心是由林纳斯·托瓦兹创建的,它现在由全世界的程序员共同维护和开发。它具有许多优点,如可定制性、安全性、开放性和多任务性等。Linux运行在许多设备和平台上,如台式机、笔记本电脑、服务器、手机和嵌入式设备等。
相关问题
怎么让以下代码避免回调地狱 wxqyLogin: function () { var _this = this; wx.qy.login ({ suiteId: '', // 非必填,第三方应用的 suiteid,自建应用不填。若第三方小程序绑定多个第三方应用时,建议填上该字段 success: function (res) { if (res.code) { // 发起网络请求 wx.request ({ url: https://localhost:44342/api/wechat-work-js/code2-session/${res.code}, data: null, method: 'POST', header: {'content-type': 'application/json' // 默认值}, // 请求成功时的处理 success: function (res) { // 一般在这一打印下看看是否拿到数据 console.log ("登录 wx.qy.login", res.data.data); if (res.data.data.errmsg == 'ok') { _this.globalData.corpid = res.data.data.corpid; _this.globalData.userid = res.data.data.userid; _this.globalData.session_key = res.data.data.session_key; //console.log (_this.globalData) } else { wx.showToast ({ title: ' 登陆失败 ', icon: 'none', mask: true }); } } }) } else { console.log (' 登录失败!' + res.errMsg) } } }); },
以下是使用 Promise 的改写方法:
```
wxqyLogin: function () {
var _this = this;
wx.qy.login({
suiteId: '', // 非必填,第三方应用的 suiteid,自建应用不填。若第三方小程序绑定多个第三方应用时,建议填上该字段
})
.then(res => {
if (res.code) {
return wx.request({
url: `https://localhost:44342/api/wechat-work-js/code2-session/${res.code}`,
data: null,
method: 'POST',
header: {'content-type': 'application/json'},
});
} else {
throw new Error(`登录失败!${res.errMsg}`);
}
})
.then(res => {
console.log("登录 wx.qy.login", res.data.data);
if (res.data.data.errmsg == 'ok') {
_this.globalData.corpid = res.data.data.corpid;
_this.globalData.userid = res.data.data.userid;
_this.globalData.session_key = res.data.data.session_key;
} else {
throw new Error('登陆失败');
}
})
.catch(error => {
console.error(error);
wx.showToast({
title: '登陆失败',
icon: 'none',
mask: true
});
});
},
```
使用 async/await 的改写方法:
```
wxqyLogin: async function () {
try {
const res1 = await wx.qy.login({suiteId: ''});
if (res1.code) {
const res2 = await wx.request({
url: `https://localhost:44342/api/wechat-work-js/code2-session/${res1.code}`,
data: null,
method: 'POST',
header: {'content-type': 'application/json'},
});
console.log("登录 wx.qy.login", res2.data.data);
if (res2.data.data.errmsg == 'ok') {
this.globalData.corpid = res2.data.data.corpid;
this.globalData.userid = res2.data.data.userid;
this.globalData.session_key = res2.data.data.session_key;
} else {
throw new Error('登陆失败');
}
} else {
throw new Error(`登录失败!${res1.errMsg}`);
}
} catch (error) {
console.error(error);
wx.showToast({
title: '登陆失败',
icon: 'none',
mask: true
});
}
},
```
这样做可以让代码更加清晰易读,避免回调地狱的嵌套。
const http = axios.create({ timeout: 1000 * 30, withCredentials: true, headers: { 'Content-Type': 'application/json; charset=utf-8' } }) //请求拦截器 http.interceptors.request.use( config => { var Authorization = localStorage.getItem("Authorization") // debugger // console.log("授权码是:" + Authorization) if (Authorization) { //判断token是否存在 config.headers['Authorization'] = Authorization; //将token设置成请求头 } return config; }, err => { return Promise.reject(err); } ); /** * 响应拦截 */ http.interceptors.response.use(response => { // debugger if (response.data && response.data.code === 401) { // 10021, token失效 clearLoginInfo() // console.log("token过期") router.replace('/') } // debugger // console.log(typeof (response.headers.Authorization)) // console.log(response.headers.Authorization) // debugger if (typeof (response.headers.authorization) !== "undefined") { let token = response.headers.authorization localStorage.setItem('Authorization', 'Bearer ' + token) // console.log("已经刷新token: " + token) } // debugger return response }, error => { return Promise.reject(error) }) export default http;
这段代码是使用axios进行网络请求时,设置了请求拦截器和响应拦截器。
请求拦截器用于在请求发送前对请求进行处理,这里判断了本地存储中是否存在Authorization,如果存在则将其设置成请求头的Authorization字段,这是用于用户身份验证的Token。如果不存在则不进行处理。
响应拦截器用于在响应返回后对响应进行处理,这里判断了响应中是否包含Authorization字段,如果包含则将其存储到本地存储中,用于更新用户身份验证的Token。另外,如果响应中的状态码为401,则表示用户的Token已失效,需要清除本地存储中的Token,并将用户重定向到登录页面。
这种拦截器的设置可以增强应用的安全性和稳定性,可以在请求和响应中进行统一的处理,减少代码的重复编写。