1.0.1 • Published 3 years ago

goose-sdk v1.0.1

Weekly downloads
1
License
ISC
Repository
-
Last release
3 years ago

GooseSDK 接口文档

0. 使用

(1) 封装目的

(a) 屏蔽 AlipayJSBridgeReady 事件,解决 Nebula SDK 未注入时代码非常复杂的问题
(b) 统一 Nebula SDK 的参数规范不统一的问题(例如 Nebula SDK 接口中的某些颜色参数是 16 进制数字,有些是 10 进制数字,例如 setTitleColor 接口中的 color 是十进制,setOptionMenu 接口中的 color 是十六进制)
(c) 对 Nebula SDK 的接口进行模块化封装,使接口结构更加清晰
(d) 对 Nebula SDK 进行场景化的封装,合并了有关联的接口
(e) 针对 Android 和 iOS 中部分接口调用时不一致的写法进行统一封装(iOS 和 Android 的 pushWindow 传参、getStartupParams 取参写法不一致)

(2) 引用

所有 Goose SDK 的方法都封装到相关指令中,在 app.js 引用这个 Goose SDK 的指令即可。

import Vue from 'vue'
import App from './TitleApp'
import VueI18n from 'vue-i18n'
// 引入全局样式
import '@assets/css/global.less'
Vue.use(VueI18n)
import i18n from '@assets/i18n'

import GooseSDK from 'goose-sdk'
Vue.use(GooseSDK)

new Vue({
  el: '#app',
  render: h => h(App),
  i18n
})

(3) 注意事项

  • 在代码中尽量使用 GooseSDK.模块名.方法名 方法来替代 AlipayJSBridge.call 方法
  • GooseSDK 支持扩展接口,使用 GooseSDK.extend.方法名 = (param1, param2, ...) => {}来扩展方法
  • Nebula SDK 扩展的事件监听尽量使用 this.\$goose.on 方法替代 document.addEventListener 方法(AlipayJSBridgeReady 事件除外)
  • 新增了 setUITitle 等场景化接口,可以实现统一的设置标题栏,具体内容见 setUITitle 章节
  • 对 Nebula SDK 进行了模块化的封装,使接口的结构更加清晰
  • 新增了 os 属性,可以获取当前操作系统的信息,具体内容见属性章节

1. 属性

(1) os 属性

Goose SDK 内置了当前运行环境系统的属性

属性名称类型描述
androidBoolean是否是安卓设备
iPhoneBoolean是否是 iPhone 设备
iPadBoolean是否是 iPad 设备
versionString当前系统的版本
runtimeString当前运行环境,可选值为 app/browser

2. 事件扩展

(1) 功能描述

用于扩展 h5 原生支持的事件,基于 Nebula SDK 进一步封装,简化写法,统一返回值

(2) 支持的事件

标题栏点击(titleClick)
副标题点击(subtitleClick)
页面压后台(pause)
页面恢复运行(resume)
右上角按钮点击(optionmenu)

(3) 入参属性说明

属性名称类型描述必输默认值
eventNameString事件名称Y''
funcFunction回调函数N

(4) 出参说明

属性名称类型描述
dataObject通过事件传送回来的参数

(5) 使用范例

export default {
  created() {
    GooseSDK.on('back', (data) => {
      GooseSDK.confirm(
        {
          title: '亲',
          message: '确定要退出吗',
          okButton: '确定',
          cancelButton: '算了'
        },
        result => {
          if (result.ok) {
            GooseSDK.popWindow()
          }
        }
      )
    })
  }
}

3. 通用方法(用于 GooseSDK 的扩展,不推荐用于交易开发)

(1) call 方法

(a) 功能描述

调用原生基座的功能

(b) 入参属性说明

属性名称类型描述必输默认值
methodNameString方法名Y''
paramsObject参数集合N{}
callbackFunction回调函数N

(c) 使用范例

setTitle() {
    let titleObject = {}
    titleObject.title = 'Goose SDK范例'

    GooseSDK.call('setTitle', titleObject)
}

(d) params 参数详解

