首次完整推送,

V:1.20240808.006
This commit is contained in:
fm453
2024-08-13 18:32:37 +08:00
parent 15be3e9373
commit c62d15b288
939 changed files with 111777 additions and 0 deletions

13
apis/ctms/_utils/auth.js Normal file
View File

@ -0,0 +1,13 @@
const TokenKey = 'CTMS-CLIENT-Token'
export function getToken() {
return uni.getStorageSync(TokenKey)
}
export function setToken(token) {
return uni.setStorageSync(TokenKey, token)
}
export function removeToken() {
return uni.removeStorageSync(TokenKey)
}

View File

@ -0,0 +1,55 @@
//缓存变量的键名
const constant = {
storageKey: 'ctmsClientStore', //缓存键名,必须有
user: 'userinfo', //用户信息
orderBookForm: {
'prefix': 'OrderBookDraft'
}, //运单询价草稿
orderBookSearch: "OrderBookSearch", //询价订单查询表单
orderBookList: {
'prefix': "OrderBookList"
}, //询价缓存,
orderBookDetail: {
'prefix': "OrderBookDetail"
}, //询价单详情拼接oid订单ID参数
orderCreateForm: {
'prefix': 'OrderCreateDraft'
}, //运单创建草稿
orderSearchS: 'OrderSearchSimple', //简单运单查询表单
orderSearchA: "OrderSearchAll", //完整运单查询表单
orderList: {
'prefix': "OrderList"
}, //运单缓存,根据页面情况拼接参数;重新查询时应及时更新
orderDetail: {
'prefix': "OrderDetail"
}, //运单详情拼接oid订单ID参数
orderCheck: {
'prefix': "OrderCheckInfo"
}, //运单详情拼接oid订单ID参数
noticeList: {
'prefix': "NoticeList"
},
noticeDetail: {
'prefix': "NoticeDetail"
},
newsList: {
'prefix': "NewsList"
},
newsDetail: {
'prefix': "NewsDetail"
},
newsReading: "NewsReading",
newsLiked: "NewsLiked",
newsViewed: "NewsViewed",
userLoginForm: "fansLoginForm",
userRegForm: "fansRegForm",
splashShowed: "splashShowed" //已显示过开屏页
}
export default constant

View File

@ -0,0 +1,10 @@
{
"0": "没有符合条件的数据",
"100": "",
"101": "",
"401": "认证失败,无法访问系统资源",
"403": "当前操作没有权限",
"404": "访问资源不存在",
"500": "网络服务出错",
"default": "系统未知错误,请反馈给管理员"
}

113
apis/ctms/_utils/request.js Normal file
View File

@ -0,0 +1,113 @@
import store from '@/store'
import config from '@/config/ctms.config.js'
import {
getToken
} from './auth.js'
import errorCode from './errorCode.json'
import utils from '@/utils/common.js'
const tansParams = utils.tansParams;
const timeout = 10000
const loginPage = config.loginPage
const request = function(param) {
utils.debug(param);
//url每次request请求都需要重新组织
let url = config.apiUrl;
url = url + config.url_entry + param.url + '.' + config.url_suffix;
if (param.force_url) {
url = param.force_url;
}
// get请求映射params参数
if (param.params) {
url = url + '?' + tansParams(param.params)
url = url.slice(0, -1)
}
// 是否需要设置 token
const isToken = (param.headers || {}).isToken === false
config.header = param.headers || {} //TODO,未成功使用
if (getToken() && !isToken) {
config.header['Authorization'] = 'hi-ctms-client ' + getToken()
}
let postdata = param.data || {};
postdata.pid = config.pid || 0;
var user = store.state.user;
postdata.uid = user.info.id || 0;
return new Promise((resolve, reject) => {
uni.request({
method: param.method || 'GET',
timeout: param.timeout || timeout,
url: url,
data: postdata,
header: config.header,
dataType: param.dataType || 'json',
success: function(res) {
// utils.debug(res);
if (res.statusCode === 200) {
//请求成功
const code = res.data.code || 0
//只有0200这两种状态码可以返回数据以便下一步操作其他状态码无法进入到下一步
const msg = res.data.msg || errorCode[code] || errorCode['default']
switch (code) {
default:
resolve(false);
if (getApp().globalData.config.isDebug) {
reject(msg) //调试台显示错误提示
}
break;
case 401:
utils.showConfirm('登录状态已过期,您可以继续留在该页面,或者重新登录').then(res => {
if (res.confirm) {
store.dispatch('LogOut').then(res => {
uni.reLaunch({
url: loginPage
})
})
}
})
reject('无效的会话,或者会话已过期,请重新登录。')
break;
case 100:
case 101:
resolve(false);
uni.showToast({
title: msg,
icon: "error"
});
break;
case 0:
case 200:
resolve(res.data) //返回的只是数据
break;
}
} else if (res.statusCode === 500) {
reject('500')
} else {
reject(res.statusCode)
}
},
fail: (error) => {
let {
errMsg
} = error, message = ""
if (errMsg == 'request:fail') {
message = '云端连接异常'
} else if (errMsg == 'Network Error') {
message = '后端接口连接异常'
} else if (errMsg.includes('timeout')) {
message = '系统接口请求超时'
} else if (errMsg.includes('Request failed with status code')) {
message = '系统接口' + message.substr(message.length - 3) + '异常'
}
reject(message)
}
})
})
}
export default request

