1.4.17 • Published 4 years ago

boqiijssdk v1.4.17

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

波奇 H5 与 Native 交互 jssdk

基于 jsbridge 的 hybrid 开发模式,建立 H5 与 Native 之间的通讯桥梁,使 h5 在 app 里面的交互体验无限接近原生体验,减少 H5 与 Native 间交互产生的问题,统一 IOS 于 Android 的交互 API.

Install

Install with npm:

$ npm install --save boqiijssdk

Install

Install with yarn:

$ yarn add boqiijssdk --dev

使用

-es6 方式

import BoqiiJsApi from "boqiijssdk";
window.BoqiiJsApi = BoqiiJsApi;

-commonjs 方式

const BoqiiJsApi = require("boqiijssdk");
window.BoqiiJsApi = BoqiiJsApi;

-常规方式

<script src="https://h5.boqiicdn.com/api/boqiijssdk.js"></script>;
然后在项目中使用`BQJSAPI`;

Notes: 所有 api 调用时传入的参数值都必须使用字符串(特别说明的除外)

<openNewPage>

打开新页面

/**
 * @parms {string} title 新打开页面标题
 * @parms {string} packagepath 新打开页面url 绝对路劲
 * @parms {string} pageidentifier 新打开页面标示
 * @parms {string} sharebtn 新打开页面右上角是否带分享按钮
 * @parms {string} enableHideNavigationBar 新打开页面是否影藏头部导航栏(导航栏背景色透明,webview撑满)
 * @parms {string} navigationBarBackgroundColor 新打开页面导航栏背景色(enableHideNavigationBar:true的时候,页面滑动后的背景色)
 * @parms {string} navigationBarTextStyle 新打开页面导航栏文字颜色 white | black
 * @parms {string} enableNavigationBarBadge 新打开页面导航栏右侧按钮
 * @parms {string} navigationBarBadgeText 新打开页面导航栏右侧按钮文字内容
 * @parms {string} navigationBarBadgeIconUrl 新打开页面导航栏右侧按钮图标链接
 * @parms {string} navigationBarBadgeIconLink 新打开页面导航栏右侧按钮链接
 *
 */

BoqiiJsApi.openNewPage({
  title: "测试",
  packagepath: "https://m.boqii.com",
  pageidentifier: "boqiiHome",
  sharebtn: false
});

<checkInsideApp>

检查是否在波奇 App 内

const checkInsideApp = BoqiiJsApi.checkInsideApp;

console.log(checkInsideApp); // true | false

<goBackToPage>

调用 app 返回,默认返回上一页

BoqiiJsApi.goBackToPage({
  pageidentifier: "boqiiHome"
});

<goBackToRootPage>

回退到 APP 首页

BoqiiJsApi.goBackToRootPage();

<getLbsInfo>

获取地址位置信息

BoqiiJsApi.getLbsInfo({
  success(lbs) {
    console.log(lbs);
  },
  error(error) {
    console.log(error);
  }
});

<setItemSync>

设置存储信息.

BoqiiJsApi.setItemSync(
  "test",
  { value: 1, id: 2, name: "test" },
  {
    success(lbs) {
      console.log(lbs);
    },
    error(error) {
      console.log(error);
    }
  }
);

<getItemSync>

获取存储信息.

BoqiiJsApi.getItemSync("test", {
  success(data) {
    console.log(data);
  },
  error(error) {
    console.log(error);
  }
});

<removeItemSync>

获取存储信息.

BoqiiJsApi.removeItemSync("test", {
  success(data) {
    alert("删除成功");
    console.log(lbs);
  },
  error(error) {
    console.log(error);
  }
});

<requireAuth>

唤起登录.

BoqiiJsApi.requireAuth({
  success(auth) {
    console.log(auth);
  },
  error(error) {
    console.log(error);
  }
});

<getAuthInfo>

获取授权信息.

BoqiiJsApi.getAuthInfo({
  success(auths) {
    console.log(auths);
  },
  error(error) {
    console.log(error);
  }
});

<showShareWindow>

唤起分享.

