/**
							 | 
						|
								 * 微信小程序订阅消息工具
							 | 
						|
								 * 用于统一管理订阅消息通知功能
							 | 
						|
								 */
							 | 
						|
								
							 | 
						|
								/**
							 | 
						|
								 * 订阅模板消息
							 | 
						|
								 * @param {Array} templateIds - 模板ID数组,如果不传则使用默认模板
							 | 
						|
								 * @returns {Promise} 返回订阅结果
							 | 
						|
								 */
							 | 
						|
								export function subscribeMessage(templateIds = null) {
							 | 
						|
								    return new Promise((resolve, reject) => {
							 | 
						|
								        // 默认的模板ID列表
							 | 
						|
								        const defaultTemplateIds = [
							 | 
						|
								            'uXZnHWrjtcX9JHlnMpdlWmzgJp71sKxCRiMn3TrE-EE',
							 | 
						|
								            'gTzGpOfJcYxtbvPG9OHnhbureKz5XLG8NPyECUGb2lw',
							 | 
						|
								        ];
							 | 
						|
								        
							 | 
						|
								        // 使用传入的模板ID或默认模板ID
							 | 
						|
								        const tmplIds = templateIds || defaultTemplateIds;
							 | 
						|
								        
							 | 
						|
								        wx.requestSubscribeMessage({
							 | 
						|
								            tmplIds: tmplIds, // 需要订阅的模板ID列表
							 | 
						|
								            success(res) {
							 | 
						|
								                resolve(res);
							 | 
						|
								                console.log('订阅消息调用成功', res);
							 | 
						|
								                
							 | 
						|
								                // 遍历处理每个模板ID的订阅结果
							 | 
						|
								                tmplIds.forEach(tmplId => {
							 | 
						|
								                    if (res[tmplId] === 'accept') {
							 | 
						|
								                        console.log(`用户同意订阅模板ID:${tmplId}`);
							 | 
						|
								                        // 这里可以添加用户同意后的逻辑,比如发送消息等(注意:发送消息需要在后端进行)
							 | 
						|
								                    } else if (res[tmplId] === 'reject') {
							 | 
						|
								                        console.log(`用户拒绝订阅模板ID:${tmplId}`);
							 | 
						|
								                    } else {
							 | 
						|
								                        console.log(`用户对该模板ID的订阅请求:${res[tmplId]}`); // 'ban' 表示用户被禁止订阅该模板
							 | 
						|
								                    }
							 | 
						|
								                });
							 | 
						|
								            },
							 | 
						|
								            fail(err) {
							 | 
						|
								                resolve(err); // 即使失败也resolve,避免阻塞业务流程
							 | 
						|
								                console.error('订阅消息调用失败', err);
							 | 
						|
								            }
							 | 
						|
								        });
							 | 
						|
								    });
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								/**
							 | 
						|
								 * 在发布内容前调用订阅消息
							 | 
						|
								 * 这是一个便捷方法,用于在发布内容前统一处理订阅逻辑
							 | 
						|
								 * @param {Array} templateIds - 可选的模板ID数组
							 | 
						|
								 * @returns {Promise} 返回订阅结果
							 | 
						|
								 */
							 | 
						|
								export async function subscribeBeforePublish(templateIds = null) {
							 | 
						|
								    try {
							 | 
						|
								        const result = await subscribeMessage(templateIds);
							 | 
						|
								        return result;
							 | 
						|
								    } catch (error) {
							 | 
						|
								        console.error('订阅消息失败:', error);
							 | 
						|
								        return null;
							 | 
						|
								    }
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								export default {
							 | 
						|
								    subscribeMessage,
							 | 
						|
								    subscribeBeforePublish
							 | 
						|
								};
							 |