From f6eba66367bcd087e607a23cc068e36929687318 Mon Sep 17 00:00:00 2001
From: ljx0517 <ljx0517@gmail.com>
Date: Sat, 8 Aug 2020 20:18:47 +0800
Subject: [PATCH] 1

---
 angular.json                     |   5 +-
 package.json                     |   4 +
 src/app/form/form.component.css  |   8 -
 src/app/form/form.component.html | 108 ++++-
 src/app/form/form.component.scss |  28 ++
 src/app/form/form.component.ts   | 139 +++++-
 src/app/play/play.component.css  |  19 -
 src/app/play/play.component.html |  32 +-
 src/app/play/play.component.scss | 103 +++++
 src/app/play/play.component.ts   | 756 ++++++-------------------------
 src/app/style/mixin.scss         |  18 +
 src/assets/common_bg.jpg         | Bin 0 -> 57206 bytes
 src/assets/right.mp3             | Bin 0 -> 12525 bytes
 src/assets/wrong.mp3             | Bin 0 -> 7362 bytes
 src/styles.css                   |   1 -
 src/styles.scss                  |  51 +++
 16 files changed, 566 insertions(+), 706 deletions(-)
 delete mode 100644 src/app/form/form.component.css
 create mode 100644 src/app/form/form.component.scss
 delete mode 100644 src/app/play/play.component.css
 create mode 100644 src/app/play/play.component.scss
 create mode 100644 src/app/style/mixin.scss
 create mode 100755 src/assets/common_bg.jpg
 create mode 100644 src/assets/right.mp3
 create mode 100644 src/assets/wrong.mp3
 delete mode 100644 src/styles.css
 create mode 100644 src/styles.scss

diff --git a/angular.json b/angular.json
index 5952480..c46936b 100644
--- a/angular.json
+++ b/angular.json
@@ -30,7 +30,10 @@
             ],
             "styles": [
               "./node_modules/ng-zorro-antd/ng-zorro-antd.min.css",
-              "src/styles.css"
+              "./node_modules/font-awesome/css/font-awesome.css",
+              "./node_modules/bootstrap/dist/css/bootstrap.min.css",
+              "./node_modules/animate.css/animate.min.css",
+              "src/styles.scss"
             ],
             "scripts": []
           },
diff --git a/package.json b/package.json
index c9142ed..7305e60 100644
--- a/package.json
+++ b/package.json
@@ -26,7 +26,11 @@
     "@fortawesome/free-solid-svg-icons": "^5.12.1",
     "@tweenjs/tween.js": "~18.5.0",
     "ali-oss": "^6.5.1",
+    "animate.css": "3.7.0",
+    "bootstrap": "4.1.1",
     "compressing": "^1.5.0",
+    "font-awesome": "4.7.0",
+    "lodash": "4.17.10",
     "ng-zorro-antd": "^8.5.2",
     "rxjs": "~6.5.4",
     "spark-md5": "^3.0.0",
diff --git a/src/app/form/form.component.css b/src/app/form/form.component.css
deleted file mode 100644
index 41f7757..0000000
--- a/src/app/form/form.component.css
+++ /dev/null
@@ -1,8 +0,0 @@
-@import '../style/common_mixin.css';
-
-
-.model-content {
-  width: 100%;
-  height: 100%;
-
-}
diff --git a/src/app/form/form.component.html b/src/app/form/form.component.html
index a51aa6b..8fbebe1 100644
--- a/src/app/form/form.component.html
+++ b/src/app/form/form.component.html
@@ -1,25 +1,87 @@
-
-<div class="model-content">
-
-
-  <div style="position: absolute; left: 200px; top: 100px; width: 800px;">
-
-    <input type="text" nz-input [(ngModel)]="item.text" (blur)="save()">
-
+<nz-form-item>
+  <nz-form-label [nzSpan]="4">Vocabulary</nz-form-label>
+  <nz-form-control [nzSpan]="8">
     <app-upload-image-with-preview
-      [picUrl]="item.pic_url"
-      (imageUploaded)="onImageUploadSuccess($event, 'pic_url')"
+      [picUrl]="item.contentObj.pic_id"
+      (imageUploaded)="onHandleQuestionImage($event)"
     ></app-upload-image-with-preview>
