1 Star 1 Fork 0

寂无声/e_jiazhuang

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
app.js 14.83 KB
一键复制 编辑 原始数据 按行查看 历史
zhangxiongjie 提交于 2018-12-11 20:46 . 添加一些动态可变配置
//app.js
var util = require('utils/util.js')
var utilMd5 = require('utils/md5.js');
App({
onLaunch: function() {
//调用API从本地缓存中获取数据
var that = this;
//var logs = wx.getStorageSync('logs') || []
//logs.unshift(Date.now())
wx.removeStorageSync('userInfo');
wx.removeStorageSync('allAbout');
//底部导航数据
wx.removeStorageSync('navData0');
wx.removeStorageSync('navData1');
//颜色配置信息
wx.removeStorageSync('color_set');
// wx.clearStorageSync();
//登录并获取当前用户信息
//that.LoginUserInfo();
},
//登录并获取当前用户信息
LoginUserInfo: function(cb, inviteuid = 0) {
var that = this
if (!inviteuid || inviteuid == 'undefined') {
inviteuid = 0;
}
//先判断缓存中有无数据
var userInfo = wx.getStorageSync('userInfo');
if (userInfo) {
that.globalData.userInfo = userInfo;
typeof cb == "function" && cb(this.globalData.userInfo)
} else {
if (new Date().getTime() - parseInt(wx.getStorageSync("lastTime")) < 5000) {
console.log("wx.getUserInfo have execute:");
return;
}
wx.setStorageSync("lastTime", new Date().getTime())
//调用微信登录接口
wx.login({
success: function(e) {
wx.getUserInfo({
success: function(res) {
console.log(222);
console.log(res);
var js_code = e.code;
console.log("js_code:" + js_code);
//小程序登录地址
// var loginUrl = util.api_host + '/index.php?app=w3g&mod=Public&act=loginWechatSmall';
//会新建用户的 登录请求地址
// var loginUrl = util.api_host + '/index.php?app=w3g&mod=Public&act=loginWechatSmallCon&binduid=' + util.orgid + '&appid=' + util.appid;
var loginUrl = util.api_host + '/index.php?app=w3g&mod=Public&act=loginWechatSmallCon&binduid=' + util.orgid;
var params = {
"code": js_code,
"encryptedData": res.encryptedData,
"iv": res.iv,
"inviteuid": inviteuid
};
console.log("请求地址:" + loginUrl, params);
wx.request({
url: loginUrl,
data: params,
method: 'GET', // OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, CONNECT
// header: {}, // 设置请求的 header
success: function(response) {
console.log(333);
console.log(response);
if (response.data.status == 1) {
//登录成功,存储信息
that.globalData.userInfo = response.data.data;
wx.setStorageSync('userInfo', response.data.data);
console.log(that.globalData);
typeof cb == "function" && cb(that.globalData.userInfo)
// 登录页面
if (util.orgid == 13078) {
var path = "/pages/xtt-denglu/xtt-denglu";
wx.redirectTo({
url: path,
})
}
} else {
wx.showToast({
title: response.data.message,
icon: 'error',
duration: 2000
})
}
},
fail: function(e) {
// fail
console.log("wx.request:", e);
}
})
},
fail: function() {
var path = "/pages/authorization/authorization";
wx.navigateTo({
url: path,
})
console.log("wx.getUserInfo fail:", e);
typeof cb == "function" && cb(-1);
}
})
},
fail: function(e) {
console.log("wx.login fail:", e);
}
});
}
},
reAuthorize: function(cb) {
// var that = this;
wx.openSetting({
success: function(res) {
if (res.authSetting["scope.userInfo"]) {
console.log("reAuthorize success:", res);
typeof cb == "function" && cb(1);
} else {
console.log("reAuthorize fail:", res);
typeof cb == "function" && cb(-1);
}
},
// fail:function(res){
// console.log("reAuthorize fail:", res);
// typeof cb == "function" && cb(-1);
// },
// complete: function (res) {
// if (res.authSetting["scope.userInfo"]) {
// console.log("reAuthorize success:", res);
// typeof cb == "function" && cb(1);
// } else {
// console.log("reAuthorize fail:", res);
// typeof cb == "function" && cb(-1);
// }
// }
})
},
//获取某个用户id的信息
GetUserInfo: function(uid, cb) {
util.api({
data: {
"publickey": util.publiccode,
"ac": "userinfo",
"uid": uid
},
success: function(responseData) {
console.log(responseData);
var res = responseData.data
//格式化图片
if (res.photosData) {
res.photosData = res.photo.split(',');
}
//格式化视频
if (res.videosData) {
res.videosData = res.video.split(',');
}
typeof cb == "function" && cb(res)
}
});
},
//获取关于 售后保障 联系方式 dataName: about-关于 shouhou-售后 contact-联系方式
getAllAbout: function(dataName, cb) {
var allAbout = wx.getStorageSync('allAbout');
if (dataName && allAbout) {
var res = allAbout[dataName];
typeof cb == "function" && cb(res)
} else {
util.api({
data: {
"publickey": util.publiccode,
"ac": "about",
"uid": util.orgid
},
success: function(responseData) {
console.log("所有关于数据:", responseData);
var allData = responseData.data;
var res = allData[dataName];
wx.setStorageSync('allAbout', allData);
typeof cb == "function" && cb(res)
}
});
}
},
//设置语言标识(简体/繁体)标识
set_tc: function(tc) {
wx.setStorageSync('tc', tc);
console.log("setStorageSync简体/繁体 tc =" + tc + "!");
},
//获取语言(简体/繁体)标识 1:繁体 else 简体
get_tc: function() {
var tc = wx.getStorageSync('tc');
if (util.orgid == 20510 && tc) {
return tc
}
console.log("简体/繁体 tc =" + tc + "!");
if (!tc && -1 != tc) {
tc = 0;
} else if (-1 == tc) {
tc = 1;
}
console.log("简体/繁体 tc = " + tc);
if (util.orgid == 19619 || util.orgid == 20510 || util.orgid == 12545 || util.orgid == 13078 || util.orgid == 14148 || util.orgid == 15938 || util.orgid == 21398) {
tc = 1;
return tc;
} else {
return tc;
}
},
//获取底部导航数据
getBottomNavData: function(path, cb) {
var that = this;
var dataKey = 'navData' + this.get_tc();
//先判断缓存中有无数据
var navData = wx.getStorageSync(dataKey);
if (navData) {
console.log("底部导航数据:", navData);
navData.forEach(function(m, i) {
if (m.data.indexOf(path) > 0) {
m.path = '';
m.class = 'curr';
m.img = m.bimage;
m.color = m.btcolor;
} else {
m.img = m.fimage;
m.color = m.ftcolor;
m.path = m.data;
}
m.text = m.title;
});
// 中英切换
if (util.orgid == 20510) {
var tc = this.get_tc();
for (var i = 0; i < navData.length; i++) {
let navArr = navData[i].title.split(':');
navData[i].text = tc == 1 ? navArr[0] : navArr[1];
}
}
typeof cb == "function" && cb(navData);
}
// else {
var params = {
"publickey": util.publiccode,
"ac": "getnav",
"uid": util.orgid,
"tc": this.get_tc()
};
util.api({
data: params,
success: function(responseData) {
console.log("底部导航数据:", responseData);
var result = responseData.data;
if (result && result.length > 0) {
wx.setStorageSync(dataKey, result);
result.forEach(function(m, i) {
if (m.data.indexOf(path) > 0) {
m.path = '';
m.class = 'curr';
m.img = m.bimage;
m.color = m.btcolor;
} else {
m.img = m.fimage;
m.color = m.ftcolor;
m.path = m.data;
}
m.text = m.title;
});
if (!navData) {
typeof cb == "function" && cb(result);
}
}
}
});
// }
},
getColorSetData: function(cb) {
// titlebg - 标题栏背景色 titlefont- 标题栏文字色 btnbg- 按钮背景色 btnfont- 按钮字体色 pricecolor- 价格色
var colorData = wx.getStorageSync("color_set");
if (colorData) {
typeof cb == "function" && cb(colorData);
}
// else {
var that = this;
var params = {
ac: "colorset",
publickey: util.publiccode,
uid: util.dataUid,
};
util.api({
data: params,
success: function(responseData) {
console.log("获取颜色配置数据: ", responseData);
var result = responseData.data;
//添加默认配置
if (!result.titlebg) { //标题栏背景色默认 白色
result.titlebg = '#ffffff';
}
if (!result.titlefont) { //标题默认 黑色
result.titlefont = '#000000';
}
if (!result.btnbg) { //按钮背景色默认 红色
result.btnbg = '#d8202d';
}
if (!result.btnfont) { //按钮文字默认 白色
result.btnfont = '#ffffff';
}
if (!result.pricecolor) { //价格默认颜色 红色
result.pricecolor = '#d8202d';
}
wx.setStorageSync("color_set", result);
if (!colorData) {
typeof cb == "function" && cb(result);
}
}
});
},
//获取是否显示广告的标记
getShowGuanggaoSign: function(key, maxCount) {
var date = new Date();
var day = date.getDate();
var time = parseInt(date.getTime() / 1000);
var lastShowInfo = wx.getStorageSync(key, '');
console.log("原广告显示记录:dis seconds = " + (time - lastShowInfo.time), lastShowInfo);
if (!lastShowInfo || lastShowInfo.day != day ||
(lastShowInfo.count < maxCount //今天还有显示次数
&&
time - lastShowInfo.time >= 7200)) { //并间隔两小时才显示
return true;
} else {
return false;
}
},
//设置最后一次显示广告的标记
setShowGuanggaoSign: function(key) {
var date = new Date();
var day = date.getDate();
var time = parseInt(date.getTime() / 1000);
var lastShowInfo = wx.getStorageSync(key, '');
if (!lastShowInfo) {
lastShowInfo = {};
}
var count = 1;
if (lastShowInfo.day == day) {
count = lastShowInfo.count + 1;
}
lastShowInfo.day = day;
lastShowInfo.time = time;
lastShowInfo.count = count;
console.log("设置广告显示记录:", lastShowInfo);
wx.setStorage({
key: key,
data: lastShowInfo
})
},
//计算两个经纬度点的距离
getDistance: function(lat1, lng1, lat2, lng2) {
lat1 = lat1 || 0;
lng1 = lng1 || 0;
lat2 = lat2 || 0;
lng2 = lng2 || 0;
var rad1 = lat1 * Math.PI / 180.0;
var rad2 = lat2 * Math.PI / 180.0;
var a = rad1 - rad2;
var b = lng1 * Math.PI / 180.0 - lng2 * Math.PI / 180.0;
var r = 6378137;
return r * 2 * Math.asin(Math.sqrt(Math.pow(Math.sin(a / 2), 2) + Math.cos(rad1) * Math.cos(rad2) * Math.pow(Math.sin(b / 2), 2)))
},
//获取腾讯视频 源链接
getVideoSrcLink: function(index, videoLink, cb) {
var that = this;
var params = {
ac: "xcxvideo",
publickey: util.publiccode,
url: videoLink
};
// console.log("获取视频源地址 参数: ", params);
util.api({
data: params,
success: function(responseData) {
console.log("获取视频源地址 返回: ", responseData);
if (responseData.data.res) {
typeof cb == "function" && cb(responseData.data.url, index)
} else {
typeof cb == "function" && cb(-1, -1)
}
}
});
},
//保存 模版消息 的推送 formid
saveFormId: function(formid) {
this.LoginUserInfo(function(res) {
if (res == -1) { //授权失败 无法上传formId
return;
}
var privateKey = utilMd5.hexMD5(res.uid + 'addformid' + res.token);
util.api({
method: "POST",
data: {
"privatekey": privateKey,
"ac": "addformid",
"uid": res.uid,
"formid": formid
},
success: function(responseData) {
var res = responseData.data;
}
});
});
},
globalData: {
userInfo: null,
imgDomain: util.api_host + '/wechat',
},
//消息提示
dialog: function(title, icon, cb) {
wx.showToast({
title: title,
icon: icon,
duration: 2000
});
setTimeout(function() {
wx.hideToast()
}, icon == 'success' ? 2000 : 1000)
typeof cb == "function" && cb()
},
//消息提示
dialogToast: function(title, icon, cb) {
wx.showToast({
title: title,
icon: icon,
duration: 1500
});
setTimeout(function() {
typeof cb == "function" && cb()
}, 1500)
},
parseHTMLText: function(htmlSrc) {
if (!htmlSrc && htmlSrc.length <= 0) return '';
var str = htmlSrc.length > 300 ? htmlSrc.substring(0, 300) : htmlSrc;
str = str.replace(/[\r\n]/g, '');
// console.log("替换<br>后:" + str);
str = str.replace(/^\s+|\s+$/g, ''); //去掉首尾多余的换行
// console.log("替换<br>后:" + str);
str = str.replace(/<br>/g, '\n'); //替换 <br> 为 \n
// console.log("替换<br>后:" + str);
str = str.replace(/<br\/>/g, '\n'); //替换 <br> 为 \n
str = str.replace(/<br \/>/g, '\n'); //替换 <br> 为 \n
// console.log("替换<br>后:" + str);
str = str.replace(/<\/?[^>]*>/g, ''); //去除HTML tag
// console.log("去除HTML tag:" + str);
str = str.replace(/[ | ]*\n/g, '\n'); //去除行尾空白
// console.log("去除行尾空白:" + str);
// str = str.replace(/\n[\s| | ]*\r/g,'\n'); //去除多余空行
// console.log("去除多余空行:" + str);
str = str.replace(/&nbsp;/ig, ''); //去掉&nbsp;
// console.log("去掉&nbsp:" + str);
str = str.replace(/&mdash;/ig, ''); //去掉&mdash;
// console.log("去掉&mdash:" + str);
// str = str.replace(/\s/g, ''); //将空格去掉
// console.log("将空格去掉:" + str);
return str;
},
debug: true
})
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/jiwusheng/e_jiazhuang.git
git@gitee.com:jiwusheng/e_jiazhuang.git
jiwusheng
e_jiazhuang
e_jiazhuang
master

搜索帮助

0d507c66 1850385 C8b1a773 1850385