第一步,需要先去小程序官方挑选一下订阅模板拿到模板id
订阅按钮在头部导航上,所以
<u-navbar :bgColor="bgColor"><view class="u-nav-slot" slot="left" @click="goSubscribe"><image :src="getimg('subscribe.png')" style="width: 44rpx;height: 44rpx;"></image><view class="le_tt">订阅</view></view></u-navbar>
// 订阅goSubscribe() {// 获取时间let time = new Date()let today = time.getDate()let moni1 = time.setDate(today + 1);let yM2 = new Date(moni1).getFullYear() + '-' + (this.checkTime(new Date(moni1).getMonth() + 1)) + '-'let temp2 = yM2 + this.checkTime(new Date(moni1).getDate()) //明天let _this = this;let tempid = ['你的模板id']uni.getSetting({withSubscriptions: true,success(res) {// 通过Object.keys() 获取返回的数据包含了哪些键名,返回的类型是个数组let obj = Object.keys(res.subscriptionsSetting)// mainSwitch 是消息订阅的总开关if (!res.subscriptionsSetting.mainSwitch) {uni.showToast({title: '请去 "设置-消息订阅" 开启消息通知',icon: 'none',duration: 2000});} else {if (obj.includes(tempid[0])) { //判断是否勾选了“总是保持以上选择……”addSubscribe({date: temp2}).then(res => {})uni.showToast({title: '您已经设置了总是提醒了哟',icon: 'none',duration: 2000});return} else {_this.isSubscribe = trueuni.requestSubscribeMessage({tmplIds: tempid,success(res) {if (res[tempid[0]] == 'accept') {addSubscribe({date: temp2}).then(res => {uni.showToast({icon: 'none',title: res.msg,duration: 2000});})_this.isSubscribe = false} else {_this.isSubscribe = false}},fail(err) {console.log(err);}})}}}})},