参考 mPaas 官方文档中 JSAPI 的描述

4. UI 类方法

(1) setUITitle

(a) 功能描述

设置标题(包含全部标题内容、标题颜色、底部细线颜色、右上角菜单的属性)

(b) 入参属性说明

属性名称类型描述必输默认值
titleString标题N''
subtitleString副标题N''
titleImageString图片的URL或base64字符串,设置以后前两个参数失效N''
titleColorString标题颜色(6位16进制)N''
resetBoolean是否重置为默认的标题颜色和右上角菜单Nfalse
resetTransparentString如果当前是透明导航栏,是否重置为白色Nfalse
barBottomLineColorString导航栏底部细线颜色(6位16进制)N'FFFFFF'
optionTitleString右侧按钮标题N''
optionIconString右侧按钮图标(URL或base64)N''
optionColorString右侧按钮文字的颜色(6位16进制)N''
icontypeString根据图片类型加载容器预置图片,支持user filter search add info settings help locate more mailN''
redDotString红点数值(-1表示不显示,0表示显示红点,1-99表示上显示的数字)N'-1'
overrideBoolean在需要设置多个option的情况下,是否保留默认Nfalse
menusArray多个按钮N[]
preventDefaultBoolean是否阻止默认的分享功能Nfalse
contentDescString设置盲人模式阅读文案N''

(c) menus的属性说明

属性名称类型描述必输默认值
optionTitleString右侧按钮标题N''
optionIconString右侧按钮图标(URL或base64)N''
optionColorString右侧按钮文字的颜色(6位16进制)N''
icontypeString根据图片类型加载容器预置图片,支持user filter search add info settings help locate more mailN''
redDotString红点数值(-1表示不显示,0表示显示红点,1-99表示上显示的数字)N'-1'

(d) 出参属性说明

属性名称类型描述
resultBoolean处理结果: true表示成功, false表示失败
msgString出错信息: 如果result = true, msg为空; result = false, msg表示出错提示信息

(e) 注意事项

a) 属性中是有优先级的,设置了优先级高的属性会默认禁用优先级低的属性
b) 在标题场景中,titleImage > title & subtitle
c) 在标题颜色场景中,reset > color
d) 在右上角按钮的场景中,reset > optionTitle > icontype > optionIcon

(f) 使用范例

a) 异步调用

setTitle() {
    let titleObject = {}
    titleObject.title = 'Goose SDK范例'
GooseSDK.ui.setUITitle(titleObject).then((result) => {
    if (result.result) {
        alert('成功设置标题')
    } else {
        alert(result.msg)
    }
})

}

### (2) actionSheet
#### (a) 功能描述
>  选择选项的列表,它会停留在屏幕的下边沿
#### (b) 入参属性说明
| 属性名称            | 类型     | 描述                                                                                                     | 必输 | 默认值 |
| ------------------- | -------- | -------------------------------------------------------------------------------------------------------- | ---- | ------ |
| title               | String   | 标题                                                                                                     | N    | ''     |
| btns                | array    | 一组按钮,item 类型是 string                                                                             | Y    | ''     |
| cancelBtn           | String   | 设置取消按钮及文字                                                                                       | N    | ''     |
| destructiveBtnIndex | int      | (iOS 特殊处理)指定按钮的索引号,从 0 开始;使用场景:需要删除或清除数据等类似场景,默认红色(6位16进制) | N    | ''     |
| fn                  | function | 不是 API 调用后被回调,而是用户选择选项之后的回调函数                                                    | N    | false  |

#### (c) 出参属性说明
| 属性名称 | 类型     | 描述                                                                                             |
| ----------- | ------- | ----------------------------------------------------------------------------------------------- |
| index       | number | 用户点击的按钮在 actionSheet 中的位置,从 0 开始。 | |

#### (d) 使用范例
> a) 异步调用

GooseSDK.ui.actionSheet( { title: '这是一个ActionSheet', btns: '第1个按钮', '第2个按钮', '第3个按钮', '第4个按钮', cancelBtn: '取消' }, (result) => { alert(JSON.stringify(result)) })

