123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181 |
- import store from '@/store'
- import config from '@/config'
- import { getToken } from '@/utils/auth'
- import errorCode from '@/utils/errorCode'
- let timeout = 10000
- const baseUrl = config.baseUrl
- const clientid = config.Clientid
- /**
- * 显示消息提示框
- * @param content 提示的标题
- */
- export function toast(content) {
- uni.showToast({
- icon: 'none',
- title: content
- })
- }
- /**
- * 显示模态弹窗
- * @param content 提示的标题
- */
- export function showConfirm(content) {
- return new Promise((resolve, reject) => {
- uni.showModal({
- title: '提示',
- content: content,
- cancelText: '取消',
- confirmText: '确定',
- success: function(res) {
- resolve(res)
- }
- })
- })
- }
- // 字典值匹配
- export function selectDictValue(datas, value) {
- var actions = [];
- Object.keys(datas).some((key) => {
- if (datas[key].dictValue == ('' + value)) {
- actions.push(datas[key].dictLabel);
- return true;
- }
- })
- return actions.join('');
- }
- export function selectValueKey(datas, value) {
- var actions = [];
- var idx=0;
- Object.keys(datas).some((key) => {
- if (datas[key].value == ('' + value)) {
- idx=key;
- actions.push(datas[key].label);
- return true;
- }
- })
- var newObj={
- actions:actions.join(''),
- key:idx
- }
- return newObj
- }
- export function selectValue(datas, value) {
- var actions = [];
- var idx=0;
- Object.keys(datas).some((key) => {
- if (datas[key].value == ('' + value)) {
- actions.push(datas[key].label);
- return true;
- }
- })
- return actions.join('')
- }
- export function selectValuetext(datas, value) {
- var actions = [];
- var idx=0;
- Object.keys(datas).some((key) => {
- if (datas[key].value == ('' + value)) {
- actions.push(datas[key].text);
- return true;
- }
- })
- return actions.join('')
- }
- //上传图片
- export function uploadmore(api, filePaths, successUp, failUp, i, length, files, callback) {
- const isToken = (config.headers || {}).isToken === false
- config.header = config.header || {}
- if (getToken() && !isToken) {
- config.header['Authorization'] = 'Bearer ' + getToken();
- config.header['clientid']=clientid;
- }
- // get请求映射params参数
- if (config.params) {
- let url = config.url + '?' + tansParams(config.params)
- url = url.slice(0, -1)
- config.url = url
- }
-
- uni.showLoading({
- title: '上传中'
- })
- var failfile = [];
- uni.uploadFile({
- timeout: config.timeout || timeout,
- url: baseUrl + api, //仅为示例,非真实的接口地址
- filePath: filePaths[i],
- name: 'file',
- header: config.header,
- formData: config.formData,
- success: function(resp) {
- uni.hideLoading();
- let result = JSON.parse(resp.data)
- const code = result.code || 200
- const msg = errorCode[code] || result.msg || errorCode['default']
- // console.log(result.fileName,8)
- if (result.code == 200) {
- successUp++;
- files[i] = result.fileName;
- } else if(result.code==401) {
- showConfirm("登录状态已过期,您可以继续留在该页面,或者重新登录?").then(res => {
- if (res.confirm) {
- store.dispatch('LogOut').then(res => {
- uni.reLaunch({ url: '/pages/login/login' })
- })
- }
- })
- callback('无效的会话,或者会话已过期,请重新登录。');
- }else{
- failfile = failfile.concat(filePaths[i])
- failUp++;
- }
- },
- fail: function(res) {
- uni.hideLoading();
- failfile = failfile.concat(filePaths[i])
- failUp++;
- },
- complete: function(rsp) {
- // console.log(rsp, filePaths[i])
- uni.hideLoading();
- i++;
- if (i == length) {
- // uni.showToast({
- // title: '总共' + successUp + '张上传成功,' + failUp + '张上传失败!',
- // icon: 'none',
- // duration: 2000
- // });
- callback(files);
- } else { //递归调用upload函数
- uploadmore(api, filePaths, successUp, failUp, i, length, files, callback);
- }
- }
- });
- }
- /**
- * 参数处理
- * @param params 参数
- */
- export function tansParams(params) {
- let result = ''
- for (const propName of Object.keys(params)) {
- const value = params[propName]
- var part = encodeURIComponent(propName) + "="
- if (value !== null && value !== "" && typeof (value) !== "undefined") {
- if (typeof value === 'object') {
- for (const key of Object.keys(value)) {
- if (value[key] !== null && value[key] !== "" && typeof (value[key]) !== 'undefined') {
- let params = propName + '[' + key + ']'
- var subPart = encodeURIComponent(params) + "="
- result += subPart + encodeURIComponent(value[key]) + "&"
- }
- }
- } else {
- result += part + encodeURIComponent(value) + "&"
- }
- }
- }
- return result
- }
|