Commit 0a329040913415d691ba4dfcfe5b43e367fb50a4

Authored by 夏洋涛
1 parent 61c95af3
Exists in master

去除无用文件

README.md
1   -# 升学汇个人中心 h5 vue
  1 +# 柯桥周周营浙里办应用
  2 +- 功能与sxhPersonalCenter中的柯桥相关功能相同,定位、支付,授权等功能逻辑会有所不同等
  3 +- 删除了大部分无关代码,如(微信授权、微信分享、生涯服务功能文件、绍兴研学、学事通页面)
2 4 \ No newline at end of file
... ...
package-lock.json
... ... @@ -1805,6 +1805,44 @@
1805 1805 "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==",
1806 1806 "dev": true
1807 1807 },
  1808 + "ansi-styles": {
  1809 + "version": "4.3.0",
  1810 + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
  1811 + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
  1812 + "dev": true,
  1813 + "optional": true,
  1814 + "requires": {
  1815 + "color-convert": "^2.0.1"
  1816 + }
  1817 + },
  1818 + "chalk": {
  1819 + "version": "4.1.2",
  1820 + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
  1821 + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
  1822 + "dev": true,
  1823 + "optional": true,
  1824 + "requires": {
  1825 + "ansi-styles": "^4.1.0",
  1826 + "supports-color": "^7.1.0"
  1827 + }
  1828 + },
  1829 + "color-convert": {
  1830 + "version": "2.0.1",
  1831 + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
  1832 + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
  1833 + "dev": true,
  1834 + "optional": true,
  1835 + "requires": {
  1836 + "color-name": "~1.1.4"
  1837 + }
  1838 + },
  1839 + "color-name": {
  1840 + "version": "1.1.4",
  1841 + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
  1842 + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
  1843 + "dev": true,
  1844 + "optional": true
  1845 + },
1808 1846 "debug": {
1809 1847 "version": "4.3.1",
1810 1848 "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz",
... ... @@ -1814,6 +1852,13 @@
1814 1852 "ms": "2.1.2"
1815 1853 }
1816 1854 },
  1855 + "has-flag": {
  1856 + "version": "4.0.0",
  1857 + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
  1858 + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
  1859 + "dev": true,
  1860 + "optional": true
  1861 + },
