|
@@ -23,20 +23,17 @@
|
|
</div>
|
|
</div>
|
|
</template>
|
|
</template>
|
|
<script>
|
|
<script>
|
|
-import { createAxiosByinterceptors } from '@/api/request';
|
|
|
|
-import Stomp from '@/lib/stompjs';
|
|
|
|
import loginMinix from '@/mixins/login';
|
|
import loginMinix from '@/mixins/login';
|
|
-import { Decrypt, Encrypt } from '@/utils/crypto';
|
|
|
|
-import { getIsMin, getIsWxh5, getUrlParams } from '@/utils/index.js';
|
|
|
|
-import SockJS from '@/utils/sockjs';
|
|
|
|
|
|
+import { getIsMin,getIsWxh5,getUrlParams,initEnv,requestInit,wssInit } from '@/utils/index.js';
|
|
import uni from '@/utils/uniHooks';
|
|
import uni from '@/utils/uniHooks';
|
|
import { getAppIdByGroupIdAndMallId } from '@/utils/index.js';
|
|
import { getAppIdByGroupIdAndMallId } from '@/utils/index.js';
|
|
-import sensorsFn from '@/plugins/sensors'
|
|
|
|
|
|
+import sensorsFn from '@/plugins/sensors';
|
|
|
|
+
|
|
export default {
|
|
export default {
|
|
mixins: [loginMinix],
|
|
mixins: [loginMinix],
|
|
async created() {
|
|
async created() {
|
|
- await this.initEnv();
|
|
|
|
- await this.requestInit();
|
|
|
|
|
|
+ await initEnv();
|
|
|
|
+ await requestInit();
|
|
await this.init();
|
|
await this.init();
|
|
// await sensorsFn(); // 埋点初始化
|
|
// await sensorsFn(); // 埋点初始化
|
|
// 初始化环境变量
|
|
// 初始化环境变量
|
|
@@ -84,11 +81,10 @@ export default {
|
|
if (carList) {
|
|
if (carList) {
|
|
uni.setStorageSync('carList', JSON.parse(carList));
|
|
uni.setStorageSync('carList', JSON.parse(carList));
|
|
}
|
|
}
|
|
-
|
|
|
|
this.$store.commit('SET_IS_INIT', false);
|
|
this.$store.commit('SET_IS_INIT', false);
|
|
window.token = `${window.location.href}`.replace(/.*wx\/(.*)\/.*/g, '$1');
|
|
window.token = `${window.location.href}`.replace(/.*wx\/(.*)\/.*/g, '$1');
|
|
try {
|
|
try {
|
|
- const options = await this.wss();
|
|
|
|
|
|
+ const options = await wssInit();
|
|
this.$store.dispatch('baseInit', {
|
|
this.$store.dispatch('baseInit', {
|
|
options,
|
|
options,
|
|
callback: () => {
|
|
callback: () => {
|
|
@@ -107,137 +103,10 @@ export default {
|
|
this.micromessengerInit();
|
|
this.micromessengerInit();
|
|
}
|
|
}
|
|
},
|
|
},
|
|
- wss() {
|
|
|
|
- return new Promise((resolve, reject) => {
|
|
|
|
- try {
|
|
|
|
- const socket = new SockJS(`${this.getUrl()}/hafengWebsocket?token=${window.token}`);
|
|
|
|
- window.stompClient = Stomp.over(socket);
|
|
|
|
- window.stompClient.debug = null;
|
|
|
|
- this.windowSendInit();
|
|
|
|
- window.stompClient.connect({}, (frame) => {
|
|
|
|
- // 请求 projectId
|
|
|
|
- window.toWXSendMsg({
|
|
|
|
- type: 'getProjectId',
|
|
|
|
- options: {},
|
|
|
|
- });
|
|
|
|
- window.subscribe('projectId', (options) => {
|
|
|
|
- resolve(options);
|
|
|
|
- });
|
|
|
|
- });
|
|
|
|
- } catch (err) {
|
|
|
|
- // console.log(err);
|
|
|
|
- reject(err);
|
|
|
|
- // callback && callback();
|
|
|
|
- }
|
|
|
|
- });
|
|
|
|
- },
|
|
|
|
- windowSendInit() {
|
|
|
|
- const token = window.token;
|
|
|
|
- // console.log(118, token);
|
|
|
|
- window.toWXSendMsg = function ({ type = '', funcName = '', options = {} }) {
|
|
|
|
- /**
|
|
|
|
- * 向小程序端发送消息
|
|
|
|
- */
|
|
|
|
- if (!type) return;
|
|
|
|
- // console.log(259, '微信支付的options', options);
|
|
|
|
- window.stompClient.send(
|
|
|
|
- '/sendToWechat',
|
|
|
|
- {},
|
|
|
|
- JSON.stringify({
|
|
|
|
- token,
|
|
|
|
- data: Encrypt(
|
|
|
|
- JSON.stringify({
|
|
|
|
- type: type,
|
|
|
|
- funcName,
|
|
|
|
- options,
|
|
|
|
- })
|
|
|
|
- ),
|
|
|
|
- })
|
|
|
|
- );
|
|
|
|
- };
|
|
|
|
-
|
|
|
|
- // 主动订阅事件回调
|
|
|
|
- window.subscribe = function (type, callback) {
|
|
|
|
- const subscribeId = window.stompClient.subscribe('/user/' + token + '/toH5', function (response) {
|
|
|
|
- try {
|
|
|
|
- let res = {
|
|
|
|
- token: '', // 微信小程序端 页面的传递过来的token
|
|
|
|
- data: '', // 微信小程序端 页面的传递过来的信息(已加密)
|
|
|
|
- };
|
|
|
|
- if (response.body) {
|
|
|
|
- res = JSON.parse(response.body);
|
|
|
|
- }
|
|
|
|
- // 检查 微信小程序端 发送过来的信息和token是否与当前页面的 token一致。并且 res.data 携带信息,在解密之后是 json 格式
|
|
|
|
- if (res.token && res.token === token && res.data) {
|
|
|
|
- const msgJson = JSON.parse(Decrypt(res.data));
|
|
|
|
- const reg = new RegExp(type);
|
|
|
|
- // 获取 projectId
|
|
|
|
- if (reg.test(msgJson.type)) {
|
|
|
|
- callback(msgJson.options, subscribeId);
|
|
|
|
- subscribeId.unsubscribe();
|
|
|
|
- return;
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- } catch (err) {
|
|
|
|
- console.log('stomp error', err);
|
|
|
|
- }
|
|
|
|
- });
|
|
|
|
- };
|
|
|
|
- },
|
|
|
|
- initEnv() {
|
|
|
|
- const href = window.location.href;
|
|
|
|
- console.log('当前页面的url地址 ', href);
|
|
|
|
- if (/dev-|8080/.test(href)) {
|
|
|
|
- // window.env = 'qa';
|
|
|
|
- // window.profileApi = 'https://qa-apim.kerryplus.com/c/api';
|
|
|
|
- // window.api = 'qaApi';
|
|
|
|
- window.env = 'dev';
|
|
|
|
- window.profileApi = 'https://dev-gateway-kip.kerryonvip.com/api';
|
|
|
|
- window.api = 'devApi';
|
|
|
|
- return;
|
|
|
|
- }
|
|
|
|
- if (/qa-/.test(href)) {
|
|
|
|
- window.env = 'qa';
|
|
|
|
- window.api = 'qaApi';
|
|
|
|
- window.profileApi = 'https://qa-apim.kerryplus.com/c/api';
|
|
|
|
- return;
|
|
|
|
- }
|
|
|
|
- window.env = 'prod';
|
|
|
|
- window.profileApi = 'https://apim.kerryplus.com/c/api';
|
|
|
|
- window.api = 'api';
|
|
|
|
- },
|
|
|
|
- requestInit() {
|
|
|
|
- let baseURL = window.profileApi + '/temporary-parking/v1';
|
|
|
|
- if (window.location.href.indexOf('tparking.') < 0 ) {
|
|
|
|
- baseURL = '/msApi'
|
|
|
|
- }
|
|
|
|
- window.requestms = createAxiosByinterceptors({
|
|
|
|
- // baseURL: `https://dev-kip-service-internal.kerryonvip.com/`,
|
|
|
|
- // baseURL: `http://tp.hht.test/`,
|
|
|
|
- // baseURL: window.profileApi, // TODO: 微服务发布到DEV环境之后取消注释
|
|
|
|
- baseURL
|
|
|
|
- // baseURL: `/msApi`,
|
|
|
|
- });
|
|
|
|
- },
|
|
|
|
- // websocket 链接
|
|
|
|
- getUrl() {
|
|
|
|
- return `https://crm.kerryplus.com/xcrm-api`; // TODO: 临时更改websocket域名为prod
|
|
|
|
- // 如果 kerry+ 这边的访问环境是 sl 或者 lt,需要把 wss 指向 qa 环境。
|
|
|
|
- const href = `${window.location.href}`;
|
|
|
|
- if (/dev-|8080/.test(href)) {
|
|
|
|
- return 'https://qa-crm-kpl.kerryprops.com.cn/xcrm-api';
|
|
|
|
- }
|
|
|
|
- if (/qa-/.test(href)) {
|
|
|
|
- return 'https://qa-crm-kpl.kerryprops.com.cn/xcrm-api';
|
|
|
|
- }
|
|
|
|
- // return 'https://qa-crm-kpl.kerryprops.com.cn/xcrm-api';
|
|
|
|
- return `https://crm.kerryplus.com/xcrm-api`;
|
|
|
|
- },
|
|
|
|
micromessengerInit() {
|
|
micromessengerInit() {
|
|
this.$store.commit('SET_IS_INIT', false);
|
|
this.$store.commit('SET_IS_INIT', false);
|
|
let path = '';
|
|
let path = '';
|
|
let [groupId, mallId] = window.location.pathname.split('/').filter((elm) => elm);
|
|
let [groupId, mallId] = window.location.pathname.split('/').filter((elm) => elm);
|
|
- console.log(265, groupId, mallId);
|
|
|
|
// return;
|
|
// return;
|
|
// 如果groupId 是 tparking
|
|
// 如果groupId 是 tparking
|
|
if (groupId === 'tparking') {
|
|
if (groupId === 'tparking') {
|
|
@@ -261,7 +130,6 @@ export default {
|
|
const openid = uni.getStorageSync('openid');
|
|
const openid = uni.getStorageSync('openid');
|
|
|
|
|
|
const query = getUrlParams();
|
|
const query = getUrlParams();
|
|
- console.log(284, query, groupId, mallId);
|
|
|
|
// return;
|
|
// return;
|
|
// 设置openid
|
|
// 设置openid
|
|
this.$nextTick(() => {
|
|
this.$nextTick(() => {
|
|
@@ -302,16 +170,16 @@ export default {
|
|
},
|
|
},
|
|
// 无感积分相关
|
|
// 无感积分相关
|
|
async wxEasyPointsCommitStatusInit() {
|
|
async wxEasyPointsCommitStatusInit() {
|
|
- return
|
|
|
|
|
|
+ return;
|
|
this.$refs.wxPointsCommit.open();
|
|
this.$refs.wxPointsCommit.open();
|
|
// 判断用户是否登陆
|
|
// 判断用户是否登陆
|
|
if (uni.getStorageSync('openid') && uni.getStorageSync('member') && uni.getStorageSync('member') !== {}) {
|
|
if (uni.getStorageSync('openid') && uni.getStorageSync('member') && uni.getStorageSync('member') !== {}) {
|
|
- const easyPointsCommitStatus = await getWxEasyPointsCommitStatus()
|
|
|
|
- if (easyPointsCommitStatus) {
|
|
|
|
- this.$refs.wxPointsCommit.open();
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
|
|
+ const easyPointsCommitStatus = await getWxEasyPointsCommitStatus();
|
|
|
|
+ if (easyPointsCommitStatus) {
|
|
|
|
+ this.$refs.wxPointsCommit.open();
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ },
|
|
},
|
|
},
|
|
};
|
|
};
|
|
</script>
|
|
</script>
|