| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766 |
- <script>//com.vi1688cityexpress.user
- // const toast = uni.requireNativePlugin('Ba-Toast');//android
- // const callerID = uni.requireNativePlugin('Ba-CallerID');//android
- // const KJPip = uni.requireNativePlugin('KJ-Pip');//ios
- import baseUrlconst from "@/config/urlConfig.js"
- import api from "@/pages/api/api.js"
- export default {
- data() {
- return {
- isAndroid:false,
- androidflType:0,
- isInback:false,
- isfirst:true,
- audioObj:null,
- }
- },
- globalData:{
- _i18n:{},
- $t:{},
- sj:{},
- iosfl:{},
- token:'',
- imViewOpen:false,
- EXViewOpen:false,
- goEasy:null,
- goEasycnt:false,
- initgoEasy:{},
- getUrl:{}
- },
- onLaunch: function() {
- console.log('App Launch:',uni.getStorageSync("token"))
- this.globalData._i18n=this.$i18n;
- this.globalData.$t=str=>this.$t(str);
- this.globalData.sj=str=>this.getTimestr();
- this.globalData.getUrl=index=>this.getBaseUrl(index);
- this.globalData.iosfl=index=>this.showpiaof(index);
- this.globalData.token = uni.getStorageSync("token");
- this.globalData.imViewOpen=false;
- this.globalData.EXViewOpen=false;
- this.globalData.goEasy = this.goEasy;
- this.globalData.initgoEasy=str=>this.connectGoEasy();
- let systemInfo = uni.getSystemInfoSync();
- this.isAndroid = systemInfo.platform.toLowerCase() === 'android';
-
- var language = uni.getStorageSync('language');
- console.log(language)
- if(''==language||null==language||undefined==language){
- uni.setStorageSync('language',"zh-Hant");
- uni.setLocale('zh-Hant');
- if(!this.isAndroid){
- this.$i18n.locale = 'zh-Hant';
- }
- this.uploadLanguagesSet('zh-Hant');
- }
- else{
- uni.setLocale(language);
- if(!this.isAndroid){
- this.$i18n.locale = language;
- }
- //this.uploadLanguagesSet(language);
- }
- this.connectGoEasy();
-
- uni.setStorageSync('userAddrLocation',"");
- uni.onPushMessage((res) => {
- console.log("收到推送消息:",res) //监听推送消息
- var payload=res.data.payload;
- if(payload.indexOf("rcuser")!=-1){
- this.updataxiaoxi(payload);
- }
- if(res.type=='click'){
- var content=res.data.title;
- plus.runtime.setBadgeNumber(0);
- // if(content.indexOf("Call")!=-1){
- // if(this.globalData.imViewOpen){
- // return;
- // }
- // uni.setStorageSync('impayload',res.data.payload);
- // this.imcallrecive(res.data.payload);
- // return
- // }
- // if(content.indexOf("message")!=-1){
- // if(this.globalData.EXViewOpen){
- // return;
- // }
- // uni.setStorageSync('impayload',res.data.payload);
- // this.immessagerecive(res.data.payload);
- // return
- // }
-
- setTimeout(function() {
- // 这里写要延时执行的代码
- uni.switchTab({
- url:'/pages/OrderList/OrderList'
- })
- }, 1500);
- return;
- }
- if(res.type=='receive'){
- plus.runtime.setBadgeNumber(0);
- var content=res.data.title;
- // if(content.indexOf("Call")!=-1){
- // if(this.globalData.imViewOpen){
- // return;
- // }
- // uni.setStorageSync('impayload',res.data.payload);
- // this.imcallrecive(res.data.payload);
- // return
- // }
- // if(content.indexOf("message")!=-1){
- // if(this.globalData.EXViewOpen){
- // return;
- // }
- // uni.setStorageSync('impayload',res.data.payload);
- // this.immessagerecive(res.data.payload);
- // return
- // }
- content=res.data.content;
- if(content.indexOf("骑手定位")!=-1){
- plus.runtime.setBadgeNumber(0);
- return;
- }
- uni.createPushMessage({
- content:res.data.content,
- success: (res) => {
- console.log(res);
- },
- fail(er) {
- }
- });
- }
- });
- //-----------------------------------
- var that = this;
- //android---------------------------------------------
- that.audioObj=uni.createInnerAudioContext();
- that.audioObj.src='static/y800.mp3';
- var globalEvent = uni.requireNativePlugin('globalEvent');
- globalEvent.addEventListener('baCallerIdEvent', function(e) {
- console.log('baCallerIdEvent:' + JSON.stringify(e));
- console.log(e);
- if(e.tag=='call'&&e.action=='onClick'){
- if(that.isInback){
- plus.runtime.launchApplication({pname:'com.vi1688cityexpress.user'});
- }
-
- if(that.androidflType==1){
- uni.navigateTo({
- url:'/pages/imcall/audioCall?iscaller=0'
- })
- }
- else if(that.androidflType==2){
- uni.navigateTo({
- url:'/pages/imcall/GoeasyExchange?iscaller=0'
- })
- }
- that.audioObj.pause();
- that.hideFW();
- }
- if(e.tag=='uncall'&&e.action=='onClick'){
- that.audioObj.pause();
- that.hideFW();
- }
- });
- //ios-------------------------------------------------------------
- globalEvent.addEventListener('onPip', function(res) {
- console.log("onPip:" + JSON.stringify(res));
- if (res.method == "willStartPip") {
- console.log("即将开启画中画");
- } else if (res.method == "didStartPip") {
- console.log("已经开启画中画");
- } else if (res.method == "failedStartPip") {
- console.log("开启画中画失败");
- } else if (res.method == "willStopPip") {
- console.log("即将关闭画中画");
- //that.imdef();
- } else if (res.method == "didStopPip") {
- console.log("已经关闭画中画");
-
- } else if (res.method == "restorePip") {
- console.log("恢复");
- }
- });
- globalEvent.addEventListener('onWebview', function(res) {
- console.log("onWebview:" + JSON.stringify(res));
- if (res.method == "finish") {
- console.log("页面加载完成");
- } else if (res.method == "fail") {
- console.log("加载失败");
- }
- });
- if(!this.isAndroid){
- this.onH5SendDataCallBack();
- }
- },
- onShow: function() {
- console.log('App Show')
- if(!this.isAndroid){
- //this.closePip();
- }
- this.isInback=false;
- this.initflaotView();
- },
- onHide: function() {
- console.log('App Hide')
- this.isInback=true;
- },
-
- methods:{
- getTimestr(){
- var time=new Date();
- var n,y,r,h,m,s;
- n=time.getFullYear();
- y=time.getMonth()+1;
- r=time.getDate();
- h=time.getHours();
- m=time.getMinutes();
- s=time.getSeconds();
- var timsStr = n+'-'+y+'-'+r+' '+h+':'+m+':'+s;
- return timsStr;
- },
-
- getBaseUrl(index){
- if(index==1){
- return this.$baseUrl.getimageBaseUrl();
- }
- if(index==2){
- return this.$baseUrl.getUploadUrl();
- }
- if(index==3){
- return this.$baseUrl.getApibaseUrl();
- }
- if(index==4){
- return this.$baseUrl.getwebBaseUrl();
- }
-
- },
- async uploadLanguagesSet(lang){
- var userId = uni.getStorageSync('userId');
- if(lang=='yuenan'){
- lang='vi';
- }
- if(lang=='zh-Hans'){
- lang='zh-CN';
- }
- if(lang=='zh-Hant'){
- lang='zh-TW';
- }
- console.log("changeLanguages");
- api('changeLanguages',{
- lang:lang
- },res=>{
- console.log('changeLanguages',res)
- },failc=>{
- //console.log('getadvertis----',failc)
- })
- },
- updataxiaoxi(str){
- var xiaoxiList = uni.getStorageSync('dachexiaoxi');
- if(''==xiaoxiList||null==xiaoxiList||undefined==xiaoxiList){
- xiaoxiList=[];
- }
- xiaoxiList.push(str);
- uni.setStorageSync('dachexiaoxi',xiaoxiList);
- },
-
- //imcall&&immessage------------------------------------------------
- initflaotView(){
- if(this.isAndroid){
- if(this.isfirst){
- //this.isPermissionFW();
- this.isfirst=false
- }
- }
- else{//ios
- //this.initPip("landscape");
- }
- },
- imcallrecive(str){
-
- if(str.indexOf("\\\"")!=-1){
- str=str.replace(/\\\"/g, '\"');
- str = str.replace(/\"{/g, '{');
- str = str.replace(/}\"/g, '}');
- }
- var obj = JSON.parse(str)
- console.log('imcallrecive',obj)
- if(this.isAndroid){
- if(this.androidflType!=0){
- return;
- }
- var uobj={
- name:obj.nickName,
- content:this.$t('audioCall.cteyhcall'),
- call:this.$t('audioCall.jietingyy'),
- uncall:this.$t('audioCall.jujuejieting')
- }
- this.androidflType=1;
- this.showFW(uobj,false);
- this.audioObj.play();
- }
- else{//ios
- this.imCall();
- }
- },
- immessagerecive(str){
- if(str.indexOf("\\\"")!=-1){
- str=str.replace(/\\\"/g, '\"');
- str = str.replace(/\"{/g, '{');
- str = str.replace(/}\"/g, '}');
- }
- var obj = JSON.parse(str);
- if(this.isAndroid){
- if(this.androidflType!=0){
- return;
- }
- var uobj={
- name:obj.nickName,
- content:this.$t('exchange.cteyhmsg'),
- call:this.$t('exchange.chakanxinxi'),
- uncall:this.$t('exchange.quxiao')
- }
- this.androidflType=2;
- this.showFW(uobj,false);
- this.audioObj.play();
- }
- else{//ios
- this.imMessage();
- }
- },
- //android-------------------------------------------------
- // showFW(obj,isInit) { //显示
- // var that = this;
- // callerID.show({
- // gravity: 1, //显示位置:0中间 1上 2下
- // name:obj.name,//用户昵称 ,
- // content:obj.content,//说明是骑手来电、来信息
- // call: obj.call,//接听IM,查看IM信息
- // uncall: obj.uncall,//拒绝接听IM,拒绝查看IM信息
- // empty: "",
- // avatar: "/static/logo.png",
- // totalHint: "",
- // tel: "",
- // list:[]
- // },
- // (res) => {
- // console.log(res);
- // if(isInit){
- // that.hideFW()
- // }
- // // uni.showToast({
- // // title: res.msg,
- // // icon: "none",
- // // duration: 3000
- // // })
- // });
- // },
- // hideFW() { //隐藏
- // this.androidflType=0;
- // callerID.hide(
- // (res) => {
- // console.log(res);
- // // uni.showToast({
- // // title: res.msg,
- // // icon: "none",
- // // duration: 3000
- // // })
- // });
- // },
- // permissionFW() { //申请悬浮窗权限
- // callerID.permission(
- // (res) => {
- // console.log('permissionFW',res);
- // });
- // },
- // goPermissionFW() { //跳转到悬浮窗权限页面
- // callerID.goPermission(
- // (res) => {
- // console.log('goPermissionFW',res);
- // });
- // },
- // isPermissionFW() { //是否申请悬浮窗权限
- // var that = this;
- // callerID.isPermission(
- // (res) => {
- // console.log('是否申请悬浮窗权限',res);
- // if (res.data) {
- // if(res.data.isPermission){
- // var uobj={
- // name:'CTE',
- // content:'',
- // call:'',
- // uncall:''
- // }
- // that.showFW(uobj,true);
- // }
- // else{
- // that.goPermissionFW();
- // }
- // }
- // });
- // },
- //ios--------------------------------------
- // showpiaof(index){
-
- // var that = this;
- // if(index==1){
- // setTimeout(function() {
- // // 这里写要延时执行的代码
- // that.initPip("landscape");
- // }, 800);
- // }
- // if(index==2){
- // that.closePip();
- // }
- // if(index==3){
- // var language = uni.getStorageSync('language');
- // if(language=='yuenan'){
- // var dic = {
- // "js": "changeImgvi()"
- // }
- // KJPip.webView_evaluateJavaScript(dic, (res) => {
- // console.log("webView_evaluateJavaScript:" + JSON.stringify(res));
- // })
- // }
- // else{
- // var dic = {
- // "js": "changeImg()"
- // }
- // KJPip.webView_evaluateJavaScript(dic, (res) => {
- // console.log("webView_evaluateJavaScript:" + JSON.stringify(res));
- // })
- // }
- // }
- // if(index==4){
- // var language = uni.getStorageSync('language');
- // if(language=='yuenan'){
- // var dic = {
- // "js": "changeImgMSvi()"
- // }
- // KJPip.webView_evaluateJavaScript(dic, (res) => {
- // console.log("webView_evaluateJavaScript:" + JSON.stringify(res));
- // })
- // }
- // else{
- // var dic = {
- // "js": "changeImgMS()"
- // }
- // KJPip.webView_evaluateJavaScript(dic, (res) => {
- // console.log("webView_evaluateJavaScript:" + JSON.stringify(res));
- // })
- // }
- // }
- // return '';
- // },
- // initPip(shape) {
- // var dic = {
- // "shape": shape, //弹窗形状 square(正方形) landscape(横向) portrait(竖向)
- // }
- // KJPip.initPip(dic)
-
- // console.log('initPip')
- // var that = this;
- // that.iosInit=true;
- // setTimeout(function() {
- // // 这里写要延时执行的代码
- // that.openPip1();
- // }, 2000);
- // },
- // openPip1() {//打开,加载本地页面?language='+language
- // var language = uni.getStorageSync('language');
- // this.openPip(plus.io.convertLocalFileSystemURL("hybrid/html/xuanfu/index.html"));
- // },
- // openPip(url) {
- // var that = this;
- // KJPip.isPictureInPictureActive((res) => {
- // console.log("isPictureInPictureActive:" + JSON.stringify(res));
- // })
- // KJPip.isPictureInPictureSuspended((res) => {
- // console.log("isPictureInPictureSuspended:" + JSON.stringify(res));
- // })
- // KJPip.isPictureInPicturePossible((res) => {
- // console.log("isPictureInPicturePossible:" + JSON.stringify(res));
- // // if(!res.result){
- // // setTimeout(function() {
- // // // 这里写要延时执行的代码
- // // //that.initPip("landscape");
- // // }, 800);
- // // }
- // })
- // KJPip.isPictureInPictureSupported((res) => {
- // console.log("isPictureInPictureSupported:" + JSON.stringify(res));
- // })
- // var dic = {
- // "url": url
- // }
- // KJPip.openPip(dic, (res) => {
- // console.log("openPip:" + JSON.stringify(res));
- // })
- // },
- // closePip() {//关闭弹窗
- // KJPip.closePip()
- // },
-
- imCall(){//收到IM语音通话请求
-
- uni.navigateTo({
- url:'/pages/imcall/audioCall?iscaller=0'
- })
-
- },
-
- imMessage(){//收到im文字聊天请求
-
- uni.navigateTo({
- url:'/pages/imcall/GoeasyExchange?iscaller=0'
- })
-
- },
-
- imdef(){//收到im文字聊天请求
- var dic = {
- "js": "changeImgdef()"
- }
- // KJPip.webView_evaluateJavaScript(dic, (res) => {
- // console.log("webView_evaluateJavaScript:" + JSON.stringify(res));
- // })
- },
-
- onH5SendDataCallBack() { //注意ios16之后,弹出里的内容不能点击
- var that = this;
- // KJPip.onH5SendDataCallBack((res) => {
- // console.log("onH5SendDataCallBack:",res);
- // })
- },
- //GoEasy--------------------------------------------
- connectGoEasy() {
- var that = this;
- if(that.globalData.goEasycnt==true){
- that.goeasydisconnect();
- return;
- }
- var userInfo=uni.getStorageSync('userInfo');
- if(''==userInfo||null==userInfo||undefined==userInfo){
- return;
- }
- console.log(userInfo);
- this.goEasy.connect({
- id:'userid_'+userInfo.userId,
- data: {
- name:userInfo.nickName,
- avatar:userInfo.avatar
- },
- onSuccess: () => {
- console.log('GoEasy connect successfully.')
- that.goEasyPush();
- that.globalData.goEasycnt=true;
- },
- onFailed: (error) => {
- console.log('Failed to connect GoEasy, code:' + error.code + ',error:' + error.content);
- },
- onProgress: (attempts) => {
- console.log('GoEasy is connecting', attempts);
- }
- });
- },
- goEasyPush(){
- var userInfo=uni.getStorageSync('userInfo');
- if(''==userInfo||null==userInfo||undefined==userInfo){
- return;
- }
- //console.log(userInfo);
- var that = this;
- var pubsub = this.goEasy.pubsub;
- pubsub.subscribe({
- channel:'userid_'+userInfo.userId,
- onMessage: function (message) {
- console.log("goEasyPush:",message);
- var obj = JSON.parse(message.content);
- if(obj.ptype==1){
- if(that.globalData.imViewOpen){
- return;
- }
- uni.setStorageSync('impayload',message.content);
- that.imcallrecive(message.content);
- }
- if(obj.ptype==2){
- if(that.globalData.EXViewOpen){
- return;
- }
- uni.setStorageSync('impayload',message.content);
- that.immessagerecive(message.content);
- }
- },
- onSuccess: function () {
- console.log("Subscribe successfully.")
- },
- onFailed: function () {
- console.log("Subscribe onFailed.")
- }
-
- });
- },
- //断开连接
- goeasydisconnect(){
- var that = this;
- this.goEasy.disconnect({
- onSuccess: function(){
- console.log("GoEasy disconnect successfully.")
- that.globalData.goEasycnt=false;
- that.connectGoEasy();
- },
- onFailed: function(error){
- console.log("Failed to disconnect GoEasy, code:"+error.code+ ",error:"+error.content);
- }
- });
- },
- },
- }
- </script>
- <style lang="scss">
- @font-face {
- font-family: zrht;
- src: url('/uni_modules/font/zrht.otf');
- }
- .container {
- padding: 15px;
- }
- /*
- button {
- margin-bottom: 15px;
- }
- */
- .ztextfontB1{
- font-size: 36rpx;
- font-weight: bold;
- }
- .ztextfontB2{
- font-size: 34rpx;
- font-weight: bold;
- }
- .ztextfontB3{
- font-size: 32rpx;
- font-weight: bold;
- }
- .ztextfontB4{
- font-size: 30rpx;
- font-weight: bold;
- }
- .ztextfontB5{
- font-size: 28rpx;
- font-weight: bold;
- }
- .ztextfontS1{
- font-size: 26rpx;
- font-weight: bold;
- }
- .ztextfontS2{
- font-size: 24rpx;
- font-weight: bold;
- }
- .ztextfontS3{
- font-size: 22rpx;
- font-weight: bold;
- }
-
- .textfontB1{
- font-size: 36rpx;
- }
- .textfontB2{
- font-size: 34rpx;
- }
- .textfontB3{
- font-size: 32rpx;
- }
- .textfontB4{
- font-size: 30rpx;
- }
- .textfontB5{
- font-size: 28rpx;
- }
- .textfontS1{
- font-size: 26rpx;
- }
- .textfontS2{
- font-size: 24rpx;
- }
- .textfontS3{
- font-size: 22rpx;
- }
-
- .content{
- display: flex;
- flex-direction: column;
- width: 94%;
- margin-left: 3%;
- background-color: white;
- border-radius: 16rpx;
- box-shadow: 0rpx 0rpx 10rpx 0rpx lightgray;
- }
- .contentInRowL{
- display: flex;
- flex-direction: row;
- justify-content: flex-start;
- }
-
- .contentInRowC{
- display: flex;
- flex-direction: row;
- justify-content: center;
- align-items: center;
- }
- .contentInRowR{
- display: flex;
- flex-direction: row;
- justify-content: flex-end;
- }
- .contentInRowS{
- display: flex;
- flex-direction: row;
- align-items: center;
- justify-content: space-between;
- }
-
- .contentColumn{
- display: flex;
- flex-direction: column;
- }
-
- .contentColumnC{
- display: flex;
- flex-direction: column;
- align-items: center;
- justify-content: center;
- }
-
- .contentColumnS{
- display: flex;
- flex-direction: column;
- align-items: center;
- justify-content: space-between;
- }
-
- .text1row{
- overflow: hidden;
- text-overflow: ellipsis;
- /* #ifndef APP-PLUS-NVUE */
- display: -webkit-box;
- -webkit-line-clamp: 1;
- -webkit-box-orient: vertical;
- /* #endif */
- }
- .text2row{
- overflow: hidden;
- text-overflow: ellipsis;
- /* #ifndef APP-PLUS-NVUE */
- display: -webkit-box;
- -webkit-line-clamp: 2;
- -webkit-box-orient: vertical;
- /* #endif */
- }
-
- </style>
|