From 9ba9ab0ba95d10d9870543663d0654d29d42c2f7 Mon Sep 17 00:00:00 2001 From: unknown <331404948@qq.com> Date: Wed, 13 Nov 2024 18:55:38 +0800 Subject: [PATCH] =?UTF-8?q?=E5=9F=8E=E5=B8=82=E9=80=89=E6=8B=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- config/api.js | 8 +- config/site.config.js | 2 +- manifest.json | 2 +- node_modules/.package-lock.json | 61 +- node_modules/vue-jsonp/LICENSE | 21 + node_modules/vue-jsonp/README.md | 153 + node_modules/vue-jsonp/dist/index.d.ts | 73 + node_modules/vue-jsonp/dist/index.esm.js | 8 + node_modules/vue-jsonp/dist/index.js | 8 + node_modules/vue-jsonp/dist/utils/index.d.ts | 20 + node_modules/vue-jsonp/package.json | 50 + package-lock.json | 71 +- package.json | 4 +- pages.json | 7 + pages/exercises/brushQuestions/brushQuestions.vue | 1 + pages/exercises/brushQuestions/examQuestions.vue | 1 + pages/exercises/brushQuestions/wrongQuestions.vue | 28 +- .../categoryExercises/categoryExercises.vue | 7 +- pages/exercises/chapter/chapter.vue | 5 +- .../queTypeExercises/queTypeExercises.vue | 5 +- pages/exercises/theoryStudy/theoryStudy.vue | 5 +- pages/exercises/wrongQuestion/wrongQuestion.vue | 2 +- pages/index/comp/allCity.js | 30009 ++++++++++++++++++ pages/index/comp/city - 副本.vue | 512 + pages/index/comp/city.js | 1121 + pages/index/comp/city.vue | 514 + pages/index/comp/hotCity.js | 19 + pages/index/index.vue | 151 +- static/images/back_img.png | Bin 0 -> 4020 bytes static/images/dingweis.png | Bin 0 -> 9442 bytes store/modules/car.js | 2 + unpackage/dist/cache/.vite/deps/_metadata.json | 15 +- unpackage/dist/cache/.vite/deps/vue-jsonp.js | 76 + unpackage/dist/cache/.vite/deps/vue-jsonp.js.map | 7 + utils/省市区编码表及JSON文件.zip | Bin 0 -> 133040 bytes .../区编码表.txt | 3742 +++ .../城市编码表.txt | 396 + .../省份编码表.txt | 35 + ...市区三级联动结构JSON数据服务.json | 30050 +++++++++++++++++++ 39 files changed, 67136 insertions(+), 55 deletions(-) create mode 100644 node_modules/vue-jsonp/LICENSE create mode 100644 node_modules/vue-jsonp/README.md create mode 100644 node_modules/vue-jsonp/dist/index.d.ts create mode 100644 node_modules/vue-jsonp/dist/index.esm.js create mode 100644 node_modules/vue-jsonp/dist/index.js create mode 100644 node_modules/vue-jsonp/dist/utils/index.d.ts create mode 100644 node_modules/vue-jsonp/package.json create mode 100644 pages/index/comp/allCity.js create mode 100644 pages/index/comp/city - 副本.vue create mode 100644 pages/index/comp/city.js create mode 100644 pages/index/comp/city.vue create mode 100644 pages/index/comp/hotCity.js create mode 100644 static/images/back_img.png create mode 100644 static/images/dingweis.png create mode 100644 unpackage/dist/cache/.vite/deps/vue-jsonp.js create mode 100644 unpackage/dist/cache/.vite/deps/vue-jsonp.js.map create mode 100644 utils/省市区编码表及JSON文件.zip create mode 100644 utils/省市区编码表及JSON文件/区编码表.txt create mode 100644 utils/省市区编码表及JSON文件/城市编码表.txt create mode 100644 utils/省市区编码表及JSON文件/省份编码表.txt create mode 100644 utils/省市区编码表及JSON文件/省市区三级联动结构JSON数据服务.json diff --git a/config/api.js b/config/api.js index f15732c..c10e699 100644 --- a/config/api.js +++ b/config/api.js @@ -28,13 +28,13 @@ export const logOut = (data={}) => http.post('member/auth/logout', data, {custom // 轮播图 export const indexAdApi = (subject) => http.get('idex/ad-'+subject, ) // 获取顺序、精选练习已学题目,总题目数 - export const indexAdCount = (data) => http.get(`idex/count-${data.subject}-${data.carType}`, ) + export const indexAdCount = (data) => http.get(`idex/count-${data.subject}-${data.carType}`, {params: {city: data.city}}) // 考试流程 export const examProcessInfo = (subject) => http.get(`idex/examProcessInfo-${subject}`, ) // 分类学习了级 - export const columnPid = (pid) => http.get(`idex/column-${pid}`, ) + export const columnPid = (pid, city) => http.get(`idex/column-${pid}-${city}`, {params: {city}}) // 分类学习父级id - export const columnFid = (data) => http.get(`idex/${data.type}-column-${data.stepType}-${data.carType}`, ) + export const columnFid = (data) => http.get(`idex/${data.type}-column-${data.stepType}-${data.carType}`, {params: {city: data.city}} ) // 添加|取消 收藏 错题 export const questionWrongColle = (data) => http.post('questionWrong/dealCollection', data,) @@ -62,6 +62,8 @@ export const logOut = (data={}) => http.post('member/auth/logout', data, {custom export const examId = (data) => http.post(`questionExam/result-${examId}`, data,) // 模拟考试次数、通过率 export const idexExam = (data) => http.get(`idex/exam-${data.stepType}-${data.carType}`, ) + // 获取行政区划下拉树列表 + export const treeSelect = (carType) => http.get(`/idex/treeSelect`, ) diff --git a/config/site.config.js b/config/site.config.js index bac16f2..3ad1b72 100644 --- a/config/site.config.js +++ b/config/site.config.js @@ -5,7 +5,7 @@ let obj = { WX_API: VUE_APP_PLATFORM === 'h5' ? '/' : 'http://www.lyjppt.com/',//非代理地址 不要忘记加/ website: 'http://192.168.1.37', httpPrefix: 'api/', - imgUrl: 'https://jiangxijiakao-1.oss-cn-hangzhou.aliyuncs.com/defaultImages/app/bigImg/', + mapKey: 'IDZBZ-L5GCZ-EQXXA-ZR5K4-JTSXH-IQBLO', // 支付测试地址 // preUrl: 'https://u8wbs.zyebank.cn/cem_ysb_u6/index.html', // const preUrl = 'https://u8wbs.zyebank.cn/cem_ysb_u8/index.html' diff --git a/manifest.json b/manifest.json index bbccac9..2a4727d 100644 --- a/manifest.json +++ b/manifest.json @@ -75,7 +75,7 @@ "disableHostCheck" : true, "proxy" : { "/api" : { - "target" : "http://192.168.1.200:8081/", + "target" : "http://192.168.1.229:8081/", // "target" : "http://192.168.1.40:8099/", "changeOrigin" : true, "secure" : true, diff --git a/node_modules/.package-lock.json b/node_modules/.package-lock.json index a9678ff..c0999ae 100644 --- a/node_modules/.package-lock.json +++ b/node_modules/.package-lock.json @@ -4,10 +4,69 @@ "lockfileVersion": 3, "requires": true, "packages": { + "node_modules/@vue/devtools-api": { + "version": "6.6.4", + "resolved": "https://registry.npmmirror.com/@vue/devtools-api/-/devtools-api-6.6.4.tgz", + "integrity": "sha512-sGhTPMuXqZ1rVOk32RylztWkfXTRhuS7vgAKv0zjqk8gbsHkJ7xfFf+jbySxt7tWObEJwyKaHMikV/WGDiQm8g==" + }, "node_modules/js-md5": { "version": "0.8.3", - "resolved": "https://registry.npmmirror.com/js-md5/-/js-md5-0.8.3.tgz", "integrity": "sha512-qR0HB5uP6wCuRMrWPTrkMaev7MJZwJuuw4fnwAzRgP4J4/F8RwtodOKpGp4XpqsLBFzzgqIO42efFAyz2Et6KQ==" + }, + "node_modules/pinia": { + "version": "2.2.4", + "resolved": "https://registry.npmmirror.com/pinia/-/pinia-2.2.4.tgz", + "integrity": "sha512-K7ZhpMY9iJ9ShTC0cR2+PnxdQRuwVIsXDO/WIEV/RnMC/vmSoKDTKW/exNQYPI+4ij10UjXqdNiEHwn47McANQ==", + "dependencies": { + "@vue/devtools-api": "^6.6.3", + "vue-demi": "^0.14.10" + }, + "funding": { + "url": "https://github.com/sponsors/posva" + }, + "peerDependencies": { + "@vue/composition-api": "^1.4.0", + "typescript": ">=4.4.4", + "vue": "^2.6.14 || ^3.3.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + }, + "typescript": { + "optional": true + } + } + }, + "node_modules/vue-demi": { + "version": "0.14.10", + "resolved": "https://registry.npmmirror.com/vue-demi/-/vue-demi-0.14.10.tgz", + "integrity": "sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg==", + "hasInstallScript": true, + "bin": { + "vue-demi-fix": "bin/vue-demi-fix.js", + "vue-demi-switch": "bin/vue-demi-switch.js" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "@vue/composition-api": "^1.0.0-rc.1", + "vue": "^3.0.0-0 || ^2.6.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + } + } + }, + "node_modules/vue-jsonp": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/vue-jsonp/-/vue-jsonp-2.0.0.tgz", + "integrity": "sha512-Mzd9GNeuKP5hHFDWZNMWOsCuMILSkA6jo2l4A02wheFz3qqBzH7aSEFTey1BRCZCLizlaf1EqJ5YUtF392KspA==" } } } diff --git a/node_modules/vue-jsonp/LICENSE b/node_modules/vue-jsonp/LICENSE new file mode 100644 index 0000000..9b2ef9e --- /dev/null +++ b/node_modules/vue-jsonp/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2020 LancerComet + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/node_modules/vue-jsonp/README.md b/node_modules/vue-jsonp/README.md new file mode 100644 index 0000000..8aa1e99 --- /dev/null +++ b/node_modules/vue-jsonp/README.md @@ -0,0 +1,153 @@ +# Vue-jsonp + +[![VueJsonp](https://github.com/LancerComet/vue-jsonp/workflows/Test/badge.svg)](https://github.com/LancerComet/vue-jsonp/actions) + +A tiny library for handling JSONP request. + +## Quick Start + +As Vue plugin: + +```ts +import { VueJsonp } from 'vue-jsonp' + +// Vue Plugin. +Vue.use(VueJsonp) + +// Now you can use this.$jsonp in Vue components. +const vm = new Vue() +vm.$jsonp('/some-jsonp-url', { + myCustomUrlParam: 'veryNice' +}) +``` + +Use function directly: + +```ts +import { jsonp } from 'vue-jsonp' + +jsonp('/some-jsonp-url', { + myCustomUrlParam: 'veryNice' +}) +``` + +## Send data and set query & function name + +### Send data + +```ts +// The request url will be "/some-jsonp-url?name=LancerComet&age=100&callback=jsonp_{RANDOM_STR}". +jsonp('/some-jsonp-url', { + name: 'LancerComet', + age: 100 +}) +``` + +### Custom query & function name + +The url uniform is `/url?{callbackQuery}={callbackName}&...`, the default is `/url?callback=jsonp_{RANDOM_STRING}&...`. + +And you can change it like this: + +```ts +// The request url will be "/some-jsonp-url?name=LancerComet&age=100&cb=jsonp_func". +jsonp('/some-jsonp-url', { + callbackQuery: 'cb', + callbackName: 'jsonp_func', + name: 'LancerComet', + age: 100 +}) +``` + +## Module exports + + - `VueJsonp: PluginObject` + + - `jsonp: (url: string, param?: IJsonpParam, timeout?: number) => Promise` + +## API + +### IJsonpParam + +IJsonpParam is the type of param for jsonp function. + +```ts +/** + * JSONP parameter declaration. + */ +interface IJsonpParam { + /** + * Callback query name. + * This param is used to define the query name of the callback function. + * + * @example + * // The request url will be "/some-url?myCallback=jsonp_func&myCustomUrlParam=veryNice" + * jsonp('/some-url', { + * callbackQuery: 'myCallback', + * callbackName: 'jsonp_func', + * myCustomUrlParam: 'veryNice' + * }) + * + * @default callback + */ + callbackQuery?: string + + /** + * Callback function name. + * This param is used to define the jsonp function name. + * + * @example + * // The request url will be "/some-url?myCallback=jsonp_func&myCustomUrlParam=veryNice" + * jsonp('/some-url', { + * callbackQuery: 'myCallback', + * callbackName: 'jsonp_func', + * myCustomUrlParam: 'veryNice' + * }) + * + * @default jsonp_ + randomStr() + */ + callbackName?: string + + /** + * Custom data. + */ + [key: string]: any +} +``` + +## Example + +```ts +import Vue from 'vue' +import { VueJsonp } from 'vue-jsonp' + +Vue.use(VueJsonp) + +const vm = new Vue() +const { code, data, message } = await vm.$jsonp<{ + code: number, + message: string, + data: { + id: number, + nickname: string + } +}>('/my-awesome-url', { + name: 'MyName', age: 20 +}) + +assert(code === 0) +assert(message === 'ok') +assert(data.id === 1) +assert(data.nickname === 'John Smith') +``` + +```ts +import { jsonp } from 'vue-jsonp' + +const result = await jsonp('/my-awesome-url') +assert(result === 'such a jsonp') +``` + +## License + +MIT diff --git a/node_modules/vue-jsonp/dist/index.d.ts b/node_modules/vue-jsonp/dist/index.d.ts new file mode 100644 index 0000000..ec621c7 --- /dev/null +++ b/node_modules/vue-jsonp/dist/index.d.ts @@ -0,0 +1,73 @@ +/** + * Vue Jsonp. + * # Carry Your World # + * + * @author: LancerComet + * @license: MIT + */ +import { PluginObject } from 'vue/types/plugin'; +declare module 'vue/types/vue' { + interface Vue { + $jsonp: typeof jsonp; + } +} +/** + * Vue JSONP. + */ +declare const VueJsonp: PluginObject; +/** + * JSONP function. + * + * @param { string } url Target URL address. + * @param { IJsonpParam } param Querying params object. + * @param { number } timeout Timeout setting (ms). + * + * @example + * jsonp('/url', { + * callbackQuery: '' + * callbackName: '', + * name: 'LancerComet', + * age: 26 + * }, 1000) + */ +declare function jsonp(url: string, param?: IJsonpParam, timeout?: number): Promise; +export { VueJsonp, jsonp }; +/** + * JSONP parameter declaration. + */ +interface IJsonpParam { + /** + * Callback query name. + * This param is used to define the query name of the callback function. + * + * @example + * // The request url will be "/some-url?myCallback=jsonp_func&myCustomUrlParam=veryNice" + * jsonp('/some-url', { + * callbackQuery: 'myCallback', + * callbackName: 'jsonp_func', + * myCustomUrlParam: 'veryNice' + * }) + * + * @default callback + */ + callbackQuery?: string; + /** + * Callback function name. + * This param is used to define the jsonp function name. + * + * @example + * // The request url will be "/some-url?myCallback=jsonp_func&myCustomUrlParam=veryNice" + * jsonp('/some-url', { + * callbackQuery: 'myCallback', + * callbackName: 'jsonp_func', + * myCustomUrlParam: 'veryNice' + * }) + * + * @default jsonp_ + randomStr() + */ + callbackName?: string; + /** + * Custom data. + */ + [key: string]: any; +} diff --git a/node_modules/vue-jsonp/dist/index.esm.js b/node_modules/vue-jsonp/dist/index.esm.js new file mode 100644 index 0000000..893bec4 --- /dev/null +++ b/node_modules/vue-jsonp/dist/index.esm.js @@ -0,0 +1,8 @@ +function e(t,n){t=t.replace(/=/g,"");var o=[];switch(n.constructor){case String:case Number:case Boolean:o.push(encodeURIComponent(t)+"="+encodeURIComponent(n));break;case Array:n.forEach((function(n){o=o.concat(e(t+"[]=",n))}));break;case Object:Object.keys(n).forEach((function(r){var a=n[r];o=o.concat(e(t+"["+r+"]",a))}))}return o}function t(e){var n=[];return e.forEach((function(e){"string"==typeof e?n.push(e):n=n.concat(t(e))})),n} +/** + * Vue Jsonp. + * # Carry Your World # + * + * @author: LancerComet + * @license: MIT + */var n={install:function(e){e.prototype.$jsonp=o}};function o(n,o,r){if(void 0===o&&(o={}),"string"!=typeof n)throw new Error('[Vue-jsonp] Type of param "url" is not string.');if("object"!=typeof o||!o)throw new Error("[Vue-jsonp] Invalid params, should be an object.");return r="number"==typeof r?r:5e3,new Promise((function(a,c){var u="string"==typeof o.callbackQuery?o.callbackQuery:"callback",i="string"==typeof o.callbackName?o.callbackName:"jsonp_"+(Math.floor(1e5*Math.random())*Date.now()).toString(16);o[u]=i,delete o.callbackQuery,delete o.callbackName;var s=[];Object.keys(o).forEach((function(t){s=s.concat(e(t,o[t]))}));var l=t(s).join("&"),f=function(){p(),clearTimeout(m),c({status:400,statusText:"Bad Request"})},p=function(){b.removeEventListener("error",f)},d=function(){document.body.removeChild(b),delete window[i]},m=null;r>-1&&(m=setTimeout((function(){p(),d(),c({statusText:"Request Timeout",status:408})}),r)),window[i]=function(e){clearTimeout(m),p(),d(),a(e)};var b=document.createElement("script");b.addEventListener("error",f),b.src=n+(/\?/.test(n)?"&":"?")+l,document.body.appendChild(b)}))}export{n as VueJsonp,o as jsonp}; diff --git a/node_modules/vue-jsonp/dist/index.js b/node_modules/vue-jsonp/dist/index.js new file mode 100644 index 0000000..c5e0aee --- /dev/null +++ b/node_modules/vue-jsonp/dist/index.js @@ -0,0 +1,8 @@ +!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).VueJsonp={})}(this,(function(e){"use strict";function t(e,o){e=e.replace(/=/g,"");var n=[];switch(o.constructor){case String:case Number:case Boolean:n.push(encodeURIComponent(e)+"="+encodeURIComponent(o));break;case Array:o.forEach((function(o){n=n.concat(t(e+"[]=",o))}));break;case Object:Object.keys(o).forEach((function(r){var c=o[r];n=n.concat(t(e+"["+r+"]",c))}))}return n}function o(e){var t=[];return e.forEach((function(e){"string"==typeof e?t.push(e):t=t.concat(o(e))})),t} +/** + * Vue Jsonp. + * # Carry Your World # + * + * @author: LancerComet + * @license: MIT + */var n={install:function(e){e.prototype.$jsonp=r}};function r(e,n,r){if(void 0===n&&(n={}),"string"!=typeof e)throw new Error('[Vue-jsonp] Type of param "url" is not string.');if("object"!=typeof n||!n)throw new Error("[Vue-jsonp] Invalid params, should be an object.");return r="number"==typeof r?r:5e3,new Promise((function(c,a){var i="string"==typeof n.callbackQuery?n.callbackQuery:"callback",s="string"==typeof n.callbackName?n.callbackName:"jsonp_"+(Math.floor(1e5*Math.random())*Date.now()).toString(16);n[i]=s,delete n.callbackQuery,delete n.callbackName;var u=[];Object.keys(n).forEach((function(e){u=u.concat(t(e,n[e]))}));var f=o(u).join("&"),l=function(){p(),clearTimeout(b),a({status:400,statusText:"Bad Request"})},p=function(){m.removeEventListener("error",l)},d=function(){document.body.removeChild(m),delete window[s]},b=null;r>-1&&(b=setTimeout((function(){p(),d(),a({statusText:"Request Timeout",status:408})}),r)),window[s]=function(e){clearTimeout(b),p(),d(),c(e)};var m=document.createElement("script");m.addEventListener("error",l),m.src=e+(/\?/.test(e)?"&":"?")+f,document.body.appendChild(m)}))}e.VueJsonp=n,e.jsonp=r,Object.defineProperty(e,"__esModule",{value:!0})})); diff --git a/node_modules/vue-jsonp/dist/utils/index.d.ts b/node_modules/vue-jsonp/dist/utils/index.d.ts new file mode 100644 index 0000000..6b2f521 --- /dev/null +++ b/node_modules/vue-jsonp/dist/utils/index.d.ts @@ -0,0 +1,20 @@ +/** + * Generate random string. + * + * @return { string } + */ +declare function randomStr(): string; +/** + * Format params into querying string. + * + * @return {string[]} + */ +declare function formatParams(queryKey: string, value: any): string[]; +/** + * Flat querys. + * + * @param {string[] | (string[])[]} array + * @returns + */ +declare function flatten(array: string[] | (string[])[]): string[]; +export { formatParams, flatten, randomStr }; diff --git a/node_modules/vue-jsonp/package.json b/node_modules/vue-jsonp/package.json new file mode 100644 index 0000000..408f73a --- /dev/null +++ b/node_modules/vue-jsonp/package.json @@ -0,0 +1,50 @@ +{ + "name": "vue-jsonp", + "version": "2.0.0", + "description": "A tiny library for handling JSONP request.", + "main": "./dist/index.js", + "module": "./dist/index.esm.js", + "keywords": [ + "Vue", + "JSONP" + ], + "files": [ + "dist/", + "index.d.ts", + "README.md" + ], + "scripts": { + "build": "rollup -c", + "test": "jest", + "pretest": "npm run build", + "preversion": "npm run test", + "prepublish": "npm run test" + }, + "author": { + "name": "LancerComet", + "email": "chw644@hotmail.com" + }, + "repository": { + "type": "git", + "url": "https://github.com/LancerComet/vue-jsonp.git" + }, + "license": "MIT", + "devDependencies": { + "@types/expect-puppeteer": "^4.4.3", + "@types/jest": "^26.0.14", + "@types/jest-environment-puppeteer": "^4.4.0", + "@types/puppeteer": "^3.0.2", + "jest": "^26.4.2", + "jest-puppeteer": "^4.4.0", + "puppeteer": "^5.3.1", + "rollup": "^2.28.2", + "rollup-plugin-cleanup": "^3.2.1", + "rollup-plugin-delete": "^2.0.0", + "rollup-plugin-terser": "^7.0.2", + "rollup-plugin-typescript2": "^0.27.3", + "ts-jest": "^26.4.1", + "tslint": "^6.1.3", + "typescript": "^4.0.3", + "vue": "^2.6.12" + } +} diff --git a/package-lock.json b/package-lock.json index 6a44247..9176c87 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,30 +1,83 @@ { "name": "questionbankvue3", "version": "1.0.0", - "lockfileVersion": 1, + "lockfileVersion": 3, "requires": true, - "dependencies": { - "@vue/devtools-api": { + "packages": { + "": { + "name": "questionbankvue3", + "version": "1.0.0", + "license": "ISC", + "dependencies": { + "js-md5": "^0.8.3", + "pinia": "^2.2.4", + "vue-jsonp": "^2.0.0" + }, + "devDependencies": {} + }, + "node_modules/@vue/devtools-api": { "version": "6.6.4", "resolved": "https://registry.npmmirror.com/@vue/devtools-api/-/devtools-api-6.6.4.tgz", "integrity": "sha512-sGhTPMuXqZ1rVOk32RylztWkfXTRhuS7vgAKv0zjqk8gbsHkJ7xfFf+jbySxt7tWObEJwyKaHMikV/WGDiQm8g==" }, - "js-md5": { - "version": "0.8.3" + "node_modules/js-md5": { + "version": "0.8.3", + "integrity": "sha512-qR0HB5uP6wCuRMrWPTrkMaev7MJZwJuuw4fnwAzRgP4J4/F8RwtodOKpGp4XpqsLBFzzgqIO42efFAyz2Et6KQ==" }, - "pinia": { + "node_modules/pinia": { "version": "2.2.4", "resolved": "https://registry.npmmirror.com/pinia/-/pinia-2.2.4.tgz", "integrity": "sha512-K7ZhpMY9iJ9ShTC0cR2+PnxdQRuwVIsXDO/WIEV/RnMC/vmSoKDTKW/exNQYPI+4ij10UjXqdNiEHwn47McANQ==", - "requires": { + "dependencies": { "@vue/devtools-api": "^6.6.3", "vue-demi": "^0.14.10" + }, + "funding": { + "url": "https://github.com/sponsors/posva" + }, + "peerDependencies": { + "@vue/composition-api": "^1.4.0", + "typescript": ">=4.4.4", + "vue": "^2.6.14 || ^3.3.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + }, + "typescript": { + "optional": true + } } }, - "vue-demi": { + "node_modules/vue-demi": { "version": "0.14.10", "resolved": "https://registry.npmmirror.com/vue-demi/-/vue-demi-0.14.10.tgz", - "integrity": "sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg==" + "integrity": "sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg==", + "hasInstallScript": true, + "bin": { + "vue-demi-fix": "bin/vue-demi-fix.js", + "vue-demi-switch": "bin/vue-demi-switch.js" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "@vue/composition-api": "^1.0.0-rc.1", + "vue": "^3.0.0-0 || ^2.6.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + } + } + }, + "node_modules/vue-jsonp": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/vue-jsonp/-/vue-jsonp-2.0.0.tgz", + "integrity": "sha512-Mzd9GNeuKP5hHFDWZNMWOsCuMILSkA6jo2l4A02wheFz3qqBzH7aSEFTey1BRCZCLizlaf1EqJ5YUtF392KspA==" } } } diff --git a/package.json b/package.json index c16c557..d9e761a 100644 --- a/package.json +++ b/package.json @@ -10,9 +10,9 @@ "license": "ISC", "dependencies": { "js-md5": "^0.8.3", - "pinia": "^2.2.4" + "pinia": "^2.2.4", + "vue-jsonp": "^2.0.0" }, - "devDependencies": {}, "repository": { "type": "git", "url": "http://git.jaxc.cn/fangwenqiao/questionbankvue3.git" diff --git a/pages.json b/pages.json index 97153fd..67f9ec6 100644 --- a/pages.json +++ b/pages.json @@ -7,6 +7,13 @@ "enablePullDownRefresh": true, "navigationStyle": "custom" } + }, + { + "path": "pages/index/comp/city", + "style": { + "navigationBarTitleText": "选择城市", + "enablePullDownRefresh": false + } } ], "subPackages": [ diff --git a/pages/exercises/brushQuestions/brushQuestions.vue b/pages/exercises/brushQuestions/brushQuestions.vue index 38e618e..6f0343b 100644 --- a/pages/exercises/brushQuestions/brushQuestions.vue +++ b/pages/exercises/brushQuestions/brushQuestions.vue @@ -246,6 +246,7 @@ contentType: usecarStore.carInfo.contentType, knowType: usecarStore.carInfo.knowType, chapter: usecarStore.carInfo.chapter, + city: usecarStore.carInfo.city, } const {data: res} = await startQuestionApi(obj) uni.hideLoading() diff --git a/pages/exercises/brushQuestions/examQuestions.vue b/pages/exercises/brushQuestions/examQuestions.vue index 4ca9ce5..ff67901 100644 --- a/pages/exercises/brushQuestions/examQuestions.vue +++ b/pages/exercises/brushQuestions/examQuestions.vue @@ -281,6 +281,7 @@ let obj = { carType: usecarStore.carInfo.carType, stepType: usecarStore.carInfo.stepType, + city: usecarStore.carInfo.city, examType: 1, } const {data: res} = await startExam(obj) diff --git a/pages/exercises/brushQuestions/wrongQuestions.vue b/pages/exercises/brushQuestions/wrongQuestions.vue index 5c2f044..b00765d 100644 --- a/pages/exercises/brushQuestions/wrongQuestions.vue +++ b/pages/exercises/brushQuestions/wrongQuestions.vue @@ -49,7 +49,8 @@ - + + 题目解析 @@ -309,14 +310,29 @@ // 如果答案不一样,并且是第一次请求 if(questionBank.value.answer != curOption.value.ans&&curOption.value.isNext != 'next') { curOption.value.isNext = 'next' + noNum.value ++ return false } - }else { - curOption.value = {} - currentIndex.value = currentIndex.value + num - getQuestionFn() + if(curOption.value.answer==questionBank.value.answer) { + yesNum.value ++ + // 并且是错题类型 + if(questionType.value==1) { + usewrongQuestion.deleteWrongOrColFn(questionBank.value.id).then(()=>{ + questionBankList.value.splice(currentIndex.value, 1) + if(currentIndex.value>=questionBankList.value.length-1) { + currentIndex.value = 0 + } + getQuestionFn() + uni.$u.toast('题目已删除') + }) + } + } } - + if(num==2) return + console.log(111) + curOption.value = {} + currentIndex.value = currentIndex.value + num + getQuestionFn() } // 请求下一题 diff --git a/pages/exercises/categoryExercises/categoryExercises.vue b/pages/exercises/categoryExercises/categoryExercises.vue index b4f4b2e..5445171 100644 --- a/pages/exercises/categoryExercises/categoryExercises.vue +++ b/pages/exercises/categoryExercises/categoryExercises.vue @@ -34,11 +34,12 @@ let obj = { type: '3', stepType: usecarStore.carInfo.stepType, - carType: usecarStore.carInfo.carType + carType: usecarStore.carInfo.carType, + city: usecarStore.carInfo.city } const {data: res} = await columnFid(obj) for(let i=0; i diff --git a/pages/exercises/chapter/chapter.vue b/pages/exercises/chapter/chapter.vue index cc593ce..fd3c3c1 100644 --- a/pages/exercises/chapter/chapter.vue +++ b/pages/exercises/chapter/chapter.vue @@ -22,7 +22,7 @@ import { ref } from 'vue' import carStore from '@/store/modules/car.js' let usecarStore = carStore() - import { columnFid, columnPid } from '@/config/api.js' + import { columnFid, } from '@/config/api.js' function goPage(item) { usecarStore.setCar('chapter', item.param) uni.navigateTo({ @@ -35,7 +35,8 @@ let obj = { type: '4', stepType: usecarStore.carInfo.stepType, - carType: usecarStore.carInfo.carType + carType: usecarStore.carInfo.carType, + city: usecarStore.carInfo.city } const {data: res} = await columnFid(obj) for(let i=0; i +
+
+ + +
+ + + + + + 当前定位 + + + + {{currentCity.cityName}} + + + + {{po_tips}} + + + + + + + + 热门城市 + + + + {{item.cityName}} + + + + + + + + + + {{ getId(index) }} + + {{ city.cityName }} + + + + + {{ item.cityName }} + + + + + + 最近 + {{ item }} + + + + + {{selectLetter}} + +
+ + + + + \ No newline at end of file diff --git a/pages/index/comp/city.js b/pages/index/comp/city.js new file mode 100644 index 0000000..6190cc1 --- /dev/null +++ b/pages/index/comp/city.js @@ -0,0 +1,1121 @@ +/** + * Created by dianwoda on 2019/3/28. + * // A B C D E F G H I J K L M N O P Q R S T U V W X Y Z + // { cityName: '', pinYin: '', py: '', code: '', airName: ''}, + */ +export default { + hotCity: [{ + cityName: '北京', + pinYin: 'beijing', + py: 'bj', + code: 'PEK' + }, + { + cityName: '上海', + pinYin: 'shanghai', + py: 'sh', + code: 'SHA' + }, + { + cityName: '天津', + pinYin: 'tianjin', + py: 'tj', + code: 'TSN' + }, + { + cityName: '青岛', + pinYin: 'qingdao', + py: 'qd', + code: 'TAO' + }, + { + cityName: '南京', + pinYin: 'nanjing', + py: 'nj', + code: 'NKG' + }, + { + cityName: '杭州', + pinYin: 'hangzhou', + py: 'hz', + code: 'HGH' + }, + { + cityName: '厦门', + pinYin: 'xiamen', + py: 'xm', + code: 'XMN' + }, + { + cityName: '成都', + pinYin: 'chengdu', + py: 'cd', + code: 'CTU' + }, + { + cityName: '深圳', + pinYin: 'shenzhen', + py: 'sz', + code: 'SZX' + }, + { + cityName: '广州', + pinYin: 'guangzhou', + py: 'gz', + code: 'CAN' + }, + { + cityName: '沈阳', + pinYin: 'shenyang', + py: 'sy', + code: 'SHE' + }, + { + cityName: '武汉', + pinYin: 'wuhan', + py: 'wh', + code: 'WUH' + } + ], + cities: [{ + "cityName": "阿尔山", + "pinyin": "aershan", + "py": "aes", + "code": "YIE" + }, { + "cityName": "阿克苏", + "pinyin": "akesu", + "py": "aks", + "code": "AKU" + }, { + "cityName": "阿勒泰", + "pinyin": "aletai", + "py": "alt", + "code": "AAT" + }, { + "cityName": "阿里", + "pinyin": "ali", + "py": "al", + "code": "NGQ" + }, { + "cityName": "安庆", + "pinyin": "anqing", + "py": "aq", + "code": "AQG" + }, { + "cityName": "鞍山", + "pinyin": "anshan", + "py": "as", + "code": "AOG" + }, { + "cityName": "安顺", + "pinyin": "anshun", + "py": "as", + "code": "AVA" + }, { + "cityName": "巴彦淖尔", + "pinyin": "bayanzuoer", + "py": "byze", + "code": "RLK" + }, { + "cityName": "百色", + "pinyin": "baise", + "py": "bs", + "code": "AEB" + }, { + "cityName": "保山", + "pinyin": "baoshan", + "py": "bs", + "code": "BSD" + }, { + "cityName": "包头", + "pinyin": "baotou", + "py": "bt", + "code": "BAV" + }, { + "cityName": "北海", + "pinyin": "beihai", + "py": "bh", + "code": "BHY" + }, { + "cityName": "北京", + "pinyin": "beijing", + "py": "bj", + "code": "PEK" + }, { + "cityName": "北京南苑", + "pinyin": "beijingnanyuan", + "py": "bjny", + "code": "NAY" + }, { + "cityName": "毕节", + "pinyin": "bijie", + "py": "bj", + "code": "BFJ" + }, { + "cityName": "池州", + "pinyin": "chizhou", + "py": "cz", + "code": "JUH" + }, { + "cityName": "沧源", + "pinyin": "cangyuan", + "py": "cy", + "code": "CWJ" + }, { + "cityName": "长白山", + "pinyin": "changbaishan", + "py": "cbs", + "code": "NBS" + }, { + "cityName": "长春", + "pinyin": "changchun", + "py": "cc", + "code": "CGQ" + }, { + "cityName": "常德", + "pinyin": "changde", + "py": "cd", + "code": "CGD" + }, { + "cityName": "长沙", + "pinyin": "changsha", + "py": "cs", + "code": "CSX" + }, { + "cityName": "常州", + "pinyin": "changzhou", + "py": "cz", + "code": "CZX" + }, { + "cityName": "朝阳", + "pinyin": "chaoyang", + "py": "cy", + "code": "CHG" + }, { + "cityName": "成都", + "pinyin": "chengdu", + "py": "cd", + "code": "CTU" + }, { + "cityName": "赤峰", + "pinyin": "chifeng", + "py": "cf", + "code": "CIF" + }, { + "cityName": "重庆", + "pinyin": "chongqing", + "py": "cq", + "code": "CKG" + }, { + "cityName": "大理", + "pinyin": "dali", + "py": "dl", + "code": "DLU" + }, { + "cityName": "大连", + "pinyin": "dalian", + "py": "dl", + "code": "DLC" + }, { + "cityName": "大同", + "pinyin": "datong", + "py": "dt", + "code": "DAT" + }, { + "cityName": "达州", + "pinyin": "dazhou", + "py": "dz", + "code": "DAX" + }, { + "cityName": "丹东", + "pinyin": "dandong", + "py": "dd", + "code": "DDG" + }, { + "cityName": "丹阳", + "pinyin": "danyang", + "py": "dy", + "code": "DYN" + }, { + "cityName": "稻城", + "pinyin": "daocheng", + "py": "dc", + "code": "DCY" + }, { + "cityName": "德令哈", + "pinyin": "delingha", + "py": "dlh", + "code": "HXD" + }, { + "cityName": "东营", + "pinyin": "dongying", + "py": "dy", + "code": "DOY" + }, { + "cityName": "敦煌", + "pinyin": "dunhuang", + "py": "dh", + "code": "DNH" + }, { + "cityName": "鄂尔多斯", + "pinyin": "eerduosi", + "py": "eeds", + "code": "DSN" + }, { + "cityName": "恩施", + "pinyin": "enshi", + "py": "es", + "code": "ENH" + }, { + "cityName": "二连浩特", + "pinyin": "erlianhaote", + "py": "elht", + "code": "ERL" + }, { + "cityName": "佛山", + "pinyin": "foshan", + "py": "fs", + "code": "FUO" + }, { + "cityName": "阜阳", + "pinyin": "fuyang", + "py": "fy", + "code": "FUG" + }, { + "cityName": "福州", + "pinyin": "fuzhou", + "py": "fz", + "code": "FOC" + }, { + "cityName": "赣州", + "pinyin": "ganzhou", + "py": "gz", + "code": "KOW" + }, { + "cityName": "格尔木", + "pinyin": "geermu", + "py": "gem", + "code": "GOQ" + }, { + "cityName": "固原", + "pinyin": "guyuan", + "py": "gy", + "code": "GYU" + }, { + "cityName": "广元", + "pinyin": "guangyuan", + "py": "gy", + "code": "GYS" + }, { + "cityName": "广州", + "pinyin": "guangzhou", + "py": "gz", + "code": "CAN" + }, { + "cityName": "桂林", + "pinyin": "guilin", + "py": "gl", + "code": "KWL" + }, { + "cityName": "贵阳", + "pinyin": "guiyang", + "py": "gy", + "code": "KWE" + }, { + "cityName": "果洛", + "pinyin": "guoluo", + "py": "gl", + "code": "GMQ" + }, { + "cityName": "哈尔滨", + "pinyin": "haerbin", + "py": "heb", + "code": "HRB" + }, { + "cityName": "哈密", + "pinyin": "hami", + "py": "hm", + "code": "HMI" + }, { + "cityName": "海口", + "pinyin": "haikou", + "py": "hk", + "code": "HAK" + }, { + "cityName": "海拉尔", + "pinyin": "hailaer", + "py": "hle", + "code": "HLD" + }, { + "cityName": "邯郸", + "pinyin": "handan", + "py": "hd", + "code": "HDG" + }, { + "cityName": "汉中", + "pinyin": "hanzhong", + "py": "hz", + "code": "HZG" + }, { + "cityName": "杭州", + "pinyin": "hangzhou", + "py": "hz", + "code": "HGH" + }, { + "cityName": "合肥", + "pinyin": "hefei", + "py": "hf", + "code": "HFE" + }, { + "cityName": "和田", + "pinyin": "hetian", + "py": "ht", + "code": "HTN" + }, { + "cityName": "黑河", + "pinyin": "heihe", + "py": "hh", + "code": "HEK" + }, { + "cityName": "衡阳", + "pinyin": "hengyang", + "py": "hy", + "code": "HNY" + }, { + "cityName": "呼和浩特", + "pinyin": "huhehaote", + "py": "hhht", + "code": "HET" + }, { + "cityName": "花土沟", + "pinyin": "huatugou", + "py": "htg", + "code": "HTT" + }, { + "cityName": "淮安", + "pinyin": "huaan", + "py": "ha", + "code": "HIA" + }, { + "cityName": "黄山", + "pinyin": "huangshan", + "py": "hs", + "code": "TXN" + }, { + "cityName": "惠州", + "pinyin": "huizhou", + "py": "hz", + "code": "HUZ" + }, { + "cityName": "济南", + "pinyin": "jinan", + "py": "jn", + "code": "TNA" + }, { + "cityName": "济宁", + "pinyin": "jining", + "py": "jn", + "code": "JNG" + }, { + "cityName": "鸡西", + "pinyin": "jixi", + "py": "jx", + "code": "JXA" + }, { + "cityName": "加格达奇", + "pinyin": "jiagedaqi", + "py": "jgdq", + "code": "JGD" + }, { + "cityName": "佳木斯", + "pinyin": "jiamusi", + "py": "jms", + "code": "JMU" + }, { + "cityName": "嘉兴", + "pinyin": "jiaxing", + "py": "jx", + "code": "JXS" + }, { + "cityName": "嘉峪关", + "pinyin": "jiayuguan", + "py": "jyg", + "code": "JGN" + }, { + "cityName": "揭阳", + "pinyin": "jieyang", + "py": "jy", + "code": "SWA" + }, { + "cityName": "金昌", + "pinyin": "jinchang", + "py": "jc", + "code": "JIC" + }, { + "cityName": "锦州", + "pinyin": "jinzhou", + "py": "jz", + "code": "JNZ" + }, { + "cityName": "景德镇", + "pinyin": "jingdezhen", + "py": "jdz", + "code": "JDZ" + }, { + "cityName": "井冈山", + "pinyin": "jinggangshan", + "py": "jgs", + "code": "JGS" + }, { + "cityName": "九江", + "pinyin": "jiujiang", + "py": "jj", + "code": "JIU" + }, { + "cityName": "九寨沟", + "pinyin": "jiuzhaigou", + "py": "jzg", + "code": "JZH" + }, { + "cityName": "喀什", + "pinyin": "kashen", + "py": "ks", + "code": "KHG" + }, { + "cityName": "凯里", + "pinyin": "kaili", + "py": "kl", + "code": "KJH" + }, { + "cityName": "康定", + "pinyin": "kangding", + "py": "kd", + "code": "KGT" + }, { + "cityName": "克拉玛依", + "pinyin": "kelamayi", + "py": "klmy", + "code": "KRY" + }, { + "cityName": "库车", + "pinyin": "kuche", + "py": "kc", + "code": "KCA" + }, { + "cityName": "库尔勒", + "pinyin": "kuerle", + "py": "kel", + "code": "KRL" + }, { + "cityName": "昆明", + "pinyin": "kunming", + "py": "km", + "code": "KMG" + }, { + "cityName": "昆山", + "pinyin": "kunshan", + "py": "ks", + "code": "KVN" + }, { + "cityName": "连城", + "pinyin": "liancheng", + "py": "lc", + "code": "LCX" + }, { + "cityName": "临汾", + "pinyin": "linfen", + "py": "lf", + "code": "LFQ" + }, { + "cityName": "泸沽湖", + "pinyin": "luguhu", + "py": "lgh", + "code": "NLH" + }, { + "cityName": "拉萨", + "pinyin": "lasa", + "py": "ls", + "code": "LXA" + }, { + "cityName": "澜沧", + "pinyin": "lancang", + "py": "lc", + "code": "JMJ" + }, { + "cityName": "兰州", + "pinyin": "lanzhou", + "py": "lanzhou", + "code": "LHW" + }, { + "cityName": "丽江", + "pinyin": "lijiang", + "py": "lijiang", + "code": "LJG" + }, { + "cityName": "黎平", + "pinyin": "liping", + "py": "liping", + "code": "HZH" + }, { + "cityName": "连云港", + "pinyin": "lianyungang", + "py": "lyg", + "code": "LYG" + }, { + "cityName": "临沧", + "pinyin": "lincang", + "py": "lc", + "code": "LNJ" + }, { + "cityName": "临沂", + "pinyin": "linyi", + "py": "ly", + "code": "LYI" + }, { + "cityName": "林芝", + "pinyin": "linzhi", + "py": "lz", + "code": "LZY" + }, { + "cityName": "六盘水", + "pinyin": "liupanshui", + "py": "lps", + "code": "LPF" + }, { + "cityName": "柳州", + "pinyin": "liuzhou", + "py": "lz", + "code": "LZH" + }, { + "cityName": "陇南", + "pinyin": "longnan", + "py": "ln", + "code": "LNL" + }, { + "cityName": "泸州", + "pinyin": "luzhou", + "py": "lz", + "code": "LZO" + }, { + "cityName": "洛阳", + "pinyin": "luoyang", + "py": "ly", + "code": "LYA" + }, { + "cityName": "吕梁", + "pinyin": "lvliang", + "py": "ll", + "code": "LLV" + }, { + "cityName": "茅台", + "pinyin": "maotai", + "py": "mt", + "code": "WMT" + }, { + "cityName": "满洲里", + "pinyin": "manzhouli", + "py": "mzl", + "code": "NZH" + }, { + "cityName": "芒市", + "pinyin": "mangshi", + "py": "ms", + "code": "LUM" + }, { + "cityName": "绵阳", + "pinyin": "mianyang", + "py": "my", + "code": "MIG" + }, { + "cityName": "漠河", + "pinyin": "mohe", + "py": "mh", + "code": "OHE" + }, { + "cityName": "牡丹江", + "pinyin": "mudanjiang", + "py": "mdj", + "code": "MDG" + }, { + "cityName": "南昌", + "pinyin": "nanchang", + "py": "nc", + "code": "KHN" + }, { + "cityName": "南充", + "pinyin": "nanchong", + "py": "nc", + "code": "NAO" + }, { + "cityName": "南京", + "pinyin": "nanjing", + "py": "nj", + "code": "NKG" + }, { + "cityName": "南宁", + "pinyin": "nanning", + "py": "nn", + "code": "NNG" + }, { + "cityName": "南通", + "pinyin": "nantong", + "py": "nt", + "code": "NTG" + }, { + "cityName": "南阳", + "pinyin": "nanyang", + "py": "ny", + "code": "NNY" + }, { + "cityName": "宁波", + "pinyin": "ningbo", + "py": "nb", + "code": "NGB" + }, { + "cityName": "攀枝花", + "pinyin": "panzhihua", + "py": "pzh", + "code": "PZI" + }, { + "cityName": "祁连县", + "pinyin": "qilianxian", + "py": "qlx", + "code": "HBQ" + }, { + "cityName": "齐齐哈尔", + "pinyin": "qiqihaer", + "py": "qqhe", + "code": "NDG" + }, { + "cityName": "黔江", + "pinyin": "qianjiang", + "py": "qj", + "code": "JIQ" + }, { + "cityName": "秦皇岛", + "pinyin": "qinhuadao ", + "py": "qhd ", + "code": "BPE" + }, { + "cityName": "青岛", + "pinyin": "qingdao", + "py": "qd", + "code": "TAO" + }, { + "cityName": "庆阳", + "pinyin": "qy", + "py": "QingYang", + "code": "IQN" + }, { + "cityName": "琼海", + "pinyin": "qionghai", + "py": "qh", + "code": "BAR" + }, { + "cityName": "衢州", + "pinyin": "quzhou", + "py": "qz", + "code": "JUZ" + }, { + "cityName": "泉州", + "pinyin": "quanzhou", + "py": "qz", + "code": "JJN" + }, { + "cityName": "日喀则", + "pinyin": "rikaze", + "py": "rkz", + "code": "RKZ" + }, { + "cityName": "日照", + "pinyin": "rizhao", + "py": "rz", + "code": "RIZ" + }, { + "cityName": "三明", + "pinyin": "sanming", + "py": "sm", + "code": "SQJ" + }, { + "cityName": "松原", + "pinyin": "songyuan", + "py": "sy", + "code": "YSQ" + }, { + "cityName": "上海", + "pinyin": "shanghai", + "py": "sh", + "code": "SHA" + }, { + "cityName": "上海浦东", + "pinyin": "shanghaipudong", + "py": "shpd", + "code": "PVG" + }, { + "cityName": "上饶", + "pinyin": "shangrao", + "py": "sr", + "code": "SQD" + }, { + "cityName": "邵阳", + "pinyin": "shaoyang", + "py": "sy", + "code": "WGN" + }, { + "cityName": "神农架", + "pinyin": "shennongjia", + "py": "snj", + "code": "HPG" + }, { + "cityName": "沈阳", + "pinyin": "shenyang", + "py": "sy", + "code": "SHE" + }, { + "cityName": "深圳", + "pinyin": "shenzhen", + "py": "ss", + "code": "SZX" + }, { + "cityName": "石河子", + "pinyin": "shihezi", + "py": "shz", + "code": "SHF" + }, { + "cityName": "石家庄", + "pinyin": "shijiazhuang", + "py": "sjz", + "code": "SJW" + }, { + "cityName": "十堰", + "pinyin": "shiyan", + "py": "sy", + "code": "WDS" + }, { + "cityName": "苏州", + "pinyin": "suzhou", + "py": "sz", + "code": "SZV" + }, { + "cityName": "太原", + "pinyin": "taiyuan", + "py": "ty", + "code": "TYN" + }, { + "cityName": "台州", + "pinyin": "taizhou", + "py": "tz", + "code": "HYN" + }, { + "cityName": "唐山", + "pinyin": "tangshan", + "py": "ts", + "code": "TVS" + }, { + "cityName": "腾冲", + "pinyin": "tengchong", + "py": "tc", + "code": "TCZ" + }, { + "cityName": "天津", + "pinyin": "tianjin", + "py": "tj", + "code": "TSN" + }, { + "cityName": "通化", + "pinyin": "tonghua", + "py": "th", + "code": "TNH" + }, { + "cityName": "通辽", + "pinyin": "tongliao", + "py": "tl", + "code": "TGO" + }, { + "cityName": "铜仁", + "pinyin": "tongren", + "py": "tr", + "code": "TEN" + }, { + "cityName": "桐乡", + "pinyin": "tongxiang", + "py": "tx", + "code": "TVX" + }, { + "cityName": "吐鲁番", + "pinyin": "tulufan", + "py": "tlf", + "code": "TLQ" + }, { + "cityName": "乌兰察布", + "pinyin": "wulanchabu", + "py": "wlcb", + "code": "UCB" + }, { + "cityName": "五台山", + "pinyin": "wutaishan", + "py": "wts", + "code": "WUT" + }, { + "cityName": "万州", + "pinyin": "wanzhou", + "py": "wz", + "code": "WXN" + }, { + "cityName": "威海", + "pinyin": "weihai", + "py": "wh", + "code": "WEH" + }, { + "cityName": "文山", + "pinyin": "wenshan", + "py": "ws", + "code": "WNH" + }, { + "cityName": "温州", + "pinyin": "wenzhou", + "py": "wz", + "code": "WNZ" + }, { + "cityName": "乌海", + "pinyin": "wuhai", + "py": "wh", + "code": "WUA" + }, { + "cityName": "武汉", + "pinyin": "whhan", + "py": "wh", + "code": "WUH" + }, { + "cityName": "乌兰浩特", + "pinyin": "wulanhaote", + "py": "wlht", + "code": "HLH" + }, { + "cityName": "乌鲁木齐", + "pinyin": "wulumuqi", + "py": "wlmq", + "code": "URC" + }, { + "cityName": "无锡", + "pinyin": "wuxi", + "py": "wx", + "code": "WUX" + }, { + "cityName": "武夷山", + "pinyin": "wuyishan", + "py": "wys", + "code": "WUS" + }, { + "cityName": "梧州", + "pinyin": "wuzhou", + "py": "wz", + "code": "WUZ" + }, { + "cityName": "西安", + "pinyin": "xian", + "py": "xa", + "code": "SIA" + }, { + "cityName": "西昌", + "pinyin": "xichang", + "py": "xc", + "code": "XIC" + }, { + "cityName": "锡林浩特", + "pinyin": "xilinhaote", + "py": "xlht", + "code": "XIL" + }, { + "cityName": "西宁", + "pinyin": "xining", + "py": "xn", + "code": "XNN" + }, { + "cityName": "西双版纳", + "pinyin": "xushuangbanna", + "py": "xsbn", + "code": "JHG" + }, { + "cityName": "厦门", + "pinyin": "xiamen", + "py": "xm", + "code": "XMN" + }, { + "cityName": "香格里拉", + "pinyin": "xianggelila", + "py": "xgll", + "code": "DIG" + }, { + "cityName": "襄阳", + "pinyin": "xiangyang", + "py": "xy", + "code": "XFN" + }, { + "cityName": "信阳市", + "pinyin": "xinyang", + "py": "xy", + "code": "XAI" + }, { + "cityName": "兴义", + "pinyin": "xingyi", + "py": "xy", + "code": "ACX" + }, { + "cityName": "徐州", + "pinyin": "xuzhou", + "py": "xz", + "code": "XUZ" + }, { + "cityName": "延安", + "pinyin": "yanan", + "py": "ya", + "code": "ENY" + }, { + "cityName": "盐城", + "pinyin": "yancheng", + "py": "yc", + "code": "YNZ" + }, { + "cityName": "延吉", + "pinyin": "yanji", + "py": "yj", + "code": "YNJ" + }, { + "cityName": "烟台", + "pinyin": "yantai", + "py": "yt", + "code": "YNT" + }, { + "cityName": "扬州", + "pinyin": "yangzhou", + "py": "yz", + "code": "YTY" + }, { + "cityName": "宜宾", + "pinyin": "yibin", + "py": "yb", + "code": "YBP" + }, { + "cityName": "宜昌", + "pinyin": "yichang", + "py": "yc", + "code": "YIH" + }, { + "cityName": "伊春", + "pinyin": "yichun", + "py": "yc", + "code": "LDS" + }, { + "cityName": "伊宁", + "pinyin": "yining", + "py": "yn", + "code": "YIN" + }, { + "cityName": "义乌", + "pinyin": "yiwu", + "py": "yw", + "code": "YIW" + }, { + "cityName": "银川", + "pinyin": "yinchuan", + "py": "yc", + "code": "INC" + }, { + "cityName": "营口", + "pinyin": "yingkou", + "py": "yk", + "code": "YKH" + }, { + "cityName": "永州", + "pinyin": "yongzhou", + "py": "yz", + "code": "LLF" + }, { + "cityName": "榆林", + "pinyin": "yulin", + "py": "yl", + "code": "UYN" + }, { + "cityName": "玉树", + "pinyin": "yushu", + "py": "ys", + "code": "YUS" + }, { + "cityName": "运城", + "pinyin": "yuncheng", + "py": "yc", + "code": "YCU" + }, { + "cityName": "湛江", + "pinyin": "zhanjiang", + "py": "zj", + "code": "ZHA" + }, { + "cityName": "张家界", + "pinyin": "zhangjiajie", + "py": "zjj", + "code": "DYG" + }, { + "cityName": "张家口", + "pinyin": "zhangjiakou", + "py": "zjk", + "code": "ZQZ" + }, { + "cityName": "张掖", + "pinyin": "zhangye", + "py": "zy", + "code": "YZY" + }, { + "cityName": "昭通", + "pinyin": "zhaotong", + "py": "zt", + "code": "ZAT" + }, { + "cityName": "镇江", + "pinyin": "zhenjiang", + "py": "zj", + "code": "ZUJ" + }, { + "cityName": "郑州", + "pinyin": "zhengzhou", + "py": "zz", + "code": "CGO" + }, { + "cityName": "中卫", + "pinyin": "zhongwei", + "py": "zw", + "code": "ZHY" + }, { + "cityName": "舟山", + "pinyin": "zhoushan", + "py": "zs", + "code": "HSN" + }, { + "cityName": "珠海", + "pinyin": "zhuhai", + "py": "zh", + "code": "ZUH" + }, { + "cityName": "遵义", + "pinyin": "zunyi", + "py": "zy", + "code": "ZYI" + }, { + "cityName": "大庆", + "pinyin": "daqing", + "py": "dq", + "code": "DQA" + }, { + "cityName": "普洱", + "pinyin": "puer", + "py": "pe", + "code": "SYM" + }, { + "cityName": "三亚", + "pinyin": "sanya", + "py": "sy", + "code": "SYX" + }], +}; diff --git a/pages/index/comp/city.vue b/pages/index/comp/city.vue new file mode 100644 index 0000000..2dc6317 --- /dev/null +++ b/pages/index/comp/city.vue @@ -0,0 +1,514 @@ + + + + + \ No newline at end of file diff --git a/pages/index/comp/hotCity.js b/pages/index/comp/hotCity.js new file mode 100644 index 0000000..9b8a049 --- /dev/null +++ b/pages/index/comp/hotCity.js @@ -0,0 +1,19 @@ + +let HotCity = [ + { + "py": "hzs", + "code": 330100, + "cityInitial": "H", + "cityName": "杭州市", + "pinYin": "hang zhou shi", + }, + { + "py": "lys", + "code": 410300, + "cityInitial": "L", + "cityName": "洛阳市", + "pinYin": "luo yang shi", + } +] + +export default HotCity diff --git a/pages/index/index.vue b/pages/index/index.vue index 0823278..b20acf8 100644 --- a/pages/index/index.vue +++ b/pages/index/index.vue @@ -1,35 +1,57 @@