BoqiiJsApi.showShareWindow({
  title: "测试一下",
  content: "测试一下,你就知道",
  link: "https://www.baidu.com",
  imgUrl: "https://h5.boqiicdn.com/boqiishop20180618worldcup-share..jpg",
  shareType: "h5", // 分享类型,从APP内分享出来的链接, 默认为 miniProgram ,分享出来的是小程序页面    h5 || miniProgram
  success(auths) {
    console.log(auths);
  },
  error(error) {
    console.log(error);
  }
});

<onMenuShareAppMessage>

设置分享信息.

BoqiiJsApi.onMenuShareAppMessage({
  title: "测试一下",
  content: "测试一下,你就知道",
  link: "https://www.baidu.com",
  imgUrl: "https://h5.boqiicdn.com/boqiishop20180618worldcup-share..jpg",
  shareType: "h5", // 分享类型,从APP内分享出来的链接, [miniProgram 商城小程序, groupon拼团小程序, h5]
  sharePlatform: "wechat", // app只分享 微信平台
  miniProgramPath: "" // 设置小程序 的分享路径
});

<navigateToMallProductDetail>

跳转原生商品详情页.

/**
 * @param {string} goodsId 商品ID
 * @param {object} onMenuShareMessage 商品分享信息
 * Example :
 * onMenuShareMessage: {
 *  title: '测试一下',,
 *  content: '测试一下,你就知道',,
 *  link: 'https://www.baidu.com',,
 *  imgUrl: 'https://h5.boqiicdn.com/boqiishop20180618worldcup-share..jpg'
 * }
 */
BoqiiJsApi.navigateToMallProductDetail({
  goodsId: "xxx",
  onMenuShareMessage: {
    title: "测试一下",
    content: "测试一下,你就知道",
    link: "https://www.baidu.com",
    imgUrl: "https://h5.boqiicdn.com/boqiishop20180618worldcup-share..jpg"
  }
});

<navigateToDiscountPackage>

跳转原生套餐详情页.

/**
 * @param {string} goodsId 商品ID
 * @param {string} packageId 套餐ID
 */
BoqiiJsApi.navigateToDiscountPackage({
  goodsId: "23893",
  packageId: "1"
});

<navigateToMallClassification>

跳转原生分类列表页.

/**
 * @param {string} typeId
 */
BoqiiJsApi.navigateToMallClassification({
  typeId: "1"
});

<navigateToMallProductDetailSecondsKill>

跳转原生秒杀详情页.

/**
 * @param {string} goodsId 商品ID
 * @param {string} activeId 活动ID
 * @param {int} seckillShows 剩余时间
 */
BoqiiJsApi.navigateToMallProductDetailSecondsKill({
  goodsId: "xxx",
  activeId: "xxx",
  seckillShows: "xxx"
});

<navigateToMallProductDetailOpenBooking>

跳转原生预售详情页.

/**
 * @param {string} goodsId 商品ID
 * @param {string} activeId 活动ID
 */
BoqiiJsApi.navigateToMallProductDetailOpenBooking({
  goodsId: request.goodsId,
  activeId: request.activeId
});

<navigateToMineViewController>

跳转原生个人中心.

/**
 * @param {string} goodsId 商品ID
 * @param {string} activeId 活动ID
 */
BoqiiJsApi.navigateToMineViewController();

<navigateToPerson>

跳转原生 社区个人中心

/**
 * @param {string} ID 个人uid
 */
BoqiiJsApi.navigateToPerson();

<navigateToMallProductCustomList>

跳转原生自定义列表页.

/**
 * @param {string} mainValue
 * @param {string} templateDetailId
 * @param {string} type
 * @param {string} templateId
 */
BoqiiJsApi.navigateToMallProductCustomList({
  mainValue: "",
  templateDetailId: "",
  type: "",
  templateId: ""
});

<navigateToMallProductList>

跳转原生商品列表.

/**
 * @param {string} firstTypeId 一级分类ID
 * @param {string} thirdTypeId 分类ID
 * @param {string} keyword 关键词
 * @param {string} brandId 品牌ID
 * @param {string} couponId 优惠券ID
 * @param {string} couponDesc 优惠券DES
 */
BoqiiJsApi.navigateToMallProductList({
  firstTypeId: request.firstTypeId,
  thirdTypeId: request.thirdTypeId,
  keyword: request.keyword,
  brandId: request.brandId
});

<navigateToCouponsView>

