bug fix in JSON serialization
This commit is contained in:
@@ -36,6 +36,7 @@ const tl = 4;
|
||||
|
||||
class MazeQuizGame {
|
||||
constructor(engine, data) {
|
||||
data.noPhysics = true;
|
||||
return new Promise(async (resolve, reject)=>{
|
||||
let questions = data.shuffle ? Utils.shuffleArray(data.questions) : data.questions;
|
||||
let def = this.generate(questions);
|
||||
|
||||
@@ -41,7 +41,6 @@ export default {
|
||||
props:['modelValue'],
|
||||
mounted(){
|
||||
this.modelValue.questions ??= [];
|
||||
this.modelValue.noPhysics = true;
|
||||
},
|
||||
methods:{
|
||||
addQuestion(){
|
||||
|
||||
@@ -10,6 +10,7 @@ import * as BufferGeometryUtils from 'three/addons/utils/BufferGeometryUtils.js'
|
||||
|
||||
class Particles {
|
||||
constructor(engine, data) {
|
||||
data.noPhysics = true;
|
||||
const { x, y, count, w, h } = data;
|
||||
let positions = Particles.positions(count, w, h);
|
||||
return new Promise(async (resolve, reject) => {
|
||||
|
||||
@@ -43,7 +43,6 @@ export default {
|
||||
this.modelValue.count = 1000;
|
||||
this.modelValue.w = 50;
|
||||
this.modelValue.h = 50;
|
||||
this.modelValue.noPhysics = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -60,6 +60,20 @@ export default {
|
||||
.sort((a, b) => a.sort - b.sort).map(({ value }) => value)
|
||||
},
|
||||
|
||||
deepMerge(target, source, transformFn) {
|
||||
Object.entries(source).forEach(([key, value]) => {
|
||||
if (transformFn){
|
||||
value = transformFn(key, value)
|
||||
}
|
||||
if (value && typeof value === 'object' && !Array.isArray(value)) {
|
||||
this.deepMerge(target[key] = target[key] || {}, value, transformFn);
|
||||
return;
|
||||
}
|
||||
target[key] = value;
|
||||
});
|
||||
return target;
|
||||
},
|
||||
|
||||
drawOnCanvas(svg, width, height){
|
||||
return new Promise((resolve, reject)=>{
|
||||
let url = URL.createObjectURL(new Blob([svg],{ type:"image/svg+xml;charset=utf-8" }));
|
||||
|
||||
@@ -62,6 +62,7 @@ export default {
|
||||
async save(params) {
|
||||
this.loading = true;
|
||||
try {
|
||||
console.log('saving', this.object)
|
||||
let result = await this.$api.game.save(this.object);
|
||||
//Object.assign(this.object, result.data.object);
|
||||
this.object.id = result.data.object.id;
|
||||
|
||||
+4
-2
@@ -1,13 +1,15 @@
|
||||
import axios from 'axios';
|
||||
import Utils from '@/lib/Utils';
|
||||
|
||||
const $ax = axios.create({
|
||||
baseURL: '/api/',
|
||||
transformRequest: [
|
||||
(data, headers)=>{
|
||||
if (data && !(data instanceof FormData)){
|
||||
data = JSON.stringify(data, (k, v)=>{
|
||||
data = Utils.deepMerge({}, data, (k, v)=>{
|
||||
return k.startsWith('__') ? undefined : v;
|
||||
});
|
||||
})
|
||||
data = JSON.stringify(data);
|
||||
headers['Content-Type'] = 'application/json;charset=utf-8';
|
||||
}
|
||||
return data;
|
||||
|
||||
Reference in New Issue
Block a user