0.2.12 • Published 2 years ago

@hongtangyun/puzzle-libs v0.2.12

Weekly downloads
-
License
ISC
Repository
-
Last release
2 years ago
import {TestPaper, TypeEnum} from '@hongtangyun/puzzle-libs'
import '@hongtangyun/puzzle-libs/dist/styles.css'

1. 编辑组件

1. 题目编辑

import { HTMLEditorLibs } from '@hongtangyun/puzzle-libs';
import '@hongtangyun/puzzle-libs/dist/styles.css';

<HTMLEditorLibs.EditorQ
  upConfig={upConfig}
  data={initData}
  bigQType={initData?.type ? initData?.type : undefined}
  onOk={async (data) => {
    await handleSave(data);
  }}
  onCancel={() => {
    
  }}
  onGetUpConfig={async () => {
    const _up = await getStorageConfig('COS');
    return {
      type: _up.type,
      cosCof: {
        bucket: _up.data.bucket,
        region: _up.data.region,
        startTime: _up.data.startTime,
        expiredTime: _up.data.expiredTime,
        prefix: _up.data.prefix,
        tmpSecretKey: _up.data.credentials.tmpSecretKey,
        tmpSecretId: _up.data.credentials.tmpSecretId,
        sessionToken: _up.data.credentials.sessionToken,
      },
    };
  }}
/>

2. 题目预览

import { HtmlPaperLibs } from '@hongtangyun/puzzle-libs';
import '@hongtangyun/puzzle-libs/dist/styles.css';

<HtmlPaperLibs.ExpandedRowRenderQ
  data={record.sourceData}
/>

3. 试卷编辑

import { EditorPaper } from '@hongtangyun/puzzle-libs';
import '@hongtangyun/puzzle-libs/dist/styles.css';

<EditorPaper
  type="HTML"
  config={{
    initData: initData,
    onGetUpConfig: async () => {
      const _up = await getStorageConfig('COS');
      return {
        type: _up.type,
        cosCof: {
          bucket: _up.data.bucket,
          region: _up.data.region,
          startTime: _up.data.startTime,
          expiredTime: _up.data.expiredTime,
          prefix: _up.data.prefix,
          tmpSecretKey: _up.data.credentials.tmpSecretKey,
          tmpSecretId: _up.data.credentials.tmpSecretId,
          sessionToken: _up.data.credentials.sessionToken,
        },
      };
    },
    onChagne: (data) => {
      setEditorData(data);
    },
    getTopicList: async (page, pageSize, params?: any) => {
      return await getPuzzlesTopic({
        ...params,
        page,
        pageSize,
      });
    },
    onTopicTags: async (page, pageSize, params?: any) => {
      return await getPuzzlesTagsTopic({
        ...params,
        page,
        pageSize,
      });
    },
  }}
/>

4. 试卷预览

import { TestPaper, TypeEnum } from '@hongtangyun/puzzle-libs';
import '@hongtangyun/puzzle-libs/dist/styles.css';

<TestPaper
  layout="all"
  answer={
    {
      // '2ec9b9c187beaae90fc558a056ebbc30': ['ccc'],
      // '5b576156cc3228a511ded14589ea859b': ['xxx'],
      // '3fee91715e83e61acbffad2889bbde0a': ['1234'],
      // '54c8a4770e2d88d19644a3d6163ef5c9': [
      //   'https://hongtangyun-1252095557.cos.ap-chengdu.myqcloud.com/hongtangyun_access/room/625e56bef7e409145c6d882b/1/2022_12_07_18/ac64cf03820a8b8b55f681020938b170.wav',
      // ],
    }
  }
  watermark="测试用户-预览"
  width={windowSize.width}
  height={windowSize.height}
  currentPaper={initData}
  readonly={true}
  showTip={true}
  onChange={async (changeValue, allValue, paperInfo) => {}}
  onSubmit={async (data) => {
    console.log('onSubmit: ', data);
  }}
  onBack={() => {}}
/>

5. 试卷做答

import { TestPaper, TypeEnum } from '@hongtangyun/puzzle-libs';
import '@hongtangyun/puzzle-libs/dist/styles.css';

<TestPaper
  layout="all"
  answer={
    {
      // '2ec9b9c187beaae90fc558a056ebbc30': ['ccc'],
      // '5b576156cc3228a511ded14589ea859b': ['xxx'],
      // '3fee91715e83e61acbffad2889bbde0a': ['1234'],
      // '54c8a4770e2d88d19644a3d6163ef5c9': [
      //   'https://hongtangyun-1252095557.cos.ap-chengdu.myqcloud.com/hongtangyun_access/room/625e56bef7e409145c6d882b/1/2022_12_07_18/ac64cf03820a8b8b55f681020938b170.wav',
      // ],
    }
  }
  watermark="测试用户-预览"
  width={windowSize.width}
  height={windowSize.height}
  currentPaper={initData}
  readonly={false}
  showTip={false}
  onChange={async (changeValue, allValue, paperInfo) => {}}
  onSubmit={async (data) => {
    console.log('onSubmit: ', data);
  }}
  onBack={() => {}}
/>

6. 试卷阅卷

import { TestPaper, TypeEnum } from '@hongtangyun/puzzle-libs';
import '@hongtangyun/puzzle-libs/dist/styles.css';

