123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124 |
- import { getToken } from '@/utils/auth'
- import config from '@/config'
- const baseUrl = config.baseUrl
- //上传文件还是选择相册图片
- const getWxFile = (type,fileNum) => {
- return new Promise((resolve, reject) => {
- //文件上传
- if (type === 'file') {
- wx.chooseMessageFile({
- count: fileNum || 1,
- type: 'file',
- success: (res) => {
- resolve(res)
- },
- fail(error) {
- console.log(' 上传失败', error);
- uni.showToast({
- title: '上传失败',
- icon: 'none'
- })
- reject(error)
- }
- });
- }
- //相册或者摄像头
- if (type === 'img') {
- wx.chooseImage({
- count: 1, // 选择图片数量
- sizeType: ['original', 'compressed'], // 图片类型
- sourceType: ['album', 'camera'], // 来源(相册或摄像头)
- success: function (res) {
- resolve(res)
- },
- fail(error) {
- console.log(' 上传失败', error);
- uni.showToast({
- title: '上传失败',
- icon: 'none'
- })
- reject(error)
- }
- });
- }
- })
- }
- const getUploadPromise = (file) => {
- return new Promise((resolve, reject) => {
- const path = file.path
- wx.uploadFile({
- url: baseUrl + '/common/upload', // 服务器接口地址
- filePath: path, // 本地文件路径(通过 wx.chooseImage 获取)
- name: 'file', // 文件对应的 key(服务器接收字段名)
- formData: { // 额外表单数据
- file: file,
- },
- header: {
- 'Authorization': 'Bearer ' + getToken(), // 自定义请求头
- },
- success(res) {
- const data = JSON.parse(res.data);
- resolve(data);
- },
- fail(error) {
- console.log(' 上传失败', error);
- uni.showToast({
- title: '上传失败',
- icon: 'none'
- })
- reject(error)
- }
- });
- })
- }
- const uploadFile = async (files) => {
- const filesPromise = files.map((item) => {
- return getUploadPromise(item)
- })
- try {
- const results = await Promise.all(filesPromise)
- console.log('results',results);
-
- return results;
- } catch (error) {
- console.log('上传失败-uploadFile', error);
- throw error;
- }
- }
- /**
- *
- * type: 文件上传方式
- * file:选择文件
- * img: 相册或者摄像头
- */
- export const wxUploadFile = async (type,fileNum) => {
- try {
- console.log('11');
-
- //选择文件
- const files = await getWxFile(type,fileNum);
- console.log('选择文件', files,files.tempFiles);
- //上传服务器
- const u_files = await uploadFile(files.tempFiles);
- console.log('上传服务器', u_files);
- return u_files;
- } catch (error) {
- console.log('上传失败-wxUploadFile', error);
- throw error;
- }
- }
- /**
- * 拨打电话
- */
- export const wxMakePhoneCall = (phoneNumber) => {
- uni.makePhoneCall({
- phoneNumber: phoneNumber
- });
- }
|