赞
踩
vue create 项目名
- 移动端安装vant-ui pc端安装element-ui
- # Vue 2 项目,安装 Vant 2:
- npm i vant@latest-v2 -S
- 安装axios
- npm install axios
- 安装vue-router
- npm install vue-router
- import Vue from 'vue'
- import App from './App.vue'
- import router from './router' //路由
- import store from './store' //vuex数据管理
- import Vant from 'vant' //vant插件
- import 'vant/lib/index.css' //vant的css
- import network from './request/linkImg.js' // 全局图片链接存放
- import * as axios from './request/api.js' //axios
-
- Vue.config.productionTip = false
- Vue.use(Vant) //实例化vant
- global.network = network //全局图片链接
- Vue.prototype.$axios = axios //axios
-
- new Vue({
- router,
- store,
- render: h => h(App)
- }).$mount('#app')
- import axios from 'axios' //导入axios
-
- // 创建axios实例
- const service = axios.create({
- baseURL:'https://', //全局调用axios时的api接口
- timeout: 20000 //请求超时时间 毫秒单位
- })
-
- // 请求拦截器
- service.interceptors.request.use(config =>{
- // 请求前获取data信息
- if (!config.data) {
- config.data = {} //定义config.data
- }
-
- //获取登录时存储在本地缓存的用户token数据
- let token = localStorage.getItem('token')
-
- if (token) {
- config.headers.token = token //全局携带token请求数据接口
- }
-
- return config
- })
-
- export default service
- import axios from 'axios'
- import {
- Notify
- } from 'vant'
-
- // 创建axios实例
- const service = axios.create({
- baseURL: 'https://o56p275976.imdo.co/api', // api的base_url
- // withCredentials: true, // 跨域请求时是否发送cookies
- timeout: 20000 // 请求超时设置
- })
-
- // 请求拦截器
- service.interceptors.request.use(config => {
- // 请求前做点什么?
- if (!config.data) {
- config.data = {}
- }
-
- let token = localStorage.getItem('token') // 全局请求自动携带token
- if (token) {
- config.headers.token = token
- }
- return config
- }, error => {
- // 处理请求错误
- // console.log(error) // 用于调试
- return Promise.reject(error)
- })
-
- // 响应拦截器
- service.interceptors.response.use(response => {
- if (response.data && response.data.errno === 203) {
- Notify.error('您没有登录或登录已失效,请重新登录!')
- }
- if (response.data && response.data.errno === 202) {
- Notify.error('您没有登录或登录已失效,请重新登录!')
- }
- return response
- }, error => {
- if (error.message.includes('timeout')) {
- Notify({
- type: 'danger',
- message: '请求超时,请稍后再试'
- });
- return Promise.reject(error)
- }
- Notify({
- type: 'danger',
- message: '网络连接失败,请稍后再试'
- });
- return Promise.reject(error)
- })
-
- export default service
- import axios from '@/request/axios' // 引入封装好的axios文件(拦截器)
-
-
- //所有页面的接口请求都在这里写, 示例:this.$axios.接口请求方法名().then(res=>{})
- // 接口请求 get的请求带参数用params,不用携带参数的请求就不用写
- export function webConfigure(params) {
- return request({
- url: 'index/get_site_config',
- method: 'get'
- params
- })
- }
-
- // post的请求带参数用data,不用携带参数的请求就不用写
- export function filesUpload(data) {
- return request({
- url: 'Ajax/upload',
- method: 'post',
- data
- })
- }
- //link.js文件
- //配置全局图片接口域名
- const network = 'https://o56p275976.imdo.co'
- //全局图片链接
- export default {
- imgUrl:network,
- }
-
- //页面中调用图片渲染链接
- //url: network.imgUrl
-
-
- // min.js中配置
- import network from './request/linkImg.js' // 全局图片链接存放
- global.network = network
- //登录页面请求示例 登录成功后保存token到本地缓存
-
- //用户点击登录提交密码 userLogin()为接口请求方法名
- this.$axios.userLogin({
- username:this.username,
- password:this.password
- }).then(res=>{
- if (res.data.errno == 605){
- //登录失败 账号或密码错误
- this.$toast(res.data.errmsg)
- }else if(res.data.errno == 0){
- //登录成功保存用户token
- let token = res.data.data.token
- //保存token到本地缓存
- window.localStorage.setItem('token',token);
- // 登录成功后跳转到首页
- this.$router.push('/index')
- }
- })
-
- 到这里vue2的基本使用已经结束了。
- 下面是一些常用到的方法。
1.问号判断语句(三目运算符)
条件 == '1' ? 'true' : 'false'
问号前为判断条件,问号后为执行条件的结果
判断结果为真显示true
判断结果为假显示false
2.for循环set写入数组新字段
- for (let i = 0; i < this.collectionlist.length; i++) {
- this.$set(this.collectionlist[i],'ischeck',false)
- this.$set(this.collectionlist[i],'isClick',0)
- this.$set(this.collectionlist[i],'isClick1',1)
- this.$set(this.collectionlist[i],'clickNum',1)
- this.$set(this.collectionlist[i],'collect_number',1)
- }
3.for循环分页(全部页面读取)
- //分页总页数
- this.last_page = res.data.data.last_page
- //循环分页数量,循环次数为是否请求到了最后一页
- for(let p = 1;p < this.last_page;p++){
- //循环一次增加一页
- this.page++
- //请求下一页内容
- this.$axios.get_wrong_answer({res_id:this.$route.query.res_id,page:this.page}).then(res=>{
- //下一页数据的内容
- this.NewPaperList = res.data.data.data
- //循环拆解数组中的内容
- for (let i = 0;i < this.NewPaperList.length;i++){
- //将新数组的内容添加到上一页数据内容的末尾
- this.paperList.push(this.NewPaperList[i])
- }
- //错题总数
- this.tipsNumber = this.paperList.length
- }).catch(err=>{
- console.log(err)
- });
- }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。