@gov-api-package/subscribe-manager

1.0.10 • Public • Published

订阅API

一、在开发之前

1.1 配置域名

接入前请将此域名 https://zw.baidusmartapps.com 添加到request的合法域名中

域名 添加方式
https://zw.baidusmartapps.com 开发者后台->小程序管理->设置->开发设置->服务器域名->request的合法域名

1.2 获取订阅项的必要信息

每个可被订阅的服务项都有着唯一标识,通过服务项的唯一标识,开发者可以获取或者修改特定用户对于该服务项订阅状态。服务项的标识如下所示:

标识名称 标识字段
订阅标识 sourceFlag
订阅ID subscribeID

二、接入

2.1 安装依赖

npm i @gov-api-package/subscribe-manager --save

2.2 API 使用

主动推订阅服务目前提供了获取订阅状态等API,具体如下表所示:

API 说明
querySub 获取订阅状态
addSub 订阅
cancelSub 取消订阅
toManage 跳转订阅助手小程序
modifyIntervene 修改干预信息
// 引入
import subscribeManager from '@gov-api-package/subscribe-manage';

2.2.1 获取订阅状态 querySub

API请求参数:

参数 类型 说明 是否必选
sourceFlag String 订阅标识
openId String 小程序openId
searchIntervene String 特征数据

API返回参数:

{
    "id":1,// subscribeID
    "status":1,// 0 未订阅 1订阅
    "main_title":"场景卡",
    "sub_title":"官方小程序",
    "intervene_type": 1,
    "intervene": [
        {
            "type": 1,
            "vaule": "110100"
        }
    ]
}

API使用示例:

/**
* 获取订阅状态
* @param {string} sourceFlag 订阅标识
* @param {string} openId 小程序openId
* @param {string} searchIntervene 特征数据
*/
subscribeManager.querySub(sourceFlag, openId, searchIntervene).then(res => {
    console.log(res);
    // 业务逻辑...
}).catch(err => {
    console.log(err);
});

2.2.2 订阅 addSub

API请求参数:

参数 类型 说明 是否必选 备注
subscribeID String 订阅id
openId String 小程序openId
sourceFlag String 订阅标识
interveneProps Object 特征类型和列表 仅在有特征数据时需要传入该数据
>>interveneProps.interveneType Number 特征类型 1(城市)
2(省份)
3(快递公司)
4(运动员)...
(仅在特征类型为1【城市】或者2【省份】且需要【代获取当前位置的特征列表】时,需要传入)
>>interveneProps.intervene Array. 修改特征列表 当特征类型为非1【城市】且非2【省份】时,特征列表必须传入
>> >> interveneProps.intervene[].type Number 特征类型
1(城市)
2(省份)
3(快递公司)
4(运动员)
传入type多个以逗号隔开
>> >> interveneProps.intervene[].value String 用英文逗号把vaule值连接起来 传入值,多个以逗号隔开

API返回参数:

API成功返回:

{
    "code":0,// 接口状态,0 操作成功
    "msg":"success",
    "data": {}
}

返回失败code错误码列表:

错误码 错误详情
200000000 未获取到用户信息
200000006 已订阅
200000003 查询订阅号失败
200000004 订阅失败

API使用示例:

/**
 * 订阅
 * @param {string} subscribeID 订阅id
 * @param {string} openId 小程序openId
 * @param {string} sourceFlag 订阅标识
 * @param {Object} interveneProps 特征类型和列表
 * @return {Promise} 请求对象
 */
subscribeManager.addSub(subscribeID, openId, sourceFlag, {
    intervene: [
        {
            "type": 1, // type 1是城市
            "value": "130000,130001,130002"
        },
        {
            "type": 2, // type 2是省份
            "value": "130000,130003"
        }
    ]
}).then(res => {
    console.log(res);
    // res.code 为 0 时接口正常
    // 业务逻辑...
    if(!res.code) {
        swan.showToast({
            title:'订阅成功',
            icon:'none'
        });
    }else{
        swan.showToast({
            title:'订阅失败',
            icon:'none'
        });
    }
}).catch(err => {
    swan.showToast({
        title:'订阅失败',
        icon:'none'
    });
});

2.2.3 取消订阅 cancelSub

API请求参数:

参数 类型 说明 是否必选 备注
subscribeID String 订阅id
openId String 小程序openId
sourceFlag String 订阅标识

API返回参数:

API返回成功:

{
    "code":0,// 接口状态,0 操作成功
    "msg":"success",
    "data": {}
}

API返回失败code错误码列表:

错误码 错误详情
200000000 未获取到用户信息
200000006 已订阅
200000003 查询订阅号失败
200000004 取消订阅失败

API使用示例:

/**
* 取消订阅
*
* @param {string} subscribeID 订阅id
* @param {string} openId 小程序openId
* @param {string} sourceFlag 订阅标识
*/

subscribeManager.cancelSub(subscribeID, openId, sourceFlag).then(res => {
    // res.code 为 0 时接口正常
    // 业务逻辑...
    if (!res.code) {
        swan.showToast({
            title: '取消成功',
            icon: 'none'
        });
    } else {
        swan.showToast({
            title: '取消失败',
            icon: 'none'
        });
    }
}).catch(err => {
    swan.showToast({
        title: '取消失败',
        icon: 'none'
    });
});

2.2.4 跳转订阅助手 toManage

API使用示例:

/**
 * 管理订阅,跳转到订阅助手小程序
 */
onSubscribeManage() {
    subscribeManager.toManage();
}

2.2.5 修改干预信息 modifyIntervene

API请求参数:

参数 类型 说明 是否必填
subscribeID String 订阅id
openId String 小程序openId
opType Number 1、新增标签(城市等)
2、取消标签(城市等)
3、修改标签(城市等)
sourceFlag String 订阅标识
intervene Array. 修改城市列表
>> intervene[].type Number 特征类型
1(城市)
2(省份)
3(快递公司)
4(运动员)
>> intervene[].value String 用英文逗号把vaule值连接起来

API使用示例:

/**
 * 修改城市信息
 * @param {string} subscribeID 订阅id
 * @param {string} openId 小程序openId
 * @param {number} opType 1、新增干预城市 | 2、取消干预城市 | 3、修改干预城市
 * @param {string} sourceFlag 订阅标识
 * @param {string} intervene 修改城市列表
 * @return {Promise} 请求对象
 */
subscribeManager.modifyIntervene(subscribeID, openId, 1, sourceFlag, [
    {
        "type": 1, // type 1是城市
        "value": "130000,130001,130002"
    },
    {
        "type": 2, // type 2是省份
        "value": "130000,130003"
    }

]).then(res => {
    console.log(res)
});

API返回参数:

{
    "code": 0, // 为0时,操作成功
    "msg": "success",
    "data": {}
}

2.2.6 初始化订阅配置 subInit

API请求参数:

参数 类型 说明 是否必填
conf Object 订阅配置信息
>> conf.host String 订阅请求 HOST

Readme

Keywords

none

Package Sidebar

Install

npm i @gov-api-package/subscribe-manager

Weekly Downloads

1

Version

1.0.10

License

ISC

Unpacked Size

12.9 kB

Total Files

3

Last publish

Collaborators

  • wang_336633
  • mayachen1
  • mayachen111
  • songyulin
  • luof
  • hellnaren