<script> // +---------------------------------------------------------------------- // | CRMEB [ CRMEB赋能开发者,助力企业发展 ] // +---------------------------------------------------------------------- // | Copyright (c) 2016~2021 https://www.crmeb.com All rights reserved. // +---------------------------------------------------------------------- // | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权 // +---------------------------------------------------------------------- // | Author: CRMEB Team <admin@crmeb.com> // +---------------------------------------------------------------------- // #ifdef APP-PLUS let jpushModule = uni.requireNativePlugin("JG-JPush"); const mp = uni.requireNativePlugin('uniMP'); // #endif import { checkLogin } from "./libs/login"; import { HTTP_REQUEST_URL } from './config/app'; import { getconfig, history } from '@/api/public.js' import Routine from './libs/routine.js'; export default { data() { return { audioTeam: [] } }, globalData: { spid: 0, code: 0, isLogin: false, userInfo: {}, MyMenus: [], balance_func_status: 0, //余额开关 recharge_switch: 0, // 充值开关 store_user_min_recharge: 0, //最小充值 yue_pay_status: 0, //余额支付开关 alipay_open: 0, //支付宝支付开关 routine_logo: '', //首页logo share_pic: '', site_logo: '', site_name: '', //名称 fid: '', //一级分类id uid: '', hide_mer_status: 0, member_status: 0, copy_command_status: 0, //是否开启自动获取剪切板内容 arrival_notice: 0, //是否开启到货通知 is_phone_login: 0, auto_arrival: 0, mer_location: 0, statusBarHeight: 0, mer_location: 0, store_street_theme: 1, sys_intention_agree: '', copyright_status: '', copyright_context: '', copyright_image: '', open_update_info: 0, recommend_switch: 0, svip_switch_status: 0, community_reply_status: 0, community_reply_auth: 0, margin_ico_switch: 0, margin_ico: '', community_app_switch: [], navigation: {}, imgColor: '', ...uni.getStorageSync('GLOBAL_DATA') || {} }, onLaunch: function(option) { this.globalData.statusBarHeight = uni.getSystemInfoSync().statusBarHeight + 'px'; this.globalData.uid = this.$store.state.app.uid; // #ifdef APP-PLUS //监听uni小程序发送的事件 mp.onUniMPEventReceive(ret=>{ console.log('小程序事件: ', ret); if(ret.event=='closeApp'){ mp.closeUniMP(ret.fromAppid, (ret)=>{ console.log('closeUniMP: '+JSON.stringify(ret)); }); } }); // #endif let that = this; // #ifdef MP if (HTTP_REQUEST_URL == '') { console.error( "请配置根目录下的config.js文件中的 'HTTP_REQUEST_URL'\n\n请修改开发者工具中【详情】->【AppID】改为自己的Appid\n\n请前往后台【小程序】->【小程序配置】填写自己的 appId and AppSecret" ); return false; } if (option.query.hasOwnProperty('scene')) { switch (option.scene) { //扫描小程序码 case 1047: // console.log(option, 'val') let val = that.$util.getUrlParams(decodeURIComponent(option.query.scene)); that.globalData.code = val; that.globalData.uid = val break; //长按图片识别小程序码 case 1048: that.globalData.code = option.query.scene; break; //手机相册选取小程序码 case 1049: that.globalData.code = option.query.scene; break; //直接进入小程序 case 1001: that.globalData.spid = option.query.scene; break; } } // #endif // 获取导航高度; uni.getSystemInfo({ success: function(res) { that.globalData.navHeight = res.statusBarHeight * (750 / res.windowWidth) + 91; } }); // #ifdef MP let menuButtonInfo = uni.getMenuButtonBoundingClientRect(); that.globalData.navH = menuButtonInfo.top * 2 + menuButtonInfo.height / 2; const version = uni.getSystemInfoSync().SDKVersion if (Routine.compareVersion(version, '2.21.2') >= 0) { that.$Cache.set('MP_VERSION_ISNEW', true) } else { that.$Cache.set('MP_VERSION_ISNEW', false) } // #endif that.getConfigData() //#ifdef APP-PLUS jpushModule.setLoggerEnable(true); jpushModule.initJPushService() jpushModule.addConnectEventListener(result => { let connectEnable = result.connectEnable // console.log("jpush连接", connectEnable) }) // 设置别名 // jpushModule.setAlias({ // 'alias': uni.getStorageSync('userId'), // 'sequence': 1 // }) // // jpushModule.addTagAliasListener(result => { // let code = result.code // let sequence = result.sequence // let tags = result.tags // let tag = result.tag // let tagEnable = result.tagEnable // let alias = result.alias // console.log(alias, '别名') // }) // 通知事件回调 jpushModule.addNotificationListener(result => { let notificationEventType = result.notificationEventType let messageID = result.messageID let title = result.title let content = result.content let extras = result.extras console.log("通知", result) if (result.extras.type == 'ORDER_CREATE') { if (this.audioTeam.length > 0) { this.audioTeam.push(result.extras.type); } else { this.audio() this.audioTeam.push(result.extras.type); } } // 点击事件 if (notificationEventType == 'notificationOpened') { uni.navigateTo({ url: result.extras.route }) } }) // jpushModule.addCustomMessageListener(result => { // let messageID = result.messageID // let content = result.content // let extras = result.extras // console.log("自定义消息", result) // }) //#endif }, onShow() { let that = this // 记录H5和公众号 if (this.$store.state.app.token) { // 浏览记录 // #ifdef H5 history({ page: location.pathname + location.search, }).then(() => {}); //#endif }; // #ifndef H5 setTimeout(() => { if (that.globalData.copy_command_status == 1) { uni.getClipboardData({ success: function(res) { if (/^(\/@[1-9]{1}).*\*\//.test(res.data)) { that.$store.commit("PARSE_PWD", res.data) } }, fail: function(res) { // 内容获取失败 } }) } }, 1500) // #endif }, methods: { /** * 语音播报 * * */ async audio() { const innerAudioContext = uni.createInnerAudioContext(); innerAudioContext.autoplay = true; innerAudioContext.src = `/static/audio/order.mp3`; innerAudioContext.onPlay(() => { console.log('开始播放') }); innerAudioContext.onEnded(() => { console.log('语音播报结束') innerAudioContext.destroy() //销毁 if (this.audioTeam.length > 1) { this.audioTeam.splice(0, 1); console.log('队列中'); this.audio() } else { console.log('队列为零'); this.audioTeam = [] } }); innerAudioContext.onError(() => { console.log('语音播报失败') innerAudioContext.destroy() // 销毁 }); }, // 微信分享; setOpenShare: function(data) { let that = this; let href = location.href; href = href.indexOf("?") === -1 ? href + "?spid=" + this.globalData.uid : href + "&spid=" + this .globalData .uid; if (that.$wechat.isWeixin()) { let configAppMessage = { desc: data.share_info, title: data.share_title, link: href, imgUrl: data.share_pic }; that.$wechat.wechatEvevt(["updateAppMessageShareData", "updateTimelineShareData"], configAppMessage); } }, // 获取配置 getConfigData() { getconfig().then(res => { uni.$emit('update', res.data) this.$store.commit('GLOBAL_DATA', res.data); this.globalData.balance_func_status = res.data.balance_func_status this.globalData.recharge_switch = res.data.recharge_switch this.globalData.routine_logo = res.data.routine_logo this.globalData.share_pic = res.data.share_pic this.globalData.community_reply_status = res.data.community_reply_status this.globalData.site_logo = res.data.site_logo this.globalData.login_logo = res.data.login_logo this.globalData.site_name = res.data.site_name this.globalData.store_user_min_recharge = res.data.store_user_min_recharge this.globalData.yue_pay_status = res.data.yue_pay_status this.globalData.sys_intention_agree = res.data.sys_intention_agree this.globalData.mer_intention_open = res.data.mer_intention_open this.globalData.alipay_open = res.data.alipay_open this.globalData.hide_mer_status = res.data.hide_mer_status this.globalData.mer_location = res.data.mer_location this.globalData.arrival_notice = res.data.procudt_increase_status this.globalData.auto_arrival = res.data.sys_extension_type this.globalData.member_status = res.data.member_status this.globalData.copy_command_status = res.data.copy_command_status this.globalData.is_phone_login = res.data.is_phone_login this.globalData.mer_location = res.data.mer_location this.globalData.store_street_theme = res.data.store_street_theme this.globalData.copyright_status = res.data.copyright_status this.globalData.copyright_image = res.data.copyright_image this.globalData.copyright_context = res.data.copyright_context this.globalData.open_update_info = res.data.open_update_info this.globalData.recommend_switch = res.data.recommend_switch this.globalData.svip_switch_status = res.data.svip_switch_status this.globalData.navigation = res.data.navigation this.globalData.community_app_switch = res.data.community_app_switch this.globalData.community_reply_auth = res.data.community_reply_auth this.globalData.margin_ico_switch = res.data.margin_ico_switch this.globalData.margin_ico = res.data.margin_ico // console.log(res.data.global_theme.theme + "我是") this.$store.commit("VIEW_COLOR", res.data.global_theme.theme) this.$store.commit("KEY_COLOR", '_' + res.data.global_theme.type) try { uni.setStorageSync('SUBSCRIBE_MESSAGE', res.data.tempid); } catch (e) { // error } // #ifdef H5 this.setOpenShare(res.data); // #endif }).catch(err => {}); } }, onHide: function() { //console.log('App Hide') }, watch: { // 记录H5和公众号 $route(n) { if (this.$store.state.app.token) { // 浏览记录 history({ page: location.pathname + location.search, }).then(() => {}); } }, } } </script> <style lang="scss"> /* #ifndef APP-PLUS-NVUE || APP-NVUE */ @import "@/plugin/animate/animate.min.css"; @import 'static/css/base.css'; @import 'static/iconfont/iconfont.css'; @import 'static/iconfont/iconlihai.css'; @import 'static/iconfont/icontan.css'; @import 'static/css/style.scss'; view { box-sizing: border-box; } .custom_style { color: #fff; display: flex; flex-direction: column; align-items: center; justify-content: center; font-size: 24rpx; &_icon { background-image: url('static/tabbar_icon/d.png'); background-repeat: no-repeat; background-size: cover; font-size: 80rpx; width: 100rpx; height: 100rpx; border-radius: 100%; display: flex; justify-content: center; align-items: center; margin-top: -40rpx; // box-shadow: 0px 5px 10px 1px rgba(32, 161, 98, 0.3); } } .bg-color-red { background-color: #e93323 !important; } .syspadding { padding-top: var(--status-bar-height); } .flex { display: flex; } .uni-scroll-view::-webkit-scrollbar { /* 隐藏滚动条,但依旧具备可以滚动的功能 */ display: none } ::-webkit-scrollbar { width: 0; height: 0; color: transparent; } ::-moz-scrollbar { width: 0; height: 0; color: transparent; } .empty-txt { line-height: 100rpx; font-size: 22rpx; color: #999; text-align: center; } .product-con .conter img { display: block; } .open-location { height: 100vh; } uni-tabbar { bottom: 0; } /*#endif*/ </style>