0.0.1-rc.22 • Published 5 months ago

@taole/ddgift v0.0.1-rc.22

Weekly downloads
-
License
-
Repository
-
Last release
5 months ago

项目介绍

礼物模块

开发

npm install
npm run dev

打包发布

npm run build:npm
npm publish . --access=public

使用

import taoleGift from "@taole/ddgift/npm/ddgift.es.js";
import "@taole/ddgift/npm/ddgift.css";
import { showTips } from "@/common/showtips";

let isInited;
function initGiftPannel() {
    if(isInited){
        return;
    }
    isInited= true;
    taoleGift.init({
        target: document.getElementById("gift-box"),
        showTips:showTips,
        resolveUsers: async function () {
            // const selfUid = chatCache.selfUid;
            // const userList = getGiftShowUsers();

            const userList = getGiftShowUsers();
            // userList 数据格式: [{uid:'0', nickname:"送给麦上所有人", color:"red"}]
            return userList.filter(temp => temp.uid !== selfUid);
        },
        openGiftAsync: async ({gift:giftItem,tabId, count}) => {
            return openGift(giftItem,tabId, count); // return [];
        },
        sendGiftAsync: async({gift:giftItem,tabId, count,selectUser})=>{
            // TODO
        }
        requestAsync: url => {
            return jsonp(url);
        },
    });
}



export function showGiftWindow(uid,tabId,giftId){
    initGiftPannel();
    taoleGift.show({
            setChooseUid:uid, // set choose user
            activeNavId:tabId, // set active 的tab
            setGiftId:giftId // set select gift
            setWorth:0  //  default 0 // 同一个giftId时用到setWorth区别选中哪个
    });
}
document.getElementById("opengift").addEventListener("click",function(){
        showGiftWindow(0, 0,148)
})

init全部参数

taoleGift.init({
    target: '', // HTMLElement,
     /**
     * 
     * @param {Object} gift 
     * @param {number} tabId 
     * @returns {string}
     */
    resolveAction: function ({ gift, tabId }) {
        if (tabId === 3 || tabId === 7) {
            // 处理显示动作
            if (gift.type === 24) {
                return 'open';
            } else if (/^(866|873|155|156)$/.test(gift.id)) {
                return 'open';
            } else {
                return 'send';
            }
        } else {
            return 'send';
        }
    },
    /**
     * 
     * @param {Object} gift 
     * @param {number} tabId 
     * @returns {boolean}
     */
    blindGiftFilter: function ({ gift, tabId }) {
        if (tabId === 3 || tabId === 7) {
            return /^(866|873|155|156)$/.test(gift.id);
        } else {
            return false;
        }
    },
    showTips: val => val,
     /**
     * 
     * @param {Object} gift 
     * @param {number} tabId 
     * @returns {Array<{uid,nickname,color}>}
     */
    resolveUsers: () => [],
    /**
     * 
     * @param {Object} gift 
     * @param {number} tabId 
     * @param {number} count 
     * @param {Object} selectUser 
     * @returns {Promise<any>}
     */
    sendGiftAsync: function ({ gift, tabId, count, selectUser }) {
        // console.log('missing sendGfit implement');
        console.log("sendGiftAsync===", gift, count, selectUser);
    },
    /**
     * 
     * @param {Object} gift 
     * @param {number} tabId 
     * @param {number} count 
     * @returns {Promise<any>}
     */
    openGiftAsync: function ({ gift, tabId, count }) {
        // TODO
        return [];
    },
    /**
     * 
     * @param {Object} gift 
     * @param {number} tabId 
     * @param {number} count 
     * @returns {Promise<any>}
     */
    useGiftAsync: function ({ gift, tabId, count }) {
        // TODO
    },
      /**
     * 
     * @param {Object} gift 
     * @param {number} tabId 
     * @returns {void}
     */
    clickGiftItem:function({gift,tabId}){
        // TODO
        return;
    },
    /**
     * 
     * @param {string} url 
     * @returns {Promise<any>}
     */
    requestAsync: function (url) {
        // TODO
    },
})

show全部参数

taoleGift.show({
        activeTabId:0,
        setChooseUid:20485071,
        setGiftId:150
});
0.0.1-rc.22

5 months ago

0.0.1-rc.21

5 months ago

0.0.1-rc.19

5 months ago

0.0.1-rc.18

5 months ago

0.0.1-rc.17

5 months ago

0.0.1-rc.16

5 months ago

0.0.1-rc.15

5 months ago

0.0.1-rc.14

5 months ago

0.0.1-rc.13

5 months ago

0.0.1-rc.12

5 months ago

0.0.1-rc.11

5 months ago

0.0.1-rc.10

5 months ago

0.0.1-rc.9

5 months ago

0.0.1-rc.8

5 months ago

0.0.1-rc.7

5 months ago

0.0.1-rc.6

5 months ago

0.0.1-rc.5

5 months ago

0.0.1-rc.4

5 months ago

0.0.1-rc.3

5 months ago

0.0.1-rc.2

5 months ago

0.0.1-rc.1

5 months ago