From 63fcdd2a696e462dae7cc7a2ea09145b01d0e081 Mon Sep 17 00:00:00 2001 From: limingtao <@ming_tao_li> Date: Tue, 6 Aug 2024 14:09:26 +0800 Subject: [PATCH] 1 --- common/globalJs/request.js | 923 +++++++++++++++++----------------- components/no-data.vue | 4 +- pages/index/detail.vue | 2 +- pages/index/index.vue | 6 +- pages/investigation/index.vue | 17 +- pages/logIn/logIn.vue | 644 +++++++++++++----------- pages/mine/index.vue | 24 +- pages/mine/password.vue | 355 +++++++------ 8 files changed, 1031 insertions(+), 944 deletions(-) diff --git a/common/globalJs/request.js b/common/globalJs/request.js index f631c22..de684b1 100644 --- a/common/globalJs/request.js +++ b/common/globalJs/request.js @@ -1,459 +1,464 @@ -/** - * 请求封装 - */ -import $ from "./globalJs"; -const tokenKey = "token"; -const tokenKeyValue = ""; - -class Request { - constructor(config = {}) { - this.config = {}; - this.config.baseUrl = config.baseUrl ? config.baseUrl : ""; - this.config.dataType = config.dataType ? config.dataType : "json"; - this.config.responseType = config.responseType - ? config.responseType - : "text"; - this.config.header = config.header ? config.header : {}; - this.reqInterceptors = null; - this.resInterceptors = null; - this.interceptors = { - request: (fn) => { - this.reqInterceptors = fn; - }, - response: (fn) => { - this.resInterceptors = fn; - }, - }; - } - setConfig(config = {}) { - this.config = this._deepCopy(this._merge(this.config, config)); - } - // 请求封装 - globalRequest(url, config, method, isForm = "") { - const _this = this; - let newConfig = this._deepCopy(this._merge(this.config, config)); - let lastConfig = {}; - if (this.reqInterceptors && typeof this.reqInterceptors === "function") { - let reqInterceptors = this.reqInterceptors(newConfig); - if (!reqInterceptors && process.env.NODE_ENV === "development") { - console.log("请求被拦截,此消息仅在开发环境显示。"); - return false; - } else if ( - Object.prototype.toString.call(reqInterceptors) === "[object Promise]" - ) { - return reqInterceptors; - } - lastConfig = this._deepCopy(reqInterceptors); - } else { - lastConfig = this._deepCopy(newConfig); - } - let header = {}; - let tokenData = $.getData("token"); - if (tokenData) { - header[tokenKey] = tokenKeyValue + tokenData; - } - if (isForm) { - header["content-type"] = "application/x-www-form-urlencoded"; - } - let fullUrl = this._formatUrl(lastConfig.baseUrl, url); - if (url.indexOf("http") != -1) { - fullUrl = url; - } - return new Promise((resolve, reject) => { - uni.request({ - url: fullUrl, - method: method, - data: config, - header: header, - async complete(response) { - let res = response; - if (response.statusCode == 404) { - $.toast("请求地址不存在"); - } else if (response.statusCode == 500) { - $.toast("服务器内部错误"); - } else { - console.log("response", response.statusCode); - let res = response; - if ( - _this.resInterceptors && - typeof _this.resInterceptors === "function" - ) { - let resInterceptors = _this.resInterceptors(res); - // console.log('resInterceptors-----------------',resInterceptors) - if ( - resInterceptors.statusCode == 401 || - resInterceptors.data.code == 403 - ) { - $.toast("登录信息已过期,请重新登录"); - $.removeData("token"); - setTimeout(() => { - $.openNew("/pages/logIn/logIn"); - }, 1500); - return; - } else if (resInterceptors.statusCode != 200) { - $.toast(resInterceptors.data.message); - } - if (!resInterceptors && resInterceptors != "") { - reject("返回值已被您拦截!"); - return; - } else if ( - Object.prototype.toString.call(resInterceptors) === - "[object Promise]" - ) { - try { - let promiseRes = await resInterceptors; - resolve(promiseRes); - } catch (error) { - reject(error); - } - } else { - res = resInterceptors; - } - } - } - resolve(res.data); - }, - }); - }); - } - - addFile(file, success, progress) { - const _this = this; - let newConfig = this._deepCopy(this._merge(this.config, {})); - let lastConfig = {}; - if (this.reqInterceptors && typeof this.reqInterceptors === "function") { - let reqInterceptors = this.reqInterceptors(newConfig); - if (!reqInterceptors && process.env.NODE_ENV === "development") { - console.log("请求被拦截,此消息仅在开发环境显示。"); - return false; - } else if ( - Object.prototype.toString.call(reqInterceptors) === "[object Promise]" - ) { - return reqInterceptors; - } - lastConfig = this._deepCopy(reqInterceptors); - } else { - lastConfig = this._deepCopy(newConfig); - } - let fullUrl = this._formatUrl(lastConfig.baseUrl, $.imgUrl); - let header = { - // 'content-Type':'multipart/form-data' - }; - return new Promise((resolve, reject) => { - const UploadTask = uni.uploadFile({ - url: fullUrl, - filePath: file[0].path, - header: header, - name: $.fileImgKey, - formData: {}, - async complete(response) { - let res = response; - if ( - _this.resInterceptors && - typeof _this.resInterceptors === "function" - ) { - let resInterceptors = _this.resInterceptors(res); - if (!resInterceptors && resInterceptors != "") { - reject("返回值已被您拦截!"); - return; - } else if ( - Object.prototype.toString.call(resInterceptors) === - "[object Promise]" - ) { - try { - let promiseRes = await resInterceptors; - resolve(promiseRes); - } catch (error) { - reject(error); - } - } else { - res = resInterceptors; - } - } - success(JSON.parse(res.data)); - }, - }); - // 监听上传进度 - if (progress) { - UploadTask.onProgressUpdate((res) => { - progress(res.progress); - }); - } - }); - } - - // 上传图片 - addImg(length = 1, success, progress, type = 1) { - // 获取本地图片的路径 - uni.chooseImage({ - count: length, - // original原图compressed压缩图 - sizeType: ["compressed"], // 可以指定是原图还是压缩图,默认二者都有 - // camera相机album相册 - sourceType: ["album", "camera"], // 可以指定来源是相册还是相机,默认二者都有 - success: (res) => { - // 显示上传动画 - $.showLoading("图片上传中..."); - var imgs; - imgs = res.tempFilePaths; - // #ifdef H5 - // 调用上传图片的函数 - // 处理多选 - // if (imgs.length > length) { - // imgs = imgs.slice(0, length); - // } - this.fileImg(imgs, 0, success, progress, type); - // #endif - // #ifdef APP - console.log("imgs", imgs); - // 将新添加的图片添加到imgs_arr中 - uni.compressImage({ - src: imgs[0], - quality: 60, // 仅对jpg有效 - success: (ress) => { - this.fileImg([ress.tempFilePath], 0, success, progress, type); - }, - fail: (err) => { - $.hideLoading("图片上传中..."); - }, - complete: (msg) => {}, - }); - // #endif - }, - complete: (err) => {}, - }); - } - fileImg(imgs, index, success, progress, type) { - const _this = this; - let newConfig = this._deepCopy(this._merge(this.config, {})); - let lastConfig = {}; - if (this.reqInterceptors && typeof this.reqInterceptors === "function") { - let reqInterceptors = this.reqInterceptors(newConfig); - if (!reqInterceptors && process.env.NODE_ENV === "development") { - console.log("请求被拦截,此消息仅在开发环境显示。"); - return false; - } else if ( - Object.prototype.toString.call(reqInterceptors) === "[object Promise]" - ) { - return reqInterceptors; - } - lastConfig = this._deepCopy(reqInterceptors); - } else { - lastConfig = this._deepCopy(newConfig); - } - let fullUrl = this._formatUrl(lastConfig.baseUrl, $.imgUrl); - if (type == 2) { - fullUrl = this._formatUrl(lastConfig.baseUrl, $.imgUserIdUrl); - } - let header = { - token: $.getData("token"), - }; - // 如果数组长度大于下标,说明没有上传完 - if (imgs.length > index) { - var src = imgs[index]; - return new Promise((resolve, reject) => { - const UploadTask = uni.uploadFile({ - url: fullUrl, - filePath: src, - header: header, - name: $.fileImgKey, - formData: {}, - async complete(response) { - let res = response; - if ( - _this.resInterceptors && - typeof _this.resInterceptors === "function" - ) { - let resInterceptors = _this.resInterceptors(res); - // console.log('resInterceptors',resInterceptors) - let datasJSON = JSON.parse(resInterceptors.data); - if (datasJSON.code == 1101) { - } - if (!resInterceptors && resInterceptors != "") { - reject("返回值已被您拦截!"); - return; - } else if ( - Object.prototype.toString.call(resInterceptors) === - "[object Promise]" - ) { - try { - let promiseRes = await resInterceptors; - resolve(promiseRes); - } catch (error) { - reject(error); - } - } else { - res = resInterceptors; - } - } - success(JSON.parse(res.data)); - _this.fileImg(imgs, index + 1, progress); - }, - }); - // 监听上传进度 - if (progress) { - UploadTask.onProgressUpdate((res) => { - progress(res.progress); - }); - } - }); - // #ifdef H5 - // 压缩 - // lrz(src, { - // quality: 0.7, - // }).then((rst) => { // fieldName 为 formData 中多媒体的字段名 - - // }) - // #endif - // #ifdef APP-PLUS - // #endif - } else { - $.hideLoading(); - } - } - - // 上传视频 - addVideo(url, success, progress) { - // 获取本地视频的路径 - uni.chooseVideo({ - sourceType: ["album", "camera"], // 选择方式 - success: (res) => { - if (res.size > $.videoSize) { - let size = parseInt($.videoSize / 1024000); - $.toast("上传视频过大,大小请不要超过" + size + "M"); - } else { - // 显示上传动画 - $.showLoading("视频上传中..."); - // 调用上传视频的函数 - this.fileVideo(res.tempFilePath, url, success, progress); - } - }, - fail: (res) => { - console.log(JSON.stringify(res)); - }, - }); - } - fileVideo(src, url, success, progress) { - const _this = this; - let newConfig = this._deepCopy(this._merge(this.config, {})); - let lastConfig = {}; - if (this.reqInterceptors && typeof this.reqInterceptors === "function") { - let reqInterceptors = this.reqInterceptors(newConfig); - if (!reqInterceptors && process.env.NODE_ENV === "development") { - console.log("请求被拦截,此消息仅在开发环境显示。"); - return false; - } else if ( - Object.prototype.toString.call(reqInterceptors) === "[object Promise]" - ) { - return reqInterceptors; - } - lastConfig = this._deepCopy(reqInterceptors); - } else { - lastConfig = this._deepCopy(newConfig); - } - let fullUrl = this._formatUrl(lastConfig.baseUrl, $.imgUrl); - //上传视频 - return new Promise((resolve, reject) => { - const UploadTask = uni.uploadFile({ - url: fullUrl, - filePath: src, - name: $.fileVideoKey, - async complete(response) { - let res = response; - if ( - _this.resInterceptors && - typeof _this.resInterceptors === "function" - ) { - let resInterceptors = _this.resInterceptors(res); - // console.log('resInterceptors',resInterceptors) - if (!resInterceptors && resInterceptors != "") { - reject("返回值已被您拦截!"); - return; - } else if ( - Object.prototype.toString.call(resInterceptors) === - "[object Promise]" - ) { - try { - let promiseRes = await resInterceptors; - resolve(promiseRes); - } catch (error) { - reject(error); - } - } else { - res = resInterceptors; - } - } - success(JSON.parse(res.data)); - $.hideLoading(); - }, - success: (res) => { - success(JSON.parse(res.data)); - // 关闭上传动画 - }, - fail: (e) => { - // 关闭上传动画 - $.hideLoading(); - $.toast("上传超时!"); - }, - }); - // 监听上传进度 - if (progress) { - UploadTask.onProgressUpdate((res) => { - progress(res.progress); - }); - } - }); - } - - _formatUrl(baseUrl, url) { - if (!baseUrl) return url; - let formatUrl = ""; - const baseUrlEndsWithSlash = baseUrl.endsWith("/"); - const urlStartsWithSlash = url.startsWith("/"); - if (baseUrlEndsWithSlash && urlStartsWithSlash) { - formatUrl = baseUrl + url.substring(1); - } else if (baseUrlEndsWithSlash || urlStartsWithSlash) { - formatUrl = baseUrl + url; - } else { - formatUrl = baseUrl + "/" + url; - } - return formatUrl; - } - _merge(oldConfig, newConfig) { - let mergeConfig = this._deepCopy(oldConfig); - if (!newConfig || !Object.keys(newConfig).length) return mergeConfig; - for (let key in newConfig) { - if (key !== "header") { - mergeConfig[key] = newConfig[key]; - } else { - if ( - Object.prototype.toString.call(newConfig[key]) === "[object Object]" - ) { - for (let headerKey in newConfig[key]) { - mergeConfig[key][headerKey] = newConfig[key][headerKey]; - } - } - } - } - return mergeConfig; - } - _deepCopy(obj) { - let result = Array.isArray(obj) ? [] : {}; - for (let key in obj) { - if (obj.hasOwnProperty(key)) { - if (typeof obj[key] === "object") { - result[key] = this._deepCopy(obj[key]); - } else { - result[key] = obj[key]; - } - } - } - return result; - } -} - -if (!global.$request) { - global.$request = new Request(); -} - -export default global.$request; +/** + * 请求封装 + */ +import $ from "./globalJs"; +const tokenKey = "token"; +const tokenKeyValue = ""; + +class Request { + constructor(config = {}) { + this.config = {}; + this.config.baseUrl = config.baseUrl ? config.baseUrl : ""; + this.config.dataType = config.dataType ? config.dataType : "json"; + this.config.responseType = config.responseType ? + config.responseType : + "text"; + this.config.header = config.header ? config.header : {}; + this.reqInterceptors = null; + this.resInterceptors = null; + this.interceptors = { + request: (fn) => { + this.reqInterceptors = fn; + }, + response: (fn) => { + this.resInterceptors = fn; + }, + }; + } + setConfig(config = {}) { + this.config = this._deepCopy(this._merge(this.config, config)); + } + // 请求封装 + globalRequest(url, config, method, isForm = "") { + const _this = this; + let newConfig = this._deepCopy(this._merge(this.config, config)); + let lastConfig = {}; + if (this.reqInterceptors && typeof this.reqInterceptors === "function") { + let reqInterceptors = this.reqInterceptors(newConfig); + if (!reqInterceptors && process.env.NODE_ENV === "development") { + console.log("请求被拦截,此消息仅在开发环境显示。"); + return false; + } else if ( + Object.prototype.toString.call(reqInterceptors) === "[object Promise]" + ) { + return reqInterceptors; + } + lastConfig = this._deepCopy(reqInterceptors); + } else { + lastConfig = this._deepCopy(newConfig); + } + let header = {}; + let tokenData = $.getData("token"); + if (tokenData) { + header[tokenKey] = tokenKeyValue + tokenData; + } + if (isForm) { + header["content-type"] = "application/x-www-form-urlencoded"; + } + let fullUrl = this._formatUrl(lastConfig.baseUrl, url); + if (url.indexOf("http") != -1) { + fullUrl = url; + } + return new Promise((resolve, reject) => { + uni.request({ + url: fullUrl, + method: method, + data: config, + header: header, + async complete(response) { + let res = response; + if ((response.errMsg == 'request:ok')) { + + if (response.statusCode == 404) { + $.toast("请求地址不存在"); + } else if (response.statusCode == 500) { + $.toast("服务器内部错误"); + } else { + // console.log("response", response.statusCode); + let res = response; + if ( + _this.resInterceptors && + typeof _this.resInterceptors === "function" + ) { + let resInterceptors = _this.resInterceptors(res); + // console.log('resInterceptors-----------------',resInterceptors) + if ( + resInterceptors.statusCode == 401 || + resInterceptors.data.code == 403 + ) { + $.toast("登录信息已过期,请重新登录"); + $.removeData("token"); + setTimeout(() => { + $.openNew("/pages/logIn/logIn"); + }, 1500); + return; + } else if (resInterceptors.statusCode != 200) { + $.toast(resInterceptors.data.message); + } + if (!resInterceptors && resInterceptors != "") { + reject("返回值已被您拦截!"); + return; + } else if ( + Object.prototype.toString.call(resInterceptors) === + "[object Promise]" + ) { + try { + let promiseRes = await resInterceptors; + resolve(promiseRes); + } catch (error) { + reject(error); + } + } else { + res = resInterceptors; + } + } + } + resolve(res.data); + }else{ + reject() + } + + }, + }); + }); + } + + addFile(file, success, progress) { + const _this = this; + let newConfig = this._deepCopy(this._merge(this.config, {})); + let lastConfig = {}; + if (this.reqInterceptors && typeof this.reqInterceptors === "function") { + let reqInterceptors = this.reqInterceptors(newConfig); + if (!reqInterceptors && process.env.NODE_ENV === "development") { + console.log("请求被拦截,此消息仅在开发环境显示。"); + return false; + } else if ( + Object.prototype.toString.call(reqInterceptors) === "[object Promise]" + ) { + return reqInterceptors; + } + lastConfig = this._deepCopy(reqInterceptors); + } else { + lastConfig = this._deepCopy(newConfig); + } + let fullUrl = this._formatUrl(lastConfig.baseUrl, $.imgUrl); + let header = { + // 'content-Type':'multipart/form-data' + }; + return new Promise((resolve, reject) => { + const UploadTask = uni.uploadFile({ + url: fullUrl, + filePath: file[0].path, + header: header, + name: $.fileImgKey, + formData: {}, + async complete(response) { + let res = response; + if ( + _this.resInterceptors && + typeof _this.resInterceptors === "function" + ) { + let resInterceptors = _this.resInterceptors(res); + if (!resInterceptors && resInterceptors != "") { + reject("返回值已被您拦截!"); + return; + } else if ( + Object.prototype.toString.call(resInterceptors) === + "[object Promise]" + ) { + try { + let promiseRes = await resInterceptors; + resolve(promiseRes); + } catch (error) { + reject(error); + } + } else { + res = resInterceptors; + } + } + success(JSON.parse(res.data)); + }, + }); + // 监听上传进度 + if (progress) { + UploadTask.onProgressUpdate((res) => { + progress(res.progress); + }); + } + }); + } + + // 上传图片 + addImg(length = 1, success, progress, type = 1) { + // 获取本地图片的路径 + uni.chooseImage({ + count: length, + // original原图compressed压缩图 + sizeType: ["compressed"], // 可以指定是原图还是压缩图,默认二者都有 + // camera相机album相册 + sourceType: ["album", "camera"], // 可以指定来源是相册还是相机,默认二者都有 + success: (res) => { + // 显示上传动画 + $.showLoading("图片上传中..."); + var imgs; + imgs = res.tempFilePaths; + // #ifdef H5 + // 调用上传图片的函数 + // 处理多选 + // if (imgs.length > length) { + // imgs = imgs.slice(0, length); + // } + this.fileImg(imgs, 0, success, progress, type); + // #endif + // #ifdef APP + console.log("imgs", imgs); + // 将新添加的图片添加到imgs_arr中 + uni.compressImage({ + src: imgs[0], + quality: 60, // 仅对jpg有效 + success: (ress) => { + this.fileImg([ress.tempFilePath], 0, success, progress, type); + }, + fail: (err) => { + $.hideLoading("图片上传中..."); + }, + complete: (msg) => {}, + }); + // #endif + }, + complete: (err) => {}, + }); + } + fileImg(imgs, index, success, progress, type) { + const _this = this; + let newConfig = this._deepCopy(this._merge(this.config, {})); + let lastConfig = {}; + if (this.reqInterceptors && typeof this.reqInterceptors === "function") { + let reqInterceptors = this.reqInterceptors(newConfig); + if (!reqInterceptors && process.env.NODE_ENV === "development") { + console.log("请求被拦截,此消息仅在开发环境显示。"); + return false; + } else if ( + Object.prototype.toString.call(reqInterceptors) === "[object Promise]" + ) { + return reqInterceptors; + } + lastConfig = this._deepCopy(reqInterceptors); + } else { + lastConfig = this._deepCopy(newConfig); + } + let fullUrl = this._formatUrl(lastConfig.baseUrl, $.imgUrl); + if (type == 2) { + fullUrl = this._formatUrl(lastConfig.baseUrl, $.imgUserIdUrl); + } + let header = { + token: $.getData("token"), + }; + // 如果数组长度大于下标,说明没有上传完 + if (imgs.length > index) { + var src = imgs[index]; + return new Promise((resolve, reject) => { + const UploadTask = uni.uploadFile({ + url: fullUrl, + filePath: src, + header: header, + name: $.fileImgKey, + formData: {}, + async complete(response) { + let res = response; + if ( + _this.resInterceptors && + typeof _this.resInterceptors === "function" + ) { + let resInterceptors = _this.resInterceptors(res); + // console.log('resInterceptors',resInterceptors) + let datasJSON = JSON.parse(resInterceptors.data); + if (datasJSON.code == 1101) {} + if (!resInterceptors && resInterceptors != "") { + reject("返回值已被您拦截!"); + return; + } else if ( + Object.prototype.toString.call(resInterceptors) === + "[object Promise]" + ) { + try { + let promiseRes = await resInterceptors; + resolve(promiseRes); + } catch (error) { + reject(error); + } + } else { + res = resInterceptors; + } + } + success(JSON.parse(res.data)); + _this.fileImg(imgs, index + 1, progress); + }, + }); + // 监听上传进度 + if (progress) { + UploadTask.onProgressUpdate((res) => { + progress(res.progress); + }); + } + }); + // #ifdef H5 + // 压缩 + // lrz(src, { + // quality: 0.7, + // }).then((rst) => { // fieldName 为 formData 中多媒体的字段名 + + // }) + // #endif + // #ifdef APP-PLUS + // #endif + } else { + $.hideLoading(); + } + } + + // 上传视频 + addVideo(url, success, progress) { + // 获取本地视频的路径 + uni.chooseVideo({ + sourceType: ["album", "camera"], // 选择方式 + success: (res) => { + if (res.size > $.videoSize) { + let size = parseInt($.videoSize / 1024000); + $.toast("上传视频过大,大小请不要超过" + size + "M"); + } else { + // 显示上传动画 + $.showLoading("视频上传中..."); + // 调用上传视频的函数 + this.fileVideo(res.tempFilePath, url, success, progress); + } + }, + fail: (res) => { + console.log(JSON.stringify(res)); + }, + }); + } + fileVideo(src, url, success, progress) { + const _this = this; + let newConfig = this._deepCopy(this._merge(this.config, {})); + let lastConfig = {}; + if (this.reqInterceptors && typeof this.reqInterceptors === "function") { + let reqInterceptors = this.reqInterceptors(newConfig); + if (!reqInterceptors && process.env.NODE_ENV === "development") { + console.log("请求被拦截,此消息仅在开发环境显示。"); + return false; + } else if ( + Object.prototype.toString.call(reqInterceptors) === "[object Promise]" + ) { + return reqInterceptors; + } + lastConfig = this._deepCopy(reqInterceptors); + } else { + lastConfig = this._deepCopy(newConfig); + } + let fullUrl = this._formatUrl(lastConfig.baseUrl, $.imgUrl); + //上传视频 + return new Promise((resolve, reject) => { + const UploadTask = uni.uploadFile({ + url: fullUrl, + filePath: src, + name: $.fileVideoKey, + async complete(response) { + let res = response; + if ( + _this.resInterceptors && + typeof _this.resInterceptors === "function" + ) { + let resInterceptors = _this.resInterceptors(res); + // console.log('resInterceptors',resInterceptors) + if (!resInterceptors && resInterceptors != "") { + reject("返回值已被您拦截!"); + return; + } else if ( + Object.prototype.toString.call(resInterceptors) === + "[object Promise]" + ) { + try { + let promiseRes = await resInterceptors; + resolve(promiseRes); + } catch (error) { + reject(error); + } + } else { + res = resInterceptors; + } + } + success(JSON.parse(res.data)); + $.hideLoading(); + }, + success: (res) => { + success(JSON.parse(res.data)); + // 关闭上传动画 + }, + fail: (e) => { + // 关闭上传动画 + $.hideLoading(); + $.toast("上传超时!"); + }, + }); + // 监听上传进度 + if (progress) { + UploadTask.onProgressUpdate((res) => { + progress(res.progress); + }); + } + }); + } + + _formatUrl(baseUrl, url) { + if (!baseUrl) return url; + let formatUrl = ""; + const baseUrlEndsWithSlash = baseUrl.endsWith("/"); + const urlStartsWithSlash = url.startsWith("/"); + if (baseUrlEndsWithSlash && urlStartsWithSlash) { + formatUrl = baseUrl + url.substring(1); + } else if (baseUrlEndsWithSlash || urlStartsWithSlash) { + formatUrl = baseUrl + url; + } else { + formatUrl = baseUrl + "/" + url; + } + return formatUrl; + } + _merge(oldConfig, newConfig) { + let mergeConfig = this._deepCopy(oldConfig); + if (!newConfig || !Object.keys(newConfig).length) return mergeConfig; + for (let key in newConfig) { + if (key !== "header") { + mergeConfig[key] = newConfig[key]; + } else { + if ( + Object.prototype.toString.call(newConfig[key]) === "[object Object]" + ) { + for (let headerKey in newConfig[key]) { + mergeConfig[key][headerKey] = newConfig[key][headerKey]; + } + } + } + } + return mergeConfig; + } + _deepCopy(obj) { + let result = Array.isArray(obj) ? [] : {}; + for (let key in obj) { + if (obj.hasOwnProperty(key)) { + if (typeof obj[key] === "object") { + result[key] = this._deepCopy(obj[key]); + } else { + result[key] = obj[key]; + } + } + } + return result; + } +} + +if (!global.$request) { + global.$request = new Request(); +} + +export default global.$request; \ No newline at end of file diff --git a/components/no-data.vue b/components/no-data.vue index b3cc468..a50668b 100644 --- a/components/no-data.vue +++ b/components/no-data.vue @@ -51,8 +51,8 @@ export default { - + + + + + + \ No newline at end of file diff --git a/pages/mine/index.vue b/pages/mine/index.vue index 2d61da3..44c65f0 100644 --- a/pages/mine/index.vue +++ b/pages/mine/index.vue @@ -6,7 +6,7 @@ - {{ userInfo.realName || userInfo.username || '请登录'}} + {{ dataInfo.cusername || userInfo.username || '请登录'}} - - - + + + + @@ -59,9 +60,9 @@ - - - + \ No newline at end of file