push Develop

This commit is contained in:
X1627315083
2024-06-17 09:39:01 +08:00
parent c93483e36f
commit 363b880276
55 changed files with 5880 additions and 1359 deletions

View File

@@ -42,7 +42,7 @@ export default {
}
ratio.push(rgb)
// console.log(ratio);
img.remove()
// console.log((num/ (width * height) * 100).toFixed(2));
}

View File

@@ -263,10 +263,37 @@ async function JSSetTexture(src,){
img.width = 200
img.height = 200
resolve()
img.remove()
}
})
return img
}
function JSSetRemoveImage(fun){
const deleteIcon = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAACXBIWXMAAACxAAAAsQHGLUmNAAAAGXRFWHRTb2Z0d2FyZQB3d3cuaW5rc2NhcGUub3Jnm+48GgAAAdBJREFUSImt1r1uU0EQBeDPFh1pgBQEEwFVAg9BROhCAh1FAg1gkMA8DA0oKOEB3IEIRQgF4SEQBIUC6ENSGgPFXaPx+udeSxxppPXOzJnZ8e7MrRmPWdzANZxPv+EbvmILL/G9hGcADayjgz8l0kUb56qSX8dhBeJcDrFSRv44ZRQdt3EPczieZB5NvB1ymta4zCP5J1yucOIFfM6CDJykob8s73GiAnkPJ7Eb/H9iJhpsZJlPQh6D7AWe9Z5iFr+CIpalhjWspnXZ/pXA01FURkv/HxpxK+g2UE+yGfZXM5+doHt4DEtB2R5dAXdD9nfG2LVxNa2XKGreiziXGefZ5rKZbCLmg/4jHIWNqSEZ1fC0IrnE0bM5qqdFGWoV92RBf/P/S3RRVqI3YaOZGd8eQpgHXMt8HgTd67qi5fZwMzOO5XuREmim9ShEji04q78tLwSDSR/aYuD599DgeVDsY3pMhqOQt4pnUXlGf7PbTQ5VcQofgv8BTudGK/rb9Z6it5RhEV+CX1cxYoeiZXDg7OC+4vpNJbmkuC3vMtsuHpVltKzo55OOzINxmeeYxhPVhn5H0ftnhhGNeu49NBSjdBkX9H+27Cvu+Sv8GEXwF9+O3b1zwZqdAAAAAElFTkSuQmCC"
// 创建删除图片元素
let deleteImg = document.createElement('img')
deleteImg.src = deleteIcon
function renderIcon(icon) {
return function (ctx, left, top, styleOverride, fabricObject) {
var size = this.cornerSize;
ctx.save();
ctx.translate(left, top);
ctx.rotate(fabric.util.degreesToRadians(fabricObject.angle));
ctx.drawImage(icon, -size/3, -size/3, size/1.5, size/1.5);
ctx.restore();
}
}
fabric.Object.prototype.controls.deleteControl = new fabric.Control({
x: 0.5,
y: -0.5,
offsetY: -16,
offsetX: 16,
cursorStyle: 'pointer',
mouseUpHandler:fun,
render: renderIcon(deleteImg),
cornerSize: 24
})
}
export {
multiselectJS,
JSRectUpdata,
@@ -275,5 +302,6 @@ export {
JScanvasMouseMove,
JScreateCheck,
exportSele,
JSSetTexture
JSSetTexture,
JSSetRemoveImage
}

View File

@@ -30,6 +30,7 @@ let setColor = (rgba,url) =>{
resolve({
width,height,num
})
img.remove()
}
})
};

View File

@@ -38,6 +38,8 @@ const getJpeg = dom =>{
// console.log(smallBase64);
// resolve(base64ToFile(fileOfBlob))
resolve(fileOfBlob)
newImage.remove()
}
})
}, 100);

View File

