let urlPrefix = getUrlPrefix(); var browser = checkVersion(); var info = {}; if (EnvCheck() === 'test') new VConsole // 封装layer消息提醒框 let layerIndex const showLoading = (content = '加載中...') => { layer.open({ type: 2, shadeClose: false, content, success(e) { layerIndex = $(e).attr('index') } }) } const hideLoading = (index) => { layer.close(index) } const toastMsg = (content = '操作完成', time = 2) => { layer.open({ content, time, skin: 'msg' }) } let delayLock = false, newApplyLock = false let btnStatus = [] // 获取用户铭牌状态 const getUserNameplateInfo = () => { showLoading() networkRequest({ type: 'GET', url: urlPrefix + '/nameplate/userNameplateInfo', data: { uid: pubInfo.uid }, success(res){ hideLoading(layerIndex); if(res.code === 200){ btnStatus = res.data renderBtnStatus() }else{ toastMsg(res.message) } }, error(){ hideLoading(layerIndex); toastMsg('網絡錯誤') } }) } // 渲染首页按钮状态 const renderBtnStatus = () => { btnStatus.map( (item,index) => { if(index > 1){ // 进阶款式 $('.btn').eq(index).find('img').attr('src', `${item > 0 ? './images/apply-btn-basics.png' : './images/disabled-btn.png'}`) if(item > 0){ $('.btn').eq(index).on('click', () => { getUserNameplateList(index+1) }) } }else{ // 基础款式 $('.btn').eq(index).find('img').attr('src', `${item > 0 ? './images/apply-btn-basics.png' : './images/disabled-btn.png'}`) if(item > 0){ $('.btn').eq(index).on('click', () => { getUserNameplateList(index+1) }) } } }) } let userNameplateList = [] // 获取用户已有铭牌列表 const getUserNameplateList = (type) => { showLoading() networkRequest({ type: 'GET', url: urlPrefix + '/nameplate/pickUserNameplate', data: { uid: pubInfo.uid, type }, success(res){ hideLoading(layerIndex) if(res.code === 200){ if(!res.data.length){ getNewNameplateList(type) }else{ userNameplateList = res.data renderNameplateList() } }else{ toastMsg(res.message) } }, error(){ hideLoading(layerIndex); toastMsg('網絡錯誤') } }) } // 渲染铭牌列表(选择弹窗) const renderNameplateList = () => { let str = '' userNameplateList.map( item => { str += `
  • 剩余${item.expireDays}天

    ${item.word}
  • ` }) $('.select-ul').html(str) $('.shade-mask').show().siblings('.shade-mask-delay, .shade-mask-new').hide() $('body').css('overflow', 'hidden') } let newNameplateList = [] // 获取新铭牌列表 const getNewNameplateList = (type) => { showLoading() networkRequest({ type: 'GET', url: urlPrefix + '/nameplate/getNameplateList', data: { uid: pubInfo.uid, type }, success(res){ hideLoading(layerIndex) if(res.code === 200){ if(!res.data.length){ toastMsg('暂时没有铭牌可申请') return } newNameplateList = res.data renderNewNameplateList() }else{ toastMsg(res.message) } }, error(){ hideLoading(layerIndex); toastMsg('網絡錯誤') } }) } let newNameplateId //只有一个可选时,默认选中 // 渲染申请新铭牌弹窗 const renderNewNameplateList = () => { let str = ''; newNameplateList.map( item => { str += `
  • ` }) $('.apply-new-ul').html(str) if(newNameplateList.length === 1){ let onlyLi = $('.apply-new-ul').find('li').eq(0); newNameplateId = onlyLi.data('nameplateId'); onlyLi.addClass('active') } $('.shade-mask-new .delay-time div p span').html(newNameplateList[0].applyDay) $('.shade-mask-new').show().siblings('.shade-mask, .shade-mask-delay').hide() $('body').css('overflow', 'hidden') } // 确认延长期限 const delayNamaplateConfirm = (params) => { showLoading() networkRequest({ type: 'POST', url: urlPrefix + '/nameplate/applyUserNameplate', data: { uid: pubInfo.uid, type: params.type, nameplateId: params.nameplateId, applyDay: params.applyDay, applyType: params.applyType, text: params.text }, success(res){ hideLoading(layerIndex) if(res.code === 200){ toastMsg('申请成功') $('.shade-mask-delay').hide() $('body').css('overflow', 'auto') delayLock = false setTimeout(()=>{ location.reload() }, 500) }else{ toastMsg(res.message) } }, error(){ hideLoading(layerIndex); toastMsg('網絡錯誤') } }) } // 确认申请新铭牌 const applyNewNamaplateConfirm = (params) => { showLoading() networkRequest({ type: 'POST', url: urlPrefix + '/nameplate/applyUserNameplate', data: { uid: pubInfo.uid, type: params.type, nameplateId: params.nameplateId, applyDay: params.applyDay, applyType: params.applyType, text: params.text }, success(res){ hideLoading(layerIndex) if(res.code === 200){ toastMsg('申请成功') $('.shade-mask-new').hide() $('body').css('overflow', 'auto') newApplyLock = false setTimeout(()=>{ location.reload() }, 500) }else{ newApplyLock = false toastMsg(res.message) } }, error(){ hideLoading(layerIndex); toastMsg('網絡錯誤,請退出重進') } }) } $(function () { getInfoFromClient() setTimeout( () => { getUserNameplateInfo() }, 50) if (browser.app) { _hmt.push(['_trackEvent', 'client', 'click', "act_nameplate"]); } // 点击申请记录按钮 $('.record').on('click', function(){ window.location.href = './record.html' }) // 关闭弹窗 $('.shade-mask .close').on('click', () => { $('.shade-mask').hide() $('body').css('overflow', 'auto') }) $('.shade-mask-delay .close').on('click', () => { $('.shade-mask-delay').hide() $('body').css('overflow', 'auto') }) $('.shade-mask-new .close').on('click', () => { $('.shade-mask-new').hide() $('body').css('overflow', 'auto') newNameplateId = '' $(this).find('input').val('') }) let maxApplyDay, nameplateId, type, text // 监听 延长期限 按钮点击事件 $('.select-ul').on('click', '.delay-btn', function() { let li = $(this).parent(); let src = li.find('.nameplate img').attr('src'); let desc = li.find('.nameplate span').html(); maxApplyDay = li.data('applyDay'); nameplateId = li.data('nameplateId'); type = li.data('type'); text = li.data('text'); $('.shade-mask-delay .nameplate-style img').attr('src', src); $('.shade-mask-delay .nameplate-style p span').html(desc); $('.shade-mask-delay .delay-time p span').html(maxApplyDay); $('.shade-mask-delay').show().siblings('.shade-mask, .shade-mask-new').hide() }) // 延期弹窗 点击减按钮 $('.shade-mask-delay').on('click', '.decrease', function(){ let applyDay = parseInt( $(this).parent().find('span').html() ); if(applyDay > 7){ applyDay -= 7; }else{ toastMsg('铭牌至少申请7天') } $('.shade-mask-delay .delay-time p span').html(applyDay); }) //延期弹窗 点击加按钮 $('.shade-mask-delay').on('click', '.increase', function(){ let applyDay = parseInt( $(this).parent().find('span').html() ); if(applyDay >= maxApplyDay){ toastMsg('已达最大申请时长') }else{ applyDay += 7; } $('.shade-mask-delay .delay-time p span').html(applyDay); }) // 监听申请延期确定按钮点击事件 $('.shade-mask-delay').on('click', '.apply-btn', function(){ // applyType 1申请新铭牌,2延长 if(!delayLock){ delayLock = true let params = { type, nameplateId, applyDay: parseInt( $(this).parent().find('.delay-time div p span').html() ), applyType: 2, text }; delayNamaplateConfirm(params) } }) /************************* ******************************/ // 监听 申请新铭牌 按钮点击事件 $('.shade-mask').on('click', '.apply-btn', function(){ let type = $(this).parent().find('.select-ul li').eq(0).data('type'); getNewNameplateList(type) }) // 申请新铭牌弹窗 点击减按钮 $('.shade-mask-new').on('click', '.decrease', function(){ let applyDay = parseInt( $(this).parent().find('span').html() ); if(applyDay > 7){ applyDay -= 7; }else{ toastMsg('铭牌至少申请7天') } $('.shade-mask-new .delay-time p span').html(applyDay); }) // 申请新铭牌弹窗 点击加按钮 $('.shade-mask-new').on('click', '.increase', function(){ let applyDay = parseInt( $(this).parent().find('span').html() ); let maxApplyDay = parseInt( $(this).parent().parent().parent().find('.apply-new-ul li').eq(0).data('applyDay') ); if(applyDay >= maxApplyDay){ toastMsg('已达最大申请时长') }else{ applyDay += 7; } $('.shade-mask-new .delay-time p span').html(applyDay); }) // 申请新铭牌弹窗 点击铭牌列表事件 $('.shade-mask-new').on('click', 'li', function(){ $(this).addClass('active').siblings('li').removeClass('active'); newNameplateId = $(this).data('nameplateId'); }) // 申请新铭牌弹窗 确定申请 按钮点击事件 $('.shade-mask-new').on('click', '.apply-btn', function(){ let content = $(this).parent(); let ipt = content.find('input.new-nameplate-desc').val() if(!newNameplateId){ toastMsg('请选择样式'); return } if(!ipt){ toastMsg('请添加铭牌文字'); return }else{ if(ipt.length !== 4){ toastMsg('请添加4个字的铭牌文字'); return } } // applyType 1申请新铭牌,2延长 if(!newApplyLock){ newApplyLock = true let params = { applyType: 1, nameplateId: newNameplateId, text: ipt, type: parseInt( content.find('ul.apply-new-ul li').eq(0).data('type') ), applyDay: parseInt( content.find('.delay-time div p span').html() ) } applyNewNamaplateConfirm(params) } }) });