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

landingpage-web-sdk

v0.1.0

Published

SDK for landingpage

Downloads

2

Readme

toolchain-landingpage-web-sdk 使用文档

安装

npm install toolchain-landingpage-web-sdk

引用

var vlSDK = require('toolchain-landingpage-web-sdk')
// 或es6
import vlSDK from 'toolchain-landingpage-web-sdk'
// 本地也可以直接将 dist/vlSDK.js 或 vlSDK.min.js 拷贝到本地使用

本地运行 Demo

// demo访问地址: http://localhost:3000
npm run demo

配置

vlSDK.config({
  // 必填系统申请的Key,需要针对landingpage设计appkey,
  // 1. 可以通过config传入,  2. 可以通过<script type="text/javascript" src="https://xxxx.toolchain-landingpage-web-sdk?v=1.0&appkey=您的密钥"></script>输入
  appKey: '888888',
  // 是否 开启后端直传uuid,默认开启 开启后接口字段按新接口来
  __isUUID: true,  
  // 不稳定参数,该参数不对外开放,仅供开发调试用,默认值为生产环境”https://v.vechain.com/v1/data“,如传入,则替换掉默认值。
  __url: '', 
  // 不稳定参数,uuid 接口地址  
  __uuidsUrl: '',  
  // 自定义语言参数
  lang: 'zh-CN'
  // 是否缓存请求数据 默认false,
  // true表示上次传送的数据会缓存在localStorage,如果为false,则会忽略缓存。
  // 缓存key应该加上fields,因为每次获取的fields可能会不同。
  cache: true,
  //百度地图申请key,选填若不需要可为空 则不适用百度地图错误纠正位置数据,这个功能暂时不开放支持。
  BMap: { 
    ak: key,
    v: '2.0'
  }
})

数据请求

Promise 形式

  vlSDK.fetch({
    // 必填 vid, 20bytes or 32bytes 0x[0~9a~fA~F]
    vid: '0x****',
    // 选填,fields的来源为根据,通过vlSDK.getFields() 获取DCP的模板列表(包括DCP的名称和uuid)。根据列表可以将列表全部传入,或者选择列表中元素传入。
    // 1. 根据vlSDK.getFields()获取list来获取数据  2. 已知所有的DCPname和uuid的情况下hardcode在代码中  3. 通配符:'*'
    fields: ['trackinfo'],
    // 如果是芯片,在通过vechain chip auth sdk验真后会得到token,使用该token才能通过被sdk获取得到完整产品信息,否则只会获得sku信息。无法获取其他的信息。
    // 在接口处为x-api-token
    token: 'token',
    // 芯片验真token
    vidAccessToken: '223344' ,
    // 如果是通过vechain work或者客制化toolchain前端页面部署系统,访问landingpage都需要带上token。该token为内部访问token,是登录账号的jwt
    // 在接口处确认内部访问的token的header的名称:
    internalAccessToken: ""
  }).then(function(res){
    console.log(res, 333)
  }).catch(function(res){
    console.log(res, 444)
  })

回调形式

  vlSDK({
   params: {
    // 必填 vid
    vid: '0x****',
    // 选填,fields的来源为1. 通过vlSDK.getFields() 获取DCP的模板列表(包括DCP的名称和uuid)。根据列表可以将列表全部传入,或者选择列表中元素传入。
    fields: ['trackinfo'], // Array(uuid), Array(name) Array(Object: 获取uuid 返回的数据)
    // 如果是芯片,在通过vechain chip auth sdk验真后会得到token,使用该token才能通过被sdk获取得到完整产品信息,否则只会获得sku信息。无法获取其他的信息。
    chipAuthToken: '223344' ,
    // 如果是通过vechain work或者客制化toolchain前端页面部署系统,访问landingpage都需要带上token。该token为内部访问token,是登录账号的jwt
    internalAccessToken: ""
   },
   // 成功回调
   success: function(res){
     console.log(res, 555)
   },
   // 请求失败回调 
   fail: function(res){
     console.log(res, 666)
   },
   // 无论成功失败都回调 code: [200, 0, -1, -2]
   callback: function(res){

   }
 })

扩展方法

// 查看当前版本号
vlSDK.version

// 获取landingpage引用DCP的list options  options: String(vid) Object(){vid:vid} Array()[vid, vid] null(all) 若只有一个参数 这 options = callback
vlSDK.getUuids(options, callback) // vlSDK.getUuids(callback)


// 获取缓存数据 options: String(vid) Array()[vid, vid] null(all)
vlSDK.getCache(options)

// 清除vid数据缓存
vlSDK.clearCache() 

// 清除本域名下所有缓存
vlSDK.clearAll() 

// 可用于数据按需加载,返回promise
vlSDK.again(option)  

NOTE: againoption 可接受参数为Null, String, Array, Object Null: 按之前参数请求; String: vid 值; Array: fields (可选:['trackinfo', 'skuinfo', 'enbaseinfo', 'activityinfo']); Object: {vid: vid, fields: []}

├── core: 主业务文件目录
  ├── again.js 再次请求业务模块
  ├── fetch.js landingpage 主业务请求
  ├── getUuids.js 获取uuid 数据
  ├── http.js 基础网络请求处理
  ├── vlSDK.js  core 出口文件
├── helper: 业务辅助类方法
  ├── apiUrl.js 接口处理文件
  ├── callPro.js 调用app文件
  ├── getMessage.js 根据语言环境获取不同语言文本
  ├── getSysLang.js 获取合法语言(config中配置),用户指定查询系统语言,最终返回支持语言
  ├── ioCache.js 设计用来控制缓存输入输出(暂时没处理)
  ├── ioConfig.js 配置文件输入输出
  ├── setAddress.js 百度地图纠正位置信息方法
  ├── transform.js 数据处理/格式化方法集合
├── plugins: 插件类方法,需要安装,灵活引用
  ├── index.js 出口方法,用于组件挂载
  ├── BMap.js 百度地图组件
  ├── collecoter.js 用户信息收集组件
  ├── headers.js 设计用于初始化头部参数用(暂时未用)
  ├── popbar.js 小黄条组件
├── index.js 入口文件
├── utils.js 业务无关常用方法
├── lang.js  语言包
├── error.js 错误类方法
├── config.js 业务配置文件

├── config: 配置信息,包括sdk的配置和url的配置 ├── error:错误处理信息和error返回的code和msg ├── httpClient:http接口 ├── index.js: js入口 ├── lang: sdk用到的文字和语言 ├── utils: 工具类 ├── plugin: 插件类,如地图 ├── popbar: 小黄条显示及小黄条的 ├── collector: 客户端信息收集代码 ├── agreement: 免责声明