UNPKG

@heimdallr-sdk/wx

Version:
126 lines (108 loc) 3.12 kB
# @heimdallr-sdk/wx > 微信小程序监控基座,内置错误捕获sdk 默认使用 get 上报,允许修改 `wx.request` 配置项(不可修改 data、dataType) ## Options |配置名称|类型|描述|可选值|默认值| |-|-|-|-|-| |dsn|Object|上报接口配置信息|DSN|-| |app|Object|应用信息|APPInfo|-| |enabled|Boolean|是否向后台发送事件|true/false|true| |plugins|Array|插件集合|-|-| |debug|Boolean|控制台是否显示报错|true/false|false| |reqOption|(rs,rj) => RequestOption|请求配置项(最高优先级)|-|-| |userStoreKey|String|用户信息存储key|-|-| ### DSN |名称|类型|描述|可选值| |-|-|-|-| |host|String|上报接口域名地址|-| |init|String|应用初始化接口地址|-| |report|String|信息上报接口地址|-| ### APPInfo |名称|类型|描述|可选值| |-|-|-|-| |name|String|应用名称|-| |leader|String|负责人|-| |desc|String|应用描述|-| ### RequestOption |名称|类型|描述|可选值| |-|-|-|-| |url|String|接口地址|-| |enableCache|Boolean|开启 cache|false/true| |enableHttp2|Boolean|开启 http2|false/true| |enableQuic|Boolean|开启 quic|false/true| |fail|Function|接口失败回调|-| |header|Object|请求头(不可设置Referer)|-| |method|String|请求方法|OPTIONS/GET/HEAD/POST/PUT/DELETE/TRACE/CONNECT| |responseType|String|响应的数据类型|text/arraybuffer| |success|Function|接口成功回调|-| |timeout|Number|超时时间,单位为毫秒|-| ## Usage ### Init 通常在 `app.js` 中完成初始化,可直接挂载到 wx 对象上 ```js import heimdallr from "@heimdallr-sdk/wx"; wx.heimdallrInstance = heimdallr({ dsn: { host: 'http://localhost:8888', init: '/project/init', report: '/log/report' }, app: { name: 'playgroundWx', leader: 'test', desc: 'test wx proj' } }); ``` ### Lifecycle 提供两种方式监听页面显示、隐藏方式 #### 1. Overwrite Page ```js const { heimdallrPage } = wx.heimdallrInstance; heimdallrPage({ data: { text: "This is page data." }, onLoad: function(options) { // Do some initialize when page load. }, onShow: function() { // Do something when page show. }, onReady: function() { // Do something when page ready. }, onHide: function() { // Do something when page hide. }, onUnload: function() { // Do something when page close. } }); ``` #### 2. Add the track function to the lifecycle function ```js const { track } = wx.heimdallrInstance; Page({ data: { text: "This is page data." }, onLoad: function(options) { // Do some initialize when page load. }, onShow: function() { track('show', this.route); // Do something when page show. }, onReady: function() { // Do something when page ready. }, onHide: function() { track('hide', this.route); // Do something when page hide. }, onUnload: function() { // Do something when page close. } }) ```