### (3) Alert
#### (a) 功能描述
>  用于警告框的 native 实现。
#### (b) 入参属性说明
| 属性名称 | 类型     | 描述                                         | 必输 | 默认值                           |
| -------- | -------- | -------------------------------------------- | ---- | -------------------------------- |
| title    | String   | Alert 框标题                                 | N    | ''                               |
| message  | string   | Alert 框文本                                 | N    | ''                               |
| align    | String   | message 对齐方式,可用枚举 left/center/right | N    | iOS ‘center’, Android ‘left’ |
| button   | string   | 按钮文字                                     | N    | '‘确定’'                       |
| fn       | function | 回调函数,当点击 button 后被调用             | N    | false                            |

#### (c) 使用范例
> a) 异步调用

GooseSDK.ui.alert( { title: '提示', message: '这是不带回调函数的提示', button: '确定', align: 'center' })

### (4) confirm 
#### (a) 功能描述
>  确认框的 native 实现。
#### (b) 入参属性说明
| 属性名称     | 类型     | 描述                                         | 必输 | 默认值                           |
| ------------ | -------- | -------------------------------------------- | ---- | -------------------------------- |
| title        | String   | Alert 框标题                                 | N    | ''                               |
| message      | string   | Alert 框文本                                 | N    | ''                               |
| align        | String   | message 对齐方式,可用枚举 left/center/right | N    | iOS ‘center’, Android ‘left’ |
| okButton     | string   | 按钮文字                                     | N    | '‘确定’'                       |
| cancelButton | string   | 取消按钮文字                                 | N    | '取消'                           |
| fn           | function | 回调函数,当点击 button 后被调用             | N    | false                            |

#### (c) 出参属性说明
| 属性名称 | 类型 | 描述 |
| ----- | ----- | ----- |
| index | number | 用户点击的按钮在 actionSheet 中的位置,从 0 开始。

#### (d) 使用范例
> a) 异步调用

GooseSDK.ui.confirm( { title: '提示', message: '这是带回调函数的提示', okButton: '确定', cancelButton: '取消', align: 'center' })

### (5) hideLoading  
#### (a) 功能描述
>  隐藏全局加载框。
#### (b) 使用范例

GooseSDK.ui.hideLoading()

### (6) showLoading   
#### (a) 功能描述
>  显示全局加载框
#### (b) 入参属性说明

| 属性名称   | 类型   | 描述                                                                                                                                                      | 必输 | 默认值       |
| ---------- | ------ | --------------------------------------------------------------------------------------------------------------------------------------------------------- | ---- | ------------ |
| text       | String | 文本内容;如需设为无文案,需传入一个空格                                                                                                                  | N    | '‘加载中’' |
| delay      | int    | 右侧按钮图标(URL或base64)                                                                                                                                 | N    | ''           |
| autoHide   | bool   | 默认情况下容器会在 pageFinish 后主动隐藏加载框,默认 true, 传入 false,关掉自动隐藏(only Android) filter search add info settings help locate more mail | N    | 'true'       |
| cancelable | bool   | 安卓返回键是否消掉加载框,默认物理返回键会消掉加载框(only Android)                                                                                      | N    | 'true'       |

#### (c) 注意事项
> a) 安卓下显示 loading 后,会覆盖整个界面,所以请使用系统回退键关闭 loading。
> b) iOS 下的情况是,当没有设置 text 值的时候,只有标题栏和工具栏可以被点击,有文字的时候不能覆盖任何内容。9.9.5 以后已修复  
> c) 在标题颜色场景中,reset > color  
> d) showLoading 是 webview 级别的,因此在 pushwindow 后的 webview 上调用 hideLoading 无法关掉上个 webview 的 loading,需要保证 showLoading 和 hideLoading 在一个 webview 环境内执行。
#### (d) 使用范例

GooseSDK.ui.showLoading({ text: '3秒后自动消失' })

### (7) toast    
#### (a) 功能描述
>  显示一个弱提示,可选择多少秒之后消失。
#### (b) 入参属性说明