<TestPaper
  layout="all"
  /**
   * 批改试卷
   */
  isCorrection?: boolean;
  /**
   * 批改试卷回调
   * @param data
   * @returns
   */
  onCorrection?: (
    data:
      | Array<{ score: number; question: SubItem }>
      | { score: number; question: SubItem },
  ) => Promise<boolean>;
  /**
   * 获取当前用户批改试卷分数
   * @param id 题目id
   * @returns
   */
  onGetCorrectionScore?: (id: string) => Promise<number | undefined>;
  answer={
    {
      // '2ec9b9c187beaae90fc558a056ebbc30': ['ccc'],
      // '5b576156cc3228a511ded14589ea859b': ['xxx'],
      // '3fee91715e83e61acbffad2889bbde0a': ['1234'],
      // '54c8a4770e2d88d19644a3d6163ef5c9': [
      //   'https://hongtangyun-1252095557.cos.ap-chengdu.myqcloud.com/hongtangyun_access/room/625e56bef7e409145c6d882b/1/2022_12_07_18/ac64cf03820a8b8b55f681020938b170.wav',
      // ],
    }
  }
  watermark="测试用户-预览"
  width={windowSize.width}
  height={windowSize.height}
  currentPaper={initData}
  readonly={true}
  showTip={true}
  onChange={async (changeValue, allValue, paperInfo) => {}}
  onSubmit={async (data) => {
    console.log('onSubmit: ', data);
  }}
  onBack={() => {}}
/>

7. 参数

upConfig = {
  type: _up.type,
  cosCof: {
    bucket: _up.data.bucket,
    region: _up.data.region,
    startTime: _up.data.startTime,
    expiredTime: _up.data.expiredTime,
    prefix: _up.data.prefix,
    tmpSecretKey: _up.data.credentials.tmpSecretKey,
    tmpSecretId: _up.data.credentials.tmpSecretId,
    sessionToken: _up.data.credentials.sessionToken,
  },
}

utils

import { utils } from '@hongtangyun/puzzle-libs';
// class100题目导入
utils.class100QInput
// class100题目导出 
utils.class100QExport
// class100试卷导入
utils.class100PaperInput
// class100试卷导出 
utils.class100PaperExport
// 编辑器试卷转class100试卷
utils.editorPaperToClass100Paper
// 试卷值转class100值
utils.editorValuesToClass100Values
// 试卷标记转class100标记
utils.editorFlagsToClass100Flags
// 提交试卷 - 检测 必答是否完成
utils.checkPaperAnswerInComplete
// class100提交试卷 - 检测 必答是否完成
utils.checkPaperAnswerIsCompleteForClass100
// 判断富文本为空
utils.isContentEmpty
0.0.84

2 years ago

0.0.85

2 years ago

0.0.86

2 years ago

0.0.87

2 years ago

0.0.88

2 years ago

0.0.89

2 years ago

0.0.80

2 years ago

0.0.81

2 years ago

0.0.82

2 years ago

0.0.83

2 years ago

0.0.73

2 years ago

0.0.74

2 years ago

0.0.75

2 years ago

0.0.76

2 years ago

0.0.77

2 years ago

0.0.78

2 years ago

0.0.79

2 years ago

0.2.12

2 years ago

0.2.11

2 years ago

0.0.70

2 years ago

0.2.10

2 years ago

0.0.71

2 years ago

0.0.72

2 years ago

0.0.62

2 years ago

0.0.63

2 years ago

0.0.64

2 years ago

0.0.65

2 years ago

0.0.66

2 years ago

0.0.67

2 years ago

0.0.68

2 years ago

0.0.69

2 years ago

0.0.60

2 years ago

0.0.61

2 years ago

0.0.59

2 years ago

0.0.51

2 years ago

0.0.52

2 years ago

0.0.53

2 years ago

0.0.54

2 years ago

0.0.55

2 years ago

0.0.56

2 years ago

0.0.57

2 years ago

0.0.58

2 years ago

0.0.50

2 years ago

0.0.48

2 years ago

0.0.49

2 years ago

0.0.40

2 years ago

0.0.41

2 years ago

0.0.42

2 years ago

0.0.43

2 years ago

0.0.44

2 years ago

0.0.46

2 years ago

0.0.47

2 years ago

0.0.37

2 years ago

0.0.38

2 years ago

0.0.39

2 years ago

0.0.30

2 years ago

0.0.31

2 years ago

0.0.32

2 years ago

0.0.33

2 years ago

0.0.34

2 years ago

0.0.35

2 years ago

0.0.36

2 years ago

0.1.2

2 years ago

0.1.1

2 years ago

0.0.26

2 years ago

0.0.27

2 years ago

0.0.28

2 years ago

0.0.29

2 years ago

0.1.4

2 years ago

0.1.3

2 years ago

0.0.20

2 years ago

0.0.21

2 years ago

0.0.22

2 years ago

0.0.23

2 years ago

0.0.24

2 years ago

0.0.25

2 years ago

0.0.95

2 years ago

0.0.96

2 years ago

0.0.97

2 years ago

0.0.98

2 years ago

0.0.99

2 years ago

0.2.0-beta.1

2 years ago

0.2.0-beta.0

2 years ago

0.0.90

2 years ago

0.0.91

2 years ago

0.0.92

2 years ago

0.0.94

2 years ago

0.2.1

2 years ago

0.2.0

2 years ago

0.2.7

2 years ago

0.2.6

2 years ago

0.2.9

2 years ago

0.2.8

2 years ago

0.2.3

2 years ago

0.2.2

2 years ago

0.2.5

2 years ago

0.2.4

2 years ago

0.0.19

2 years ago

0.0.18

2 years ago

0.0.17

2 years ago

0.0.16

2 years ago

0.0.15

2 years ago

0.0.14

2 years ago

0.0.13

2 years ago

0.0.12

2 years ago

0.0.11

2 years ago

0.0.10

2 years ago

0.0.9

2 years ago

0.0.8

2 years ago

0.0.7

2 years ago

0.0.6

2 years ago

0.0.5

2 years ago

0.0.4

2 years ago

0.0.3

2 years ago

0.0.2

2 years ago

0.0.1

2 years ago