@@ -33,6 +33,8 @@ let httpIp = process.env.NODE_ENV == 'development' ? "" : "";
// console.log(axios.defaults.baseURL);
axios.defaults.baseURL = process.env.VUE_APP_BASE_URL; //配置接口地址
// 创建取消令牌
let cancelList = []
// console.log(process.env.VUE_APP_BASE_URL);
//POST传参序列化(添加请求拦截器)
axios.interceptors.request.use((config) => {
@@ -41,7 +43,9 @@ axios.interceptors.request.use((config) => {
// config.data = qs.stringify(config.data);
// config.data = JSON.stringify(config.data);
}
// config['cancelToken'] = axios.CancelToken(function(c){
// cancel.push(c)
// })
// config.headers.Authorization = 'Bearer-eyJhbGciOiJIUzUxMiJ9.eyJqdGkiOiIyIiwic3ViIjoie1wiaWRcIjoyLFwidXNlcm5hbWVcIjpcImxpcnNcIn0iLCJpYXQiOjE2NjU3NDEwODcsImlzcyI6IkRXSiIsImF1dGhvcml0aWVzIjoiW10iLCJleHAiOjE2NzQzODEwODd9.ShM9R_NNFD7oo1OvxrEgg7PFeWinOuAKkuInUCMQupp66s64Hhv8tN0Wwr83nIN4rHPqtn95wmd4msWcvaFYJA';
config.headers.Authorization = getCookie('token');
@@ -49,7 +53,7 @@ axios.interceptors.request.use((config) => {
},(error) =>{
return Promise.reject(error);
});
let isLoginTime = false
//返回状态判断(添加响应拦截器)
axios.interceptors.response.use((res) =>{
// if(res.data.data == null){
@@ -84,18 +88,39 @@ axios.interceptors.response.use((res) =>{
return Promise.reject(res.data);
}
}
removeCancelToken(res.config.cancelToken);
}, function(error) {
if(error?.response?.status === 401 && router.currentRoute._value.name != 'setIdentification'){//如果是记录浏览器页面就不跳转login
router.replace('/login')
clonAllCookie()
if(!isLoginTime){
isLoginTime = true
router.replace('/')
message.warning('请登陆后重试~')
cancelAllRequests()
clonAllCookie()
setTimeout(()=>[
isLoginTime = false
],2000)
}
return Promise.reject()
}
let data_new = error?.response?.data
// message.error(data_new?.errMsg || 'Error: server exception')
return Promise.reject(data_new);
});
function removeCancelToken(cancelTokenToRemove) {
const index = cancelList.findIndex(source => source.token === cancelTokenToRemove);
if (index !== -1) {
cancelList.splice(index, 1);
}
}
function cancelAllRequests() {
// cancelList.forEach(source => {
// console.log(123123,source);
// source('123');
// });
}
export const Https = {
httpUrls: {
interfaceUrl: '',
@@ -120,6 +145,9 @@ export const Https = {
endpoint:`api/third/party/your-secured-endpoint`, //获取唯一标识是否存在
designWorksRegister:'/api/account/designWorksRegister', //注册
designWorksRegisterCode:'/api/account/designWorksRegisterCode', //注册
preLogin:'/api/account/preLogin',//预先登入
accountSendEmail:`/api/account/sendEmail`, //发送邮件
@@ -225,12 +253,33 @@ export const Https = {
getPorfolio:`/api/portfolio/page`,//查询作品广场
getPorfolioDetail:`/api/portfolio/detail`,//查询作品广场作品详情
setPorfolioChoose:`/api/portfolio/choose`,//二次创作
portfolioLike:`/api/portfolio/like`,//作品广场点赞
portfolioNoLike:`/api/portfolio/unlike`,//作品广场取消点赞
portfolioComment:`/api/portfolio/comment`,//作品广场评论
portfolioCommentPage:`/api/portfolio/commentPage`,//作品广场评论列表
//product生成
toProduct:`/api/history/toProduct`,//开始生成
toProductImageResult:`/api/history/toProductImageResult`,//获取结果
toProductImageElementUpload:`/api/history/toProductImageElementUpload`,//上传
productImageLike:`/api/history/productImageLike`,//like生成结果
productImageUnLike:`/api/history/productImageUnLike`,//取消like生成结果
productImageLikeList:`/api/history/productImageLikeList`,//like生成结果
//保存画布
canvasElementUpload:`/api/history/canvasElementUpload`,//画布上传临时图片
exportSave:`/api/history/exportSave`,//保存画布
exportSearch:`/api/history/exportSearch`,//保存画布
},
axiosGet(url,config) {
return new Promise((resolve, reject) => {
if(isLoginTime) {
resolve('')
return
}
axios.get(url,config).then(response => {
resolve(response)
}).catch((error) => {
@@ -241,6 +290,10 @@ export const Https = {
axiosPut(url, data) {
return new Promise((resolve, reject) => {
if(isLoginTime) {
resolve('')
return
}
axios.put(url, data).then(response => {
resolve(response)
}).catch((error) => {
@@ -251,6 +304,10 @@ export const Https = {
axiosPost(url, data,config) {
return new Promise((resolve, reject) => {
if(isLoginTime) {
resolve('')
return
}
axios.post(url, data,config).then(response => {
resolve(response)
}).catch((error) => {
@@ -261,6 +318,10 @@ export const Https = {
axiosDelete(url, newData) {
return new Promise((resolve, reject) => {
if(isLoginTime) {
resolve('')
return
}
axios.delete(url,{data:newData}).then(response => {
resolve(response)
}).catch((error) => {

View File

@@ -12,6 +12,20 @@ const getUploadUrl = () => {
return url
}
function base64ToFile(urlData,name) {
let arr = urlData.split(',');
let mime = arr[0].match(/:(.*?);/)[1];
let bstr = atob(arr[1]);
let n = bstr.length;
let u8arr = new Uint8Array(n);
while (n--) {
u8arr[n] = bstr.charCodeAt(n);
}
return new File([u8arr], name, {
type: mime
});
}
function dataURLtoBlob(dataurl) {//吧data url转为blob对象
var arr = dataurl.split(',');
var mime = arr[0].match(/:(.*?);/)[1];
@@ -47,6 +61,7 @@ function downloadIamge(imgsrc, name) { // 下载图片地址和图片名
a.href = url // 将生成的URL设置为a.href属性
a.target = '_blank'
a.dispatchEvent(event) // 触发a的单击事件
image.remove()
}
image.src = imgsrc
}
@@ -164,6 +179,36 @@ const isMoible = () => {//判断是否是移动端
}
}
let setPubDate = (date)=>{
const timestamp = new Date(date);
const now = new Date();
// 计算时间差(以毫秒为单位)
const differenceMs = now - timestamp;
const seconds = Math.floor(differenceMs / 1000);
const minutes = Math.floor(seconds / 60);
const hours = Math.floor(minutes / 60);
const days = Math.floor(hours / 24);
const weeks = Math.floor(days / 7);
const months = Math.floor(days / 30);
const years = Math.floor(days / 365);
// 根据时间差的大小返回不同的描述
if (years > 0) {
return `${years} 年前`;
} else if (months > 0) {
return `${months} 个月前`;
} else if (weeks > 0) {
return `${weeks} 周前`;
} else if (days > 0) {
return `一天前`;
} else if (hours > 0) {
return `${hours} 小时前`;
} else if (minutes > 0) {
return `${minutes} 分钟前`;
} else {
return `1 分钟前`;
}
}
function getBrowserInfo() {//获取是什么浏览器
var agent = navigator.userAgent.toLowerCase();
@@ -386,6 +431,7 @@ const setGradual = (colorObj,colorWidth,colorHeight)=>{
export {
isEmail,
getUploadUrl,
base64ToFile,
dataURLtoFile,
blobToFile,
base64toFile,
@@ -395,6 +441,8 @@ export {
isMoible,
downloadIamge,
getBrowserInfo,
setPubDate,
murmur,
setGradual,
calculateGradientCoordinate,
}