| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760 |
- <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 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: {},
- baseImagurl: 'https://api.cityexpress168.com.vn', //生产环境
- // baseImagurl: 'https://api.amazeway.com.cn', //预发布
- token: '',
- imViewOpen: false,
- EXViewOpen: false,
- goEasy: null,
- goEasycnt: false,
- initgoEasy: {}
- },
- onLaunch: function() {
- console.log('App Launch')
- this.globalData._i18n = this.$i18n;
- this.globalData.$t = str => this.$t(str);
- this.globalData.sj = str => this.getTimestr();
- 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('123', language)
- console.log(language)
- if ('' == language || null == language || undefined == language) {
- uni.setStorageSync('language', "yuenan");
- uni.setLocale('yuenan');
- if (!this.isAndroid) {
- this.$i18n.locale = 'yuenan';
- }
- this.uploadLanguagesSet('yuenan');
- } 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;
- },
- async uploadLanguagesSet(lang) {
- var userId = uni.getStorageSync('userId');
- if (!userId) {
- userId = 0
- }
- 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,
- // id: userId
- // }, 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;
- }
- .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>
|