挂载全局app 让api与小程序一致
Showing
6 changed files
with
42 additions
and
31 deletions
| 1 | import Vue from 'vue' | 1 | import Vue from 'vue' |
| 2 | import App from './App.vue' | 2 | import VueApp from './App.vue' |
| 3 | import router from './router' | 3 | import router from './router' |
| 4 | import store from './store' | 4 | import store from './store' |
| 5 | 5 | ||
| 6 | import api from '@/api/api' | ||
| 7 | import { | ||
| 8 | httpGet, | ||
| 9 | httpPost | ||
| 10 | } from '@/api/fetch-api.js' | ||
| 11 | |||
| 6 | // import Mock from './mock' | 12 | // import Mock from './mock' |
| 7 | // Mock.bootstrap(); | 13 | // Mock.bootstrap(); |
| 8 | 14 | ||
| ... | @@ -44,11 +50,21 @@ Vue.use(Swipe).use(SwipeItem) | ... | @@ -44,11 +50,21 @@ Vue.use(Swipe).use(SwipeItem) |
| 44 | .use(Button) | 50 | .use(Button) |
| 45 | .use(Toast); | 51 | .use(Toast); |
| 46 | 52 | ||
| 47 | new Vue({ | 53 | let app = new Vue({ |
| 48 | router, | 54 | router, |
| 49 | store, | 55 | store, |
| 50 | data: { | 56 | data: { |
| 51 | isInit: false, | 57 | isInit: false, |
| 52 | }, | 58 | }, |
| 53 | render: h => h(App) | ||
| 54 | }).$mount('#app') | ||
| ... | \ No newline at end of file | ... | \ No newline at end of file |
| 59 | render: h => h(VueApp) | ||
| 60 | }).$mount('#app') | ||
| 61 | |||
| 62 | // 挂载全局app | ||
| 63 | app.api = api; | ||
| 64 | app.get = httpGet; | ||
| 65 | app.post = httpPost; | ||
| 66 | app.router = router; | ||
| 67 | window.app = app; | ||
| 68 | |||
| 69 | // 原app节点请通过 document.getElementById('app') 获取 | ||
| 70 | // routes里的component组件需要以import方式引入,否则页面创建的时候,app还没挂载。 | ||
| ... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
| 1 | import api from '../../api/api' | ||
| 2 | import { | ||
| 3 | httpGet, | ||
| 4 | httpPost | ||
| 5 | } from '../../api/fetch-api.js' | ||
| 6 | |||
| 7 | export default { | 1 | export default { |
| 8 | data() { | 2 | data() { |
| 9 | return { | 3 | return { |
| ... | @@ -12,12 +6,12 @@ export default { | ... | @@ -12,12 +6,12 @@ export default { |
| 12 | }, | 6 | }, |
| 13 | components: {}, | 7 | components: {}, |
| 14 | methods: { | 8 | methods: { |
| 15 | initData() {}, | ||
| 16 | toLottery() { | 9 | toLottery() { |
| 17 | this.$router.push({ | 10 | app.router.push({ |
| 18 | path: "/lottery" | 11 | name: "lottery" |
| 19 | }) | 12 | }); |
| 20 | } | 13 | }, |
| 14 | initData() {}, | ||
| 21 | }, | 15 | }, |
| 22 | mounted() {}, | 16 | mounted() {}, |
| 23 | created() { | 17 | created() { | ... | ... |
| 1 | import api from '../../api/api' | ||
| 2 | import { | ||
| 3 | httpGet, | ||
| 4 | httpPost | ||
| 5 | } from '../../api/fetch-api.js' | ||
| 6 | |||
| 7 | export default { | 1 | export default { |
| 8 | data() { | 2 | data() { |
| 9 | return { | 3 | return { |
| ... | @@ -18,7 +12,18 @@ export default { | ... | @@ -18,7 +12,18 @@ export default { |
| 18 | path: "/" | 12 | path: "/" |
| 19 | }) | 13 | }) |
| 20 | }, | 14 | }, |
| 15 | async queryArea() { | ||
| 16 | let res = await app.post({ | ||
| 17 | url: app.api.areaQuery, | ||
| 18 | data: {}, | ||
| 19 | sid: false, | ||
| 20 | mode: "custom" | ||
| 21 | }); | ||
| 22 | console.log("地区查询:", res); | ||
| 23 | } | ||
| 24 | }, | ||
| 25 | mounted() { | ||
| 26 | this.queryArea(); | ||
| 21 | }, | 27 | }, |
| 22 | mounted() {}, | ||
| 23 | created() {} | 28 | created() {} |
| 24 | } | 29 | } |
| ... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
| 1 | import Vue from 'vue' | 1 | import Vue from 'vue' |
| 2 | import Router from 'vue-router' | 2 | import Router from 'vue-router' |
| 3 | import Index from './pages/index/index.vue' | ||
| 4 | 3 | ||
| 5 | Vue.use(Router) | 4 | Vue.use(Router) |
| 6 | 5 | ||
| 7 | const routes = [{ | 6 | const routes = [{ |
| 8 | path: '/', | 7 | path: '/', |
| 9 | name: 'index', | 8 | name: 'index', |
| 10 | component: Index, | 9 | component: () => import('./pages/index/index.vue'), |
| 11 | meta: { | 10 | meta: { |
| 12 | title: '' | 11 | title: '' |
| 13 | } | 12 | } | ... | ... |
-
Please register or sign in to post a comment