You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
pdd-order-api/bak/order_common_real.js

308 lines
14 KiB
JavaScript

11 months ago
var RIC = RIC || {};
!function($) {
var Host = window.location.protocol + '//' + window.location.host + '/', self;
$.OrderCommon = function() {
this.UrlMaps = {
downloadBrowserPlugin: Host + 'common/overall/downloadBrowserPlugin',
getMallBrowserPluginAgreement: Host + 'common/overall/getMallBrowserPluginAgreement',
saveMallBrowserPluginAgreement: Host + 'common/overall/saveMallBrowserPluginAgreement',
};
self = this;
};
$.OrderCommon.prototype = {
checkMsOrderPlugin: function() {
if (parseInt($("#J_requestIsElectron").val())) {
return true;
}
var appName = $('#J_appName').val();
if (appName == 'pdddz' || appName == 'pdddzod') {
var downloadUrl = Host + "app/views/static/dzorder-plugin.crx?t=" + new Date().getTime();
var installTip = '<div class="p-a-md text-center"><div class="alert alert-warning ft_16 m-b"><i class="fa fa-warning fa-fw"></i>系统检测到您未安装店长一键下单插件,请下载安装最新店长一键下单插件,安装成功后请刷新页面。</div><p clas="ft_14">如果已安装,<a href="javascript:window.location.reload();"><i class="fa fa-refresh fa-fw"></i>请点击刷新</a></p><a class="btn btn-primary" href="https://pdddz-pub.oss-cn-beijing.aliyuncs.com/plugin/dzorder-plugin.zip"><i class="fa fa-chrome fa-fw"></i>下载谷歌浏览器插件</a><a class="btn btn-primary m-l" href="https://pdddz-pub.oss-cn-beijing.aliyuncs.com/plugin/dzorder-plugin.crx"><i class="fa fa-edge fa-fw"></i>下载360/QQ等浏览器插件</a></div>';
var updateTip = '<div class="p-a-md text-center"><div class="alert alert-info ft_16 m-b"><i class="fa fa-info-circle fa-fw fa-lg"></i>店长一键下单插件升级,请下载安装最新版店长一键下单插件,安装成功后请刷新页面。</div><p clas="ft_14">如果已安装,<a href="javascript:window.location.reload();"><i class="fa fa-refresh fa-fw"></i>请点击刷新</a></p><a class="btn btn-primary" href="https://pdddz-pub.oss-cn-beijing.aliyuncs.com/plugin/dzorder-plugin.zip"><i class="fa fa-chrome fa-fw"></i>下载谷歌浏览器插件</a><a class="btn btn-primary m-l" href="https://pdddz-pub.oss-cn-beijing.aliyuncs.com/plugin/dzorder-plugin.crx"><i class="fa fa-edge fa-fw"></i>下载360/QQ等浏览器插件</a></div>';
var newVersion = $("#J_newDzOrderChromeExtReady").data('version');
var newestVersion = $("#J_newestDzOrderPluginVersion").val();
if (!newVersion) {
$.layer({
type: 1,
area: ["500px", "180px"],
title: false,
closeBtn: [1, true],
shadeClose: false,
fix: true,
skin: "layer-ext-moon",
page: {
html: installTip,
}
});
return false
}
} else if (appName == 'mspddod') {
var newVersion = $("#J_newMsOrderChromeExtReady").data('version');
var pddVersion = $("#J_pddMsOrderChromeExtReady").data('version');
var hasInstallPlugin = true;
if (!newVersion && !pddVersion) {
hasInstallPlugin = false;
}
if (newVersion && !pddVersion) {
hasInstallPlugin = false;
}
if (newVersion && pddVersion) {
hasInstallPlugin = false;
}
let cacheVersionKey = 'currentBrowserPluginVersion';
let cacheVersion = window.localStorage.getItem(cacheVersionKey) || null;
if (pddVersion && (!cacheVersion || (cacheVersion != pddVersion))) {
window.localStorage.setItem(cacheVersionKey, pddVersion);
self.saveShopBrowserPluginAgreement({'version': self.getPluginVersion()});
}
if (!hasInstallPlugin) {
self.showMsInstallBrowserPluginTip(hasInstallPlugin);
return hasInstallPlugin;
}
self.checkShowBrowserPluginUpdateModal(true);
} else {
var downloadUrl = Host + "app/views/static/msorder-plugin.crx?t=" + new Date().getTime();
var installTip = '<div class="p-a-md text-center"><div class="alert alert-warning ft_16 m-b"><i class="fa fa-warning fa-fw"></i>系统检测到您未安装妙手一键下单插件,请下载安装最新妙手一键下单插件,安装成功后请刷新页面。</div><p clas="ft_14">如果已安装,<a href="javascript:window.location.reload();"><i class="fa fa-refresh fa-fw"></i>请点击刷新</a></p><a class="btn btn-primary" href="' + downloadUrl + '"><i class="fa fa-cloud-download fa-fw"></i>下载插件</a></div>';
var updateTip = '<div class="p-a-md text-center"><div class="alert alert-info ft_16 m-b"><i class="fa fa-info-circle fa-fw fa-lg"></i>妙手一键下单插件升级,请下载安装最新版妙手一键下单插件,安装成功后请刷新页面。</div><p clas="ft_14">如果已安装,<a href="javascript:window.location.reload();"><i class="fa fa-refresh fa-fw"></i>请点击刷新</a></p><a class="btn btn-primary" href="' + downloadUrl + '"><i class="fa fa-cloud-download fa-fw"></i>下载插件</a></div>';
var newVersion = $("#J_newMsOrderChromeExtReady").data('version');
var newestVersion = $("#J_newestMsOrderPluginVersion").val();
if (!newVersion) {
$.layer({
type: 1,
area: ["500px", "180px"],
title: false,
closeBtn: [1, true],
shadeClose: false,
fix: true,
skin: "layer-ext-moon",
page: {
html: installTip,
}
});
return false
}
}
// 暂时不强制升级
// if (newestVersion > newVersion) {
// $.layer({
// type: 1,
// area: ["500px", "180px"],
// title: false,
// closeBtn: 1,
// shadeClose: false,
// fix: true,
// skin: "layer-ext-moon",
// page: {
// html: updateTip,
// }
// });
// return false
// }
return true
},
getMsInstallBrowserPluginModalContentHtml: function(isUpdate, isShowNextBtn) {
var isUpdate = isUpdate || false, isShowNextBtn = isShowNextBtn || false;
var headerHtml = '<div class="p-b text-center">' +
' <span style="color:#EA9E26">系统检测到您未安装妙手插件,请下载安装最新妙手插件,安装成功后请刷新页面。</span>' +
' </div>' +
' <div class="text-center p-t">' +
' <span>如果已安装,<a href="javascript:void(0);" style="color:#2CBEBD;" onclick="window.location.reload();"><i class="fa fa-refresh m-r-sm"></i>请点击刷新</a></span>' +
' </div>';
if (isUpdate) {
headerHtml = '<div class="p-b text-center">' +
' <span style="color:#EA9E26">插件已升级,请卸载旧版插件,下载并安装最新插件后再使用。</span>' +
' </div>' +
' <div class="text-center p-t">' +
' <span>如果插件已升级,<a href="javascript:void(0);" style="color:#2CBEBD;" onclick="window.location.reload();"><i class="fa fa-refresh m-r-sm"></i>请点击刷新</a></span>' +
' </div>';
}
var nextBtnHtml = '';
if (isShowNextBtn) {
nextBtnHtml = '<a class="J_nextAgainTipBtn" href="javascript:void(0);" style="color:#797979;margin-left:15px;">下次再说</a>';
}
var html = '<div class="ft_16">' +
headerHtml +
' <div class="text-center" style="padding:30px 20px;">' +
' <a class="J_downloadBrowserPluginBtn" data-browser-type="chrome" href="javascript:void(0);" style="padding:10px 15px;border-radius:20px;border:2px solid #4ECBCA;text-decoration: none;color:#4ECBCA;cursor: pointer;">' +
' <img src="/app/views/static/img/browser/chrome.png" style="vertical-align: middle;margin-bottom: 5px;width:24px;margin-right: 5px;">谷歌/QQ等浏览器' +
' </a>' +
' <a class="J_downloadBrowserPluginBtn" data-browser-type="360" href="javascript:void(0);" style="margin-left:15px;padding: 10px 15px;border-radius: 20px;border:2px solid #4ECBCA;text-decoration: none;color:#4ECBCA;cursor: pointer;">' +
' <img src="/app/views/static/img/browser/360.png" style="vertical-align: middle;margin-bottom: 5px;width:24px;margin-right: 5px;">360/搜狗等浏览器' +
' </a>' +
nextBtnHtml +
' </div>' +
' <div class="text-center" style="padding: 20px;">' +
' <label class="zc-custom-control zc-custom-control-primary zc-custom-checkbox">' +
' <input id="J_browserPluginInstallAgreementCheckbox" type="checkbox" class="zc-custom-control-input" name="browserPluginInstallAgreement">' +
' <span class="zc-custom-control-indicator"></span>' +
' <span class="zc-custom-control-label">' +
' 我已阅读并同意<a style="color:#2CBEBD;" href="https://cs-rt-c1.chengji-inc.com/browser-plugin/agreement/user_agreement_v5.html" target="_blank">用户服务协议、</a><a style="color:#2CBEBD;" href="https://cs-rt-c1.chengji-inc.com/browser-plugin/agreement/privacy_policy_v2.html" target="_blank">隐私政策</a>,确定下载并使用插件。' +
' </span>' +
' </label>' +
' </div>' +
' <div class="text-center" style="padding: 10px 20px 10px 20px;">' +
' <span>' +
' <span style="color:#2CBEBD;">请点击您所使用的浏览器,下载对应的插件</span>' +
' <a href="http://school.91miaoshou.com/" target="_blank" style="color:#797979;">(查看安装教程)</a>' +
' </span>' +
' </div>' +
' </div>';
return html;
},
showMsInstallBrowserPluginTip: function(hasInstallPlugin) {
if (hasInstallPlugin) {
return ;
}
self.showBrowserPluginModalDialog(hasInstallPlugin);
},
showBrowserPluginModalDialog: async function(hasInstallPlugin) {
var isUpdate = hasInstallPlugin || false, isShowNextBtn = false;
if (isUpdate) {
var agreementInfo = await self.getShopBrowserPluginAgreement();
agreementInfo.isShowNextBtn && (isShowNextBtn = true);
}
var browserPluginModalDialog = new BootstrapDialog({
title: '提示',
size: 'size-large',
message: self.getMsInstallBrowserPluginModalContentHtml(isUpdate, isShowNextBtn),
closeByBackdrop: false,
closeByKeyboard: false,
onshow: function (browserPluginDialogSelf) {
browserPluginDialogSelf.getModalDialog().attr({'style': 'width: 700px;'});
var modalDidalog = browserPluginDialogSelf.getModalDialog();
modalDidalog.on('click', '.J_downloadBrowserPluginBtn', function () {
var $this = $(this),
browserType = $this.data('browserType'),
$browserPluginInstallAgreement = modalDidalog.find('#J_browserPluginInstallAgreementCheckbox');
if (!$browserPluginInstallAgreement.prop('checked')) {
return layer.alert('请先阅读并勾选同意用户服务协议后再下载');
}
if (browserType == 'chrome' && $('#J_appName').val() == 'mspddod') {
return window.open('https://cs-rt.oss-cn-beijing.aliyuncs.com/browser-plugin/msorder/msorder-pdd-plugin.zip', '_blank');
} else if (browserType == 'chrome' && $.inArray($('#J_appName').val(), ['pdddz', 'pdddzod']) > -1) {
return window.open('https://pdddz-pub.oss-cn-beijing.aliyuncs.com/plugin/dzorder-plugin.zip', '_blank');
}
self.saveShopBrowserPluginAgreement({'isSelectedAgreement': 1});
$.fileDownload(self.UrlMaps.downloadBrowserPlugin, {
'data': {
'browserType': browserType,
'isCheckedAgreement': $browserPluginInstallAgreement.prop('checked') ? 1 : 0
},
'httpMethod': 'POST',
'cookieName': 'browserPluginInstall',
}).done(function() {
self.saveShopBrowserPluginAgreement({'isDownload': 1});
layer.msg('下载成功');
}).fail(function(retHtml) {
retHtml = retHtml || '';
var ret = JSON.parse($(retHtml).text());
if (ret.result && ret.result == 'fail') {
layer.alert(ret.reason || '下载失败');
}
});
});
modalDidalog.on('click', '.J_nextAgainTipBtn', function () {
self.saveShopBrowserPluginAgreement({'clickNextBtn': 1});
browserPluginDialogSelf.close();
});
modalDidalog.on('click', '#J_browserPluginInstallAgreementCheckbox', function () {
if (!this.checked) {
return ;
}
self.saveShopBrowserPluginAgreement({'isSelectedAgreement': 1});
});
}
});
browserPluginModalDialog.open();
},
checkShowBrowserPluginUpdateModal: async function(hasInstall) {
var isShowUpdateModal = await self.isShowBrowserPluginUpdateModal();
console.log('isShowUpdateModal', isShowUpdateModal);
if (!isShowUpdateModal) {
return ;
}
self.showBrowserPluginModalDialog(hasInstall);
},
isShowBrowserPluginUpdateModal: async function() {
var currentVersion = self.getPluginVersion();
console.log('currentVersion', currentVersion);
if (!currentVersion) {
return true;
}
var agreementInfo = await self.getShopBrowserPluginAgreement();
if (!agreementInfo || !agreementInfo.isShowUpdateModal) {
return false;
}
currentVersion = parseFloat(currentVersion);
if (currentVersion < 3.4) {
return true;
}
if (agreementInfo && agreementInfo.isShowUpdateModal) {
return true;
}
return false;
},
getPluginVersion: function() {
var appName = $('#J_appName').val();
if (appName == 'pdddz' || appName == 'pdddzod') {
var newVersion = $("#J_newDzOrderChromeExtReady").data('version');
} else if (appName == 'mspddod') {
var oldVersion = $("#J_newMsOrderChromeExtReady").data('version');
var pddVersion = $("#J_pddMsOrderChromeExtReady").data('version');
var newVersion = pddVersion;
} else {
var newVersion = $("#J_newMsOrderChromeExtReady").data('version');
}
return newVersion;
},
getShopBrowserPluginAgreement: function() {
return new Promise((resolve, reject) => {
let version = self.getPluginVersion();
$.ajax({
url : self.UrlMaps.getMallBrowserPluginAgreement,
data : {'version': version || ''},
dataType : 'json',
method : 'post'
}).always(function(){
}).done(function(ret){
var isShowUpdateModal = (ret && ret.isShowUpdateModal) ? true : false;
var isShowNextBtn = (ret && ret.isShowNextBtn) ? true : false;
resolve({'isShowUpdateModal': isShowUpdateModal, 'isShowNextBtn': isShowNextBtn});
});
});
},
saveShopBrowserPluginAgreement: function(valueMap) {
$.ajax({
url : self.UrlMaps.saveMallBrowserPluginAgreement,
data : valueMap,
dataType : 'json',
method : 'post'
}).always(function(){
}).done(function(ret){
console.log('saveShopBrowserPluginAgreement', ret);
});
},
};
RIC.OrderCommon = new $.OrderCommon();
}(jQuery);