View File

@ -0,0 +1,95 @@
import constant from './constant'
// 存储变量名前缀
let storageKey = constant.storageKey;
const storage = {
init: function(key) {
if (key === storageKey) {
return false;
}
if (typeof key === 'string') {
return key;
} else if (typeof key === 'object') {
return key['prefix'];
}
},
set: function(key, value, params = null) {
var _key = this.init(key);
// console.log('比较两个KEY', key, _key)
if (!_key) {
return;
}
let tmp = uni.getStorageSync(storageKey)
tmp = tmp ? tmp : {}
if (_key === key) {
tmp[key] = value;
} else {
tmp[_key] = tmp[_key] || {};
if (params === null || params === 'undefined') {
//不加params参数则将该项原有数据全部抹除后写入新value作为对象唯一的一个值
//只有在明确设置了为null 或者 undifined才是
//注意已知问题参数object的键名不允许是负数
tmp[_key] = {
0: value
};
} else {
//添加参数,则为指定覆盖方式,对其他项不产生影响
tmp[_key][params] = value;
}
}
uni.setStorageSync(storageKey, tmp)
},
get: function(key, params = null) {
var _key = this.init(key);
if (!_key) {
return false;
}
let tmp = uni.getStorageSync(storageKey)
tmp = tmp ? tmp : {}
if (_key === key) {
return tmp[key] || "";
} else {
return (tmp[_key] ? (tmp[_key][params] || "") : "");
}
},
all: function(key) {
//获取指定键的全部缓存
var _key = this.init(key);
if (!_key) {
return false;
}
let tmp = uni.getStorageSync(storageKey)
tmp = tmp ? tmp : {}
if (_key === key) {
return tmp[key] || "";
} else {
return tmp[_key] || [];
}
},
remove: function(key, params = null) {
var _key = this.init(key);
if (!_key) {
return;
}
let tmp = uni.getStorageSync(storageKey)
tmp = tmp ? tmp : {}
if (_key === key) {
delete tmp[key];
} else {
delete tmp[_key][params];
}
uni.setStorageSync(storageKey, tmp)
},
clean: function() {
uni.removeStorageSync(storageKey)
},
info: function() {
//返回当前缓存情况 https://uniapp.dcloud.net.cn/api/storage/storage.html#getstorageinfo
//currentSize 当前占用空间 kb; keys所有缓存键key
return uni.getStorageInfoSync(); //只能获取全部无法指定key
}
}
export default storage

113
apis/ctms/_utils/upload.js Normal file
View File

@ -0,0 +1,113 @@
import store from '@/store'
import config from '@/config/ctms.config.js'
import {
getToken
} from './auth.js'
import errorCode from './errorCode.json'
import utils from '@/utils/common.js'
const tansParams = utils.tansParams;
const timeout = 10000
const loginPage = config.loginPage
const request = function(param) {
utils.debug(param);
//url每次request请求都需要重新组织
let url = config.apiUrl;
url = url + config.url_entry + param.url + '.' + config.url_suffix;
if (param.force_url) {
url = param.force_url;
}
// get请求映射params参数
if (param.params) {
url = url + '?' + tansParams(param.params)
url = url.slice(0, -1)
}
// 是否需要设置 token
const isToken = (param.headers || {}).isToken === false
config.header = param.headers || {} //TODO,未成功使用
if (getToken() && !isToken) {
config.header['Authorization'] = 'hi-ctms-client ' + getToken()
}
let postdata = param.data || {};
postdata.pid = config.pid || 0;
var user = store.state.user;
postdata.uid = user.info.id || 0;
return new Promise((resolve, reject) => {
uni.request({
method: param.method || 'GET',
timeout: param.timeout || timeout,
url: url,
data: postdata,
header: config.header,
dataType: param.dataType || 'json',
success: function(res) {
// utils.debug(res);
if (res.statusCode === 200) {
//请求成功
const code = res.data.code || 0
//只有0200这两种状态码可以返回数据以便下一步操作其他状态码无法进入到下一步
const msg = res.data.msg || errorCode[code] || errorCode['default']
switch (code) {
default:
resolve(false);
if (getApp().globalData.config.isDebug) {
reject(msg) //调试台显示错误提示
}
break;
case 401:
utils.showConfirm('登录状态已过期,您可以继续留在该页面,或者重新登录').then(res => {
if (res.confirm) {
store.dispatch('LogOut').then(res => {
uni.reLaunch({
url: loginPage
})
})
}
})
reject('无效的会话,或者会话已过期,请重新登录。')
break;
case 100:
case 101:
resolve(false);
uni.showToast({
title: msg,
icon: "error"
});
break;
case 0:
case 200:
resolve(res.data) //返回的只是数据
break;
}
} else if (res.statusCode === 500) {
reject('500')
} else {
reject(res.statusCode)
}
},
fail: (error) => {
let {
errMsg
} = error, message = ""
if (errMsg == 'request:fail') {
message = '云端连接异常'
} else if (errMsg == 'Network Error') {
message = '后端接口连接异常'
} else if (errMsg.includes('timeout')) {
message = '系统接口请求超时'
} else if (errMsg.includes('Request failed with status code')) {
message = '系统接口' + message.substr(message.length - 3) + '异常'
}
reject(message)
}
})
})
}
export default request