landingpage-web-sdk

0.1.0 • Public • Published

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: 免责声明

Package Sidebar

Install

npm i landingpage-web-sdk

Weekly Downloads

1

Version

0.1.0

License

MIT

Unpacked Size

59.6 kB

Total Files

26

Last publish

Collaborators

  • yangyouyong