707 lines
19 KiB
JavaScript
707 lines
19 KiB
JavaScript
|
function getdomain() {
|
|||
|
var app = getApp();
|
|||
|
|
|||
|
var new_domain = app.siteInfo.uniacid + '_' + app.siteInfo.siteroot;
|
|||
|
|
|||
|
var api = new_domain;
|
|||
|
return api;
|
|||
|
}
|
|||
|
|
|||
|
function api() {
|
|||
|
var api = 'https://www.eaterplanet.com/api/';
|
|||
|
return api;
|
|||
|
}
|
|||
|
|
|||
|
function check_login() {
|
|||
|
let token = wx.getStorageSync('token');
|
|||
|
let member_id = wx.getStorageSync('member_id');
|
|||
|
|
|||
|
if (token && member_id != undefined && member_id.length > 0) {
|
|||
|
return true;
|
|||
|
} else {
|
|||
|
return false;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
/**
|
|||
|
* 检查登录状态
|
|||
|
* return promise [Boolean]
|
|||
|
*/
|
|||
|
function check_login_new() {
|
|||
|
let token = wx.getStorageSync('token');
|
|||
|
let member_id = wx.getStorageSync('member_id');
|
|||
|
return new Promise(function (resolve, reject) {
|
|||
|
wx.checkSession({
|
|||
|
success() {
|
|||
|
console.log('checkSession 未过期');
|
|||
|
if (token && member_id != undefined && member_id.length > 0) {
|
|||
|
resolve(true)
|
|||
|
} else {
|
|||
|
resolve(false)
|
|||
|
}
|
|||
|
},
|
|||
|
fail() {
|
|||
|
console.log('checkSession 过期');
|
|||
|
resolve(false)
|
|||
|
}
|
|||
|
})
|
|||
|
})
|
|||
|
}
|
|||
|
|
|||
|
/**
|
|||
|
* 检查跳转权限控制
|
|||
|
* return [Boolean]
|
|||
|
*/
|
|||
|
function checkRedirectTo(url, needAuth) {
|
|||
|
let status = false;
|
|||
|
if (needAuth) {
|
|||
|
const needAuthUrl = [
|
|||
|
"/eaterplanet_ecommerce/moduleA/groupCenter/apply",
|
|||
|
"/eaterplanet_ecommerce/pages/supply/apply",
|
|||
|
"/eaterplanet_ecommerce/pages/user/charge",
|
|||
|
"/eaterplanet_ecommerce/pages/order/index",
|
|||
|
"/eaterplanet_ecommerce/moduleA/solitaire/index",
|
|||
|
"/eaterplanet_ecommerce/moduleA/vip/upgrade",
|
|||
|
"eaterplanet_ecommerce/moduleA/coupon/getCoupon"
|
|||
|
];
|
|||
|
let idx = needAuthUrl.indexOf(url);
|
|||
|
if (idx !== -1) status = true;
|
|||
|
}
|
|||
|
return status;
|
|||
|
}
|
|||
|
|
|||
|
/**
|
|||
|
* s_link: 回调链接
|
|||
|
* type:跳转方式 0 redirectTo, 1 switchTab
|
|||
|
*/
|
|||
|
function login(s_link, type = 0) {
|
|||
|
var app = getApp();
|
|||
|
var share_id = wx.getStorageSync('share_id');
|
|||
|
if (share_id == undefined) {
|
|||
|
share_id = '0';
|
|||
|
}
|
|||
|
|
|||
|
wx.login({
|
|||
|
success: function (res) {
|
|||
|
if (res.code) {
|
|||
|
console.log(res.code);
|
|||
|
app.util.request({
|
|||
|
'url': 'entry/wxapp/user',
|
|||
|
'data': {
|
|||
|
controller: 'user.applogin',
|
|||
|
'code': res.code
|
|||
|
},
|
|||
|
dataType: 'json',
|
|||
|
success: function (res) {
|
|||
|
console.log(res);
|
|||
|
wx.setStorage({
|
|||
|
key: "token",
|
|||
|
data: res.data.token
|
|||
|
})
|
|||
|
wx.getUserInfo({
|
|||
|
success: function (msg) {
|
|||
|
var userInfo = msg.userInfo
|
|||
|
wx.setStorage({
|
|||
|
key: "userInfo",
|
|||
|
data: userInfo
|
|||
|
})
|
|||
|
console.log(msg.userInfo);
|
|||
|
app.util.request({
|
|||
|
'url': 'entry/wxapp/user',
|
|||
|
'data': {
|
|||
|
controller: 'user.applogin_do',
|
|||
|
'token': res.data.token,
|
|||
|
share_id: share_id,
|
|||
|
nickName: msg.userInfo.nickName,
|
|||
|
avatarUrl: msg.userInfo.avatarUrl,
|
|||
|
encrypteddata: msg.encryptedData,
|
|||
|
iv: msg.iv
|
|||
|
},
|
|||
|
method: 'post',
|
|||
|
dataType: 'json',
|
|||
|
success: function (res) {
|
|||
|
wx.setStorage({
|
|||
|
key: "member_id",
|
|||
|
data: res.data.member_id
|
|||
|
})
|
|||
|
wx.showToast({
|
|||
|
title: '资料已更新',
|
|||
|
icon: 'success',
|
|||
|
duration: 2000,
|
|||
|
success: function () {
|
|||
|
//s_link
|
|||
|
if (s_link && s_link.length > 0) {
|
|||
|
if (type == 1) {
|
|||
|
wx.switchTab({
|
|||
|
url: s_link,
|
|||
|
})
|
|||
|
} else {
|
|||
|
wx.redirectTo({
|
|||
|
url: s_link
|
|||
|
})
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
})
|
|||
|
}
|
|||
|
})
|
|||
|
},
|
|||
|
fail: function (msg) {
|
|||
|
// console.log(msg);
|
|||
|
}
|
|||
|
})
|
|||
|
}
|
|||
|
});
|
|||
|
} else {
|
|||
|
//console.log('获取用户登录态失败!' + res.errMsg)
|
|||
|
}
|
|||
|
}
|
|||
|
})
|
|||
|
}
|
|||
|
|
|||
|
function login_prosime(needPosition = true, userInfo = {}) {
|
|||
|
return new Promise(function (resolve, reject) {
|
|||
|
getCode().then(token => {
|
|||
|
wxGetUserInfo(needPosition, token, userInfo).then(res => {
|
|||
|
resolve(res)
|
|||
|
}).catch(res => {
|
|||
|
console.log(res);
|
|||
|
reject(res)
|
|||
|
});
|
|||
|
})
|
|||
|
})
|
|||
|
}
|
|||
|
|
|||
|
function login_promise(needPosition = true, userInfo = {}) {
|
|||
|
return new Promise(function (resolve, reject) {
|
|||
|
getCode().then(token => {
|
|||
|
let member_info = wx.getStorageSync('member_info')
|
|||
|
console.log(typeof (member_info))
|
|||
|
let wxGetUserInfoFunc = member_info !== null ? wxGetMemberInfo : wxGetUserInfo;
|
|||
|
function handleResponse(res) {
|
|||
|
resolve(res)
|
|||
|
}
|
|||
|
function handleError(res) {
|
|||
|
reject(res)
|
|||
|
}
|
|||
|
wxGetUserInfoFunc(needPosition, token, userInfo, member_info).then(handleResponse).catch(handleError);
|
|||
|
})
|
|||
|
})
|
|||
|
}
|
|||
|
|
|||
|
function getCode() {
|
|||
|
return new Promise(function (resolve, reject) {
|
|||
|
var app = getApp();
|
|||
|
wx.login({
|
|||
|
success: function (res) {
|
|||
|
if (res.code) {
|
|||
|
console.log(res.code);
|
|||
|
app.util.request({
|
|||
|
url: 'entry/wxapp/user',
|
|||
|
data: {
|
|||
|
controller: 'user.applogin',
|
|||
|
code: res.code
|
|||
|
},
|
|||
|
dataType: 'json',
|
|||
|
success: function (res) {
|
|||
|
resolve(res.data.token);
|
|||
|
wx.setStorage({
|
|||
|
key: "token",
|
|||
|
data: res.data.token
|
|||
|
})
|
|||
|
wx.setStorage({
|
|||
|
key: "member_info",
|
|||
|
data: res.data.member_info
|
|||
|
})
|
|||
|
console.log(res.data)
|
|||
|
}
|
|||
|
});
|
|||
|
} else {
|
|||
|
reject(res.errMsg)
|
|||
|
}
|
|||
|
}
|
|||
|
})
|
|||
|
})
|
|||
|
}
|
|||
|
|
|||
|
function wxGetMemberInfo(needPosition, token, userInfo, member_info) {
|
|||
|
return new Promise(function (resolve, reject) {
|
|||
|
var app = getApp();
|
|||
|
var share_id = wx.getStorageSync('share_id');
|
|||
|
var member_info = wx.getStorageSync('member_info');
|
|||
|
if (share_id == undefined) {
|
|||
|
share_id = '0';
|
|||
|
}
|
|||
|
var community = wx.getStorageSync('community');
|
|||
|
var community_id = community && (community.communityId || 0);
|
|||
|
community && wx.setStorageSync('lastCommunity', community);
|
|||
|
app.util.request({
|
|||
|
url: 'entry/wxapp/user',
|
|||
|
data: {
|
|||
|
controller: 'user.applogin_do',
|
|||
|
token,
|
|||
|
member_info,
|
|||
|
share_id: share_id,
|
|||
|
nickName: member_info.username,
|
|||
|
avatarUrl: member_info.avatar,
|
|||
|
community_id
|
|||
|
},
|
|||
|
method: 'post',
|
|||
|
dataType: 'json',
|
|||
|
success: function (res) {
|
|||
|
let isblack = res.data.isblack || 0;
|
|||
|
let isparse_formdata = res.data.isparse_formdata || 0;
|
|||
|
if (isblack == 1) {
|
|||
|
app.globalData.isblack = 1;
|
|||
|
wx.removeStorageSync('token');
|
|||
|
wx.switchTab({
|
|||
|
url: '/eaterplanet_ecommerce/pages/index/index',
|
|||
|
})
|
|||
|
} else if (isparse_formdata == 1) {
|
|||
|
wx.setStorageSync('isparse_formdata', 1);
|
|||
|
wx.setStorage({
|
|||
|
key: "member_id",
|
|||
|
data: res.data.member_id
|
|||
|
})
|
|||
|
wx.reLaunch({
|
|||
|
url: '/eaterplanet_ecommerce/pages/index/index',
|
|||
|
})
|
|||
|
} else {
|
|||
|
wx.setStorage({
|
|||
|
key: "member_id",
|
|||
|
data: res.data.member_id
|
|||
|
})
|
|||
|
console.log('needPosition', needPosition)
|
|||
|
needPosition && getCommunityInfo();
|
|||
|
}
|
|||
|
resolve(res);
|
|||
|
},
|
|||
|
fail: (err) => {
|
|||
|
console.log("9applogin_do")
|
|||
|
reject(err);
|
|||
|
}
|
|||
|
})
|
|||
|
})
|
|||
|
}
|
|||
|
|
|||
|
function wxGetUserInfo(needPosition, token, userInfo) {
|
|||
|
return new Promise(function (resolve, reject) {
|
|||
|
var app = getApp();
|
|||
|
var share_id = wx.getStorageSync('share_id');
|
|||
|
if (share_id == undefined) {
|
|||
|
share_id = '0';
|
|||
|
}
|
|||
|
var community = wx.getStorageSync('community');
|
|||
|
var community_id = community && (community.communityId || 0);
|
|||
|
community && wx.setStorageSync('lastCommunity', community);
|
|||
|
|
|||
|
app.util.request({
|
|||
|
url: 'entry/wxapp/user',
|
|||
|
data: {
|
|||
|
controller: 'user.applogin_do',
|
|||
|
token,
|
|||
|
share_id: share_id,
|
|||
|
nickName: userInfo.nickName,
|
|||
|
avatarUrl: userInfo.avatarUrl,
|
|||
|
community_id
|
|||
|
},
|
|||
|
method: 'post',
|
|||
|
dataType: 'json',
|
|||
|
success: function (res) {
|
|||
|
let isblack = res.data.isblack || 0;
|
|||
|
let isparse_formdata = res.data.isparse_formdata || 0;
|
|||
|
|
|||
|
if (isblack == 1) {
|
|||
|
app.globalData.isblack = 1;
|
|||
|
wx.removeStorageSync('token');
|
|||
|
wx.switchTab({
|
|||
|
url: '/eaterplanet_ecommerce/pages/index/index',
|
|||
|
})
|
|||
|
} else if (isparse_formdata == 1) {
|
|||
|
wx.setStorageSync('isparse_formdata', 1);
|
|||
|
wx.setStorage({
|
|||
|
key: "member_id",
|
|||
|
data: res.data.member_id
|
|||
|
})
|
|||
|
wx.reLaunch({
|
|||
|
url: '/eaterplanet_ecommerce/pages/index/index',
|
|||
|
})
|
|||
|
} else {
|
|||
|
wx.setStorage({
|
|||
|
key: "member_id",
|
|||
|
data: res.data.member_id
|
|||
|
})
|
|||
|
console.log('needPosition', needPosition)
|
|||
|
needPosition && getCommunityInfo();
|
|||
|
}
|
|||
|
resolve(res);
|
|||
|
},
|
|||
|
fail: (err) => {
|
|||
|
reject(err);
|
|||
|
}
|
|||
|
})
|
|||
|
})
|
|||
|
}
|
|||
|
|
|||
|
function stringToJson(data) {
|
|||
|
return JSON.parse(data);
|
|||
|
}
|
|||
|
|
|||
|
function jsonToString(data) {
|
|||
|
return JSON.stringify(data);
|
|||
|
}
|
|||
|
|
|||
|
function imageUtil(e) {
|
|||
|
var imageSize = {};
|
|||
|
var originalWidth = e.detail.width; //图片原始宽
|
|||
|
var originalHeight = e.detail.height; //图片原始高
|
|||
|
var originalScale = originalHeight / originalWidth; //图片高宽比
|
|||
|
|
|||
|
//获取屏幕宽高
|
|||
|
wx.getSystemInfo({
|
|||
|
success: function (res) {
|
|||
|
var windowWidth = res.windowWidth;
|
|||
|
var windowHeight = res.windowHeight;
|
|||
|
var windowscale = windowHeight / windowWidth; //屏幕高宽比
|
|||
|
|
|||
|
//console.log('windowWidth: ' + windowWidth)
|
|||
|
//console.log('windowHeight: ' + windowHeight)
|
|||
|
if (originalScale < windowscale) { //图片高宽比小于屏幕高宽比
|
|||
|
//图片缩放后的宽为屏幕宽
|
|||
|
imageSize.imageWidth = windowWidth;
|
|||
|
imageSize.imageHeight = (windowWidth * originalHeight) / originalWidth;
|
|||
|
} else { //图片高宽比大于屏幕高宽比
|
|||
|
//图片缩放后的高为屏幕高
|
|||
|
imageSize.imageHeight = windowHeight;
|
|||
|
imageSize.imageWidth = (windowHeight * originalWidth) / originalHeight;
|
|||
|
}
|
|||
|
}
|
|||
|
})
|
|||
|
//console.log('缩放后的宽: ' + imageSize.imageWidth)
|
|||
|
//console.log('缩放后的高: ' + imageSize.imageHeight)
|
|||
|
return imageSize;
|
|||
|
}
|
|||
|
|
|||
|
const formatTime = date => {
|
|||
|
const year = date.getFullYear()
|
|||
|
const month = date.getMonth() + 1
|
|||
|
const day = date.getDate()
|
|||
|
const hour = date.getHours()
|
|||
|
const minute = date.getMinutes()
|
|||
|
const second = date.getSeconds()
|
|||
|
|
|||
|
return [year, month, day].map(formatNumber).join('/') + ' ' + [hour, minute, second].map(formatNumber).join(':')
|
|||
|
}
|
|||
|
|
|||
|
const formatNumber = n => {
|
|||
|
n = n.toString()
|
|||
|
return n[1] ? n : '0' + n
|
|||
|
}
|
|||
|
|
|||
|
//获取社区存本地
|
|||
|
const getCommunityInfo = function (param = {}) {
|
|||
|
// let community = wx.getStorageSync('community');
|
|||
|
let app = getApp();
|
|||
|
// let that = this;
|
|||
|
var token = wx.getStorageSync('token');
|
|||
|
return new Promise(function (resolve, reject) {
|
|||
|
// if (!community){
|
|||
|
app.util.request({
|
|||
|
url: 'entry/wxapp/index',
|
|||
|
data: {
|
|||
|
controller: 'index.load_history_community',
|
|||
|
token: token
|
|||
|
},
|
|||
|
dataType: 'json',
|
|||
|
success: function (res) {
|
|||
|
if (res.data.code == 0) {
|
|||
|
let history_communities = res.data.list;
|
|||
|
if (Object.keys(history_communities).length > 0 || history_communities.communityId != 0) {
|
|||
|
wx.setStorageSync('community', history_communities);
|
|||
|
app.globalData.community = history_communities;
|
|||
|
resolve(history_communities);
|
|||
|
} else {
|
|||
|
resolve('');
|
|||
|
}
|
|||
|
} else if (res.data.code == 1) {
|
|||
|
console.log(param)
|
|||
|
if (check_login() && param.communityId === void 0) {
|
|||
|
wx.redirectTo({
|
|||
|
url: '/eaterplanet_ecommerce/pages/position/community',
|
|||
|
})
|
|||
|
resolve('');
|
|||
|
} else {
|
|||
|
resolve(param);
|
|||
|
}
|
|||
|
} else {
|
|||
|
// 未登录
|
|||
|
resolve('');
|
|||
|
}
|
|||
|
}
|
|||
|
})
|
|||
|
// } else {
|
|||
|
// resolve('')
|
|||
|
// }
|
|||
|
})
|
|||
|
}
|
|||
|
|
|||
|
/**
|
|||
|
* 通过社区id获取社区信息
|
|||
|
* 单社区控制
|
|||
|
* data:该id社区信息
|
|||
|
* open_danhead_model:是否开启单社区
|
|||
|
* default_head_info: 自定义单社区信息
|
|||
|
*/
|
|||
|
const getCommunityById = function (community_id) {
|
|||
|
return new Promise(function (resolve, reject) {
|
|||
|
getApp().util.request({
|
|||
|
url: 'entry/wxapp/index',
|
|||
|
data: {
|
|||
|
controller: 'index.get_community_info',
|
|||
|
community_id
|
|||
|
},
|
|||
|
dataType: 'json',
|
|||
|
success: function (res) {
|
|||
|
if (res.data.code == 0) resolve(res.data);
|
|||
|
}
|
|||
|
})
|
|||
|
})
|
|||
|
}
|
|||
|
|
|||
|
/**
|
|||
|
* 历史社区
|
|||
|
*/
|
|||
|
const addhistory = function (community, isNew = false) {
|
|||
|
var community_id = community.communityId;
|
|||
|
console.log('addhistory');
|
|||
|
var token = wx.getStorageSync('token');
|
|||
|
getApp().util.request({
|
|||
|
url: 'entry/wxapp/index',
|
|||
|
data: {
|
|||
|
controller: 'index.addhistory_community',
|
|||
|
community_id,
|
|||
|
token: token
|
|||
|
},
|
|||
|
dataType: 'json',
|
|||
|
success: function (res) {
|
|||
|
if (isNew) {
|
|||
|
console.log('新人 社区')
|
|||
|
app.util.request({
|
|||
|
url: 'entry/wxapp/index',
|
|||
|
data: {
|
|||
|
controller: 'index.get_community_info',
|
|||
|
community_id: community_id
|
|||
|
},
|
|||
|
dataType: 'json',
|
|||
|
success: function (result) {
|
|||
|
if (result.data.code == 0) {
|
|||
|
let community = result.data.data;
|
|||
|
app.globalData.community = community;
|
|||
|
app.globalData.changedCommunity = true;
|
|||
|
wx.setStorage({
|
|||
|
key: "community",
|
|||
|
data: community
|
|||
|
})
|
|||
|
}
|
|||
|
}
|
|||
|
})
|
|||
|
}
|
|||
|
}
|
|||
|
})
|
|||
|
}
|
|||
|
|
|||
|
/**
|
|||
|
* 获取wx的版本号
|
|||
|
*/
|
|||
|
const getWxVersion = function () {
|
|||
|
return wx.getSystemInfoSync().SDKVersion
|
|||
|
}
|
|||
|
|
|||
|
/**
|
|||
|
* 微信版本比较, v1 大于 v2,返回1,否则返回 0
|
|||
|
* @param {Object} v1
|
|||
|
* @param {Object} v2
|
|||
|
*/
|
|||
|
const wxCompareVersion = function (v1, v2) {
|
|||
|
v1 = v1.split('.')
|
|||
|
v2 = v2.split('.')
|
|||
|
const len = Math.max(v1.length, v2.length)
|
|||
|
while (v1.length < len) {
|
|||
|
v1.push('0')
|
|||
|
}
|
|||
|
while (v2.length < len) {
|
|||
|
v2.push('0')
|
|||
|
}
|
|||
|
for (let i = 0; i < len; i++) {
|
|||
|
const num1 = parseInt(v1[i])
|
|||
|
const num2 = parseInt(v2[i])
|
|||
|
|
|||
|
if (num1 > num2) {
|
|||
|
return 1
|
|||
|
} else if (num1 < num2) {
|
|||
|
return -1
|
|||
|
}
|
|||
|
}
|
|||
|
return 0
|
|||
|
}
|
|||
|
|
|||
|
const addCart = function (option) {
|
|||
|
return new Promise((resolve, reject) => {
|
|||
|
let token = wx.getStorageSync('token');
|
|||
|
getApp().util.request({
|
|||
|
url: 'entry/wxapp/user',
|
|||
|
data: {
|
|||
|
controller: 'car.add',
|
|||
|
token,
|
|||
|
...option
|
|||
|
},
|
|||
|
dataType: 'json',
|
|||
|
method: 'POST',
|
|||
|
success: function (res) {
|
|||
|
if (res.data.code == 7) {
|
|||
|
let {
|
|||
|
has_image,
|
|||
|
pop_vipmember_buyimage
|
|||
|
} = res.data;
|
|||
|
if (has_image == 1 && pop_vipmember_buyimage) {
|
|||
|
res.showVipModal = 1;
|
|||
|
res.data.pop_vipmember_buyimage = pop_vipmember_buyimage;
|
|||
|
resolve(res)
|
|||
|
} else {
|
|||
|
resolve(res)
|
|||
|
}
|
|||
|
} else {
|
|||
|
resolve(res)
|
|||
|
}
|
|||
|
},
|
|||
|
fail: function (res) {
|
|||
|
reject(res)
|
|||
|
}
|
|||
|
})
|
|||
|
})
|
|||
|
}
|
|||
|
|
|||
|
const filterTel = function (shipping_tel) {
|
|||
|
if (shipping_tel) {
|
|||
|
var pat = /(\d{7})\d*(\d{0})/;
|
|||
|
return shipping_tel.replace(pat, '$1****$2');
|
|||
|
}
|
|||
|
return shipping_tel;
|
|||
|
}
|
|||
|
|
|||
|
/*函数节流*/
|
|||
|
function throttle(fn, interval) {
|
|||
|
var enterTime = 0; //触发的时间
|
|||
|
var gapTime = interval || 300; //间隔时间,如果interval不传,则默认300ms
|
|||
|
return function () {
|
|||
|
var context = this;
|
|||
|
var backTime = new Date(); //第一次函数return即触发的时间
|
|||
|
if (backTime - enterTime > gapTime) {
|
|||
|
fn.call(context, arguments);
|
|||
|
enterTime = backTime; //赋值给第一次触发的时间,这样就保存了第二次触发的时间
|
|||
|
}
|
|||
|
};
|
|||
|
}
|
|||
|
|
|||
|
/*函数防抖*/
|
|||
|
function debounce(fn, interval) {
|
|||
|
var timer;
|
|||
|
var gapTime = interval || 1000; //间隔时间,如果interval不传,则默认1000ms
|
|||
|
return function () {
|
|||
|
clearTimeout(timer);
|
|||
|
var context = this;
|
|||
|
var args = arguments; //保存此处的arguments,因为setTimeout是全局的,arguments不是防抖函数需要的。
|
|||
|
timer = setTimeout(function () {
|
|||
|
fn.call(context, args);
|
|||
|
}, gapTime);
|
|||
|
};
|
|||
|
}
|
|||
|
|
|||
|
const fileSystem = wx.getFileSystemManager()
|
|||
|
/**
|
|||
|
* 缓存图片
|
|||
|
*/
|
|||
|
const getStorageImage = (web_image) => {
|
|||
|
return new Promise((resolve, reject) => {
|
|||
|
let webImages = wx.getStorageSync('webImages') || []
|
|||
|
let webImage = webImages.find(y => y.web_path === web_image)
|
|||
|
if (webImage) {
|
|||
|
try {
|
|||
|
fileSystem.accessSync(webImage.local_path)
|
|||
|
resolve(webImage.local_path)
|
|||
|
return webImage.local_path
|
|||
|
} catch (e) {
|
|||
|
// let webImageIdx = webImages.findIndex(y => y.web_path === web_image)
|
|||
|
// webImages.splice(webImageIdx, 1)
|
|||
|
wx.setStorageSync('webImages', webImages)
|
|||
|
}
|
|||
|
resolve(web_image)
|
|||
|
} else {
|
|||
|
wx.downloadFile({
|
|||
|
url: web_image,
|
|||
|
success(res) {
|
|||
|
if (res.statusCode === 200) {
|
|||
|
let filePath = res.tempFilePath
|
|||
|
// let webImageStorage = wx.getStorageSync('webImages') || []
|
|||
|
let webImageStorage = []
|
|||
|
wx.getImageInfo({
|
|||
|
src: filePath,
|
|||
|
success(ret) {
|
|||
|
let windowWidth = getApp().globalData.systemInfo.windowWidth || 375;
|
|||
|
let h = ret.height;
|
|||
|
let w = ret.width;
|
|||
|
let height = h * windowWidth / w;
|
|||
|
let storage = {
|
|||
|
web_path: web_image,
|
|||
|
local_path: filePath,
|
|||
|
height,
|
|||
|
last_time: Date.parse(new Date()),
|
|||
|
}
|
|||
|
webImageStorage.push(storage)
|
|||
|
wx.setStorageSync('webImages', webImageStorage)
|
|||
|
resolve(web_image)
|
|||
|
},
|
|||
|
fail(err) {
|
|||
|
console.log(err)
|
|||
|
reject()
|
|||
|
}
|
|||
|
})
|
|||
|
} else {
|
|||
|
reject()
|
|||
|
}
|
|||
|
},
|
|||
|
fail() {
|
|||
|
reject()
|
|||
|
}
|
|||
|
})
|
|||
|
}
|
|||
|
// return web_image
|
|||
|
})
|
|||
|
}
|
|||
|
|
|||
|
module.exports = {
|
|||
|
formatTime: formatTime,
|
|||
|
login: login,
|
|||
|
check_login: check_login,
|
|||
|
api: api,
|
|||
|
getdomain: getdomain,
|
|||
|
imageUtil: imageUtil,
|
|||
|
jsonToString: jsonToString,
|
|||
|
stringToJson: stringToJson,
|
|||
|
login_prosime,
|
|||
|
login_promise,
|
|||
|
wxGetMemberInfo,
|
|||
|
getCommunityInfo,
|
|||
|
check_login_new,
|
|||
|
checkRedirectTo,
|
|||
|
getCommunityById,
|
|||
|
addhistory,
|
|||
|
wxGetUserInfo,
|
|||
|
getWxVersion,
|
|||
|
wxCompareVersion,
|
|||
|
addCart,
|
|||
|
filterTel,
|
|||
|
throttle,
|
|||
|
debounce,
|
|||
|
getStorageImage
|
|||
|
}
|