123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289 |
- let Promises = Promise
- import url from "@/util/url";
- let {
- host
- } = url
- Promises.prototype.finally = function(callback) {
- let P = this.constructor
- return this.then(
- value => P.resolve(callback()).then(() => value),
- reason => P.resolve(callback()).then(() => {
- throw reason
- }))
- }
- class Https {
- request(url, method, data, loading) {
- var loading = loading || false
- if (!loading) {
- uni.showLoading({
- title: '加载中'
- })
- }
- var token = uni.getStorageSync('token')
- // var token = "df057579-73c8-4bdd-8312-f64db8efd699"
- return new Promises((resolve, reject) => {
- uni.request({
- // // #ifdef H5
- // url:'/apid'+url,
- // // #endif
- url: host + '/' + url, //
- method: method,
- data: data,
- header: {
- // application/json
- 'content-type': 'application/json', // 默认值
- 'Authorization': token || ''
- },
- success: function(res) {
- // console.log(res.data.code,98765)
- if (!loading) {
- uni.hideLoading()
- }
- if (res.statusCode == 401) {
- uni.navigateTo({
- url: '/pages/load/roles'
- })
- } else if (res.data.code == '00040000') {
- uni.showToast({
- title: res.data.message,
- duration: 1000,
- icon: 'none'
- });
- } else if (res.code == 1002) {
- uni.navigateTo({
- url: '/pages/load/roles'
- })
- } else if (res.data.code == 1002) {
- uni.navigateTo({
- url: '/pages/load/roles'
- })
- } else if (res.data.code == 401) {
- uni.clearStorage()
- uni.navigateTo({
- url: '/pages/login/login'
- })
- } else if (res.code == 401) {
- uni.navigateTo({
- url: '/pages/load/roles'
- })
- } else {
- resolve(res.data)
- }
- },
- fail: function(error) {
- uni.hideLoading()
- reject(error)
- }
- })
- })
- }
- // 下载二进制流
- downfile(url, method, data, loading) {
- var loading = loading || false
- if (!loading) {
- uni.showLoading({
- title: '加载中'
- })
- }
- var token = uni.getStorageSync('token')
- // var token = "df057579-73c8-4bdd-8312-f64db8efd699"
- return new Promises((resolve, reject) => {
- uni.request({
- url: host + '/' + url, //
- method: method,
- data: data,
- responseType: 'arrayBuffer',
- header: {
- // application/json
- 'content-type': 'application/json', // 默认值
- 'Authorization': token || '',
- },
- success: function(res) {
- // console.log(res, 88)
- // console.log(res.data.code,98765)
- if (!loading) {
- uni.hideLoading()
- }
- if (res.statusCode == 401) {
- uni.navigateTo({
- url: '/pages/load/roles'
- })
- } else if (res.data.code == '00040000') {
- uni.showToast({
- title: res.data.message,
- duration: 1000,
- icon: 'none'
- });
- } else if (res.code == 1002) {
- uni.navigateTo({
- url: '/pages/load/roles'
- })
- } else if (res.data.code == 1002) {
- uni.navigateTo({
- url: '/pages/load/roles'
- })
- } else if (res.data.code == 401) {
- uni.clearStorage()
- uni.navigateTo({
- url: '/pages/login/login'
- })
- } else if (res.code == 401) {
- uni.navigateTo({
- url: '/pages/load/roles'
- })
- } else {
- resolve(res.data)
- }
- },
- fail: function(error) {
- uni.hideLoading()
- reject(error)
- }
- })
- })
- }
- // 下载
- dowmload(data, fileName) {
- var fileManager = wx.getFileSystemManager();
- // 文件存储到本地的路径
- // var FilePath = wx.env.USER_DATA_PATH + "/" + new Date().getTime() + ".xlsx";
- var FilePath = wx.env.USER_DATA_PATH + "/" + fileName + ".xlsx";
- fileManager.writeFile({
- data: data, // 从后台获取的二进制流
- filePath: FilePath,
- encoding: "binary", //编码方式
- success: result => {
- // 读文件
- uni.openDocument({ //我这里成功之后直接打开
- filePath: FilePath,
- showMenu: true,
- fileType: 'xlsx',
- success: result => {
- console.log("打开文档成功");
- },
- fail: err => {
- console.log("打开文档失败", err);
- }
- });
- // 获取后缀
- // let fileT = FilePath.substring(FilePath.lastIndexOf(".") + 1, FilePath.length);
- // if (fileT == 'png' || fileT == 'jpg') {
- // uni.previewImage({
- // urls: [FilePath],
- // current: FilePath,
- // success: () => {},
- // fail: () => {
- // console.log('图片预览失败')
- // },
- // });
- // } else {
- // // 读文件
- // uni.openDocument({
- // filePath: FilePath,
- // showMenu: true,
- // fileType: 'xlsx',
- // success: result => {
- // console.log("打开文档成功");
- // },
- // fail: err => {
- // console.log("打开文档失败", err);
- // }
- // });
- // }
- },
- fail: err => {
- console.log('失败', err);
- }
- })
- }
- upLoad(params) {
- console.log(params)
- var token = uni.getStorageSync('token')
- let urls = ''
- return new Promises((resolve, reject) => {
- console.log(params.data)
- uni.uploadFile({
- url: url + '/common/upload',
- filePath: params.path,
- data: params,
- header: {
- 'content-type': 'multipart/form-data',
- 'Authorization': token
- },
- formData: {
- 'token': token
- },
- name: params.name || 'file',
- success: function(res) {
- console.log(res.data, 9875)
- urls = JSON.parse(res.data);
- let urliu = urls.url
- console.log(urliu)
- let url = urls.url
- resolve(url)
- },
- fail: function(error) {
- reject(error)
- }
- })
- })
- }
- upDown(params) {
- console.log(params)
- var token = uni.getStorageSync('token')
- return new Promises((resolve, reject) => {
- uni.uploadFile({
- url: host + '/common/download', //
- header: {
- 'Authorization': token
- },
- filePath: params.path,
- name: params.name || 'img',
- success: function(res) {
- console.log(res, 4)
- resolve(res.data)
- },
- fail: function(error) {
- reject(error)
- }
- })
- })
- }
- get(url, data) {
- return this.request(url, 'GET', data)
- }
- dele(url, data) {
- return this.request(url, 'delete', data)
- }
- post(url, data, loading) {
- return this.request(url, 'POST', data, loading)
- }
- put(url, data) {
- return this.request(url, 'put', data)
- }
- uniApi(params, data) {
- return new Promises((resolve, reject) => {
- params.events({
- ...data,
- success(res) {
- resolve(res)
- },
- fail(err) {
- reject(err)
- }
- })
- })
- }
- }
- const https = new Https()
- export default https
|