@choiceform/os-client-core 3.6.36 → 3.6.37
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{core.ac6f4de7af727572fe9e.hot-update.js → core.8c10fc09d3114071ed8b.hot-update.js} +1 -1
- package/dist/core.js +3 -3
- package/dist/support/{atcp.ac6f4de7af727572fe9e.hot-update.js → atcp.8c10fc09d3114071ed8b.hot-update.js} +1 -1
- package/dist/support/atcp.js +1 -1
- package/dist/{web-core.ac6f4de7af727572fe9e.hot-update.js → web-core.8c10fc09d3114071ed8b.hot-update.js} +1 -1
- package/dist/web-core.js +3 -3
- package/package.json +1 -1
package/dist/{core.ac6f4de7af727572fe9e.hot-update.js → core.8c10fc09d3114071ed8b.hot-update.js}
RENAMED
|
@@ -11,7 +11,7 @@ self["webpackHotUpdate_choiceform_os_client_core"]("core",{},
|
|
|
11
11
|
/******/ function(__webpack_require__) { // webpackRuntimeModules
|
|
12
12
|
/******/ /* webpack/runtime/getFullHash */
|
|
13
13
|
/******/ (() => {
|
|
14
|
-
/******/ __webpack_require__.h = () => ("
|
|
14
|
+
/******/ __webpack_require__.h = () => ("5a8cc4484d9c8f26124f")
|
|
15
15
|
/******/ })();
|
|
16
16
|
/******/
|
|
17
17
|
/******/ }
|
package/dist/core.js
CHANGED
|
@@ -708,7 +708,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
|
|
|
708
708
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
709
709
|
|
|
710
710
|
"use strict";
|
|
711
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"fetchRewardState\": () => (/* binding */ fetchRewardState),\n/* harmony export */ \"resetRewardState\": () => (/* binding */ resetRewardState),\n/* harmony export */ \"retrieveRewardRaw\": () => (/* binding */ retrieveRewardRaw),\n/* harmony export */ \"tryCacheRewardResult\": () => (/* binding */ tryCacheRewardResult)\n/* harmony export */ });\n/* harmony import */ var _question_basic__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../question/basic */ \"./src/core/question/basic.ts\");\n/* harmony import */ var _util_date_format__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../util/date-format */ \"./src/core/util/date-format.ts\");\n/* harmony import */ var _detect_params__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../detect/params */ \"./src/core/detect/params.ts\");\n/* harmony import */ var _util_tool__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../util/tool */ \"./src/core/util/tool.ts\");\n/* harmony import */ var _util_core_proxy__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../util/core-proxy */ \"./src/core/util/core-proxy.ts\");\n/* harmony import */ var _util_i18n__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../util/i18n */ \"./src/core/util/i18n.ts\");\n/* harmony import */ var _option_handler_click_handler__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../option/handler/click-handler */ \"./src/core/option/handler/click-handler.ts\");\n/* harmony import */ var _question_handler_input__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../question/handler/input */ \"./src/core/question/handler/input.ts\");\n/* harmony import */ var _event_hub__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./event-hub */ \"./src/core/flow/event-hub.ts\");\n/* harmony import */ var _log_trace_recorder__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../log/trace-recorder */ \"./src/core/log/trace-recorder.ts\");\n/* harmony import */ var _i18n__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../../i18n */ \"./i18n/index.ts\");\n/* harmony import */ var _network__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../network */ \"./src/core/network/index.ts\");\n/* harmony import */ var _ui_handler__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./ui-handler */ \"./src/core/flow/ui-handler.ts\");\n/* harmony import */ var _util_user__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../util/user */ \"./src/core/util/user.ts\");\n/* harmony import */ var _theme__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../theme */ \"./src/core/theme/index.ts\");\n/* harmony import */ var _util_lang_store__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../util/lang-store */ \"./src/core/util/lang-store.ts\");\n/* harmony import */ var _question_logo__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../question/logo */ \"./src/core/question/logo.ts\");\n/* harmony import */ var _util_image_reformer__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ../util/image-reformer */ \"./src/core/util/image-reformer.ts\");\n/* harmony import */ var _question_template__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ../question/template */ \"./src/core/question/template.ts\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/**\n * 缓存额数据\n */\nlet cachedRewardState = null;\n/**\n * 取回原始奖励结果\n * @param state 总状态\n * @param node\n */\nfunction retrieveRewardRaw(state, node) {\n // 预览模式下没有后台发来的奖励结果,自己造一个假的\n if ((0,_util_core_proxy__WEBPACK_IMPORTED_MODULE_4__.getCore)().preview) {\n const basic = { id: -1, code: '12345678' };\n if ((0,_util_tool__WEBPACK_IMPORTED_MODULE_3__.is)(node, node.type === \"gift\" /* NODE_TYPE.GIFT */)) {\n return { ...basic, type: node.giftType, gift_id: node.nodeUuid };\n }\n else {\n const option = (0,_util_tool__WEBPACK_IMPORTED_MODULE_3__.randomPick)(node.options, 1)[0];\n const giftNode = (0,_question_basic__WEBPACK_IMPORTED_MODULE_0__.findCfpdNodeByOutputId)(state.nodeList, node.destList, option.uuid);\n return {\n ...basic,\n type: giftNode.giftType,\n gift_id: giftNode.nodeUuid,\n lottery_id: node.nodeUuid,\n lottery_option_id: option.uuid,\n };\n }\n }\n else {\n return state.formalResult.reward;\n }\n}\n/**\n * 预览模式下或者自定义奖励下后台不会额外提供奖励页面渲染所需信息,需要自己缓存,这两种方式不会跨设备运行奖励页面\n * 所以缓存是可行的,红包奖励页面可能会跨设备运行,不使用缓存机制,后续靠后台的接口自行获取信息。\n * @param rewardRaw\n * @param giftNode\n * @param theme\n * @param startNode\n */\nfunction tryCacheRewardResult(rewardRaw, giftNode, theme, startNode) {\n const isCustom = giftNode.giftType === \"custom\" /* GIFT_TYPE.CUSTOM */;\n const needCacheReward = (0,_util_core_proxy__WEBPACK_IMPORTED_MODULE_4__.getCore)().preview || isCustom;\n // 预览或者是自定义奖励的需要缓存奖励\n if (needCacheReward) {\n // 开始节点的自定义logo转移到奖励节点用来伪造和后台给的一样的数据\n if (startNode.useCustomLogo) {\n giftNode.useCustomLogo = startNode.useCustomLogo;\n giftNode.logoImage = startNode.logoImage;\n giftNode.logoText = startNode.logoText;\n if (startNode.i18n) {\n Object.keys(startNode.i18n).forEach(key => {\n const startItem = startNode.i18n[key];\n const giftItem = giftNode.i18n[key];\n giftItem.logoText = startItem.logoText;\n });\n }\n }\n const cachedReward = {};\n if (giftNode.giftType === \"custom\" /* GIFT_TYPE.CUSTOM */) {\n cachedReward.custom = {\n giftNode,\n theme,\n qrCode: rewardRaw.code,\n rewardId: rewardRaw.id,\n };\n }\n else {\n cachedReward.redEnvelope = {\n theme,\n recipient: (0,_util_user__WEBPACK_IMPORTED_MODULE_13__.fakeUserInfo)(),\n gift: {\n id: rewardRaw.id,\n title: giftNode.activityName,\n description: giftNode.blessings,\n config: {\n gift_name: '',\n },\n origin: giftNode,\n },\n amount: giftNode.giftCount,\n type: \"red_envelope\" /* GIFT_TYPE.RED_ENVELOPE */,\n };\n }\n (0,_util_core_proxy__WEBPACK_IMPORTED_MODULE_4__.getEnv)().storage.set(\"cached_reward\" /* STORAGE_KEY.CACHED_REWARD */, JSON.stringify(cachedReward));\n }\n}\n/**\n * 从缓存获取奖励结果,针对预览模式或者自定义奖励下的奖励结果\n * @param rewardId\n * @returns\n */\nfunction getCachedRewardResult(rewardId) {\n const cache = (0,_util_core_proxy__WEBPACK_IMPORTED_MODULE_4__.getEnv)().storage.get(\"cached_reward\" /* STORAGE_KEY.CACHED_REWARD */);\n if (!cache) {\n return undefined;\n }\n const cachedReward = JSON.parse(cache);\n let cachedRewardId;\n const { custom, redEnvelope } = cachedReward;\n if (custom) {\n cachedRewardId = custom.rewardId;\n }\n else if (redEnvelope) {\n cachedRewardId = redEnvelope.gift.id;\n }\n // 不能误入\n if (cachedRewardId !== rewardId) {\n return undefined;\n }\n return cachedReward;\n}\n/**\n * 重置奖励状态\n */\nfunction resetRewardState() {\n cachedRewardState = null;\n}\n/**\n * 转化后台传来的奖励结果,后台传来的奖励结果中的奖励节点的翻译内容属性是不同的,\n * 转成成和前台的数据结构一致,后续方便使用\n * @param giftResult\n */\nfunction convertBackEndGiftResult(giftResult) {\n var _a;\n const giftNodeBackEnd = giftResult.gift.origin;\n const converted = {\n ...giftResult,\n gift: {\n ...giftResult === null || giftResult === void 0 ? void 0 : giftResult.gift,\n origin: {\n ...(_a = giftResult === null || giftResult === void 0 ? void 0 : giftResult.gift) === null || _a === void 0 ? void 0 : _a.origin,\n i18n: {},\n logoText: '',\n },\n },\n };\n if (!giftNodeBackEnd) {\n return converted;\n }\n const backEndI18n = giftNodeBackEnd.i18n;\n if (!backEndI18n) {\n return converted;\n }\n const frontEndI18n = {};\n Object.keys(backEndI18n).forEach(key => {\n const backEndLang = backEndI18n[key];\n frontEndI18n[key] = {\n activityName: backEndLang.gift_name,\n blessings: backEndLang.gift_wishing,\n endBtnText: backEndLang.end_btn_text,\n logoText: backEndLang.logo_text,\n };\n });\n converted.gift.origin.i18n = frontEndI18n;\n return converted;\n}\n/**\n * 抓取奖励页面状态\n */\nasync function fetchRewardState() {\n if (cachedRewardState) {\n return cachedRewardState;\n }\n const queryParams = (0,_detect_params__WEBPACK_IMPORTED_MODULE_2__.getCachedParams)();\n const { rt, rid, code, qid, tid, locale, reward_from_qr_code } = queryParams;\n (0,_util_i18n__WEBPACK_IMPORTED_MODULE_5__.setUiLocale)(locale);\n let giftNode;\n let recipient = {};\n let branchPart;\n // 是红包奖励\n if (rt === \"red_envelope\" /* GIFT_TYPE.RED_ENVELOPE */) {\n let redEnvelope;\n // 预览模式\n if ((0,_util_core_proxy__WEBPACK_IMPORTED_MODULE_4__.getCore)().preview) {\n const cachedReward = getCachedRewardResult(Number(rid));\n // 从缓存中获取伪造的奖励\n redEnvelope = cachedReward.redEnvelope;\n }\n else if (reward_from_qr_code) {\n // 如果是微信扫描二维码领奖,先给一个假的奖励\n // 并显示提示信息,要求用户授权\n redEnvelope = fakeRedEnvelop;\n (0,_util_core_proxy__WEBPACK_IMPORTED_MODULE_4__.getEnv)().auth.authorizeGift(queryParams.aid, queryParams.cid, queryParams, \"scan_qr_code\" /* WX_REWARD_PAGE_FROM.SCAN_QR_CODE */);\n (0,_util_core_proxy__WEBPACK_IMPORTED_MODULE_4__.getCore)().customAbort();\n }\n else {\n // 正式模式有中奖id却没有授权code,跳转到微信授权\n if (rid && !code) {\n (0,_util_core_proxy__WEBPACK_IMPORTED_MODULE_4__.getEnv)().auth.authorizeGift(queryParams.aid, queryParams.cid, queryParams, \"scan_qr_code\" /* WX_REWARD_PAGE_FROM.SCAN_QR_CODE */);\n (0,_util_core_proxy__WEBPACK_IMPORTED_MODULE_4__.getCore)().customAbort();\n }\n // 从后台获取奖励信息\n const data = await (0,_network__WEBPACK_IMPORTED_MODULE_11__.postGiftEnvelope)({ code }, rid);\n redEnvelope = convertBackEndGiftResult(data);\n }\n const { gift, theme, isTemporaryForWXQrcode } = redEnvelope;\n giftNode = gift.origin;\n recipient = redEnvelope.recipient;\n (0,_log_trace_recorder__WEBPACK_IMPORTED_MODULE_9__.recordGift)(giftNode, { surveyId: qid, userInfo: recipient, transactionID: tid });\n branchPart = {\n isTemporaryForWXQrcode,\n rewardValue: giftNode.giftCount + ' ' + (0,_util_i18n__WEBPACK_IMPORTED_MODULE_5__.translate)(_i18n__WEBPACK_IMPORTED_MODULE_10__.LANG.reward.yuan),\n wechatID: recipient.nickname,\n wechatImage: recipient.headimgurl,\n theme,\n };\n // 自定义奖励\n }\n else {\n // 总是从缓存中获取\n const cachedReward = getCachedRewardResult(Number(rid));\n // 自定义奖励不可被分享,分享后的设备中奖励缓存无,不显示自定义奖励,\n if (!cachedReward) {\n (0,_util_core_proxy__WEBPACK_IMPORTED_MODULE_4__.getCore)().error((0,_util_i18n__WEBPACK_IMPORTED_MODULE_5__.translate)(_i18n__WEBPACK_IMPORTED_MODULE_10__.LANG.global.invalidReward));\n return null;\n }\n const { custom } = cachedReward;\n giftNode = custom.giftNode;\n branchPart = {\n qrCode: custom.qrCode,\n rewardToMessage: giftNode.needSendNote,\n theme: custom.theme,\n };\n }\n (0,_util_lang_store__WEBPACK_IMPORTED_MODULE_15__.switchGiftNodeLang)(giftNode, giftNode.i18n[locale]);\n // todo:由于现在的与后台交互的运行机制,如果是红包奖励,则其实是只能获取不到logo信息的。\n const logo = (0,_question_logo__WEBPACK_IMPORTED_MODULE_16__.reformCustomLogo)(giftNode);\n const state = {\n ...branchPart,\n // 奖励节点的图片不会使用变量,所以可以直接转化\n images: giftNode.image ? [(0,_util_image_reformer__WEBPACK_IMPORTED_MODULE_17__.reformImage)(giftNode.image)] : [],\n video: giftNode.video,\n layout: giftNode.layout,\n rewardId: rid,\n eventHub: _event_hub__WEBPACK_IMPORTED_MODULE_8__.eventHub,\n nodeName: giftNode.nodeName,\n type: giftNode.type,\n rewardType: giftNode.giftType,\n renderId: giftNode.nodeUuid,\n rewardName: giftNode.activityName,\n title: giftNode.blessings,\n description: giftNode.describe,\n summary: giftNode.describe,\n rewardTime: (0,_util_date_format__WEBPACK_IMPORTED_MODULE_1__.getDateAndTimeString)(),\n ...logo,\n prevButton: (0,_util_core_proxy__WEBPACK_IMPORTED_MODULE_4__.getCore)().preview && !(0,_util_core_proxy__WEBPACK_IMPORTED_MODULE_4__.getCore)().realTimePreview ? (0,_util_i18n__WEBPACK_IMPORTED_MODULE_5__.translate)(_i18n__WEBPACK_IMPORTED_MODULE_10__.LANG.global.backTest) : '',\n nextButton: giftNode.linkUrl && (giftNode.endBtnText || (0,_util_i18n__WEBPACK_IMPORTED_MODULE_5__.translate)(_i18n__WEBPACK_IMPORTED_MODULE_10__.LANG.global.go)),\n handleEvents: {\n ..._ui_handler__WEBPACK_IMPORTED_MODULE_12__.handlerAlias,\n async handlePrevClick() {\n (0,_util_core_proxy__WEBPACK_IMPORTED_MODULE_4__.getEnv)().app.gotoStartPage((0,_detect_params__WEBPACK_IMPORTED_MODULE_2__.getCachedParams)());\n },\n async handleOptionClick(option, node) {\n const handled = await (0,_option_handler_click_handler__WEBPACK_IMPORTED_MODULE_6__.handleOptionClick)(option, node);\n return handled.result;\n },\n async handleQuestionInput(dynamic, node) {\n const handled = await (0,_question_handler_input__WEBPACK_IMPORTED_MODULE_7__.handleQuestionInput)(dynamic, node);\n return handled.result;\n },\n async handleNextClick() {\n if (giftNode.linkUrl) {\n (0,_detect_params__WEBPACK_IMPORTED_MODULE_2__.openWebLink)(giftNode.linkUrl);\n }\n },\n },\n };\n state.template = await (0,_question_template__WEBPACK_IMPORTED_MODULE_18__.initNodeTemplate)(giftNode.template, state);\n cachedRewardState = state;\n (0,_theme__WEBPACK_IMPORTED_MODULE_14__.setCurrentTheme)(state.theme);\n await (0,_util_core_proxy__WEBPACK_IMPORTED_MODULE_4__.getEnv)().hook.afterFetchReward(state);\n return state;\n}\nconst fakeRedEnvelop = {\n isTemporaryForWXQrcode: true,\n theme: {\n primary: '#202020',\n secondary: '#FFFFFF',\n contrast: '#CC2227',\n background: '#FCFCFC',\n error: '#CC2227',\n button: '#202020',\n fontSize: '1.5rem',\n fontWeight: \"normal\" /* FONT_WEIGHT.NORMAL */,\n descFontSize: '1rem',\n descFontWeight: \"normal\" /* FONT_WEIGHT.NORMAL */,\n optFontSize: '1rem',\n optFontWeight: \"normal\" /* FONT_WEIGHT.NORMAL */,\n btnFontSize: '1.25rem',\n btnFontWeight: \"normal\" /* FONT_WEIGHT.NORMAL */,\n name: 'minimal',\n fontFamily: 'roboto',\n titleFontSize: '1.5rem',\n titleFontWeight: \"bold\" /* FONT_WEIGHT.BOLD */,\n boxWidth: '50vmin',\n bgOpacity: 100,\n bgLayout: \"cover\" /* BG_LAYOUT.COVER */,\n bgSize: 'cover',\n effect: \"normal\" /* OPT_EFFECT.NORMAL */,\n bgImageUrl: '',\n bgImageId: '',\n bgImageHeight: 0,\n bgImageWidth: 0,\n },\n recipient: {\n headimgurl: 'https://media.choiceform.com/fresh_little_girl.jpg',\n nickname: '微信名称示例',\n },\n gift: {\n id: -1,\n title: '测试',\n description: '测试',\n config: { gift_name: '' },\n origin: {\n sortNo: 10003,\n x: 808,\n y: 219,\n nodeName: 'GIFT',\n type: \"gift\" /* NODE_TYPE.GIFT */,\n used: true,\n nodeUuid: 'dc28e571-38a3-4af3-9829-22aaa62e83f0',\n input: { uuid: 'bb75d086-9203-4cd1-a757-aa22fdde3a71' },\n label: 'GIFT',\n questionText: '测试',\n layout: {\n fontSize: '1.5rem',\n fontWeight: \"normal\" /* FONT_WEIGHT.NORMAL */,\n optFontSize: '1rem',\n optFontWeight: \"normal\" /* FONT_WEIGHT.NORMAL */,\n descFontSize: '1rem',\n descFontWeight: \"normal\" /* FONT_WEIGHT.NORMAL */,\n descFontIsolate: false,\n fontIsolate: false,\n iconFontSize: '48px',\n optFontIsolate: false,\n },\n template: { name: 'basic', params: [], id: 'standards_gift_basic' },\n giftCount: 1,\n giftType: \"red_envelope\" /* GIFT_TYPE.RED_ENVELOPE */,\n activityName: '测试',\n blessings: '测试',\n needSendNote: true,\n needVerification: true,\n fromNodeIds: '319c139d-043f-4949-8721-b2376d52cea7',\n fromOptIds: '',\n i18n: {\n zh_cn: {\n activityName: '测试',\n blessings: '测试',\n endBtnText: '',\n },\n },\n },\n },\n amount: 1,\n type: \"red_envelope\" /* GIFT_TYPE.RED_ENVELOPE */,\n};\n\n\n//# sourceURL=webpack://@choiceform/os-client-core/./src/core/flow/reward-state.ts?");
|
|
711
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"fetchRewardState\": () => (/* binding */ fetchRewardState),\n/* harmony export */ \"resetRewardState\": () => (/* binding */ resetRewardState),\n/* harmony export */ \"retrieveRewardRaw\": () => (/* binding */ retrieveRewardRaw),\n/* harmony export */ \"tryCacheRewardResult\": () => (/* binding */ tryCacheRewardResult)\n/* harmony export */ });\n/* harmony import */ var _question_basic__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../question/basic */ \"./src/core/question/basic.ts\");\n/* harmony import */ var _util_date_format__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../util/date-format */ \"./src/core/util/date-format.ts\");\n/* harmony import */ var _detect_params__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../detect/params */ \"./src/core/detect/params.ts\");\n/* harmony import */ var _util_tool__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../util/tool */ \"./src/core/util/tool.ts\");\n/* harmony import */ var _util_core_proxy__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../util/core-proxy */ \"./src/core/util/core-proxy.ts\");\n/* harmony import */ var _util_i18n__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../util/i18n */ \"./src/core/util/i18n.ts\");\n/* harmony import */ var _option_handler_click_handler__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../option/handler/click-handler */ \"./src/core/option/handler/click-handler.ts\");\n/* harmony import */ var _question_handler_input__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../question/handler/input */ \"./src/core/question/handler/input.ts\");\n/* harmony import */ var _event_hub__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./event-hub */ \"./src/core/flow/event-hub.ts\");\n/* harmony import */ var _log_trace_recorder__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../log/trace-recorder */ \"./src/core/log/trace-recorder.ts\");\n/* harmony import */ var _i18n__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../../i18n */ \"./i18n/index.ts\");\n/* harmony import */ var _network__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../network */ \"./src/core/network/index.ts\");\n/* harmony import */ var _ui_handler__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./ui-handler */ \"./src/core/flow/ui-handler.ts\");\n/* harmony import */ var _util_user__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../util/user */ \"./src/core/util/user.ts\");\n/* harmony import */ var _theme__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../theme */ \"./src/core/theme/index.ts\");\n/* harmony import */ var _util_lang_store__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../util/lang-store */ \"./src/core/util/lang-store.ts\");\n/* harmony import */ var _question_logo__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../question/logo */ \"./src/core/question/logo.ts\");\n/* harmony import */ var _util_image_reformer__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ../util/image-reformer */ \"./src/core/util/image-reformer.ts\");\n/* harmony import */ var _question_template__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ../question/template */ \"./src/core/question/template.ts\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/**\n * 缓存额数据\n */\nlet cachedRewardState = null;\n/**\n * 取回原始奖励结果\n * @param state 总状态\n * @param node\n */\nfunction retrieveRewardRaw(state, node) {\n // 预览模式下没有后台发来的奖励结果,自己造一个假的\n if ((0,_util_core_proxy__WEBPACK_IMPORTED_MODULE_4__.getCore)().preview) {\n const basic = { id: -1, code: '12345678' };\n if ((0,_util_tool__WEBPACK_IMPORTED_MODULE_3__.is)(node, node.type === \"gift\" /* NODE_TYPE.GIFT */)) {\n return { ...basic, type: node.giftType, gift_id: node.nodeUuid };\n }\n else {\n const option = (0,_util_tool__WEBPACK_IMPORTED_MODULE_3__.randomPick)(node.options, 1)[0];\n const giftNode = (0,_question_basic__WEBPACK_IMPORTED_MODULE_0__.findCfpdNodeByOutputId)(state.nodeList, node.destList, option.uuid);\n return {\n ...basic,\n type: giftNode.giftType,\n gift_id: giftNode.nodeUuid,\n lottery_id: node.nodeUuid,\n lottery_option_id: option.uuid,\n };\n }\n }\n else {\n return state.formalResult.reward;\n }\n}\n/**\n * 预览模式下或者自定义奖励下后台不会额外提供奖励页面渲染所需信息,需要自己缓存,这两种方式不会跨设备运行奖励页面\n * 所以缓存是可行的,红包奖励页面可能会跨设备运行,不使用缓存机制,后续靠后台的接口自行获取信息。\n * @param rewardRaw\n * @param giftNode\n * @param theme\n * @param startNode\n */\nfunction tryCacheRewardResult(rewardRaw, giftNode, theme, startNode) {\n const isCustom = giftNode.giftType === \"custom\" /* GIFT_TYPE.CUSTOM */;\n const needCacheReward = (0,_util_core_proxy__WEBPACK_IMPORTED_MODULE_4__.getCore)().preview || isCustom;\n // 预览或者是自定义奖励的需要缓存奖励\n if (needCacheReward) {\n // 开始节点的自定义logo转移到奖励节点用来伪造和后台给的一样的数据\n if (startNode.useCustomLogo) {\n giftNode.useCustomLogo = startNode.useCustomLogo;\n giftNode.logoImage = startNode.logoImage;\n giftNode.logoText = startNode.logoText;\n if (startNode.i18n) {\n Object.keys(startNode.i18n).forEach(key => {\n const startItem = startNode.i18n[key];\n const giftItem = giftNode.i18n[key];\n giftItem.logoText = startItem.logoText;\n });\n }\n }\n const cachedReward = {};\n if (giftNode.giftType === \"custom\" /* GIFT_TYPE.CUSTOM */) {\n cachedReward.custom = {\n giftNode,\n theme,\n qrCode: rewardRaw.code,\n rewardId: rewardRaw.id,\n };\n }\n else {\n cachedReward.redEnvelope = {\n theme,\n recipient: (0,_util_user__WEBPACK_IMPORTED_MODULE_13__.fakeUserInfo)(),\n gift: {\n id: rewardRaw.id,\n title: giftNode.activityName,\n description: giftNode.blessings,\n config: {\n gift_name: '',\n },\n origin: giftNode,\n },\n amount: giftNode.giftCount,\n type: \"red_envelope\" /* GIFT_TYPE.RED_ENVELOPE */,\n };\n }\n (0,_util_core_proxy__WEBPACK_IMPORTED_MODULE_4__.getEnv)().storage.set(\"cached_reward\" /* STORAGE_KEY.CACHED_REWARD */, JSON.stringify(cachedReward));\n }\n}\n/**\n * 从缓存获取奖励结果,针对预览模式或者自定义奖励下的奖励结果\n * @param rewardId\n * @returns\n */\nfunction getCachedRewardResult(rewardId) {\n const cache = (0,_util_core_proxy__WEBPACK_IMPORTED_MODULE_4__.getEnv)().storage.get(\"cached_reward\" /* STORAGE_KEY.CACHED_REWARD */);\n if (!cache) {\n return undefined;\n }\n const cachedReward = JSON.parse(cache);\n let cachedRewardId;\n const { custom, redEnvelope } = cachedReward;\n if (custom) {\n cachedRewardId = custom.rewardId;\n }\n else if (redEnvelope) {\n cachedRewardId = redEnvelope.gift.id;\n }\n // 不能误入\n if (cachedRewardId !== rewardId) {\n return undefined;\n }\n return cachedReward;\n}\n/**\n * 重置奖励状态\n */\nfunction resetRewardState() {\n cachedRewardState = null;\n}\n/**\n * 转化后台传来的奖励结果,后台传来的奖励结果中的奖励节点的翻译内容属性是不同的,\n * 转成成和前台的数据结构一致,后续方便使用\n * @param giftResult\n */\nfunction convertBackEndGiftResult(giftResult) {\n var _a;\n const giftNodeBackEnd = giftResult.gift.origin;\n const converted = {\n ...giftResult,\n gift: {\n ...giftResult === null || giftResult === void 0 ? void 0 : giftResult.gift,\n origin: {\n ...(_a = giftResult === null || giftResult === void 0 ? void 0 : giftResult.gift) === null || _a === void 0 ? void 0 : _a.origin,\n i18n: {},\n logoText: '',\n },\n },\n };\n if (!giftNodeBackEnd) {\n return converted;\n }\n const backEndI18n = giftNodeBackEnd.i18n;\n if (!backEndI18n) {\n return converted;\n }\n const frontEndI18n = {};\n Object.keys(backEndI18n).forEach(key => {\n const backEndLang = backEndI18n[key];\n frontEndI18n[key] = {\n activityName: backEndLang.gift_name,\n blessings: backEndLang.gift_wishing,\n endBtnText: backEndLang.end_btn_text,\n logoText: backEndLang.logo_text,\n };\n });\n converted.gift.origin.i18n = frontEndI18n;\n return converted;\n}\n/**\n * 抓取奖励页面状态\n */\nasync function fetchRewardState() {\n if (cachedRewardState) {\n return cachedRewardState;\n }\n const queryParams = (0,_detect_params__WEBPACK_IMPORTED_MODULE_2__.getCachedParams)();\n const { rt, rid, code, qid, tid, locale, reward_from_qr_code } = queryParams;\n (0,_util_i18n__WEBPACK_IMPORTED_MODULE_5__.setUiLocale)(locale);\n let giftNode;\n let recipient = {};\n let branchPart;\n // 是红包奖励\n if (rt === \"red_envelope\" /* GIFT_TYPE.RED_ENVELOPE */) {\n let redEnvelope;\n // 预览模式\n if ((0,_util_core_proxy__WEBPACK_IMPORTED_MODULE_4__.getCore)().preview) {\n const cachedReward = getCachedRewardResult(Number(rid));\n // 从缓存中获取伪造的奖励\n redEnvelope = cachedReward.redEnvelope;\n }\n else if (!code && reward_from_qr_code) {\n // 如果是微信扫描二维码领奖,先给一个假的奖励\n // 并显示提示信息,要求用户授权\n redEnvelope = fakeRedEnvelop;\n (0,_util_core_proxy__WEBPACK_IMPORTED_MODULE_4__.getEnv)().auth.authorizeGift(queryParams.aid, queryParams.cid, queryParams, \"scan_qr_code\" /* WX_REWARD_PAGE_FROM.SCAN_QR_CODE */);\n (0,_util_core_proxy__WEBPACK_IMPORTED_MODULE_4__.getCore)().customAbort();\n }\n else {\n // 正式模式有中奖id却没有授权code,跳转到微信授权\n if (rid && !code) {\n (0,_util_core_proxy__WEBPACK_IMPORTED_MODULE_4__.getEnv)().auth.authorizeGift(queryParams.aid, queryParams.cid, queryParams, \"scan_qr_code\" /* WX_REWARD_PAGE_FROM.SCAN_QR_CODE */);\n (0,_util_core_proxy__WEBPACK_IMPORTED_MODULE_4__.getCore)().customAbort();\n }\n // 从后台获取奖励信息\n const data = await (0,_network__WEBPACK_IMPORTED_MODULE_11__.postGiftEnvelope)({ code }, rid);\n redEnvelope = convertBackEndGiftResult(data);\n }\n const { gift, theme, isTemporaryForWXQrcode } = redEnvelope;\n giftNode = gift.origin;\n recipient = redEnvelope.recipient;\n (0,_log_trace_recorder__WEBPACK_IMPORTED_MODULE_9__.recordGift)(giftNode, { surveyId: qid, userInfo: recipient, transactionID: tid });\n branchPart = {\n isTemporaryForWXQrcode,\n rewardValue: giftNode.giftCount + ' ' + (0,_util_i18n__WEBPACK_IMPORTED_MODULE_5__.translate)(_i18n__WEBPACK_IMPORTED_MODULE_10__.LANG.reward.yuan),\n wechatID: recipient.nickname,\n wechatImage: recipient.headimgurl,\n theme,\n };\n // 自定义奖励\n }\n else {\n // 总是从缓存中获取\n const cachedReward = getCachedRewardResult(Number(rid));\n // 自定义奖励不可被分享,分享后的设备中奖励缓存无,不显示自定义奖励,\n if (!cachedReward) {\n (0,_util_core_proxy__WEBPACK_IMPORTED_MODULE_4__.getCore)().error((0,_util_i18n__WEBPACK_IMPORTED_MODULE_5__.translate)(_i18n__WEBPACK_IMPORTED_MODULE_10__.LANG.global.invalidReward));\n return null;\n }\n const { custom } = cachedReward;\n giftNode = custom.giftNode;\n branchPart = {\n qrCode: custom.qrCode,\n rewardToMessage: giftNode.needSendNote,\n theme: custom.theme,\n };\n }\n (0,_util_lang_store__WEBPACK_IMPORTED_MODULE_15__.switchGiftNodeLang)(giftNode, giftNode.i18n[locale]);\n // todo:由于现在的与后台交互的运行机制,如果是红包奖励,则其实是只能获取不到logo信息的。\n const logo = (0,_question_logo__WEBPACK_IMPORTED_MODULE_16__.reformCustomLogo)(giftNode);\n const state = {\n ...branchPart,\n // 奖励节点的图片不会使用变量,所以可以直接转化\n images: giftNode.image ? [(0,_util_image_reformer__WEBPACK_IMPORTED_MODULE_17__.reformImage)(giftNode.image)] : [],\n video: giftNode.video,\n layout: giftNode.layout,\n rewardId: rid,\n eventHub: _event_hub__WEBPACK_IMPORTED_MODULE_8__.eventHub,\n nodeName: giftNode.nodeName,\n type: giftNode.type,\n rewardType: giftNode.giftType,\n renderId: giftNode.nodeUuid,\n rewardName: giftNode.activityName,\n title: giftNode.blessings,\n description: giftNode.describe,\n summary: giftNode.describe,\n rewardTime: (0,_util_date_format__WEBPACK_IMPORTED_MODULE_1__.getDateAndTimeString)(),\n ...logo,\n prevButton: (0,_util_core_proxy__WEBPACK_IMPORTED_MODULE_4__.getCore)().preview && !(0,_util_core_proxy__WEBPACK_IMPORTED_MODULE_4__.getCore)().realTimePreview ? (0,_util_i18n__WEBPACK_IMPORTED_MODULE_5__.translate)(_i18n__WEBPACK_IMPORTED_MODULE_10__.LANG.global.backTest) : '',\n nextButton: giftNode.linkUrl && (giftNode.endBtnText || (0,_util_i18n__WEBPACK_IMPORTED_MODULE_5__.translate)(_i18n__WEBPACK_IMPORTED_MODULE_10__.LANG.global.go)),\n handleEvents: {\n ..._ui_handler__WEBPACK_IMPORTED_MODULE_12__.handlerAlias,\n async handlePrevClick() {\n (0,_util_core_proxy__WEBPACK_IMPORTED_MODULE_4__.getEnv)().app.gotoStartPage((0,_detect_params__WEBPACK_IMPORTED_MODULE_2__.getCachedParams)());\n },\n async handleOptionClick(option, node) {\n const handled = await (0,_option_handler_click_handler__WEBPACK_IMPORTED_MODULE_6__.handleOptionClick)(option, node);\n return handled.result;\n },\n async handleQuestionInput(dynamic, node) {\n const handled = await (0,_question_handler_input__WEBPACK_IMPORTED_MODULE_7__.handleQuestionInput)(dynamic, node);\n return handled.result;\n },\n async handleNextClick() {\n if (giftNode.linkUrl) {\n (0,_detect_params__WEBPACK_IMPORTED_MODULE_2__.openWebLink)(giftNode.linkUrl);\n }\n },\n },\n };\n state.template = await (0,_question_template__WEBPACK_IMPORTED_MODULE_18__.initNodeTemplate)(giftNode.template, state);\n cachedRewardState = state;\n (0,_theme__WEBPACK_IMPORTED_MODULE_14__.setCurrentTheme)(state.theme);\n await (0,_util_core_proxy__WEBPACK_IMPORTED_MODULE_4__.getEnv)().hook.afterFetchReward(state);\n return state;\n}\nconst fakeRedEnvelop = {\n isTemporaryForWXQrcode: true,\n theme: {\n primary: '#202020',\n secondary: '#FFFFFF',\n contrast: '#CC2227',\n background: '#FCFCFC',\n error: '#CC2227',\n button: '#202020',\n fontSize: '1.5rem',\n fontWeight: \"normal\" /* FONT_WEIGHT.NORMAL */,\n descFontSize: '1rem',\n descFontWeight: \"normal\" /* FONT_WEIGHT.NORMAL */,\n optFontSize: '1rem',\n optFontWeight: \"normal\" /* FONT_WEIGHT.NORMAL */,\n btnFontSize: '1.25rem',\n btnFontWeight: \"normal\" /* FONT_WEIGHT.NORMAL */,\n name: 'minimal',\n fontFamily: 'roboto',\n titleFontSize: '1.5rem',\n titleFontWeight: \"bold\" /* FONT_WEIGHT.BOLD */,\n boxWidth: '50vmin',\n bgOpacity: 100,\n bgLayout: \"cover\" /* BG_LAYOUT.COVER */,\n bgSize: 'cover',\n effect: \"normal\" /* OPT_EFFECT.NORMAL */,\n bgImageUrl: '',\n bgImageId: '',\n bgImageHeight: 0,\n bgImageWidth: 0,\n },\n recipient: {\n headimgurl: 'https://media.choiceform.com/fresh_little_girl.jpg',\n nickname: '微信名称示例',\n },\n gift: {\n id: -1,\n title: '测试',\n description: '测试',\n config: { gift_name: '' },\n origin: {\n sortNo: 10003,\n x: 808,\n y: 219,\n nodeName: 'GIFT',\n type: \"gift\" /* NODE_TYPE.GIFT */,\n used: true,\n nodeUuid: 'dc28e571-38a3-4af3-9829-22aaa62e83f0',\n input: { uuid: 'bb75d086-9203-4cd1-a757-aa22fdde3a71' },\n label: 'GIFT',\n questionText: '测试',\n layout: {\n fontSize: '1.5rem',\n fontWeight: \"normal\" /* FONT_WEIGHT.NORMAL */,\n optFontSize: '1rem',\n optFontWeight: \"normal\" /* FONT_WEIGHT.NORMAL */,\n descFontSize: '1rem',\n descFontWeight: \"normal\" /* FONT_WEIGHT.NORMAL */,\n descFontIsolate: false,\n fontIsolate: false,\n iconFontSize: '48px',\n optFontIsolate: false,\n },\n template: { name: 'basic', params: [], id: 'standards_gift_basic' },\n giftCount: 1,\n giftType: \"red_envelope\" /* GIFT_TYPE.RED_ENVELOPE */,\n activityName: '测试',\n blessings: '测试',\n needSendNote: true,\n needVerification: true,\n fromNodeIds: '319c139d-043f-4949-8721-b2376d52cea7',\n fromOptIds: '',\n i18n: {\n zh_cn: {\n activityName: '测试',\n blessings: '测试',\n endBtnText: '',\n },\n },\n },\n },\n amount: 1,\n type: \"red_envelope\" /* GIFT_TYPE.RED_ENVELOPE */,\n};\n\n\n//# sourceURL=webpack://@choiceform/os-client-core/./src/core/flow/reward-state.ts?");
|
|
712
712
|
|
|
713
713
|
/***/ }),
|
|
714
714
|
|
|
@@ -785,7 +785,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
|
|
|
785
785
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
786
786
|
|
|
787
787
|
"use strict";
|
|
788
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Core\": () => (/* binding */ core),\n/* harmony export */ \"EventHub\": () => (/* reexport safe */ _flow_event_hub__WEBPACK_IMPORTED_MODULE_5__.eventHub),\n/* harmony export */ \"I18n\": () => (/* binding */ I18n)\n/* harmony export */ });\n/* harmony import */ var _util_core_proxy__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./util/core-proxy */ \"./src/core/util/core-proxy.ts\");\n/* harmony import */ var _flow_start_state__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./flow/start-state */ \"./src/core/flow/start-state.ts\");\n/* harmony import */ var _flow_survey_state__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./flow/survey-state */ \"./src/core/flow/survey-state.ts\");\n/* harmony import */ var _flow_reward_state__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./flow/reward-state */ \"./src/core/flow/reward-state.ts\");\n/* harmony import */ var _detect_params__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./detect/params */ \"./src/core/detect/params.ts\");\n/* harmony import */ var _flow_event_hub__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./flow/event-hub */ \"./src/core/flow/event-hub.ts\");\n/* harmony import */ var _i18n__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../i18n */ \"./i18n/index.ts\");\n/* harmony import */ var _theme__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./theme */ \"./src/core/theme/index.ts\");\n/* harmony import */ var _env_options__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./env-options */ \"./src/core/env-options.ts\");\n/* harmony import */ var _flow_submit_result__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./flow/submit-result */ \"./src/core/flow/submit-result.ts\");\n/* harmony import */ var _variable_explicit__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./variable/explicit */ \"./src/core/variable/explicit.ts\");\n/* harmony import */ var _setup_options__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./setup-options */ \"./src/core/setup-options.ts\");\n/* harmony import */ var _resume_holder__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./resume/holder */ \"./src/core/resume/holder.ts\");\n/* harmony import */ var _flow_prev_next__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./flow/prev-next */ \"./src/core/flow/prev-next.ts\");\n/* harmony import */ var _network_offline__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./network/offline */ \"./src/core/network/offline.ts\");\n/* harmony import */ var _answer_task__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./answer/task */ \"./src/core/answer/task.ts\");\n/* harmony import */ var _answer_collector__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./answer/collector */ \"./src/core/answer/collector.ts\");\n/* harmony import */ var _util_i18n__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./util/i18n */ \"./src/core/util/i18n.ts\");\n/* harmony import */ var _question_basic__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./question/basic */ \"./src/core/question/basic.ts\");\n/* harmony import */ var _option_reformer__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./option/reformer */ \"./src/core/option/reformer/index.ts\");\n/* harmony import */ var _loader_fake_server__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./loader/fake-server */ \"./src/core/loader/fake-server.ts\");\n/* harmony import */ var _choiceform_os_cfpd__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! @choiceform/os-cfpd */ \"./node_modules/.pnpm/@choiceform+os-cfpd@3.2.9/node_modules/@choiceform/os-cfpd/dist/index.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/**\n * 本模块是构建时程序的入口,\n * 在编程的时候,本模块不能导出任何内容\n * 防止在编程过程中通过快速导入被其他模块依赖,造成不可知的错误\n *\n * 但是以程序为入口构建出去的包是要导出内容的\n * 所以构建的时候会通过构建程序将一些导出内容附加到从本文件读取的内容之后\n * 在以修改后的内容作为构建入口内容,从而达到构建后的包中有导出内容的效果\n * 这些内容是给依赖此包的程序使用的.\n */\n/**\n * 确保核心已经初始化好了\n */\nfunction insure() {\n if (!core.initialized) {\n throw new Error('CCCore not yet initialized');\n }\n}\n/**\n * 核心对象\n */\nconst core = {\n releaseVersion: '3.6.36',\n releaseDate: '2023-6-1',\n eventHub: _flow_event_hub__WEBPACK_IMPORTED_MODULE_5__.eventHub,\n notifySuspended: false,\n theme: (0,_theme__WEBPACK_IMPORTED_MODULE_7__.getDefaultTheme)(),\n util: {\n convertVarStyle: _variable_explicit__WEBPACK_IMPORTED_MODULE_10__.convertVarStyle,\n getTaskInfo: _answer_task__WEBPACK_IMPORTED_MODULE_15__.getTaskInfo,\n getAnswer: _answer_collector__WEBPACK_IMPORTED_MODULE_16__.collectOneAnswer,\n addStartStateDynamics(state) {\n (0,_flow_start_state__WEBPACK_IMPORTED_MODULE_1__.addStartStateDynamics)(state);\n },\n addSurveyStateDynamics(state) {\n (0,_flow_survey_state__WEBPACK_IMPORTED_MODULE_2__.addSurveyStateDynamics)(state);\n },\n addNodeDynamics(node) {\n (0,_question_basic__WEBPACK_IMPORTED_MODULE_18__.updateDynamicQuestionProps)(node);\n },\n addOptionDynamics(option) {\n (0,_option_reformer__WEBPACK_IMPORTED_MODULE_19__.addOptionDynamics)(option);\n },\n extendImageListGetter(imageList) {\n (0,_variable_explicit__WEBPACK_IMPORTED_MODULE_10__.extendImageListGetter)(imageList);\n },\n loadFakeServers(startState) {\n return (0,_loader_fake_server__WEBPACK_IMPORTED_MODULE_20__.loadFakeServers)(startState, false);\n },\n },\n registerEnv(options) {\n const env = (0,_env_options__WEBPACK_IMPORTED_MODULE_8__.absorbEnvOptions)(options);\n (0,_util_core_proxy__WEBPACK_IMPORTED_MODULE_0__.initializeEnv)(env);\n core.env = env;\n },\n async setup(options) {\n // 已经启动过了,跳过\n if (core.initialized) {\n return core;\n }\n // 对于动态的渲染客户端\n if (options.dynamic) {\n // 必须提供模板和模板依赖树所在地址\n if (!options.templatePath || !options.treeUrl) {\n throw new Error('setup error, you configed your client as dynanmic, so must provide tempaltePath and treeUrl');\n }\n if (!options.treeUrl.startsWith('/')) {\n throw new Error('setup error, treeUrl must be absolute path');\n }\n }\n // 将配置全部放到核心对象上\n Object.assign(core, (0,_setup_options__WEBPACK_IMPORTED_MODULE_11__.absorbSetupOptions)(options));\n // 查询参数\n const query = (0,_detect_params__WEBPACK_IMPORTED_MODULE_4__.getCachedParams)();\n const sid = query.sid;\n if (!sid && !(0,_util_core_proxy__WEBPACK_IMPORTED_MODULE_0__.getEnv)().dev.realtime) {\n throw new Error('setup error, must provide sid');\n }\n // 一些自行推导的属性,不再由外面传入\n core.sid = sid;\n core.realTimePreview = (0,_util_core_proxy__WEBPACK_IMPORTED_MODULE_0__.getEnv)().dev.realtime;\n // 启动模式\n const type = query.type;\n // 以下几种场合归为预览模式\n core.preview =\n core.realTimePreview || // 实时预览主题\n core.sid.length > 30 || // 问卷id用的是长uuid,代表是完成预览\n type === \"edit_template\" /* APP_RUN_TYPE.EDIT_TEMPLATE */ || // 编辑模板预览\n type === \"preview_template\" /* APP_RUN_TYPE.PREVIEW_TEMPLATE */; // 查看模板预览\n // 当时预览模式的时候\n if (core.preview) {\n // 如果没有指定禁用预览标记横幅的场合,我们都要显示预览标记横幅\n core.needPreviewFlag = query.ban_preview_bar !== '1';\n }\n else {\n core.offlineTaskId = query.offline_task_id;\n }\n const originSetTheme = core.setTheme;\n core.setTheme = (theme) => {\n originSetTheme(theme);\n core.themeUpdated = true;\n _flow_event_hub__WEBPACK_IMPORTED_MODULE_5__.eventHub.trigger(\"SET_PROPS\" /* EVENT_NAME.SET_PROPS */);\n };\n // 合并自定义的翻译资源\n (0,_i18n__WEBPACK_IMPORTED_MODULE_6__.mergeLangSrcMap)(core.langSrcMap);\n // 配置的自定义中断处理方法\n const originCustomAbort = core.customAbort;\n core.customAbort = () => {\n if (originCustomAbort) {\n originCustomAbort();\n }\n // 抑制接下来的消息\n core.notifySuspended = true;\n // 稍后恢复消息\n setTimeout(() => {\n core.notifySuspended = false;\n }, 1000);\n throw new Error('custom_abort');\n };\n // 原始的错误处理方法\n const originError = core.error;\n // 我们重写错误方法并附加一些行为\n core.error = (message) => {\n // 基本信息的还没拿到就出错了\n if (!core.startState && !core.rewardState) {\n // 赶紧设置个默认主题\n core.setTheme((0,_theme__WEBPACK_IMPORTED_MODULE_7__.getDefaultTheme)());\n }\n originError(message);\n // 标记出错了\n core.crashed = true;\n };\n // 原始的消息处理方法\n const originNotify = core.notify;\n // 我们重写错误方法并附加一些行为\n core.notify = (message) => {\n if (core.notifySuspended) {\n return;\n }\n // 基本信息的还没拿到就出提示消息了\n if (!core.startState && !core.rewardState) {\n // 赶紧设置个默认主题\n core.setTheme((0,_theme__WEBPACK_IMPORTED_MODULE_7__.getDefaultTheme)());\n }\n originNotify(message);\n };\n // 调试用传该cdn地址\n if ((0,_util_core_proxy__WEBPACK_IMPORTED_MODULE_0__.getEnv)().dev.debug) {\n core.hostConfig.host = 'https://osapi.choiceform.com';\n core.hostConfig.cdnHost = 'https://media.choiceform.com/os-client-live';\n core.hostConfig.mediaHost = 'https://media.choiceform.com';\n }\n // 离线模式下篡改cdn地址\n if (query.offline_survey_id) {\n core.hostConfig.cdnHost = (0,_network_offline__WEBPACK_IMPORTED_MODULE_14__.tryParseToLocalUrl)(core.hostConfig.cdnHost);\n core.hostConfig.mediaHost = (0,_network_offline__WEBPACK_IMPORTED_MODULE_14__.tryParseToLocalUrl)(core.hostConfig.mediaHost);\n }\n core.hostConfig.qApiHost = core.hostConfig.host + '/q/v1';\n await (0,_util_core_proxy__WEBPACK_IMPORTED_MODULE_0__.getEnv)().hook.beforeSetupEnd(core);\n (0,_util_core_proxy__WEBPACK_IMPORTED_MODULE_0__.initializeCore)(core);\n core.initialized = true;\n await (0,_util_core_proxy__WEBPACK_IMPORTED_MODULE_0__.getEnv)().hook.afterSetup(core);\n await (0,_util_core_proxy__WEBPACK_IMPORTED_MODULE_0__.getEnv)().hook.beforeSetupEnd(core);\n const locale = await (0,_util_i18n__WEBPACK_IMPORTED_MODULE_17__.getPreferLocale)(_choiceform_os_cfpd__WEBPACK_IMPORTED_MODULE_21__[\"default\"].langTable, \"zh_cn\" /* LANG_LOCALE.ZH_CN */);\n (0,_i18n__WEBPACK_IMPORTED_MODULE_6__.setLocale)(locale);\n return core;\n },\n async fetchStartState() {\n insure();\n const startState = await (0,_flow_start_state__WEBPACK_IMPORTED_MODULE_1__.fetchStartState)();\n if (startState) {\n startState.core = core;\n core.startState = startState;\n (0,_util_core_proxy__WEBPACK_IMPORTED_MODULE_0__.getEnv)().hook.onTitleChange(startState.title);\n _flow_event_hub__WEBPACK_IMPORTED_MODULE_5__.eventHub.trigger(\"SET_PROPS\" /* EVENT_NAME.SET_PROPS */);\n }\n return startState;\n },\n async fetchSurveyState() {\n insure();\n if (core.startState) {\n (0,_flow_prev_next__WEBPACK_IMPORTED_MODULE_13__.markNextLoading)(core.startState, true);\n }\n const surveyState = await (0,_flow_survey_state__WEBPACK_IMPORTED_MODULE_2__.fetchSurveyState)();\n if (surveyState) {\n surveyState.core = core;\n core.surveyState = surveyState;\n (0,_flow_prev_next__WEBPACK_IMPORTED_MODULE_13__.markNextLoading)(core.startState, false);\n (0,_util_core_proxy__WEBPACK_IMPORTED_MODULE_0__.getEnv)().hook.onTitleChange(surveyState.title);\n _flow_event_hub__WEBPACK_IMPORTED_MODULE_5__.eventHub.trigger(\"SET_PROPS\" /* EVENT_NAME.SET_PROPS */);\n }\n return surveyState;\n },\n async fetchRewardState() {\n insure();\n const rewardState = await (0,_flow_reward_state__WEBPACK_IMPORTED_MODULE_3__.fetchRewardState)();\n if (rewardState) {\n rewardState.core = core;\n core.rewardState = rewardState;\n (0,_util_core_proxy__WEBPACK_IMPORTED_MODULE_0__.getEnv)().hook.onTitleChange(rewardState.quesTitle);\n _flow_event_hub__WEBPACK_IMPORTED_MODULE_5__.eventHub.trigger(\"SET_PROPS\" /* EVENT_NAME.SET_PROPS */);\n }\n return rewardState;\n },\n reset() {\n // 重置内存中的数据\n core.offlineTaskId = '';\n core.initialized = false;\n (0,_flow_start_state__WEBPACK_IMPORTED_MODULE_1__.resetStartState)();\n core.startState = null;\n core.surveyState = null;\n (0,_flow_reward_state__WEBPACK_IMPORTED_MODULE_3__.resetRewardState)();\n core.rewardState = null;\n (0,_detect_params__WEBPACK_IMPORTED_MODULE_4__.resetCachedParams)();\n (0,_flow_submit_result__WEBPACK_IMPORTED_MODULE_9__.resetSubmit)();\n (0,_resume_holder__WEBPACK_IMPORTED_MODULE_12__.resetResumeDataInMemory)();\n },\n};\nconst I18n = {\n mergeLangSrcMap: _i18n__WEBPACK_IMPORTED_MODULE_6__.mergeLangSrcMap,\n getLangSrcMap: _i18n__WEBPACK_IMPORTED_MODULE_6__.getLangSrcMap,\n};\n\n\n\n\n//# sourceURL=webpack://@choiceform/os-client-core/./src/core/index.ts?");
|
|
788
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Core\": () => (/* binding */ core),\n/* harmony export */ \"EventHub\": () => (/* reexport safe */ _flow_event_hub__WEBPACK_IMPORTED_MODULE_5__.eventHub),\n/* harmony export */ \"I18n\": () => (/* binding */ I18n)\n/* harmony export */ });\n/* harmony import */ var _util_core_proxy__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./util/core-proxy */ \"./src/core/util/core-proxy.ts\");\n/* harmony import */ var _flow_start_state__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./flow/start-state */ \"./src/core/flow/start-state.ts\");\n/* harmony import */ var _flow_survey_state__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./flow/survey-state */ \"./src/core/flow/survey-state.ts\");\n/* harmony import */ var _flow_reward_state__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./flow/reward-state */ \"./src/core/flow/reward-state.ts\");\n/* harmony import */ var _detect_params__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./detect/params */ \"./src/core/detect/params.ts\");\n/* harmony import */ var _flow_event_hub__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./flow/event-hub */ \"./src/core/flow/event-hub.ts\");\n/* harmony import */ var _i18n__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../i18n */ \"./i18n/index.ts\");\n/* harmony import */ var _theme__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./theme */ \"./src/core/theme/index.ts\");\n/* harmony import */ var _env_options__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./env-options */ \"./src/core/env-options.ts\");\n/* harmony import */ var _flow_submit_result__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./flow/submit-result */ \"./src/core/flow/submit-result.ts\");\n/* harmony import */ var _variable_explicit__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./variable/explicit */ \"./src/core/variable/explicit.ts\");\n/* harmony import */ var _setup_options__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./setup-options */ \"./src/core/setup-options.ts\");\n/* harmony import */ var _resume_holder__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./resume/holder */ \"./src/core/resume/holder.ts\");\n/* harmony import */ var _flow_prev_next__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./flow/prev-next */ \"./src/core/flow/prev-next.ts\");\n/* harmony import */ var _network_offline__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./network/offline */ \"./src/core/network/offline.ts\");\n/* harmony import */ var _answer_task__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./answer/task */ \"./src/core/answer/task.ts\");\n/* harmony import */ var _answer_collector__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./answer/collector */ \"./src/core/answer/collector.ts\");\n/* harmony import */ var _util_i18n__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./util/i18n */ \"./src/core/util/i18n.ts\");\n/* harmony import */ var _question_basic__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./question/basic */ \"./src/core/question/basic.ts\");\n/* harmony import */ var _option_reformer__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./option/reformer */ \"./src/core/option/reformer/index.ts\");\n/* harmony import */ var _loader_fake_server__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./loader/fake-server */ \"./src/core/loader/fake-server.ts\");\n/* harmony import */ var _choiceform_os_cfpd__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! @choiceform/os-cfpd */ \"./node_modules/.pnpm/@choiceform+os-cfpd@3.2.9/node_modules/@choiceform/os-cfpd/dist/index.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/**\n * 本模块是构建时程序的入口,\n * 在编程的时候,本模块不能导出任何内容\n * 防止在编程过程中通过快速导入被其他模块依赖,造成不可知的错误\n *\n * 但是以程序为入口构建出去的包是要导出内容的\n * 所以构建的时候会通过构建程序将一些导出内容附加到从本文件读取的内容之后\n * 在以修改后的内容作为构建入口内容,从而达到构建后的包中有导出内容的效果\n * 这些内容是给依赖此包的程序使用的.\n */\n/**\n * 确保核心已经初始化好了\n */\nfunction insure() {\n if (!core.initialized) {\n throw new Error('CCCore not yet initialized');\n }\n}\n/**\n * 核心对象\n */\nconst core = {\n releaseVersion: '3.6.37',\n releaseDate: '2023-6-1',\n eventHub: _flow_event_hub__WEBPACK_IMPORTED_MODULE_5__.eventHub,\n notifySuspended: false,\n theme: (0,_theme__WEBPACK_IMPORTED_MODULE_7__.getDefaultTheme)(),\n util: {\n convertVarStyle: _variable_explicit__WEBPACK_IMPORTED_MODULE_10__.convertVarStyle,\n getTaskInfo: _answer_task__WEBPACK_IMPORTED_MODULE_15__.getTaskInfo,\n getAnswer: _answer_collector__WEBPACK_IMPORTED_MODULE_16__.collectOneAnswer,\n addStartStateDynamics(state) {\n (0,_flow_start_state__WEBPACK_IMPORTED_MODULE_1__.addStartStateDynamics)(state);\n },\n addSurveyStateDynamics(state) {\n (0,_flow_survey_state__WEBPACK_IMPORTED_MODULE_2__.addSurveyStateDynamics)(state);\n },\n addNodeDynamics(node) {\n (0,_question_basic__WEBPACK_IMPORTED_MODULE_18__.updateDynamicQuestionProps)(node);\n },\n addOptionDynamics(option) {\n (0,_option_reformer__WEBPACK_IMPORTED_MODULE_19__.addOptionDynamics)(option);\n },\n extendImageListGetter(imageList) {\n (0,_variable_explicit__WEBPACK_IMPORTED_MODULE_10__.extendImageListGetter)(imageList);\n },\n loadFakeServers(startState) {\n return (0,_loader_fake_server__WEBPACK_IMPORTED_MODULE_20__.loadFakeServers)(startState, false);\n },\n },\n registerEnv(options) {\n const env = (0,_env_options__WEBPACK_IMPORTED_MODULE_8__.absorbEnvOptions)(options);\n (0,_util_core_proxy__WEBPACK_IMPORTED_MODULE_0__.initializeEnv)(env);\n core.env = env;\n },\n async setup(options) {\n // 已经启动过了,跳过\n if (core.initialized) {\n return core;\n }\n // 对于动态的渲染客户端\n if (options.dynamic) {\n // 必须提供模板和模板依赖树所在地址\n if (!options.templatePath || !options.treeUrl) {\n throw new Error('setup error, you configed your client as dynanmic, so must provide tempaltePath and treeUrl');\n }\n if (!options.treeUrl.startsWith('/')) {\n throw new Error('setup error, treeUrl must be absolute path');\n }\n }\n // 将配置全部放到核心对象上\n Object.assign(core, (0,_setup_options__WEBPACK_IMPORTED_MODULE_11__.absorbSetupOptions)(options));\n // 查询参数\n const query = (0,_detect_params__WEBPACK_IMPORTED_MODULE_4__.getCachedParams)();\n const sid = query.sid;\n if (!sid && !(0,_util_core_proxy__WEBPACK_IMPORTED_MODULE_0__.getEnv)().dev.realtime) {\n throw new Error('setup error, must provide sid');\n }\n // 一些自行推导的属性,不再由外面传入\n core.sid = sid;\n core.realTimePreview = (0,_util_core_proxy__WEBPACK_IMPORTED_MODULE_0__.getEnv)().dev.realtime;\n // 启动模式\n const type = query.type;\n // 以下几种场合归为预览模式\n core.preview =\n core.realTimePreview || // 实时预览主题\n core.sid.length > 30 || // 问卷id用的是长uuid,代表是完成预览\n type === \"edit_template\" /* APP_RUN_TYPE.EDIT_TEMPLATE */ || // 编辑模板预览\n type === \"preview_template\" /* APP_RUN_TYPE.PREVIEW_TEMPLATE */; // 查看模板预览\n // 当时预览模式的时候\n if (core.preview) {\n // 如果没有指定禁用预览标记横幅的场合,我们都要显示预览标记横幅\n core.needPreviewFlag = query.ban_preview_bar !== '1';\n }\n else {\n core.offlineTaskId = query.offline_task_id;\n }\n const originSetTheme = core.setTheme;\n core.setTheme = (theme) => {\n originSetTheme(theme);\n core.themeUpdated = true;\n _flow_event_hub__WEBPACK_IMPORTED_MODULE_5__.eventHub.trigger(\"SET_PROPS\" /* EVENT_NAME.SET_PROPS */);\n };\n // 合并自定义的翻译资源\n (0,_i18n__WEBPACK_IMPORTED_MODULE_6__.mergeLangSrcMap)(core.langSrcMap);\n // 配置的自定义中断处理方法\n const originCustomAbort = core.customAbort;\n core.customAbort = () => {\n if (originCustomAbort) {\n originCustomAbort();\n }\n // 抑制接下来的消息\n core.notifySuspended = true;\n // 稍后恢复消息\n setTimeout(() => {\n core.notifySuspended = false;\n }, 1000);\n throw new Error('custom_abort');\n };\n // 原始的错误处理方法\n const originError = core.error;\n // 我们重写错误方法并附加一些行为\n core.error = (message) => {\n // 基本信息的还没拿到就出错了\n if (!core.startState && !core.rewardState) {\n // 赶紧设置个默认主题\n core.setTheme((0,_theme__WEBPACK_IMPORTED_MODULE_7__.getDefaultTheme)());\n }\n originError(message);\n // 标记出错了\n core.crashed = true;\n };\n // 原始的消息处理方法\n const originNotify = core.notify;\n // 我们重写错误方法并附加一些行为\n core.notify = (message) => {\n if (core.notifySuspended) {\n return;\n }\n // 基本信息的还没拿到就出提示消息了\n if (!core.startState && !core.rewardState) {\n // 赶紧设置个默认主题\n core.setTheme((0,_theme__WEBPACK_IMPORTED_MODULE_7__.getDefaultTheme)());\n }\n originNotify(message);\n };\n // 调试用传该cdn地址\n if ((0,_util_core_proxy__WEBPACK_IMPORTED_MODULE_0__.getEnv)().dev.debug) {\n core.hostConfig.host = 'https://osapi.choiceform.com';\n core.hostConfig.cdnHost = 'https://media.choiceform.com/os-client-live';\n core.hostConfig.mediaHost = 'https://media.choiceform.com';\n }\n // 离线模式下篡改cdn地址\n if (query.offline_survey_id) {\n core.hostConfig.cdnHost = (0,_network_offline__WEBPACK_IMPORTED_MODULE_14__.tryParseToLocalUrl)(core.hostConfig.cdnHost);\n core.hostConfig.mediaHost = (0,_network_offline__WEBPACK_IMPORTED_MODULE_14__.tryParseToLocalUrl)(core.hostConfig.mediaHost);\n }\n core.hostConfig.qApiHost = core.hostConfig.host + '/q/v1';\n await (0,_util_core_proxy__WEBPACK_IMPORTED_MODULE_0__.getEnv)().hook.beforeSetupEnd(core);\n (0,_util_core_proxy__WEBPACK_IMPORTED_MODULE_0__.initializeCore)(core);\n core.initialized = true;\n await (0,_util_core_proxy__WEBPACK_IMPORTED_MODULE_0__.getEnv)().hook.afterSetup(core);\n await (0,_util_core_proxy__WEBPACK_IMPORTED_MODULE_0__.getEnv)().hook.beforeSetupEnd(core);\n const locale = await (0,_util_i18n__WEBPACK_IMPORTED_MODULE_17__.getPreferLocale)(_choiceform_os_cfpd__WEBPACK_IMPORTED_MODULE_21__[\"default\"].langTable, \"zh_cn\" /* LANG_LOCALE.ZH_CN */);\n (0,_i18n__WEBPACK_IMPORTED_MODULE_6__.setLocale)(locale);\n return core;\n },\n async fetchStartState() {\n insure();\n const startState = await (0,_flow_start_state__WEBPACK_IMPORTED_MODULE_1__.fetchStartState)();\n if (startState) {\n startState.core = core;\n core.startState = startState;\n (0,_util_core_proxy__WEBPACK_IMPORTED_MODULE_0__.getEnv)().hook.onTitleChange(startState.title);\n _flow_event_hub__WEBPACK_IMPORTED_MODULE_5__.eventHub.trigger(\"SET_PROPS\" /* EVENT_NAME.SET_PROPS */);\n }\n return startState;\n },\n async fetchSurveyState() {\n insure();\n if (core.startState) {\n (0,_flow_prev_next__WEBPACK_IMPORTED_MODULE_13__.markNextLoading)(core.startState, true);\n }\n const surveyState = await (0,_flow_survey_state__WEBPACK_IMPORTED_MODULE_2__.fetchSurveyState)();\n if (surveyState) {\n surveyState.core = core;\n core.surveyState = surveyState;\n (0,_flow_prev_next__WEBPACK_IMPORTED_MODULE_13__.markNextLoading)(core.startState, false);\n (0,_util_core_proxy__WEBPACK_IMPORTED_MODULE_0__.getEnv)().hook.onTitleChange(surveyState.title);\n _flow_event_hub__WEBPACK_IMPORTED_MODULE_5__.eventHub.trigger(\"SET_PROPS\" /* EVENT_NAME.SET_PROPS */);\n }\n return surveyState;\n },\n async fetchRewardState() {\n insure();\n const rewardState = await (0,_flow_reward_state__WEBPACK_IMPORTED_MODULE_3__.fetchRewardState)();\n if (rewardState) {\n rewardState.core = core;\n core.rewardState = rewardState;\n (0,_util_core_proxy__WEBPACK_IMPORTED_MODULE_0__.getEnv)().hook.onTitleChange(rewardState.quesTitle);\n _flow_event_hub__WEBPACK_IMPORTED_MODULE_5__.eventHub.trigger(\"SET_PROPS\" /* EVENT_NAME.SET_PROPS */);\n }\n return rewardState;\n },\n reset() {\n // 重置内存中的数据\n core.offlineTaskId = '';\n core.initialized = false;\n (0,_flow_start_state__WEBPACK_IMPORTED_MODULE_1__.resetStartState)();\n core.startState = null;\n core.surveyState = null;\n (0,_flow_reward_state__WEBPACK_IMPORTED_MODULE_3__.resetRewardState)();\n core.rewardState = null;\n (0,_detect_params__WEBPACK_IMPORTED_MODULE_4__.resetCachedParams)();\n (0,_flow_submit_result__WEBPACK_IMPORTED_MODULE_9__.resetSubmit)();\n (0,_resume_holder__WEBPACK_IMPORTED_MODULE_12__.resetResumeDataInMemory)();\n },\n};\nconst I18n = {\n mergeLangSrcMap: _i18n__WEBPACK_IMPORTED_MODULE_6__.mergeLangSrcMap,\n getLangSrcMap: _i18n__WEBPACK_IMPORTED_MODULE_6__.getLangSrcMap,\n};\n\n\n\n\n//# sourceURL=webpack://@choiceform/os-client-core/./src/core/index.ts?");
|
|
789
789
|
|
|
790
790
|
/***/ }),
|
|
791
791
|
|
|
@@ -2079,7 +2079,7 @@ eval("var logLevel = \"info\";\n\nfunction dummy() {}\n\nfunction shouldLog(leve
|
|
|
2079
2079
|
/******/
|
|
2080
2080
|
/******/ /* webpack/runtime/getFullHash */
|
|
2081
2081
|
/******/ (() => {
|
|
2082
|
-
/******/ __webpack_require__.h = () => ("
|
|
2082
|
+
/******/ __webpack_require__.h = () => ("5a8cc4484d9c8f26124f")
|
|
2083
2083
|
/******/ })();
|
|
2084
2084
|
/******/
|
|
2085
2085
|
/******/ /* webpack/runtime/global */
|
|
@@ -11,7 +11,7 @@ self["webpackHotUpdate_choiceform_os_client_core"]("support/atcp",{},
|
|
|
11
11
|
/******/ function(__webpack_require__) { // webpackRuntimeModules
|
|
12
12
|
/******/ /* webpack/runtime/getFullHash */
|
|
13
13
|
/******/ (() => {
|
|
14
|
-
/******/ __webpack_require__.h = () => ("
|
|
14
|
+
/******/ __webpack_require__.h = () => ("5a8cc4484d9c8f26124f")
|
|
15
15
|
/******/ })();
|
|
16
16
|
/******/
|
|
17
17
|
/******/ }
|
package/dist/support/atcp.js
CHANGED
|
@@ -407,7 +407,7 @@ eval("/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n\n/* eslint-disa
|
|
|
407
407
|
/******/
|
|
408
408
|
/******/ /* webpack/runtime/getFullHash */
|
|
409
409
|
/******/ (() => {
|
|
410
|
-
/******/ __webpack_require__.h = () => ("
|
|
410
|
+
/******/ __webpack_require__.h = () => ("5a8cc4484d9c8f26124f")
|
|
411
411
|
/******/ })();
|
|
412
412
|
/******/
|
|
413
413
|
/******/ /* webpack/runtime/global */
|
|
@@ -11,7 +11,7 @@ self["webpackHotUpdate_choiceform_os_client_core"]("web-core",{},
|
|
|
11
11
|
/******/ function(__webpack_require__) { // webpackRuntimeModules
|
|
12
12
|
/******/ /* webpack/runtime/getFullHash */
|
|
13
13
|
/******/ (() => {
|
|
14
|
-
/******/ __webpack_require__.h = () => ("
|
|
14
|
+
/******/ __webpack_require__.h = () => ("5a8cc4484d9c8f26124f")
|
|
15
15
|
/******/ })();
|
|
16
16
|
/******/
|
|
17
17
|
/******/ }
|
package/dist/web-core.js
CHANGED
|
@@ -728,7 +728,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
|
|
|
728
728
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
729
729
|
|
|
730
730
|
"use strict";
|
|
731
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"fetchRewardState\": () => (/* binding */ fetchRewardState),\n/* harmony export */ \"resetRewardState\": () => (/* binding */ resetRewardState),\n/* harmony export */ \"retrieveRewardRaw\": () => (/* binding */ retrieveRewardRaw),\n/* harmony export */ \"tryCacheRewardResult\": () => (/* binding */ tryCacheRewardResult)\n/* harmony export */ });\n/* harmony import */ var _question_basic__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../question/basic */ \"./src/core/question/basic.ts\");\n/* harmony import */ var _util_date_format__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../util/date-format */ \"./src/core/util/date-format.ts\");\n/* harmony import */ var _detect_params__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../detect/params */ \"./src/core/detect/params.ts\");\n/* harmony import */ var _util_tool__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../util/tool */ \"./src/core/util/tool.ts\");\n/* harmony import */ var _util_core_proxy__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../util/core-proxy */ \"./src/core/util/core-proxy.ts\");\n/* harmony import */ var _util_i18n__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../util/i18n */ \"./src/core/util/i18n.ts\");\n/* harmony import */ var _option_handler_click_handler__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../option/handler/click-handler */ \"./src/core/option/handler/click-handler.ts\");\n/* harmony import */ var _question_handler_input__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../question/handler/input */ \"./src/core/question/handler/input.ts\");\n/* harmony import */ var _event_hub__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./event-hub */ \"./src/core/flow/event-hub.ts\");\n/* harmony import */ var _log_trace_recorder__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../log/trace-recorder */ \"./src/core/log/trace-recorder.ts\");\n/* harmony import */ var _i18n__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../../i18n */ \"./i18n/index.ts\");\n/* harmony import */ var _network__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../network */ \"./src/core/network/index.ts\");\n/* harmony import */ var _ui_handler__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./ui-handler */ \"./src/core/flow/ui-handler.ts\");\n/* harmony import */ var _util_user__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../util/user */ \"./src/core/util/user.ts\");\n/* harmony import */ var _theme__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../theme */ \"./src/core/theme/index.ts\");\n/* harmony import */ var _util_lang_store__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../util/lang-store */ \"./src/core/util/lang-store.ts\");\n/* harmony import */ var _question_logo__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../question/logo */ \"./src/core/question/logo.ts\");\n/* harmony import */ var _util_image_reformer__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ../util/image-reformer */ \"./src/core/util/image-reformer.ts\");\n/* harmony import */ var _question_template__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ../question/template */ \"./src/core/question/template.ts\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/**\n * 缓存额数据\n */\nlet cachedRewardState = null;\n/**\n * 取回原始奖励结果\n * @param state 总状态\n * @param node\n */\nfunction retrieveRewardRaw(state, node) {\n // 预览模式下没有后台发来的奖励结果,自己造一个假的\n if ((0,_util_core_proxy__WEBPACK_IMPORTED_MODULE_4__.getCore)().preview) {\n const basic = { id: -1, code: '12345678' };\n if ((0,_util_tool__WEBPACK_IMPORTED_MODULE_3__.is)(node, node.type === \"gift\" /* NODE_TYPE.GIFT */)) {\n return { ...basic, type: node.giftType, gift_id: node.nodeUuid };\n }\n else {\n const option = (0,_util_tool__WEBPACK_IMPORTED_MODULE_3__.randomPick)(node.options, 1)[0];\n const giftNode = (0,_question_basic__WEBPACK_IMPORTED_MODULE_0__.findCfpdNodeByOutputId)(state.nodeList, node.destList, option.uuid);\n return {\n ...basic,\n type: giftNode.giftType,\n gift_id: giftNode.nodeUuid,\n lottery_id: node.nodeUuid,\n lottery_option_id: option.uuid,\n };\n }\n }\n else {\n return state.formalResult.reward;\n }\n}\n/**\n * 预览模式下或者自定义奖励下后台不会额外提供奖励页面渲染所需信息,需要自己缓存,这两种方式不会跨设备运行奖励页面\n * 所以缓存是可行的,红包奖励页面可能会跨设备运行,不使用缓存机制,后续靠后台的接口自行获取信息。\n * @param rewardRaw\n * @param giftNode\n * @param theme\n * @param startNode\n */\nfunction tryCacheRewardResult(rewardRaw, giftNode, theme, startNode) {\n const isCustom = giftNode.giftType === \"custom\" /* GIFT_TYPE.CUSTOM */;\n const needCacheReward = (0,_util_core_proxy__WEBPACK_IMPORTED_MODULE_4__.getCore)().preview || isCustom;\n // 预览或者是自定义奖励的需要缓存奖励\n if (needCacheReward) {\n // 开始节点的自定义logo转移到奖励节点用来伪造和后台给的一样的数据\n if (startNode.useCustomLogo) {\n giftNode.useCustomLogo = startNode.useCustomLogo;\n giftNode.logoImage = startNode.logoImage;\n giftNode.logoText = startNode.logoText;\n if (startNode.i18n) {\n Object.keys(startNode.i18n).forEach(key => {\n const startItem = startNode.i18n[key];\n const giftItem = giftNode.i18n[key];\n giftItem.logoText = startItem.logoText;\n });\n }\n }\n const cachedReward = {};\n if (giftNode.giftType === \"custom\" /* GIFT_TYPE.CUSTOM */) {\n cachedReward.custom = {\n giftNode,\n theme,\n qrCode: rewardRaw.code,\n rewardId: rewardRaw.id,\n };\n }\n else {\n cachedReward.redEnvelope = {\n theme,\n recipient: (0,_util_user__WEBPACK_IMPORTED_MODULE_13__.fakeUserInfo)(),\n gift: {\n id: rewardRaw.id,\n title: giftNode.activityName,\n description: giftNode.blessings,\n config: {\n gift_name: '',\n },\n origin: giftNode,\n },\n amount: giftNode.giftCount,\n type: \"red_envelope\" /* GIFT_TYPE.RED_ENVELOPE */,\n };\n }\n (0,_util_core_proxy__WEBPACK_IMPORTED_MODULE_4__.getEnv)().storage.set(\"cached_reward\" /* STORAGE_KEY.CACHED_REWARD */, JSON.stringify(cachedReward));\n }\n}\n/**\n * 从缓存获取奖励结果,针对预览模式或者自定义奖励下的奖励结果\n * @param rewardId\n * @returns\n */\nfunction getCachedRewardResult(rewardId) {\n const cache = (0,_util_core_proxy__WEBPACK_IMPORTED_MODULE_4__.getEnv)().storage.get(\"cached_reward\" /* STORAGE_KEY.CACHED_REWARD */);\n if (!cache) {\n return undefined;\n }\n const cachedReward = JSON.parse(cache);\n let cachedRewardId;\n const { custom, redEnvelope } = cachedReward;\n if (custom) {\n cachedRewardId = custom.rewardId;\n }\n else if (redEnvelope) {\n cachedRewardId = redEnvelope.gift.id;\n }\n // 不能误入\n if (cachedRewardId !== rewardId) {\n return undefined;\n }\n return cachedReward;\n}\n/**\n * 重置奖励状态\n */\nfunction resetRewardState() {\n cachedRewardState = null;\n}\n/**\n * 转化后台传来的奖励结果,后台传来的奖励结果中的奖励节点的翻译内容属性是不同的,\n * 转成成和前台的数据结构一致,后续方便使用\n * @param giftResult\n */\nfunction convertBackEndGiftResult(giftResult) {\n var _a;\n const giftNodeBackEnd = giftResult.gift.origin;\n const converted = {\n ...giftResult,\n gift: {\n ...giftResult === null || giftResult === void 0 ? void 0 : giftResult.gift,\n origin: {\n ...(_a = giftResult === null || giftResult === void 0 ? void 0 : giftResult.gift) === null || _a === void 0 ? void 0 : _a.origin,\n i18n: {},\n logoText: '',\n },\n },\n };\n if (!giftNodeBackEnd) {\n return converted;\n }\n const backEndI18n = giftNodeBackEnd.i18n;\n if (!backEndI18n) {\n return converted;\n }\n const frontEndI18n = {};\n Object.keys(backEndI18n).forEach(key => {\n const backEndLang = backEndI18n[key];\n frontEndI18n[key] = {\n activityName: backEndLang.gift_name,\n blessings: backEndLang.gift_wishing,\n endBtnText: backEndLang.end_btn_text,\n logoText: backEndLang.logo_text,\n };\n });\n converted.gift.origin.i18n = frontEndI18n;\n return converted;\n}\n/**\n * 抓取奖励页面状态\n */\nasync function fetchRewardState() {\n if (cachedRewardState) {\n return cachedRewardState;\n }\n const queryParams = (0,_detect_params__WEBPACK_IMPORTED_MODULE_2__.getCachedParams)();\n const { rt, rid, code, qid, tid, locale, reward_from_qr_code } = queryParams;\n (0,_util_i18n__WEBPACK_IMPORTED_MODULE_5__.setUiLocale)(locale);\n let giftNode;\n let recipient = {};\n let branchPart;\n // 是红包奖励\n if (rt === \"red_envelope\" /* GIFT_TYPE.RED_ENVELOPE */) {\n let redEnvelope;\n // 预览模式\n if ((0,_util_core_proxy__WEBPACK_IMPORTED_MODULE_4__.getCore)().preview) {\n const cachedReward = getCachedRewardResult(Number(rid));\n // 从缓存中获取伪造的奖励\n redEnvelope = cachedReward.redEnvelope;\n }\n else if (reward_from_qr_code) {\n // 如果是微信扫描二维码领奖,先给一个假的奖励\n // 并显示提示信息,要求用户授权\n redEnvelope = fakeRedEnvelop;\n (0,_util_core_proxy__WEBPACK_IMPORTED_MODULE_4__.getEnv)().auth.authorizeGift(queryParams.aid, queryParams.cid, queryParams, \"scan_qr_code\" /* WX_REWARD_PAGE_FROM.SCAN_QR_CODE */);\n (0,_util_core_proxy__WEBPACK_IMPORTED_MODULE_4__.getCore)().customAbort();\n }\n else {\n // 正式模式有中奖id却没有授权code,跳转到微信授权\n if (rid && !code) {\n (0,_util_core_proxy__WEBPACK_IMPORTED_MODULE_4__.getEnv)().auth.authorizeGift(queryParams.aid, queryParams.cid, queryParams, \"scan_qr_code\" /* WX_REWARD_PAGE_FROM.SCAN_QR_CODE */);\n (0,_util_core_proxy__WEBPACK_IMPORTED_MODULE_4__.getCore)().customAbort();\n }\n // 从后台获取奖励信息\n const data = await (0,_network__WEBPACK_IMPORTED_MODULE_11__.postGiftEnvelope)({ code }, rid);\n redEnvelope = convertBackEndGiftResult(data);\n }\n const { gift, theme, isTemporaryForWXQrcode } = redEnvelope;\n giftNode = gift.origin;\n recipient = redEnvelope.recipient;\n (0,_log_trace_recorder__WEBPACK_IMPORTED_MODULE_9__.recordGift)(giftNode, { surveyId: qid, userInfo: recipient, transactionID: tid });\n branchPart = {\n isTemporaryForWXQrcode,\n rewardValue: giftNode.giftCount + ' ' + (0,_util_i18n__WEBPACK_IMPORTED_MODULE_5__.translate)(_i18n__WEBPACK_IMPORTED_MODULE_10__.LANG.reward.yuan),\n wechatID: recipient.nickname,\n wechatImage: recipient.headimgurl,\n theme,\n };\n // 自定义奖励\n }\n else {\n // 总是从缓存中获取\n const cachedReward = getCachedRewardResult(Number(rid));\n // 自定义奖励不可被分享,分享后的设备中奖励缓存无,不显示自定义奖励,\n if (!cachedReward) {\n (0,_util_core_proxy__WEBPACK_IMPORTED_MODULE_4__.getCore)().error((0,_util_i18n__WEBPACK_IMPORTED_MODULE_5__.translate)(_i18n__WEBPACK_IMPORTED_MODULE_10__.LANG.global.invalidReward));\n return null;\n }\n const { custom } = cachedReward;\n giftNode = custom.giftNode;\n branchPart = {\n qrCode: custom.qrCode,\n rewardToMessage: giftNode.needSendNote,\n theme: custom.theme,\n };\n }\n (0,_util_lang_store__WEBPACK_IMPORTED_MODULE_15__.switchGiftNodeLang)(giftNode, giftNode.i18n[locale]);\n // todo:由于现在的与后台交互的运行机制,如果是红包奖励,则其实是只能获取不到logo信息的。\n const logo = (0,_question_logo__WEBPACK_IMPORTED_MODULE_16__.reformCustomLogo)(giftNode);\n const state = {\n ...branchPart,\n // 奖励节点的图片不会使用变量,所以可以直接转化\n images: giftNode.image ? [(0,_util_image_reformer__WEBPACK_IMPORTED_MODULE_17__.reformImage)(giftNode.image)] : [],\n video: giftNode.video,\n layout: giftNode.layout,\n rewardId: rid,\n eventHub: _event_hub__WEBPACK_IMPORTED_MODULE_8__.eventHub,\n nodeName: giftNode.nodeName,\n type: giftNode.type,\n rewardType: giftNode.giftType,\n renderId: giftNode.nodeUuid,\n rewardName: giftNode.activityName,\n title: giftNode.blessings,\n description: giftNode.describe,\n summary: giftNode.describe,\n rewardTime: (0,_util_date_format__WEBPACK_IMPORTED_MODULE_1__.getDateAndTimeString)(),\n ...logo,\n prevButton: (0,_util_core_proxy__WEBPACK_IMPORTED_MODULE_4__.getCore)().preview && !(0,_util_core_proxy__WEBPACK_IMPORTED_MODULE_4__.getCore)().realTimePreview ? (0,_util_i18n__WEBPACK_IMPORTED_MODULE_5__.translate)(_i18n__WEBPACK_IMPORTED_MODULE_10__.LANG.global.backTest) : '',\n nextButton: giftNode.linkUrl && (giftNode.endBtnText || (0,_util_i18n__WEBPACK_IMPORTED_MODULE_5__.translate)(_i18n__WEBPACK_IMPORTED_MODULE_10__.LANG.global.go)),\n handleEvents: {\n ..._ui_handler__WEBPACK_IMPORTED_MODULE_12__.handlerAlias,\n async handlePrevClick() {\n (0,_util_core_proxy__WEBPACK_IMPORTED_MODULE_4__.getEnv)().app.gotoStartPage((0,_detect_params__WEBPACK_IMPORTED_MODULE_2__.getCachedParams)());\n },\n async handleOptionClick(option, node) {\n const handled = await (0,_option_handler_click_handler__WEBPACK_IMPORTED_MODULE_6__.handleOptionClick)(option, node);\n return handled.result;\n },\n async handleQuestionInput(dynamic, node) {\n const handled = await (0,_question_handler_input__WEBPACK_IMPORTED_MODULE_7__.handleQuestionInput)(dynamic, node);\n return handled.result;\n },\n async handleNextClick() {\n if (giftNode.linkUrl) {\n (0,_detect_params__WEBPACK_IMPORTED_MODULE_2__.openWebLink)(giftNode.linkUrl);\n }\n },\n },\n };\n state.template = await (0,_question_template__WEBPACK_IMPORTED_MODULE_18__.initNodeTemplate)(giftNode.template, state);\n cachedRewardState = state;\n (0,_theme__WEBPACK_IMPORTED_MODULE_14__.setCurrentTheme)(state.theme);\n await (0,_util_core_proxy__WEBPACK_IMPORTED_MODULE_4__.getEnv)().hook.afterFetchReward(state);\n return state;\n}\nconst fakeRedEnvelop = {\n isTemporaryForWXQrcode: true,\n theme: {\n primary: '#202020',\n secondary: '#FFFFFF',\n contrast: '#CC2227',\n background: '#FCFCFC',\n error: '#CC2227',\n button: '#202020',\n fontSize: '1.5rem',\n fontWeight: \"normal\" /* FONT_WEIGHT.NORMAL */,\n descFontSize: '1rem',\n descFontWeight: \"normal\" /* FONT_WEIGHT.NORMAL */,\n optFontSize: '1rem',\n optFontWeight: \"normal\" /* FONT_WEIGHT.NORMAL */,\n btnFontSize: '1.25rem',\n btnFontWeight: \"normal\" /* FONT_WEIGHT.NORMAL */,\n name: 'minimal',\n fontFamily: 'roboto',\n titleFontSize: '1.5rem',\n titleFontWeight: \"bold\" /* FONT_WEIGHT.BOLD */,\n boxWidth: '50vmin',\n bgOpacity: 100,\n bgLayout: \"cover\" /* BG_LAYOUT.COVER */,\n bgSize: 'cover',\n effect: \"normal\" /* OPT_EFFECT.NORMAL */,\n bgImageUrl: '',\n bgImageId: '',\n bgImageHeight: 0,\n bgImageWidth: 0,\n },\n recipient: {\n headimgurl: 'https://media.choiceform.com/fresh_little_girl.jpg',\n nickname: '微信名称示例',\n },\n gift: {\n id: -1,\n title: '测试',\n description: '测试',\n config: { gift_name: '' },\n origin: {\n sortNo: 10003,\n x: 808,\n y: 219,\n nodeName: 'GIFT',\n type: \"gift\" /* NODE_TYPE.GIFT */,\n used: true,\n nodeUuid: 'dc28e571-38a3-4af3-9829-22aaa62e83f0',\n input: { uuid: 'bb75d086-9203-4cd1-a757-aa22fdde3a71' },\n label: 'GIFT',\n questionText: '测试',\n layout: {\n fontSize: '1.5rem',\n fontWeight: \"normal\" /* FONT_WEIGHT.NORMAL */,\n optFontSize: '1rem',\n optFontWeight: \"normal\" /* FONT_WEIGHT.NORMAL */,\n descFontSize: '1rem',\n descFontWeight: \"normal\" /* FONT_WEIGHT.NORMAL */,\n descFontIsolate: false,\n fontIsolate: false,\n iconFontSize: '48px',\n optFontIsolate: false,\n },\n template: { name: 'basic', params: [], id: 'standards_gift_basic' },\n giftCount: 1,\n giftType: \"red_envelope\" /* GIFT_TYPE.RED_ENVELOPE */,\n activityName: '测试',\n blessings: '测试',\n needSendNote: true,\n needVerification: true,\n fromNodeIds: '319c139d-043f-4949-8721-b2376d52cea7',\n fromOptIds: '',\n i18n: {\n zh_cn: {\n activityName: '测试',\n blessings: '测试',\n endBtnText: '',\n },\n },\n },\n },\n amount: 1,\n type: \"red_envelope\" /* GIFT_TYPE.RED_ENVELOPE */,\n};\n\n\n//# sourceURL=webpack://@choiceform/os-client-core/./src/core/flow/reward-state.ts?");
|
|
731
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"fetchRewardState\": () => (/* binding */ fetchRewardState),\n/* harmony export */ \"resetRewardState\": () => (/* binding */ resetRewardState),\n/* harmony export */ \"retrieveRewardRaw\": () => (/* binding */ retrieveRewardRaw),\n/* harmony export */ \"tryCacheRewardResult\": () => (/* binding */ tryCacheRewardResult)\n/* harmony export */ });\n/* harmony import */ var _question_basic__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../question/basic */ \"./src/core/question/basic.ts\");\n/* harmony import */ var _util_date_format__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../util/date-format */ \"./src/core/util/date-format.ts\");\n/* harmony import */ var _detect_params__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../detect/params */ \"./src/core/detect/params.ts\");\n/* harmony import */ var _util_tool__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../util/tool */ \"./src/core/util/tool.ts\");\n/* harmony import */ var _util_core_proxy__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../util/core-proxy */ \"./src/core/util/core-proxy.ts\");\n/* harmony import */ var _util_i18n__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../util/i18n */ \"./src/core/util/i18n.ts\");\n/* harmony import */ var _option_handler_click_handler__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../option/handler/click-handler */ \"./src/core/option/handler/click-handler.ts\");\n/* harmony import */ var _question_handler_input__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../question/handler/input */ \"./src/core/question/handler/input.ts\");\n/* harmony import */ var _event_hub__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./event-hub */ \"./src/core/flow/event-hub.ts\");\n/* harmony import */ var _log_trace_recorder__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../log/trace-recorder */ \"./src/core/log/trace-recorder.ts\");\n/* harmony import */ var _i18n__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../../i18n */ \"./i18n/index.ts\");\n/* harmony import */ var _network__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../network */ \"./src/core/network/index.ts\");\n/* harmony import */ var _ui_handler__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./ui-handler */ \"./src/core/flow/ui-handler.ts\");\n/* harmony import */ var _util_user__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../util/user */ \"./src/core/util/user.ts\");\n/* harmony import */ var _theme__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../theme */ \"./src/core/theme/index.ts\");\n/* harmony import */ var _util_lang_store__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../util/lang-store */ \"./src/core/util/lang-store.ts\");\n/* harmony import */ var _question_logo__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../question/logo */ \"./src/core/question/logo.ts\");\n/* harmony import */ var _util_image_reformer__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ../util/image-reformer */ \"./src/core/util/image-reformer.ts\");\n/* harmony import */ var _question_template__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ../question/template */ \"./src/core/question/template.ts\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/**\n * 缓存额数据\n */\nlet cachedRewardState = null;\n/**\n * 取回原始奖励结果\n * @param state 总状态\n * @param node\n */\nfunction retrieveRewardRaw(state, node) {\n // 预览模式下没有后台发来的奖励结果,自己造一个假的\n if ((0,_util_core_proxy__WEBPACK_IMPORTED_MODULE_4__.getCore)().preview) {\n const basic = { id: -1, code: '12345678' };\n if ((0,_util_tool__WEBPACK_IMPORTED_MODULE_3__.is)(node, node.type === \"gift\" /* NODE_TYPE.GIFT */)) {\n return { ...basic, type: node.giftType, gift_id: node.nodeUuid };\n }\n else {\n const option = (0,_util_tool__WEBPACK_IMPORTED_MODULE_3__.randomPick)(node.options, 1)[0];\n const giftNode = (0,_question_basic__WEBPACK_IMPORTED_MODULE_0__.findCfpdNodeByOutputId)(state.nodeList, node.destList, option.uuid);\n return {\n ...basic,\n type: giftNode.giftType,\n gift_id: giftNode.nodeUuid,\n lottery_id: node.nodeUuid,\n lottery_option_id: option.uuid,\n };\n }\n }\n else {\n return state.formalResult.reward;\n }\n}\n/**\n * 预览模式下或者自定义奖励下后台不会额外提供奖励页面渲染所需信息,需要自己缓存,这两种方式不会跨设备运行奖励页面\n * 所以缓存是可行的,红包奖励页面可能会跨设备运行,不使用缓存机制,后续靠后台的接口自行获取信息。\n * @param rewardRaw\n * @param giftNode\n * @param theme\n * @param startNode\n */\nfunction tryCacheRewardResult(rewardRaw, giftNode, theme, startNode) {\n const isCustom = giftNode.giftType === \"custom\" /* GIFT_TYPE.CUSTOM */;\n const needCacheReward = (0,_util_core_proxy__WEBPACK_IMPORTED_MODULE_4__.getCore)().preview || isCustom;\n // 预览或者是自定义奖励的需要缓存奖励\n if (needCacheReward) {\n // 开始节点的自定义logo转移到奖励节点用来伪造和后台给的一样的数据\n if (startNode.useCustomLogo) {\n giftNode.useCustomLogo = startNode.useCustomLogo;\n giftNode.logoImage = startNode.logoImage;\n giftNode.logoText = startNode.logoText;\n if (startNode.i18n) {\n Object.keys(startNode.i18n).forEach(key => {\n const startItem = startNode.i18n[key];\n const giftItem = giftNode.i18n[key];\n giftItem.logoText = startItem.logoText;\n });\n }\n }\n const cachedReward = {};\n if (giftNode.giftType === \"custom\" /* GIFT_TYPE.CUSTOM */) {\n cachedReward.custom = {\n giftNode,\n theme,\n qrCode: rewardRaw.code,\n rewardId: rewardRaw.id,\n };\n }\n else {\n cachedReward.redEnvelope = {\n theme,\n recipient: (0,_util_user__WEBPACK_IMPORTED_MODULE_13__.fakeUserInfo)(),\n gift: {\n id: rewardRaw.id,\n title: giftNode.activityName,\n description: giftNode.blessings,\n config: {\n gift_name: '',\n },\n origin: giftNode,\n },\n amount: giftNode.giftCount,\n type: \"red_envelope\" /* GIFT_TYPE.RED_ENVELOPE */,\n };\n }\n (0,_util_core_proxy__WEBPACK_IMPORTED_MODULE_4__.getEnv)().storage.set(\"cached_reward\" /* STORAGE_KEY.CACHED_REWARD */, JSON.stringify(cachedReward));\n }\n}\n/**\n * 从缓存获取奖励结果,针对预览模式或者自定义奖励下的奖励结果\n * @param rewardId\n * @returns\n */\nfunction getCachedRewardResult(rewardId) {\n const cache = (0,_util_core_proxy__WEBPACK_IMPORTED_MODULE_4__.getEnv)().storage.get(\"cached_reward\" /* STORAGE_KEY.CACHED_REWARD */);\n if (!cache) {\n return undefined;\n }\n const cachedReward = JSON.parse(cache);\n let cachedRewardId;\n const { custom, redEnvelope } = cachedReward;\n if (custom) {\n cachedRewardId = custom.rewardId;\n }\n else if (redEnvelope) {\n cachedRewardId = redEnvelope.gift.id;\n }\n // 不能误入\n if (cachedRewardId !== rewardId) {\n return undefined;\n }\n return cachedReward;\n}\n/**\n * 重置奖励状态\n */\nfunction resetRewardState() {\n cachedRewardState = null;\n}\n/**\n * 转化后台传来的奖励结果,后台传来的奖励结果中的奖励节点的翻译内容属性是不同的,\n * 转成成和前台的数据结构一致,后续方便使用\n * @param giftResult\n */\nfunction convertBackEndGiftResult(giftResult) {\n var _a;\n const giftNodeBackEnd = giftResult.gift.origin;\n const converted = {\n ...giftResult,\n gift: {\n ...giftResult === null || giftResult === void 0 ? void 0 : giftResult.gift,\n origin: {\n ...(_a = giftResult === null || giftResult === void 0 ? void 0 : giftResult.gift) === null || _a === void 0 ? void 0 : _a.origin,\n i18n: {},\n logoText: '',\n },\n },\n };\n if (!giftNodeBackEnd) {\n return converted;\n }\n const backEndI18n = giftNodeBackEnd.i18n;\n if (!backEndI18n) {\n return converted;\n }\n const frontEndI18n = {};\n Object.keys(backEndI18n).forEach(key => {\n const backEndLang = backEndI18n[key];\n frontEndI18n[key] = {\n activityName: backEndLang.gift_name,\n blessings: backEndLang.gift_wishing,\n endBtnText: backEndLang.end_btn_text,\n logoText: backEndLang.logo_text,\n };\n });\n converted.gift.origin.i18n = frontEndI18n;\n return converted;\n}\n/**\n * 抓取奖励页面状态\n */\nasync function fetchRewardState() {\n if (cachedRewardState) {\n return cachedRewardState;\n }\n const queryParams = (0,_detect_params__WEBPACK_IMPORTED_MODULE_2__.getCachedParams)();\n const { rt, rid, code, qid, tid, locale, reward_from_qr_code } = queryParams;\n (0,_util_i18n__WEBPACK_IMPORTED_MODULE_5__.setUiLocale)(locale);\n let giftNode;\n let recipient = {};\n let branchPart;\n // 是红包奖励\n if (rt === \"red_envelope\" /* GIFT_TYPE.RED_ENVELOPE */) {\n let redEnvelope;\n // 预览模式\n if ((0,_util_core_proxy__WEBPACK_IMPORTED_MODULE_4__.getCore)().preview) {\n const cachedReward = getCachedRewardResult(Number(rid));\n // 从缓存中获取伪造的奖励\n redEnvelope = cachedReward.redEnvelope;\n }\n else if (!code && reward_from_qr_code) {\n // 如果是微信扫描二维码领奖,先给一个假的奖励\n // 并显示提示信息,要求用户授权\n redEnvelope = fakeRedEnvelop;\n (0,_util_core_proxy__WEBPACK_IMPORTED_MODULE_4__.getEnv)().auth.authorizeGift(queryParams.aid, queryParams.cid, queryParams, \"scan_qr_code\" /* WX_REWARD_PAGE_FROM.SCAN_QR_CODE */);\n (0,_util_core_proxy__WEBPACK_IMPORTED_MODULE_4__.getCore)().customAbort();\n }\n else {\n // 正式模式有中奖id却没有授权code,跳转到微信授权\n if (rid && !code) {\n (0,_util_core_proxy__WEBPACK_IMPORTED_MODULE_4__.getEnv)().auth.authorizeGift(queryParams.aid, queryParams.cid, queryParams, \"scan_qr_code\" /* WX_REWARD_PAGE_FROM.SCAN_QR_CODE */);\n (0,_util_core_proxy__WEBPACK_IMPORTED_MODULE_4__.getCore)().customAbort();\n }\n // 从后台获取奖励信息\n const data = await (0,_network__WEBPACK_IMPORTED_MODULE_11__.postGiftEnvelope)({ code }, rid);\n redEnvelope = convertBackEndGiftResult(data);\n }\n const { gift, theme, isTemporaryForWXQrcode } = redEnvelope;\n giftNode = gift.origin;\n recipient = redEnvelope.recipient;\n (0,_log_trace_recorder__WEBPACK_IMPORTED_MODULE_9__.recordGift)(giftNode, { surveyId: qid, userInfo: recipient, transactionID: tid });\n branchPart = {\n isTemporaryForWXQrcode,\n rewardValue: giftNode.giftCount + ' ' + (0,_util_i18n__WEBPACK_IMPORTED_MODULE_5__.translate)(_i18n__WEBPACK_IMPORTED_MODULE_10__.LANG.reward.yuan),\n wechatID: recipient.nickname,\n wechatImage: recipient.headimgurl,\n theme,\n };\n // 自定义奖励\n }\n else {\n // 总是从缓存中获取\n const cachedReward = getCachedRewardResult(Number(rid));\n // 自定义奖励不可被分享,分享后的设备中奖励缓存无,不显示自定义奖励,\n if (!cachedReward) {\n (0,_util_core_proxy__WEBPACK_IMPORTED_MODULE_4__.getCore)().error((0,_util_i18n__WEBPACK_IMPORTED_MODULE_5__.translate)(_i18n__WEBPACK_IMPORTED_MODULE_10__.LANG.global.invalidReward));\n return null;\n }\n const { custom } = cachedReward;\n giftNode = custom.giftNode;\n branchPart = {\n qrCode: custom.qrCode,\n rewardToMessage: giftNode.needSendNote,\n theme: custom.theme,\n };\n }\n (0,_util_lang_store__WEBPACK_IMPORTED_MODULE_15__.switchGiftNodeLang)(giftNode, giftNode.i18n[locale]);\n // todo:由于现在的与后台交互的运行机制,如果是红包奖励,则其实是只能获取不到logo信息的。\n const logo = (0,_question_logo__WEBPACK_IMPORTED_MODULE_16__.reformCustomLogo)(giftNode);\n const state = {\n ...branchPart,\n // 奖励节点的图片不会使用变量,所以可以直接转化\n images: giftNode.image ? [(0,_util_image_reformer__WEBPACK_IMPORTED_MODULE_17__.reformImage)(giftNode.image)] : [],\n video: giftNode.video,\n layout: giftNode.layout,\n rewardId: rid,\n eventHub: _event_hub__WEBPACK_IMPORTED_MODULE_8__.eventHub,\n nodeName: giftNode.nodeName,\n type: giftNode.type,\n rewardType: giftNode.giftType,\n renderId: giftNode.nodeUuid,\n rewardName: giftNode.activityName,\n title: giftNode.blessings,\n description: giftNode.describe,\n summary: giftNode.describe,\n rewardTime: (0,_util_date_format__WEBPACK_IMPORTED_MODULE_1__.getDateAndTimeString)(),\n ...logo,\n prevButton: (0,_util_core_proxy__WEBPACK_IMPORTED_MODULE_4__.getCore)().preview && !(0,_util_core_proxy__WEBPACK_IMPORTED_MODULE_4__.getCore)().realTimePreview ? (0,_util_i18n__WEBPACK_IMPORTED_MODULE_5__.translate)(_i18n__WEBPACK_IMPORTED_MODULE_10__.LANG.global.backTest) : '',\n nextButton: giftNode.linkUrl && (giftNode.endBtnText || (0,_util_i18n__WEBPACK_IMPORTED_MODULE_5__.translate)(_i18n__WEBPACK_IMPORTED_MODULE_10__.LANG.global.go)),\n handleEvents: {\n ..._ui_handler__WEBPACK_IMPORTED_MODULE_12__.handlerAlias,\n async handlePrevClick() {\n (0,_util_core_proxy__WEBPACK_IMPORTED_MODULE_4__.getEnv)().app.gotoStartPage((0,_detect_params__WEBPACK_IMPORTED_MODULE_2__.getCachedParams)());\n },\n async handleOptionClick(option, node) {\n const handled = await (0,_option_handler_click_handler__WEBPACK_IMPORTED_MODULE_6__.handleOptionClick)(option, node);\n return handled.result;\n },\n async handleQuestionInput(dynamic, node) {\n const handled = await (0,_question_handler_input__WEBPACK_IMPORTED_MODULE_7__.handleQuestionInput)(dynamic, node);\n return handled.result;\n },\n async handleNextClick() {\n if (giftNode.linkUrl) {\n (0,_detect_params__WEBPACK_IMPORTED_MODULE_2__.openWebLink)(giftNode.linkUrl);\n }\n },\n },\n };\n state.template = await (0,_question_template__WEBPACK_IMPORTED_MODULE_18__.initNodeTemplate)(giftNode.template, state);\n cachedRewardState = state;\n (0,_theme__WEBPACK_IMPORTED_MODULE_14__.setCurrentTheme)(state.theme);\n await (0,_util_core_proxy__WEBPACK_IMPORTED_MODULE_4__.getEnv)().hook.afterFetchReward(state);\n return state;\n}\nconst fakeRedEnvelop = {\n isTemporaryForWXQrcode: true,\n theme: {\n primary: '#202020',\n secondary: '#FFFFFF',\n contrast: '#CC2227',\n background: '#FCFCFC',\n error: '#CC2227',\n button: '#202020',\n fontSize: '1.5rem',\n fontWeight: \"normal\" /* FONT_WEIGHT.NORMAL */,\n descFontSize: '1rem',\n descFontWeight: \"normal\" /* FONT_WEIGHT.NORMAL */,\n optFontSize: '1rem',\n optFontWeight: \"normal\" /* FONT_WEIGHT.NORMAL */,\n btnFontSize: '1.25rem',\n btnFontWeight: \"normal\" /* FONT_WEIGHT.NORMAL */,\n name: 'minimal',\n fontFamily: 'roboto',\n titleFontSize: '1.5rem',\n titleFontWeight: \"bold\" /* FONT_WEIGHT.BOLD */,\n boxWidth: '50vmin',\n bgOpacity: 100,\n bgLayout: \"cover\" /* BG_LAYOUT.COVER */,\n bgSize: 'cover',\n effect: \"normal\" /* OPT_EFFECT.NORMAL */,\n bgImageUrl: '',\n bgImageId: '',\n bgImageHeight: 0,\n bgImageWidth: 0,\n },\n recipient: {\n headimgurl: 'https://media.choiceform.com/fresh_little_girl.jpg',\n nickname: '微信名称示例',\n },\n gift: {\n id: -1,\n title: '测试',\n description: '测试',\n config: { gift_name: '' },\n origin: {\n sortNo: 10003,\n x: 808,\n y: 219,\n nodeName: 'GIFT',\n type: \"gift\" /* NODE_TYPE.GIFT */,\n used: true,\n nodeUuid: 'dc28e571-38a3-4af3-9829-22aaa62e83f0',\n input: { uuid: 'bb75d086-9203-4cd1-a757-aa22fdde3a71' },\n label: 'GIFT',\n questionText: '测试',\n layout: {\n fontSize: '1.5rem',\n fontWeight: \"normal\" /* FONT_WEIGHT.NORMAL */,\n optFontSize: '1rem',\n optFontWeight: \"normal\" /* FONT_WEIGHT.NORMAL */,\n descFontSize: '1rem',\n descFontWeight: \"normal\" /* FONT_WEIGHT.NORMAL */,\n descFontIsolate: false,\n fontIsolate: false,\n iconFontSize: '48px',\n optFontIsolate: false,\n },\n template: { name: 'basic', params: [], id: 'standards_gift_basic' },\n giftCount: 1,\n giftType: \"red_envelope\" /* GIFT_TYPE.RED_ENVELOPE */,\n activityName: '测试',\n blessings: '测试',\n needSendNote: true,\n needVerification: true,\n fromNodeIds: '319c139d-043f-4949-8721-b2376d52cea7',\n fromOptIds: '',\n i18n: {\n zh_cn: {\n activityName: '测试',\n blessings: '测试',\n endBtnText: '',\n },\n },\n },\n },\n amount: 1,\n type: \"red_envelope\" /* GIFT_TYPE.RED_ENVELOPE */,\n};\n\n\n//# sourceURL=webpack://@choiceform/os-client-core/./src/core/flow/reward-state.ts?");
|
|
732
732
|
|
|
733
733
|
/***/ }),
|
|
734
734
|
|
|
@@ -805,7 +805,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
|
|
|
805
805
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
806
806
|
|
|
807
807
|
"use strict";
|
|
808
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Core\": () => (/* binding */ core),\n/* harmony export */ \"EventHub\": () => (/* reexport safe */ _flow_event_hub__WEBPACK_IMPORTED_MODULE_5__.eventHub),\n/* harmony export */ \"I18n\": () => (/* binding */ I18n)\n/* harmony export */ });\n/* harmony import */ var _util_core_proxy__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./util/core-proxy */ \"./src/core/util/core-proxy.ts\");\n/* harmony import */ var _flow_start_state__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./flow/start-state */ \"./src/core/flow/start-state.ts\");\n/* harmony import */ var _flow_survey_state__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./flow/survey-state */ \"./src/core/flow/survey-state.ts\");\n/* harmony import */ var _flow_reward_state__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./flow/reward-state */ \"./src/core/flow/reward-state.ts\");\n/* harmony import */ var _detect_params__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./detect/params */ \"./src/core/detect/params.ts\");\n/* harmony import */ var _flow_event_hub__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./flow/event-hub */ \"./src/core/flow/event-hub.ts\");\n/* harmony import */ var _i18n__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../i18n */ \"./i18n/index.ts\");\n/* harmony import */ var _theme__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./theme */ \"./src/core/theme/index.ts\");\n/* harmony import */ var _env_options__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./env-options */ \"./src/core/env-options.ts\");\n/* harmony import */ var _flow_submit_result__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./flow/submit-result */ \"./src/core/flow/submit-result.ts\");\n/* harmony import */ var _variable_explicit__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./variable/explicit */ \"./src/core/variable/explicit.ts\");\n/* harmony import */ var _setup_options__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./setup-options */ \"./src/core/setup-options.ts\");\n/* harmony import */ var _resume_holder__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./resume/holder */ \"./src/core/resume/holder.ts\");\n/* harmony import */ var _flow_prev_next__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./flow/prev-next */ \"./src/core/flow/prev-next.ts\");\n/* harmony import */ var _network_offline__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./network/offline */ \"./src/core/network/offline.ts\");\n/* harmony import */ var _answer_task__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./answer/task */ \"./src/core/answer/task.ts\");\n/* harmony import */ var _answer_collector__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./answer/collector */ \"./src/core/answer/collector.ts\");\n/* harmony import */ var _util_i18n__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./util/i18n */ \"./src/core/util/i18n.ts\");\n/* harmony import */ var _question_basic__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./question/basic */ \"./src/core/question/basic.ts\");\n/* harmony import */ var _option_reformer__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./option/reformer */ \"./src/core/option/reformer/index.ts\");\n/* harmony import */ var _loader_fake_server__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./loader/fake-server */ \"./src/core/loader/fake-server.ts\");\n/* harmony import */ var _choiceform_os_cfpd__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! @choiceform/os-cfpd */ \"./node_modules/.pnpm/@choiceform+os-cfpd@3.2.9/node_modules/@choiceform/os-cfpd/dist/index.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/**\n * 本模块是构建时程序的入口,\n * 在编程的时候,本模块不能导出任何内容\n * 防止在编程过程中通过快速导入被其他模块依赖,造成不可知的错误\n *\n * 但是以程序为入口构建出去的包是要导出内容的\n * 所以构建的时候会通过构建程序将一些导出内容附加到从本文件读取的内容之后\n * 在以修改后的内容作为构建入口内容,从而达到构建后的包中有导出内容的效果\n * 这些内容是给依赖此包的程序使用的.\n */\n/**\n * 确保核心已经初始化好了\n */\nfunction insure() {\n if (!core.initialized) {\n throw new Error('CCCore not yet initialized');\n }\n}\n/**\n * 核心对象\n */\nconst core = {\n releaseVersion: '3.6.36',\n releaseDate: '2023-6-1',\n eventHub: _flow_event_hub__WEBPACK_IMPORTED_MODULE_5__.eventHub,\n notifySuspended: false,\n theme: (0,_theme__WEBPACK_IMPORTED_MODULE_7__.getDefaultTheme)(),\n util: {\n convertVarStyle: _variable_explicit__WEBPACK_IMPORTED_MODULE_10__.convertVarStyle,\n getTaskInfo: _answer_task__WEBPACK_IMPORTED_MODULE_15__.getTaskInfo,\n getAnswer: _answer_collector__WEBPACK_IMPORTED_MODULE_16__.collectOneAnswer,\n addStartStateDynamics(state) {\n (0,_flow_start_state__WEBPACK_IMPORTED_MODULE_1__.addStartStateDynamics)(state);\n },\n addSurveyStateDynamics(state) {\n (0,_flow_survey_state__WEBPACK_IMPORTED_MODULE_2__.addSurveyStateDynamics)(state);\n },\n addNodeDynamics(node) {\n (0,_question_basic__WEBPACK_IMPORTED_MODULE_18__.updateDynamicQuestionProps)(node);\n },\n addOptionDynamics(option) {\n (0,_option_reformer__WEBPACK_IMPORTED_MODULE_19__.addOptionDynamics)(option);\n },\n extendImageListGetter(imageList) {\n (0,_variable_explicit__WEBPACK_IMPORTED_MODULE_10__.extendImageListGetter)(imageList);\n },\n loadFakeServers(startState) {\n return (0,_loader_fake_server__WEBPACK_IMPORTED_MODULE_20__.loadFakeServers)(startState, false);\n },\n },\n registerEnv(options) {\n const env = (0,_env_options__WEBPACK_IMPORTED_MODULE_8__.absorbEnvOptions)(options);\n (0,_util_core_proxy__WEBPACK_IMPORTED_MODULE_0__.initializeEnv)(env);\n core.env = env;\n },\n async setup(options) {\n // 已经启动过了,跳过\n if (core.initialized) {\n return core;\n }\n // 对于动态的渲染客户端\n if (options.dynamic) {\n // 必须提供模板和模板依赖树所在地址\n if (!options.templatePath || !options.treeUrl) {\n throw new Error('setup error, you configed your client as dynanmic, so must provide tempaltePath and treeUrl');\n }\n if (!options.treeUrl.startsWith('/')) {\n throw new Error('setup error, treeUrl must be absolute path');\n }\n }\n // 将配置全部放到核心对象上\n Object.assign(core, (0,_setup_options__WEBPACK_IMPORTED_MODULE_11__.absorbSetupOptions)(options));\n // 查询参数\n const query = (0,_detect_params__WEBPACK_IMPORTED_MODULE_4__.getCachedParams)();\n const sid = query.sid;\n if (!sid && !(0,_util_core_proxy__WEBPACK_IMPORTED_MODULE_0__.getEnv)().dev.realtime) {\n throw new Error('setup error, must provide sid');\n }\n // 一些自行推导的属性,不再由外面传入\n core.sid = sid;\n core.realTimePreview = (0,_util_core_proxy__WEBPACK_IMPORTED_MODULE_0__.getEnv)().dev.realtime;\n // 启动模式\n const type = query.type;\n // 以下几种场合归为预览模式\n core.preview =\n core.realTimePreview || // 实时预览主题\n core.sid.length > 30 || // 问卷id用的是长uuid,代表是完成预览\n type === \"edit_template\" /* APP_RUN_TYPE.EDIT_TEMPLATE */ || // 编辑模板预览\n type === \"preview_template\" /* APP_RUN_TYPE.PREVIEW_TEMPLATE */; // 查看模板预览\n // 当时预览模式的时候\n if (core.preview) {\n // 如果没有指定禁用预览标记横幅的场合,我们都要显示预览标记横幅\n core.needPreviewFlag = query.ban_preview_bar !== '1';\n }\n else {\n core.offlineTaskId = query.offline_task_id;\n }\n const originSetTheme = core.setTheme;\n core.setTheme = (theme) => {\n originSetTheme(theme);\n core.themeUpdated = true;\n _flow_event_hub__WEBPACK_IMPORTED_MODULE_5__.eventHub.trigger(\"SET_PROPS\" /* EVENT_NAME.SET_PROPS */);\n };\n // 合并自定义的翻译资源\n (0,_i18n__WEBPACK_IMPORTED_MODULE_6__.mergeLangSrcMap)(core.langSrcMap);\n // 配置的自定义中断处理方法\n const originCustomAbort = core.customAbort;\n core.customAbort = () => {\n if (originCustomAbort) {\n originCustomAbort();\n }\n // 抑制接下来的消息\n core.notifySuspended = true;\n // 稍后恢复消息\n setTimeout(() => {\n core.notifySuspended = false;\n }, 1000);\n throw new Error('custom_abort');\n };\n // 原始的错误处理方法\n const originError = core.error;\n // 我们重写错误方法并附加一些行为\n core.error = (message) => {\n // 基本信息的还没拿到就出错了\n if (!core.startState && !core.rewardState) {\n // 赶紧设置个默认主题\n core.setTheme((0,_theme__WEBPACK_IMPORTED_MODULE_7__.getDefaultTheme)());\n }\n originError(message);\n // 标记出错了\n core.crashed = true;\n };\n // 原始的消息处理方法\n const originNotify = core.notify;\n // 我们重写错误方法并附加一些行为\n core.notify = (message) => {\n if (core.notifySuspended) {\n return;\n }\n // 基本信息的还没拿到就出提示消息了\n if (!core.startState && !core.rewardState) {\n // 赶紧设置个默认主题\n core.setTheme((0,_theme__WEBPACK_IMPORTED_MODULE_7__.getDefaultTheme)());\n }\n originNotify(message);\n };\n // 调试用传该cdn地址\n if ((0,_util_core_proxy__WEBPACK_IMPORTED_MODULE_0__.getEnv)().dev.debug) {\n core.hostConfig.host = 'https://osapi.choiceform.com';\n core.hostConfig.cdnHost = 'https://media.choiceform.com/os-client-live';\n core.hostConfig.mediaHost = 'https://media.choiceform.com';\n }\n // 离线模式下篡改cdn地址\n if (query.offline_survey_id) {\n core.hostConfig.cdnHost = (0,_network_offline__WEBPACK_IMPORTED_MODULE_14__.tryParseToLocalUrl)(core.hostConfig.cdnHost);\n core.hostConfig.mediaHost = (0,_network_offline__WEBPACK_IMPORTED_MODULE_14__.tryParseToLocalUrl)(core.hostConfig.mediaHost);\n }\n core.hostConfig.qApiHost = core.hostConfig.host + '/q/v1';\n await (0,_util_core_proxy__WEBPACK_IMPORTED_MODULE_0__.getEnv)().hook.beforeSetupEnd(core);\n (0,_util_core_proxy__WEBPACK_IMPORTED_MODULE_0__.initializeCore)(core);\n core.initialized = true;\n await (0,_util_core_proxy__WEBPACK_IMPORTED_MODULE_0__.getEnv)().hook.afterSetup(core);\n await (0,_util_core_proxy__WEBPACK_IMPORTED_MODULE_0__.getEnv)().hook.beforeSetupEnd(core);\n const locale = await (0,_util_i18n__WEBPACK_IMPORTED_MODULE_17__.getPreferLocale)(_choiceform_os_cfpd__WEBPACK_IMPORTED_MODULE_21__[\"default\"].langTable, \"zh_cn\" /* LANG_LOCALE.ZH_CN */);\n (0,_i18n__WEBPACK_IMPORTED_MODULE_6__.setLocale)(locale);\n return core;\n },\n async fetchStartState() {\n insure();\n const startState = await (0,_flow_start_state__WEBPACK_IMPORTED_MODULE_1__.fetchStartState)();\n if (startState) {\n startState.core = core;\n core.startState = startState;\n (0,_util_core_proxy__WEBPACK_IMPORTED_MODULE_0__.getEnv)().hook.onTitleChange(startState.title);\n _flow_event_hub__WEBPACK_IMPORTED_MODULE_5__.eventHub.trigger(\"SET_PROPS\" /* EVENT_NAME.SET_PROPS */);\n }\n return startState;\n },\n async fetchSurveyState() {\n insure();\n if (core.startState) {\n (0,_flow_prev_next__WEBPACK_IMPORTED_MODULE_13__.markNextLoading)(core.startState, true);\n }\n const surveyState = await (0,_flow_survey_state__WEBPACK_IMPORTED_MODULE_2__.fetchSurveyState)();\n if (surveyState) {\n surveyState.core = core;\n core.surveyState = surveyState;\n (0,_flow_prev_next__WEBPACK_IMPORTED_MODULE_13__.markNextLoading)(core.startState, false);\n (0,_util_core_proxy__WEBPACK_IMPORTED_MODULE_0__.getEnv)().hook.onTitleChange(surveyState.title);\n _flow_event_hub__WEBPACK_IMPORTED_MODULE_5__.eventHub.trigger(\"SET_PROPS\" /* EVENT_NAME.SET_PROPS */);\n }\n return surveyState;\n },\n async fetchRewardState() {\n insure();\n const rewardState = await (0,_flow_reward_state__WEBPACK_IMPORTED_MODULE_3__.fetchRewardState)();\n if (rewardState) {\n rewardState.core = core;\n core.rewardState = rewardState;\n (0,_util_core_proxy__WEBPACK_IMPORTED_MODULE_0__.getEnv)().hook.onTitleChange(rewardState.quesTitle);\n _flow_event_hub__WEBPACK_IMPORTED_MODULE_5__.eventHub.trigger(\"SET_PROPS\" /* EVENT_NAME.SET_PROPS */);\n }\n return rewardState;\n },\n reset() {\n // 重置内存中的数据\n core.offlineTaskId = '';\n core.initialized = false;\n (0,_flow_start_state__WEBPACK_IMPORTED_MODULE_1__.resetStartState)();\n core.startState = null;\n core.surveyState = null;\n (0,_flow_reward_state__WEBPACK_IMPORTED_MODULE_3__.resetRewardState)();\n core.rewardState = null;\n (0,_detect_params__WEBPACK_IMPORTED_MODULE_4__.resetCachedParams)();\n (0,_flow_submit_result__WEBPACK_IMPORTED_MODULE_9__.resetSubmit)();\n (0,_resume_holder__WEBPACK_IMPORTED_MODULE_12__.resetResumeDataInMemory)();\n },\n};\nconst I18n = {\n mergeLangSrcMap: _i18n__WEBPACK_IMPORTED_MODULE_6__.mergeLangSrcMap,\n getLangSrcMap: _i18n__WEBPACK_IMPORTED_MODULE_6__.getLangSrcMap,\n};\n\n\n\n\n//# sourceURL=webpack://@choiceform/os-client-core/./src/core/index.ts?");
|
|
808
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Core\": () => (/* binding */ core),\n/* harmony export */ \"EventHub\": () => (/* reexport safe */ _flow_event_hub__WEBPACK_IMPORTED_MODULE_5__.eventHub),\n/* harmony export */ \"I18n\": () => (/* binding */ I18n)\n/* harmony export */ });\n/* harmony import */ var _util_core_proxy__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./util/core-proxy */ \"./src/core/util/core-proxy.ts\");\n/* harmony import */ var _flow_start_state__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./flow/start-state */ \"./src/core/flow/start-state.ts\");\n/* harmony import */ var _flow_survey_state__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./flow/survey-state */ \"./src/core/flow/survey-state.ts\");\n/* harmony import */ var _flow_reward_state__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./flow/reward-state */ \"./src/core/flow/reward-state.ts\");\n/* harmony import */ var _detect_params__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./detect/params */ \"./src/core/detect/params.ts\");\n/* harmony import */ var _flow_event_hub__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./flow/event-hub */ \"./src/core/flow/event-hub.ts\");\n/* harmony import */ var _i18n__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../i18n */ \"./i18n/index.ts\");\n/* harmony import */ var _theme__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./theme */ \"./src/core/theme/index.ts\");\n/* harmony import */ var _env_options__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./env-options */ \"./src/core/env-options.ts\");\n/* harmony import */ var _flow_submit_result__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./flow/submit-result */ \"./src/core/flow/submit-result.ts\");\n/* harmony import */ var _variable_explicit__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./variable/explicit */ \"./src/core/variable/explicit.ts\");\n/* harmony import */ var _setup_options__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./setup-options */ \"./src/core/setup-options.ts\");\n/* harmony import */ var _resume_holder__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./resume/holder */ \"./src/core/resume/holder.ts\");\n/* harmony import */ var _flow_prev_next__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./flow/prev-next */ \"./src/core/flow/prev-next.ts\");\n/* harmony import */ var _network_offline__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./network/offline */ \"./src/core/network/offline.ts\");\n/* harmony import */ var _answer_task__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./answer/task */ \"./src/core/answer/task.ts\");\n/* harmony import */ var _answer_collector__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./answer/collector */ \"./src/core/answer/collector.ts\");\n/* harmony import */ var _util_i18n__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./util/i18n */ \"./src/core/util/i18n.ts\");\n/* harmony import */ var _question_basic__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./question/basic */ \"./src/core/question/basic.ts\");\n/* harmony import */ var _option_reformer__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./option/reformer */ \"./src/core/option/reformer/index.ts\");\n/* harmony import */ var _loader_fake_server__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./loader/fake-server */ \"./src/core/loader/fake-server.ts\");\n/* harmony import */ var _choiceform_os_cfpd__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! @choiceform/os-cfpd */ \"./node_modules/.pnpm/@choiceform+os-cfpd@3.2.9/node_modules/@choiceform/os-cfpd/dist/index.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/**\n * 本模块是构建时程序的入口,\n * 在编程的时候,本模块不能导出任何内容\n * 防止在编程过程中通过快速导入被其他模块依赖,造成不可知的错误\n *\n * 但是以程序为入口构建出去的包是要导出内容的\n * 所以构建的时候会通过构建程序将一些导出内容附加到从本文件读取的内容之后\n * 在以修改后的内容作为构建入口内容,从而达到构建后的包中有导出内容的效果\n * 这些内容是给依赖此包的程序使用的.\n */\n/**\n * 确保核心已经初始化好了\n */\nfunction insure() {\n if (!core.initialized) {\n throw new Error('CCCore not yet initialized');\n }\n}\n/**\n * 核心对象\n */\nconst core = {\n releaseVersion: '3.6.37',\n releaseDate: '2023-6-1',\n eventHub: _flow_event_hub__WEBPACK_IMPORTED_MODULE_5__.eventHub,\n notifySuspended: false,\n theme: (0,_theme__WEBPACK_IMPORTED_MODULE_7__.getDefaultTheme)(),\n util: {\n convertVarStyle: _variable_explicit__WEBPACK_IMPORTED_MODULE_10__.convertVarStyle,\n getTaskInfo: _answer_task__WEBPACK_IMPORTED_MODULE_15__.getTaskInfo,\n getAnswer: _answer_collector__WEBPACK_IMPORTED_MODULE_16__.collectOneAnswer,\n addStartStateDynamics(state) {\n (0,_flow_start_state__WEBPACK_IMPORTED_MODULE_1__.addStartStateDynamics)(state);\n },\n addSurveyStateDynamics(state) {\n (0,_flow_survey_state__WEBPACK_IMPORTED_MODULE_2__.addSurveyStateDynamics)(state);\n },\n addNodeDynamics(node) {\n (0,_question_basic__WEBPACK_IMPORTED_MODULE_18__.updateDynamicQuestionProps)(node);\n },\n addOptionDynamics(option) {\n (0,_option_reformer__WEBPACK_IMPORTED_MODULE_19__.addOptionDynamics)(option);\n },\n extendImageListGetter(imageList) {\n (0,_variable_explicit__WEBPACK_IMPORTED_MODULE_10__.extendImageListGetter)(imageList);\n },\n loadFakeServers(startState) {\n return (0,_loader_fake_server__WEBPACK_IMPORTED_MODULE_20__.loadFakeServers)(startState, false);\n },\n },\n registerEnv(options) {\n const env = (0,_env_options__WEBPACK_IMPORTED_MODULE_8__.absorbEnvOptions)(options);\n (0,_util_core_proxy__WEBPACK_IMPORTED_MODULE_0__.initializeEnv)(env);\n core.env = env;\n },\n async setup(options) {\n // 已经启动过了,跳过\n if (core.initialized) {\n return core;\n }\n // 对于动态的渲染客户端\n if (options.dynamic) {\n // 必须提供模板和模板依赖树所在地址\n if (!options.templatePath || !options.treeUrl) {\n throw new Error('setup error, you configed your client as dynanmic, so must provide tempaltePath and treeUrl');\n }\n if (!options.treeUrl.startsWith('/')) {\n throw new Error('setup error, treeUrl must be absolute path');\n }\n }\n // 将配置全部放到核心对象上\n Object.assign(core, (0,_setup_options__WEBPACK_IMPORTED_MODULE_11__.absorbSetupOptions)(options));\n // 查询参数\n const query = (0,_detect_params__WEBPACK_IMPORTED_MODULE_4__.getCachedParams)();\n const sid = query.sid;\n if (!sid && !(0,_util_core_proxy__WEBPACK_IMPORTED_MODULE_0__.getEnv)().dev.realtime) {\n throw new Error('setup error, must provide sid');\n }\n // 一些自行推导的属性,不再由外面传入\n core.sid = sid;\n core.realTimePreview = (0,_util_core_proxy__WEBPACK_IMPORTED_MODULE_0__.getEnv)().dev.realtime;\n // 启动模式\n const type = query.type;\n // 以下几种场合归为预览模式\n core.preview =\n core.realTimePreview || // 实时预览主题\n core.sid.length > 30 || // 问卷id用的是长uuid,代表是完成预览\n type === \"edit_template\" /* APP_RUN_TYPE.EDIT_TEMPLATE */ || // 编辑模板预览\n type === \"preview_template\" /* APP_RUN_TYPE.PREVIEW_TEMPLATE */; // 查看模板预览\n // 当时预览模式的时候\n if (core.preview) {\n // 如果没有指定禁用预览标记横幅的场合,我们都要显示预览标记横幅\n core.needPreviewFlag = query.ban_preview_bar !== '1';\n }\n else {\n core.offlineTaskId = query.offline_task_id;\n }\n const originSetTheme = core.setTheme;\n core.setTheme = (theme) => {\n originSetTheme(theme);\n core.themeUpdated = true;\n _flow_event_hub__WEBPACK_IMPORTED_MODULE_5__.eventHub.trigger(\"SET_PROPS\" /* EVENT_NAME.SET_PROPS */);\n };\n // 合并自定义的翻译资源\n (0,_i18n__WEBPACK_IMPORTED_MODULE_6__.mergeLangSrcMap)(core.langSrcMap);\n // 配置的自定义中断处理方法\n const originCustomAbort = core.customAbort;\n core.customAbort = () => {\n if (originCustomAbort) {\n originCustomAbort();\n }\n // 抑制接下来的消息\n core.notifySuspended = true;\n // 稍后恢复消息\n setTimeout(() => {\n core.notifySuspended = false;\n }, 1000);\n throw new Error('custom_abort');\n };\n // 原始的错误处理方法\n const originError = core.error;\n // 我们重写错误方法并附加一些行为\n core.error = (message) => {\n // 基本信息的还没拿到就出错了\n if (!core.startState && !core.rewardState) {\n // 赶紧设置个默认主题\n core.setTheme((0,_theme__WEBPACK_IMPORTED_MODULE_7__.getDefaultTheme)());\n }\n originError(message);\n // 标记出错了\n core.crashed = true;\n };\n // 原始的消息处理方法\n const originNotify = core.notify;\n // 我们重写错误方法并附加一些行为\n core.notify = (message) => {\n if (core.notifySuspended) {\n return;\n }\n // 基本信息的还没拿到就出提示消息了\n if (!core.startState && !core.rewardState) {\n // 赶紧设置个默认主题\n core.setTheme((0,_theme__WEBPACK_IMPORTED_MODULE_7__.getDefaultTheme)());\n }\n originNotify(message);\n };\n // 调试用传该cdn地址\n if ((0,_util_core_proxy__WEBPACK_IMPORTED_MODULE_0__.getEnv)().dev.debug) {\n core.hostConfig.host = 'https://osapi.choiceform.com';\n core.hostConfig.cdnHost = 'https://media.choiceform.com/os-client-live';\n core.hostConfig.mediaHost = 'https://media.choiceform.com';\n }\n // 离线模式下篡改cdn地址\n if (query.offline_survey_id) {\n core.hostConfig.cdnHost = (0,_network_offline__WEBPACK_IMPORTED_MODULE_14__.tryParseToLocalUrl)(core.hostConfig.cdnHost);\n core.hostConfig.mediaHost = (0,_network_offline__WEBPACK_IMPORTED_MODULE_14__.tryParseToLocalUrl)(core.hostConfig.mediaHost);\n }\n core.hostConfig.qApiHost = core.hostConfig.host + '/q/v1';\n await (0,_util_core_proxy__WEBPACK_IMPORTED_MODULE_0__.getEnv)().hook.beforeSetupEnd(core);\n (0,_util_core_proxy__WEBPACK_IMPORTED_MODULE_0__.initializeCore)(core);\n core.initialized = true;\n await (0,_util_core_proxy__WEBPACK_IMPORTED_MODULE_0__.getEnv)().hook.afterSetup(core);\n await (0,_util_core_proxy__WEBPACK_IMPORTED_MODULE_0__.getEnv)().hook.beforeSetupEnd(core);\n const locale = await (0,_util_i18n__WEBPACK_IMPORTED_MODULE_17__.getPreferLocale)(_choiceform_os_cfpd__WEBPACK_IMPORTED_MODULE_21__[\"default\"].langTable, \"zh_cn\" /* LANG_LOCALE.ZH_CN */);\n (0,_i18n__WEBPACK_IMPORTED_MODULE_6__.setLocale)(locale);\n return core;\n },\n async fetchStartState() {\n insure();\n const startState = await (0,_flow_start_state__WEBPACK_IMPORTED_MODULE_1__.fetchStartState)();\n if (startState) {\n startState.core = core;\n core.startState = startState;\n (0,_util_core_proxy__WEBPACK_IMPORTED_MODULE_0__.getEnv)().hook.onTitleChange(startState.title);\n _flow_event_hub__WEBPACK_IMPORTED_MODULE_5__.eventHub.trigger(\"SET_PROPS\" /* EVENT_NAME.SET_PROPS */);\n }\n return startState;\n },\n async fetchSurveyState() {\n insure();\n if (core.startState) {\n (0,_flow_prev_next__WEBPACK_IMPORTED_MODULE_13__.markNextLoading)(core.startState, true);\n }\n const surveyState = await (0,_flow_survey_state__WEBPACK_IMPORTED_MODULE_2__.fetchSurveyState)();\n if (surveyState) {\n surveyState.core = core;\n core.surveyState = surveyState;\n (0,_flow_prev_next__WEBPACK_IMPORTED_MODULE_13__.markNextLoading)(core.startState, false);\n (0,_util_core_proxy__WEBPACK_IMPORTED_MODULE_0__.getEnv)().hook.onTitleChange(surveyState.title);\n _flow_event_hub__WEBPACK_IMPORTED_MODULE_5__.eventHub.trigger(\"SET_PROPS\" /* EVENT_NAME.SET_PROPS */);\n }\n return surveyState;\n },\n async fetchRewardState() {\n insure();\n const rewardState = await (0,_flow_reward_state__WEBPACK_IMPORTED_MODULE_3__.fetchRewardState)();\n if (rewardState) {\n rewardState.core = core;\n core.rewardState = rewardState;\n (0,_util_core_proxy__WEBPACK_IMPORTED_MODULE_0__.getEnv)().hook.onTitleChange(rewardState.quesTitle);\n _flow_event_hub__WEBPACK_IMPORTED_MODULE_5__.eventHub.trigger(\"SET_PROPS\" /* EVENT_NAME.SET_PROPS */);\n }\n return rewardState;\n },\n reset() {\n // 重置内存中的数据\n core.offlineTaskId = '';\n core.initialized = false;\n (0,_flow_start_state__WEBPACK_IMPORTED_MODULE_1__.resetStartState)();\n core.startState = null;\n core.surveyState = null;\n (0,_flow_reward_state__WEBPACK_IMPORTED_MODULE_3__.resetRewardState)();\n core.rewardState = null;\n (0,_detect_params__WEBPACK_IMPORTED_MODULE_4__.resetCachedParams)();\n (0,_flow_submit_result__WEBPACK_IMPORTED_MODULE_9__.resetSubmit)();\n (0,_resume_holder__WEBPACK_IMPORTED_MODULE_12__.resetResumeDataInMemory)();\n },\n};\nconst I18n = {\n mergeLangSrcMap: _i18n__WEBPACK_IMPORTED_MODULE_6__.mergeLangSrcMap,\n getLangSrcMap: _i18n__WEBPACK_IMPORTED_MODULE_6__.getLangSrcMap,\n};\n\n\n\n\n//# sourceURL=webpack://@choiceform/os-client-core/./src/core/index.ts?");
|
|
809
809
|
|
|
810
810
|
/***/ }),
|
|
811
811
|
|
|
@@ -2571,7 +2571,7 @@ eval("var logLevel = \"info\";\n\nfunction dummy() {}\n\nfunction shouldLog(leve
|
|
|
2571
2571
|
/******/
|
|
2572
2572
|
/******/ /* webpack/runtime/getFullHash */
|
|
2573
2573
|
/******/ (() => {
|
|
2574
|
-
/******/ __webpack_require__.h = () => ("
|
|
2574
|
+
/******/ __webpack_require__.h = () => ("5a8cc4484d9c8f26124f")
|
|
2575
2575
|
/******/ })();
|
|
2576
2576
|
/******/
|
|
2577
2577
|
/******/ /* webpack/runtime/global */
|