"use strict"; var __assign = (this && this.__assign) || function () { __assign = Object.assign || function(t) { for (var s, i = 1, n = arguments.length; i < n; i++) { s = arguments[i]; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; } return t; }; return __assign.apply(this, arguments); }; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; var __generator = (this && this.__generator) || function (thisArg, body) { var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; function verb(n) { return function (v) { return step([n, v]); }; } function step(op) { if (f) throw new TypeError("Generator is already executing."); while (_) try { if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; if (y = 0, t) op = [op[0] & 2, t.value]; switch (op[0]) { case 0: case 1: t = op; break; case 4: _.label++; return { value: op[1], done: false }; case 5: _.label++; y = op[1]; op = [0]; continue; case 7: op = _.ops.pop(); _.trys.pop(); continue; default: if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } if (t[2]) _.ops.pop(); _.trys.pop(); continue; } op = body.call(thisArg, _); } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; } }; Object.defineProperty(exports, "__esModule", { value: true }); var promise_wx_api_1 = require("../../utils/promise-wx-api"); var tempReslove = function () { }; var app = getApp(); function returnData(obj) { return obj; } Component({ options: { addGlobalClass: true }, properties: { behaviorType: { type: String, value: '' }, behaviorTitle: { type: String, value: '' }, templateType: { type: String, value: '' }, }, data: returnData({ isMsg: false, checked: false, templateList: [], templateInfo: {}, wxAlwaysVisit: 'no' }), ready: function () { return __awaiter(this, void 0, void 0, function () { return __generator(this, function (_a) { switch (_a.label) { case 0: return [4, app.doAfterLogin()]; case 1: _a.sent(); this.initTemplateList(); return [2]; } }); }); }, methods: { initTemplateInfo: function (id) { return __awaiter(this, void 0, void 0, function () { var hasShow, _a, _b, code, data, msg; return __generator(this, function (_c) { switch (_c.label) { case 0: hasShow = false; return [4, promise_wx_api_1.wxRequestPost("message/wxmpmessage/get-authorizeinfo", { customerId: app.globalData.customerId, clientType: 'resi', templateId: id }, { isQuiet: true })]; case 1: _a = _c.sent(), _b = _a.data.data, code = _b.code, data = _b.data, msg = _a.msg; if (msg === "success" && code === 0) { if (data.alwaysVisit === 'yes' && data.subscribeStatus === 'unsubscribe' && data.wxAlwaysVisit !== 'yes') hasShow = true; this.setData({ templateInfo: __assign({}, data), checked: false }); this.triggerEvent('resubscribe', { hasShow: hasShow, templateId: id }); } return [2]; } }); }); }, initTemplateList: function () { return __awaiter(this, void 0, void 0, function () { var extAppid, _a, _b, code, data, msg; return __generator(this, function (_c) { switch (_c.label) { case 0: extAppid = wx.getStorageSync('extAppid'); return [4, promise_wx_api_1.wxRequestPost("message/wxmpmessage/templatelist", { customerId: app.globalData.customerId, appId: extAppid, templateType: this.data.templateType }, { isQuiet: true })]; case 1: _a = _c.sent(), _b = _a.data.data, code = _b.code, data = _b.data, msg = _a.msg; console.log('dddddd', data); if (!(msg === "success" && code === 0)) return [3, 3]; if (!(data && data.length > 0)) return [3, 3]; this.setData({ templateList: data.map(function (item) { return item.templateId; }) }); return [4, this.initTemplateInfo(data[0].templateId)]; case 2: _c.sent(); _c.label = 3; case 3: return [2]; } }); }); }, saveSysStatus: function (status) { return __awaiter(this, void 0, void 0, function () { var _a, checked, wxAlwaysVisit, templateList, _b, _c, code, data, msg; return __generator(this, function (_d) { switch (_d.label) { case 0: _a = this.data, checked = _a.checked, wxAlwaysVisit = _a.wxAlwaysVisit, templateList = _a.templateList; if (wxAlwaysVisit === 'yes') checked = true; return [4, promise_wx_api_1.wxRequestPost("message/wxmpmessage/save-sys-authorizeinfo", { customerId: app.globalData.customerId, clientType: 'resi', alwaysVisit: checked ? 'yes' : 'no', subscribeStatus: status, templateId: templateList[0] }, { isQuiet: true })]; case 1: _b = _d.sent(), _c = _b.data.data, code = _c.code, data = _c.data, msg = _b.msg; if (msg === "success" && code === 0) { } return [2]; } }); }); }, saveWxStatus: function (status) { return __awaiter(this, void 0, void 0, function () { var _a, templateList, wxAlwaysVisit, _b, code, msg; return __generator(this, function (_c) { switch (_c.label) { case 0: _a = this.data, templateList = _a.templateList, wxAlwaysVisit = _a.wxAlwaysVisit; return [4, promise_wx_api_1.wxRequestPost("message/wxmpmessage/save-wxsubscribe", { customerId: app.globalData.customerId, clientType: 'resi', wxAlwaysVisit: wxAlwaysVisit, wxSubscribeStatus: status, behaviorType: this.data.behaviorType, templateId: templateList[0] }, { isQuiet: true })]; case 1: _b = _c.sent(), code = _b.data.data.code, msg = _b.msg; if (msg === "success" && code === 0) { if (status === 'subscribe') { wx.showToast({ title: '订阅成功', icon: 'none', duration: 1500 }); } } return [2]; } }); }); }, handleMsg: function () { return __awaiter(this, void 0, void 0, function () { return __generator(this, function (_a) { if (Object.keys(this.data.templateInfo).length > 0 && this.data.templateInfo.subscribeStatus === 'unsubscribe' && this.data.templateInfo.alwaysVisit === 'yes') return [2, false]; this.setData({ isMsg: true }); wx.setNavigationBarColor({ frontColor: "#000000", backgroundColor: "#999999", animation: { duration: 270 } }); return [2, new Promise(function (reslove) { tempReslove = reslove; })]; }); }); }, wxGetSeting: function (status) { var _this = this; var _a = this.data, wxAlwaysVisit = _a.wxAlwaysVisit, templateList = _a.templateList, checked = _a.checked; var subscriptionsSetting = {}; var templateId = templateList[0]; wx.getSetting({ withSubscriptions: true, success: function (res) { return __awaiter(_this, void 0, void 0, function () { return __generator(this, function (_a) { switch (_a.label) { case 0: console.log('subscriptionsSetting', res.subscriptionsSetting); subscriptionsSetting = res.subscriptionsSetting; if (!(subscriptionsSetting.itemSettings !== undefined)) return [3, 3]; if (!(templateId in subscriptionsSetting.itemSettings)) return [3, 3]; if (!(subscriptionsSetting.itemSettings[templateId] === 'reject')) return [3, 3]; wxAlwaysVisit = 'yes'; checked = true; console.log('itemSettings', subscriptionsSetting.itemSettings); return [4, this.saveSysStatus(status)]; case 1: _a.sent(); return [4, this.initTemplateList()]; case 2: _a.sent(); _a.label = 3; case 3: this.setData({ wxAlwaysVisit: wxAlwaysVisit }); return [4, this.saveWxStatus(status)]; case 4: _a.sent(); tempReslove(true); return [2]; } }); }); } }); }, handleRequestMsg: function () { var _this = this; this.setData({ isMsg: false }); wx.setNavigationBarColor({ frontColor: "#000000", backgroundColor: "#ffffff", }); wx.requestSubscribeMessage({ tmplIds: this.data.templateList, success: function (res) { console.log('res', res); if (res.errMsg === 'requestSubscribeMessage:ok') { if (res[_this.data.templateList[0]] === 'accept') _this.wxGetSeting('subscribe'); else if (res[_this.data.templateList[0]] === 'reject') _this.wxGetSeting('unsubscribe'); } }, fail: function (err) { console.log('err', err); tempReslove(true); } }); this.saveSysStatus('subscribe'); }, handleCancleMsg: function () { return __awaiter(this, void 0, void 0, function () { return __generator(this, function (_a) { switch (_a.label) { case 0: this.setData({ isMsg: false }); wx.setNavigationBarColor({ frontColor: "#000000", backgroundColor: "#ffffff", }); return [4, this.saveSysStatus('unsubscribe')]; case 1: _a.sent(); return [4, this.initTemplateList()]; case 2: _a.sent(); tempReslove(true); return [2]; } }); }); }, handleChecked: function () { this.setData({ checked: !this.data.checked }); } } });