33 lines
		
	
	
		
			922 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			33 lines
		
	
	
		
			922 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
import request from './request'
 | 
						|
 | 
						|
export default function (config) {
 | 
						|
	return new Promise((resolve, reject) => {
 | 
						|
		const refreshToken = uni.getStorageSync('refreshToken')
 | 
						|
		request.post("/Token/Gen", { RefreshToken: refreshToken, grant_type: 2 }, false)
 | 
						|
			.then(tokenResult => {
 | 
						|
				if (tokenResult && !tokenResult.error) {
 | 
						|
					const { access_token: new_access_token, refreshToken: newRefreshToken } = tokenResult
 | 
						|
					uni.setStorageSync('accessToken', new_access_token)
 | 
						|
					uni.setStorageSync('refreshToken', newRefreshToken)
 | 
						|
					return true
 | 
						|
				}
 | 
						|
			})
 | 
						|
			.then(r => {
 | 
						|
				if (r) {
 | 
						|
					config.header.Authorization = "Bearer " + uni.getStorageSync('accessToken')
 | 
						|
					uni.request(config).then((res, err) => {
 | 
						|
						if (res.statusCode !== 200) {
 | 
						|
							uni.showToast({
 | 
						|
								title: '请求错误: ' + res.statusCode,
 | 
						|
								icon: 'error'
 | 
						|
							})
 | 
						|
							return
 | 
						|
						}
 | 
						|
 | 
						|
						resolve(res)
 | 
						|
					})
 | 
						|
				}
 | 
						|
			})
 | 
						|
	})
 | 
						|
}
 |