Commit 1ed900a9 authored by Tt's avatar Tt

游戏后台配置完成

parent 4973c0b8
......@@ -21,164 +21,67 @@
</div>
<div *ngFor="let item of picArr; let i = index">
<div>
<div class="border">
<div style="width: 100%; align-items:center;">
<!-- <span style="font-weight: 500; font-size: 27px; color: red; ">选项</span> -->
<div class="item-box" style="width: 50%;height:200px; margin-left: 25%; margin-top: 10%;">
<div>
<app-upload-dragon-bone style="width: 100%" (save)="onDragonBoneSave($event,item)">
</app-upload-dragon-bone>
</div>
<span>文字</span>
<input style="width: 80%; margin-bottom: 0.5vw" type="text" nz-input placeholder=""
[(ngModel)]="item.title" (blur)="saveItem()">
<span>图片</span>
<app-upload-image-with-preview style="width: 100%" [picUrl]="item.bgImg"
(imageUploaded)="onImageUploadSuccessByItem($event, item)">
</app-upload-image-with-preview>
</div>
<div class="item-box" style="width: 50%; margin-left: 25%;">
<button style="margin-bottom: 10px;" nz-button nzType="danger"
(click)="deleteItem(i)">
<span>删除</span>
</button>
</div>
</div>
<div class="border">
<div style="width: 100%; align-items:center;">
<!-- <span style="font-weight: 500; font-size: 27px; color: red; ">选项</span> -->
<div class="item-box" style="width: 50%;height:200px; margin-left: 25%; margin-top: 10%;">
</div>
</div>
<span>文字</span>
<input style="width: 80%; margin-bottom: 0.5vw" type="text" nz-input placeholder="" [(ngModel)]="item.title"
(blur)="saveItem()">
<!--
<div class="box-dbt-0">
<div style="width:100%;vertical-align:middle; padding-top: 10px; padding-bottom: 10px; text-align: left;">
<span style="font-weight: 700; font-size: 30px; vertical-align:middle;">标题:</span>
<input (blur)="saveItem()" [(ngModel)]="biaoti.title" type="text"
style="width: 750px;height:35px;margin-left: 30px; vertical-align:middle;font-size: 30px; border: 1px solid #ccc; border-radius: 10px;" />
<div style="display: flex; justify-items: center; padding-top: 10px">
<app-audio-recorder [audioUrl]="biaoti.audio_url"
(audioUploaded)="onAudioUploadSuccessByItem($event, biaoti)">
</app-audio-recorder>
</div>
</div>
</div>
<div class="box-dbt-1">
<div *ngFor="let zhulei of biaoti.child; let b = index">
<div class="box-lbt-0">
<div style="width:100%;vertical-align:middle; padding-top: 10px; padding-bottom: 10px; text-align: left;">
<span style="font-weight: 700; font-size: 30px; vertical-align:middle;">主类:</span>
<input (blur)="saveItem()" [(ngModel)]="zhulei.title" type="text"
style="width: 750px;height:35px;margin-left: 30px; vertical-align:middle;font-size: 30px; border: 1px solid #ccc; border-radius: 10px;" />
<div>
<app-upload-dragon-bone style="width: 100%" (save)="onDragonBoneSave($event,item)"
[skeJsonData]="item.imgAni.ske" [texJsonData]="item.imgAni.tex" [texPngData]="item.imgAni.png">
</app-upload-dragon-bone>
</div>
<span>图片</span>
<app-upload-image-with-preview style="width: 100%" [picUrl]="item.bgImg"
(imageUploaded)="onImageUploadSuccessByItem($event, item)">
</app-upload-image-with-preview>
<div style="display: flex; justify-items: center; padding-top: 10px">
<app-audio-recorder [audioUrl]="zhulei.audio_url"
(audioUploaded)="onAudioUploadSuccessByItem($event, zhulei)">
<app-audio-recorder [audioUrl]="item.wordAudio"
(audioUploaded)="onAudioUploadSuccessByItem($event, item)">
</app-audio-recorder>
</div>
</div>
</div>
<div class="box-lbt-1">
<div *ngFor="let fenlei of zhulei.child; let c = index">
<div class="box-lbt-0">
<div style="width:100%;vertical-align:middle; padding-top: 10px; padding-bottom: 10px; text-align: left;">
<span style="font-weight: 700; font-size: 30px; vertical-align:middle;">分类{{c+1}}:</span>
<input (blur)="saveItem()" [(ngModel)]="fenlei.title" type="text"
style="width: 750px;height:35px;margin-left: 30px; vertical-align:middle;font-size: 30px; border: 1px solid #ccc; border-radius: 10px;" />
<div style="display: flex; justify-items: center; padding-top: 10px">
<app-audio-recorder [audioUrl]="fenlei.audio_url"
(audioUploaded)="onAudioUploadSuccessByItem($event, fenlei)">
</app-audio-recorder>
</div>
</div>
</div>
<div class="box-lbt-1">
<div *ngFor="let sonlei of fenlei.child; let d = index">
<div class="box-son-0">
<div>
<div
style="width:100%;vertical-align:middle; padding-top: 10px; padding-bottom: 10px; text-align: left;">
<span
style="font-weight: 700; font-size: 30px; vertical-align:middle;">分类{{c+1}}-子类{{d+1}}:</span>
<button style="margin-left: 30px;" nz-button nzType="danger" (click)="deleteSon(a, b, c,d)">
<span>删除</span>
</button>
<input (blur)="saveItem()" [(ngModel)]="sonlei.title" type="text"
style="width: 750px;height:35px;margin-left: 30px; vertical-align:middle;font-size: 30px; border: 1px solid #ccc; border-radius: 10px;" />
<div style="display: flex; justify-items: center; padding-top: 10px">
<app-audio-recorder [audioUrl]="sonlei.audio_url"
(audioUploaded)="onAudioUploadSuccessByItem($event, sonlei)">
</app-audio-recorder>
</div>
</div>
</div>
</div>
<div class="box-son-1">
<div class="group-item">
<div *ngFor="let it of sonlei.child; let e = index">
<div class="border">
<div style="width: 100%; align-items:center;">
<span style="font-weight: 500; font-size: 27px; color: red; ">选项{{e+1}}</span>
<div class="item-box" style="width: 50%;height:200px; margin-left: 25%; margin-top: 10%;">
<span>文字</span>
<input style="width: 80%; margin-bottom: 0.5vw" type="text" nz-input placeholder=""
[(ngModel)]="it.title" (blur)="saveItem()">
<span>图片</span>
<app-upload-image-with-preview style="width: 100%" [picUrl]="it.pic_url"
(imageUploaded)="onImageUploadSuccessByItem($event, it)">
</app-upload-image-with-preview>
</div>
<div class="item-box" style="width: 50%; margin-left: 25%;
margin-top: 30px;">
<button style="margin-bottom: 10px;" nz-button nzType="danger" (click)="deleteItem(i)">
<span>删除</span>
</button>
</div>
</div>
</div>
<div class="item-box" style="width: 50%; margin-left: 25%;">
<button style="margin-bottom: 10px;" nz-button nzType="danger"
(click)="deleteItem(a,b,c,d,e)">
<span>删除</span>
</button>
</div>
</div>
</div>
</div>
</div>
<div>
<!-- http://localhost:4200/?type=form
一组游戏
一个图片动画
一个文字动画
一个文字声音
一个图片背景
不限制组的数量 -->
</div>
</div>
<div class="border">
<h3 style="margin-top: 40%; width: 100%; line-height: 40px; text-align: center; color: red;">
每个子类卡片2~4个
</h3>
<button *ngIf="picArr[a].child[b].child[c].child[d].child.length >= 4" disabled nz-button
nzType="primary" (click)="addItem(a,b,c,d)">
<span>增加卡片</span>
</button>
<button *ngIf="picArr[a].child[b].child[c].child[d].child.length < 4" nz-button nzType="primary"
(click)="addItem(a,b,c,d)">
<span>增加卡片</span>
</button>
</div>
</div>
</div>
</div>
<div class="box-lbt-2">
<button
*ngIf="picArr[a].child[b].child[c].child.length >= 4 || picArr[a].child[b].child[0].child.length + picArr[a].child[b].child[1].child.length >=6"
style="width: 100%; height: 100%; border-radius: 25px; " disabled nz-button nzType="solid"
(click)="addSon(a, b, c)">
<i nz-icon nzType="plus-circle"></i>
<span style="font-size: 20px;">增加子类</span>
</button>
<button
*ngIf="picArr[a].child[b].child[c].child.length < 4 && picArr[a].child[b].child[0].child.length + picArr[a].child[b].child[1].child.length <6"
style="width: 100%; height: 100%; border-radius: 25px; " nz-button nzType="solid"
(click)="addSon(a, b, c)">
<i nz-icon nzType="plus-circle"></i>
<span style="font-size: 20px;">增加子类</span>
</button>
</div>
</div>
</div>
<div class="border">
<div style="width: 100%; align-items:center;">
<div class="item-box" style="width: 50%; margin-left: 25%;
margin-top: 30px;">
<button style="margin-bottom: 10px;" nz-button nzType="default" (click)="addItem(i)">
<span>增加</span>
</button>
</div>
</div>
</div> -->
</div>
</div>
</div>
......
......@@ -68,9 +68,9 @@ export class FormComponent implements OnInit, OnChanges, OnDestroy {
classItem() {
function AniAssets() {
this.ske = "";
this.tex = "";
this.png = "";
this.ske = {};
this.tex = {};
this.png = {};
this.setData = function (obj) {
this.ske = obj.ske;
this.tex = obj.tex;
......@@ -83,7 +83,6 @@ export class FormComponent implements OnInit, OnChanges, OnDestroy {
this.bgImg = "";
this.wordAudio = "";
this.imgAni = new AniAssets();
this.wordAni = new AniAssets();
}
return new Item();
......@@ -103,21 +102,14 @@ export class FormComponent implements OnInit, OnChanges, OnDestroy {
}
cardItemData() {
return {
// cardId: "",
// title: "",
// pic_url: "",
// audio_url: "",
};
return this.classItem()
}
getDefaultPicArr() {
let arr = [this.classItem(), this.classItem(), this.classItem(), this.classItem()]
let arr = [this.classItem()]
return arr;
}
initData() {
......@@ -129,12 +121,12 @@ export class FormComponent implements OnInit, OnChanges, OnDestroy {
}
onImageUploadSuccessByItem(e, item) {
item.pic_url = e.url;
item.bgImg = e.url;
this.save();
}
onAudioUploadSuccessByItem(e, item) {
item.audio_url = e.url;
item.wordAudio = e.url;
this.save();
}
......
function retData() {
// let item = {"contentObj":{"picArr":[[[{"cardId":"","left":{"title":"boy1","pic_url":"http://staging-teach.cdn.ireadabc.com/1baedb0b31dc5503e65e114ce21940ab.jpeg","audio_url":"http://staging-teach.cdn.ireadabc.com/495324991838775e49e3ca6593d432c9.mp3","radioValue":"C"},"right":{"title":"food","pic_url":"http://staging-teach.cdn.ireadabc.com/38117778476574c7ef8b445cf24d6eb5.jpg","audio_url":"http://staging-teach.cdn.ireadabc.com/495324991838775e49e3ca6593d432c9.mp3","radioValue":"A"},"radioValue":"B"},{"cardId":"","left":{"title":"boy2","pic_url":"","audio_url":"http://staging-teach.cdn.ireadabc.com/17cc0e2a383e4632147dc495a1397915.mp3","radioValue":"C"},"right":{"title":"","pic_url":"http://staging-teach.cdn.ireadabc.com/21373528a7f38575e871de1d8e5a9671.jpg","audio_url":"http://staging-teach.cdn.ireadabc.com/17cc0e2a383e4632147dc495a1397915.mp3","radioValue":"B"},"radioValue":"E"}],[{"cardId":"","left":{"title":"girl1","pic_url":"","audio_url":"http://staging-teach.cdn.ireadabc.com/205722475ccaca6233b2f28e635405ca.mp3","radioValue":"A"},"right":{"title":"","pic_url":"http://staging-teach.cdn.ireadabc.com/5d099c38000b804241f7dc1286b17457.jpg","audio_url":"http://staging-teach.cdn.ireadabc.com/205722475ccaca6233b2f28e635405ca.mp3","radioValue":"B"},"radioValue":"D"},{"cardId":"","left":{"title":"girl2","pic_url":"","audio_url":"http://staging-teach.cdn.ireadabc.com/0b6ef24f15c6d8ad7bf27cc913445ebf.mp3","radioValue":"A"},"right":{"title":"","pic_url":"http://staging-teach.cdn.ireadabc.com/0abab9a26d537ebf1835a2ed8430162e.jpg","audio_url":"http://staging-teach.cdn.ireadabc.com/0b6ef24f15c6d8ad7bf27cc913445ebf.mp3","radioValue":"B"},"radioValue":"D"},{"cardId":"","left":{"title":"girl3","pic_url":"","audio_url":"http://staging-teach.cdn.ireadabc.com/b2c170f84b85dddf554b5c837d1d6e30.mp3","radioValue":"A"},"right":{"title":"","pic_url":"http://staging-teach.cdn.ireadabc.com/5f34d4100a6ecb187fd715c99e917fc8.jpg","audio_url":"http://staging-teach.cdn.ireadabc.com/b2c170f84b85dddf554b5c837d1d6e30.mp3","radioValue":"B"},"radioValue":"D"}]],[[{"cardId":"","left":{"title":"rabbit","pic_url":"","audio_url":"http://staging-teach.cdn.ireadabc.com/a7bd7c4de71319db5b6b0b60f0957e21.mp3","radioValue":"A"},"right":{"title":"","pic_url":"http://staging-teach.cdn.ireadabc.com/fe229e6b32f385fb8fe5eb9ec5843c66.jpg","audio_url":"http://staging-teach.cdn.ireadabc.com/a7bd7c4de71319db5b6b0b60f0957e21.mp3","radioValue":"B"},"radioValue":"D"},{"cardId":"","left":{"title":"cat","pic_url":"","audio_url":"http://staging-teach.cdn.ireadabc.com/6c8dcd159d4f05bc93838cc47d3895f4.mp3","radioValue":"A"},"right":{"title":"","pic_url":"http://staging-teach.cdn.ireadabc.com/9c5fa50efd7a004f24ea7fcbcf81080e.jpg","audio_url":"http://staging-teach.cdn.ireadabc.com/6c8dcd159d4f05bc93838cc47d3895f4.mp3","radioValue":"B"},"radioValue":"A"},{"cardId":"","left":{"title":"coffe","pic_url":"","audio_url":"http://staging-teach.cdn.ireadabc.com/3d0fea61d5d97f3caf04a9b738a0291b.mp3","radioValue":"A"},"right":{"title":"","pic_url":"http://staging-teach.cdn.ireadabc.com/9d114554c4760ff35f1ff5479504a531.jpg","audio_url":"http://staging-teach.cdn.ireadabc.com/a7bd7c4de71319db5b6b0b60f0957e21.mp3","radioValue":"B"},"radioValue":"D"},{"cardId":"","left":{"title":"tea","pic_url":"","audio_url":"http://staging-teach.cdn.ireadabc.com/448291140d0b780c0278a14bf49277cb.mp3","radioValue":"A"},"right":{"title":"","pic_url":"http://staging-teach.cdn.ireadabc.com/bf26f92e4f0557ad70ac27006855dae9.jpg","audio_url":"http://staging-teach.cdn.ireadabc.com/6c8dcd159d4f05bc93838cc47d3895f4.mp3","radioValue":"B"},"radioValue":"D"}]],[[{"cardId":"","left":{"title":"cool","pic_url":"","audio_url":"http://staging-teach.cdn.ireadabc.com/0e67aa701df18cbb5581ffb81ffa7836.mp3","radioValue":"A"},"right":{"title":"","pic_url":"http://staging-teach.cdn.ireadabc.com/38117778476574c7ef8b445cf24d6eb5.jpg","audio_url":"http://staging-teach.cdn.ireadabc.com/4c0379bc0f3bd0722874b2e11fb35336.mp3","radioValue":"B"},"radioValue":"D"},{"cardId":"","left":{"title":"big eye","pic_url":"","audio_url":"http://staging-teach.cdn.ireadabc.com/fe226bc303f03ea994cb9a93d1620284.mp3","radioValue":"A"},"right":{"title":"","pic_url":"http://staging-teach.cdn.ireadabc.com/21373528a7f38575e871de1d8e5a9671.jpg","audio_url":"http://staging-teach.cdn.ireadabc.com/b985b71cd2f3c2d31e45992e4ae69d7f.mp3","radioValue":"B"},"radioValue":"A"},{"cardId":"","left":{"title":"cute","pic_url":"","audio_url":"http://staging-teach.cdn.ireadabc.com/84c7b82de1a09da792237a174ebe071b.mp3","radioValue":"A"},"right":{"title":"","pic_url":"http://staging-teach.cdn.ireadabc.com/5d099c38000b804241f7dc1286b17457.jpg","audio_url":"http://staging-teach.cdn.ireadabc.com/7c1d1540233b6d050eae8215679104a8.mp3","radioValue":"B"},"radioValue":"D"},{"cardId":"","left":{"title":"shuai","pic_url":"","audio_url":"http://staging-teach.cdn.ireadabc.com/9e799e7e86cd50c6699ca0e859c8aa1f.mp3","radioValue":"A"},"right":{"title":"","pic_url":"http://staging-teach.cdn.ireadabc.com/338dbee896e1fa8869495c84c603c33f.jpg","audio_url":"http://staging-teach.cdn.ireadabc.com/9a6b3177ab53ba75bcf293df1065bb64.mp3","radioValue":"B"},"radioValue":"D"},{"cardId":"","left":{"title":"big m","pic_url":"","audio_url":"http://staging-teach.cdn.ireadabc.com/495324991838775e49e3ca6593d432c9.mp3","radioValue":"C"},"right":{"title":"","pic_url":"http://staging-teach.cdn.ireadabc.com/0abab9a26d537ebf1835a2ed8430162e.jpg","audio_url":"http://staging-teach.cdn.ireadabc.com/17cc0e2a383e4632147dc495a1397915.mp3","radioValue":"B"},"radioValue":"E"}]]]}}
let item = {
"contentObj": {
"picArr": [
{
"title": "food",
"child": [
{
"title": "food",
"child":
[
{
"title": "fruits",
"child": [
{
"title": "balana",
"child": [{ "cardId": "", "title": "rerg", "pic_url": "http://staging-teach.cdn.ireadabc.com/021d3b3904cb6e675286ac8fcb60da2b.png", "audio_url": "" }]
},
{
"title": "son12",
"child": [{ "cardId": "", "title": "a2", "pic_url": "http://staging-teach.cdn.ireadabc.com/1c897715153af629e0aa1bfbf54472a4.png", "audio_url": "" }, { "cardId": "", "title": "b2", "pic_url": "http://staging-teach.cdn.ireadabc.com/756083716a8ab9f2b6b66331e659845d.png", "audio_url": "" }, { "cardId": "", "title": "c2", "pic_url": "http://staging-teach.cdn.ireadabc.com/6c13e8f14b294ca866205633b9f44891.png", "audio_url": "" }, { "cardId": "", "title": "d2", "pic_url": "http://staging-teach.cdn.ireadabc.com/b3f29929c06d1af57bb6eb08d3f5b0d0.png", "audio_url": "" }]
},
{
"title": "son13",
"child": [{ "cardId": "", "title": "a3", "pic_url": "http://staging-teach.cdn.ireadabc.com/88b1cd55a3e2ff70447331078c0e2941.png", "audio_url": "" }, { "cardId": "", "title": "b3", "pic_url": "http://staging-teach.cdn.ireadabc.com/26524d3fa6a060d80664b40cfb6105f6.png", "audio_url": "" }, { "cardId": "", "title": "c3", "pic_url": "http://staging-teach.cdn.ireadabc.com/88b1cd55a3e2ff70447331078c0e2941.png", "audio_url": "" }, { "cardId": "", "title": "d3", "pic_url": "http://staging-teach.cdn.ireadabc.com/26524d3fa6a060d80664b40cfb6105f6.png", "audio_url": "" }]
},
]
}, {
"title": "sub2",
"child": [{
"title": "son21",
"child": [{ "cardId": "", "title": "e1", "pic_url": "http://staging-teach.cdn.ireadabc.com/021d3b3904cb6e675286ac8fcb60da2b.png", "audio_url": "" }]//{ "cardId": "", "title": "q1", "pic_url": "http://staging-teach.cdn.ireadabc.com/fde35aaec618529b0b2b6cb3a18d1f85.png", "audio_url": "" }, { "cardId": "", "title": "w1", "pic_url": "http://staging-teach.cdn.ireadabc.com/0cd859af88f946a66313cc06e4628fd2.png", "audio_url": "" },
}, {
"title": "son21",
"child": [{ "cardId": "", "title": "e1", "pic_url": "http://staging-teach.cdn.ireadabc.com/021d3b3904cb6e675286ac8fcb60da2b.png", "audio_url": "" }]//{ "cardId": "", "title": "q1", "pic_url": "http://staging-teach.cdn.ireadabc.com/fde35aaec618529b0b2b6cb3a18d1f85.png", "audio_url": "" }, { "cardId": "", "title": "w1", "pic_url": "http://staging-teach.cdn.ireadabc.com/0cd859af88f946a66313cc06e4628fd2.png", "audio_url": "" },
}, {
"title": "son21",
"child": [{ "cardId": "", "title": "e1", "pic_url": "http://staging-teach.cdn.ireadabc.com/021d3b3904cb6e675286ac8fcb60da2b.png", "audio_url": "" }]//{ "cardId": "", "title": "q1", "pic_url": "http://staging-teach.cdn.ireadabc.com/fde35aaec618529b0b2b6cb3a18d1f85.png", "audio_url": "" }, { "cardId": "", "title": "w1", "pic_url": "http://staging-teach.cdn.ireadabc.com/0cd859af88f946a66313cc06e4628fd2.png", "audio_url": "" },
},
]
}]
}]
}]
"contentObj":
{
"picArr":
[
{
"title": "apple",
"bgImg": "http://staging-teach.cdn.ireadabc.com/38a22cb51e444e2ef4fad6dede56bc6e.png",
"wordAudio": "http://staging-teach.cdn.ireadabc.com/ab3538f7d4d57ac1abd740bd32f06b2d.mp3",
"imgAni": {
"ske": {
"url": "http://staging-teach.cdn.ireadabc.com/c81816bbb714b22c57267ac5150ee1fe.json",
"name": "apple_ske.json"
},
"tex": {
"url": "http://staging-teach.cdn.ireadabc.com/6088eec0273bc0488d5f66dfb63c1003.json",
"name": "apple_tex.json"
},
"png": {
"url": "http://staging-teach.cdn.ireadabc.com/a51151d68bd74d430e2e586d86c6ddd3.png",
"name": "apple_tex.png"
}
}
}, { "title": "ant", "bgImg": "http://staging-teach.cdn.ireadabc.com/38a22cb51e444e2ef4fad6dede56bc6e.png", "wordAudio": "http://staging-teach.cdn.ireadabc.com/ab3538f7d4d57ac1abd740bd32f06b2d.mp3", "imgAni": { "ske": { "url": "http://staging-teach.cdn.ireadabc.com/dd4ede22a761f1f8ec261c93a5306f5c.json", "name": "ant_ske.json" }, "tex": { "url": "http://staging-teach.cdn.ireadabc.com/56078bcdcc7116843a56ecc4c23d3665.json", "name": "ant_tex.json" }, "png": { "url": "http://staging-teach.cdn.ireadabc.com/1a0c95cab05487b003a8dec9dd151ba4.png", "name": "ant_tex.png" } } }]
}
}
return item;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment