加了 点击发布 点赞 评论等打开弹窗

This commit is contained in:
DESKTOP-RQ919RC\Pc
2025-06-23 18:17:16 +08:00
parent 79a2155a1f
commit 8e4a834797
17 changed files with 414 additions and 131 deletions

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

2
dist/index.html vendored
View File

@@ -1,4 +1,4 @@
<!doctype html><html lang=""><head><meta charset="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><meta name="viewport" content="width=device-width,initial-scale=1"/><link rel="icon" href="https://ansnid.oss-cn-shenzhen.aliyuncs.com/fang/favicon.ico"/><title>港校租房</title><script defer="defer" src="https://ansnid.oss-cn-shenzhen.aliyuncs.com/fang/js/chunk-vendors.5bed831c.js"></script><script defer="defer" src="https://ansnid.oss-cn-shenzhen.aliyuncs.com/fang/js/app.848e99ae.js"></script><link href="https://ansnid.oss-cn-shenzhen.aliyuncs.com/fang/css/chunk-vendors.7885d77e.css" rel="stylesheet"><link href="https://ansnid.oss-cn-shenzhen.aliyuncs.com/fang/css/app.d2bf0fc4.css" rel="stylesheet"></head><body><noscript><strong>We're sorry but zufang doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><script src="https://app.gter.net/bottom?tpl=header&menukey=fang"></script><div id="app"></div><div style="display: none;"><script>var _hmt = _hmt || [] <!doctype html><html lang=""><head><meta charset="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><meta name="viewport" content="width=device-width,initial-scale=1"/><link rel="icon" href="https://ansnid.oss-cn-shenzhen.aliyuncs.com/fang/favicon.ico"/><title>港校租房</title><script defer="defer" src="https://ansnid.oss-cn-shenzhen.aliyuncs.com/fang/js/chunk-vendors.5bed831c.js"></script><script defer="defer" src="https://ansnid.oss-cn-shenzhen.aliyuncs.com/fang/js/app.5200cd9e.js"></script><link href="https://ansnid.oss-cn-shenzhen.aliyuncs.com/fang/css/chunk-vendors.7885d77e.css" rel="stylesheet"><link href="https://ansnid.oss-cn-shenzhen.aliyuncs.com/fang/css/app.b06f183c.css" rel="stylesheet"></head><body><noscript><strong>We're sorry but zufang doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><script src="https://app.gter.net/bottom?tpl=header&menukey=fang"></script><div id="app"></div><div style="display: none;"><script>var _hmt = _hmt || []
;(function () { ;(function () {
var hm = document.createElement("script") var hm = document.createElement("script")
hm.src = "//hm.baidu.com/hm.js?4bd66cbe45a640b607fe46c48f658746" hm.src = "//hm.baidu.com/hm.js?4bd66cbe45a640b607fe46c48f658746"

File diff suppressed because one or more lines are too long

1
dist/js/app.5200cd9e.js vendored Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -1 +1 @@
"use strict";(self["webpackChunkzufang"]=self["webpackChunkzufang"]||[]).push([[479],{261:function(n,e,u){u.r(e),u.d(e,{default:function(){return c}});var t=u(6252),a=u(2994),r={__name:"choosing-identity",setup(n){return(n,e)=>((0,t.wg)(),(0,t.j4)(a.Z,{key:0}))}};const s=r;var c=s}}]); "use strict";(self["webpackChunkzufang"]=self["webpackChunkzufang"]||[]).push([[479],{261:function(n,e,u){u.r(e),u.d(e,{default:function(){return c}});var t=u(6252),a=u(4006),r={__name:"choosing-identity",setup(n){return(n,e)=>((0,t.wg)(),(0,t.j4)(a.Z,{key:0}))}};const s=r;var c=s}}]);

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

226
package-lock.json generated
View File

@@ -15,6 +15,7 @@
"masonry-layout": "^4.2.2", "masonry-layout": "^4.2.2",
"nprogress": "^0.2.0", "nprogress": "^0.2.0",
"sass-loader": "^8.0.0", "sass-loader": "^8.0.0",
"socket.io-client": "^4.8.1",
"video.js": "^8.17.3", "video.js": "^8.17.3",
"vue": "^3.2.13", "vue": "^3.2.13",
"vue-meta": "^3.0.0-alpha.2", "vue-meta": "^3.0.0-alpha.2",
@@ -2150,6 +2151,12 @@
"integrity": "sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==", "integrity": "sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==",
"dev": true "dev": true
}, },
"node_modules/@socket.io/component-emitter": {
"version": "3.1.2",
"resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.2.tgz",
"integrity": "sha512-9BCxFwvbGg/RsZK9tjXd8s4UcwR0MWeFQ1XEKIQVVvAGJyINdrqKMcTRyLoK8Rse1GjzLV9cwjWV1olXRWEXVA==",
"license": "MIT"
},
"node_modules/@soda/friendly-errors-webpack-plugin": { "node_modules/@soda/friendly-errors-webpack-plugin": {
"version": "1.8.1", "version": "1.8.1",
"resolved": "https://registry.npmjs.org/@soda/friendly-errors-webpack-plugin/-/friendly-errors-webpack-plugin-1.8.1.tgz", "resolved": "https://registry.npmjs.org/@soda/friendly-errors-webpack-plugin/-/friendly-errors-webpack-plugin-1.8.1.tgz",
@@ -5157,6 +5164,66 @@
"once": "^1.4.0" "once": "^1.4.0"
} }
}, },
"node_modules/engine.io-client": {
"version": "6.6.3",
"resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-6.6.3.tgz",
"integrity": "sha512-T0iLjnyNWahNyv/lcjS2y4oE358tVS/SYQNxYXGAJ9/GLgH4VCvOQ/mhTjqU88mLZCQgiG8RIegFHYCdVC+j5w==",
"license": "MIT",
"dependencies": {
"@socket.io/component-emitter": "~3.1.0",
"debug": "~4.3.1",
"engine.io-parser": "~5.2.1",
"ws": "~8.17.1",
"xmlhttprequest-ssl": "~2.1.1"
}
},
"node_modules/engine.io-client/node_modules/debug": {
"version": "4.3.7",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz",
"integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==",
"license": "MIT",
"dependencies": {
"ms": "^2.1.3"
},
"engines": {
"node": ">=6.0"
},
"peerDependenciesMeta": {
"supports-color": {
"optional": true
}
}
},
"node_modules/engine.io-client/node_modules/ws": {
"version": "8.17.1",
"resolved": "https://registry.npmjs.org/ws/-/ws-8.17.1.tgz",
"integrity": "sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==",
"license": "MIT",
"engines": {
"node": ">=10.0.0"
},
"peerDependencies": {
"bufferutil": "^4.0.1",
"utf-8-validate": ">=5.0.2"
},
"peerDependenciesMeta": {
"bufferutil": {
"optional": true
},
"utf-8-validate": {
"optional": true
}
}
},
"node_modules/engine.io-parser": {
"version": "5.2.3",
"resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.2.3.tgz",
"integrity": "sha512-HqD3yTBfnBxIrbnM1DoD6Pcq8NECnh8d4As1Qgh0z5Gg3jRRIqijury0CL3ghu/edArpUYiYqQiDUQBIs4np3Q==",
"license": "MIT",
"engines": {
"node": ">=10.0.0"
}
},
"node_modules/enhanced-resolve": { "node_modules/enhanced-resolve": {
"version": "5.15.0", "version": "5.15.0",
"resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz", "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz",
@@ -7171,8 +7238,7 @@
"node_modules/ms": { "node_modules/ms": {
"version": "2.1.3", "version": "2.1.3",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
"integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="
"dev": true
}, },
"node_modules/multicast-dns": { "node_modules/multicast-dns": {
"version": "7.2.5", "version": "7.2.5",
@@ -9321,6 +9387,68 @@
"node": ">=8" "node": ">=8"
} }
}, },
"node_modules/socket.io-client": {
"version": "4.8.1",
"resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-4.8.1.tgz",
"integrity": "sha512-hJVXfu3E28NmzGk8o1sHhN3om52tRvwYeidbj7xKy2eIIse5IoKX3USlS6Tqt3BHAtflLIkCQBkzVrEEfWUyYQ==",
"license": "MIT",
"dependencies": {
"@socket.io/component-emitter": "~3.1.0",
"debug": "~4.3.2",
"engine.io-client": "~6.6.1",
"socket.io-parser": "~4.2.4"
},
"engines": {
"node": ">=10.0.0"
}
},
"node_modules/socket.io-client/node_modules/debug": {
"version": "4.3.7",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz",
"integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==",
"license": "MIT",
"dependencies": {
"ms": "^2.1.3"
},
"engines": {
"node": ">=6.0"
},
"peerDependenciesMeta": {
"supports-color": {
"optional": true
}
}
},
"node_modules/socket.io-parser": {
"version": "4.2.4",
"resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.4.tgz",
"integrity": "sha512-/GbIKmo8ioc+NIWIhwdecY0ge+qVBSMdgxGygevmdHj24bsfgtCmcUUcQ5ZzcylGFHsN3k4HB4Cgkl96KVnuew==",
"license": "MIT",
"dependencies": {
"@socket.io/component-emitter": "~3.1.0",
"debug": "~4.3.1"
},
"engines": {
"node": ">=10.0.0"
}
},
"node_modules/socket.io-parser/node_modules/debug": {
"version": "4.3.7",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz",
"integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==",
"license": "MIT",
"dependencies": {
"ms": "^2.1.3"
},
"engines": {
"node": ">=6.0"
},
"peerDependenciesMeta": {
"supports-color": {
"optional": true
}
}
},
"node_modules/sockjs": { "node_modules/sockjs": {
"version": "0.3.24", "version": "0.3.24",
"resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz",
@@ -10725,6 +10853,14 @@
} }
} }
}, },
"node_modules/xmlhttprequest-ssl": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-2.1.2.tgz",
"integrity": "sha512-TEU+nJVUUnA4CYJFLvK5X9AOeH4KvDvhIfm0vV1GaQRtchnG0hgK5p8hw/xjv8cunWYCsiPCSDzObPyhEwq3KQ==",
"engines": {
"node": ">=0.4.0"
}
},
"node_modules/y18n": { "node_modules/y18n": {
"version": "5.0.8", "version": "5.0.8",
"resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
@@ -12299,6 +12435,11 @@
"integrity": "sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==", "integrity": "sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==",
"dev": true "dev": true
}, },
"@socket.io/component-emitter": {
"version": "3.1.2",
"resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.2.tgz",
"integrity": "sha512-9BCxFwvbGg/RsZK9tjXd8s4UcwR0MWeFQ1XEKIQVVvAGJyINdrqKMcTRyLoK8Rse1GjzLV9cwjWV1olXRWEXVA=="
},
"@soda/friendly-errors-webpack-plugin": { "@soda/friendly-errors-webpack-plugin": {
"version": "1.8.1", "version": "1.8.1",
"resolved": "https://registry.npmjs.org/@soda/friendly-errors-webpack-plugin/-/friendly-errors-webpack-plugin-1.8.1.tgz", "resolved": "https://registry.npmjs.org/@soda/friendly-errors-webpack-plugin/-/friendly-errors-webpack-plugin-1.8.1.tgz",
@@ -14623,6 +14764,39 @@
"once": "^1.4.0" "once": "^1.4.0"
} }
}, },
"engine.io-client": {
"version": "6.6.3",
"resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-6.6.3.tgz",
"integrity": "sha512-T0iLjnyNWahNyv/lcjS2y4oE358tVS/SYQNxYXGAJ9/GLgH4VCvOQ/mhTjqU88mLZCQgiG8RIegFHYCdVC+j5w==",
"requires": {
"@socket.io/component-emitter": "~3.1.0",
"debug": "~4.3.1",
"engine.io-parser": "~5.2.1",
"ws": "~8.17.1",
"xmlhttprequest-ssl": "~2.1.1"
},
"dependencies": {
"debug": {
"version": "4.3.7",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz",
"integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==",
"requires": {
"ms": "^2.1.3"
}
},
"ws": {
"version": "8.17.1",
"resolved": "https://registry.npmjs.org/ws/-/ws-8.17.1.tgz",
"integrity": "sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==",
"requires": {}
}
}
},
"engine.io-parser": {
"version": "5.2.3",
"resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.2.3.tgz",
"integrity": "sha512-HqD3yTBfnBxIrbnM1DoD6Pcq8NECnh8d4As1Qgh0z5Gg3jRRIqijury0CL3ghu/edArpUYiYqQiDUQBIs4np3Q=="
},
"enhanced-resolve": { "enhanced-resolve": {
"version": "5.15.0", "version": "5.15.0",
"resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz", "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz",
@@ -16141,8 +16315,7 @@
"ms": { "ms": {
"version": "2.1.3", "version": "2.1.3",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
"integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="
"dev": true
}, },
"multicast-dns": { "multicast-dns": {
"version": "7.2.5", "version": "7.2.5",
@@ -17671,6 +17844,46 @@
"integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
"dev": true "dev": true
}, },
"socket.io-client": {
"version": "4.8.1",
"resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-4.8.1.tgz",
"integrity": "sha512-hJVXfu3E28NmzGk8o1sHhN3om52tRvwYeidbj7xKy2eIIse5IoKX3USlS6Tqt3BHAtflLIkCQBkzVrEEfWUyYQ==",
"requires": {
"@socket.io/component-emitter": "~3.1.0",
"debug": "~4.3.2",
"engine.io-client": "~6.6.1",
"socket.io-parser": "~4.2.4"
},
"dependencies": {
"debug": {
"version": "4.3.7",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz",
"integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==",
"requires": {
"ms": "^2.1.3"
}
}
}
},
"socket.io-parser": {
"version": "4.2.4",
"resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.4.tgz",
"integrity": "sha512-/GbIKmo8ioc+NIWIhwdecY0ge+qVBSMdgxGygevmdHj24bsfgtCmcUUcQ5ZzcylGFHsN3k4HB4Cgkl96KVnuew==",
"requires": {
"@socket.io/component-emitter": "~3.1.0",
"debug": "~4.3.1"
},
"dependencies": {
"debug": {
"version": "4.3.7",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz",
"integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==",
"requires": {
"ms": "^2.1.3"
}
}
}
},
"sockjs": { "sockjs": {
"version": "0.3.24", "version": "0.3.24",
"resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz",
@@ -18673,6 +18886,11 @@
"dev": true, "dev": true,
"requires": {} "requires": {}
}, },
"xmlhttprequest-ssl": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-2.1.2.tgz",
"integrity": "sha512-TEU+nJVUUnA4CYJFLvK5X9AOeH4KvDvhIfm0vV1GaQRtchnG0hgK5p8hw/xjv8cunWYCsiPCSDzObPyhEwq3KQ=="
},
"y18n": { "y18n": {
"version": "5.0.8", "version": "5.0.8",
"resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",

View File

@@ -14,6 +14,7 @@
"masonry-layout": "^4.2.2", "masonry-layout": "^4.2.2",
"nprogress": "^0.2.0", "nprogress": "^0.2.0",
"sass-loader": "^8.0.0", "sass-loader": "^8.0.0",
"socket.io-client": "^4.8.1",
"video.js": "^8.17.3", "video.js": "^8.17.3",
"vue": "^3.2.13", "vue": "^3.2.13",
"vue-meta": "^3.0.0-alpha.2", "vue-meta": "^3.0.0-alpha.2",

View File

@@ -5,17 +5,11 @@
<script setup> <script setup>
import login from "@/components/public/login.vue"; import login from "@/components/public/login.vue";
import store from "@/store"; import store from "@/store";
import { onMounted, watch, watchEffect } from "vue"; import { onMounted, watch, watchEffect, ref, provide } from "vue";
import { useRoute } from "vue-router"; import { useRoute } from "vue-router";
import api from "./utils/api"; import api from "./utils/api";
let socketTask = null;
onMounted(() => { onMounted(() => {
// useSocket()
document.addEventListener("visibilitychange", () => {
if (document.visibilityState === "visible" && socketTask?.readyState != 1) useSocket();
});
// 创建cnzz统计js //v1.cnzz.com/z_stat.php?id=1281224882&amp;web_id=1281224882 // 创建cnzz统计js //v1.cnzz.com/z_stat.php?id=1281224882&amp;web_id=1281224882
// const script = document.createElement("script") // const script = document.createElement("script")
// script.src = "https://v1.cnzz.com/z_stat.php?id=1281224882&web_id=1281224882" // script.src = "https://v1.cnzz.com/z_stat.php?id=1281224882&web_id=1281224882"
@@ -23,8 +17,41 @@ onMounted(() => {
// document.body.appendChild(script) // document.body.appendChild(script)
getBannerData(); getBannerData();
getUserInfoWin();
}); });
let realname = ref(0); // 是否已经实名
let userInfoWin = ref({});
const getUserInfoWin = () => {
const checkUser = () => {
const user = window.userInfoWin;
if (!user) {
setTimeout(checkUser, 100);
return;
}
userInfoWin.value = user;
realname.value = user.realname || 0;
};
setTimeout(checkUser, 100);
};
const openAttest = () => {
const handleAttestClose = () => {
document.removeEventListener("closeAttest", handleAttestClose);
realname.value = window.userInfoWin?.realname || 0;
};
// 启动认证流程时添加监听
document.addEventListener("closeAttest", handleAttestClose);
loadAttest(2);
};
provide("realname", realname);
provide("userInfoWin", userInfoWin);
provide("openAttest", openAttest);
const route = useRoute(); const route = useRoute();
watch(route, (newValue, oldValue) => { watch(route, (newValue, oldValue) => {
@@ -41,41 +68,6 @@ watch(route, (newValue, oldValue) => {
} }
}); });
const useSocketInterval = 50000; // Socket的时间间隔
const useSocket = () => {
let token = getMiucmsSessionCookie() || "";
socketTask = new WebSocket(`wss://app.gter.net/socket?token=${token}`);
socketTask.onopen = () => {
let user = store.state.user || {};
if (user && token) {
socketTask.send(
JSON.stringify({
type: "bind",
data: {
token,
uid: user.uid || 0,
},
})
);
}
setTimeout(() => timedTransmission(), useSocketInterval);
};
socketTask.onclose = () => {
// timedTransmissionState = false
console.log("socket关闭了", new Date());
};
};
// let timedTransmissionState = false // 定时器启动状态
// 定时发送
const timedTransmission = () => {
// if (socketTask.readyState != 1 || timedTransmissionState) return
if (socketTask.readyState != 1) return;
// timedTransmissionState = true
socketTask.send(JSON.stringify({ type: "ping" }));
setTimeout(() => timedTransmission(), useSocketInterval);
};
const getMiucmsSessionCookie = () => { const getMiucmsSessionCookie = () => {
let cookies = document.cookie.split(";"); let cookies = document.cookie.split(";");
for (let i = 0; i < cookies.length; i++) { for (let i = 0; i < cookies.length; i++) {

View File

@@ -8,8 +8,7 @@
<div class="please-choose">请选择</div> <div class="please-choose">请选择</div>
<div class="choice-box flexflex flex1"> <div class="choice-box flexflex flex1">
<div v-for="(item, index) in identityList" :key="index"> <div v-for="(item, index) in identityList" :key="index">
<div v-if="index == identityList.length - 1 && index % 2 !== 1" class="choice-long-item flexacenter" <div v-if="index == identityList.length - 1 && index % 2 !== 1" class="choice-long-item flexacenter" @click="choiceItem(item.key)">
@click="choiceItem(item.key)">
<div class="choice-long-left"> <div class="choice-long-left">
<div class="choice-name">{{ item.value }}</div> <div class="choice-name">{{ item.value }}</div>
<div class="choice-explain">{{ item.desc }}</div> <div class="choice-explain">{{ item.desc }}</div>
@@ -31,15 +30,14 @@
<div class="affirm-hint affirm-b-hint" v-else>由于您上架的房源信息中包括了中介房源系统需要确认您是否属于中介身份</div> <div class="affirm-hint affirm-b-hint" v-else>由于您上架的房源信息中包括了中介房源系统需要确认您是否属于中介身份</div>
<div class="rules-box"> <div class="rules-box">
<div class="rules-item flexflex" v-for="(item, index) in showList" :key="index"> <div class="rules-item flexflex" v-for="(item, index) in showList" :key="index">
<img class="rules-icon" src="@/assets/img/edit/green-arrow.svg" alt=""> <img class="rules-icon" src="@/assets/img/edit/green-arrow.svg" alt="" />
<div class="rules-text" v-html="item"></div> <div class="rules-text" v-html="item"></div>
</div> </div>
</div> </div>
<div class="footer flexcenter"> <div class="footer flexcenter">
<div v-if="popType == 'agent'" class="footer-item flexcenter" @click="backChoice">重新选择</div> <div v-if="popType == 'agent'" class="footer-item flexcenter" @click="backChoice">重新选择</div>
<div v-else class="footer-item flexcenter" @click="confirmIntermediary(-1)">我不是中介</div> <div v-else class="footer-item flexcenter" @click="confirmIntermediary(-1)">我不是中介</div>
<div class="footer-item affirm flexcenter" @click="confirmIntermediary(1)">{{ popType == 'agent' ? <div class="footer-item affirm flexcenter" @click="confirmIntermediary(1)">{{ popType == "agent" ? "确认并不再修改" : "我是中介" }}</div>
'确认并不再修改' : '我是中介' }}</div>
</div> </div>
</div> </div>
</div> </div>
@@ -48,109 +46,116 @@
<!-- <script> --> <!-- <script> -->
<script setup> <script setup>
import { ElLoading } from 'element-plus' import { ElLoading } from "element-plus";
import { ref, reactive, onMounted, getCurrentInstance, defineEmits } from 'vue' import { ref, reactive, onMounted, getCurrentInstance, defineEmits, inject } from "vue";
import { useRouter, useRoute } from 'vue-router' import { useRouter, useRoute } from "vue-router";
const { proxy } = getCurrentInstance() const { proxy } = getCurrentInstance();
const router = useRouter() const router = useRouter();
const route = useRoute(); const route = useRoute();
let identityList = ref([]);
let identityList = ref([]) let popType = ref(""); // choice agent: 确认是否是中介(有个人房源) affirmAgent: 确认是否是中介(有中介房源)
let popType = ref('') // choice agent: 确认是否是中介(有个人房源) affirmAgent: 确认是否是中介(有中介房源) let agent = ref([`中介账号发布的房源信息,均展示在“<span style="color: #000; font-weight:650;">中介房源</span>”频道中,即不能发布“<span style="color: #000; font-weight:650;">个人房源</span>”、“<span style="color: #000; font-weight:650;">求房源</span>”;如您已上架个人房源或求房源信息,在你确认中介身份后,将会自动下架`]);
let agent = ref([`中介账号发布的房源信息,均展示在“<span style="color: #000; font-weight:650;">中介房源</span>”频道中,即不能发布“<span style="color: #000; font-weight:650;">个人房源</span>”“<span style="color: #000; font-weight:650;">房源</span>”如您已上架个人房源或求房源信息,在你确认中介身份后,将会自动下架`]) let affirmAgent = ref([`个人账号只能发布“<span style="color: #000; font-weight:650;">个人房源</span>”“<span style="color: #000; font-weight:650;">房源</span>”,在您确认不是中介身份后,将会自动下架您的中介房源;`, `中介账号只能发布“<span style="color: #000; font-weight:650;">中介房源</span>”如您已上架个人房源或求房源信息,在你确认中介身份后,将会自动下架`]);
let affirmAgent = ref([`个人账号只能发布“<span style="color: #000; font-weight:650;">个人房源</span>”、“<span style="color: #000; font-weight:650;">求房源</span>”,在您确认不是中介身份后,将会自动下架您的中介房源;`, `中介账号只能发布“<span style="color: #000; font-weight:650;">中介房源</span>”,如您已上架个人房源或求房源信息,在你确认中介身份后,将会自动下架;`]) let rulesList = ref([`中介账号(未认证)最多可同时上架 <span style="color: #000; font-weight:650;">3</span> 条房源信息`, `中介账号(有认证)最多可同时上架 <span style="color: #000; font-weight:650;">20</span> 条房源信息`, `中介帐号(有认证)拥有搜索、过滤“<span style="color: #000; font-weight:650;">房源</span>”信息的功能`]);
let rulesList = ref([`中介账号(未认证)最多可同时上架 <span style="color: #000; font-weight:650;">3</span> 条房源信息`, `中介账号(有认证)最多可同时上架 <span style="color: #000; font-weight:650;">20</span> 条房源信息`, `中介帐号(有认证)拥有搜索、过滤“<span style="color: #000; font-weight:650;">求房源</span>”信息的功能`,]) let showList = ref([]); //展示的规则
let showList = ref([]) //展示的规则 let identityKey = ref(1);
let identityKey = ref(1)
let housingnum = ref(0)
let isintermediary = ref(0)
let loading = ref(null) // 加载
let housingnum = ref(0);
let isintermediary = ref(0);
let loading = ref(null); // 加载
let openAttest = inject("openAttest");
const realname = inject("realname");
const userInfoWin = inject("userInfoWin");
// 点击按钮 // 点击按钮
const ClickBtn = () => { const ClickBtn = () => {
if (identityList.value.length == 0) init() console.log(realname.value == 0, userInfoWin.value.uin > 0);
else popType.value = 'choice'
}
if (route.path == "/choosing-identity") ClickBtn() if (realname.value == 0 && userInfoWin.value.uin > 0) {
openAttest();
return;
}
if (identityList.value.length == 0) init();
else popType.value = "choice";
};
if (route.path == "/choosing-identity") ClickBtn();
async function init() { async function init() {
loading = ElLoading.service({ loading = ElLoading.service({
lock: true, lock: true,
text: 'Loading', text: "Loading",
background: 'rgba(0, 0, 0, 0.7)', background: "rgba(0, 0, 0, 0.7)",
}) });
proxy.$post("/tenement/pc/api/publish/checkidentity").then(res => { proxy
if (res.code != 200) return .$post("/tenement/pc/api/publish/checkidentity")
let data = res.data .then((res) => {
identityList.value = data.data if (res.code != 200) return;
housingnum.value = data.housingnum let data = res.data;
// housingnum.value = 10 identityList.value = data.data;
isintermediary.value = data.isintermediary housingnum.value = data.housingnum;
// isintermediary.value = 1 // housingnum.value = 10
isintermediary.value = data.isintermediary;
// isintermediary.value = 1
// if (data['ispopup'] == 0) overallJump() // if (data['ispopup'] == 0) overallJump()
if (data['ispopup'] == 0) overallJump() if (data["ispopup"] == 0) overallJump();
else popType.value = 'choice' else popType.value = "choice";
}).finally(() => { })
loading.close() .finally(() => {
}) loading.close();
});
} }
// 返回选择 重新选择 // 返回选择 重新选择
let backChoice = () => popType.value = "choice" let backChoice = () => (popType.value = "choice");
// 选择身份 // 选择身份
let choiceItem = (key) => { let choiceItem = (key) => {
identityKey.value = key identityKey.value = key;
if (key == 1) { if (key == 1) {
popType.value = "agent" popType.value = "agent";
showList.value = [...agent.value, ...rulesList.value] showList.value = [...agent.value, ...rulesList.value];
} else { } else {
showList.value = [...affirmAgent.value, ...rulesList.value] showList.value = [...affirmAgent.value, ...rulesList.value];
if (housingnum.value == 0) overallJump() if (housingnum.value == 0) overallJump();
else popType.value = "affirmAgent" else popType.value = "affirmAgent";
} }
} };
let overallJump = () => { let overallJump = () => {
router.push(`/edit?intermediary=${identityKey.value}`) router.push(`/edit?intermediary=${identityKey.value}`);
popType.value = '' popType.value = "";
} };
let confirmIntermediary = (isintermediary) => { let confirmIntermediary = (isintermediary) => {
if (isintermediary == 1) identityKey.value = 1 if (isintermediary == 1) identityKey.value = 1;
overallJump() overallJump();
// return // return
proxy.$post("/tenement/pc/api/publish/submitidentity", { proxy
isintermediary .$post("/tenement/pc/api/publish/submitidentity", {
}).then(res => { isintermediary,
popType.value = '' })
}) .then((res) => {
popType.value = "";
} });
};
</script> </script>
<style lang="less" scoped> <style lang="less" scoped>
.btn { .btn {
position: absolute; position: absolute;
top: 0; top: 0;
@@ -243,7 +248,7 @@ let confirmIntermediary = (isintermediary) => {
.choice-arrows { .choice-arrows {
background-color: #000; background-color: #000;
background-image: url('@/assets/img/edit/selectArrow-white.svg'); background-image: url("@/assets/img/edit/selectArrow-white.svg");
} }
} }
} }
@@ -276,7 +281,7 @@ let confirmIntermediary = (isintermediary) => {
background-color: #fddf6d; background-color: #fddf6d;
border-radius: 50%; border-radius: 50%;
margin: 0 auto; margin: 0 auto;
background-image: url('@/assets/img/edit/selectArrow.png'); background-image: url("@/assets/img/edit/selectArrow.png");
background-size: 24px; background-size: 24px;
background-repeat: no-repeat; background-repeat: no-repeat;
background-position: center; background-position: center;
@@ -360,7 +365,6 @@ let confirmIntermediary = (isintermediary) => {
color: #ffffff; color: #ffffff;
font-weight: 650; font-weight: 650;
} }
} }
} }
</style> </style>

View File

@@ -7,13 +7,10 @@ import { goTologin } from '@/utils/util';
import { ref, watch, onMounted, getCurrentInstance, nextTick, createApp } from 'vue' import { ref, watch, onMounted, getCurrentInstance, nextTick, createApp } from 'vue'
import store from '@/store/index'; import store from '@/store/index';
watch(() => store.state.showloginmodal, (newValue) => { watch(() => store.state.showloginmodal, (newValue) => {
if (newValue) init1() if (newValue) init1()
}); });
store.state.showloginmodal ? init1() : '' store.state.showloginmodal ? init1() : ''
const { proxy } = getCurrentInstance() const { proxy } = getCurrentInstance()

View File

@@ -19,7 +19,11 @@ axios.interceptors.request.use(
if (config.url != "/tenement/pc/api/user/operation" && !noMask) showFullScreenLoading() if (config.url != "/tenement/pc/api/user/operation" && !noMask) showFullScreenLoading()
// 开发时登录用的,可以直接替换小程序的 authorization // 开发时登录用的,可以直接替换小程序的 authorization
if (process.env.NODE_ENV == "development") config["headers"]["authorization"] = "3b68118f285ff5e63842efc74b2f2b28" if (process.env.NODE_ENV !== "production") {
const miucms_session = "a37009134499cce160254db1bc9ccb94";
document.cookie = "miucms_session=" + miucms_session;
config["headers"]["authorization"] = miucms_session;
}
// 当 noMask == true 和 confing.method == 'get' 时,删除 config.params['noMask'] // 当 noMask == true 和 confing.method == 'get' 时,删除 config.params['noMask']
if (noMask && config.method == "get") delete config.params["noMask"] if (noMask && config.method == "get") delete config.params["noMask"]

View File

@@ -28,7 +28,7 @@
</template> </template>
<script setup> <script setup>
import { reactive, onMounted, ref, provide, onBeforeUnmount, nextTick, getCurrentInstance } from "vue" import { reactive, onMounted, ref, provide, onBeforeUnmount, nextTick, getCurrentInstance, inject } from "vue"
import pageTopBar from "../../components/pageTopBar/pageTopBar.vue" import pageTopBar from "../../components/pageTopBar/pageTopBar.vue"
import seachModule from "../../components/seachModule/seachModule1.vue" import seachModule from "../../components/seachModule/seachModule1.vue"
import biserialItem from "../../components/biserialListItem/biserialListItem.vue" import biserialItem from "../../components/biserialListItem/biserialListItem.vue"
@@ -46,6 +46,10 @@ import Masonry from "masonry-layout"
import store from "../../store/index" import store from "../../store/index"
import { set } from "nprogress" import { set } from "nprogress"
let openAttest = inject("openAttest");
const realname = inject("realname");
const userInfoWin = inject("userInfoWin");
//路由 //路由
const router = useRouter() const router = useRouter()

View File

@@ -1147,6 +1147,11 @@
resolved "https://registry.npmjs.org/@sideway/pinpoint/-/pinpoint-2.0.0.tgz" resolved "https://registry.npmjs.org/@sideway/pinpoint/-/pinpoint-2.0.0.tgz"
integrity sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ== integrity sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==
"@socket.io/component-emitter@~3.1.0":
version "3.1.2"
resolved "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.2.tgz"
integrity sha512-9BCxFwvbGg/RsZK9tjXd8s4UcwR0MWeFQ1XEKIQVVvAGJyINdrqKMcTRyLoK8Rse1GjzLV9cwjWV1olXRWEXVA==
"@soda/friendly-errors-webpack-plugin@^1.8.0": "@soda/friendly-errors-webpack-plugin@^1.8.0":
version "1.8.1" version "1.8.1"
resolved "https://registry.npmjs.org/@soda/friendly-errors-webpack-plugin/-/friendly-errors-webpack-plugin-1.8.1.tgz" resolved "https://registry.npmjs.org/@soda/friendly-errors-webpack-plugin/-/friendly-errors-webpack-plugin-1.8.1.tgz"
@@ -2803,6 +2808,20 @@ debug@^4.1.1:
dependencies: dependencies:
ms "2.1.2" ms "2.1.2"
debug@~4.3.1:
version "4.3.7"
resolved "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz"
integrity sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==
dependencies:
ms "^2.1.3"
debug@~4.3.2:
version "4.3.7"
resolved "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz"
integrity sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==
dependencies:
ms "^2.1.3"
debug@2.6.9: debug@2.6.9:
version "2.6.9" version "2.6.9"
resolved "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" resolved "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz"
@@ -3014,6 +3033,22 @@ end-of-stream@^1.1.0:
dependencies: dependencies:
once "^1.4.0" once "^1.4.0"
engine.io-client@~6.6.1:
version "6.6.3"
resolved "https://registry.npmjs.org/engine.io-client/-/engine.io-client-6.6.3.tgz"
integrity sha512-T0iLjnyNWahNyv/lcjS2y4oE358tVS/SYQNxYXGAJ9/GLgH4VCvOQ/mhTjqU88mLZCQgiG8RIegFHYCdVC+j5w==
dependencies:
"@socket.io/component-emitter" "~3.1.0"
debug "~4.3.1"
engine.io-parser "~5.2.1"
ws "~8.17.1"
xmlhttprequest-ssl "~2.1.1"
engine.io-parser@~5.2.1:
version "5.2.3"
resolved "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.2.3.tgz"
integrity sha512-HqD3yTBfnBxIrbnM1DoD6Pcq8NECnh8d4As1Qgh0z5Gg3jRRIqijury0CL3ghu/edArpUYiYqQiDUQBIs4np3Q==
enhanced-resolve@^5.15.0: enhanced-resolve@^5.15.0:
version "5.15.0" version "5.15.0"
resolved "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz" resolved "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz"
@@ -4276,7 +4311,7 @@ mrmime@^1.0.0:
resolved "https://registry.npmjs.org/mrmime/-/mrmime-1.0.1.tgz" resolved "https://registry.npmjs.org/mrmime/-/mrmime-1.0.1.tgz"
integrity sha512-hzzEagAgDyoU1Q6yg5uI+AorQgdvMCur3FcKf7NhMKWsaYg+RnbTyHRa/9IlLF9rf455MOCtcqqrQQ83pPP7Uw== integrity sha512-hzzEagAgDyoU1Q6yg5uI+AorQgdvMCur3FcKf7NhMKWsaYg+RnbTyHRa/9IlLF9rf455MOCtcqqrQQ83pPP7Uw==
ms@^2.1.1, ms@2.1.3: ms@^2.1.1, ms@^2.1.3, ms@2.1.3:
version "2.1.3" version "2.1.3"
resolved "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz" resolved "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz"
integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==
@@ -5520,6 +5555,24 @@ slash@^3.0.0:
resolved "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz" resolved "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz"
integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==
socket.io-client@^4.8.1:
version "4.8.1"
resolved "https://registry.npmjs.org/socket.io-client/-/socket.io-client-4.8.1.tgz"
integrity sha512-hJVXfu3E28NmzGk8o1sHhN3om52tRvwYeidbj7xKy2eIIse5IoKX3USlS6Tqt3BHAtflLIkCQBkzVrEEfWUyYQ==
dependencies:
"@socket.io/component-emitter" "~3.1.0"
debug "~4.3.2"
engine.io-client "~6.6.1"
socket.io-parser "~4.2.4"
socket.io-parser@~4.2.4:
version "4.2.4"
resolved "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.4.tgz"
integrity sha512-/GbIKmo8ioc+NIWIhwdecY0ge+qVBSMdgxGygevmdHj24bsfgtCmcUUcQ5ZzcylGFHsN3k4HB4Cgkl96KVnuew==
dependencies:
"@socket.io/component-emitter" "~3.1.0"
debug "~4.3.1"
sockjs@^0.3.24: sockjs@^0.3.24:
version "0.3.24" version "0.3.24"
resolved "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz" resolved "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz"
@@ -6273,6 +6326,16 @@ ws@^8.13.0:
resolved "https://registry.npmjs.org/ws/-/ws-8.13.0.tgz" resolved "https://registry.npmjs.org/ws/-/ws-8.13.0.tgz"
integrity sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA== integrity sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==
ws@~8.17.1:
version "8.17.1"
resolved "https://registry.npmjs.org/ws/-/ws-8.17.1.tgz"
integrity sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==
xmlhttprequest-ssl@~2.1.1:
version "2.1.2"
resolved "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-2.1.2.tgz"
integrity sha512-TEU+nJVUUnA4CYJFLvK5X9AOeH4KvDvhIfm0vV1GaQRtchnG0hgK5p8hw/xjv8cunWYCsiPCSDzObPyhEwq3KQ==
y18n@^5.0.5: y18n@^5.0.5:
version "5.0.8" version "5.0.8"
resolved "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz" resolved "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz"