npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@paraview/license

v2.0.1

Published

🔧【Bugfix】

Downloads

67

Readme

🎉 @paraview/license 2.0.1 发布

🔧【Bugfix】

  • 【check】非管理员判断增加容错

@paraview/license 2.0.0-rc.3 发布

【check】支持 fullUrl, aboutToExpireDay, requestCallback
【license】支持 fullUrl, requestCallback
【update】支持 fullUrl,requestConfig

@paraview/license 2.0.0-rc.2 发布

【check】支持close
【update】支持close

@paraview/license 2.0.0-rc.1 发布

添加调试文档
【check】添加 allowCloseOnExpiredOrUnauthorized 参数,position 为 center 生效
【update】支持 allowClose

@paraview/license 2.0.0-alpha 发布

license 重构
licenseMessage 重构为 Check,支持传入 uploadProps 参数,用于自定义上传组件
licenseCheck 重构为 Update

    <div class="para-body"></div> 
    var zh = {
        "license.check.later": "后",
        "license.check.custom": "{num}天 ({date}) {later}",
        "license.check.customToday": "今天 ({date}) ",
        "license.check.willExpire": "授权将在{custom}过期,过期后平台将无法使用",
        "license.check.expiredTip": "授权许可过期提醒",
        "license.check.IKnow": "我知道了",
        "license.check.updateLicense": "更新许可",
        "license.licenseMessage.expireToday": "您的软件授权将在今天到期,为保护您的合法权益不受侵害。请{msg}及时更新License。",
        "license.licenseMessage.expireTodayShort": "您的软件授权将在今天到期。",
        "license.checkLicense.authorizationInformation": "授权信息",
        "license.checkLicense.contactAdmin": "联系管理员,",
        "license.checkLicense.authorization": "您的软件未授权,请{msg}获取License授权后使用。",
        "license.checkLicense.activate": "您的软件授权已到期,请{msg}获取新的License重新激活。",
        "license.checkLicense.expiredDays": "您的软件授权已过期{val1}天,请{msg}获取新的License重新激活。",
        "license.licenseMessage.expire": "您的软件授权将在{val1}天后到期,为保护您的合法权益不受侵害。请{msg}及时更新License。",
        "license.licenseMessage.last": "您的软件授权将在{val1}天后到期。",
        "license.licenseMessage.theCurrentSystem": "系统当前最大并发数已达到最高,请购买。",
        "license.licenseMessage.theCurrentSystem2": "系统当前最大并发量已达到{val1}%",
        "license.licenseMessage.currentExcitationOfTheSystem": "系统当前激活设备数已达到最高,请购买。",
        "license.licenseMessage.currentExcitationOfTheSystem2": "系统当前激活设备数已达到{val1}%",
        "license.licenseMessage.authorizeRightNow": "立即授权",
        "license.licenseMessage.tips": "温馨提示",
        "license.updateLicense.pleaseUploadTheFile": "请上传文件后缀为.lic格式的文件,大小不超过{size}M",
        "license.updateLicense.clickOnThePreviousPost": "点击上传文件",
        "license.updateLicense.successfullyUploaded": "已成功上传",
        "license.updateLicense.fileSizeDoesNotMatch": "文件大小不能超过{size}MB",
        "license.updateLicense.publicKeyCannotBe": "公钥不能为空",
        "license.updateLicense.license": "License信息不能为空",
        "license.updateLicense.pleaseUploadLi": "请上传License文件",
        "license.updateLicense.pleaseEnterLi": "请输入License信息",
        "license.updateLicense.pleaseEnterPk": "请输入公钥",
        "license.updateLicense.sure": "确 定",
        "license.updateLicense.cancel": "取 消",
        "license.updateLicense.updateSuccess": "更新成功",
        "license.updateLicense.pk": "公钥",
        "license.use": "已使用{val1}",
        "license.copy": "复制",
        "license.update": "更新授权",
        "license.copySuccess": "复制成功",
    }
    var en = {
        "license.check.later": "later",
        "license.check.custom": "{num} days ({date}) {later}",
        "license.check.customToday": "today ({date}) ",
        "license.check.willExpire": "Your authorization will expire in {custom}. After expiration, the platform will no longer be available.",
        "license.check.expiredTip": "Authorization Expiration Reminder",
        "license.check.IKnow": "I know",
        "license.check.updateLicense": "Update License",
        "license.licenseMessage.expireToday": "Your software authorization will expire today. Please {msg} update your license to protect your legal rights.",
        "license.licenseMessage.expireTodayShort": "Your software authorization will expire today.",
        "license.checkLicense.authorizationInformation": "Authorization Information",
        "license.checkLicense.contactAdmin": "contact the administrator,",
        "license.checkLicense.authorization": "Your software is not authorized. Please {msg} get a license to authorize.",
        "license.checkLicense.activate": "Your software license has expired. Please {msg} get a new license and reactivate.",
        "license.checkLicense.expiredDays": "Your software license has expired {val1} days ago. Please {msg} get a new license and reactivate.",
        "license.licenseMessage.expire": "Your software license will expire in {val1} days. Please {msg} update your license to protect your legal rights.",
        "license.licenseMessage.last": "Your software license will expire in {val1} days.",
        "license.licenseMessage.theCurrentSystem": "The current maximum concurrent connections of the system has reached the limit. Please purchase to increase the limit.",
        "license.licenseMessage.theCurrentSystem2": "The current maximum concurrent connections of the system has reached {val1}% of the limit.",
        "license.licenseMessage.currentExcitationOfTheSystem": "The current activated device number has reached the limit. Please purchase to increase the limit.",
        "license.licenseMessage.currentExcitationOfTheSystem2": "The current activated device number has reached {val1}% of the limit.",
        "license.licenseMessage.authorizeRightNow": "Authorize Now",
        "license.licenseMessage.tips": "Kind Reminder",
        "license.updateLicense.pleaseUploadTheFile": "Please upload a .lic file less than {size}MB.",
        "license.updateLicense.clickOnThePreviousPost": "Click to upload file",
        "license.updateLicense.successfullyUploaded": "Uploaded successfully",
        "license.updateLicense.fileSizeDoesNotMatch": "File size cannot exceed {size}MB",
        "license.updateLicense.publicKeyCannotBe": "Public key cannot be empty",
        "license.updateLicense.license": "License information cannot be empty",
        "license.updateLicense.pleaseUploadLi": "Please upload license file",
        "license.updateLicense.pleaseEnterLi": "Please enter license information",
        "license.updateLicense.pleaseEnterPk": "Please enter public key",
        "license.updateLicense.sure": "OK",
        "license.updateLicense.cancel": "Cancel",
        "license.updateLicense.updateSuccess": "Update succeeded",
        "license.updateLicense.pk": "Public key",
        "license.use": "Used {val1}",
        "license.copy": "Copy",
        "license.update": "Update Authorization",
        "license.copySuccess": "Copied successfully",
    }
    
    // license 信息
    new ParaLicense.License({
        parentDom: '.para-body',
        uploadProps: {
            size: 2,
            i18nData: {'zh-CN': zh, 'en-US': en}
        },
        // 接口上下文
        ctx: 'system',
        // 接口地址
        url: '',
        // 请求方式
        // http: GET,
        onRequest(status) {
            console.log('status', status)
        },
        i18nData: {
            'zh-CN': zh,
            'en-US': en
        }
    });

   
    // license 检查
    const c = new ParaLicense.Check({
        position: "center",
        // 接口上下文
        ctx: 'system',
        // 接口地址
        url: '',
        // 请求方式
        // http: GET,
        responseURL: 'logout',
        allowCloseOnExpiredOrUnauthorized: false,
        modalProps: {
            // showClose: false,
            // showCancel: false,
            // showConfirm: false
        },
        uploadProps: {size:2, i18nData: {'zh-CN': zh, 'en-US': en}},
        // 证书校验回调
        onLicenseCheck(status, data){
            console.log('status', status)
        },
        i18nData: {
            'zh-CN': zh,
            'en-US': en
        }
    })
    c.close()