first commit
This commit is contained in:
Vendored
+362
@@ -0,0 +1,362 @@
|
||||
"use strict";
|
||||
(wx["webpackJsonp"] = wx["webpackJsonp"] || []).push([["pages/wordcloud/index"],{
|
||||
|
||||
/***/ "./node_modules/@tarojs/taro-loader/lib/entry-cache.js?name=pages/wordcloud/index!./src/pages/wordcloud/index.tsx":
|
||||
/*!************************************************************************************************************************!*\
|
||||
!*** ./node_modules/@tarojs/taro-loader/lib/entry-cache.js?name=pages/wordcloud/index!./src/pages/wordcloud/index.tsx ***!
|
||||
\************************************************************************************************************************/
|
||||
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
||||
|
||||
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
||||
/* harmony export */ "default": function() { return /* binding */ WordCloudPage; }
|
||||
/* harmony export */ });
|
||||
/* harmony import */ var F_weixin_wordc_node_modules_babel_runtime_helpers_esm_slicedToArray_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/esm/slicedToArray.js */ "./node_modules/@babel/runtime/helpers/esm/slicedToArray.js");
|
||||
/* harmony import */ var _tarojs_components__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @tarojs/components */ "./node_modules/@tarojs/plugin-platform-weapp/dist/components-react.js");
|
||||
/* harmony import */ var _tarojs_taro__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tarojs/taro */ "./node_modules/@tarojs/taro/index.js");
|
||||
/* harmony import */ var _tarojs_taro__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_tarojs_taro__WEBPACK_IMPORTED_MODULE_0__);
|
||||
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ "./node_modules/react/cjs/react.production.min.js");
|
||||
/* harmony import */ var _components_ThemeToggle__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../components/ThemeToggle */ "./src/components/ThemeToggle/index.tsx");
|
||||
/* harmony import */ var _context_ThemeContext__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../context/ThemeContext */ "./src/context/ThemeContext.tsx");
|
||||
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react/jsx-runtime */ "./node_modules/react/cjs/react-jsx-runtime.production.min.js");
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
function WordCloudPage() {
|
||||
var _useThemeContext = (0,_context_ThemeContext__WEBPACK_IMPORTED_MODULE_3__.useThemeContext)(),
|
||||
theme = _useThemeContext.theme;
|
||||
var _useState = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(1),
|
||||
_useState2 = (0,F_weixin_wordc_node_modules_babel_runtime_helpers_esm_slicedToArray_js__WEBPACK_IMPORTED_MODULE_5__["default"])(_useState, 2),
|
||||
step = _useState2[0],
|
||||
setStep = _useState2[1];
|
||||
var _useState3 = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(''),
|
||||
_useState4 = (0,F_weixin_wordc_node_modules_babel_runtime_helpers_esm_slicedToArray_js__WEBPACK_IMPORTED_MODULE_5__["default"])(_useState3, 2),
|
||||
baseImage = _useState4[0],
|
||||
setBaseImage = _useState4[1];
|
||||
var _useState5 = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(''),
|
||||
_useState6 = (0,F_weixin_wordc_node_modules_babel_runtime_helpers_esm_slicedToArray_js__WEBPACK_IMPORTED_MODULE_5__["default"])(_useState5, 2),
|
||||
namesText = _useState6[0],
|
||||
setNamesText = _useState6[1];
|
||||
var _useState7 = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(''),
|
||||
_useState8 = (0,F_weixin_wordc_node_modules_babel_runtime_helpers_esm_slicedToArray_js__WEBPACK_IMPORTED_MODULE_5__["default"])(_useState7, 2),
|
||||
generatedImage = _useState8[0],
|
||||
setGeneratedImage = _useState8[1];
|
||||
var _useState9 = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false),
|
||||
_useState0 = (0,F_weixin_wordc_node_modules_babel_runtime_helpers_esm_slicedToArray_js__WEBPACK_IMPORTED_MODULE_5__["default"])(_useState9, 2),
|
||||
isGenerating = _useState0[0],
|
||||
setIsGenerating = _useState0[1];
|
||||
var _useState1 = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(0),
|
||||
_useState10 = (0,F_weixin_wordc_node_modules_babel_runtime_helpers_esm_slicedToArray_js__WEBPACK_IMPORTED_MODULE_5__["default"])(_useState1, 2),
|
||||
progress = _useState10[0],
|
||||
setProgress = _useState10[1];
|
||||
var steps = [{
|
||||
num: 1,
|
||||
label: '上传底图'
|
||||
}, {
|
||||
num: 2,
|
||||
label: '输入名单'
|
||||
}, {
|
||||
num: 3,
|
||||
label: '生成预览'
|
||||
}];
|
||||
var chooseImage = function chooseImage() {
|
||||
_tarojs_taro__WEBPACK_IMPORTED_MODULE_0___default().chooseImage({
|
||||
count: 1,
|
||||
sizeType: ['compressed'],
|
||||
sourceType: ['album', 'camera'],
|
||||
success: function success(res) {
|
||||
setBaseImage(res.tempFilePaths[0]);
|
||||
setStep(2);
|
||||
}
|
||||
});
|
||||
};
|
||||
var handleGenerate = function handleGenerate() {
|
||||
if (!namesText.trim()) {
|
||||
_tarojs_taro__WEBPACK_IMPORTED_MODULE_0___default().showToast({
|
||||
title: '请先输入名字',
|
||||
icon: 'none'
|
||||
});
|
||||
return;
|
||||
}
|
||||
setStep(3);
|
||||
setIsGenerating(true);
|
||||
setProgress(0);
|
||||
var timer = setInterval(function () {
|
||||
setProgress(function (prev) {
|
||||
if (prev >= 100) {
|
||||
clearInterval(timer);
|
||||
setIsGenerating(false);
|
||||
setGeneratedImage(baseImage);
|
||||
return 100;
|
||||
}
|
||||
return prev + Math.random() * 15;
|
||||
});
|
||||
}, 1000);
|
||||
};
|
||||
var handleExportImage = function handleExportImage() {
|
||||
if (!generatedImage) return;
|
||||
_tarojs_taro__WEBPACK_IMPORTED_MODULE_0___default().saveImageToPhotosAlbum({
|
||||
filePath: generatedImage,
|
||||
success: function success() {
|
||||
return _tarojs_taro__WEBPACK_IMPORTED_MODULE_0___default().showToast({
|
||||
title: '已保存到相册',
|
||||
icon: 'success'
|
||||
});
|
||||
},
|
||||
fail: function fail() {
|
||||
return _tarojs_taro__WEBPACK_IMPORTED_MODULE_0___default().showToast({
|
||||
title: '保存失败',
|
||||
icon: 'none'
|
||||
});
|
||||
}
|
||||
});
|
||||
};
|
||||
var goBack = function goBack() {
|
||||
if (step > 1) setStep(step - 1);else _tarojs_taro__WEBPACK_IMPORTED_MODULE_0___default().navigateBack();
|
||||
};
|
||||
return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(_tarojs_components__WEBPACK_IMPORTED_MODULE_6__.View, {
|
||||
className: "theme-".concat(theme),
|
||||
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsxs)(_tarojs_components__WEBPACK_IMPORTED_MODULE_6__.View, {
|
||||
className: "wordcloud-page",
|
||||
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(_components_ThemeToggle__WEBPACK_IMPORTED_MODULE_2__["default"], {}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsxs)(_tarojs_components__WEBPACK_IMPORTED_MODULE_6__.View, {
|
||||
className: "page-header flex-between",
|
||||
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(_tarojs_components__WEBPACK_IMPORTED_MODULE_6__.Text, {
|
||||
className: "back-btn",
|
||||
onClick: goBack,
|
||||
children: "\u2190"
|
||||
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(_tarojs_components__WEBPACK_IMPORTED_MODULE_6__.Text, {
|
||||
className: "page-title",
|
||||
children: "AI\u8BCD\u4E91\u751F\u6210"
|
||||
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(_tarojs_components__WEBPACK_IMPORTED_MODULE_6__.View, {
|
||||
style: {
|
||||
width: '60px'
|
||||
}
|
||||
})]
|
||||
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(_tarojs_components__WEBPACK_IMPORTED_MODULE_6__.View, {
|
||||
className: "step-indicator dashed-card",
|
||||
children: steps.map(function (s, idx) {
|
||||
return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsxs)(_tarojs_components__WEBPACK_IMPORTED_MODULE_6__.View, {
|
||||
className: "step-item",
|
||||
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(_tarojs_components__WEBPACK_IMPORTED_MODULE_6__.View, {
|
||||
className: "step-circle ".concat(step >= s.num ? 'active' : ''),
|
||||
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(_tarojs_components__WEBPACK_IMPORTED_MODULE_6__.Text, {
|
||||
className: "step-num",
|
||||
children: s.num
|
||||
})
|
||||
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(_tarojs_components__WEBPACK_IMPORTED_MODULE_6__.Text, {
|
||||
className: "step-label ".concat(step >= s.num ? 'active' : ''),
|
||||
children: s.label
|
||||
}), idx < steps.length - 1 && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(_tarojs_components__WEBPACK_IMPORTED_MODULE_6__.View, {
|
||||
className: "step-line ".concat(step > s.num ? 'active' : '')
|
||||
})]
|
||||
}, s.num);
|
||||
})
|
||||
}), step === 1 && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsxs)(_tarojs_components__WEBPACK_IMPORTED_MODULE_6__.View, {
|
||||
className: "step-content",
|
||||
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(_tarojs_components__WEBPACK_IMPORTED_MODULE_6__.View, {
|
||||
className: "upload-area dashed-card",
|
||||
onClick: chooseImage,
|
||||
children: baseImage ? /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(_tarojs_components__WEBPACK_IMPORTED_MODULE_6__.Image, {
|
||||
className: "preview-image",
|
||||
src: baseImage,
|
||||
mode: "aspectFit"
|
||||
}) : /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsxs)(_tarojs_components__WEBPACK_IMPORTED_MODULE_6__.View, {
|
||||
className: "upload-placeholder",
|
||||
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(_tarojs_components__WEBPACK_IMPORTED_MODULE_6__.Text, {
|
||||
className: "upload-icon",
|
||||
children: "\uD83D\uDCF7"
|
||||
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(_tarojs_components__WEBPACK_IMPORTED_MODULE_6__.Text, {
|
||||
className: "upload-title",
|
||||
children: "\u70B9\u51FB\u4E0A\u4F20\u5E95\u56FE"
|
||||
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(_tarojs_components__WEBPACK_IMPORTED_MODULE_6__.Text, {
|
||||
className: "upload-desc",
|
||||
children: "\u652F\u6301\u7167\u7247\u3001Logo\u3001\u56FE\u6848\u7B49"
|
||||
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(_tarojs_components__WEBPACK_IMPORTED_MODULE_6__.Text, {
|
||||
className: "upload-tip",
|
||||
children: "\u7CFB\u7EDF\u5C06\u7528\u540D\u5B57\u586B\u5145\u5230\u6DF1\u8272\u533A\u57DF"
|
||||
})]
|
||||
})
|
||||
}), baseImage && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsxs)(_tarojs_components__WEBPACK_IMPORTED_MODULE_6__.View, {
|
||||
className: "action-btns",
|
||||
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(_tarojs_components__WEBPACK_IMPORTED_MODULE_6__.View, {
|
||||
className: "btn-gradient",
|
||||
onClick: function onClick() {
|
||||
return setStep(2);
|
||||
},
|
||||
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(_tarojs_components__WEBPACK_IMPORTED_MODULE_6__.Text, {
|
||||
children: "\u4E0B\u4E00\u6B65\uFF1A\u8F93\u5165\u540D\u5355"
|
||||
})
|
||||
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(_tarojs_components__WEBPACK_IMPORTED_MODULE_6__.View, {
|
||||
className: "btn-outline",
|
||||
onClick: function onClick() {
|
||||
return setBaseImage('');
|
||||
},
|
||||
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(_tarojs_components__WEBPACK_IMPORTED_MODULE_6__.Text, {
|
||||
children: "\u91CD\u65B0\u9009\u62E9"
|
||||
})
|
||||
})]
|
||||
})]
|
||||
}), step === 2 && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsxs)(_tarojs_components__WEBPACK_IMPORTED_MODULE_6__.View, {
|
||||
className: "step-content",
|
||||
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsxs)(_tarojs_components__WEBPACK_IMPORTED_MODULE_6__.View, {
|
||||
className: "input-section dashed-card",
|
||||
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(_tarojs_components__WEBPACK_IMPORTED_MODULE_6__.Text, {
|
||||
className: "section-title",
|
||||
children: "\u8F93\u5165\u540D\u5B57\u540D\u5355"
|
||||
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(_tarojs_components__WEBPACK_IMPORTED_MODULE_6__.Textarea, {
|
||||
className: "names-input",
|
||||
placeholder: "\u4F8B\u5982\uFF1A\n\u5F20\u4E09\n\u674E\u56DB\n\u738B\u4E94",
|
||||
value: namesText,
|
||||
onInput: function onInput(e) {
|
||||
return setNamesText(e.detail.value);
|
||||
},
|
||||
maxlength: 5000
|
||||
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsxs)(_tarojs_components__WEBPACK_IMPORTED_MODULE_6__.Text, {
|
||||
className: "input-stats",
|
||||
children: ["\u5DF2\u8F93\u5165 ", namesText.split(/\n|,|,/).filter(function (n) {
|
||||
return n.trim();
|
||||
}).length, " \u4E2A\u540D\u5B57"]
|
||||
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsxs)(_tarojs_components__WEBPACK_IMPORTED_MODULE_6__.View, {
|
||||
className: "input-tips",
|
||||
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(_tarojs_components__WEBPACK_IMPORTED_MODULE_6__.Text, {
|
||||
className: "tip-item",
|
||||
children: "\u540D\u5B57\u4F1A\u968F\u673A\u5206\u5E03\u5728\u5E95\u56FE\u7684\u6DF1\u8272\u533A\u57DF"
|
||||
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(_tarojs_components__WEBPACK_IMPORTED_MODULE_6__.Text, {
|
||||
className: "tip-item",
|
||||
children: "\u5EFA\u8BAE\u8F93\u516510-200\u4E2A\u540D\u5B57\u6548\u679C\u6700\u4F73"
|
||||
})]
|
||||
})]
|
||||
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsxs)(_tarojs_components__WEBPACK_IMPORTED_MODULE_6__.View, {
|
||||
className: "action-btns",
|
||||
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(_tarojs_components__WEBPACK_IMPORTED_MODULE_6__.View, {
|
||||
className: "btn-gradient",
|
||||
onClick: handleGenerate,
|
||||
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(_tarojs_components__WEBPACK_IMPORTED_MODULE_6__.Text, {
|
||||
children: "\u5F00\u59CB\u751F\u6210\u8BCD\u4E91"
|
||||
})
|
||||
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(_tarojs_components__WEBPACK_IMPORTED_MODULE_6__.View, {
|
||||
className: "btn-outline",
|
||||
onClick: function onClick() {
|
||||
return setStep(1);
|
||||
},
|
||||
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(_tarojs_components__WEBPACK_IMPORTED_MODULE_6__.Text, {
|
||||
children: "\u4E0A\u4E00\u6B65"
|
||||
})
|
||||
})]
|
||||
})]
|
||||
}), step === 3 && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(_tarojs_components__WEBPACK_IMPORTED_MODULE_6__.View, {
|
||||
className: "step-content",
|
||||
children: isGenerating ? /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsxs)(_tarojs_components__WEBPACK_IMPORTED_MODULE_6__.View, {
|
||||
className: "generating-panel",
|
||||
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(_tarojs_components__WEBPACK_IMPORTED_MODULE_6__.Text, {
|
||||
className: "generating-icon",
|
||||
children: "\u2728"
|
||||
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(_tarojs_components__WEBPACK_IMPORTED_MODULE_6__.Text, {
|
||||
className: "generating-title",
|
||||
children: "\u6B63\u5728\u751F\u6210\u8BCD\u4E91..."
|
||||
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(_tarojs_components__WEBPACK_IMPORTED_MODULE_6__.Text, {
|
||||
className: "generating-subtitle",
|
||||
children: "AI\u6B63\u5728\u5C06\u540D\u5B57\u878D\u5165\u56FE\u6848"
|
||||
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(_tarojs_components__WEBPACK_IMPORTED_MODULE_6__.View, {
|
||||
className: "progress-bar",
|
||||
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(_tarojs_components__WEBPACK_IMPORTED_MODULE_6__.View, {
|
||||
className: "progress-fill",
|
||||
style: {
|
||||
width: "".concat(Math.min(progress, 100), "%")
|
||||
}
|
||||
})
|
||||
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsxs)(_tarojs_components__WEBPACK_IMPORTED_MODULE_6__.Text, {
|
||||
className: "progress-text",
|
||||
children: [Math.min(Math.round(progress), 100), "%"]
|
||||
})]
|
||||
}) : /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsxs)(_tarojs_components__WEBPACK_IMPORTED_MODULE_6__.View, {
|
||||
className: "result-panel",
|
||||
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsxs)(_tarojs_components__WEBPACK_IMPORTED_MODULE_6__.View, {
|
||||
className: "result-image-wrapper dashed-card",
|
||||
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(_tarojs_components__WEBPACK_IMPORTED_MODULE_6__.Image, {
|
||||
className: "result-image",
|
||||
src: generatedImage || '',
|
||||
mode: "aspectFit"
|
||||
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(_tarojs_components__WEBPACK_IMPORTED_MODULE_6__.View, {
|
||||
className: "watermark-badge",
|
||||
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(_tarojs_components__WEBPACK_IMPORTED_MODULE_6__.Text, {
|
||||
children: "\u667A\u7ED8\u5FAE\u523B\u9884\u89C8"
|
||||
})
|
||||
})]
|
||||
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsxs)(_tarojs_components__WEBPACK_IMPORTED_MODULE_6__.View, {
|
||||
className: "result-actions",
|
||||
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsxs)(_tarojs_components__WEBPACK_IMPORTED_MODULE_6__.View, {
|
||||
className: "action-btn",
|
||||
onClick: handleExportImage,
|
||||
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(_tarojs_components__WEBPACK_IMPORTED_MODULE_6__.Text, {
|
||||
className: "action-icon",
|
||||
children: "\uD83D\uDCBE"
|
||||
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(_tarojs_components__WEBPACK_IMPORTED_MODULE_6__.Text, {
|
||||
className: "action-label",
|
||||
children: "\u4FDD\u5B58\u56FE\u7247"
|
||||
})]
|
||||
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsxs)(_tarojs_components__WEBPACK_IMPORTED_MODULE_6__.View, {
|
||||
className: "action-btn",
|
||||
onClick: handleGenerate,
|
||||
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(_tarojs_components__WEBPACK_IMPORTED_MODULE_6__.Text, {
|
||||
className: "action-icon",
|
||||
children: "\uD83D\uDD04"
|
||||
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(_tarojs_components__WEBPACK_IMPORTED_MODULE_6__.Text, {
|
||||
className: "action-label",
|
||||
children: "\u91CD\u65B0\u751F\u6210"
|
||||
})]
|
||||
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsxs)(_tarojs_components__WEBPACK_IMPORTED_MODULE_6__.View, {
|
||||
className: "action-btn",
|
||||
onClick: function onClick() {
|
||||
return setStep(2);
|
||||
},
|
||||
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(_tarojs_components__WEBPACK_IMPORTED_MODULE_6__.Text, {
|
||||
className: "action-icon",
|
||||
children: "\u270F\uFE0F"
|
||||
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(_tarojs_components__WEBPACK_IMPORTED_MODULE_6__.Text, {
|
||||
className: "action-label",
|
||||
children: "\u4FEE\u6539\u540D\u5355"
|
||||
})]
|
||||
})]
|
||||
})]
|
||||
})
|
||||
})]
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ "./src/pages/wordcloud/index.tsx":
|
||||
/*!***************************************!*\
|
||||
!*** ./src/pages/wordcloud/index.tsx ***!
|
||||
\***************************************/
|
||||
/***/ (function(__unused_webpack_module, __unused_webpack___webpack_exports__, __webpack_require__) {
|
||||
|
||||
/* harmony import */ var _tarojs_runtime__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @tarojs/runtime */ "./node_modules/@tarojs/runtime/dist/runtime.esm.js");
|
||||
/* harmony import */ var _node_modules_tarojs_taro_loader_lib_entry_cache_js_name_pages_wordcloud_index_index_tsx__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !!../../../node_modules/@tarojs/taro-loader/lib/entry-cache.js?name=pages/wordcloud/index!./index.tsx */ "./node_modules/@tarojs/taro-loader/lib/entry-cache.js?name=pages/wordcloud/index!./src/pages/wordcloud/index.tsx");
|
||||
|
||||
|
||||
var config = {};
|
||||
|
||||
|
||||
var inst = Page((0,_tarojs_runtime__WEBPACK_IMPORTED_MODULE_1__.createPageConfig)(_node_modules_tarojs_taro_loader_lib_entry_cache_js_name_pages_wordcloud_index_index_tsx__WEBPACK_IMPORTED_MODULE_0__["default"], 'pages/wordcloud/index', {root:{cn:[]}}, config || {}))
|
||||
|
||||
|
||||
/* unused harmony default export */ var __WEBPACK_DEFAULT_EXPORT__ = (_node_modules_tarojs_taro_loader_lib_entry_cache_js_name_pages_wordcloud_index_index_tsx__WEBPACK_IMPORTED_MODULE_0__["default"]);
|
||||
|
||||
|
||||
/***/ })
|
||||
|
||||
},
|
||||
/******/ function(__webpack_require__) { // webpackRuntimeModules
|
||||
/******/ var __webpack_exec__ = function(moduleId) { return __webpack_require__(__webpack_require__.s = moduleId); }
|
||||
/******/ __webpack_require__.O(0, ["taro","vendors","common"], function() { return __webpack_exec__("./src/pages/wordcloud/index.tsx"); });
|
||||
/******/ var __webpack_exports__ = __webpack_require__.O();
|
||||
/******/ }
|
||||
]);
|
||||
//# sourceMappingURL=index.js.map
|
||||
Vendored
+1
File diff suppressed because one or more lines are too long
Vendored
+1
@@ -0,0 +1 @@
|
||||
{"usingComponents":{"comp":"../../comp"}}
|
||||
Vendored
+2
@@ -0,0 +1,2 @@
|
||||
<import src="../../base.wxml"/>
|
||||
<template is="taro_tmpl" data="{{root:root}}" />
|
||||
Vendored
+400
@@ -0,0 +1,400 @@
|
||||
/*!******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
|
||||
!*** css ./node_modules/@tarojs/webpack5-runner/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[0].use[2]!./node_modules/resolve-url-loader/index.js!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[0].use[4]!./src/pages/wordcloud/index.scss ***!
|
||||
\******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
|
||||
@charset "UTF-8";
|
||||
.wordcloud-page {
|
||||
min-height: 100vh;
|
||||
padding: 0 24rpx 24rpx;
|
||||
}
|
||||
|
||||
/* 顶部导航 */
|
||||
.page-header {
|
||||
padding: 50rpx 32rpx 24rpx;
|
||||
margin: 20rpx 0 0;
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
.back-btn {
|
||||
font-size: 40rpx;
|
||||
color: var(--text-primary);
|
||||
padding: 10rpx;
|
||||
}
|
||||
|
||||
/* 步骤指示器 */
|
||||
.step-indicator {
|
||||
display: -webkit-flex;
|
||||
display: -ms-flexbox;
|
||||
display: flex;
|
||||
-webkit-align-items: center;
|
||||
-ms-flex-align: center;
|
||||
align-items: center;
|
||||
-webkit-justify-content: center;
|
||||
-ms-flex-pack: center;
|
||||
justify-content: center;
|
||||
padding: 32rpx;
|
||||
margin: 0 24rpx;
|
||||
}
|
||||
|
||||
.step-item {
|
||||
display: -webkit-flex;
|
||||
display: -ms-flexbox;
|
||||
display: flex;
|
||||
-webkit-flex-direction: column;
|
||||
-ms-flex-direction: column;
|
||||
flex-direction: column;
|
||||
-webkit-align-items: center;
|
||||
-ms-flex-align: center;
|
||||
align-items: center;
|
||||
position: relative;
|
||||
-webkit-flex: 1;
|
||||
-ms-flex: 1;
|
||||
flex: 1;
|
||||
}
|
||||
|
||||
.step-circle {
|
||||
width: 64rpx;
|
||||
height: 64rpx;
|
||||
border-radius: 50%;
|
||||
background: var(--bg-input);
|
||||
display: -webkit-flex;
|
||||
display: -ms-flexbox;
|
||||
display: flex;
|
||||
-webkit-align-items: center;
|
||||
-ms-flex-align: center;
|
||||
align-items: center;
|
||||
-webkit-justify-content: center;
|
||||
-ms-flex-pack: center;
|
||||
justify-content: center;
|
||||
margin-bottom: 12rpx;
|
||||
border: 4rpx dashed var(--bg-input);
|
||||
}
|
||||
|
||||
.step-circle.active {
|
||||
background: var(--btn-gradient);
|
||||
border-color: var(--accent-pink);
|
||||
}
|
||||
|
||||
.step-num {
|
||||
font-size: 28rpx;
|
||||
font-weight: 700;
|
||||
color: var(--text-muted);
|
||||
}
|
||||
|
||||
.step-circle.active .step-num {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.step-label {
|
||||
font-size: 24rpx;
|
||||
color: var(--text-secondary);
|
||||
}
|
||||
|
||||
.step-label.active {
|
||||
color: var(--accent-pink);
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
.step-line {
|
||||
position: absolute;
|
||||
top: 30rpx;
|
||||
left: 60%;
|
||||
width: 100%;
|
||||
height: 4rpx;
|
||||
background: var(--bg-input);
|
||||
}
|
||||
|
||||
.step-line.active {
|
||||
background: var(--btn-gradient);
|
||||
}
|
||||
|
||||
/* 步骤内容 */
|
||||
.step-content {
|
||||
padding: 32rpx;
|
||||
}
|
||||
|
||||
/* 上传区域 */
|
||||
.upload-area {
|
||||
min-height: 400rpx;
|
||||
display: -webkit-flex;
|
||||
display: -ms-flexbox;
|
||||
display: flex;
|
||||
-webkit-align-items: center;
|
||||
-ms-flex-align: center;
|
||||
align-items: center;
|
||||
-webkit-justify-content: center;
|
||||
-ms-flex-pack: center;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.upload-placeholder {
|
||||
display: -webkit-flex;
|
||||
display: -ms-flexbox;
|
||||
display: flex;
|
||||
-webkit-flex-direction: column;
|
||||
-ms-flex-direction: column;
|
||||
flex-direction: column;
|
||||
-webkit-align-items: center;
|
||||
-ms-flex-align: center;
|
||||
align-items: center;
|
||||
padding: 60rpx;
|
||||
}
|
||||
|
||||
.upload-icon {
|
||||
font-size: 80rpx;
|
||||
margin-bottom: 24rpx;
|
||||
}
|
||||
|
||||
.upload-title {
|
||||
font-size: 32rpx;
|
||||
font-weight: 600;
|
||||
color: var(--text-primary);
|
||||
margin-bottom: 12rpx;
|
||||
}
|
||||
|
||||
.upload-desc {
|
||||
font-size: 26rpx;
|
||||
color: var(--text-secondary);
|
||||
margin-bottom: 16rpx;
|
||||
}
|
||||
|
||||
.upload-tip {
|
||||
font-size: 22rpx;
|
||||
color: var(--accent-blue);
|
||||
background: rgba(91, 140, 255, 0.1);
|
||||
padding: 8rpx 20rpx;
|
||||
border-radius: 50rpx;
|
||||
border: var(--line-card);
|
||||
}
|
||||
|
||||
.preview-image {
|
||||
width: 100%;
|
||||
height: 400rpx;
|
||||
border-radius: 24rpx;
|
||||
}
|
||||
|
||||
/* 按钮 */
|
||||
.action-btns {
|
||||
display: -webkit-flex;
|
||||
display: -ms-flexbox;
|
||||
display: flex;
|
||||
-webkit-flex-direction: column;
|
||||
-ms-flex-direction: column;
|
||||
flex-direction: column;
|
||||
gap: 20rpx;
|
||||
margin-top: 40rpx;
|
||||
}
|
||||
|
||||
/* 输入区域 */
|
||||
.input-section {
|
||||
padding: 32rpx;
|
||||
}
|
||||
|
||||
.names-input {
|
||||
width: 100%;
|
||||
min-height: 300rpx;
|
||||
background: var(--bg-input);
|
||||
border-radius: 16rpx;
|
||||
padding: 24rpx;
|
||||
font-size: 28rpx;
|
||||
line-height: 1.6;
|
||||
-webkit-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
border: var(--line-card);
|
||||
color: var(--text-primary);
|
||||
}
|
||||
|
||||
.input-stats {
|
||||
display: block;
|
||||
text-align: right;
|
||||
font-size: 24rpx;
|
||||
color: var(--text-secondary);
|
||||
margin-top: 12rpx;
|
||||
}
|
||||
|
||||
.input-tips {
|
||||
margin-top: 24rpx;
|
||||
}
|
||||
|
||||
.tip-item {
|
||||
display: block;
|
||||
font-size: 24rpx;
|
||||
color: var(--text-secondary);
|
||||
margin-bottom: 8rpx;
|
||||
}
|
||||
|
||||
/* 生成中 */
|
||||
.generating-panel {
|
||||
display: -webkit-flex;
|
||||
display: -ms-flexbox;
|
||||
display: flex;
|
||||
-webkit-flex-direction: column;
|
||||
-ms-flex-direction: column;
|
||||
flex-direction: column;
|
||||
-webkit-align-items: center;
|
||||
-ms-flex-align: center;
|
||||
align-items: center;
|
||||
padding: 80rpx 40rpx;
|
||||
}
|
||||
|
||||
.generating-icon {
|
||||
font-size: 120rpx;
|
||||
-webkit-animation: pulse 2s infinite;
|
||||
animation: pulse 2s infinite;
|
||||
}
|
||||
|
||||
@-webkit-keyframes pulse {
|
||||
0%, 100% {
|
||||
-webkit-transform: scale(1);
|
||||
transform: scale(1);
|
||||
opacity: 1;
|
||||
}
|
||||
50% {
|
||||
-webkit-transform: scale(1.2);
|
||||
transform: scale(1.2);
|
||||
opacity: 0.7;
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes pulse {
|
||||
0%, 100% {
|
||||
-webkit-transform: scale(1);
|
||||
transform: scale(1);
|
||||
opacity: 1;
|
||||
}
|
||||
50% {
|
||||
-webkit-transform: scale(1.2);
|
||||
transform: scale(1.2);
|
||||
opacity: 0.7;
|
||||
}
|
||||
}
|
||||
.generating-title {
|
||||
font-size: 40rpx;
|
||||
font-weight: 700;
|
||||
color: var(--text-primary);
|
||||
margin-top: 40rpx;
|
||||
}
|
||||
|
||||
.generating-subtitle {
|
||||
font-size: 28rpx;
|
||||
color: var(--text-secondary);
|
||||
margin-top: 16rpx;
|
||||
margin-bottom: 40rpx;
|
||||
}
|
||||
|
||||
.progress-bar {
|
||||
width: 80%;
|
||||
height: 16rpx;
|
||||
background: rgba(255, 154, 158, 0.15);
|
||||
border-radius: 8rpx;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.progress-fill {
|
||||
height: 100%;
|
||||
background: var(--btn-gradient);
|
||||
border-radius: 8rpx;
|
||||
-webkit-transition: width 0.5s ease;
|
||||
transition: width 0.5s ease;
|
||||
}
|
||||
|
||||
.progress-text {
|
||||
font-size: 32rpx;
|
||||
font-weight: 700;
|
||||
color: var(--accent-pink);
|
||||
margin-top: 16rpx;
|
||||
}
|
||||
|
||||
/* 结果面板 */
|
||||
.result-panel {
|
||||
padding: 20rpx 0;
|
||||
}
|
||||
|
||||
.result-image-wrapper {
|
||||
overflow: hidden;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.result-image {
|
||||
width: 100%;
|
||||
height: 500rpx;
|
||||
background: -webkit-linear-gradient(315deg, rgba(255, 154, 158, 0.08) 0%, rgba(160, 196, 255, 0.08) 100%);
|
||||
background: linear-gradient(135deg, rgba(255, 154, 158, 0.08) 0%, rgba(160, 196, 255, 0.08) 100%);
|
||||
}
|
||||
|
||||
.watermark-badge {
|
||||
position: absolute;
|
||||
bottom: 20rpx;
|
||||
right: 20rpx;
|
||||
background: rgba(255, 255, 255, 0.8);
|
||||
color: var(--text-primary);
|
||||
padding: 8rpx 20rpx;
|
||||
border-radius: 8rpx;
|
||||
font-size: 22rpx;
|
||||
border: var(--line-card);
|
||||
}
|
||||
|
||||
.result-actions {
|
||||
display: -webkit-flex;
|
||||
display: -ms-flexbox;
|
||||
display: flex;
|
||||
-webkit-justify-content: space-around;
|
||||
-ms-flex-pack: distribute;
|
||||
justify-content: space-around;
|
||||
margin: 32rpx 0;
|
||||
}
|
||||
|
||||
.action-btn {
|
||||
display: -webkit-flex;
|
||||
display: -ms-flexbox;
|
||||
display: flex;
|
||||
-webkit-flex-direction: column;
|
||||
-ms-flex-direction: column;
|
||||
flex-direction: column;
|
||||
-webkit-align-items: center;
|
||||
-ms-flex-align: center;
|
||||
align-items: center;
|
||||
padding: 20rpx;
|
||||
}
|
||||
|
||||
.action-icon {
|
||||
font-size: 48rpx;
|
||||
margin-bottom: 8rpx;
|
||||
}
|
||||
|
||||
.action-label {
|
||||
font-size: 24rpx;
|
||||
color: var(--text-secondary);
|
||||
}
|
||||
|
||||
/* 跳转DIY卡片 */
|
||||
.diy-jump-card {
|
||||
display: -webkit-flex;
|
||||
display: -ms-flexbox;
|
||||
display: flex;
|
||||
-webkit-align-items: center;
|
||||
-ms-flex-align: center;
|
||||
align-items: center;
|
||||
-webkit-justify-content: space-between;
|
||||
-ms-flex-pack: justify;
|
||||
justify-content: space-between;
|
||||
margin-bottom: 32rpx;
|
||||
}
|
||||
|
||||
.diy-jump-title {
|
||||
font-size: 32rpx;
|
||||
font-weight: 700;
|
||||
color: var(--text-primary);
|
||||
display: block;
|
||||
margin-bottom: 8rpx;
|
||||
}
|
||||
|
||||
.diy-jump-desc {
|
||||
font-size: 24rpx;
|
||||
color: var(--text-secondary);
|
||||
display: block;
|
||||
}
|
||||
|
||||
.diy-jump-arrow {
|
||||
font-size: 40rpx;
|
||||
color: var(--accent-pink);
|
||||
}
|
||||
Reference in New Issue
Block a user