/** * @Time 2019-12-12 * @Author Zhengjingyi * @Action 全局公共方法 */ import requestUrl from '@/services/config.env.js' const caimeiApi = { /** * @封装公共get数据请求方法无加载动画 * @方法参数:请求地址,请求后台需要的参数字段,回调函数 * @自定义请求头信息 */ get:function(url,data,callback){ uni.request({ url: requestUrl + url, data:data, header: { 'Accept': 'application/json', 'Content-Type': 'application/x-www-form-urlencoded', 'X-Token': uni.getStorageSync('token') ? uni.getStorageSync('token') : 'token', 'cookie': uni.getStorageSync('sessionid') }, method: 'GET', success: (response) => { if(response.statusCode !== 200){ uni.showToast({icon: 'none',title:'服务器连接错误',duration: 2000}) callback(response.statusCode) }else{ callback(response.data) } }, fail: (error) => { if (error) { uni.showToast({icon: 'none',title: '网络错误,请稍后重试',duration: 2000}) } } }) }, /** * @封装公共get数据请求方法有加载动画 * @方法参数:请求地址,请求后台需要的参数字段,回调函数 * @自定义请求头信息 */ lodingGet:function(url,data,callback){ uni.showLoading({mask: true,title:'加载中~',}) uni.request({ url: requestUrl + url, data:data, header: { 'Accept': 'application/json', 'Content-Type': 'application/x-www-form-urlencoded', 'X-Token': uni.getStorageSync('token') ? uni.getStorageSync('token') : 'token', 'cookie': uni.getStorageSync('sessionid') }, method: 'GET', success: (response) => { if(response.statusCode !== 200){ uni.showToast({icon: 'none',title: '服务器连接错误',duration: 2000}) callback(response.statusCode) }else{ callback(response.data) } }, fail: (error) => { if (error) { uni.showToast({icon: 'none',title: '网络错误,请稍后重试',duration: 2000}) } }, complete: () => { setTimeout(function () { uni.hideLoading() }, 250) } }) }, /** * @封装公共post数据请求方法 * @方法参数:请求地址,请求后台需要的参数字段,回调函数 */ post:function(url,data,loadingStatus,callback){ if(loadingStatus){uni.showLoading({mask: true,title:'加载中~'})} uni.request({ url: requestUrl+url, data:data, header: { 'Accept': 'application/json', 'Content-Type': 'application/x-www-form-urlencoded', 'X-Token': uni.getStorageSync('token') ? uni.getStorageSync('token') : 'token', 'cookie': uni.getStorageSync('sessionid') }, method: 'POST', success: (response) => { if(loadingStatus){uni.hideLoading()} const result = response.data callback(result) }, fail: (error) => { uni.hideLoading() if (error) { uni.showToast({icon: 'none',title: '网络错误,请稍后重试',duration: 2000}) } } }) }, getComStorage:function(key){// 获取本地Storage return new Promise(function(resolve,reject) { uni.getStorage({ key: key, success: function (res){ resolve(res.data) }, fail: function(res){ reject(false) } }) }) }, setStorage:function(key,data){// 存储本地Storage return new Promise(function(resolve,reject) { uni.setStorage({ key: key, data:data, success: function (res){ } }) }) }, getStorage:function(){// 获取本地userInfo return new Promise(function(resolve,reject) { uni.getStorage({ key: 'userInfo', success: function (res){ resolve(res.data) }, fail: function(res){ reject(false) } }) }) }, removeStorage:function(key){// 获取本地userInfo return new Promise(function(resolve,reject) { uni.removeStorage({ key: key, success: function (res) { console.log('success') } }) }) }, getStorageAddressKey:function(){// 获取本地地址信息 return new Promise(function(resolve,reject) { uni.getStorage({ key: 'address_key', success: function (res){ resolve(res.data) } }) }) }, loginStatus:function(){ // 获取用户是否登陆 1:已登陆,否则未登陆 return new Promise(function(resolve,reject) { uni.getStorage({ key: 'userInfo', success: function (res){ if(res.data.code == '1'){ resolve(true) } else { resolve(false) } } }) }) }, navToListPage:function({type,value,id,lType} = {}){ // 跳转到列表页 if(lType=='4'){ const pages = getCurrentPages() const prevPage = pages[pages.length-2] prevPage.refresh = true prevPage.listData = { type: type, from: value, id: id } uni.navigateBack({ delta: 1 }) }else{ uni.navigateTo({ url:`/pages/goods/goods?type=${type}&from=${value}&id=${id}` }) } }, navigateToGoods:function({type,value,id,lType} = {}){ // 跳转到列表页 if(lType=='4'){ const pages = getCurrentPages() const prevPage = pages[pages.length-2] prevPage.refresh = true prevPage.listData = { type: type, from: value, id: id } uni.navigateBack({ delta: 1 }) }else{ uni.navigateTo({ url:`/pages/goods/goods-classify?type=${type}&from=${value}&id=${id}` }) } }, FlooryNavigateTo:function(pros){ if(pros.listType == 1){ if(pros.product.productCategory == '1'){ uni.navigateTo({ url:`/pages/goods/product?id=${pros.product.productId}` }) }else{ uni.navigateTo({ url:`/pages/second/product/product-details?id=${pros.product.productId}` }) } }else{ /** * 页面跳转类型 * 1、二级页面,2、搜索项目仪器,3、直播页面,4、自由页面,5、商品详情,6、仪器项目详情,7、供应商主页 * 8、专题活动页,9、二手市场介绍,10、二手商品列表,11、二手商品发布,12、商品搜索,13、信息详情 * 14、品牌招商介绍页,15、维修保养介绍页,16、首页,17、注册页,18、信息中心,19、供应商列表 **/ if(pros.linkType){ console.log(pros.linkType) const typeMap = { 1:`/pages/goods/goods-instrument?linkId=${pros.linkParam.id}`, 2:`/pages/goods/instrument-details?id=${pros.linkParam.id}`, 3:`/pages/h5/article/page-image?image=${pros.adsImage}&title=专题直播`, 4:`/pages/h5/activity/activity?link=${pros.crmLink}&linkId=${pros.linkParam.id}`, 5:`/pages/goods/product?id=${pros.linkParam.id}`, 7:`/pages/supplier/user/my-shop?shopId=${pros.linkParam.id}`, 8:'/pages/h5/activity/activity-list', 9:'/pages/second/form/introduce', 10:'/pages/second/product/product-list', 11:'/pages/second/form/form', 12:`/pages/search/search?keyWord=${pros.linkParam.keyword}`, 13:`/pages/h5/article/path?link=${pros.link}`, 14:`/pages/h5/article/path?link=${pros.link}`, 15:`/pages/h5/article/path?link=${pros.link}`, // '-1':`/pages/h5/article/path?link=${pros.link}`, 17:'/pages/login/register-select', 18:`/pages/h5/article/path?link=${pros.link}`, 19:`/pages/search/search-supplier?keyWord=${pros.linkParam.keyword}`, 21:'/pages/h5/activity/meobohui', 23:`/pages/h5/activity/activity-topic?linkId=${pros.linkParam.id}`, 24:'/pages/user/coupon/coupon', 25:'/pages/goods/goods-doc-list',//美业资料 28:`/pages/h5/article/path?link=${pros.link}`, // 采美认证通 29:'/pages/user/coupon/coupon-collection',//领券中心 } const url = typeMap[pros.linkType] uni.navigateTo({ url:url }) } } }, BannerNavigateTo:function(linkType,linkId,linkHref,keyword){//楼层跳转判断 if(linkType){ const typeMap = { 1:`/pages/goods/goods-instrument?linkId=${linkId}`, 2:`/pages/goods/instrument-details?id=${linkId}`, 4:`/pages/h5/activity/activity?link=${linkHref}&linkId=${linkId}`, 5:`/pages/goods/product?id=${linkId}`, 7:`/pages/supplier/user/my-shop?shopId=${linkId}`, 8:'/pages/h5/activity/activity-list', 9:'/pages/second/form/introduce', 10:'/pages/second/product/product-list', 11:'/pages/second/form/form', 12:`/pages/search/search?keyWord=${keyword}`, 13:`/pages/h5/article/path?link=${linkHref}`, 14:`/pages/h5/article/path?link=${linkHref}`, 15:`/pages/h5/article/path?link=${linkHref}`, 17:'/pages/login/register-select', 18:`/pages/h5/article/path?link=${linkHref}`, 19:`/pages/search/search-supplier?keyWord=${keyword}`, 21:'/pages/h5/activity/meobohui', // '-1':`/pages/h5/article/path?link=${linkHref}` 24:'/pages/user/coupon/coupon', 25:'/pages/goods/goods-doc-list', //美业资料 28:`/pages/h5/article/path?link=${linkHref}`, // 采美认证通 29:'/pages/user/coupon/coupon-collection',//领券中心 } const url = typeMap[linkType] uni.navigateTo({ url:url }) } }, navigateTo:function(url){ //路由跳转:页面之间路由跳转 uni.navigateTo({ url:url }) }, redirectTo:function(url){ //路由跳转:关闭当前页跳转到新页面 uni.redirectTo({ url:url }) }, reLaunch:function(url){ //路由跳转:关闭当前页跳转到新页面 uni.reLaunch({ url:url }) }, switchTabTo:function(url){ //路由跳转:底部 tab页 uni.switchTab({ url:url }) }, navigateBack:function(page){ uni.navigateBack({ delta: page }) }, isNumber:function(value){//验证是否为数字 var patrn = /^(-)?\d+(\.\d+)?$/ if (patrn.exec(value) == null || value == '') { return false } else { return true } }, getWindowHeight:function(){ // 获取窗口高度 const {windowHeight, pixelRatio} = wx.getSystemInfoSync() return windowHeight }, adaptRichTextImg:function(res){ /** *@富文本实现图片自适应 *@style再添加自适应样式 */ const html = res.replace(/]*>/gi,function(match,capture){ let match1 = match.replace(/ dateString 2021-07-06 14:23 return dateString } } /** *@导出 */ module.exports = { get: caimeiApi.get, post: caimeiApi.post, lodingGet: caimeiApi.lodingGet, isNumber: caimeiApi.isNumber, FormatMoney: caimeiApi.FormatMoney, navigateTo: caimeiApi.navigateTo, reLaunch: caimeiApi.reLaunch, redirectTo: caimeiApi.redirectTo, switchTabTo: caimeiApi.switchTabTo, navigateBack: caimeiApi.navigateBack, formatDate: caimeiApi.formatDate, loginStatus: caimeiApi.loginStatus, setStorage: caimeiApi.setStorage, getStorage: caimeiApi.getStorage, removeStorage: caimeiApi.removeStorage, getComStorage: caimeiApi.getComStorage, navToListPage: caimeiApi.navToListPage, navigateToGoods: caimeiApi.navigateToGoods, getWindowHeight: caimeiApi.getWindowHeight, adaptRichTextImg: caimeiApi.adaptRichTextImg, getStorageAddressKey: caimeiApi.getStorageAddressKey, regexSets: caimeiApi.regexSets, timestampToTime: caimeiApi.timestampToTime, BannerNavigateTo:caimeiApi.BannerNavigateTo, FlooryNavigateTo:caimeiApi.FlooryNavigateTo, easyFormatData:caimeiApi.easyFormatData }