42 lines
1.3 KiB
JavaScript
42 lines
1.3 KiB
JavaScript
/**
|
||
* 小程序订阅消息(对应后端 go/controllers/api_mini_subscribe.go)
|
||
*
|
||
* 订阅消息是「用户授权 → 服务器主动推给用户」的通道:
|
||
* 1. getSubscribeTemplates() 取当前可订阅的模板
|
||
* 2. 用户在微信弹窗里同意后,authorizeSubscribe() 上报,服务器记一次发送机会
|
||
* 3. 之后业务侧发站内信/审批待办,服务器自动推送到用户微信
|
||
*/
|
||
import { request } from '@/api/request.js'
|
||
|
||
/** 取可订阅的模板列表(含模板 ID、跳转页面、剩余可发送次数) */
|
||
export function getSubscribeTemplates() {
|
||
return request({
|
||
url: '/api/mini/subscribe/templates',
|
||
method: 'get'
|
||
})
|
||
}
|
||
|
||
/**
|
||
* 上报授权结果:每授权一次,服务器记一次可发送机会
|
||
* @param {string[]} templateIds 用户同意的模板 ID 列表
|
||
*/
|
||
export function authorizeSubscribe(templateIds) {
|
||
return request({
|
||
url: '/api/mini/subscribe/authorize',
|
||
method: 'post',
|
||
data: { template_ids: templateIds }
|
||
})
|
||
}
|
||
|
||
/**
|
||
* 发一条测试订阅消息(验证模板配置是否正确)
|
||
* @param {{title?: string, content?: string}} payload
|
||
*/
|
||
export function sendTestSubscribeNotice(payload = {}) {
|
||
return request({
|
||
url: '/api/mini/subscribe/test',
|
||
method: 'post',
|
||
data: payload
|
||
})
|
||
}
|