| 属性名称 | 类型     | 描述                                                        | 必输 | 默认值 |
| -------- | -------- | ----------------------------------------------------------- | ---- | ------ |
| content  | String   | 文本内容                                                    | Y    | ''     |
| type     | string   | none / success / fail / exception。 excption 类型必须传文案 | N    | 'none' |
| duration | int      | 显示时长,单位为毫秒                                        | N    | '2000' |
| xOffset  | float    | 左为正方向,单位为 px                                       | N    | '0'    |
| yOffset  | float    | 上为正方向,单位为 px                                       | N    | '0'    |
| fn       | function | 回调函数,当 toast 消失后被调用                             | N    | ''     |

#### (c) 注意事项
> a) toast 虽然会自动关闭,但是也可以通过 hideLoading 来关闭,这种使用方式不常见,但是要防止被 hideLoading 关闭  
> b) 对于 Android 系统,需要注意的是,如果系统通知关闭,则此弹框不会出现。  
> c) 在标题颜色场景中,reset > color  
> d) Android 10.1.2 以下版本中,duration 显示时长只支持 2000/3500 两种,小于或等于 2000 的相当于 2000, 大于 2000 的相当于 3500。
#### (d) 使用范例

GooseSDK.ui.toast( { content: '这是一条toast', type: 'success' })

### (8) showTitleLoading  
#### (a) 功能描述
>  显示标题loading
#### (b) 使用范例

GooseSDK.ui.showTitleLoading()

### (9) hideTitleLoading  
#### (a) 功能描述
>  隐藏标题loading。
#### (b) 使用范例

GooseSDK.ui.hideTitleLoading()

### (10) showOptionMenu  
#### (a) 功能描述
>  显示标题的右侧按钮。
#### (b) 使用范例

GooseSDK.ui.showOptionMenu()

### (11) hideOptionMenu  
#### (a) 功能描述
>  隐藏标题的右侧按钮。
#### (b) 使用范例

GooseSDK.ui.hideOptionMenu()

### (12) H5JsApiSetTopBar
#### (a) 功能描述
>  选择选项的列表,它会停留在屏幕的下边沿
#### (b) 入参属性说明
| 属性名称   | 类型   | 描述           | 必输 | 默认值 |
| ---------- | ------ | -------------- | ---- | ------ |
| hide       | String | topBar显示隐藏 | N    | ''     |
| bottomLine | Object | topbar下边框   | N    | ''     |
| title      | Object | 设置标题       | N    | ''     |
| leftBtn    | Object | 左边返回按钮   | N    | ''     |
| rightBtn   | Object | 定制右侧按钮   | N    | false  |

#### (c) 出参属性说明
| 属性名称 | 类型   | 描述                                                    |
| -------- | ------ | ------------------------------------------------------- |
| index    | number | 用户点击的按钮在 H5JsApiSetTopBar 中的位置,从 0 开始。 |

#### (d) 使用范例
> a) 异步调用

