| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204 | var app = getApp(); //获取应用实例const util = require('@/static/utils/util.js');const config = require('@/static/config.js');import requestConfig from '@/static/lib/requestConfig';import Bus from '@/common/bus';export default {    data(){        return {            repeatFlag: false,//防止重复提交            showShareOptions:false,//是否打开            projectCode: "",    //项目地块的id            isInMakePhone: false,            jumpTempData: null, //跳转页面之前检查是否授权,保存的参数        }    },    watch:{    },    methods:{        optionChange(val) {            this.showShareOptions = val; //④外层调用组件方注册变更方法,将组件内的数据变更,同步到组件外的数据状态中        },        navigateToCityFromNav(e) {            this.navigateToCity(e);        },        swipeItemClk(e) {            this.navigateFuc(e);        },        cityProductComponentClk(e) {            this.navigateFuc(e);        },        cityListComponentClk(e) {            this.navigateFuc(e);        },        navigateToZhuangHu(e){            let jumplink = e.currentTarget.dataset.jumplink;            //已经认证的地址            let jumpvalue = e.currentTarget.dataset.jumpvalue;            if(!jumplink||!jumpvalue){                uni.showToast({                    title:'敬请期待',                    icon:'none',                    duration:1500                })            }else{                uni.navigateTo({                    url:`/onlineHouseHold/pages/chooseRoom/homePage?houseId=${jumpvalue}&activityId=${jumplink}`                })            }        },        //跳转到城市搜索页面        navigateToCity(e) {            uni.navigateTo({                url: '/subPackage/pages/addressModule/addressModule'            });        },        resetParentScroll() {            this.scrollTop = this.old.scrollTop;            this.$nextTick(() => {                this.scrollTop = 0;            });        },        /**         * refresh视图,滚到顶部         */        refreshCityProductView() {            this.scrollTop = this.old.scrollTop;            this.$nextTick(() => {                this.scrollTop = 0;            });        },        expandCityProductView(e) {            let one = app.globalData.systemInfo.windowWidth / 750; //获取rpx 和 px 的转换比例            console.log("expandCityProductView:" + JSON.stringify(e));            let scrollDistance = e.scrollDistance;            scrollDistance += this.scrollDistance2;            if (this.navigateHasPadding) {                scrollDistance -= app.globalData.navigateStatusContainerHeight;            }            console.log("expandCityProductView111:" + scrollDistance);            if (this.specialPage) {                scrollDistance -= 69 * one;                scrollDistance -= 6;                console.log("expandCityProductView222:" + scrollDistance);            }            if(this.houseId){//如果是集团页面-原代码是放置在tabview中的-此处判断有扩大范围                let marginTop = e.marginTop.replace('rpx', "") || 0                scrollDistance -= marginTop * one;            }            this.scrollTop = this.old.scrollTop;            this.$nextTick(() => {                this.scrollTop = scrollDistance;            });        },        expandCityListView(e) {            let one = app.globalData.systemInfo.windowWidth / 750; //获取rpx 和 px 的转换比例            console.log("expandCityListView:" + JSON.stringify(e));            let scrollDistance = e.scrollDistance;            scrollDistance += this.scrollDistance2;            if (this.navigateHasPadding) {                scrollDistance -= app.globalData.navigateStatusContainerHeight;            }            console.log("expandCityProductView111:" + scrollDistance);            if (this.specialPage) {                scrollDistance -= 69 * one;                scrollDistance -= 6;                console.log("expandCityProductView222:" + scrollDistance);            }            if(this.houseId){//如果是集团页面-原代码是放置在tabview中的-此处判断有扩大范围                let marginTop = e.marginTop.replace('rpx', "") || 0                scrollDistance -= marginTop * one;            }            this.scrollTop = this.old.scrollTop;            this.$nextTick(() => {                this.scrollTop = scrollDistance;            });        },        swipeUnitScrollHandle(e) {            console.log("swipeUnitScrollHandle:" + JSON.stringify(e));            if (e.detail.event == 0) {                this.scrollAble = false;            } else {                this.scrollAble = true;            }        },		//用户信息授权结束后-执行 可根据type 知道是否授权成功		afterUserHandle(e) {		    console.warn("afterUserHandle", e);		    var _type = e.detail ? e.detail.type : e.type;		    let isSuc = _type === 'fail' ? false : true;			let currPage = getCurrentPages()[getCurrentPages().length - 1] ? getCurrentPages()[getCurrentPages().length - 1].$vm : null;		    let para = {		        type: 'CLK', //埋点类型		        clkId: 'clk_2cmina_137', //点击ID,固定		        clkName: "wechatauthorize", //点击名称		        clkParams: {		            "userInfo": app.globalData.userInfo || '',		            "phone": app.globalData.phone || '',		            "uni.authorize.scope": "uni.getUserInfo",		            "type": _type,		        },		    };		    util.trackRequest(para);		    if (e) {		        this.showInfoModel = false;		    }		},        async afterShareOptionHandle(e) {            if (this.repeatFlag) {                return;            }            this.repeatFlag = true;            var pages = getCurrentPages();            var page = pages[pages.length - 1];//当前页面            var pageInstance = page ? page.$vm : {};//页面实例,可以调用页面实例定义的方法            var currentRoute =  page ? page.route : "";//当前页面路径            console.log("afterShareOptionHandle", currentRoute);            if (!currentRoute.startsWith('/')) {                currentRoute = ('/' + currentRoute);            }            let path = currentRoute;            let subtype = "",houseId='',fromProject='',logo='',gpName='',pageId='',fromBrand=false;            // let componentId = app.globalData.componentId || pageInstance.componentId||'';            // let componentType = app.globalData.componentType || pageInstance.componentType||'';            if(currentRoute.indexOf('/groupIndex')>-1){//集团首页                subtype = 'brand';                houseId =  '';                fromProject = app.globalData.brandShare;                logo = app.globalData.logo || '';                gpName = app.globalData.projectName || '';                fromBrand = true;            }            else if(currentRoute.indexOf('/index/index/')>-1){//项目首页                subtype = 'project';                houseId =  pageInstance.houseId;                fromProject = app.globalData.projectShare;                logo = app.globalData.houseProject.logo || '';                gpName = app.globalData.houseProject.projectName || '';            }            else if(pageInstance.houseId){//项目层                subtype = 'project';                houseId =  pageInstance.houseId;                fromProject = app.globalData.projectShare;                logo = app.globalData.houseProject.logo || '';                gpName = app.globalData.houseProject.projectName || '';                pageId = pageInstance.pageId || '';                fromBrand = pageInstance.fromBrand || '';            }            else{ //集团层                subtype = 'brand';                houseId =  '';                fromProject = app.globalData.brandShare;                logo = app.globalData.logo || '';                gpName = app.globalData.projectName || '';                pageId = pageInstance.pageId || '';                fromBrand = pageInstance.fromBrand || '';            }            let attrs = {                shareType: 'qrcode',                fromProject: fromProject,                pageId: pageId,                fromBrand: fromBrand,                // componentId:componentId,                // componentType:componentType,            };            if(path.indexOf('/activityWorking')>-1){//活动页面                attrs.sharerId = pageInstance.currentShareInfo && pageInstance.currentShareInfo.productionOwnerId ? pageInstance.currentShareInfo.productionOwnerId : '';                attrs.productionId = pageInstance.currentShareInfo && pageInstance.currentShareInfo.productionId ? pageInstance.currentShareInfo.productionId : '';                attrs.activityPageId = pageInstance.activityPageId;                attrs.activityId = pageInstance.activityId;            }            else if(path.indexOf('/photoActivity')>-1){//摄影大赛                attrs.sharerId = pageInstance.currentShareInfo && pageInstance.currentShareInfo.productionOwnerId ? pageInstance.currentShareInfo.productionOwnerId : '';                attrs.productionId = pageInstance.currentShareInfo && pageInstance.currentShareInfo.productionId ? pageInstance.currentShareInfo.productionId : '';                attrs.activityId = pageInstance.activityId;                if (pageInstance.currentShareInfo && pageInstance.currentShareInfo.productionOwnerId) {                    path = '/activityPackage/pages/photoCenter/photoCenter'                } else {                    path = '/activityPackage/pages/photoActivity/photoActivity'                }            }            let sign = await app.setShareToken({                subtype: subtype,                houseId: houseId,                attrs: attrs,            });            let obj = {                type: 8,                path: path,                shareToken: sign || app.globalData.shareToken,                houseId: houseId,                logo: logo,     //logo图片                gpName: gpName, //名称                defaultImage: 'https://dm.static.elab-plus.com/miniprogramDemo/projectDemo/demo1.png',            };            if(path.indexOf('/activityWarmUp')>-1 || path.indexOf('/activityWorking')>-1             || path.indexOf('/photoActivity')>-1 || path.indexOf('/photoCenter')>-1){//预热页 活动页 摄影大赛                obj.isActivity = 1;                obj.defaultImage = pageInstance.activityDataDetail&&pageInstance.activityDataDetail.poster?pageInstance.activityDataDetail.poster:''            }            app.globalData.shareCardData = JSON.stringify(obj);            uni.navigateTo({                url: '/pages/shareCard/shareCard?houseId=' + houseId,            })            setTimeout(() => {                this.repeatFlag = false;            }, 2000)        },        //需要授权的跳转        jumpCheck(e) {            this.jumpTempData = e;            app.globalData.authComponentData = {                componentType:e.currentTarget.dataset.clickid || '',                componentId:e.currentTarget.dataset.areacpid || '',                componentJumpType:e.currentTarget.dataset.jumptype            }            this.componentId = e.currentTarget.dataset.areacpid || '';            this.componentType = e.currentTarget.dataset.clickid || '';            this.diyArea = e.currentTarget.dataset.diyarea || '';            if (e.currentTarget.dataset.jumptype == 0 && e.currentTarget.dataset.functype != 4) {                return            }            this.afterAuthCheck()        },        afterAuthCheck(isSuc) {            console.log(this.jumpTempData, 'afterAuthCheck即将跳转')            if (this.jumpTempData) {                if (this.jumpTempData.currentTarget.dataset.functype == 4) {                    this.goChatList(this.jumpTempData);                } else if (this.jumpTempData.currentTarget.dataset.jumplink &&                    (this.jumpTempData.currentTarget.dataset.jumplink.indexOf('wxxf.fangzg') > -1 ||                        this.jumpTempData.currentTarget.dataset.jumplink.indexOf('wxxf.niu6666') > -1) && !app.globalData                    .phone) {                    uni.showToast({                        title: '您未授权号码,无法进入',                        icon: 'none',                        duration: 1500,                    });                } else {                    this.navigateFuc(this.jumpTempData)                }                this.jumpTempData = null            }        },        /**         * 跳转方法         */        async navigateFuc(e) {            var self = this;            console.log("navigateFuc", e);            let currPageRoute = getCurrentPages()[getCurrentPages().length - 1] ? getCurrentPages()[getCurrentPages().length -1].route : null;            // let currPage = getCurrentPages()[getCurrentPages().length - 1] ? getCurrentPages()[getCurrentPages().length - 1].$vm : null;            // if (currPage) {            //     currPage.componentId = e.currentTarget.dataset.areacpid || '';            //     currPage.componentType = e.currentTarget.dataset.clickid || '';            //     currPage.diyArea = e.currentTarget.dataset.diyarea || '';            // }            // 跳转的时候记录下这个组件的相关信息-需要在跳转完成后清空            app.globalData.componentId = e.currentTarget.dataset.areacpid || '';            app.globalData.componentType = e.currentTarget.dataset.clickid || '';            app.globalData.diyArea = e.currentTarget.dataset.diyarea || '';            //兼容链接跳转中有其他原生页的形式            if (e.currentTarget.dataset.jumptype == 1) {                let link = e.currentTarget.dataset.jumplink;                if (link && link.startsWith('/')) {                    e.currentTarget.dataset.jumptype = 13;                }            }            if (e.currentTarget.dataset.jumptype == -2 || e.currentTarget.dataset.jumptype == 14) { //打开本地分享弹窗                this.navigateConcern(e);            } else if (e.currentTarget.dataset.jumptype == 0) { //不跳转                return false;            } else if (e.currentTarget.dataset.jumptype == 1) { //h5                this.navigateWebView(e);            } else if (e.currentTarget.dataset.jumptype == 2) { //图集                this.navigateImgSwip(e);            } else if (e.currentTarget.dataset.jumptype == 3) { //户型-必须有houseid                this.navigateHouseType(e);            } else if (e.currentTarget.dataset.jumptype == 4) { //实时实景                this.navigateMoment(e);            } else if (e.currentTarget.dataset.jumptype == 5) { //小程序页面                this.navigateToMiniPage(e);            } else if (e.currentTarget.dataset.jumptype == 6) { //项目首页页面                if(currPageRoute.indexOf('pages/index/index')>-1){//项目首页                    uni.showToast({                        title: '敬请期待',                        icon: 'none',                        duration: 1500,                    });                    return false;                }                else{   //不是项目首页才能跳转                    this.navigateToProjectIndexPage(e);                }            } else if (e.currentTarget.dataset.jumptype == 7) { //敬请期待                this.navigateToWaitToast(e);            } else if (e.currentTarget.dataset.jumptype == 8) { //筛选搜索                this.navigateToSearch();            } else if (e.currentTarget.dataset.jumptype == 9) { //资讯列表                this.navigateToNewsList(e);            } else if (e.currentTarget.dataset.jumptype == 10) { //条件搜索                this.navigateToSearchForContation(e);            } else if (e.currentTarget.dataset.jumptype == 12) { //条件搜索                this.goNewVideo(e);            } else if (e.currentTarget.dataset.jumptype == 17) { //条件搜索                this.navigateToQuanMin(e);            } else if (e.currentTarget.dataset.jumptype == 14) { //打开分享                this.optionChange(true);            } else if (e.currentTarget.dataset.jumptype == 15) { //集团视频看房                this.goVideoChat(e);            } else if (e.currentTarget.dataset.jumptype == 16) { //去往项目IM                this.goChatList(e);            } else if (e.currentTarget.dataset.jumptype == 13) { //其他原生页                this.goOtherOriginPage(e)            } else if (e.currentTarget.dataset.jumptype == 18) { //跳转其他小程序                this.goOtherMini(e);            } else if (e.currentTarget.dataset.jumptype == 20) { //装户购物车                this.navigateToZhuangHuShopCar(e);            } else if (e.currentTarget.dataset.jumptype == 21) { //跳转地图页面                this.goMapPage(e);            } else if (e.currentTarget.dataset.jumptype == 22) { //活动页面                this.navigateToSplendActivity(e);            } else if (e.currentTarget.dataset.jumptype == 23) { //预热页                this.navigateToPreheatActivity(e);            } else if (e.currentTarget.dataset.jumptype == 31) { //购房节                this.navigateToBuyActivity(e);            } else if (e.currentTarget.dataset.jumptype == 32) { //摄影大赛                this.navigateToPhotoActivity(e);            } else if (e.currentTarget.dataset.jumptype == 33) { //房贷计算器                this.navigateToLoan(e);            } else if (e.currentTarget.dataset.jumptype == 34) {                this.goVrRoom(e)            } else if (e.currentTarget.dataset.jumptype == 35) {                app.goToShareFriend(e,this.houseId?1:0);    // 0 集团,1 项目            } else if (e.currentTarget.dataset.jumptype == 36) { //预约页面-不出现在集团层                this.goAppointmentPage(e);            } else if (e.currentTarget.dataset.jumptype == 70) { //问卷页面                app.navigateToQuestionnaire(e,this.houseId?1:0);    // 0 集团,1 项目            } else if (e.currentTarget.dataset.jumptype == 37) {//去往新版搜索结果页                app.navigateToSearchResult(e);  //去往新版搜索结果页            } else if (e.currentTarget.dataset.jumptype == 38) {//去往新版搜索结果页                this.navigateToZhuangHu(e);  //去往新版搜索结果页            } else if (e.currentTarget.dataset.jumptype == 39) {//开启自动注册                this.autoRegister(e);  //自动注册            }        },        //跳转集团身份认证页面        async navigateToQuanMin(e) {            // #ifndef MP-WEIXIN            uni.showToast({                title: '敬请期待',                icon: 'none',                duration: 1500,            });            return false;            // #endif            //没有认证的地址            let jumplink = e.currentTarget.dataset.jumplink || "extraPackage/pages/panKeBao/record/record";            //已经认证的地址            let jumpvalue = e.currentTarget.dataset.jumpvalue || "extraPackage/pages/panKeBao/shareFriends/shareFriends";            var pages = getCurrentPages();            var page = pages[pages.length - 1];//当前页面            var pageInstance = page ? page.$vm : {};//页面实例,可以调用页面实例定义的方法            let data = {};            let requestUrl = "";            if(pageInstance.houseId){//项目层                data = {                    customerId: (app.globalData.single && app.globalData.single.id) ? app.globalData.single.id : '',                    houseId: pageInstance.houseId,                    mobile: app.globalData.phone,                };                requestUrl = "getAuthenticationStatus";                if (jumplink.indexOf('houseId') == -1) {                    let _next = jumplink.indexOf('?')>-1 ? ('&houseId=' + pageInstance.houseId) : ('?houseId=' + pageInstance.houseId)                    jumplink = jumplink + _next;                }                if (jumpvalue.indexOf('houseId') == -1) {                    let _next = jumpvalue.indexOf('?')>-1 ? ('&houseId=' + pageInstance.houseId) : ('?houseId=' + pageInstance.houseId)                    jumpvalue = jumpvalue + _next;                }            }            else{//集团层                data = {                    brandId: config.brandId,                    mobile: app.globalData.phone,                };                requestUrl = "getAuthenticationStatusOnBrand";            }            const res = await requestConfig(requestUrl, data);            console.log("checkoutRecordStatus:", res);            if (res.success && res.single && res.single.verificationStatus == 1) { //已完成身份认证                if (!jumpvalue.startsWith('http')) {//不是一个URL链接,则执行跳转                    if (!jumpvalue.startsWith('/')) {                        jumpvalue = ('/' + jumpvalue);                    }                    uni.navigateTo({                        url: jumpvalue,                    });                } else {//否则跳转到一个内嵌页面                    uni.navigateTo({                        url: '/pages/webView/webView?view=' + encodeURIComponent(jumpvalue),                        fail: function(res) {                            console.log(res)                        },                    });                }            } else {                if (!jumplink.startsWith('http')) {                    if (!jumplink.startsWith('/')) {                        jumplink = ('/' + jumplink);                    }                    // jumplink += ('&showInformation=true');                    uni.navigateTo({                        url: jumplink,                    });                } else {                    uni.navigateTo({                        url: '/pages/webView/webView?view=' + encodeURIComponent(jumplink),                        fail: function(res) {                            console.log(res)                        },                    });                }            }        },        /**         * 关注项目或者分享         * type:-1 关注项目         *       -2 转发分享         */        navigateConcern(e) {            let type = e.currentTarget.dataset.jumptype;            if (type == -1) {} else if (type == -2 || type == 14) {                this.optionChange(true);            }        },		// 自动注册		autoRegister(e) {		    app.checkAuthTotal(5, (res) => {				this.showPhoneModel = res.showPhoneModel				this.showInfoModel = res.showInfoModel				//已经有手机号和身份信息-不触发授权		        if (!res.showPhoneModel && !this.showInfoModel) {		            this.autoRegisterHandle();		        }				else{//需要确保会触发授权-不然,注册的函数不会在这次授权执行,会带入下一次授权,可能会导致错误					app.globalData.authCallbackList.push(this.autoRegisterHandle);				}		    })		},		/**		 * 自动注册		 * @param e		 */		async autoRegisterHandle() {			// 表示已经有手机号且			if(app.globalData.phone && (app.globalData.isUserInfo || uni.getStorageSync('userInfo'))){				var userInfo = app.globalData.userInfo ? app.globalData.userInfo : uni.getStorageSync('userInfo');				let parameter = {					kolName: (userInfo && userInfo.nickName ?  userInfo.nickName : "未知用户"),					kolSex: '2',//未知性别-自动注册					type: 1,//普通人-自动注册使用普通人					kolMobile: app.globalData.phone,					brandId: config.brandId,					checkStatus: 0,					creator: (userInfo && userInfo.nickName ?  userInfo.nickName : "未知用户"), //待确定					houseId: (this.houseId || ''),					status: 1,					all_income: 0,				};				const res = await requestConfig('anchorSave', parameter);				if (res.success == true) {					uni.showToast({					    title: '您已成功注册',					    icon: 'none',					    duration: 1500,					})				} else {					uni.showToast({					    title: res.message,					    icon: 'none',					    duration: 1500,					})				}			}		},        //拨打电话前置函数        beforeNavigateMakePhone(e) {            this.jumpTempData = e;            app.checkAuthTotal(2, (res) => {                if (res.showPhoneModel) {                    this.isInMakePhone = true;                    this.showPhoneModel = true;                } else {                    this.navigateMakePhone()                }            })        },        /**         * 拨打电话         * @param e         */        navigateMakePhone() {            let e = this.jumpTempData;            let phone = e.currentTarget.dataset.phone;            this.isInMakePhone = false;            uni.makePhoneCall({                phoneNumber: phone            })        },        /**         * 跳转原生H5         * @param e         */        navigateWebView: function(e) {            console.log(e.currentTarget.dataset);            const title = e.currentTarget.dataset.title || '';            const jumpLink = e.currentTarget.dataset.jumplink;            console.log("title" + title);            let currPage = getCurrentPages()[getCurrentPages().length - 1] ? getCurrentPages()[getCurrentPages().length - 1].$vm : null;            let houseId = this.houseId || app.globalData.houseId || (currPage?currPage.houseId:'');            if (jumpLink && jumpLink.length > 0) {                app.globalData.currDespage = e.currentTarget.dataset.despage || "";                let type = jumpLink.substring(jumpLink.lastIndexOf('.')).toLocaleLowerCase();                // 如果H5连接的是视频则跳转到全屏播放视频的组件页面中                if (type && type == ".mp4") {                    let url = '/pages/bearVideo/bearVideo?source=' + jumpLink + '&title=' + title;                    if (houseId) {                        url += ('&houseId=' + houseId);                    }                    uni.navigateTo({                        url: url,                        fail: function(res) {                            // fail                            console.log(res)                        },                    })                } else {                    let webviewUrl = '/pages/webView/webView?view=' + encodeURIComponent(jumpLink) + '&title=' + title;                    if (houseId) {                        webviewUrl += ('&houseId=' + houseId);                    } else {                        webviewUrl += ('&brandId=' + config.brandId);                    }                    if (app.checkWebviewLink(jumpLink)) {                        uni.showToast({                            title: '敬请期待',                            icon: 'none',                            duration: 1500,                        })                    } else {                        uni.navigateTo({                            url: webviewUrl,                            fail: function(res) {                                console.log(res)                            },                        })                    }                }                app.makeClkTrackRequest(jumpLink)            }        },        /**         * desc:         *    1,处理跳转户型或者户型详情         *    2,选择户型列表或者户型楼栋         *         */        async handleHouseType(e) {            let link = e.currentTarget.dataset.jumplink;            let value = e.currentTarget.dataset.jumpvalue;            console.log("handleHouseType 跳转户型", e);            if (value) { //房间下标                uni.navigateTo({                    url: '/subPackage/pages/groupHouseTypeDetail/groupHouseTypeDetail?houseId=' + this.houseId +                        '&layoutId=' +                        value,                });            } else if (link) { //楼栋ID                const res = await requestConfig('pageListLayoutByBuilding', {                    "houseId": this.houseId,                    buildingId: link                });                if (res && res.success && res.pageModel.resultSet) {                    if (res.pageModel.resultSet.length > 0) {//跳转的是户型列表                        let houseUrl = '/subPackage/pages/groupHouseType/groupHouseType?houseId=' + this.houseId +                            '&buildingId=' + link;                        if (app.globalData.houseProject.shareControl.houseModule == 2) {                            houseUrl = '/subPackage/pages/groupHouseList/groupHouseList?houseId=' + this.houseId +                                '&buildingId=' + link;                        }                        uni.navigateTo({                            url: houseUrl,                        });                    } else {                        uni.showToast({                            title: '敬请期待',                            icon: 'none',                            duration: 1500,                        })                    }                } else {                    uni.showToast({                        title: '敬请期待',                        icon: 'none',                        duration: 1500,                    })                }            }        },        //户型-新版逻辑是不需要在路口处校验是否授权的        navigateHouseType: function(e) {            app.globalData.pageDesc = this.pvCurPageName ? this.pvCurPageName : (this.navbar ? this.navbar.pageName : '');            if(this.houseId){                this.handleHouseType(e);            }            else{                uni.showToast({                    title: '敬请期待',                })            }        },        // 此时此刻        async navigateMoment(e) {            console.log('此时此刻', e);            let _data = {}            let currPage = getCurrentPages()[getCurrentPages().length - 1] ? getCurrentPages()[getCurrentPages().length - 1].$vm : null;            let houseId = this.houseId || app.globalData.houseId || (currPage?currPage.houseId:'');            if (houseId) {                _data.houseId = houseId;            } else {                _data.brandId = config.brandId;            }            const res = await requestConfig('queryMomentCurrent', _data); //获取此时此刻当前播放内容            if (res && res.success && res.single) { //存在视频则可以执行下一步                let url = "";                if (houseId) {                    url = '/pages/video/video?houseId=' + houseId;                } else {                    url = '/pages/video/video?brandId=' + config.brandId;                }                // 个性化需求,运营要求针对这个页面强制改为集团层视频 3591                if(this.pageId == 3601 || this.pageId == '3601' || this.pageId == 3591 || this.pageId == '3591'){                    url = url + "&fixBrand=1"                }                uni.navigateTo({                    url: url,                })            } else {                uni.showToast({                    title: '敬请期待',                })            }        },        /**         * 跳转项目首页         * @param e         */        navigateToProjectIndexPage(e) {            let houseId = e.currentTarget.dataset.jumpvalue;            if (houseId && houseId.toString().length > 0) {                uni.navigateTo({                    url: '/pages/index/index?houseId=' + houseId,                    fail: function(res) {                        console.log(res);                    },                })            }        },        //敬请期待        navigateToWaitToast(e) {            uni.showToast({                title: '敬请期待'            });        },        /**         * 跳转搜索         * @param e         */        navigateToSearch(type) {            // 2021.8.16号产品确定所有集团的跳转都转到新的搜索页面上去            let url = '/subPackage/pages/searchNewModule/searchNewModule';            // if(config.brandId=='46'){//大悦城跳转到新的搜索结果页,其他不变            //     url = '/subPackage/pages/searchNewModule/searchNewModule';            // }            // if(config.brandId=='6'){//置地-个性化跳转            //     url = '/pages/screenSearchListModule/screenSearchListModule';            //     if (type) {            //         url = url + "?openType=" + type;            //     }            // }            uni.navigateTo({                url: url,            });        },        /**         * 条件搜索         * @param e         */        navigateToSearchForContation(e) {            let url = '/subPackage/pages/searchCondition/searchCondition';            uni.navigateTo({                url: url,            });        },        /**         * 跳转资讯列表         * @param e         */        navigateToNewsList(e) {            let _url = "/subPackage/pages/news/newsList/newsList";            let currPage = getCurrentPages()[getCurrentPages().length - 1] ? getCurrentPages()[getCurrentPages().length - 1].$vm : null;            let houseId = this.houseId || app.globalData.houseId || (currPage?currPage.houseId:'');            if (houseId) {                _url = _url + "?houseId=" + houseId;            }            uni.navigateTo({                url: _url            });        },        //打开视频        goNewVideo(e) {            let currPage = getCurrentPages()[getCurrentPages().length - 1] ? getCurrentPages()[getCurrentPages().length - 1].$vm : null;            const jumpLink = e.currentTarget.dataset.jumplink;            const videoId = e.currentTarget.dataset.jumpvalue || '';            const title = e.currentTarget.dataset.expand || '';            let houseId = this.houseId || app.globalData.houseId || (currPage?currPage.houseId:'');            let url = '/pages/bearVideo/bearVideo?source=' + jumpLink + '&title=' + title + '&videoId=' + videoId;            if (houseId) {                url += ('&houseId=' + houseId);            }            uni.navigateTo({                url: url,            })        },        // 集团视频看房        goVideoChat(e) {            if (!e.currentTarget.dataset) {                uni.showToast({                    title: '敬请期待'                });                return            }            let url = "/imRoom/pages/multiroom/aide/aide";            let currPage = getCurrentPages()[getCurrentPages().length - 1] ? getCurrentPages()[getCurrentPages().length - 1].$vm : null;            let houseId = this.houseId || app.globalData.houseId || (currPage?currPage.houseId:'');            if (houseId) {                url += '?houseId=' + houseId;            } else {                // this.houseId = e.currentTarget.dataset.jumpvalue                url += '?houseId=' + e.currentTarget.dataset.jumpvalue;            }            app.checkAuthTotal(2, (checkRes) => {                this.showPhoneModel = checkRes.showPhoneModel;                if (!checkRes.showPhoneModel) {                    // if (!houseId) {                    //     this.houseId = "";                    // }                    uni.navigateTo({                        url: url,                        fail: (res) => {                            uni.showToast({                                duration: 1500,                                title: '敬请期待'                            });                        },                    })                    let param = {                        type: 'CLK', //埋点类型                        clkId: 'clk_2cmina_94', //点击ID                        clkName: 'videoChat-click', //点击前往的页面名称                    };                    util.trackRequest(param);                }            }, true);        },        // 同屏带看        async goVrRoom(e){            if (!e.currentTarget.dataset) {                uni.showToast({                    title: '敬请期待'                });                return            }            app.goVrRoom(Number(e.currentTarget.dataset.jumpvalue),Number(e.currentTarget.dataset.jumplink))        },        //去往项目IM        async goChatList(e) {            let houseId = e.currentTarget.dataset.jumpvalue || this.houseId || app.globalData.houseId;            if(!houseId){                uni.showToast({                    title: '敬请期待'                });                return false;            }            console.log("***goChatList***",houseId)            if (this.showPhoneModel || this.showInfoModel) {                return false            }            // if (this.fromBrand) {            //     this.houseId = houseId;            // }            app.checkAuthTotal(2, (checkRes) => {                this.showPhoneModel = checkRes.showPhoneModel;                if (!checkRes.showPhoneModel) {                    // if (this.fromBrand) {                    //     this.houseId = "";                    // }                    if (app.handleGoChat(houseId)) {                        console.log("***goChatList-over***")                    }                }            }, true);        },        /**         * 查询集团项目GUID         */        async getProjectGUIDByHouseId() {            let requestData = {                houseId: this.houseId            };            const res = await requestConfig('getProjectGUIDByHouseId', requestData);            if (res && res.success && res.single) {                this.projectCode = res.single;            }        },        async goOtherMini(e) { //打开其他小程序            let jumpLink = e.currentTarget.dataset.jumplink; //路径            let appid = e.currentTarget.dataset.jumpvalue || ''; //appid            jumpLink = jumpLink.trim();            let projectCodeIdx = jumpLink.indexOf('?projectCode=');            if(projectCodeIdx >= 0){                this.projectCode = jumpLink.substring(projectCodeIdx+13,jumpLink.length);                jumpLink = jumpLink.substring(0,projectCodeIdx);            }            let extraData = {};            //只有项目层才会触发该逻辑            if (appid == 'wx38d0e39f4c57c4de' && this.houseId) {                if (!this.projectCode) {                    await this.getProjectGUIDByHouseId();                }                if (!app.globalData.phone) {//必须存在手机号才行                    // this.forceGetPhoneForMiniJumpData = e;                    this.showPhoneModel = true;//尝试唤出手机号授权弹窗                    // this.forceGetPhoneForMiniJump = true;                    return                }                extraData = {                    projectcode: this.projectCode, //项目code                    phonenumber: app.globalData.phone, //手机号                    consultanttel: '', //置业顾问手机(可为空):                    consultantname: '', //置业顾问名称(可为空):                }                console.log("navigate to Other miniprogram", extraData);            }            uni.navigateToMiniProgram({                appId: appid,                path: jumpLink,                extraData: extraData,                envVersion: 'release',                fail(err) {                    console.warn("***打开其他小程fail***", err)                }            })        },        ///打开小程序中的原生页面        async goOtherOriginPage(e) {            var self = this;            let link = e.currentTarget.dataset.jumplink;            if (link.startsWith('/')) {                link = link.substring(link.indexOf('/') + 1);            }            link = link.trim();            console.log("goOtherOriginPage-link:" + link);            // #ifdef MP-WEIXIN            if ((link.indexOf('/scoreCenter') > -1 || link.indexOf('/myCard') > -1 || link.indexOf('/liveRoom') > -1)            && !app.globalData.phone) {                this.showPhoneModel = true;//尝试唤出手机号授权弹窗                return            }            // #endif            // #ifndef MP-WEIXIN            if (link.indexOf("/panKeBao") > -1  || link.indexOf("/defineShare/defineShare") > -1            || link.indexOf("/myCard/myCard") > -1 || link.indexOf('liveRoom') > -1) {                uni.showToast({                    title: '敬请期待',                    icon: 'none',                    duration: 1500,                });                return false;            }            // #endif            // 当是主播认证页面,则在这个接口,查询主播是否认证过            // 并且有手机号码,则去查询后台            if (link.includes('extraPackage/pages/hostProve/hostProve') && app.globalData.phone) {                let obj = await this.queryAnchorInfo(app.globalData.phone);                if (obj.status) {                    link = obj.url;                }            }            if(this.houseId){//如果存在项目id                if(!link.includes('&houseId=')&&!link.includes('?houseId=')){                    if (link.indexOf('?') == -1) {                        link = link + '?houseId=' + self.houseId;                    } else {                        link = link + '&houseId=' + self.houseId;                    }                }            }else{                if (link.indexOf('?') >= 0) {                    link += '&fromBrand=true';                } else {                    link += '?fromBrand=true';                }            }            uni.navigateTo({                url: '/' + link,                fail: (res) => {                    uni.showToast({                        title: '敬请期待',                        icon: 'none',                        duration: 1500,                    });                },            })        },        /**         * 跳转到其他原生页         * @param e         */        navigateToMiniPage(e) {            var self = this;            let link = e.currentTarget.dataset.jumplink;            let pageId = e.currentTarget.dataset.jumpvalue;            let currPage = getCurrentPages()[getCurrentPages().length - 1] ? getCurrentPages()[getCurrentPages().length - 1].$vm : null;            let houseId = this.houseId || app.globalData.houseId || (currPage?currPage.houseId:'');            if (link.startsWith('/')) {                link = link.substring(link.indexOf('/') + 1);            }            link = link.trim();            console.log("navigateToMiniPage-link:" + link);            if(!link){                uni.showToast({                    title: '敬请期待'                });                return false;            }            //跳转集团首页            if (link.indexOf("groupIndex1") >= 0 || link.indexOf("groupIndex2") >= 0            || link.indexOf("groupIndex3") >= 0 || link.indexOf("groupIndex4") >= 0) {                uni.switchTab({                    url: "/" + link,                })            } else {                let url = '/' + link + '?pageId=' + pageId;                if (!houseId) {                    url += '&fromBrand=true';                } else {                    url += ('&houseId=' + houseId);                }                uni.navigateTo({                    url: url,                    fail: (res) => {                        uni.showToast({                            title: '敬请期待'                        });                    }                })            }        },        //跳转图集-新版逻辑是不需要在路口处校验是否授权的        navigateImgSwip(e) {            var self = this;            let type = e.currentTarget.dataset.jumpvalue;            if(!type){//没有跳转的图集类型,数据不合法                uni.showToast({                    title: '敬请期待',                });                return false;            }            let _url = '/subPackage/pages/groupScaleImg/groupScaleImg?type=' + type            if(this.houseId){                _url = _url + '&houseId=' + this.houseId;            }            else{                _url = _url + '&brandId=' + config.brandId;            }            uni.navigateTo({                url: _url,            });        },        //房贷计算器        navigateToLoan(e) {            let path = "/subPackage/pages/calculator/calculatorSwitch/calculatorSwitch";            if (this.houseId) {                path += ('?houseId=' + this.houseId);            }            uni.navigateTo({                url: path            })        },        //活动页面        navigateToSplendActivity(e) {            //不存在pageid            if(!e.currentTarget.dataset.jumpvalue){                uni.showToast({                    title: '敬请期待',                });                return false;            }            let path = "/activityPackage/pages/activityWorking/activityWorking";            let value = JSON.parse(e.currentTarget.dataset.jumpvalue);            let pageId = value.pageId;            path += '?activityPageId=' + e.currentTarget.dataset.jumplink + '&pageId=' + pageId            if (this.houseId) {                path += ('&houseId=' + this.houseId);            }            else{                path += '&fromBrand=true';            }            uni.navigateTo({                url: path            })        },        //预热页        navigateToPreheatActivity(e) {            //不存在pageid            if(!e.currentTarget.dataset.jumpvalue){                uni.showToast({                    title: '敬请期待',                });                return false;            }            let url = '/activityPackage/pages/activityWarmUp/activityWarmUp?pageId=' + e.currentTarget.dataset.jumpvalue;            if (this.houseId) {                url += ('&houseId=' + this.houseId);            }            else{                url += '&fromBrand=true';            }            uni.navigateTo({                url: url            })        },        //摄影大赛        navigateToPhotoActivity(e) {            //不存在pageid            if(!e.currentTarget.dataset.jumpvalue){                uni.showToast({                    title: '敬请期待',                });                return false;            }            let path = "/activityPackage/pages/photoActivity/photoActivity?pageId=" + e.currentTarget.dataset.jumpvalue;            if (this.houseId) {                path += ('&houseId=' + this.houseId);            }            else{                path += '&fromBrand=true';            }            uni.navigateTo({                url: path            })        },        //购房节        navigateToBuyActivity(e) {            //不存在pageid            if(!e.currentTarget.dataset.jumplink){                uni.showToast({                    title: '敬请期待',                });                return false;            }            let path = "/activityPackage/pages/activityCommonPages/activityCommonPages";            let houseId = e.currentTarget.dataset.jumpvalue;            if (houseId) {                path += ('?pageId=' + e.currentTarget.dataset.jumplink + '&houseId=' + houseId)            } else {                path += ('?pageId=' + e.currentTarget.dataset.jumplink + '&fromBrand=true')            }            uni.navigateTo({                url: path            })        },        //跳转地图页面        goMapPage(e){            if(!this.houseId){                uni.showToast({                    title: '敬请期待',                    icon: 'none',                    duration: 1500,                })                return            }            let url =  config.host + '/index.html#/pages/zongMap/map?houseId=' + this.houseId;            uni.navigateTo({                url: '/pages/webView/webView?view=' + encodeURIComponent(url) +                    '&title=地段配套' + '&houseId=' + this.houseId,                fail: function(res) {                    console.log(res)                },            })        },        // 去往预约页面        goAppointmentPage(e){            let pageId = e.currentTarget.dataset.jumpvalue;            let houseId = this.houseId||''            if(!pageId){                uni.showToast({                    title: '敬请期待',                    icon: 'none',                    duration: 1500,                });                return            }            let path = '/activityPackage/pages/appointment/appointment?houseId=' + houseId + '&pageId='+pageId;            if (!this.houseId) {                path += '&fromBrand=true'            }            uni.navigateTo({                url: path,                fail: (res) => {                    uni.showToast({                        title: '敬请期待'                    });                },            })        },        /**         * 跳转装户购物车         * @param e         */        navigateToZhuangHuShopCar(e) { //跳转装户购物车            uni.navigateTo({                url: '/onlineHouseHold/pages/roomShoppingCart/roomShoppingCart',            })        },        // 查询主播信息        async queryAnchorInfo(mobile) {            uni.showLoading({                title: '加载中'            });            const res = await requestConfig('anchorInfo', {                mobile,                brandId: config.brandId,            });            uni.hideLoading();            if (res.success && res.single && res.single.checkStatus !==2) {                // 正在审核中                return {                    url: `extraPackage/pages/results/results?type=${res.single.checkStatus}`,                    status: true                }            } else {                return {                    status: false                };            }        },    }}
 |