@polyv/emotion-sdk
TypeScript icon, indicating that this package has built-in type declarations

3.0.0 • Public • Published

保利威表情 SDK

安装

对于支持使用 npm 的项目,可直接安装到该项目下:

npm install @polyv/emotion-sdk

对于不支持使用 npm 的项目,可以在安装后,拷贝 node_modules/@polyv/emotion-sdk/lib/polyv-emotion.umd.js 到目标项目使用,占用的全局变量为 PolyvEmotionSDK

调用

表情 SDK 提供了一个表情解析器,该解析器必须在表情数据就绪时才能调用。

import { emotionsReady } from '@polyv/emotion-sdk';
emotionsReady((parser) => {
  // ...
});

表情解析器

parse(content, mode)

把指定内容中的表情占位符替换为表情图片。

import { emotionsReady, EmotionParsingMode } from '@polyv/emotion-sdk';
emotionsReady((parser) => {
  // HTML 模式下会把表情占位符替换为 img 元素
  console.log(parser.parse('[微笑][撇嘴]', EmotionParsingMode.HTML));

  // 弹幕模式下会把表情占位符替换为“[[图片地址]]”,主要用于传入到保利威播放器展示弹幕
  console.log(parser.parse('[微笑][撇嘴]', EmotionParsingMode.DANMAKU));
});

removeAll()

移除指定内容中的所有表情占位符。注意,如果表情占位符内的是一个不存在的表情,则不会被移除。

import { emotionsReady } from '@polyv/emotion-sdk';
emotionsReady((parser) => {
  parser.removeAll('[微笑][撇嘴]'); // ''
  parser.removeAll('[没有这个表情]'); // '[没有这个表情]'
});

genDOMList()

生成包含表情列表的 HTML 元素。

import { emotionsReady } from '@polyv/emotion-sdk';
emotionsReady((parser) => {
  document.body.appendChild(parser.genDOMList());
  document.body.appendChild(parser.genDOMList(64)); // 可以指定表情尺寸

  // 可以指定表情尺寸和样式类
  document.body.appendChild(
    parser.genDOMList({
      size: 64,
      cssClass: {
        list: 'my-menu',
        item: 'my-menu-item',
        inner: 'my-menu-item-inner'
      }
    })
  );
});

eachEmotion(cb)

用于遍历表情数据。

import { emotionsReady } from '@polyv/emotion-sdk';
emotionsReady((parser) => {
  parser.eachEmotion((item) => {
    console.dir(item);
  });
});

Readme

Keywords

none

Package Sidebar

Install

npm i @polyv/emotion-sdk

Weekly Downloads

5

Version

3.0.0

License

UNLICENSE

Unpacked Size

129 kB

Total Files

5

Last publish

Collaborators

  • easefun-ci
  • easefun
  • heeroluo