-
-    <app-audio-recorder
-      [audioUrl]="item.audio_url"
-      (audioUploaded)="onAudioUploadSuccess($event, 'audio_url')"
-    ></app-audio-recorder>
-    <app-custom-hot-zone></app-custom-hot-zone>
-    <app-upload-video></app-upload-video>
-    <app-lesson-title-config></app-lesson-title-config>
-  </div>
- 
-
-</div>
- 
\ No newline at end of file
+    <input type="text" nz-input placeholder="Please input title"
+           [(ngModel)]="item.contentObj.title" (blur)="updateQuestionTitle()">
+  </nz-form-control>
+</nz-form-item>
+<nz-form-item>
+  <nz-form-label [nzSpan]="4">Option</nz-form-label>
+  <nz-form-control [nzSpan]="20">
+    <button
+      nz-button
+      nzType="default"
+      (click)="addNewOptionItem()"
+      [disabled]="options.length >= 4"
+    >
+      <i class="anticon anticon-plus-circle-o"></i>
+      Add
+    </button>
+    <div class="opt-container">
+      <div
+        class="opt-wrap"
+        *ngFor="let item of options; let i = index"
+      >
+        <div class="tool-bar">
+          <label nz-checkbox [ngModel]="item.right" (click)="setRightAnswer(i)" class="right-answer">
+            Right
+          </label>
+          <div class="button-group">
+            <button
+              nz-button
+              nzType="primary"
+              nzSize="small"
+              nzShape="circle"
+              style="margin-right: 1rem;"
+              (click)="onHandleSwitchContent(item)"
+            >
+              <i class="anticon anticon-retweet"></i>
+            </button>
+            <nz-dropdown [nzTrigger]="'click'">
+              <button
+                nz-button
+                nzType="primary"
+                nzSize="small"
+                nzShape="circle"
+                nz-dropdown
+              >
+                <i class="anticon anticon-setting"></i>
+              </button>
+              <ul nz-menu>
+                <li nz-menu-item (click)="onMovePage(i, -1)" [class.disabled]="i < 1">
+                  <i class="anticon anticon-arrow-up"></i>
+                  Move Up
+                </li>
+                <li nz-menu-item (click)="onMovePage(i, 1)" [class.disabled]="i + 1 >= options.length">
+                  <i class="anticon anticon-arrow-down"></i>
+                  Move Down
+                </li>
+                <li nz-menu-item (click)="onDeleteCoursewareItem(i)">
+                  <i class="anticon anticon-delete"></i>
+                  Delete
+                </li>
+              </ul>
+            </nz-dropdown>
+          </div>
+        </div>
+        <div class="content-editor">
+          <input *ngIf="item.type === OPTION_TYPE.TEXT" type="text" nz-input [(ngModel)]="item.text"
+                 placeholder="Please input title" (blur)="updateOptionItemText(i)">
+          <app-upload-image-with-preview
+            *ngIf="item.type === OPTION_TYPE.PIC"
+            [picUrl]="item.pic_id"
+            (imageUploaded)="onHandleOptionItemImage($event, i)"
+          ></app-upload-image-with-preview>
+          <app-audio-recorder *ngIf="item.type === OPTION_TYPE.AUDIO"
+                              [audioUrl]="item.audio_id"
+                              (audioUploaded)="onHandleOptionItemAudio($event, i)">
+          </app-audio-recorder>
+        </div>
+      </div>
+    </div>
+  </nz-form-control>
+</nz-form-item>
diff --git a/src/app/form/form.component.scss b/src/app/form/form.component.scss
new file mode 100644
index 0000000..ba5a8d5
--- /dev/null
+++ b/src/app/form/form.component.scss
@@ -0,0 +1,28 @@
+.opt-container {
+  width: 100%;
+  display: flex;
+  flex-wrap: wrap;
+.opt-wrap {
+  margin: 0 1rem 1rem 0;
+  display: flex;
+  flex-direction: column;
+  height: 14rem;
+  width: 20rem;
+  border: 2px dashed #ddd;
+  border-radius: 0.5rem;
+  padding: 0.8rem;
+.tool-bar {
+  display: flex;
+  justify-content: space-between;
+  align-items: center;
+}
+.content-editor {
+  height: 100%;
+}
+}
+}
+
+.disabled {
+  pointer-events: none;
+  opacity: 0.6;
+}
diff --git a/src/app/form/form.component.ts b/src/app/form/form.component.ts
index 8bf084e..d566857 100644
--- a/src/app/form/form.component.ts
+++ b/src/app/form/form.component.ts
@@ -1,36 +1,53 @@
 import {Component, EventEmitter, Input, OnDestroy, OnChanges, OnInit, Output, ApplicationRef, ChangeDetectorRef} from '@angular/core';