GooseSDK.ui.H5JsApiSetTopBar( { "hide":false, //topBar显示隐藏 "bottomLine": { //topBar底部线 "hide": false, "lineColor": "", //颜色 }, "title": { "title": "标题", "titleColor": "#000000", // "iconName": "", //图片title "backGroudColor": "#FFFFFF", }, "leftBtn": { "hide": false, "title": "title", "titleColor": "", "iconName": "", "action": "back", }, "rightBtn": { "hide": true, "title": "", "titleColor": "", "iconName": "WLB_add", "action": "optionMenu", "btnType": '1', //暂时写1 "data": {} //拓展属性 }) })

## 5. 上下文类方法

### (1) pushWindow方法
#### (a) 功能描述
> 全局在弹窗中打开页面的功能(在浏览器中使用页面跳转)
#### (b) 入参属性说明
> 入参: 只有option参数,属性说明如下表  

| 属性名称 | 类型 | 描述 | 必输 | 默认值 |
| ------ | ------ | ------ | ------ | -------- |
| url | String | 地址 | Y | '' |
| param | Object | 窗口参数集合 | N | {} |
| passData | Object | 传递给下个页面的参数集合 | N |  |

> param属性详解

| 属性名称 | 类型 | 描述 | 默认值 |
| ------ | ------ | ------ | -------- |
| defaultTitle | String | 默认标题(在页面第一次加载之前显示的标题) | '' |
| showLoading | Boolean | 是否在页面加载前显示全局菊花 | false |
| readTitle | Boolean | 是否读取网页标题显示在 titleBar 上 | true |
| pullRefresh | Boolean | 是否支持下拉刷新 | false |
| allowsBounceVertical | Boolean | 页面是否支持纵向拽拉超出实际内容,android 只支持下拉(显示出背景或者域名)只有 .alipay.com/.alipay.net/ 本地文件允许设置为 false | false |
| bounceTopColor | Integer | 下拉超出时,顶部间缝颜色(6位16进制) |  |
| bounceBottomColor | Integer | 上拉超出时,底部间缝颜色(6位16进制) |  |
| showTitleLoading | Boolean | 是否在 TitleBar 的标题左边显示小菊花 | false |
| preRpc | String | 在页面启动参数里配置 rpc 请求的参数  |  |
| delayRender | Boolean | 是否启动延迟渲染功能 | false |
| transparentTitle | Boolean | (不与titleBarColor同时使用)如果 transparentTitle 为字符串 always,则当前页面上下滚动时,titlebar 一直全透明;当 transparentTitle 值为 auto,当页面往下滚动时,透明度不断增加,直到 scrollTop 等于 80 pt 时变成完全透明,此时页面再往上滚动则反之,透明度不断减小直到回到顶部时变成完全不透明。如果这个页面不需要透明效果,则需要用 pushWindow 的 param 参数重新指定 transparentTitle 为 “none” | '' |
| titleBarColor | Boolean | 自定义 titlebar 的背景色(6位16进制) |  |
| titleImage | String | 所要使用的 title 图片地址 | false |
| closeCurrentWindow | Boolean | 打开窗口的同时,是否关闭当前 window | false |
| closeAllWindow | Boolean | 打开窗口的同时,是否关闭当前 App 的所有 window | false |
| animationType | String | 动画类型,默认为 “push”,可用枚举 “none”/“push”(Android不支持) |  |

#### (c) 使用范例

let options = new Object()

options.url = './sdkdemo.html' options.params = { readTitle: true, showTitleLoading: true, animationType: 'push' }

GooseSDK.context.pushWindow(options)

### (2) popWindow方法
#### (a) 功能描述
> 用来关闭当前窗口(在浏览器中采用location.go(-1),且不支持回调)
#### (b) 入参属性说明
| 属性名称 | 类型 | 描述 | 必输 | 默认值 |
| ------ | ------ | ------ | ------ | -------- |
| data | Object | 传递给当前 App 内即将露出页面的内容,无法跨 appId 传递数据 | N |  |

#### (c) 使用范例
> 关闭当前窗口

GooseSDK.context.popWindow()

> 关闭当前窗口并携带参数

GooseSDK.context.popWindow({ data: { key: 'value' } })

### (3) popTo方法
#### (a) 功能描述
> 用来关闭多个窗口(只允许 popTo 到当前 App 实例内的页面,不允许跨 appId 跳转。)  
#### (b) 入参属性说明
| 属性名称 | 类型 | 描述 | 必输 | 默认值 |
| ------ | ------ | ------ | ------ | -------- |
| index | Integer | 目标界面在会话界面栈中的索引;如果小于零,则将与当前界面的 index 相加 | Y | 0 |
| urlPattern | String | 目标界面的 URL 匹配表达式(URL 如果包含 urlPattern,匹配成功) | Y |  |
| data | Object | 传递给当前App内即将露出页面的内容,无法跨appId 传递数据 | N |  |
#### (c) 回调函数说明
> 回调函数是可选参数  
> 当存在回调函数时,如果执行成功,回调函数不会执行;如果执行不成功,回调函数才会被执行
#### (d) 使用范例
> 使用index的情况

GooseSDK.context.popTo({ index: -1 })

> 使用urlPattern的情况

GooseSDK.context.popTo({ urlPattern: 'pop-to-url-pattern.html' })

### (4) startApp方法
#### (a) 功能描述
> 打开应用内其他离线包
#### (b) 入参属性说明
| 属性名称 | 类型 | 描述 | 必输 | 默认值 |
| ------ | ------ | ------ | ------ | -------- |
| appId | String | 应用程序内部离线包的ID | Y |  |
| param | Object | 应用启动时的参数 | N |  |
| closeCurrentApp | Boolean | 是否先退出当前 App 再启动新的 App。 | N | false |

#### (c) 回调函数说明
> 回调函数是可选参数  
> 当存在回调函数时,如果执行成功,回调函数不会执行;如果执行不成功,回调函数才会被执行
#### (d) 使用范例

GooseSDK.context.startApp({ appId: '20001111', param: { url: '/www/index.html', appClearTop: false, startMultApp: 'YES'//是否多开 } })

### (5) exitApp方法
#### (a) 功能描述
> 退出当前栈顶的App
#### (b) 入参属性说明
| 属性名称 | 类型 | 描述 | 必输 | 默认值 |
| ------ | ------ | ------ | ------ | -------- |
| closeActionType | String | 退出类型: exitSelf-退出自身应用; exitTop-退出栈顶应用 | N |  |
| animated | Boolean | 是否开启动画 | N | false |

#### (c) 使用范例

GooseSDK.context.exitApp()

## 6. Native 方法

### (1) Scan方法
#### (a) 功能描述
> 扫码解析,可以用来扫描二维码和条形码
#### (b) 入参属性说明
| 属性名称 | 类型 | 描述 | 必输 | 默认值 |
| ------ | ------ | ------ | ------ | -------- |
| type | String | 扫描目标类型,qr-二维码; bar-条形码 | Y |  |
| actionType | String | 操作类型:scan-只扫码值; route-用码值路由; scanAndRoute-扫描并路由,类同首页效果(推荐使用默认值) | Y | 'scan' |
| qrcode | String | 指定用于“route”操作类型的码值(不推荐使用) | N |  |

#### (c) 回调函数入参属性说明
| 属性名称 | 类型 | 描述 |
| ------ | ------ | ------ |
| barCode | String | 扫描所得条码数据 |
| qrCode | String | 扫描所得二维码数据 |
| error | Integer | 错误码(10:用户取消,11:操作失败) |

#### (d) 使用范例

GooseSDK.native.scan({ tyep: 'qr', actionType: 'scan' }, result => { alert(JSON.stringify(result)) })

## 7. 工具类方法

### (1) getStartupParams方法
#### (a) 功能描述
> 获取容器的启动参数

#### (b) 入参属性说明
| 属性名称 | 类型 | 描述 | 必输 | 默认值 |
| ------ | ------ | ------ | ------ | -------- |
| key | Array | 参数key | N |  |

#### (c) 使用范例
> 原生用法  

GooseSDK.tools.getStartupParams({ key: 'url' }, result => { alert(JSON.stringify(result)) })

GooseSDK.tools.getStartupParams({}, result => { alert(JSON.stringify(result)) })

> Promise用法

GooseSDK.tools.getStartupParams({key: 'url'}).then(result => { alert(JSON.stringify(result)) })

### (2) getAPDataStorage方法
#### (a) 功能描述
> 从统一存储中获取数据,仅支持字符串类型。

#### (b) 入参属性说明
| 属性名称 | 类型 | 描述 | 必输 | 默认值 |
| ------ | ------ | ------ | ------ | -------- |
| type | String | user-用户维度存储;common-公共存储 | N | common |
| business | String | 自定义的业务标识,可与相应的客户端存取代码约定。 | N |  |
| key | String | 自定义数据的 key | Y |  |

#### (c) 回调函数入参属性说明
| 属性名称 | 类型 | 描述 |
| ------ | ------ | ------ |
| success | Boolean | 是否成功获取数据 |
| data | String | 数据 |
| error | String | 错误码(如执行成功返回0) |
| errorMessage | String | 错误信息 |

#### (d) 使用范例

GooseSDK.tools.getAPDataStorage({ key: 'aaa' }, result => { alert(JSON.stringify(result)) })

### (3) setAPDataStorage方法
#### (a) 功能描述
> 保存一个字符串到客户端统一存储,字符串长度不得超过 200×1024。

#### (b) 入参属性说明
| 属性名称 | 类型 | 描述 | 必输 | 默认值 |
| ------ | ------ | ------ | ------ | -------- |
| type | String | user-用户维度存储;common-公共存储 | N | common |
| business | String | 自定义的业务标识,可与相应的客户端存取代码约定。 | N |  |
| key | String | 自定义数据的 key | Y |  |
| value | String | 需要存储的值,仅支持字符串类型 | Y |  |

#### (c) 回调函数入参属性说明
| 属性名称 | 类型 | 描述 |
| ------ | ------ | ------ |
| success | Boolean | 是否成功设置数据 |
| error | String | 错误码(如执行成功返回0) |
| errorMessage | String | 错误信息 |

#### (d) 使用范例

GooseSDK.tools.setAPDataStorage({ key: 'aaa', value: 'bbb' }, result => { alert(JSON.stringify(result)) })

### (4) removeAPDataStorage方法
#### (a) 功能描述
> 从统一存储中删除数据。

#### (b) 入参属性说明
| 属性名称 | 类型 | 描述 | 必输 | 默认值 |
| ------ | ------ | ------ | ------ | -------- |
| type | String | user-用户维度存储;common-公共存储 | N | common |
| business | String | 自定义的业务标识,可与相应的客户端存取代码约定。 | N |  |
| key | String | 自定义数据的 key | Y |  |

#### (c) 回调函数入参属性说明
| 属性名称 | 类型 | 描述 |
| ------ | ------ | ------ |
| success | Boolean | 是否成功删除数据 |
| error | String | 错误码(如执行成功返回0) |
| errorMessage | String | 错误信息 |

#### (d) 使用范例

GooseSDK.tools.removeAPDataStorage({ key: 'aaa' }, result => { alert(JSON.stringify(result)) })

### (5) remoteLog方法
#### (a) 功能描述
> 上报埋点

#### (b) 入参属性说明
| 属性名称 | 类型 | 描述 | 必输 | 默认值 |
| ------ | ------ | ------ | ------ | -------- |
| type | String | 埋点类型:monitor(监控类型)、monitorWithLocation(监控类型,自动在 param4 里带上经纬度)、behavior(行为类型)、behaviorAuto(自动行为类型)、performance(性能类型)、error(异常类型)、135(135 业务相关) | N | 'monitor' |
| seedId | String | 埋点ID | Y |  |
| ucId | String | 用例ID | N |  |
| bizType | Float | 业务类型标识,该参数传值时,会生成单独的日志文件 | N |  |
| logLevel | Integer | 1 - high,2 - medium,3 - low,低级别的日志可能会被限流 | N |  |
| actionId | String | 行为名称,如“clicked”, “exposure”等,支持的行为集请咨询埋点组件 | N |  |
| spmId | String | spm 编码。当编有 spmId 时,忽略 seedId | Y |  |
| param1 | String | 埋点参数 | N |  |
| param2 | String | 埋点参数 | N |  |
| param3 | String | 埋点参数 | N |  |
| param4 | String | 埋点参数 | N |  |

#### (c) 使用范例

GooseSDK.tools.remoteLog({ type: "behavior", bizType: "Nebula", spmId: "a1.b2", logLevel: 1, actionId: "exposure" seedId: "xxx", param1: "xxx", param2: "xxx", param3: "xxx", param4: "xxx" })

### (6) rpc方法
#### (a) 功能描述
> 调用RPC

#### (b) 入参属性说明
| 属性名称 | 类型 | 描述 | 必输 | 默认值 |
| ------ | ------ | ------ | ------ | -------- |
| operationType | String | RPC服务名称 | Y |  |
| requestData | Array | RPC请求的参数 | N |  |
| headers | Object | RPC请求的headers | N | {} |
| gateway | String | 网关地址 | N |  |
| compress | Boolean | 是否支持request gzip压缩 | N | false |
| disableLimitView | Boolean | RPC 网关被限流时是否禁止自动弹出统一限流弹窗。 | N | false |
| timeout | Integer | RPC 超时时间,单位为秒 | N |  |
| getResponse | Boolean | 获取RPC响应头 | N | false|

#### (c) 回调函数入参属性说明
| 属性名称 | 类型 | 描述 |
| ------ | ------ | ------ |
| error | String | 错误码 |

#### (d) 错误码详情
| 错误码 | 描述 |
| ------ | ------ |
| 10 | 网络错误 |
| 11 | 请求超时 | 
| 其他 | 由MGS定义 |
| RPC原生错误码 | RPC原生错误码 |

> RPC原生错误码请自行百度

#### (e) 使用范例
> 工程中使用两层封装来处理RPC调用的问题,具体使用范例请参考Demo工程中的RpcApp.vue中的使用方式

### (7) snapshot方法
#### (a) 功能描述
> 截屏

#### (b) 入参属性说明
| 属性名称 | 类型 | 描述 | 必输 | 默认值 |
| ------ | ------ | ------ | ------ | -------- |
| range | String | 快照范围:screen-当前客户端整个屏幕 viewport-网页可见区域 document-整个网页 | N | 'screen' |
| saveToGallery | Boolean | 是否保存到相册 | N | true |
| dataType | String | 结果数据格式:dataURL-base64编码的图片数据 fileURL-图片在文件系统中的 URL(图片存放于临时目录中,退出时被清除) none-不返回数据(用于保存到相册的情况)| N |  |
| imageFormat | String | 图片格式 | N | 'jpg' |
| quality | Integer | 图片质量,取值范围0~100 | N | 75 |
| maxWidth | Integer | 图片的最大宽度,超出按比例缩小 | N |  |
| maxHeight | Integer | 图片的最大高度,超出按比例缩小 | N |  |

#### (c) 回调函数入参属性说明
| 属性名称 | 类型 | 描述 |
| ------ | ------ | ------ |
| success | Boolean | 是否处理成功 |
| fileURL | String | 图片在文件系统的URL |
| dataURL | String | base64编码的图片数据|

#### (d) 使用范例

GooseSDK.tools.snapshot({ saveToGallery: false }, result => { alert(JSON.stringify(result)) })

## 8. 扩展

> GooseSDK内置了extend模块,扩展的方法统一封装到这个模块中

/**

  • @desciption: 扩展GooseSDK接口
  • @params: params: 参数集合
  • @params: callback: 回调函数(可以不传) */ GooseSDK.extend.newInterface = (params, callback) => { GooseSDK.call('interfacename', params, callback) }
1.0.1

3 years ago

0.1.5

5 years ago

0.1.4

5 years ago

0.1.3

5 years ago

0.1.1

5 years ago

0.1.0

5 years ago

0.0.19-dev27

5 years ago

0.0.19-dev24

5 years ago

0.0.19-dev11

5 years ago

0.0.19-dev10

5 years ago

0.0.19-dev09

5 years ago

0.0.19-dev08

5 years ago

0.0.19-dev07

5 years ago

0.0.19-dev05

5 years ago

0.0.19-dev04

5 years ago

0.0.19-dev03

5 years ago

0.0.19-dev02

5 years ago

0.0.19

5 years ago

0.0.18

5 years ago

0.0.17

5 years ago

0.0.15

5 years ago

0.0.14

5 years ago

0.0.13

5 years ago

0.0.12

5 years ago

0.0.11

5 years ago

0.0.10

5 years ago

0.0.9

5 years ago

0.0.8

5 years ago

0.0.7

5 years ago

0.0.6

5 years ago

0.0.5-1

5 years ago

0.0.5

5 years ago

0.0.4-3

5 years ago

0.0.4

5 years ago

0.0.3

5 years ago

0.0.2

5 years ago

0.0.1

5 years ago