Files
ruo-shan-cloud-pharmacy/miniprogram/package-live/volc-mini-sdk/components/image-text-float/questionnaire/questionnaire.js
T
陈誉午 994b267f5c feat: 电子药箱小程序 - 4Tab药品管理
- 电子药箱: 药品库存管理 + 手动录入 + 今日用药打卡
- 药品百科: 搜索 + 分类筛选 + 20种药品静态数据
- 惠教中心: 4条药品使用指南课程
- 我的: 家庭成员信息管理
- 自定义TabBar + navigation-bar组件
- SVG药品分类插图
2026-07-29 11:20:52 +08:00

1 line
31 KiB
JavaScript

"use strict";var _questionnaireService=require("../../../services/questionnaire-service"),_constant=require("../../../utils/constant"),_questionnaireManager=require("../../../utils/questionnaire-manager"),_theme=require("../../../utils/theme"),_validate=require("./utils/validate");function _createForOfIteratorHelper(e,t){var i="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!i){if(Array.isArray(e)||(i=_unsupportedIterableToArray(e))||t&&e&&"number"==typeof e.length){i&&(e=i);var n=0,r=function(){};return{s:r,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:r}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){i=i.call(e)},n:function(){var e=i.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==i.return||i.return()}finally{if(s)throw o}}}}function _unsupportedIterableToArray(e,t){if(e){if("string"==typeof e)return _arrayLikeToArray(e,t);var i=Object.prototype.toString.call(e).slice(8,-1);return"Object"===i&&e.constructor&&(i=e.constructor.name),"Map"===i||"Set"===i?Array.from(e):"Arguments"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i)?_arrayLikeToArray(e,t):void 0}}function _arrayLikeToArray(e,t){(null==t||t>e.length)&&(t=e.length);for(var i=0,n=new Array(t);i<t;i++)n[i]=e[i];return n}function _regeneratorRuntime(){_regeneratorRuntime=function(){return e};var e={},t=Object.prototype,i=t.hasOwnProperty,n=Object.defineProperty||function(e,t,i){e[t]=i.value},r="function"==typeof Symbol?Symbol:{},o=r.iterator||"@@iterator",a=r.asyncIterator||"@@asyncIterator",s=r.toStringTag||"@@toStringTag";function u(e,t,i){return Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{u({},"")}catch(e){u=function(e,t,i){return e[t]=i}}function l(e,t,i,r){var o=t&&t.prototype instanceof g?t:g,a=Object.create(o.prototype),s=new k(r||[]);return n(a,"_invoke",{value:S(e,i,s)}),a}function c(e,t,i){try{return{type:"normal",arg:e.call(t,i)}}catch(e){return{type:"throw",arg:e}}}e.wrap=l;var d={};function g(){}function v(){}function f(){}var h={};u(h,o,function(){return this});var p=Object.getPrototypeOf,m=p&&p(p(w([])));m&&m!==t&&i.call(m,o)&&(h=m);var y=f.prototype=g.prototype=Object.create(h);function _(e){["next","throw","return"].forEach(function(t){u(e,t,function(e){return this._invoke(t,e)})})}function b(e,t){function r(n,o,a,s){var u=c(e[n],e,o);if("throw"!==u.type){var l=u.arg,d=l.value;return d&&"object"==_typeof(d)&&i.call(d,"__await")?t.resolve(d.__await).then(function(e){r("next",e,a,s)},function(e){r("throw",e,a,s)}):t.resolve(d).then(function(e){l.value=e,a(l)},function(e){return r("throw",e,a,s)})}s(u.arg)}var o;n(this,"_invoke",{value:function(e,i){function n(){return new t(function(t,n){r(e,i,t,n)})}return o=o?o.then(n,n):n()}})}function S(e,t,i){var n="suspendedStart";return function(r,o){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===r)throw o;return{value:void 0,done:!0}}for(i.method=r,i.arg=o;;){var a=i.delegate;if(a){var s=I(a,i);if(s){if(s===d)continue;return s}}if("next"===i.method)i.sent=i._sent=i.arg;else if("throw"===i.method){if("suspendedStart"===n)throw n="completed",i.arg;i.dispatchException(i.arg)}else"return"===i.method&&i.abrupt("return",i.arg);n="executing";var u=c(e,t,i);if("normal"===u.type){if(n=i.done?"completed":"suspendedYield",u.arg===d)continue;return{value:u.arg,done:i.done}}"throw"===u.type&&(n="completed",i.method="throw",i.arg=u.arg)}}}function I(e,t){var i=t.method,n=e.iterator[i];if(void 0===n)return t.delegate=null,"throw"===i&&e.iterator.return&&(t.method="return",t.arg=void 0,I(e,t),"throw"===t.method)||"return"!==i&&(t.method="throw",t.arg=new TypeError("The iterator does not provide a '"+i+"' method")),d;var r=c(n,e.iterator,t.arg);if("throw"===r.type)return t.method="throw",t.arg=r.arg,t.delegate=null,d;var o=r.arg;return o?o.done?(t[e.resultName]=o.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,d):o:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,d)}function T(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function Q(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function k(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(T,this),this.reset(!0)}function w(e){if(e){var t=e[o];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,r=function t(){for(;++n<e.length;)if(i.call(e,n))return t.value=e[n],t.done=!1,t;return t.value=void 0,t.done=!0,t};return r.next=r}}return{next:x}}function x(){return{value:void 0,done:!0}}return v.prototype=f,n(y,"constructor",{value:f,configurable:!0}),n(f,"constructor",{value:v,configurable:!0}),v.displayName=u(f,s,"GeneratorFunction"),e.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===v||"GeneratorFunction"===(t.displayName||t.name))},e.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,f):(e.__proto__=f,u(e,s,"GeneratorFunction")),e.prototype=Object.create(y),e},e.awrap=function(e){return{__await:e}},_(b.prototype),u(b.prototype,a,function(){return this}),e.AsyncIterator=b,e.async=function(t,i,n,r,o){void 0===o&&(o=Promise);var a=new b(l(t,i,n,r),o);return e.isGeneratorFunction(i)?a:a.next().then(function(e){return e.done?e.value:a.next()})},_(y),u(y,s,"Generator"),u(y,o,function(){return this}),u(y,"toString",function(){return"[object Generator]"}),e.keys=function(e){var t=Object(e),i=[];for(var n in t)i.push(n);return i.reverse(),function e(){for(;i.length;){var n=i.pop();if(n in t)return e.value=n,e.done=!1,e}return e.done=!0,e}},e.values=w,k.prototype={constructor:k,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(Q),!e)for(var t in this)"t"===t.charAt(0)&&i.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=void 0)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var t=this;function n(i,n){return a.type="throw",a.arg=e,t.next=i,n&&(t.method="next",t.arg=void 0),!!n}for(var r=this.tryEntries.length-1;r>=0;--r){var o=this.tryEntries[r],a=o.completion;if("root"===o.tryLoc)return n("end");if(o.tryLoc<=this.prev){var s=i.call(o,"catchLoc"),u=i.call(o,"finallyLoc");if(s&&u){if(this.prev<o.catchLoc)return n(o.catchLoc,!0);if(this.prev<o.finallyLoc)return n(o.finallyLoc)}else if(s){if(this.prev<o.catchLoc)return n(o.catchLoc,!0)}else{if(!u)throw new Error("try statement without catch or finally");if(this.prev<o.finallyLoc)return n(o.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var r=this.tryEntries[n];if(r.tryLoc<=this.prev&&i.call(r,"finallyLoc")&&this.prev<r.finallyLoc){var o=r;break}}o&&("break"===e||"continue"===e)&&o.tryLoc<=t&&t<=o.finallyLoc&&(o=null);var a=o?o.completion:{};return a.type=e,a.arg=t,o?(this.method="next",this.next=o.finallyLoc,d):this.complete(a)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),d},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var i=this.tryEntries[t];if(i.finallyLoc===e)return this.complete(i.completion,i.afterLoc),Q(i),d}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var i=this.tryEntries[t];if(i.tryLoc===e){var n=i.completion;if("throw"===n.type){var r=n.arg;Q(i)}return r}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,i){return this.delegate={iterator:w(e),resultName:t,nextLoc:i},"next"===this.method&&(this.arg=void 0),d}},e}function asyncGeneratorStep(e,t,i,n,r,o,a){try{var s=e[o](a),u=s.value}catch(e){return void i(e)}s.done?t(u):Promise.resolve(u).then(n,r)}function _asyncToGenerator(e){return function(){var t=this,i=arguments;return new Promise(function(n,r){var o=e.apply(t,i);function a(e){asyncGeneratorStep(o,n,r,a,s,"next",e)}function s(e){asyncGeneratorStep(o,n,r,a,s,"throw",e)}a(void 0)})}}function _typeof(e){return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_typeof(e)}function ownKeys(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),i.push.apply(i,n)}return i}function _objectSpread(e){for(var t=1;t<arguments.length;t++){var i=null!=arguments[t]?arguments[t]:{};t%2?ownKeys(Object(i),!0).forEach(function(t){_defineProperty(e,t,i[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(i)):ownKeys(Object(i)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(i,t))})}return e}function _defineProperty(e,t,i){return(t=_toPropertyKey(t))in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function _toPropertyKey(e){var t=_toPrimitive(e,"string");return"symbol"===_typeof(t)?t:String(t)}function _toPrimitive(e,t){if("object"!==_typeof(e)||null===e)return e;var i=e[Symbol.toPrimitive];if(void 0!==i){var n=i.call(e,t||"default");if("object"!==_typeof(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}var normalizeFlag=function(e){return!0===e||Number(e)===_constant.BOOLEAN_FLAG.YES},normalizeTriggerKey=function(e){return String(e||"").trim().replace(/-/g,"_")},getNicknameFromStore=function(e){return e&&"function"==typeof e.get&&(e.get("userInfo")||{}).username||""},getQuestionnaireContextFromImageText=function(e){return e&&e.QuestionnaireContext?e.QuestionnaireContext:null};Component({properties:{sdkInstance:{type:Object,value:null},allowedTriggers:{type:Array,value:[]},closable:{type:Boolean,value:!0}},data:{visible:!1,currentId:null,currentQuestionnaire:null,contextSig:"",isAuto:!1,triggerTime:"",effectiveClosable:!0,isBlocking:!1,isSubmitting:!1,isFilled:!1,isRealNameEnable:!1,isUserFilled:!1,useDarkTheme:!1,activityId:null,mode:null},lifetimes:{detached:function(){"function"==typeof this._unsubscribe&&this._unsubscribe(),this._unsubscribe=null}},observers:{allowedTriggers:function(e){var t=Array.isArray(e)?e:[];this._allowedTriggerSet=new Set(t.map(normalizeTriggerKey).filter(Boolean))},sdkInstance:function(e){e&&(this.sdkInstance=e,this.store=e.store,this._allowedTriggerSet=new Set((Array.isArray(this.properties.allowedTriggers)?this.properties.allowedTriggers:[]).map(normalizeTriggerKey).filter(Boolean)),this._livePageInHandled=!1,this._blockingNotified=!1,this._lastLiveStatus=null,this._liveEndQuestionnaireTriggered=!1,this._liveEndQuestionnaireTriggering=!1,this._directQuestionnaire=null,this._lastQuestionnaireInfoSig="","function"==typeof this._unsubscribe&&this._unsubscribe(),this._unsubscribe=null,this._unsubscribe=this.store.get({liveInfo:this.handleStoreChange.bind(this),imageTextInfo:this.handleStoreChange.bind(this),mainInfo:this.handleStoreChange.bind(this),QuestionnaireInfo:this.handleQuestionnaireInfoChange.bind(this)}),this.handleStoreChange())}},methods:{_isTriggerAllowed:function(e){var t=normalizeTriggerKey(e),i=this._allowedTriggerSet;return!i||0===i.size||i.has(t)},openById:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};null!=e&&""!==e&&this._openQuestionnaire(String(e),{isAuto:!1,triggerTime:String(t.triggerTime||"manual"),isBlocking:!1})},handleQuestionnaireInfoChange:function(e){var t=e||{},i=!!t.visible,n=t.currentId,r=String(t.triggerTime||""),o=!!t.isAuto,a=!!t.isBlocking,s=String([i?1:0,null!=n?n:"",r,o?1:0,a?1:0].join("_"));if(s!==this._lastQuestionnaireInfoSig)if(this._lastQuestionnaireInfoSig=s,i&&null!=n&&""!==n){var u=r||"image_text";if(!this._isTriggerAllowed(u))return;if(this.data.visible&&String(this.data.currentId)===String(n)){var l=r||"image_text";if(String(this.data.triggerTime||"")===String(l)&&!!this.data.isBlocking==!!a)return}this._openQuestionnaire(String(n),{isAuto:o,triggerTime:r||"image_text",isBlocking:a})}else i||!this.data.visible||this.data.isBlocking||this._close({resetBlocking:!1,reason:"store_hide"})},_notifyBlockingChange:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=!!e;this._blockingNotified!==i&&(this._blockingNotified=i,this.triggerEvent("blockingChange",_objectSpread({blocking:i},t),{bubbles:!0,composed:!0}))},handleStoreChange:function(){var e;if(this.store){var t=this.store.get("liveInfo")||{},i=this.store.get("imageTextInfo")||{},n=this.store.get("mainInfo")||{},r=t.ActivityId,o=t.Mode,a=t.Basic,s=void 0===a?{}:a,u=(0,_theme.isUseDarkTheme)(s),l=null!=r?r:this.data.activityId,c=null!==(e=null!=o?o:n.mode)&&void 0!==e?e:this.data.mode;l===this.data.activityId&&c===this.data.mode&&u===this.data.useDarkTheme||this.setData({activityId:l,mode:c,useDarkTheme:u}),this._maybeEnterBlockingQuestionnaire(t),this._maybeTriggerLiveEndQuestionnaire(t),this.data.visible&&this.data.currentId&&this._syncVisibleQuestionnaire({liveInfo:t,imageTextInfo:i})}},_maybeEnterBlockingQuestionnaire:function(e){if(!this._livePageInHandled){var t=null==e?void 0:e.Questionnaire;if(t&&"object"===_typeof(t)){var i=null==t?void 0:t.TriggerTime,n=null==t?void 0:t.Questions;if("live_page_in"===String(i))if(this._isTriggerAllowed("live_page_in")){if(Array.isArray(n)&&0!==n.length){var r=null==t?void 0:t.QuestionnaireId;null!=r&&""!==r&&((0,_questionnaireManager.isYesFlag)(null==t?void 0:t.IsRealNameEnable)&&(0,_questionnaireManager.isQuestionnaireFilledInStorage)(r)?this._livePageInHandled=!0:(this._directQuestionnaire=t,this._livePageInHandled=!0,this._openQuestionnaire(String(r),{isAuto:!0,triggerTime:"live_page_in",isBlocking:!0})))}}else this._livePageInHandled=!0}}},_maybeTriggerLiveEndQuestionnaire:function(e){var t,i=this,n=null==e||null===(t=e.Basic)||void 0===t?void 0:t.Status;if(null!=n)if(this._isTriggerAllowed("live_end")){var r=this._lastLiveStatus,o=n;if(this._lastLiveStatus=o,null!=r&&!this._liveEndQuestionnaireTriggered&&!this._liveEndQuestionnaireTriggering){var a=Number(r),s=Number(o),u=a===_constant.LIVE_STATUS.直播,l=s===_constant.LIVE_STATUS.直播;u&&!l&&(this._liveEndQuestionnaireTriggering=!0,this._triggerLiveEndQuestionnaire().catch(function(){}).finally(function(){i._liveEndQuestionnaireTriggering=!1}))}}else this._lastLiveStatus=n},_triggerLiveEndQuestionnaire:function(){var e=this;return _asyncToGenerator(_regeneratorRuntime().mark(function t(){var i,n,r,o,a,s,u,l,c,d,g;return _regeneratorRuntime().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:if(s=e.data.activityId){t.next=3;break}return t.abrupt("return");case 3:if(e.sdkInstance&&"function"==typeof e.sdkInstance.request){t.next=5;break}return t.abrupt("return");case 5:return t.prev=5,t.next=8,e.sdkInstance.request(_constant.REQUEST_URL_MAP.GET_ACTIVITY,{method:"GET",data:{ActivityId:s,NeedQuestionnaire:!0,QuestionnaireTriggerTime:"live_end",NeedBasic:1,ExitVersion:1}});case 8:u=t.sent,t.next=14;break;case 11:return t.prev=11,t.t0=t.catch(5),t.abrupt("return");case 14:if((l=(null===(i=u)||void 0===i?void 0:i.Questionnaire)||(null===(n=u)||void 0===n||null===(r=n.activitydata)||void 0===r?void 0:r.Questionnaire))&&"object"===_typeof(l)){t.next=17;break}return t.abrupt("return");case 17:if(c=null==l?void 0:l.TriggerTime,d=null==l?void 0:l.Questions,"live_end"===String(c)){t.next=21;break}return t.abrupt("return");case 21:if(Array.isArray(d)&&0!==d.length){t.next=23;break}return t.abrupt("return");case 23:if(null!=(g=null==l?void 0:l.QuestionnaireId)&&""!==g){t.next=26;break}return t.abrupt("return");case 26:if(!(0,_questionnaireManager.isYesFlag)(null==l?void 0:l.IsRealNameEnable)||!(0,_questionnaireManager.isQuestionnaireFilledInStorage)(g)){t.next=29;break}return e._liveEndQuestionnaireTriggered=!0,t.abrupt("return");case 29:e.data.visible&&e._close({resetBlocking:!!e.data.isBlocking,reason:"replace_by_live_end"}),e._directQuestionnaire=l,e._liveEndQuestionnaireTriggered=!0,null===(o=e.store)||void 0===o||null===(a=o.set)||void 0===a||a.call(o,"QuestionnaireInfo",{visible:!0,currentId:g,triggerTime:"live_end",from:"live_end",isAuto:!0,isBlocking:!1});case 33:case"end":return t.stop()}},t,null,[[5,11]])}))()},_findQuestionnaireContext:function(e,t){var i=t.liveInfo,n=t.imageTextInfo,r=this._directQuestionnaire,o=null==r?void 0:r.QuestionnaireId;if(r&&null!=o&&String(o)===String(e))return r;var a=null==i?void 0:i.Questionnaire,s=null==a?void 0:a.QuestionnaireId;if(a&&null!=s&&String(s)===String(e))return a;var u,l=_createForOfIteratorHelper(n&&n.imageText||[]);try{for(l.s();!(u=l.n()).done;){var c,d=u.value,g=_createForOfIteratorHelper((null==d?void 0:d.Context)||[]);try{for(g.s();!(c=g.n()).done;){var v=c.value,f=getQuestionnaireContextFromImageText(v);if(f&&String(f.QuestionnaireId)===String(e))return f}}catch(e){g.e(e)}finally{g.f()}}}catch(e){l.e(e)}finally{l.f()}return null},_shouldUseFilledStorage:function(e){return"live_page_in"===String(e||"")},_getQuestionnaireUserStatus:function(e){var t,i;return!!((null===(t=this.store)||void 0===t||null===(i=t.get)||void 0===i?void 0:i.call(t,"questionnaireUserStatus"))||{})[String(e)]},_setQuestionnaireUserStatus:function(e,t){if(null!=e&&""!==e&&this.store){var i=this.store.get("questionnaireUserStatus")||{};this.store.set("questionnaireUserStatus",_objectSpread(_objectSpread({},i),{},_defineProperty({},String(e),!!t)))}},_resolveQuestionnaireFilledStatus:function(e,t){var i=null==e?void 0:e.QuestionnaireId,n=this._getQuestionnaireUserStatus(i),r=normalizeFlag(null==e?void 0:e.IsUserFilled),o=this._shouldUseFilledStorage(t)&&(0,_questionnaireManager.isQuestionnaireFilledInStorage)(i);return n||r||o},_computeQuestionnaireFilledFlag:function(e,t,i){return(this._shouldUseFilledStorage(i)||!!e)&&!!t},_openQuestionnaire:function(e,t){var i,n,r,o,a,s,u,l=this,c=t||{},d=c.isAuto,g=c.triggerTime,v=c.isBlocking;if(!g||this._isTriggerAllowed(g)){var f=(null===(i=this.store)||void 0===i||null===(n=i.get)||void 0===n?void 0:n.call(i,"liveInfo"))||{},h=(null===(r=this.store)||void 0===r||null===(o=r.get)||void 0===o?void 0:o.call(r,"imageTextInfo"))||{},p=this._findQuestionnaireContext(e,{liveInfo:f,imageTextInfo:h});if(!p)return v&&this._notifyBlockingChange(!1,{triggerTime:g,questionnaireId:e,reason:"context_missing"}),void wx.showToast({title:"暂无法获取问卷内容",icon:"none",duration:2e3});var m=normalizeFlag(p.IsRealNameEnable),y=this._resolveQuestionnaireFilledStatus(p,g),_=this._computeQuestionnaireFilledFlag(m,y,g);if(v&&_)return this._shouldUseFilledStorage(g)&&(0,_questionnaireManager.markQuestionnaireFilledInStorage)(e),void this._notifyBlockingChange(!1,{triggerTime:g,questionnaireId:e,reason:"already_filled"});var b=this.normalizeQuestionnaire(p),S=getNicknameFromStore(this.store),I=(null===(a=this.data.currentQuestionnaire)||void 0===a?void 0:a.questions)||[],T=new Map(I.map(function(e){return[String(e.key),e.value]})),Q=(b.questions||[]).map(function(e){var t=T.get(String(e.key));if("nickname"===e.subTag||"昵称"===e.title)return _objectSpread(_objectSpread({},e),{},{disabled:!0,value:S,options:l.syncOptionChecked(e,S).options});var i=void 0!==t?t:e.value;return _objectSpread(_objectSpread({},e),{},{value:i,options:l.syncOptionChecked(e,i).options})}),k=String([e,p.ModifyTime||p.CreateTime||0,m?1:0,y?1:0,v?1:0,g||""].join("_")),w=!this.data.visible||String(this.data.currentId)!==String(e),x=!1!==this.properties.closable&&!v&&"live_end"!==String(g||"");if(this.setData({visible:!0,currentId:e,contextSig:k,currentQuestionnaire:_objectSpread(_objectSpread({},b),{},{questions:Q}),isAuto:!!d,triggerTime:String(g||""),effectiveClosable:x,isBlocking:!!v,isSubmitting:!1,isFilled:_,isRealNameEnable:m,isUserFilled:y}),v&&this._notifyBlockingChange(!0,{triggerTime:g,questionnaireId:e}),w){var E,A=function(){var e=l.selectComponent("#questionnaire-drawer");return!(!e||"function"!=typeof e.showFrame||(e.showFrame(),0))};A()||("function"==typeof(null===(E=wx)||void 0===E?void 0:E.nextTick)?wx.nextTick(A):setTimeout(A,0))}var j={id:e,isAuto:!!d,triggerTime:g,isBlocking:!!v,isFilled:_,isRealNameEnable:m,isUserFilled:y};null===(s=this.sdkInstance)||void 0===s||null===(u=s.reportLogger)||void 0===u||u.call(s,"mini_sdk_questionnaire_popup_open",j)}},_syncVisibleQuestionnaire:function(e){var t,i=this,n=e.liveInfo,r=e.imageTextInfo,o=this.data.currentId,a=this.data.contextSig,s=this.data.triggerTime,u=!!this.data.isBlocking,l=this._findQuestionnaireContext(o,{liveInfo:n,imageTextInfo:r});if(l){var c=normalizeFlag(l.IsRealNameEnable),d=this._resolveQuestionnaireFilledStatus(l,s),g=this._computeQuestionnaireFilledFlag(c,d,s),v=String([o,l.ModifyTime||l.CreateTime||0,c?1:0,d?1:0,u?1:0,s||""].join("_"));if(a!==v){var f=this.normalizeQuestionnaire(l),h=getNicknameFromStore(this.store),p=(null===(t=this.data.currentQuestionnaire)||void 0===t?void 0:t.questions)||[],m=new Map(p.map(function(e){return[String(e.key),e.value]})),y=(f.questions||[]).map(function(e){var t=m.get(String(e.key));if("nickname"===e.subTag||"昵称"===e.title)return _objectSpread(_objectSpread({},e),{},{disabled:!0,value:h,options:i.syncOptionChecked(e,h).options});var n=void 0!==t?t:e.value;return _objectSpread(_objectSpread({},e),{},{value:n,options:i.syncOptionChecked(e,n).options})});this.setData({contextSig:v,currentQuestionnaire:_objectSpread(_objectSpread({},f),{},{questions:y}),isFilled:g,isRealNameEnable:c,isUserFilled:d})}}else this._close({resetBlocking:u,reason:"context_missing"})},_close:function(){var e,t,i,n,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},o=!!r.resetBlocking,a=r.reason;o&&this._notifyBlockingChange(!1,{triggerTime:this.data.triggerTime,questionnaireId:this.data.currentId,reason:a||"close"}),this.data.visible&&(null===(i=this.selectComponent("#questionnaire-drawer"))||void 0===i||null===(n=i.hideFrame)||void 0===n||n.call(i,{silent:!0})),this.setData({visible:!1,currentId:null,currentQuestionnaire:null,contextSig:"",isAuto:!1,triggerTime:"",effectiveClosable:!0,isBlocking:!1,isSubmitting:!1,isFilled:!1,isRealNameEnable:!1,isUserFilled:!1});var s,u,l=(null===(e=this.store)||void 0===e||null===(t=e.get)||void 0===t?void 0:t.call(e,"QuestionnaireInfo"))||{};null!=l&&l.visible&&(null===(s=this.store)||void 0===s||null===(u=s.set)||void 0===u||u.call(s,"QuestionnaireInfo",{visible:!1,currentId:null,triggerTime:"",from:l.from||"",isAuto:!1,isBlocking:!1}))},normalizeQuestionnaire:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.Title,i=e.Description,n=e.Questions,r=void 0===n?[]:n,o=e.TriggerTime;return{id:e.QuestionnaireId,title:t,description:i,trigger:o,questions:r.map(function(e,t){var i=e.QuestionId,n=e.Question,r=e.IsRequire,o=e.QuestionSubTag,a=e.QuestionTag,s=e.Options,u=void 0===s?[]:s,l="input";"radio"===String(o)?l="single":"checkbox"===String(o)?l="multi":Array.isArray(u)&&u.length&&(l="single");var c=(u||[]).map(function(e,t){return{id:String(null!=e.OptionId?e.OptionId:t),label:e.OptionName||e.OptionText||e.Text||"",checked:!1}}),d=String(o||""),g=String(a||""),v="phone_number"===d?"number":"text",f="phone_number"===d?11:200;return{key:String(i||t),id:i,title:n,isRequired:normalizeFlag(r),type:l,isInput:"input"===l,isSingle:"single"===l,isMulti:"multi"===l,typeTag:"single"===l?"[单选]":"multi"===l?"[多选]":"",options:c,value:"multi"===l?[]:"",subTag:d,tag:g,inputType:v,maxlength:f,placeholder:"请输入内容",disabled:!1,errorMessage:""}})}},syncOptionChecked:function(e,t){var i=(e||{}).type,n=(null==e?void 0:e.options)||[];if(!n.length||"single"!==i&&"multi"!==i)return e;var r=n.map(function(e){var n=!1;return"single"===i?n=String(e.id)===String(t):"multi"===i&&(n=Array.isArray(t)&&t.map(String).includes(String(e.id))),_objectSpread(_objectSpread({},e),{},{checked:n})});return _objectSpread(_objectSpread({},e),{},{options:r})},handleInputChange:function(e){var t,i=(e.currentTarget.dataset||{}).index,n=e.detail&&e.detail.value||"";if(null!=i){var r=Number(i);if(!Number.isNaN(r)){var o=_objectSpread(_objectSpread({},((null===(t=this.data.currentQuestionnaire)||void 0===t?void 0:t.questions)||[])[r]||{}),{},{value:n}),a=_defineProperty({},"currentQuestionnaire.questions[".concat(r,"]"),o);this.setData(a)}}},handleInputBlur:function(e){var t,i=(e.currentTarget.dataset||{}).index,n=e.detail&&e.detail.value||"";if(null!=i){var r=Number(i);if(!Number.isNaN(r)){var o=_objectSpread(_objectSpread({},((null===(t=this.data.currentQuestionnaire)||void 0===t?void 0:t.questions)||[])[r]||{}),{},{value:n}),a=(0,_validate.validateQuestionnaireQuestion)(o,r).updates;this.setData(_objectSpread(_defineProperty({},"currentQuestionnaire.questions[".concat(r,"]"),o),a))}}},handleRadioChange:function(e){var t,i,n=(e.currentTarget.dataset||{}).index,r=e.detail&&e.detail.value;if(null!=n){var o=Number(n);if(!Number.isNaN(o)){var a=null===(t=this.data.currentQuestionnaire)||void 0===t||null===(i=t.questions)||void 0===i?void 0:i[o];if(a){var s=this.syncOptionChecked(_objectSpread(_objectSpread({},a),{},{value:r}),r),u=(0,_validate.validateQuestionnaireQuestion)(s,o).updates;this.setData(_objectSpread(_defineProperty({},"currentQuestionnaire.questions[".concat(o,"]"),s),u))}}}},handleCheckboxChange:function(e){var t,i,n=(e.currentTarget.dataset||{}).index,r=e.detail&&e.detail.value||[];if(null!=n){var o=Number(n);if(!Number.isNaN(o)){var a=null===(t=this.data.currentQuestionnaire)||void 0===t||null===(i=t.questions)||void 0===i?void 0:i[o];if(a){var s=this.syncOptionChecked(_objectSpread(_objectSpread({},a),{},{value:r}),r),u=(0,_validate.validateQuestionnaireQuestion)(s,o).updates;this.setData(_objectSpread(_defineProperty({},"currentQuestionnaire.questions[".concat(o,"]"),s),u))}}}},onDrawerCancel:function(){!1!==this.data.effectiveClosable&&(this.data.isBlocking?wx.showToast({title:"请完成问卷后继续观看",icon:"none",duration:2e3}):this._close({resetBlocking:!1,reason:"user_cancel"}))},validateForm:function(){var e=this.data.currentQuestionnaire,t=(null==e?void 0:e.questions)||[],i=(0,_validate.validateQuestionnaireQuestions)(t),n=i.ok,r=i.updates;return Object.keys(r).length&&this.setData(r),{ok:n}},syncSubmittedQuestionnaireState:function(e){null!=e&&""!==e&&(this._setQuestionnaireUserStatus(e,!0),this._shouldUseFilledStorage(this.data.triggerTime)&&(0,_questionnaireManager.markQuestionnaireFilledInStorage)(e))},buildSubmitPayload:function(){var e,t,i,n=this.data,r=n.currentQuestionnaire,o=n.activityId;if(!r)return null;var a=[],s=[];(r.questions||[]).forEach(function(e){var t=e.id,i=e.title,n=e.value,r="",o="";if("single"===e.type){var u=(e.options||[]).find(function(e){return String(e.id)===String(n)});r=null==n||""===n?"":String(n),o=u&&u.label||r}else if("multi"===e.type){var l=Array.isArray(n)?n.map(String):[],c=(e.options||[]).filter(function(e){return l.includes(String(e.id))}).map(function(e){return e.label});r=l.join(","),o=c}else o=r=null==n?"":String(n).trim();a.push({QuestionId:t,Question:i,Answer:r}),s.push({questionId:t,answer:o})});var u=getNicknameFromStore(this.store),l=Number((null===(e=this.store)||void 0===e||null===(t=e.get)||void 0===t||null===(i=t.call(e,"userInfo"))||void 0===i?void 0:i.typeRegister)||9);return{ActivityId:o,trigger:r.trigger||this.data.triggerTime||"",QuestionnaireAnswer:{QuestionnaireId:r.id,QuestionAnswers:a},Nickname:u,RegisterType:l,__eventAnswers:s}},checkLoginBeforeSubmit:function(){var e,t,i=this.data.mode,n=((null===(e=this.store)||void 0===e||null===(t=e.get)||void 0===t?void 0:t.call(e,"liveInfo"))||{}).isLogin;return!(1===Number(i)&&!n&&(this.triggerEvent("commentCheck",{from:"questionnaire"}),1))},emitQuestionnaireComplete:function(){var e,t,i,n,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};null!==(e=this.sdkInstance)&&void 0!==e&&e.emitEvent&&null!==(t=this.sdkInstance)&&void 0!==t&&null!==(i=t.EVENTS)&&void 0!==i&&null!==(n=i.questionnaire)&&void 0!==n&&n.complete&&this.sdkInstance.emitEvent(this.sdkInstance.EVENTS.questionnaire.complete,r)},onSubmit:function(){var e=this;return _asyncToGenerator(_regeneratorRuntime().mark(function t(){var i,n,r,o,a,s,u,l,c,d;return _regeneratorRuntime().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:if(i=e.data,n=i.isSubmitting,r=i.isFilled,o=i.currentQuestionnaire){t.next=3;break}return t.abrupt("return");case 3:if(!r){t.next=5;break}return t.abrupt("return");case 5:if(e.checkLoginBeforeSubmit()){t.next=7;break}return t.abrupt("return");case 7:if(e.validateForm().ok){t.next=10;break}return t.abrupt("return");case 10:if(!n){t.next=12;break}return t.abrupt("return");case 12:if(a=e.buildSubmitPayload()){t.next=16;break}return wx.showToast({title:"问卷数据异常,请稍后重试",icon:"none",duration:2e3}),t.abrupt("return");case 16:return s=a.__eventAnswers||[],e.setData({isSubmitting:!0}),t.prev=18,t.next=21,(0,_questionnaireService.submitQuestionnaire)({ActivityId:a.ActivityId,trigger:a.trigger,QuestionnaireAnswer:a.QuestionnaireAnswer,Nickname:a.Nickname,RegisterType:a.RegisterType,sdkInstance:e.sdkInstance,mode:e.data.mode});case 21:if(l=t.sent,e.setData({isSubmitting:!1}),!l||!l.needLogin||l.code!==_questionnaireService.QUESTIONNAIRE_ERROR_CODE.NEED_LOGIN){t.next=26;break}return e.triggerEvent("commentCheck",{from:"questionnaire"}),t.abrupt("return");case 26:if(!1!==(null==l?void 0:l.status)){t.next=31;break}return e.syncSubmittedQuestionnaireState(o.id),wx.showToast({title:"您已填写过该问卷,感谢您的参与",icon:"none",duration:2e3}),e._close({resetBlocking:e.data.isBlocking,reason:"already_submitted"}),t.abrupt("return");case 31:if(!l||!1!==l.success){t.next=36;break}return e.emitQuestionnaireComplete({activityId:a.ActivityId,questionnaireId:null===(c=a.QuestionnaireAnswer)||void 0===c?void 0:c.QuestionnaireId,answers:s,status:"fail",errorCode:(null==l?void 0:l.code)||_questionnaireService.QUESTIONNAIRE_ERROR_CODE.SUBMIT_ERROR,errorMessage:(null==l?void 0:l.message)||"提交失败,请稍后重试"}),wx.showToast({title:l.message||"提交失败,请稍后重试",icon:"none",duration:2e3}),t.abrupt("return");case 36:e.data.isBlocking&&e._notifyBlockingChange(!1,{triggerTime:e.data.triggerTime,questionnaireId:e.data.currentId,reason:"submit_success"}),e.syncSubmittedQuestionnaireState(o.id),e.emitQuestionnaireComplete({activityId:a.ActivityId,questionnaireId:null===(u=a.QuestionnaireAnswer)||void 0===u?void 0:u.QuestionnaireId,answers:s,status:"success"}),wx.showToast({title:"提交成功",icon:"success",duration:2e3}),e._close({resetBlocking:e.data.isBlocking,reason:"submit_success"}),e.setData({isFilled:!0}),t.next=49;break;case 44:t.prev=44,t.t0=t.catch(18),e.setData({isSubmitting:!1}),e.emitQuestionnaireComplete({activityId:a.ActivityId,questionnaireId:null===(d=a.QuestionnaireAnswer)||void 0===d?void 0:d.QuestionnaireId,answers:s,status:"fail",errorCode:_questionnaireService.QUESTIONNAIRE_ERROR_CODE.SUBMIT_ERROR,errorMessage:(null===t.t0||void 0===t.t0?void 0:t.t0.message)||"提交失败,请稍后重试"}),wx.showToast({title:"提交失败,请稍后重试",icon:"none",duration:2e3});case 49:case"end":return t.stop()}},t,null,[[18,44]])}))()}}});