-
+import * as _ from 'lodash';
+import { NzModalService } from 'ng-zorro-antd';
 
 
 @Component({
   selector: 'app-form',
   templateUrl: './form.component.html',
-  styleUrls: ['./form.component.css']
+  styleUrls: ['./form.component.scss']
 })
 export class FormComponent implements OnInit, OnChanges, OnDestroy {
 
   // 储存数据用
-  saveKey = "test_0011";
+  saveKey = 'ww_question';
   // 储存对象
   item;
+  originContent;
+  options = [];
+  OPTION_TYPE = {TEXT: 1, PIC: 2, AUDIO: 3};
 
 
-  constructor(private appRef: ApplicationRef,private changeDetectorRef: ChangeDetectorRef) {
+  constructor(private appRef: ApplicationRef,
+              private modalService: NzModalService,
+              private changeDetectorRef: ChangeDetectorRef) {
 
   }
 
 
   ngOnInit() {
 
-    this.item = {};
+    this.item = {
+      contentObj: {}
+    };
 
     // 获取存储的数据
-    (<any> window).courseware.getData((data) => {
+    (window as any).courseware.getData((data) => {
 
       if (data) {
         this.item = data;
+        this.originContent = {...this.item.contentObj};
+        this.options = _.get(this.item.contentObj, 'options', []);
+        // Ken 2019-04-14 17:41 把showPic, showText的逻辑换为type
+        _.forEach(this.options, o => {
+          if (_.isUndefined(o.type)) {
+            o.type = o.showPic ? this.OPTION_TYPE.PIC : this.OPTION_TYPE.TEXT;
+          }
+        });
       }
 
+
       this.init();
       this.changeDetectorRef.markForCheck();
       this.changeDetectorRef.detectChanges();
@@ -54,25 +71,18 @@ export class FormComponent implements OnInit, OnChanges, OnDestroy {
   }
 
 
-  /**
-   * 储存图片数据
-   * @param e
-   */
-  onImageUploadSuccess(e, key) {
-
-      this.item[key] = e.url;
-      this.save();
-  }
+  // onImageUploadSuccess(e, key) {
+  //
+  //     this.item[key] = e.url;
+  //     this.save();
+  // }
 
-  /**
-   * 储存音频数据
-   * @param e
-   */
-  onAudioUploadSuccess(e, key) {
 
-    this.item[key] = e.url;
-    this.save();
-  }
+  // onAudioUploadSuccess(e, key) {
+  //
+  //   this.item[key] = e.url;
+  //   this.save();
+  // }
 
 
 
@@ -80,7 +90,7 @@ export class FormComponent implements OnInit, OnChanges, OnDestroy {
    * 储存数据
    */
   save() {
-    (<any> window).courseware.setData(this.item, null, this.saveKey);
+    (window as any).courseware.setData(this.item, null, this.saveKey);
     this.refresh();
   }
 
@@ -93,5 +103,86 @@ export class FormComponent implements OnInit, OnChanges, OnDestroy {
     }, 1);
   }
 
+
+  onHandleQuestionImage(e) {
+    this.item.contentObj.pic_id = e.url;
+    this.save();
+  }
+
+  updateQuestionTitle() {
+    this.save();
+  }
+
+  onHandleOptionItemImage(e, index) {
+    this.options[index].pic_id = e.url;
+    this.item.contentObj.options = this.options;
+    this.save();
+  }
+
+  onHandleOptionItemAudio(e, index) {
+    this.options[index].audio_id = e.url;
+    this.item.contentObj.options = this.options;
+    this.save();
+  }
+
+  updateOptionItemText(index) {
+    this.item.contentObj.options = this.options;
+    this.save();
+  }
+
+  setRightAnswer(index) {
+    this.options[index].right = !this.options[index].right;
+    this.item.contentObj.options = this.options;
+    this.save();
+  }
+
+  addNewOptionItem() {
+    const content = {
+      text: '',
+      pic_id: null,
+      right: false,
+      type: this.OPTION_TYPE.TEXT,
+    };
+    this.options.push(content);
+  }
+
+  onHandleSwitchContent(item) {
+    switch (item.type) {
+      case this.OPTION_TYPE.TEXT:
+        item.type = this.OPTION_TYPE.PIC;
+        break;
+      case this.OPTION_TYPE.PIC:
+        item.type = this.OPTION_TYPE.AUDIO;
+        break;
+      case this.OPTION_TYPE.AUDIO:
+        item.type = this.OPTION_TYPE.TEXT;
+        break;
+    }
+    this.item.contentObj.options = this.options;
+    this.save();
+  }
+  onMovePage(index, direction) {
+    const temp = this.options[index + direction];
+    this.options[index + direction] = this.options[index];
+    this.options[index] = temp;
+    this.options = [...this.options];
+    this.item.contentObj.options = this.options;
+    this.save();
+  }
+
+  onDeleteCoursewareItem(index) {
+    this.modalService.confirm({
+      nzTitle: 'Are you sure delete this?',
+      nzOkText: 'Yes',
+      nzOkType: 'danger',
+      nzCancelText: 'No',
+      nzOnOk: () => {
+        this.options.splice(index, 1);
+        this.item.contentObj.options = this.options;
+        this.save();
+      },
+    });
+  }
+
 }
 
diff --git a/src/app/play/play.component.css b/src/app/play/play.component.css
deleted file mode 100644
index bbda495..0000000
--- a/src/app/play/play.component.css
+++ /dev/null
@@ -1,19 +0,0 @@
-.game-container {
-  width: 100%;
-  height: 100%;
-  background: #ffffff;
-  background-size: cover;
-}
-
-#canvas {
-
-}
-
-
-
-@font-face
-{
-  font-family: 'BRLNSDB';
-  src: url("../../assets/font/BRLNSDB.TTF") ;
-}
-
diff --git a/src/app/play/play.component.html b/src/app/play/play.component.html
index 960fb49..467a975 100644
--- a/src/app/play/play.component.html
+++ b/src/app/play/play.component.html
@@ -1,3 +1,31 @@
-<div class="game-container" #wrap>
-  <canvas id="canvas" #canvas></canvas>
+<div class="question-player">
+  <div class="top-part">
+    <img
+      *ngIf="data.contentObj.pic_id"
+      [src]="data.contentObj.pic_id "
+      alt="cover"
+      (dragstart)="false;$event.preventDefault();"
+      (click)="onHandleZoomIn()"
+      [@zoom]="zoomIn ? 'in' : 'none'"
+    />
+    <div class="title">{{data.contentObj.title}}</div>
+  </div>
+  <div class="opt-container">
+    <div
+      class="opt-wrap"
+      *ngFor="let item of options; let i = index"
+      [@tip-border]="item.state || 'none'"
+      (click)="handleAnimation(item)"
+    >
+      <span class="opt-circle" [@tip-circle]="item.state || 'none'">{{transCharCode(i)}}</span>
+      <div class="text" *ngIf="item.type === OPTION_TYPE.TEXT">{{item.text}}</div>
+      <div class="audio" style="text-align: center" *ngIf="item.type === OPTION_TYPE.AUDIO" (click)="playAudio(item, $event)">
+        <i class="anticon anticon-sound"></i>
+      </div>
+      <img *ngIf="item.type === OPTION_TYPE.PIC" [src]="item.pic_id" alt=""
+           (dragstart)="false;$event.preventDefault();"/>
+    </div>
+  </div>
+  <!--<img src="/assets/question/left.png" alt="ufo" class="left-ufo" (dragstart)="false;$event.preventDefault();">-->
+  <!--<img src="/assets/question/right.png" alt="ufo" class="right-ufo" (dragstart)="false;$event.preventDefault();">-->
 </div>
diff --git a/src/app/play/play.component.scss b/src/app/play/play.component.scss
new file mode 100644
index 0000000..fa89670
--- /dev/null
+++ b/src/app/play/play.component.scss
@@ -0,0 +1,103 @@
+.question-player {
+  display: flex;
+  flex-direction: column;
+  align-items: center;
+  height: 100%;
+  width: 100%;
+  background-image: url("../../assets/common_bg.jpg");
+  background-size: cover;
+  background-repeat: no-repeat;
+
+.top-part {
+  height: 35%;
+  min-width: 60%;
+  max-width: 90%;
+  display: flex;
+  justify-content: center;
+  align-items: center;
+
+img {
+//width: 40%;
+  height: 60%;
+  margin-right: 1.5rem;
+  object-fit: contain;
+}
+.title {
+  font-size: 2.5rem;
+  color: #ffb00f;
+  background-color: white;
+  padding: 0.5rem 1rem;
+  border-radius: 1rem;
+}
+}
+.opt-container {
+  height: 55%;
+  width: 80%;
+  display: flex;
+  justify-content: center;
+  align-items: center;
+  flex-wrap: wrap;
+
+.opt-wrap {
+  width: 30%;
+  height: 45%;
+  position: relative;
+  background-color: #ffffff;
+  margin: 1rem;
+  border-radius: 0.8rem;
+  display: flex;
+  justify-content: center;
+  align-items: center;
+  border: 0.3rem solid #ffffff;
+
+.opt-circle {
+  width: 2.5rem;
+  height: 2.5rem;
+  background-color: #ffffff;
+  position: absolute;
+  border-radius: 50%;
+  left: -1rem;
+  top: -1rem;
+  text-align: center;
+  line-height: 2.5rem;
+  font-size: 24px;
+  font-weight: 500;
+}
+
+img {
+  width: 100%;
+  height: 100%;
+  object-fit: contain;
+}
+
+.text {
+  font-size: 28px;
+  font-weight: 500;
+}
+
+.audio {
+  color: white;
+  background-color: #00BCD4;
+  border-radius: 5px;
+  font-size: 5vh;
+  font-weight: 500;
+  width: 13vh;
+  cursor: pointer;
+}
+}
+}
+.left-ufo {
+  width: 10%;
+  object-fit: contain;
+  position: absolute;
+  left: 15vh;
+  bottom: 20vh;
+}
+.right-ufo {
+  width: 10%;
+  object-fit: contain;
+  position: absolute;
+  right: 15vh;
+  bottom: 20vh;
+}
+}
diff --git a/src/app/play/play.component.ts b/src/app/play/play.component.ts
index f4b8a86..cdda010 100644
--- a/src/app/play/play.component.ts
+++ b/src/app/play/play.component.ts
@@ -1,5 +1,5 @@
 import {Component, ElementRef, ViewChild, OnInit, Input, OnDestroy, HostListener} from '@angular/core';
-
+import * as _ from 'lodash';
 import {
   Label,
   MySprite, tweenChange,
@@ -11,6 +11,7 @@ import {Subject} from 'rxjs';
 import {debounceTime} from 'rxjs/operators';
 
 import TWEEN from '@tweenjs/tween.js';
+import { animate, keyframes, state, style, transition, trigger } from '@angular/animations';
 
 
 
@@ -18,662 +19,161 @@ import TWEEN from '@tweenjs/tween.js';
 @Component({
   selector: 'app-play',
   templateUrl: './play.component.html',
-  styleUrls: ['./play.component.css']
+  styleUrls: ['./play.component.scss'],
+  animations: [
+    trigger('tip-border', [
+      state('right', style({border: '0.3rem solid #52E55D', 'background-color': '#52E55D', transform: 'scale(1)'})),
+      state('none', style({transform: 'scale(1)'})),
+      state('wrong', style({border: '0.3rem solid #ff3333', 'background-color': '#ff3333', transform: 'scale(1)'})),
+      transition('none => wrong', animate('.2s ease-in', keyframes([
+        style({transform: 'scale(1)'}),
+        style({transform: 'scale(0.6)'}),
+        style({transform: 'scale(1)'}),
+      ]))), // 第一个参数:动画时间, 第二个参数:动画延迟时间
+      transition('none => right', animate('.2s ease-in', keyframes([
+        style({transform: 'scale(1)'}),
+        style({transform: 'scale(0.6)'}),
+        style({transform: 'scale(1)'}),
+      ]))),
+      transition('wrong => none', animate('.2s ease-out'))
+    ]),
+    trigger('tip-circle', [
+      state('right', style({'background-color': '#52E55D'})),
+      state('none', style({})),
+      state('wrong', style({'background-color': '#ff3333'})),
+      transition('none => wrong', animate('.2s ease-in')), // 第一个参数:动画时间, 第二个参数:动画延迟时间
+      transition('none => right', animate('.2s ease-in')),
+      transition('wrong => none', animate('.2s ease-out'))
+    ]),
+    trigger('zoom', [
+      state('in', style({
+        position: 'absolute', 'z-index': '1', top: '0', left: '0', right: '0', bottom: '0', margin: 'auto',
+        height: '60%', 'object-fit': 'contain', 'max-width': '80%'
+      })),
+      state('none', style({})),
+      transition('none => in', animate('.3s', keyframes([
+        style({
+          height: '10%', position: 'absolute', 'z-index': '1', top: '0', left: '0',
+          right: '0', bottom: '0', margin: 'auto', 'object-fit': 'contain', 'max-width': '80%',
+          opacity: '0'
+        }),
+        style({
+          height: '20%', position: 'absolute', 'z-index': '1', top: '0', left: '0',
+          right: '0', bottom: '0', margin: 'auto', 'object-fit': 'contain', 'max-width': '80%',
+          opacity: '0.2'
+        }),
+        style({
+          height: '30%', position: 'absolute', 'z-index': '1', top: '0', left: '0',
+          right: '0', bottom: '0', margin: 'auto', 'object-fit': 'contain', 'max-width': '80%',
+          opacity: '0.4'
+        }),
+        style({
+          height: '40%', position: 'absolute', 'z-index': '1', top: '0', left: '0',
+          right: '0', bottom: '0', margin: 'auto', 'object-fit': 'contain', 'max-width': '80%',
+          opacity: '0.6'
+        }),
+        style({
+          height: '50%', position: 'absolute', 'z-index': '1', top: '0', left: '0',
+          right: '0', bottom: '0', margin: 'auto', 'object-fit': 'contain', 'max-width': '80%',
+          opacity: '0.8'
+        }),
+      ]))), // 第一个参数:动画时间, 第二个参数:动画延迟时间
+      transition('in => none', animate('.5s ease-out'))
+    ])
+  ]
 })
 export class PlayComponent implements OnInit, OnDestroy {
-
-  @ViewChild('canvas', {static: true }) canvas: ElementRef;
-  @ViewChild('wrap', {static: true }) wrap: ElementRef;
+  saveKey = 'ww_question';
+  options;
+  zoomIn;
+  rightAudio = new Audio();
+  wrongAudio = new Audio();
+  OPTION_TYPE = {TEXT: 1, PIC: 2, AUDIO: 3};
+  optionAudio = new Audio();
 
   // 数据
   data;
-
-  ctx;
-
-  canvasWidth = 1280; // canvas实际宽度
-  canvasHeight = 720; // canvas实际高度
-
-  canvasBaseW = 1280; // canvas 资源预设宽度
-  canvasBaseH = 720;  // canvas 资源预设高度
-
-  mx; // 点击x坐标
-  my; // 点击y坐标
-
-
-  // 资源
-  rawImages = new Map(res);
-  rawAudios = new Map(resAudio);
-
-  images = new Map();
-
-  animationId: any;
-  winResizeEventStream = new Subject();
-
-  audioObj = {};
-
-  renderArr;
-  mapScale = 1;
-
-  canvasLeft;
-  canvasTop;
-
-  saveKey = 'test_0011';
-
-
-  btnLeft;
-  btnRight;
-  pic1;
-  pic2;
-
-  canTouch = true;
-
-  curPic;
-
-  @HostListener('window:resize', ['$event'])
-  onResize(event) {
-    this.winResizeEventStream.next();
+  constructor() {
+    this.rightAudio.src = '/assets/right.mp3';
+    this.rightAudio.load();
+    this.wrongAudio.src = '/assets/wrong.mp3';
+    this.wrongAudio.load();
   }
 
 
-  ngOnInit() {
 
-    this.data = {};
+  ngOnInit() {
 
+    this.data = {
+      contentObj: {}
+    };
+    this.zoomIn = false;
+    this.options = _.get(this.data.contentObj, 'options', []).map(item => {
+      item.state = '';
+      // Ken 2019-04-15 22:38  把showPic, showText的逻辑换为type
+      if (_.isUndefined(item.type)) {
+        item.type = item.showPic ? this.OPTION_TYPE.PIC : this.OPTION_TYPE.TEXT;
+      }
+      return item;
+    });
     // 获取数据
-    const getData = (<any> window).courseware.getData;
+    const getData = (window as any).courseware.getData;
     getData((data) => {
 
-      if (data && typeof data == 'object') {
+      if (data && typeof data === 'object') {
         this.data = data;
+        this.zoomIn = false;
+        this.options = _.get(this.data.contentObj, 'options', []).map(item => {
+          item.state = '';
+          // Ken 2019-04-15 22:38  把showPic, showText的逻辑换为type
+          if (_.isUndefined(item.type)) {
+            item.type = item.showPic ? this.OPTION_TYPE.PIC : this.OPTION_TYPE.TEXT;
+          }
+          return item;
+        });
       }
-      // console.log('data:' , data);
-
-      // 初始化 各事件监听
-      this.initListener();
-
-      // 若无数据 则为预览模式 需要填充一些默认数据用来显示
-      this.initDefaultData();
-
-      // 初始化 音频资源
-      this.initAudio();
-      // 初始化 图片资源
-      this.initImg();
-      // 开始预加载资源
-      this.load();
 
+      if (window['air']) {
+        window['air'].hideAirClassLoading(this.saveKey, this.data);
+      }
     }, this.saveKey);
 
   }
 
   ngOnDestroy() {
-    window['curCtx'] = null;
-    window.cancelAnimationFrame(this.animationId);
-  }
-
-
-  load() {
-
-    // 预加载资源
-    this.loadResources().then(() => {
-      window["air"].hideAirClassLoading(this.saveKey, this.data);
-      this.init();
-      this.update();
-    });
-  }
-
-
-  init() {
-
-    this.initCtx();
-    this.initData();
-    this.initView();
-  }
-
-  initCtx() {
-    this.canvasWidth = this.wrap.nativeElement.clientWidth;
-    this.canvasHeight = this.wrap.nativeElement.clientHeight;
-    this.canvas.nativeElement.width = this.wrap.nativeElement.clientWidth;
-    this.canvas.nativeElement.height = this.wrap.nativeElement.clientHeight;
-
-
-    this.ctx = this.canvas.nativeElement.getContext('2d');
-    this.canvas.nativeElement.width = this.canvasWidth;
-    this.canvas.nativeElement.height = this.canvasHeight;
-
-    window['curCtx'] = this.ctx;
-  }
-
-
-
-
-
-
-  updateItem(item) {
-    if (item) {
-      item.update();
-    }
-  }
-
-  updateArr(arr) {
-    if (!arr) {
-      return;
-    }
-    for (let i = 0; i < arr.length; i++) {
-      arr[i].update(this);
-    }
-  }
-
-
-
-
-
-
-
-  initListener() {
-
-    this.winResizeEventStream
-      .pipe(debounceTime(500))
-      .subscribe(data => {
-        this.renderAfterResize();
-      });
-
-
-    // ---------------------------------------------
-    const setParentOffset = () => {
-      const rect = this.canvas.nativeElement.getBoundingClientRect();
-      this.canvasLeft = rect.left;
-      this.canvasTop = rect.top;
-    };
-    const setMxMyByTouch = (event) => {
-      if (event.touches.length <= 0) {
-        return;
-      }
-      if (this.canvasLeft == null) {
-        setParentOffset();
-      }
-      this.mx = event.touches[0].pageX - this.canvasLeft;
-      this.my = event.touches[0].pageY - this.canvasTop;
-    };
-
-    const setMxMyByMouse = (event) => {
-      this.mx = event.offsetX;
-      this.my = event.offsetY;
-    };
-    // ---------------------------------------------
-
-
-    let firstTouch = true;
-
-    const touchDownFunc = (e) => {
-      if (firstTouch) {
-        firstTouch = false;
-        removeMouseListener();
-      }
-      setMxMyByTouch(e);
-      this.mapDown(e);
-    };
-    const touchMoveFunc = (e) => {
-      setMxMyByTouch(e);
-      this.mapMove(e);
-    };
-    const touchUpFunc = (e) => {
-      setMxMyByTouch(e);
-      this.mapUp(e);
-    };
-
-    const mouseDownFunc = (e) => {
-      if (firstTouch) {
-        firstTouch = false;
-        removeTouchListener();
-      }
-      setMxMyByMouse(e);
-      this.mapDown(e);
-    };
-    const mouseMoveFunc = (e) => {
-      setMxMyByMouse(e);
-      this.mapMove(e);
-    };
-    const mouseUpFunc = (e) => {
-      setMxMyByMouse(e);
-      this.mapUp(e);
-    };
-
-
-    const element = this.canvas.nativeElement;
-
-    const addTouchListener = () => {
-      element.addEventListener('touchstart', touchDownFunc);
-      element.addEventListener('touchmove', touchMoveFunc);
-      element.addEventListener('touchend', touchUpFunc);
-      element.addEventListener('touchcancel', touchUpFunc);
-    };
-    const removeTouchListener = () => {
-      element.removeEventListener('touchstart', touchDownFunc);
-      element.removeEventListener('touchmove', touchMoveFunc);
-      element.removeEventListener('touchend', touchUpFunc);
-      element.removeEventListener('touchcancel', touchUpFunc);
-    };
-
-    const addMouseListener = () => {
-      element.addEventListener('mousedown', mouseDownFunc);
-      element.addEventListener('mousemove', mouseMoveFunc);
-      element.addEventListener('mouseup', mouseUpFunc);
-    };
-    const removeMouseListener = () => {
-      element.removeEventListener('mousedown', mouseDownFunc);
-      element.removeEventListener('mousemove', mouseMoveFunc);
-      element.removeEventListener('mouseup', mouseUpFunc);
-    };
-
-    addMouseListener();
-    addTouchListener();
-  }
-
-
-  playAudio(key, now = false, callback = null) {
-
-    const audio = this.audioObj[key];
-    if (audio) {
-      if (now) {
-        audio.pause();
-        audio.currentTime = 0;
-      }
-
-      if (callback) {
-        audio.onended = () => {
-          callback();
-        };
-      }
-      audio.play();
-    }
-  }
-
-
-
-  loadResources() {
-    const pr = [];
-    this.rawImages.forEach((value, key) => {// 预加载图片
-
-      const p = this.preload(value)
-        .then(img => {
-          this.images.set(key, img);
-        })
-        .catch(err => console.log(err));
-
-      pr.push(p);
-    });
-
-    this.rawAudios.forEach((value, key) => {// 预加载音频
-
-      const a = this.preloadAudio(value)
-        .then(() => {
-          // this.images.set(key, img);
-        })
-        .catch(err => console.log(err));
-
-      pr.push(a);
-    });
-    return Promise.all(pr);
-  }
-
-  preload(url) {
-    return new Promise((resolve, reject) => {
-      const img = new Image();
-      // img.crossOrigin = "anonymous";
-      img.onload = () => resolve(img);
-      img.onerror = reject;
-      img.src = url;
-    });
-  }
-
-  preloadAudio(url) {
-    return new Promise((resolve, reject) => {
-      const audio = new Audio();
-      audio.oncanplay = (a) => {
-        resolve();
-      };
-      audio.onerror = () => {
-        reject();
-      };
-      audio.src = url;
-      audio.load();
-    });
-  }
-
-
-  renderAfterResize() {
-    this.canvasWidth = this.wrap.nativeElement.clientWidth;
-    this.canvasHeight = this.wrap.nativeElement.clientHeight;
-    this.init();
-  }
-
-
-
-
-
-  checkClickTarget(target) {
-
-    const rect = target.getBoundingBox();
-
-    if (this.checkPointInRect(this.mx, this.my, rect)) {
-      return true;
-    }
-    return false;
-  }
-
-  getWorlRect(target) {
-
-    let rect = target.getBoundingBox();
-
-    if (target.parent) {
-
-      const pRect = this.getWorlRect(target.parent);
-      rect.x += pRect.x;
-      rect.y += pRect.y;
-    }
-    return rect;
-  }
-
-  checkPointInRect(x, y, rect) {
-    if (x >= rect.x && x <= rect.x + rect.width) {
-      if (y >= rect.y && y <= rect.y + rect.height) {
-        return true;
-      }
-    }
-    return false;
-  }
-
-
-
-
-
-  addUrlToAudioObj(key, url = null, vlomue = 1, loop = false, callback = null) {
-
-    const audioObj = this.audioObj;
-
-    if (url == null) {
-      url = key;
-    }
-
-    this.rawAudios.set(key, url);
-
-    const audio = new Audio();
-    audio.src = url;
-    audio.load();
-    audio.loop = loop;
-    audio.volume = vlomue;
-
-    audioObj[key] = audio;
-
-    if (callback) {
-      audio.onended = () => {
-        callback();
-      };
-    }
-  }
-
-  addUrlToImages(url) {
-    this.rawImages.set(url, url);
-  }
-
-
-
-
-
-
-  // ======================================================编写区域==========================================================================
-
-
-
-
-
-  /**
-   * 添加默认数据 便于无数据时的展示
-   */
-  initDefaultData() {
-
-    if (!this.data.pic_url) {
-      this.data.pic_url = 'assets/play/default/pic.jpg';
-      this.data.pic_url_2 = 'assets/play/default/pic.jpg';
-    }
-  }
-
-
-  /**
-   * 添加预加载图片
-   */
-  initImg() {
-
-    this.addUrlToImages(this.data.pic_url);
-    this.addUrlToImages(this.data.pic_url_2);
-
-  }
-
-  /**
-   * 添加预加载音频
-   */
-  initAudio() {
-
-    // 音频资源
-    this.addUrlToAudioObj(this.data.audio_url);
-    this.addUrlToAudioObj(this.data.audio_url_2);
-
-    // 音效
-    this.addUrlToAudioObj('click', this.rawAudios.get('click'), 0.3);
-
-  }
-
-
-
-  /**
-   * 初始化数据
-   */
-  initData() {
-
-    const sx = this.canvasWidth / this.canvasBaseW;
-    const sy = this.canvasHeight / this.canvasBaseH;
-    const s = Math.min(sx, sy);
-    this.mapScale = s;
-
-    // this.mapScale = sx;
-    // this.mapScale = sy;
-
-
-    this.renderArr = [];
-
-
-
-  }
-
-
-
-  /**
-   * 初始化试图
-   */
-  initView() {
-
-
-    this.initPic();
-
-    this.initBottomPart();
-
-  }
-
-  initBottomPart() {
-
-    const btnLeft = new MySprite();
-    btnLeft.init(this.images.get('btn_left'));
-    btnLeft.x = this.canvasWidth - 150 * this.mapScale;
-    btnLeft.y = this.canvasHeight - 100 * this.mapScale;
-
-    btnLeft.setScaleXY(this.mapScale);
-
-    this.renderArr.push(btnLeft);
-
-    this.btnLeft = btnLeft;
-
-
-
-    const btnRight = new MySprite();
-    btnRight.init(this.images.get('btn_right'));
-    btnRight.x = this.canvasWidth - 50 * this.mapScale;
-    btnRight.y = this.canvasHeight - 100 * this.mapScale;
-    btnRight.setScaleXY(this.mapScale);
-
-    this.renderArr.push(btnRight);
-
-    this.btnRight = btnRight;
+    this.rightAudio.pause();
+    this.wrongAudio.pause();
+    this.optionAudio.pause();
+    this.rightAudio = null;
+    this.wrongAudio = null;
+    this.optionAudio = null;
   }
 
-  initPic() {
-
-    const maxW = this.canvasWidth * 0.7;
-
-    const pic1 = new MySprite();
-    pic1.init(this.images.get(this.data.pic_url));
-    pic1.x = this.canvasWidth / 2;
-    pic1.y = this.canvasHeight / 2;
-    pic1.setScaleXY(maxW / pic1.width);
-
-    this.renderArr.push(pic1);
-    this.pic1 = pic1;
-
-
-    const label1 = new Label();
-    label1.text = this.data.text;
-    label1.textAlign = 'center';
-    label1.fontSize = 50;
-    label1.fontName = 'BRLNSDB';
-    label1.fontColor = '#ffffff';
-
-    pic1.addChild(label1);
-
-
-
-
-
-    const pic2 = new MySprite();
-    pic2.init(this.images.get(this.data.pic_url_2));
-    pic2.x = this.canvasWidth / 2 + this.canvasWidth;
-    pic2.y = this.canvasHeight / 2;
-    pic2.setScaleXY(maxW / pic2.width);
-
-    this.renderArr.push(pic2);
-    this.pic2 = pic2;
-
-    this.curPic = pic1;
+  transCharCode(index) {
+    return String.fromCharCode(65 + index);
   }
 
-
-  btnLeftClicked() {
-
-    this.lastPage();
-  }
-
-  btnRightClicked() {
-
-    this.nextPage();
-  }
-
-  lastPage() {
-
-    if (this.curPic == this.pic1) {
-      return;
+  handleAnimation(item) {
+    if (item.right) {
+      item.state = 'right';
+      this.rightAudio.play();
+    } else {
+      item.state = 'wrong';
+      this.wrongAudio.play();
+      setTimeout(() => {
+        item.state = '';
+      }, 1500);
     }
-
-    this.canTouch = false;
-
-    const moveLen = this.canvasWidth;
-    tweenChange(this.pic1, {x: this.pic1.x + moveLen}, 1);
-    tweenChange(this.pic2, {x: this.pic2.x + moveLen}, 1, () => {
-      this.canTouch = true;
-      this.curPic = this.pic1;
-    });
   }
 
-  nextPage() {
-
-    if (this.curPic == this.pic2) {
-      return;
-    }
-
-    this.canTouch = false;
-
-    const moveLen = this.canvasWidth;
-    tweenChange(this.pic1, {x: this.pic1.x - moveLen}, 1);
-    tweenChange(this.pic2, {x: this.pic2.x - moveLen}, 1, () => {
-      this.canTouch = true;
-      this.curPic = this.pic2;
-    });
+  onHandleZoomIn() {
+    this.zoomIn = !this.zoomIn;
   }
 
-  pic1Clicked() {
-    this.playAudio(this.data.audio_url);
+  playAudio(option, e) {
+    e.stopPropagation();
+    this.optionAudio.src = option.audio_id;
+    // this.optionAudio.load();
+    this.optionAudio.play();
   }
-
-  pic2Clicked() {
-    this.playAudio(this.data.audio_url_2);
-  }
-
-
-
-
-
-  mapDown(event) {
-
-    if (!this.canTouch) {
-      return;
-    }
-
-    if ( this.checkClickTarget(this.btnLeft) ) {
-      this.btnLeftClicked();
-      return;
-    }
-
-    if ( this.checkClickTarget(this.btnRight) ) {
-      this.btnRightClicked();
-      return;
-    }
-
-    if ( this.checkClickTarget(this.pic1) ) {
-      this.pic1Clicked();
-      return;
-    }
-
-    if ( this.checkClickTarget(this.pic2) ) {
-      this.pic2Clicked();
-      return;
-    }
-
-  }
-
-  mapMove(event) {
-
-  }
-
-  mapUp(event) {
-
-  }
-
-
-
-  update() {
-
-    // ----------------------------------------------------------
-    this.animationId = window.requestAnimationFrame(this.update.bind(this));
-    // 清除画布内容
-    this.ctx.clearRect(0, 0, this.canvasWidth, this.canvasHeight);
-    // tween 更新动画
-    TWEEN.update();
-    // ----------------------------------------------------------
-
-
-
-    this.updateArr(this.renderArr);
-
-
-  }
-
-
-
 }
diff --git a/src/app/style/mixin.scss b/src/app/style/mixin.scss
new file mode 100644
index 0000000..dd32d36
--- /dev/null
+++ b/src/app/style/mixin.scss
@@ -0,0 +1,18 @@
+@mixin hide-overflow-text {
+  text-overflow: ellipsis;
+  white-space: nowrap;
+  overflow: hidden;
+}
+
+@mixin k-no-select {
+  -webkit-user-select: none;
+  -moz-user-select: none;
+  -ms-user-select: none;
+  user-select: none;
+}
+
+@mixin k-img-bg {
+  background-repeat: no-repeat;
+  background-position: center;
+  background-size: contain;
+}
diff --git a/src/assets/common_bg.jpg b/src/assets/common_bg.jpg
new file mode 100755
index 0000000000000000000000000000000000000000..e1a3aac22a633ca64eb9bc038d0be799e5fda585
GIT binary patch
literal 57206
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
UAdF;Df;dwg>{6E9iT`f`0Pem-MF0Q*

literal 0
HcmV?d00001

diff --git a/src/assets/right.mp3 b/src/assets/right.mp3
new file mode 100644
index 0000000000000000000000000000000000000000..c02694bcae3bd70abeca0d77230e47c33a829434
GIT binary patch
literal 12525
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
M>uxjue>IZ-0u%=&bpQYW

literal 0
HcmV?d00001

diff --git a/src/assets/wrong.mp3 b/src/assets/wrong.mp3
new file mode 100644
index 0000000000000000000000000000000000000000..6c4b324803190f0a4c9ca28742a34c55962d74f0
GIT binary patch
literal 7362
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
M>sv>9|MPm<--}qy761SM

literal 0
HcmV?d00001

diff --git a/src/styles.css b/src/styles.css
deleted file mode 100644
index 90d4ee0..0000000
--- a/src/styles.css
+++ /dev/null
@@ -1 +0,0 @@
-/* You can add global styles to this file, and also import other style files */
diff --git a/src/styles.scss b/src/styles.scss
new file mode 100644
index 0000000..4c1a339
--- /dev/null
+++ b/src/styles.scss
@@ -0,0 +1,51 @@
+/* You can add global styles to this file, and also import other style files */
+
+/* You can add global styles to this file, and also import other style files */
+/* You can add global styles to this file, and also import other style files */
+
+html, body {
+  width: 100%;
+  height: 100%;
+  font-size: 16px;
+}
+
+body {
+  background-color: #f0f2f5 !important;
+}
+
+* {
+  outline: none;
+}
+
+@font-face {
+  font-family: ChalkboardSE-Regular;
+  src: url('/assets/font/ChalkboardSE-Regular.woff') format('WOFF');
+}
+
+.k-16-9 {
+  position: relative;
+  width: 100%;
+  height: fit-content;
+&:before {
+   content: "";
+   display: block;
+   position: relative;
+   width: 100%;
+   height: 0;
+   padding-bottom: 56.25%;
+ }
+}
+
+.k-full-fill {
+  position: absolute;
+  left: 0;
+  right: 0;
+  top: 0;
+  bottom: 0;
+}
+
+.k-flex-center {
+  display: flex;
+  align-items: center;
+  justify-content: center;
+}
-- 
2.21.0