/** * @Time 2019-12-12 * @Author Zhengjingyi * @Action 全局公共方法 */ import requestUrl from '@/services/process.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) } }) }); }, 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:`/second/pages/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}`, 4:`/h5/pages/activity/activity?title=${pros.crmTitle}&link=${pros.crmLink}`, 5:`/pages/goods/product?id=${pros.linkParam.id}`, 7:`/supplier/pages/user/my-shop?shopId=${pros.linkParam.id}`, 8:`/h5/pages/activity/activity-list`, 9:`/second/pages/form/introduce`, 10:`/second/pages/product/product-list`, 11:`/second/pages/form/form`, 12:`/search/pages/search/search?keyWord=${pros.linkParam.keyword}`, 13:`/h5/pages/article/path?link=${pros.link}`, 14:`/h5/pages/article/path?link=${pros.link}`, 15:`/h5/pages/article/path?link=${pros.link}`, 17:`/pages/login/register-select`, 18:`/h5/pages/article/path?link=${pros.link}`, 19:`/search/pages/search/search-supplier?keyWord=${pros.linkParam.keyword}`, 21:`/h5/pages/activity/meobohui` } 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:`/h5/pages/activity/activity?id=${linkId}`, 5:`/pages/goods/product?id=${linkId}`, 7:`/supplier/pages/user/my-shop?shopId=${linkId}`, 8:`/h5/pages/activity/activity-list`, 9:`/second/pages/form/introduce`, 10:`/second/pages/product/product-list`, 11:`/second/pages/form/form`, 12:`/search/pages/search/search?keyWord=${keyword}`, 13:`/h5/pages/article/path?link=${linkHref}`, 14:`/h5/pages/article/path?link=${linkHref}`, 15:`/h5/pages/article/path?link=${linkHref}`, 17:`/pages/login/register-select`, 18:`/h5/pages/article/path?link=${linkHref}`, 19:`/search/pages/search/search-supplier?keyWord=${keyword}`, 21:`/h5/pages/activity/meobohui` } const url = typeMap[linkType]; uni.navigateTo({ url:url }) } }, navigateTo:function(url){ //路由跳转:页面之间路由跳转 uni.navigateTo({ url:url }) }, redirectTo:function(url){ //路由跳转:关闭当前页跳转到新页面 uni.redirectTo({ url:url }) }, switchTabTo:function(url){ //路由跳转:底部 tab页 uni.switchTab({ url:url }) }, 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(/