1.0.10 • Published 1 year ago

@gov-api-package/subscribe-manager v1.0.10

Weekly downloads
-
License
ISC
Repository
-
Last release
1 year ago

订阅API

一、在开发之前

1.1 配置域名

接入前请将此域名 https://zw.baidusmartapps.com 添加到request的合法域名中 | 域名 | 添加方式 | | ---- | ---- | | https://zw.baidusmartapps.com | 开发者后台->小程序管理->设置->开发设置->服务器域名->request的合法域名 |

1.2 获取订阅项的必要信息

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

标识名称标识字段
订阅标识sourceFlag
订阅IDsubscribeID

二、接入

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请求参数:

参数类型说明是否必选
sourceFlagString订阅标识
openIdString小程序openId
searchInterveneString特征数据

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请求参数:

参数类型说明是否必选备注
subscribeIDString订阅id
openIdString小程序openId
sourceFlagString订阅标识
intervenePropsObject特征类型和列表仅在有特征数据时需要传入该数据
>>interveneProps.interveneTypeNumber特征类型1(城市)2(省份)3(快递公司)4(运动员)...(仅在特征类型为1【城市】或者2【省份】且需要【代获取当前位置的特征列表】时,需要传入)
>>interveneProps.interveneArray.修改特征列表当特征类型为非1【城市】且非2【省份】时,特征列表必须传入
>> >> interveneProps.intervene[].typeNumber特征类型1(城市)2(省份)3(快递公司)4(运动员)传入type多个以逗号隔开
>> >> interveneProps.intervene[].valueString用英文逗号把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请求参数:

参数类型说明是否必选备注
subscribeIDString订阅id
openIdString小程序openId
sourceFlagString订阅标识

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请求参数:

参数类型说明是否必填
subscribeIDString订阅id
openIdString小程序openId
opTypeNumber1、新增标签(城市等)2、取消标签(城市等)3、修改标签(城市等)
sourceFlagString订阅标识
interveneArray.修改城市列表
>> intervene[].typeNumber特征类型 1(城市)2(省份)3(快递公司)4(运动员)
>> intervene[].valueString用英文逗号把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请求参数:

参数类型说明是否必填
confObject订阅配置信息
>> conf.hostString订阅请求 HOST
1.0.10

1 year ago

1.0.9-alpha.0

1 year ago

1.0.9

2 years ago

1.0.8

2 years ago

1.0.7

2 years ago

1.0.6

2 years ago

1.0.5

2 years ago

1.0.4

2 years ago

1.0.3

2 years ago

1.0.2

2 years ago

1.0.1

2 years ago

1.0.0

2 years ago