/**
* @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(/![]()