跳转原生优惠券页.

BoqiiJsApi.navigateToCouponsView();

<navigateToPrizeExchangeView>

跳转原生奖品兑换页.

BoqiiJsApi.navigateToPrizeExchangeView();

<navigateToBQBeanView>

跳转原生波奇豆页.

BoqiiJsApi.navigateToBQBeanView();

<navigateToMagicalCardView>

跳转神奇卡.

BoqiiJsApi.navigateToMagicalCardView({
  URL?: '神奇卡url' // 可不传
})

<navigateToMallHomePage>

跳转商城首页.

BoqiiJsApi.navigateToMallHomePage({
  URL?: '神奇卡url' // 可不传
})

<navigateToRootPage>

跳转 App 首页.

BoqiiJsApi.navigateToRootPage();

<redirectTo>

关闭当前页面 WebView,跳转到新的某个页面.

BoqiiJsApi.redirectTo({
  ...
  // 同openNewPage
})

<setNavigationBar>

设置导航栏.

//////////
//
// setNavigationBar  设置导航栏.
//
// request:示例
// {
//  "enableHide": false, // 是否隐藏导航栏
//  "backgroundColor": 'xx', // 标题栏背景颜色
//  "textStyle": false, // 标题栏文字颜色
//  "enableBadge": enableBadge  // 是否有右侧按钮
//  "badgeText": badgeText  // 按钮内容文字
//  "badgeIconUrl": badgeIconUrl  // 按钮icon Url
//  "badgeIconLink": badgeIconLink  // 按钮跳转地址
//  "badgeClick": badgeClick  // 按钮点击事件
// }
//
//////////
BoqiiJsApi.setNavigationBar({
  ...
  // 同openNewPage
})

<openAddressSelector>

设置导航栏.

//////////
//
// openAddressSelector  打开地址选择器.
//
// request:示例
// {
//  "success": function(address) {
//    console.log(address)
//  },
//  "error": function(err) {
//    console.log(err)
//  },
//  "cancel": function() {
//    console.log('取消选择)
//  }
// }
//
//////////
BoqiiJsApi.openAddressSelector({
  addressId: "", // 初始地址Id active
  enableGlobalGoods: false, // 是否全球购商品
  success: function(info) {
    console.log(info);
  }
});

<chooseImage>

拍照或从手机相册中选图接口.

//////////
//
// chooseImage 拍照或从手机相册中选图接口.
//
// request: {
//    count: 1, // 默认9
//    sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
//    sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
//    success: function(images) {
//      console.log(images)
//    }
// }
//////////
BoqiiJsApi.chooseImage({
  count: 2, // 默认9
  sizeType: ["original", "compressed"],
  sourceType: ["album", "camera"],
  success: function(info) {
    console.log(info);
  }
});

<previewImage>

预览图片.

//////////
//
// previewImage 预览图片.
//
// request: {
//    current: 0, //当前显示图片的 索引 index
//    urls: ['https://xxx', 'https://xxx'], // 需要预览的图片http链接列表
// }
//////////
BoqiiJsApi.previewImage({
  current: "",
  urls: []
});

<setBreakbackInfos>

设置中断回退信息, 比如:正在编辑 forms 表单,未保存的情况下,用户点击回退,弹出确认放弃编辑提示框.

//////////
//
// setBreakRollbackInfos 设置中断回退信息.
//
// request: {
//    message: '确认取消上传认证信息吗?', // 提示信息.
//    cancelBtnText: '继续上传' // 取消回退按钮文字
//    confirmBtnText: '确认取消' // 确认回退按钮文字
// }
//////////
BoqiiJsApi.setBreakbackInfos({
  message: "确认取消上传认证信息吗?",
  cancelBtnText: "继续上传",
  confirmBtnText: "确认取消"
});

<clearBreakbackInfos>

清除中断回退信息, 用户保存 forms 表单后,清除之前设置的中断回退信息.

//////////
//
// clearBreakbackInfos 清除中断回退信息.
//
// }
//////////
BoqiiJsApi.clearBreakbackInfos();

<navigateToMerchantDetailView>

跳转原生服务详情页.

/**
 * @param {string} ID 商户ID
 */
BoqiiJsApi.navigateToMerchantDetailView({
  ID: "xxx"
});