1817 1862 "json5": {
1818 1863 "version": "1.0.1",
1819 1864 "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
... ... @@ -1871,6 +1916,52 @@
1871 1916 "requires": {
1872 1917 "minipass": "^3.1.1"
1873 1918 }
  1919 + },
  1920 + "supports-color": {
  1921 + "version": "7.2.0",
  1922 + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
  1923 + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
  1924 + "dev": true,
  1925 + "optional": true,
  1926 + "requires": {
  1927 + "has-flag": "^4.0.0"
  1928 + }
  1929 + },
  1930 + "vue-loader-v16": {
  1931 + "version": "npm:vue-loader@16.8.1",
  1932 + "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-16.8.1.tgz",
  1933 + "integrity": "sha512-V53TJbHmzjBhCG5OYI2JWy/aYDspz4oVHKxS43Iy212GjGIG1T3EsB3+GWXFm/1z5VwjdjLmdZUFYM70y77vtQ==",
  1934 + "dev": true,
  1935 + "optional": true,
  1936 + "requires": {
  1937 + "chalk": "^4.1.0",
  1938 + "hash-sum": "^2.0.0",
  1939 + "loader-utils": "^2.0.0"
  1940 + },
  1941 + "dependencies": {
  1942 + "json5": {
  1943 + "version": "2.2.0",
  1944 + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz",
  1945 + "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==",
  1946 + "dev": true,
  1947 + "optional": true,
  1948 + "requires": {
  1949 + "minimist": "^1.2.5"
  1950 + }
  1951 + },
  1952 + "loader-utils": {
  1953 + "version": "2.0.0",
  1954 + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz",
  1955 + "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==",
  1956 + "dev": true,
  1957 + "optional": true,
  1958 + "requires": {
  1959 + "big.js": "^5.2.2",
  1960 + "emojis-list": "^3.0.0",
  1961 + "json5": "^2.1.2"
  1962 + }
  1963 + }
  1964 + }
1874 1965 }
1875 1966 }
1876 1967 },
... ... @@ -11388,75 +11479,6 @@
11388 11479 }
11389 11480 }
11390 11481 },
11391   - "vue-loader-v16": {
11392   - "version": "npm:vue-loader@16.8.1",
11393   - "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-16.8.1.tgz",
11394   - "integrity": "sha512-V53TJbHmzjBhCG5OYI2JWy/aYDspz4oVHKxS43Iy212GjGIG1T3EsB3+GWXFm/1z5VwjdjLmdZUFYM70y77vtQ==",
11395   - "dev": true,
11396   - "optional": true,
11397   - "requires": {
11398   - "chalk": "^4.1.0",
11399   - "hash-sum": "^2.0.0",
11400   - "loader-utils": "^2.0.0"
11401   - },
11402   - "dependencies": {
11403   - "ansi-styles": {
11404   - "version": "4.3.0",
11405   - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
11406   - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
11407   - "dev": true,
11408   - "optional": true,
11409   - "requires": {
11410   - "color-convert": "^2.0.1"
11411   - }
11412   - },
11413   - "chalk": {
11414   - "version": "4.1.2",
11415   - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
11416   - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
11417   - "dev": true,
11418   - "optional": true,
11419   - "requires": {
11420   - "ansi-styles": "^4.1.0",
11421   - "supports-color": "^7.1.0"
11422   - }
11423   - },
11424   - "color-convert": {
11425   - "version": "2.0.1",
11426   - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
11427   - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
11428   - "dev": true,
11429   - "optional": true,
11430   - "requires": {
11431   - "color-name": "~1.1.4"
11432   - }
11433   - },
11434   - "color-name": {
11435   - "version": "1.1.4",
11436   - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
11437   - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
11438   - "dev": true,
11439   - "optional": true
11440   - },
11441   - "has-flag": {
11442   - "version": "4.0.0",
11443   - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
11444   - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
11445   - "dev": true,
11446   - "optional": true
11447   - },
11448   - "supports-color": {
11449   - "version": "7.2.0",
11450   - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
11451   - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
11452   - "dev": true,
11453   - "optional": true,
11454   - "requires": {
11455   - "has-flag": "^4.0.0"
11456   - }
11457   - }
11458   - }
11459   - },
11460 11482 "vue-router": {
11461 11483 "version": "3.5.1",
11462 11484 "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-3.5.1.tgz",
... ...
src/App.vue
... ... @@ -2,87 +2,17 @@
2 2 <div id="app">
3 3 <keep-alive>
4 4 <!--这里是会被缓存的组件-->
5   - <router-view v-if="this.$route.meta.keepAlive" @getWxConfig="getWxConfig" />
  5 + <router-view v-if="this.$route.meta.keepAlive" />
6 6 </keep-alive>
7 7 <!--这里是不会被缓存的组件-->
8   - <router-view v-if="!this.$route.meta.keepAlive" @getWxConfig="getWxConfig" />
  8 + <router-view v-if="!this.$route.meta.keepAlive" />
9 9 </div>
10 10 </template>
11 11 <script>
12   -import wx from 'weixin-js-sdk';
13 12 export default {
14 13 mounted () {
15 14 },
16 15 methods: {
17   - getWxConfig (param) {
18   - let u = navigator.userAgent;
19   - let isIOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //ios终端
20   - let url = "";
21   - let isWx = /MicroMessenger/i.test(window.navigator.userAgent);
22   - if(!isWx){
23   - // 非微信环境不进行分享配置
24   - return;
25   - }
26   - if (isIOS) {
27   - // console.log("苹果")
28   - url = window.location.href.split("#")[0]; //hash后面的部分如果带上ios中config会不对
29   - } else {
30   - url = window.location.href;
31   - }
32   - this.http.getWxConfig({
33   - url: url
34   - }).then((res) => {
35   - this.wxData = res?.data
36   - const { timestamp, appId, nonceStr, signature } = this.wxData
37   -
38   - wx.config({ // eslint-disable-line
39   - debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印
40   - appId: appId, // 必填,公众号的唯一标识
41   - timestamp, // 必填,生成签名的时间戳
42   - nonceStr: nonceStr, // 必填,生成签名的随机串
43   - signature: signature, // 必填,签名
44   - jsApiList: ['updateAppMessageShareData', 'updateTimelineShareData'], // 必填,需要使用的JS接口列表
45   - openTagList: ['wx-open-launch-weapp'] // 可选,需要使用的开放标签列表,例如['wx-open-launch-app']
46   -
47   - });
48   -
49   - /* eslint-disable */
50   -
51   - wx.ready(function () {
52   - console.log('share ready')
53   - if (param) {
54   - wx.updateAppMessageShareData({
55   - title: param.title, // 分享标题
56   - desc: param.desc, // 分享描述
57   - link: param.link, // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
58   - imgUrl: param.imgUrl, // 分享图标
59   - success: function () {
60   - // 设置成功
61   - console.log('分享设置成功')
62   - },
63   - fail: function (err) {
64   - console.log('分享设置失败:', err.errMsg)
65   - }
66   - })
67   - wx.updateTimelineShareData({//分享朋友圈
68   - title: param.title, // 分享标题
69   - link: param.link, // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
70   - imgUrl: param.imgUrl, // 分享图标
71   - success: function () {
72   - // 设置成功
73   - console.log('分享设置成功')
74   - },
75   - fail: function (err) {
76   - console.log('分享设置失败:', err.errMsg)
77   - }
78   - })
79   - }
80   -
81   - });
82   -
83   -
84   - })
85   - },
86 16 }
87 17 }
88 18 </script>
... ...
src/component/CollegeSeasonPopup.vue
... ... @@ -1,156 +0,0 @@
1   -<template>
2   - <div>
3   - <div id="college_box">
4   - <p class="title">填写信息</p>
5   - <div class="item">
6   - <input type="text" placeholder="请输入您的邀请码" v-model="inviteCode">
7   - </div>
8   - <div class="tip">
9   - <img src="../assets/tip3.png" alt="">
10   - <p>没有邀请码的用户可忽略</p>
11   - </div>
12   - <button class="submit" @click="submit">确定</button>
13   - </div>
14   - </div>
15   -</template>
16   -
17   -<script>
18   -
19   -export default {
20   - data () {
21   - return {
22   - inviteCode: '',//邀请码
23   - }
24   - },
25   -
26   - mounted () {
27   - let inviteCode = localStorage.getItem('inviteCode')
28   - if (inviteCode) {
29   - this.inviteCode = inviteCode
30   - }
31   -
32   - },
33   - methods: {
34   - submit () {
35   - let openId = sessionStorage.getItem('openId');
36   - // openId = 'oQTiTjucAcGORK3vI0XbDNOfld5U';
37   - let postData = {
38   - inviteCode: this.inviteCode,
39   - openId: openId,
40   - }
41   - this.$toast.loading({
42   - message: '加载中',
43   - duration: 0,
44   - forbidClick: true
45   - })
46   - this.http.initSubscribeUser(postData).then((res) => {
47   - this.$toast.clear()
48   - if(!this.inviteCode){
49   - location.href = `https://payment.myjxt.com/?openId=${this.openId}`;//有openid后跳这个 399
50   - return;
51   - }
52   - if (res.success) {
53   - this.$toast.success(res.message)
54   - this.$emit('hidePopup');
55   - if (res.data) {
56   - console.log('res.data:', res.data);
57   - localStorage.setItem('inviteCode', this.inviteCode);
58   - // location.href = res.data;//邀请码为空或者正确都会有链接返回
59   - // 如果有邀请码
60   - location.href = 'https://payment.myjxt.com/#/active?type=3'//顺治1 199
61   - }
62   - } else {
63   - this.$toast.fail('邀请码不存在')
64   - }
65   - })
66   - // return;
67   - // // 如果有邀请码
68   - // if (this.inviteCode) {
69   - // location.href = 'https://wap.zj.10086.cn/szhy/business/student/h5OneToOne/schoolIndex.html?schoolId=A452C4C25259C362E05330844E0A6645'
70   - // } else {
71   - // // 没有邀请码跳支付
72   - // location.href = `https://payment.myjxt.com/?openId=${this.openId}`;//有openid后跳这个
73   - // // location.href = 'https://proxy.shunzhi.net/wx/index/getCode'
74   - // }
75   - }
76   - }
77   -}
78   -</script>
79   -<style lang="scss" scoped>
80   -#college_box {
81   - width: 100%;
82   - background: #ffffff;
83   - border-top-left-radius: 24px;
84   - border-top-right-radius: 24px;
85   - position: relative;
86   - box-sizing: border-box;
87   - padding: 0 40px;
88   - padding-bottom: 100px;
89   - .title {
90   - text-align: center;
91   - font-size: 30px;
92   - letter-spacing: 2px;
93   - font-weight: bold;
94   - padding: 40px;
95   - }
96   - .item {
97   - width: 670px;
98   - height: 72px;
99   - border-radius: 36px;
100   - background: #f7f7f7;
101   - box-sizing: border-box;
102   - font-size: 28px;
103   - padding: 0 32px;
104   - display: flex;
105   - justify-content: space-between;
106   - align-items: center;
107   - margin-bottom: 28px;
108   - p {
109   - color: #333333;
110   - &.nodata {
111   - color: #999999;
112   - }
113   - }
114   - img {
115   - width: 40px;
116   - }
117   - input {
118   - width: 100%;
119   - background: transparent;
120   - border: 0;
121   - color: #333333;
122   - padding: 0;
123   - &::-webkit-input-placeholder {
124   - color: #999999;
125   - }
126   - }
127   - }
128   - .tip {
129   - display: flex;
130   - align-items: center;
131   - justify-content: center;
132   - margin-bottom: 40px;
133   - img {
134   - width: 32px;
135   - }
136   - p {
137   - font-size: 24px;
138   - color: #999999;
139   - margin-left: 8px;
140   - }
141   - }
142   - .submit {
143   - width: 294px;
144   - height: 72px;
145   - border: 0;
146   - background: linear-gradient(135deg, #99c2ff 0%, #1f59ff 100%);
147   - box-shadow: 0px 4px 8px 0px rgba(189, 189, 189, 0.5),
148   - 0px 8px 12px 0px rgba(87, 137, 255, 0.5);
149   - border-radius: 34px;
150   - font-size: 34px;
151   - color: #ffffff;
152   - margin: 0 auto;
153   - display: block;
154   - }
155   -}
156   -</style>
src/component/LecturePopup.vue
... ... @@ -1,214 +0,0 @@
1   -<template>
2   - <div id="lecturePopup">
3   - <p class="top">筛选</p>
4   - <van-collapse v-model="activeNames" :border="false">
5   - <van-collapse-item title="直播院校" name="1" :border="false">
6   - <span class="select_item" v-for="(item,i) in selectArr" :key="'select'+i" :class="item.isSelect?'active':''" :data-index="i" @click="handleSelect">{{item.label}}</span>
7   - </van-collapse-item>
8   - <van-collapse-item title="高考特色" name="2" :border="false">
9   - <span class="select_item" v-for="(item,i) in characteristicList" :key="'characteristic'+i" :class="item.isSelect?'active':''" :data-index="i" @click="handleCharacteristic">{{item.text}}</span>
10   - </van-collapse-item>
11   - <van-collapse-item title="办学性质" name="3" :border="false">
12   - <span class="select_item" v-for="(item,i) in natureList" :key="'nature'+i" :class="item.isSelect?'active':''" :data-index="i" @click="handleNature">{{item.text}}</span>
13   - </van-collapse-item>
14   - <van-collapse-item title="地区" name="4" :border="false">
15   - <span class="select_item" v-for="(item,i) in areaList" :key="'area'+i" :class="item.isSelect?'active':''" :data-index="i" @click="handleArea">{{item.label}}</span>
16   - </van-collapse-item>
17   - </van-collapse>
18   - <div class="btn_box">
19   - <van-button type="default" @click="resetAll">重置</van-button>
20   - <van-button type="info" @click="confirmSelect">确认</van-button>
21   - </div>
22   - </div>
23   -</template>
24   -<script>
25   -export default {
26   - data () {
27   - return {
28   - activeNames: ['1', '2', '3', '4'],
29   - selectArr: [{
30   - label: '全部',
31   - isSelect: true
32   - }, {
33   - label: '未开始',
34   - isSelect: false
35   - }, {
36   - label: '直播中',
37   - isSelect: false
38   - }, {
39   - label: '已结束',
40   - isSelect: false
41   - }],
42   - characteristicList: [],//高考特色 885 211
43   - natureList: [],//办学性质 公办 民办
44   - areaList: [],
45   - }
46   - },
47   - mounted () {
48   - this.getAreaList()//地区列表
49   - this.getUniParam()//高考特色、办学性质
50   - },
51   - methods: {
52   - // 筛选时间段
53   - handleSelect (e) {
54   - let index = e.currentTarget.dataset.index;
55   - let selectArr = [...this.selectArr];
56   - for (let i in selectArr) {
57   - selectArr[i].isSelect = false;
58   - }
59   - selectArr[index].isSelect = true;
60   - this.selectArr = selectArr;
61   - },
62   - //获取高考特色、办学性质
63   - getUniParam () {
64   - this.http.getUniParam().then((res) => {
65   - if (res.success) {
66   - this.characteristicList = res.data[1].children;
67   - this.natureList = res.data[2].children;
68   - }
69   - })
70   - },
71   - // 点击高考特色
72   - handleCharacteristic (e) {
73   - let index = e.currentTarget.dataset.index;
74   - let characteristicList = [...this.characteristicList];
75   - characteristicList[index].isSelect = !characteristicList[index].isSelect;
76   - this.characteristicList = characteristicList;
77   - },
78   - // 点击办学性质
79   - handleNature (e) {
80   - let index = e.currentTarget.dataset.index;
81   - let natureList = [...this.natureList];
82   - natureList[index].isSelect = !natureList[index].isSelect;
83   - this.natureList = natureList;
84   - },
85   - // 获取地区列表
86   - getAreaList () {
87   - this.http.getAreaList().then((res) => {
88   - if (res.success) {
89   - this.areaList = res.data;
90   - }
91   - })
92   - },
93   - // 点击地区
94   - handleArea (e) {
95   - let index = e.currentTarget.dataset.index;
96   - let areaList = [...this.areaList];
97   - areaList[index].isSelect = !areaList[index].isSelect;
98   - this.areaList = areaList;
99   - },
100   - // 重置筛选项
101   - resetAll () {
102   - // 重置时间段
103   - let selectArr = [...this.selectArr];
104   - for (let i in selectArr) {
105   - selectArr[i].isSelect = false;
106   - }
107   - selectArr[0].isSelect = true;
108   - this.selectArr = selectArr;
109   - // 重置高考特色
110   - let characteristicList = [...this.characteristicList];
111   - for (let i in characteristicList) {
112   - characteristicList[i].isSelect = false;
113   - }
114   - this.characteristicList = characteristicList;
115   - // 重置办学性质
116   - let natureList = [...this.natureList];
117   - for (let i in natureList) {
118   - natureList[i].isSelect = false;
119   - }
120   - this.natureList = natureList;
121   - // 重置地区
122   - let areaList = [...this.areaList];
123   - for (let i in areaList) {
124   - areaList[i].isSelect = false;
125   - }
126   - this.areaList = areaList;
127   - },
128   - // 确认筛选项
129   - confirmSelect(){
130   - let type = '';//1-未开始; 2-直播中; 3-已结束
131   - for(let i in this.selectArr){
132   - if(this.selectArr[i].isSelect&&i!=0){
133   - type = i
134   - }
135   - }
136   -
137   - let characteristic = [];
138   - for(let i in this.characteristicList){
139   - if(this.characteristicList[i].isSelect){
140   - characteristic.push(this.characteristicList[i].text)
141   - }
142   - }
143   - let nature = [];
144   - for(let i in this.natureList){
145   - if(this.natureList[i].isSelect){
146   - nature.push(this.natureList[i].text)
147   - }
148   - }
149   - let area = [];
150   - for(let i in this.areaList){
151   - if(this.areaList[i].isSelect){
152   - area.push(this.areaList[i].label)
153   - }
154   - }
155   - this.$emit('changeSchoolParam',{type,characteristic,nature,area})
156   - }
157   - }
158   -}
159   -</script>
160   -<style lang="scss">
161   -#lecturePopup {
162   - width: 624px;
163   - background: #fff;
164   - height: 100vh;
165   - overflow: auto;
166   - padding-bottom: 100px;
167   - box-sizing: border-box;
168   - .top {
169   - font-size: 28px;
170   - line-height: 72px;
171   - padding: 0 24px;
172   - box-sizing: border-box;
173   - width: 100%;
174   - background: #f8f8f8;
175   - }
176   - .van-collapse-item__content {
177   - padding: 24px;
178   - display: flex;
179   - flex-direction: row;
180   - flex-wrap: wrap;
181   - }
182   - .select_item {
183   - display: inline-flex;
184   - font-size: 24px;
185   - line-height: 30px;
186   - color: #999999;
187   - width: 132px;
188   - height: 64px;
189   - background: #f8f8f8;
190   - border-radius: 8px;
191   - justify-content: center;
192   - align-items: center;
193   - margin: 10px 0;
194   - margin-right: 16px;
195   - text-align: center;
196   - &:nth-of-type(4n) {
197   - margin-right: 0;
198   - }
199   - &.active {
200   - color: #4576ff;
201   - background: #f3f6ff;
202   - }
203   - }
204   - .btn_box {
205   - position: fixed;
206   - bottom: 0;
207   - right: 0;
208   - width: 624px;
209   - .van-button {
210   - width: 50%;
211   - }
212   - }
213   -}
214   -</style>
215 0 \ No newline at end of file
src/component/PrefectBox.vue
... ... @@ -1,298 +0,0 @@
1   -<template>
2   - <div>
3   - <div id="prefect_box">
4   - <img class="bg" src="../assets/msg.png" alt="">
5   - <div class="content">
6   - <div class="item">
7   - <input type="text" placeholder="请输入您的姓名" v-model="studentName">
8   - </div>
9   - <div class="item" @click="handleYear">
10   - <p :class="!year||yearDisable?'nodata':''">{{year?year:'请选择当前所处高中年级'}}</p>
11   - <img src="../assets/more.png" alt="">
12   - </div>
13   - <div class="item" @click="showAreaSelect = true">
14   - <p :class="!area?'nodata':''">{{area?area:'请选择地区'}}</p>
15   - <img src="../assets/more.png" alt="">
16   - </div>
17   - <div class="item" @click="handleSchool">
18   - <p :class="!school?'nodata':''">{{school?school:'请选择学校'}}</p>
19   - <img src="../assets/more.png" alt="">
20   - </div>
21   - <div class="tip">
22   - <img src="../assets/tip2.png" alt="">
23   - <p>所处高中年级与会员有效期相关,请认真填写</p>
24   - </div>
25   - <button class="submit" @click="submit">完成</button>
26   - </div>
27   - </div>
28   - <van-popup v-model="showYearSelect" round position="bottom" get-container="body" :safe-area-inset-bottom="true">
29   - <van-picker title="当前所处高中年级" show-toolbar :columns="yearArr" value-key="label" @cancel="showYearSelect = false" @confirm="selectYearOver" />
30   - </van-popup>
31   - <van-popup v-model="showAreaSelect" round position="bottom" get-container="body" :safe-area-inset-bottom="true">
32   - <van-area title="地区" :area-list="areaList" @cancel="showAreaSelect = false" @confirm="selectAreaOver" />
33   - </van-popup>
34   - <van-popup v-model="showSchoolSelect" round position="bottom" get-container="body" :safe-area-inset-bottom="true">
35   - <van-picker title="学校" show-toolbar :columns="schoolList" @cancel="showSchoolSelect = false" @confirm="selectSchoolOver" />
36   - </van-popup>
37   - </div>
38   -</template>
39   -
40   -<script>
41   -
42   -export default {
43   - data () {
44   - return {
45   - studentName: '',
46   - year: '',
47   - yearDisable: false,
48   - showYearSelect: false,
49   - yearArr: [],
50   - area: '',
51   - areaCode: '',
52   - showAreaSelect: false,
53   - areaList: [],
54   - school: '',
55   - schoolId: '',
56   - showSchoolSelect: false,
57   - schoolList: [],
58   - }
59   - },
60   -
61   - mounted () {
62   - let userInfo = sessionStorage.getItem('userInfo')
63   - this.userInfo = userInfo ? JSON.parse(userInfo) : userInfo;
64   - this.studentName = this.userInfo?.studentName;
65   - this.initYearArr()
66   - this.GetSysAreaList()
67   - },
68   - methods: {
69   - // 初始化入学年份选项
70   - initYearArr () {
71   - // 页面创建时执行
72   - let year = new Date().getFullYear(),
73   - Month = new Date().getMonth() + 1,
74   - yearArr = [];
75   - // if (Month > 8) {
76   - // // 如果月份大于8,那么当年的学年的高考年份要+1,如果月份小于7,那么当前的年份就是今年高考的年份
77   - // year = year + 1
78   - // }
79   - for (let index = year - 2; index < year + 1; index++) {
80   - yearArr.push({ value: index, label: '' })
81   - }
82   - yearArr[0].label = `高三(${yearArr[0].value})级`;
83   - yearArr[1].label = `高二(${yearArr[1].value})级`;
84   - yearArr[2].label = `高一(${yearArr[2].value})级`;
85   - this.yearArr = yearArr
86   - if (this.userInfo?.year) {
87   - for (let i in yearArr) {
88   - if (yearArr[i].value == this.userInfo.year) {
89   - this.year = yearArr[i].label
90   - this.yearDisable = true
91   - }
92   - }
93   - }
94   - },
95   - selectYearOver (value) {
96   - this.year = value.label;
97   - this.showYearSelect = false;
98   - },
99   - handleYear () {
100   - if (!this.yearDisable) {
101   - this.showYearSelect = true;
102   - }
103   - },
104   - // 获取地区列表
105   - GetSysAreaList () {
106   - this.http.GetSysAreaList({
107   - areaCode: 33
108   - }).then((res) => {
109   - if (res.success) {
110   - let data = res.data;
111   - let obj = {
112   - province_list: {
113   - 330000: '浙江省'
114   - },
115   - city_list: {},
116   - county_list: {}
117   - };
118   - if (data) {
119   - data.forEach((n, i) => {
120   - obj.city_list[n.area_code + '00'] = n.area_name;
121   - if (n.areaList.length > 0) {
122   - n.areaList.forEach((k, j) => {
123   - obj.county_list[k.area_code] = k.area_name;
124   - })
125   - }
126   - });
127   - this.areaList = obj;
128   - }
129   - } else {
130   - this.$toast.fail(res.message)
131   - }
132   - })
133   - },
134   - selectAreaOver (value) {
135   - let data = value;
136   - var city = data[1].code;
137   - city = city.substring(0, city.length - 2);
138   - // console.log(city)
139   - this.area = data[0].name + ',' + data[1].name + ',' + data[2].name;
140   - this.areaCode = [data[0].code, city, data[2].code];
141   - this.quCode = data[2].code;
142   - this.school = '',
143   - this.schoolId = '',
144   - this.showAreaSelect = false
145   - this.GetHighSchoolList(data[2].code);// 通过地区获取学校
146   - },
147   - // 点击选择学校
148   - handleSchool () {
149   - if (!this.area) {
150   - this.$toast('请先选择地区');
151   - return;
152   - }
153   - this.showSchoolSelect = true
154   - },
155   - // 通过地区获取学校
156   - GetHighSchoolList (areaCode) {
157   - this.http.GetHighSchoolList({
158   - areaCode: areaCode
159   - }).then((res) => {
160   - if (res.success) {
161   - let data = res.data;
162   - let arr = [];
163   - if (data) {
164   - data.forEach((n, i) => {
165   - let obj = {};
166   - obj.text = n.schoolName;
167   - obj.value = n.id;
168   - arr.push(obj);
169   - });
170   - this.schoolList = arr;
171   - }
172   - } else {
173   - this.$toast.fail(res.message)
174   - }
175   - })
176   - },
177   - selectSchoolOver (value) {
178   - this.school = value.text;
179   - this.schoolId = value.value
180   - this.showSchoolSelect = false
181   - },
182   -
183   - submit () {
184   - if (!this.year) {
185   - this.$toast('请选择入学年份');
186   - return;
187   - }
188   - let postData = {
189   - studentName: this.studentName,
190   - province: this.area.split(',')[0],
191   - city: this.area.split(',')[1],
192   - areaCode: this.areaCode[2],
193   - areaName: this.area.split(',')[2],
194   - school: this.school,
195   - schoolAddress: this.areaCode[2] ? JSON.stringify(this.areaCode) : '',
196   - year: this.year=='高一'?this.yearArr[2].value:this.year=='高二'?this.yearArr[1].value:this.yearArr[0].value
197   - }
198   - this.$toast.loading({
199   - message: '加载中',
200   - duration: 0,
201   - forbidClick: true
202   - })
203   - this.http.updateUserInfo(postData).then((res) => {
204   - this.$toast.clear()
205   - if (res.success) {
206   - this.$toast.success(res.message)
207   - this.$emit('complete')
208   - this.$emit('hidePrefectBox')
209   - } else {
210   - this.$toast.fail(res.message)
211   - }
212   - })
213   - }
214   - }
215   -}
216   -</script>
217   -<style lang="scss" scoped>
218   -#prefect_box {
219   - width: 638px;
220   - height: 836px;
221   - background: #ffffff;
222   - border-radius: 24px;
223   - position: relative;
224   - .bg {
225   - width: 100%;
226   - position: absolute;
227   - top: 0;
228   - left: 0;
229   - }
230   - .content {
231   - width: 100%;
232   - box-sizing: border-box;
233   - padding: 0 40px;
234   - position: absolute;
235   - top: 236px;
236   - left: 0;
237   - .item {
238   - width: 558px;
239   - height: 72px;
240   - border-radius: 36px;
241   - background: #f7f7f7;
242   - box-sizing: border-box;
243   - font-size: 28px;
244   - padding: 0 32px;
245   - display: flex;
246   - justify-content: space-between;
247   - align-items: center;
248   - margin-bottom: 28px;
249   - p {
250   - color: #333333;
251   - &.nodata {
252   - color: #999999;
253   - }
254   - }
255   - img {
256   - width: 40px;
257   - }
258   - input {
259   - width: 100%;
260   - background: transparent;
261   - border: 0;
262   - color: #333333;
263   - padding: 0;
264   - &::-webkit-input-placeholder {
265   - color: #999999;
266   - }
267   - }
268   - }
269   - .tip {
270   - display: flex;
271   - align-items: center;
272   - justify-content: center;
273   - margin-bottom: 40px;
274   - img {
275   - width: 32px;
276   - }
277   - p {
278   - font-size: 24px;
279   - color: #f7b500;
280   - margin-left: 8px;
281   - }
282   - }
283   - .submit {
284   - width: 294px;
285   - height: 72px;
286   - border: 0;
287   - background: linear-gradient(135deg, #99c2ff 0%, #1f59ff 100%);
288   - box-shadow: 0px 4px 8px 0px rgba(189, 189, 189, 0.5),
289   - 0px 8px 12px 0px rgba(87, 137, 255, 0.5);
290   - border-radius: 34px;
291   - font-size: 34px;
292   - color: #ffffff;
293   - margin: 0 auto;
294   - display: block;
295   - }
296   - }
297   -}
298   -</style>
src/https/api.js
... ... @@ -4,69 +4,8 @@ import {
4 4 } from '../https/index';
5 5  
6 6 const obj = {
7   - getWxConfig: p => get('/wx/config/getWxConfig', p),//获取微信配置
8   -
9   - getMsgByCode: p => get('/personal/getMsgByCode', p),//通过code获取openid和token
10   - getUserInfo: () => post('/personal/getUserInfo'),//获取用户信息
11   -
12   - getMsg: p => post('/sxh/wx/getMsg', p),//绑定手机号用到的验证码
13   - checkPhone: p => post('/personal/checkPhone', p),//绑定手机号
14 7 GetSysAreaList: p => get('/h5/MyVoluntary/GetSysAreaList', p),//获取地区列表
15   - GetHighSchoolList: p => get('/h5/MyVoluntary/GetHighSchoolList', p),//获取学校列表
16   - updateUserInfo: p => post('/personal/updateUserInfo', p, 'json'),//完善信息
17   - activeInviteCode: p => get('/sxh/order/activeInviteCode', p),//邀请码激活
18   - exchangeCard: p => get('/sxh/order/exchangeCard', p),//卡密兑换
19   - activeVipPhone: p => post('/sxh/order/activeVipPhone', p),//青春卡激活
20   - getChannelMsg: p => post('/sxh/channel/getMsg', p),//青春卡激活用到的验证码
21   - initSubscribeUser: p => post('/sys/wxUser/checkCode', p, 'json'),//高考季h5填写信息
22   - // initSubscribeUser:p=>post('/sys/wxUser/initSubscribeUser',p,'json'),//高考季h5填写信息
23 8 getMsg: p => post('/sxh/wx/getMsg', p),//绑定手机号用到的验证码
24   - getSxhOrderList: p => get('/sxh/order/list', p),//生涯vip订单
25   -
26   -
27   - getIndexExpertList: p => get('/wx/live/getIndexExpertList', p),//首页获取专家直播
28   - getAllExpertList: p => post('/wx/live/getAllExpertList', p, 'json'),//分页获取更多专家直播
29   - getSchoolList: p => post('/wx/live/getSchoolList', p, 'json'),//分页获取院校直播
30   - GetBannerList: p => post('/admin/Voluntary/GetBannerList', p, 'json'),//轮播
31   - subscribe: p => post('/wx/live/subscribe', p, 'json'),//预约
32   - getAreaList: p => post('/admin/Voluntary/GetAreaList', p, 'json'),//地区列表
33   - getUniParam: p => get('/common/getUniversityParam', p),//院校特性办学性质等
34   -
35   - incrByType: p => get('/count/incrByType', p),//计数器
36   -
37   -
38   - // 数据宝典
39   - getBannerList2: p => get('/mobile/index/getBanner/' + p),//顶部轮播
40   - getBannerDetail: p => get('/mobile/index/getBannerContent/' + p),//顶部轮播详情页
41   - getAllList: p => post('/h5/consult/getAllList', p, 'json'),//底部栏目资讯
42   - getConsultation: p => post('/h5/consult/getConsultation', p, 'json'),//栏目资讯列表
43   - getConsultationDetail: p => get('/h5/consult/getConsultationDetail', p),//栏目资讯详情页
44   - getUniList: p => post('/University/getUniversityList', p, 'json'),//院校大全 列表
45   - getUniDetail: p => get('/University/getUniversityDetail', p),//院校详情
46   - getUniMajor: p => get('/mobile/data/getUniversityMajor/' + p),//院校详情页专业列表
47   - getRecruitDetail: p => get('/University/GetRecruitRulesDetail', p),//章程详情
48   - getEnrollmentPlan: p => post('/mobile/data/getEnrollmentPlan', p, 'json'),//获取该院校招生计划
49   - getMajorPointLine: p => post('/mobile/data/getMajorPointLine', p, 'json'),//获取该院校专业分数线
50   - getPointLine: p => get('/mobile/data/getPointLine/' + p),//获取该院校历年分数线
51   - getMajorTree: p => get('/mobile/data/getMajorTree', p, 'json'),//获取专业列表
52   - getMajorDetail: p => get('/mobile/data/getMajorDetail/' + p),//获取专业详情
53   - getProfessionalEncyclopeList: p => get('/h5/match/getProfessionalEncyclopeList', p, 'json'),//获取职业列表
54   - getProfessionalEncyclope: p => get('/h5/match/getProfessionalEncyclope', p, 'json'),//获取职业详情
55   - getJobByName: p => get('/University/getJobByName', p, 'json'),//获取职业详情2
56   - getSchoolByMajor: p => post('/mobile/data/getSchoolByMajor', p, 'json'),//获取当前专业开设院校
57   - getHistoryData: p => post('/mobile/data/getHistoryData', p, 'json'),//获取历史数据
58   - getHistoryDataYear: p => get('/mobile/data/getHistoryDataYear/' + p),//获取强基 三位年份数据 1-强基 2 名校三位 3 省内三位 4 提前 5艺术 6 体育 7平行 8高职
59   - getAdvanceHistoryData: p => post('/mobile/data/getAdvanceHistoryData', p, 'json'),//获取提前批大数据
60   - getArtHistoryData: p => post('/mobile/data/getArtHistoryData', p, 'json'),//获取艺术大数据
61   - getPhysicalHistoryData: p => post('/mobile/data/getPhysicalHistoryData', p, 'json'),//获取体育大数据
62   - getComprehensiveHistoryData: p => post('/mobile/data/getComprehensiveHistoryData', p, 'json'),//获取平行大数据
63   - getHighVocationHistoryData: p => post('/mobile/data/getHighVocationHistoryData', p, 'json'),//获取高职大数据
64   - getCalendar: p => post('/mobile/data/getCalendar', p),//获取日历,传对应月份
65   - getResult: p => post('/mobile/data/getResult', p),//获取成绩
66   - getRecommendUniverse: p => post('/mobile/data/getRecommendUniverse', p),//获取推荐院校
67   -
68   - getSendFlag: () => post('/personal/getSendFlag'),//获取优惠券弹框
69   -
70 9 }
71 10  
72 11 export default obj;
... ...
src/router/index.js
... ... @@ -38,8 +38,14 @@ VueRouter.prototype.push = function push (to) {
38 38 VueRouter.prototype.replace = function replace (location) {
39 39 return routerReplace.call(this, location).catch(error => error);
40 40 };
41   -const routes = [ {
  41 +const routes = [{
42 42 path: '/',
  43 + name: 'ServiceKQ',
  44 + component: ServiceKQ,
  45 + meta: {
  46 + }
  47 +}, {
  48 + path: '/HomeKQ',
43 49 name: 'HomeKQ',
44 50 component: HomeKQ,
45 51 meta: {
... ... @@ -55,15 +61,6 @@ const routes = [ {
55 61 }
56 62 },
57 63  
58   -//柯桥研学单独服务活动板块
59   -{
60   - path: '/service_kq',
61   - name: 'ServiceKQ',
62   - component: ServiceKQ,
63   - meta: {
64   - // title: '服务活动'
65   - }
66   -},
67 64 {
68 65 path: '/abroad_detail',
69 66 name: 'ServiceAbroadDetail',
... ... @@ -130,14 +127,6 @@ const routes = [ {
130 127 }
131 128 },
132 129 {
133   - path: '/protocol',
134   - name: 'protocol',
135   - component: protocol,
136   - meta: {
137   - title: '查看协议'
138   - }
139   -},
140   -{
141 130 path: '/service_orderXST',
142 131 name: 'ServiceOrderXST',
143 132 component: ServiceOrderXST,
... ...
src/views/PublicHome/HomeKQ.vue
... ... @@ -76,20 +76,22 @@ export default {
76 76 this.headImgUrl = sessionStorage.getItem('headImgUrl')
77 77 this.nicknameUser = sessionStorage.getItem('nicknameUser')
78 78  
79   - if (process.env.NODE_ENV === "production" && this.common.isWeiXin()) {
80   - let openid = sessionStorage.getItem('openIdKQ');
81   - if (!openid) {
82   - this.$router.push({ name: 'Authorize' + this.publicName })
83   - } else {
84   - this.nicknameUser = sessionStorage.getItem('nicknameUser')
85   - this.headImgUrl = sessionStorage.getItem('headImgUrl')
86   - this.getUserInfoXST()
87   - }
88   - } else {
89   - sessionStorage.setItem('unionId', 'oJPmPuLaAx2x2DaRGfCFeYuLWzLU')
90   - this.getUserInfoXST()
  79 + const sUserAgent = window.navigator.userAgent.toLowerCase()
  80 + alert(sUserAgent)
  81 + console.log(sUserAgent)
  82 + const dtdreamweb = sUserAgent.indexOf("dtdreamweb") > -1
  83 + const miniprogram = sUserAgent.indexOf("miniprogram") > -1 && sUserAgent.indexOf("alipay") > -1
  84 + if (dtdreamweb) {
  85 + alert('浙里办')
  86 + // window.location.href = `https://puser.zjzwfw.gov.cn/sso/mobile.do?action=oauth&scope=1&servicecode=hswsy`;
  87 + }
91 88  
  89 + if (miniprogram) {
  90 + alert('支付宝')
  91 + // window.location.href = `https://puser.zjzwfw.gov.cn/sso/alipay.do?action=ssoLogin&servicecode=passp&goto=`;
92 92 }
  93 + sessionStorage.setItem('unionId', 'oJPmPuLaAx2x2DaRGfCFeYuLWzLU')
  94 + this.getUserInfoXST()
93 95 },
94 96 methods: {
95 97 // 研学码
... ... @@ -132,31 +134,6 @@ export default {
132 134 this.userInfo = res.data.data;
133 135 this.centerNo = res.data.data.centerNo
134 136 sessionStorage.setItem('userInfo', JSON.stringify(res.data.data))
135   - // 设置分享
136   - this.$emit('getWxConfig', {
137   - title: '趣研学啦', // 分享标题
138   - desc: '现在世界是孩子的书本,一起学才更好玩!', // 分享描述
139   - link: `https://payment.myjxt.com/center/#/HomeKQ`, // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
140   - imgUrl: 'https://payment.myjxt.com/share_qxy.png', // 分享图标
141   - })
142   - }
143   - })
144   - },
145   - //获取优惠券
146   - getSendFlag () {
147   - this.$toast.loading({
148   - message: '加载中...',
149   - duration: 0,
150   - forbidClick: true
151   - })
152   - this.http.getSendFlag().then((res) => {
153   - this.$toast.clear()
154   - if (res.success) {
155   - if (res.data == 1) {
156   - this.isShow = true
157   - }
158   - } else {
159   - this.$toast.fail(res.message)
160 137 }
161 138 })
162 139 },
... ...
src/views/PublicService/LoginPublic.vue
... ... @@ -16,13 +16,9 @@
16 16 </div>
17 17 <button class="submit" @click="submitOperator">立即绑定</button>
18 18 </div>
19   - <van-popup class="prefect_pop" v-model="showPrefectBox">
20   - <prefect-box :phone="phone" :id="prefectId" :publicName="publicName" @hidePrefectBox="showPrefectBox=false" @complete="complete"></prefect-box>
21   - </van-popup>
22 19 </div>
23 20 </template>
24 21 <script>
25   -import PrefectBox from './component/PrefectBox'
26 22 var codeInterval;
27 23 export default {
28 24 name: 'LoginPublic',
... ... @@ -32,8 +28,6 @@ export default {
32 28 phone: '',
33 29  
34 30 codeText: '获取验证码',//获取验证码按钮文字
35   - showPrefectBox: false,
36   - // showPrefectBox: true,
37 31 appId: '',
38 32 unionId: '',
39 33 openId: '',
... ... @@ -159,9 +153,6 @@ export default {
159 153 },
160 154 destroyed () {
161 155 clearInterval(codeInterval);
162   - },
163   - components: {
164   - PrefectBox
165 156 }
166 157 }
167 158 </script>
... ...
src/views/PublicService/ServiceBaseKQ.vue
... ... @@ -93,9 +93,6 @@ export default {
93 93 // 设置tabbar状态
94 94 this.tabName = this.$route.query.showTab || 'KQ'
95 95 document.title = this.$route.query.showTab == 'ZZY' ? '周周营': '柯桥研学'
96   - this.$nextTick(() => {
97   - this.$emit('setWxShare', this.tabName)
98   - })
99 96 }
100 97 }
101 98 },
... ...
src/views/PublicService/ServiceKQ.vue
1 1 <template>
2   - <service-basekq :centerNo="centerNo" v-if="showData" @setWxShare="setWxShare"></service-basekq>
  2 + <service-basekq :centerNo="centerNo" v-if="showData"></service-basekq>
3 3 </template>
4 4  
5 5 <script>
... ... @@ -19,52 +19,53 @@ export default {
19 19  
20 20 mounted () {
21 21 console.log('xst mounted')
22   - sessionStorage.setItem('publicName', this.publicName);
23   - sessionStorage.setItem('prePageQuery', JSON.stringify({ showTab: this.$route.query.showTab }));
24   - sessionStorage.setItem('prePage', 'Service' + this.publicName);
25   - if (process.env.NODE_ENV === "production") {
26   - let openId = sessionStorage.getItem('openId' + this.publicName);
27   - if (!openId) {
28   - this.$router.push({ name: 'Authorize' + this.publicName })
29   - } else {
30   - this.getUserInfo()
31   - }
32   - } else {
33   - sessionStorage.setItem('unionId', 'oJPmPuLaAx2x2DaRGfCFeYuLWzLU');
34   - this.$nextTick(()=>{
35   - this.getUserInfo()
36   - })
  22 + // sessionStorage.setItem('publicName', this.publicName);
  23 + // sessionStorage.setItem('prePageQuery', JSON.stringify({ showTab: this.$route.query.showTab }));
  24 + // sessionStorage.setItem('prePage', 'Service' + this.publicName);
  25 + // sessionStorage.setItem('unionId', 'oJPmPuLaAx2x2DaRGfCFeYuLWzLU');
  26 + const sUserAgent = window.navigator.userAgent.toLowerCase()
  27 + alert(sUserAgent)
  28 + console.log(sUserAgent)
  29 + const dtdreamweb = sUserAgent.indexOf("dtdreamweb") > -1
  30 + const miniprogram = sUserAgent.indexOf("miniprogram") > -1 && sUserAgent.indexOf("alipay") > -1
  31 + if (dtdreamweb) {
  32 + alert('浙里办')
  33 + // window.location.href = `https://puser.zjzwfw.gov.cn/sso/mobile.do?action=oauth&scope=1&servicecode=hswsy`;
  34 + }
  35 +
  36 + if (miniprogram) {
  37 + alert('支付宝')
  38 + // window.location.href = `https://puser.zjzwfw.gov.cn/sso/alipay.do?action=ssoLogin&servicecode=passp&goto=`;
37 39 }
  40 + sessionStorage.setItem('unionId', 'oJPmPuLaAx2x2DaRGfCFeYuLWzLU');
  41 + this.$nextTick(() => {
  42 + this.getUserInfo()
  43 + })
38 44 },
39 45 activated () {
40 46 console.log('KQ activated')
41 47 sessionStorage.setItem('publicName', this.publicName);
42 48 sessionStorage.setItem('prePageQuery', JSON.stringify({ showTab: this.$route.query.showTab }));
43 49 sessionStorage.setItem('prePage', 'Service' + this.publicName);
44   - if (process.env.NODE_ENV === "production"&&this.common.isWeiXin()) {
45   - let openId = sessionStorage.getItem('openId' + this.publicName);
46   - if (!openId) {
47   - this.$router.push({ name: 'Authorize' + this.publicName })
48   - } else {
49   - this.getUserInfo()
50   - }
51   - } else {
52   - sessionStorage.setItem('unionId', 'oJPmPuLaAx2x2DaRGfCFeYuLWzLU');
53   - this.$nextTick(()=>{
54   - this.getUserInfo()
55   - })
  50 + const sUserAgent = window.navigator.userAgent.toLowerCase()
  51 + console.log(sUserAgent)
  52 + const dtdreamweb = sUserAgent.indexOf("dtdreamweb") > -1
  53 + const miniprogram = sUserAgent.indexOf("miniprogram") > -1 && sUserAgent.indexOf("alipay") > -1
  54 + if (dtdreamweb) {
  55 + alert('浙里办')
  56 + // window.location.href = `https://puser.zjzwfw.gov.cn/sso/mobile.do?action=oauth&scope=1&servicecode=passp&goto=`;
56 57 }
  58 +
  59 + if (miniprogram) {
  60 + alert('支付宝')
  61 + // window.location.href = `https://puser.zjzwfw.gov.cn/sso/alipay.do?action=ssoLogin&servicecode=passp&goto=`;
  62 + }
  63 + sessionStorage.setItem('unionId', 'oJPmPuLaAx2x2DaRGfCFeYuLWzLU');
  64 + this.$nextTick(() => {
  65 + this.getUserInfo()
  66 + })
57 67 },
58 68 methods: {
59   - setWxShare (tabName) {
60   - // 设置分享
61   - this.$emit('getWxConfig', {
62   - title: '趣研学啦', // 分享标题
63   - desc: '现在世界是孩子的书本,一起学才更好玩!', // 分享描述
64   - link: 'https://payment.myjxt.com/center/#/service_kq?showTab=' + tabName, // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
65   - imgUrl: 'https://payment.myjxt.com/share_qxy.png', // 分享图标
66   - })
67   - },
68 69 // 获取用户信息
69 70 getUserInfo () {
70 71 let userInfo = sessionStorage.getItem('userInfo');
... ...
src/views/PublicService/ServiceOrderXST.vue
... ... @@ -361,13 +361,6 @@ export default {
361 361 openGroupCodePopup (index) {
362 362 this.chatGroupUrl = this.movelist[index]?.chatGroupUrl
363 363 this.showGroupCode = true;
364   - // 设置分享
365   - this.$emit('getWxConfig', {
366   - title: this.movelist[index].courseName, // 分享标题
367   - desc: '读万卷书,行万里路,我们一起“趣研学啦”', // 分享描述
368   - link: `https://payment.myjxt.com/center/#/abroad_detail?courseId=${this.movelist[index].courseId}&publicName=${sessionStorage.getItem('publicName')}`, // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
369   - imgUrl: 'https://payment.myjxt.com/share_qxy.png', // 分享图标
370   - })
371 364 },
372 365 //跳转
373 366 toEdit (item) {
... ...
src/views/PublicService/component/PrefectBox.vue
... ... @@ -1,392 +0,0 @@
1   -<template>
2   - <div>
3   - <div id="prefect_box">
4   - <img class="bg" src="@/assets/msg.png" alt="">
5   - <div class="content">
6   - <div class="name">学生信息:</div>
7   - <div class="item">
8   - <input type="text" placeholder="请输入学生姓名" v-model="studentName">
9   - </div>
10   - <div class="item" @click="showUserTypeSelect=true" style="width:48%;display:inline-flex;margin-right:4%;">
11   - <p :class="!userType?'nodata':''">{{userType?userType:'当前阶段'}}</p>
12   - <img src="@/assets/more.png" alt="">
13   - </div>
14   - <div class="item" @click="handleYear" style="width:48%;display:inline-flex;">
15   - <p :class="!year||yearDisable?'nodata':''">{{year?year:'入学年份'}}</p>
16   - <img src="@/assets/more.png" alt="">
17   - </div>
18   - <div class="item" @click="showAreaSelect=true">
19   - <p :class="!area?'nodata':''">{{area?area:'请选择地区'}}</p>
20   - <img src="@/assets/more.png" alt="">
21   - </div>
22   - <!-- <div class="item">
23   - <form action="/" style="width:100%;">
24   - <van-search v-model="searchSchool" placeholder="请输入学校关键字" @search="handleSchool" />
25   - </form>
26   - </div> -->
27   - <div class="item">
28   - <input type="text" placeholder="请选择学校" readonly v-model="school">
29   - <button type="info" class="btn" @click="chooseSchool">选择学校</button>
30   - </div>
31   -
32   - <!-- <p class="school_select" v-if="school">已选择学校:{{school}}</p> -->
33   - <button class="submit" @click="submit">完成</button>
34   - </div>
35   - </div>
36   - <van-popup v-model="showUserTypeSelect" round position="bottom" get-container="body" :safe-area-inset-bottom="true">
37   - <van-picker title="当前阶段" show-toolbar :columns="userTypeArr" value-key="label" @cancel="showUserTypeSelect = false" @confirm="selectUserTypeOver" />
38   - </van-popup>
39   - <van-popup v-model="showYearSelect" round position="bottom" get-container="body" :safe-area-inset-bottom="true">
40   - <van-picker title="入学年份" show-toolbar :columns="yearArr" value-key="label" @cancel="showYearSelect = false" @confirm="selectYearOver" />
41   - </van-popup>
42   - <van-popup v-model="showAreaSelect" round position="bottom" get-container="body" :safe-area-inset-bottom="true">
43   - <van-area title="地区" :area-list="areaList" @cancel="showAreaSelect = false" @confirm="selectAreaOver" />
44   - </van-popup>
45   - <van-popup v-model="showSchoolSelect" round position="bottom" get-container="body" :safe-area-inset-bottom="true">
46   - <van-picker title="学校" show-toolbar :columns="schoolList" :loading="schoolListLoading" @cancel="showSchoolSelect = false" @confirm="selectSchoolOver" />
47   - </van-popup>
48   -
49   - <van-popup v-model="chooseSchoolisShow" round get-container="body" :safe-area-inset-bottom="true">
50   - <div v-if="chooseSchoolisShow"><chooseSchool v-model="chooseSchoolisShow" @schoolData='schoolData'></chooseSchool></div>
51   - </van-popup>
52   - </div>
53   -</template>
54   -
55   -<script>
56   -import chooseSchool from './chooseSchool'
57   -export default {
58   - props: [
59   - "phone",
60   - "id",
61   - "publicName"
62   - ],
63   - components: {chooseSchool},
64   - data () {
65   - return {
66   - studentName: '',
67   -
68   - year: '',//入学年份
69   - yearDisable: false,
70   - showYearSelect: false,
71   - yearArr: [],
72   -
73   - userType: '',
74   - userTypeVal: '',//所处阶段1-小学 2-初中 3-高中
75   - showUserTypeSelect: false,
76   - userTypeArr: [{
77   - label: '小学',
78   - value: 1
79   - }, {
80   - label: '初中',
81   - value: 2
82   - }, {
83   - label: '高中',
84   - value: 3
85   - }],
86   -
87   - area: '',
88   - areaCode: '',
89   - showAreaSelect: false,
90   - areaList: [],
91   -
92   - searchSchool: '',
93   - school: '',
94   - schoolId: '',
95   - showSchoolSelect: false,
96   - schoolListLoading: false,
97   - schoolList: [],
98   -
99   - appId: '',
100   - chooseSchoolisShow: false
101   - }
102   - },
103   -
104   - mounted () {
105   - if (this.publicName == 'SXYX') {
106   - this.appId = 'wx1305e88d2bc74073'
107   - } else if (this.publicName == 'XST') {
108   - this.appId = 'wx1c630c8773c482f1'
109   - }
110   - let userInfo = sessionStorage.getItem('userInfo')
111   - this.userInfo = userInfo ? JSON.parse(userInfo) : userInfo;
112   - this.studentName = this.userInfo?.studentName;
113   - this.initYearArr()
114   - this.GetSysAreaList()
115   - },
116   - methods: {
117   - // 初始化入学年份选项
118   - initYearArr () {
119   - // 页面创建时执行
120   - let year = new Date().getFullYear(),
121   - Month = new Date().getMonth() + 1,
122   - yearArr = [];
123   - if (Month > 8) {
124   - // 如果月份大于8,那么当年的学年的高考年份要+1,如果月份小于7,那么当前的年份就是今年高考的年份
125   - year = year
126   - }
127   - for (let index = year; index > year - 6; index--) {
128   - yearArr.push({ value: index, label: index })
129   - }
130   - this.yearArr = yearArr
131   - },
132   - selectYearOver (value) {
133   - this.year = value.label;
134   - this.showYearSelect = false;
135   - },
136   - handleYear () {
137   - if (!this.yearDisable) {
138   - this.showYearSelect = true;
139   - }
140   - },
141   - selectUserTypeOver (value) {
142   - this.userType = value.label;
143   - this.userTypeVal = value.value;
144   - this.showUserTypeSelect = false;
145   - },
146   - // 获取地区列表
147   - GetSysAreaList () {
148   - this.http.GetSysAreaList({
149   - areaCode: 33
150   - }).then((res) => {
151   - if (res.success) {
152   - let data = res.data;
153   - let obj = {
154   - province_list: {
155   - 330000: '浙江省'
156   - },
157   - city_list: {},
158   - county_list: {}
159   - };
160   - if (data) {
161   - data.forEach((n, i) => {
162   - obj.city_list[n.area_code + '00'] = n.area_name;
163   - if (n.areaList.length > 0) {
164   - n.areaList.forEach((k, j) => {
165   - obj.county_list[k.area_code] = k.area_name;
166   - })
167   - }
168   - });
169   - this.areaList = obj;
170   - }
171   - } else {
172   - this.$toast.fail(res.message)
173   - }
174   - })
175   - },
176   - selectAreaOver (value) {
177   - let data = value;
178   - var city = data[1].code;
179   - city = city.substring(0, city.length - 2);
180   - // console.log(city)
181   - this.area = data[0].name + ',' + data[1].name + ',' + data[2].name;
182   - this.areaCode = [data[0].code, city, data[2].code];
183   - this.quCode = data[2].code;
184   - this.school = '',
185   - this.schoolId = '',
186   - this.showAreaSelect = false
187   - },
188   - // 点击选择学校
189   - handleSchool () {
190   - if (!this.searchSchool) {
191   - this.$toast('请输入学校关键字');
192   - return;
193   - }
194   - this.showSchoolSelect = true;
195   - this.GetHighSchoolList();
196   - },
197   - // 通过地区获取学校
198   - GetHighSchoolList () {
199   - this.schoolListLoading = true;
200   - this.yxAxios.get(`${this.yanxueUrl}/api/SchoolManage/GetAllSchoolList?schoolName=${this.searchSchool}`).then((res) => {
201   - if (res.data.data) {
202   - let data = res.data.data;
203   - let arr = [];
204   - if (data) {
205   - data.forEach((n, i) => {
206   - let obj = {};
207   - obj.text = n.schoolName;
208   - obj.id = n.id;
209   - arr.push(obj);
210   - });
211   - this.schoolList = arr;
212   - this.schoolListLoading = false
213   - }
214   - } else {
215   - this.schoolListLoading = false
216   - this.$toast.fail(res.data.message)
217   - }
218   - })
219   - },
220   - selectSchoolOver (value) {
221   - console.log(value)
222   - this.school = value.text;
223   - this.schoolId = value.id;
224   - this.showSchoolSelect = false;
225   - },
226   -
227   - submit () {
228   - if (!this.studentName) {
229   - this.$toast('请输入姓名');
230   - }
231   - else if (!this.userType) {
232   - this.$toast('请选择阶段');
233   - }
234   - else if (!this.year) {
235   - this.$toast('请选择入学年份');
236   - }
237   - else if (!this.area) {
238   - this.$toast('请选择地区');
239   - }
240   - else if (!this.school) {
241   - this.$toast('请选择学校');
242   - } else {
243   - let postData = {
244   - id: this.id,
245   - userName: this.studentName,
246   - mobile: this.phone,
247   - province: this.area.split(',')[0],//省份
248   - city: this.area.split(',')[1],//城市
249   - area: this.area.split(',')[2],//地区
250   - schoolName: this.school,//学校名称
251   - enrollYear: this.year,//入学年份
252   - userType: this.userTypeVal,//1-小学 2-初中 3-高中
253   - }
254   - this.$toast.loading({
255   - message: '加载中',
256   - duration: 0,
257   - forbidClick: true
258   - })
259   - this.yxAxios.post(`${this.proxyUrl}/prod/api/wx/${this.appId}/updateUserInfo`, postData).then((res) => {
260   - this.$toast.clear()
261   - if (res.data.code == 200) {
262   - this.$toast.success(res.data?.message)
263   - this.$emit('complete')
264   - this.$emit('hidePrefectBox')
265   - } else {
266   - this.$toast.fail(res.message)
267   - }
268   - })
269   - }
270   - },
271   - //选择学校
272   - chooseSchool() {
273   - // this.$router.push({name: 'chooseSchool'})
274   - this.chooseSchoolisShow = true
275   - },
276   - schoolData(val) {
277   - this.school = val.text;
278   - this.schoolId = val.id;
279   - }
280   - }
281   -}
282   -</script>
283   -<style lang="scss" scoped>
284   -#prefect_box {
285   - width: 638px;
286   - height: 836px;
287   - background: #ffffff;
288   - border-radius: 24px;
289   - position: relative;
290   -
291   - .bg {
292   - width: 100%;
293   - position: absolute;
294   - top: 0;
295   - left: 0;
296   - }
297   - .content {
298   - width: 100%;
299   - box-sizing: border-box;
300   - padding: 0 40px;
301   - position: absolute;
302   - top: 236px;
303   - left: 0;
304   - .name {
305   - width: 558px;
306   - height: 50px;
307   - font-size: 28px;
308   - color: #000;
309   - padding-left: 20px;
310   - box-sizing: border-box;
311   - }
312   - .item {
313   - width: 558px;
314   - height: 72px;
315   - border-radius: 36px;
316   - background: #f7f7f7;
317   - box-sizing: border-box;
318   - font-size: 28px;
319   - padding: 0 32px;
320   - display: flex;
321   - justify-content: space-between;
322   - align-items: center;
323   - margin-bottom: 28px;
324   - p {
325   - color: #333333;
326   - &.nodata {
327   - color: #999999;
328   - }
329   - }
330   - img {
331   - width: 40px;
332   - }
333   - input {
334   - width: 100%;
335   - background: transparent;
336   - border: 0;
337   - color: #333333;
338   - padding: 0;
339   - &::-webkit-input-placeholder {
340   - color: #999999;
341   - }
342   - }
343   - .btn {
344   - width: 240px;
345   - height: 55px;
346   - float: right;
347   - font-size: 28px;
348   - background: linear-gradient(135deg, #cdf8cf 0%, #8af36f 100%);
349   - box-shadow: 0px 4px 8px 0px rgba(189, 189, 189, 0.5),
350   - 0px 8px 12px 0px rgba(89, 199, 171, 0.5);
351   - border-radius: 34px;
352   - border: transparent;
353   - color: #333333;
354   - }
355   - }
356   - .school_select {
357   - font-size: 28px;
358   - padding: 0 32px;
359   - margin-bottom: 28px;
360   - }
361   - .submit {
362   - width: 294px;
363   - height: 72px;
364   - border: 0;
365   - background: linear-gradient(135deg, #99c2ff 0%, #1f59ff 100%);
366   - box-shadow: 0px 4px 8px 0px rgba(189, 189, 189, 0.5),
367   - 0px 8px 12px 0px rgba(87, 137, 255, 0.5);
368   - border-radius: 34px;
369   - font-size: 34px;
370   - color: #ffffff;
371   - margin: 0 auto;
372   - display: block;
373   - }
374   - }
375   -}
376   -/deep/.van-search {
377   - background: transparent;
378   - padding: 0;
379   - width: 100%;
380   -}
381   -/deep/.van-search__content {
382   - padding: 0;
383   -}
384   -.schoolBoxF {
385   - width: 100vw;
386   - height: 100vh;
387   - position: absolute;
388   - top: 0;
389   - left: 0;
390   - background-color: #fff;
391   -}
392   -</style>
src/views/Service/AbroadDetail.vue
... ... @@ -386,13 +386,6 @@ export default {
386 386 this.getWeekCard(i);
387 387 }
388 388 });
389   - // 设置分享
390   - this.$emit('getWxConfig', {
391   - title: detailData.course_name, // 分享标题
392   - desc: '读万卷书,行万里路,我们一起“趣研学啦”', // 分享描述
393   - link: `https://payment.myjxt.com/center/#/abroad_detail?courseId=${this.courseId}&publicName=${this.publicName}`, // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
394   - imgUrl: 'https://payment.myjxt.com/share_qxy.png', // 分享图标
395   - })
396 389 } else {
397 390 let message = res.data.message;
398 391 if (!message) {
... ...