#独家
uniapp封装的request方法,GET请求一直携带token?

2023-05-31 0 3,872
const url = {
    web_url: 'http://127.0.0.1:8000',
}
import $store from '@/store/index.js'
export default {
    // 设置公共参数
    common: {
        method: 'GET',
        // 请求头
        header: {
            'content-type': 'application/json'
        },
        // 请求数据
        data: {}
    },

    // 设置通用请求
    request(options = {}) {
        // 请求地址
        options.url = `${url.web_url}${options.url}`
        // 默认请求方法
        options.method = options.method || this.common.method
        // 设置请求头
        options.header = options.header || this.common.header

        // 使用tong请求
        if(options.token){
            options.header.authorization = `Bearer ${$store.state.userToken}`
            if(!options.header.authorization){
                return uni.showToast({
                    title: '您还未登录,请先登录',
                    icon: 'none'
                })
            }
        }


        // 设置请求
        return new Promise((resolve, reject) => {
            return uni.request({
                ...options,
                // 请求成功
                success: (res) => {
                    // 请求成功返回数据
                    return resolve(res)
                },
                fail: (err) => {
                    uni.showToast({
                        title:'请求失败',
                        icon:'none'
                    })
                    // 停止下拉刷新
                    uni.stopPullDownRefresh()
                    return reject(err)
                }
            })
        })
    },

    // 封装get 请求
    get(url, data = {}, options = {}) {
        options.url = url
        options.data = data
        options.method = 'GET'
        return this.request(options)
    },
    // 封装post请求
    post(url, data = {}, options = {}) {
        options.url = url
        options.data = data
        options.method = 'POST'
        return this.request(options)
    }
}

使用GET请求例如:

get('/user/', {}, {token: true}).then(res => {}).catch(err => {})

只要有一个get请求参数为:token:true, 后面的所有请求都会自动带上authorization和令牌访问,这是怎么回事?

即使传参不带token,请求链接上也会带上authorization和令牌访问,这是哪里出问题了吗?

get('/goods/').then(res => {}).catch(err => {})

所以是第一个打印的是 undefined,之后打印的都是有值的吗?你得确定一下。然后看下是是否是调用请求的时候,定义的 options 有问题,是一个公共变量了,而不是函数内变量。得确定一下变量的作用域。你现在的代码里面并没有展示上下文内容。

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

1. JK下载官网所有资源来源于开发团队,加入会员即可下载使用!如有问题请联系右下角在线客服!
2. JK下载官方保障所有软件都通过人工亲测,为每位会员用户提供安全可靠的应用软件、游戏资源下载及程序开发服务。
3. JK开发团队针对会员诉求,历经多年拥有现今开发成果, 每款应用程序上线前都经过人工测试无误后提供安装使用,只为会员提供安全原创的应用。
4. PC/移动端应用下载后如遇安装使用问题请联系右下角在线客服或提交工单,一对一指导解决疑难。

JK软件下载官网 技术分享 uniapp封装的request方法,GET请求一直携带token? https://www.jkxiazai.com/1762.html

JK软件应用商店是经过官方安全认证,保障正版软件平台

相关资源

官方客服团队

为您解决烦忧 - 24小时在线 专业服务