(this.webpackJsonpchatchan = this.webpackJsonpchatchan || []).push([[0], { 1019: function (e, t) { }, 1021: function (e, t) { }, 1031: function (e, t) { }, 1033: function (e, t) { }, 1060: function (e, t) { }, 1061: function (e, t) { }, 1066: function (e, t) { }, 1068: function (e, t) { }, 1075: function (e, t) { }, 1094: function (e, t) { }, 1427: function (e, t, a) { "use strict"; a.r(t); var r, n, s, c, i, o, l, u, p, h, m, b, f, d, v, _, g, y, O, j, k, E, x, w, N, C, S, I, z, A, q, P, T, K, D = a(0), F = a.n(D), M = a(34), R = a.n(M), U = (a(573), a(9)), W = a(13), L = a(14), B = a(16), H = a(27), Y = a(49), J = a(6), G = Object(J.b)("store")(r = Object(J.c)(r = function (e) { Object(L.a)(a, e); var t = Object(B.a)(a); function a() { return Object(U.a)(this, a), t.apply(this, arguments) } return Object(W.a)(a, [{ key: "render", value: function () { return F.a.createElement("div", { className: "title" }, F.a.createElement("h1", null, "Hello\uff0c", this.props.store.appname)) } }]), a }(D.Component)) || r) || r, V = a(1464), $ = (n = Object(J.b)("store"), Object(Y.f)(s = n(s = function (e) { Object(L.a)(a, e); var t = Object(B.a)(a); function a() { return Object(U.a)(this, a), t.apply(this, arguments) } return Object(W.a)(a, [{ key: "render", value: function () { var e = this; return F.a.createElement("div", null, F.a.createElement("h1", null, F.a.createElement(G, null)), F.a.createElement("div", null, F.a.createElement(V.b, { onClick: function () { return e.props.store.appname += "\ud83c\udf88" } }, "change")), F.a.createElement("div", null, F.a.createElement("span", { onClick: function () { return e.props.history.push("/login") } }, "Login"))) } }]), a }(D.Component)) || s) || s), Z = a(437), Q = a.n(Z), X = (c = Object(J.b)("store"), Object(Y.f)(i = c(i = Object(J.c)(i = function (e) { Object(L.a)(a, e); var t = Object(B.a)(a); function a() { return Object(U.a)(this, a), t.apply(this, arguments) } return Object(W.a)(a, [{ key: "render", value: function () { var e = this.props.data; return e ? F.a.createElement("div", { className: "user-span" }, F.a.createElement("img", { src: e.avatar_url, className: "avatar" }), e.name, e.coin >= 0 && F.a.createElement("span", { className: "coin bg-blue-500 text-white font-mono text-xs" }, e.coin)) : null } }]), a }(D.Component)) || i) || i), a(53)), ee = a(50), te = a(1463), ae = a(3), re = a.n(ae), ne = a(10), se = a(41), ce = a(37), ie = (a(602), a(11)), oe = a(210), le = a.n(oe), ue = function () { function e(t) { Object(U.a)(this, e), this.store = t } return Object(W.a)(e, [{ key: "get", value: function () { var e = Object(ne.a)(re.a.mark((function e(t) { var a, r, n = arguments; return re.a.wrap((function (e) { for (; ;)switch (e.prev = e.next) { case 0: return a = n.length > 1 && void 0 !== n[1] ? n[1] : null, r = null == a ? this.store.apibase + t : this.store.apibase + t + ds + new URLSearchParams(a).toString(), e.abrupt("return", this.rawGet(r)); case 3: case "end": return e.stop() } }), e, this) }))); return function (t) { return e.apply(this, arguments) } }() }, { key: "rawGet", value: function () { var e = Object(ne.a)(re.a.mark((function e(t) { return re.a.wrap((function (e) { for (; ;)switch (e.prev = e.next) { case 0: return e.t0 = this, e.next = 3, le.a.get(t); case 3: return e.t1 = e.sent, e.abrupt("return", e.t0.return_data.call(e.t0, e.t1)); case 5: case "end": return e.stop() } }), e, this) }))); return function (t) { return e.apply(this, arguments) } }() }, { key: "post", value: function () { var e = Object(ne.a)(re.a.mark((function e(t) { var a, r, n, s, c = arguments; return re.a.wrap((function (e) { for (; ;)switch (e.prev = e.next) { case 0: return a = c.length > 1 && void 0 !== c[1] ? c[1] : null, r = !(c.length > 2 && void 0 !== c[2]) || c[2], n = !(c.length > 3 && void 0 !== c[3]) || c[3], s = this.store.apibase + t, e.abrupt("return", this.rawPost(s, a, r, n)); case 5: case "end": return e.stop() } }), e, this) }))); return function (t) { return e.apply(this, arguments) } }() }, { key: "rawPost", value: function () { var e = Object(ne.a)(re.a.mark((function e(t) { var a, r, n, s, c = arguments; return re.a.wrap((function (e) { for (; ;)switch (e.prev = e.next) { case 0: return a = c.length > 1 && void 0 !== c[1] ? c[1] : null, r = !(c.length > 2 && void 0 !== c[2]) || c[2], n = !(c.length > 3 && void 0 !== c[3]) || c[3], e.prev = 3, s = new URLSearchParams, a && Object.keys(a).forEach((function (e) { return s.append(e, a[e]) })), r && this.store.token && s.append("token", this.store.token), e.t0 = this, e.next = 10, le.a.post(t, s); case 10: return e.t1 = e.sent, e.t2 = n, e.abrupt("return", e.t0.return_data.call(e.t0, e.t1, e.t2)); case 15: return e.prev = 15, e.t3 = e.catch(3), console.log(e.t3), e.abrupt("return", !1); case 19: case "end": return e.stop() } }), e, this, [[3, 15]]) }))); return function (t) { return e.apply(this, arguments) } }() }, { key: "upload", value: function () { var e = Object(ne.a)(re.a.mark((function e(t) { var a, r, n, s, c = arguments; return re.a.wrap((function (e) { for (; ;)switch (e.prev = e.next) { case 0: return a = c.length > 1 && void 0 !== c[1] ? c[1] : null, r = !(c.length > 2 && void 0 !== c[2]) || c[2], n = !(c.length > 3 && void 0 !== c[3]) || c[3], s = new FormData, a && Object.keys(a).forEach((function (e) { return s.append(e, a[e]) })), r && this.store.token && s.append("token", this.store.token), e.t0 = this, e.next = 9, le.a.post(this.store.apibase + t, s); case 9: return e.t1 = e.sent, e.t2 = n, e.next = 13, e.t0.return_data.call(e.t0, e.t1, e.t2); case 13: return e.abrupt("return", e.sent); case 14: case "end": return e.stop() } }), e, this) }))); return function (t) { return e.apply(this, arguments) } }() }, { key: "return_data", value: function () { var e = Object(ne.a)(re.a.mark((function e(t) { var a = arguments; return re.a.wrap((function (e) { for (; ;)switch (e.prev = e.next) { case 0: if (!(a.length > 1 && void 0 !== a[1]) || a[1], 200 != parseInt(t.status)) { e.next = 8; break } if (!t.data) { e.next = 5; break } return 80403 == t.data.code && (be("\u8bf7\u767b\u5165\u540e\u7ee7\u7eed"), window.location = "/login"), e.abrupt("return", t.data); case 5: return e.abrupt("return", !1); case 8: console.log(t); case 9: return e.abrupt("return", !1); case 10: case "end": return e.stop() } }), e) }))); return function (t) { return e.apply(this, arguments) } }() }]), e }(), pe = new (o = function () { function e() { Object(U.a)(this, e), Object(se.a)(this, "appname", l, this), Object(se.a)(this, "apibase", u, this), Object(se.a)(this, "local_apibase", p, this), Object(se.a)(this, "session", h, this), Object(se.a)(this, "token", m, this), Object(se.a)(this, "user", b, this), this.version = "1.0.9", this.ftopenapp_id = "26", this.to_save_vars = ["user", "token", "_chat_saved_list", "_chat_model", "_chat_key", "_chat_api_url", "_chat_avatar_url", "_chat_max_tokens", "_chat_temperature", "_chat_timeout", "_chat_char_opacity", "_chat_system_prompt", "_chat_user_prompt", "_chat_last", "_chat_history_count", "_chat_auto_save", "_chat_summarize_content", "_chat_bg_url"], Object(se.a)(this, "menu", f, this), Object(se.a)(this, "coin_name", d, this), Object(se.a)(this, "recharge_input_coin", v, this), Object(se.a)(this, "_donate_keys", _, this), Object(se.a)(this, "_donate_title", g, this), Object(se.a)(this, "_donate_link", y, this), Object(se.a)(this, "_chat_model", O, this), Object(se.a)(this, "_chat_saved_list", j, this), Object(se.a)(this, "_chat_key", k, this), Object(se.a)(this, "_chat_api_url", E, this), Object(se.a)(this, "_chat_avatar_url", x, this), Object(se.a)(this, "_chat_bg_url", w, this), Object(se.a)(this, "_chat_max_tokens", N, this), Object(se.a)(this, "_chat_temperature", C, this), Object(se.a)(this, "_chat_timeout", S, this), Object(se.a)(this, "_chat_system_prompt", I, this), Object(se.a)(this, "_chat_user_prompt", z, this), Object(se.a)(this, "_chat_char_opacity", A, this), Object(se.a)(this, "_chat_history_count", q, this), Object(se.a)(this, "_chat_last", P, this), Object(se.a)(this, "_chat_auto_save", T, this), Object(se.a)(this, "_chat_summarize_content", K, this), this.api = new ue(this), this.load_vars() } return Object(W.a)(e, [{ key: "load_vars", value: function () { var e = this; this.to_save_vars.forEach((function (t) { var a = window.localStorage.getItem("FT_CHATCHAN_VAR_" + t); a && (e[t] = JSON.parse(a)) })) } }, { key: "save_vars", value: function () { var e = this, t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : null, a = null === t ? this.to_save_vars : [t]; a.forEach((function (t) { window.localStorage.setItem("FT_CHATCHAN_VAR_" + t, JSON.stringify(e[t])) })) } }, { key: "get_wechat_login_url", value: function () { var e = Object(ne.a)(re.a.mark((function e() { var t, a, r, n = arguments; return re.a.wrap((function (e) { for (; ;)switch (e.prev = e.next) { case 0: return t = n.length > 0 && void 0 !== n[0] ? n[0] : this.ftopenapp_id, a = n.length > 1 && void 0 !== n[1] ? n[1] : this.session, e.next = 4, this.api.get("global/user/get_wx_sns_login_url?id=" + t + "&session=" + a); case 4: return r = e.sent, e.abrupt("return", r); case 6: case "end": return e.stop() } }), e, this) }))); return function () { return e.apply(this, arguments) } }() }, { key: "get_token_by_code", value: function () { var e = Object(ne.a)(re.a.mark((function e(t) { var a, r, n = arguments; return re.a.wrap((function (e) { for (; ;)switch (e.prev = e.next) { case 0: return a = n.length > 1 && void 0 !== n[1] ? n[1] : "", e.next = 3, this.api.post("global/user/get_token_by_wx_code", { code: t, session: a }); case 3: return r = e.sent, e.abrupt("return", r); case 5: case "end": return e.stop() } }), e, this) }))); return function (t) { return e.apply(this, arguments) } }() }, { key: "preorder", value: function () { var e = Object(ne.a)(re.a.mark((function e(t) { var a; return re.a.wrap((function (e) { for (; ;)switch (e.prev = e.next) { case 0: return e.next = 2, this.api.post("global/pay/order", { amount_cent: t }); case 2: return a = e.sent, e.abrupt("return", a); case 4: case "end": return e.stop() } }), e, this) }))); return function (t) { return e.apply(this, arguments) } }() }, { key: "logout", value: function () { this.user = null, this.token = null, window.localStorage.clear() } }, { key: "set_user", value: function (e) { this.user = e, this.token = e.session_id, this.save_vars() } }, { key: "check_user_info", value: function () { var e = Object(ne.a)(re.a.mark((function e() { var t, a, r, n = arguments; return re.a.wrap((function (e) { for (; ;)switch (e.prev = e.next) { case 0: if (!(t = n.length > 0 && void 0 !== n[0] ? n[0] : null)) { e.next = 8; break } return e.next = 4, this.api.post("global/user/get_user_session", { token: t }, !1); case 4: return a = e.sent, e.abrupt("return", a); case 8: return e.next = 10, this.api.post("global/user/get_user_session"); case 10: return r = e.sent, e.abrupt("return", r); case 12: case "end": return e.stop() } }), e, this) }))); return function () { return e.apply(this, arguments) } }() }, { key: "get_user_profile", value: function () { var e = Object(ne.a)(re.a.mark((function e() { var t; return re.a.wrap((function (e) { for (; ;)switch (e.prev = e.next) { case 0: return e.next = 2, this.api.post("global/user/profile"); case 2: return t = e.sent, e.abrupt("return", t); case 4: case "end": return e.stop() } }), e, this) }))); return function () { return e.apply(this, arguments) } }() }]), e }(), l = Object(ce.a)(o.prototype, "appname", [ie.m], { configurable: !0, enumerable: !0, writable: !0, initializer: function () { return "Chat\u9171" } }), u = Object(ce.a)(o.prototype, "apibase", [ie.m], { configurable: !0, enumerable: !0, writable: !0, initializer: function () { return "https://openapi.ftqq.com/" } }), p = Object(ce.a)(o.prototype, "local_apibase", [ie.m], { configurable: !0, enumerable: !0, writable: !0, initializer: function () { return "" } }), h = Object(ce.a)(o.prototype, "session", [ie.m], { configurable: !0, enumerable: !0, writable: !0, initializer: function () { return "" } }), m = Object(ce.a)(o.prototype, "token", [ie.m], { configurable: !0, enumerable: !0, writable: !0, initializer: function () { return "" } }), b = Object(ce.a)(o.prototype, "user", [ie.m], { configurable: !0, enumerable: !0, writable: !0, initializer: function () { return "" } }), f = Object(ce.a)(o.prototype, "menu", [ie.m], { configurable: !0, enumerable: !0, writable: !0, initializer: function () { return [{ id: 8001, text: "\u9996\u9875", link: "/home", member_only: !1 }] } }), Object(ce.a)(o.prototype, "logout", [ie.f], Object.getOwnPropertyDescriptor(o.prototype, "logout"), o.prototype), Object(ce.a)(o.prototype, "set_user", [ie.f], Object.getOwnPropertyDescriptor(o.prototype, "set_user"), o.prototype), d = Object(ce.a)(o.prototype, "coin_name", [ie.m], { configurable: !0, enumerable: !0, writable: !0, initializer: function () { return "\u91d1\u5e01" } }), v = Object(ce.a)(o.prototype, "recharge_input_coin", [ie.m], { configurable: !0, enumerable: !0, writable: !0, initializer: function () { return "" } }), _ = Object(ce.a)(o.prototype, "_donate_keys", [ie.m], { configurable: !0, enumerable: !0, writable: !0, initializer: function () { return "" } }), g = Object(ce.a)(o.prototype, "_donate_title", [ie.m], { configurable: !0, enumerable: !0, writable: !0, initializer: function () { return "" } }), y = Object(ce.a)(o.prototype, "_donate_link", [ie.m], { configurable: !0, enumerable: !0, writable: !0, initializer: function () { return "" } }), O = Object(ce.a)(o.prototype, "_chat_model", [ie.m], { configurable: !0, enumerable: !0, writable: !0, initializer: function () { return "gpt-3.5-turbo" } }), j = Object(ce.a)(o.prototype, "_chat_saved_list", [ie.m], { configurable: !0, enumerable: !0, writable: !0, initializer: function () { return [] } }), k = Object(ce.a)(o.prototype, "_chat_key", [ie.m], { configurable: !0, enumerable: !0, writable: !0, initializer: function () { return "" } }), E = Object(ce.a)(o.prototype, "_chat_api_url", [ie.m], { configurable: !0, enumerable: !0, writable: !0, initializer: function () { return "https://api.openai.com" } }), x = Object(ce.a)(o.prototype, "_chat_avatar_url", [ie.m], { configurable: !0, enumerable: !0, writable: !0, initializer: function () { return "" } }), w = Object(ce.a)(o.prototype, "_chat_bg_url", [ie.m], { configurable: !0, enumerable: !0, writable: !0, initializer: function () { return "" } }), N = Object(ce.a)(o.prototype, "_chat_max_tokens", [ie.m], { configurable: !0, enumerable: !0, writable: !0, initializer: function () { return 1e3 } }), C = Object(ce.a)(o.prototype, "_chat_temperature", [ie.m], { configurable: !0, enumerable: !0, writable: !0, initializer: function () { return .1 } }), S = Object(ce.a)(o.prototype, "_chat_timeout", [ie.m], { configurable: !0, enumerable: !0, writable: !0, initializer: function () { return 60 } }), I = Object(ce.a)(o.prototype, "_chat_system_prompt", [ie.m], { configurable: !0, enumerable: !0, writable: !0, initializer: function () { return "" } }), z = Object(ce.a)(o.prototype, "_chat_user_prompt", [ie.m], { configurable: !0, enumerable: !0, writable: !0, initializer: function () { return "" } }), A = Object(ce.a)(o.prototype, "_chat_char_opacity", [ie.m], { configurable: !0, enumerable: !0, writable: !0, initializer: function () { return 80 } }), q = Object(ce.a)(o.prototype, "_chat_history_count", [ie.m], { configurable: !0, enumerable: !0, writable: !0, initializer: function () { return 6 } }), P = Object(ce.a)(o.prototype, "_chat_last", [ie.m], { configurable: !0, enumerable: !0, writable: !0, initializer: function () { return [] } }), T = Object(ce.a)(o.prototype, "_chat_auto_save", [ie.m], { configurable: !0, enumerable: !0, writable: !0, initializer: function () { return "yes" } }), K = Object(ce.a)(o.prototype, "_chat_summarize_content", [ie.m], { configurable: !0, enumerable: !0, writable: !0, initializer: function () { return "yes" } }), o), he = V.p.create({ className: "lm-toaster", position: ee.a.TOP }); a(620), a(621); function me() { return "micromessenger" == navigator.userAgent.toLowerCase().match(/MicroMessenger/i) } function be(e) { he.show({ message: e }) } var fe, de, ve, _e, ge, ye, Oe, je, ke, Ee, xe, we, Ne, Ce, Se, Ie, ze, Ae, qe, Pe, Te, Ke, De, Fe, Me, Re, Ue, We, Le, Be, He, Ye, Je, Ge, Ve, $e, Ze, Qe, Xe, et, tt, at, rt, nt, st, ct, it, ot = a(12), lt = a(438), ut = a.n(lt), pt = Object(Y.f)(fe = function (e) { Object(L.a)(a, e); var t = Object(B.a)(a); function a() { var e; Object(U.a)(this, a); for (var r = arguments.length, n = new Array(r), s = 0; s < r; s++)n[s] = arguments[s]; return (e = t.call.apply(t, [this].concat(n))).state = { value: e.props.value, img_url: "" }, e } return Object(W.a)(a, [{ key: "componentDidMount", value: function () { var e = this; this.ck = setInterval((function () { return e.check() }), 500) } }, { key: "componentWillUnmount", value: function () { this.ck && clearInterval(this.ck) } }, { key: "check", value: function () { var e = document.getElementById("theqr__inbox"); e && (this.setState({ img_url: e.toDataURL("image/png") }), clearInterval(this.ck)) } }, { key: "render", value: function () { return F.a.createElement("div", { className: this.props.className }, this.state.img_url.length > 0 ? F.a.createElement("img", { style: { maxWidth: 200 }, src: this.state.img_url }) : F.a.createElement(ut.a, Object(ot.a)({ size: 200, value: this.state.value, includeMargin: !0, id: "theqr__inbox" }, "includeMargin", !0))) } }]), a }(D.Component)) || fe, ht = a(439), mt = a.n(ht), bt = (de = Object(J.b)("store"), Object(Y.f)(ve = de(ve = Object(J.c)(ve = function (e) { Object(L.a)(a, e); var t = Object(B.a)(a); function a() { var e; Object(U.a)(this, a); for (var r = arguments.length, n = new Array(r), s = 0; s < r; s++)n[s] = arguments[s]; return (e = t.call.apply(t, [this].concat(n))).state = { qrcode_url: !1 }, e } return Object(W.a)(a, [{ key: "go", value: function () { var e = Object(ne.a)(re.a.mark((function e() { var t; return re.a.wrap((function (e) { for (; ;)switch (e.prev = e.next) { case 0: return this.props.store.session = mt()({ length: 32 }), e.next = 3, this.props.store.get_wechat_login_url(); case 3: (t = e.sent) && t.url && (me() ? window.location = t.url : (this.setState({ qrcode_url: t.url }), console.log(t.url))); case 5: case "end": return e.stop() } }), e, this) }))); return function () { return e.apply(this, arguments) } }() }, { key: "check", value: function () { var e = Object(ne.a)(re.a.mark((function e() { var t, a; return re.a.wrap((function (e) { for (; ;)switch (e.prev = e.next) { case 0: return t = this.props.store.session, e.next = 3, this.props.store.check_user_info(t); case 3: (a = e.sent) && a.code > 0 ? be("\u8bf7\u626b\u7801\u540e\u518d\u70b9\u51fb\u6b64\u6309\u94ae") : a && a.user && (this.props.store.set_user(a.user), this.setState({ qrcode_url: !1 }), me() ? this.props.history.push("/after/login") : this.props.history.push("/home")); case 5: case "end": return e.stop() } }), e, this) }))); return function () { return e.apply(this, arguments) } }() }, { key: "render", value: function () { var e = this, t = this.props, a = (t.staticContext, t.onClick, Object(X.a)(t, ["staticContext", "onClick"])); return F.a.createElement(F.a.Fragment, null, F.a.createElement(V.b, Object.assign({ id: "wechat-login-btn", text: "\u5fae\u4fe1\u767b\u5165", onClick: function () { return e.go() } }, a)), this.state.qrcode_url && F.a.createElement(V.l, { isOpen: this.state.qrcode_url, canOutsideClickClose: !1, onClose: function () { return e.setState({ qrcode_url: !1 }) } }, F.a.createElement("div", { className: "center-box bg-white p-10 rounded" }, F.a.createElement(pt, { value: this.state.qrcode_url }), F.a.createElement("div", { className: "mt-2" }, F.a.createElement(V.b, { large: !0, onClick: function () { return e.check() } }, "\u5fae\u4fe1\u626b\u7801\u540e\u70b9\u6b64\u7ee7\u7eed"))))) } }]), a }(D.Component)) || ve) || ve) || ve), ft = (_e = Object(J.b)("store"), Object(Y.f)(ge = _e(ge = Object(J.c)(ge = function (e) { Object(L.a)(a, e); var t = Object(B.a)(a); function a() { return Object(U.a)(this, a), t.apply(this, arguments) } return Object(W.a)(a, [{ key: "render", value: function () { var e = this, t = F.a.createElement(V.i, { className: "border" }, F.a.createElement(V.k, { icon: "person", text: "\u6211\u7684", onClick: function () { return e.props.history.push("/profile") } }), F.a.createElement(V.k, { icon: "dollar", text: "\u5145\u503c", onClick: function () { return e.props.history.push("/recharge") } }), F.a.createElement(V.j, null), F.a.createElement(V.k, { icon: "log-out", text: "\u9000\u51fa", onClick: function () { return e.props.history.push("/logout") } })), a = this.props, r = (a.staticContext, Object(X.a)(a, ["staticContext"])); return F.a.createElement("div", r, this.props.store.user ? F.a.createElement(te.a, { autoFocus: !1, content: t, position: ee.a.BOTTOM_RIGHT }, F.a.createElement(V.b, { rightIcon: "caret-down", minimal: !0 })) : F.a.createElement(bt, { minimal: !0 })) } }]), a }(D.Component)) || ge) || ge), ye = Object(J.b)("store"), Object(Y.f)(Oe = ye(Oe = Object(J.c)(Oe = function (e) { Object(L.a)(a, e); var t = Object(B.a)(a); function a() { return Object(U.a)(this, a), t.apply(this, arguments) } return Object(W.a)(a, [{ key: "render", value: function () { var e = this, t = this.props, a = (t.staticContext, Object(X.a)(t, ["staticContext"])); return F.a.createElement("div", a, F.a.createElement("div", { className: "flex flex-row items-center" }, this.props.store.menu && F.a.createElement(F.a.Fragment, null, " ", F.a.createElement("svg", { className: "w-3 h-3 mr-5", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg" }, F.a.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: "2", d: "M9 5l7 7-7 7" })), " "), this.props.store.menu && this.props.store.menu.map((function (t) { var a, r = !0; (t.member_only && (e.props.store.token || (r = !1)), t.admin_only) && ((null === (a = e.props.store.user) || void 0 === a ? void 0 : a.level) < 9 && (r = !1)); return r ? F.a.createElement(H.c, { className: "nav-menu text-black text-lg hover:text-gray-500 hover:no-underline ", key: t.id, to: t.link }, t.text) : null })))) } }]), a }(D.Component)) || Oe) || Oe) || Oe), dt = (je = Object(J.b)("store"), Object(Y.f)(ke = je(ke = Object(J.c)(ke = function (e) { Object(L.a)(a, e); var t = Object(B.a)(a); function a() { return Object(U.a)(this, a), t.apply(this, arguments) } return Object(W.a)(a, [{ key: "render", value: function () { this.props.store.user; return F.a.createElement("div", { className: (this.props.className || "") + " header" }, F.a.createElement("div", { className: "container mx-auto" }, F.a.createElement("div", { className: "left flex flex-row items-center" }, F.a.createElement(H.b, { to: "/" }, this.props.store.appname), F.a.createElement(ft, { className: "ml-5 hidden md:block" })), F.a.createElement("div", { className: "right" }))) } }]), a }(D.Component)) || ke) || ke), Ee = Object(J.b)("store"), Object(Y.f)(xe = Ee(xe = Object(J.c)(xe = function (e) { Object(L.a)(a, e); var t = Object(B.a)(a); function a() { return Object(U.a)(this, a), t.apply(this, arguments) } return Object(W.a)(a, [{ key: "render", value: function () { return F.a.createElement("div", { className: (this.props.className || "") + " footer" }, "\u65b9\u7cd6\u6c14\u7403 \ud83c\udf88 ftqq.com") } }]), a }(D.Component)) || xe) || xe), we = Object(J.b)("store"), Object(Y.f)(Ne = we(Ne = Object(J.c)(Ne = function (e) { Object(L.a)(a, e); var t = Object(B.a)(a); function a() { return Object(U.a)(this, a), t.apply(this, arguments) } return Object(W.a)(a, [{ key: "render", value: function () { return F.a.createElement(Q.a, { title: this.props.title || this.props.store.appname }, F.a.createElement(F.a.Fragment, null, this.props.store._chat_bg_url ? F.a.createElement("div", { className: "chat-bg" }, " ", F.a.createElement("img", { src: this.props.store._chat_bg_url, onError: function (e) { return e.target.style.display = "none" }, referrerpolicy: "no-referrer" })) : null, F.a.createElement("div", { className: "" }, F.a.createElement("div", { className: "body container mx-auto" }, this.props.main)), F.a.createElement("div", { className: "drag-handle w-full h-5 fixed top-0 " }))) } }]), a }(D.Component)) || Ne) || Ne) || Ne), vt = (Ce = Object(J.b)("store"), Object(Y.f)(Se = Ce(Se = Object(J.c)(Se = function (e) { Object(L.a)(a, e); var t = Object(B.a)(a); function a() { return Object(U.a)(this, a), t.apply(this, arguments) } return Object(W.a)(a, [{ key: "render", value: function () { var e = F.a.createElement("div", { className: "p-32 " }, "FrontPage"); return F.a.createElement(dt, { title: this.props.store.appname, main: e }) } }]), a }(D.Component)) || Se) || Se), Ie = Object(J.b)("store"), Object(Y.f)(ze = Ie(ze = Object(J.c)(ze = function (e) { Object(L.a)(a, e); var t = Object(B.a)(a); function a() { return Object(U.a)(this, a), t.apply(this, arguments) } return Object(W.a)(a, [{ key: "componentDidMount", value: function () { var e = Object(ne.a)(re.a.mark((function e() { var t, a, r, n; return re.a.wrap((function (e) { for (; ;)switch (e.prev = e.next) { case 0: return t = new URLSearchParams(this.props.location.search), a = t.get("code"), r = t.get("session"), e.next = 5, this.props.store.get_token_by_code(a, r); case 5: (null === (n = e.sent) || void 0 === n ? void 0 : n.token) && this.props.store.set_user(n.user), me() ? this.props.history.push("/after/login") : this.props.history.push("/home"); case 8: case "end": return e.stop() } }), e, this) }))); return function () { return e.apply(this, arguments) } }() }, { key: "render", value: function () { return F.a.createElement("div", { className: "flex flex-row pt-20 items-center justify-center" }, F.a.createElement(V.n, null)) } }]), a }(D.Component)) || ze) || ze) || ze), _t = (Ae = Object(J.b)("store"), Object(Y.f)(qe = Ae(qe = Object(J.c)(qe = function (e) { Object(L.a)(a, e); var t = Object(B.a)(a); function a() { return Object(U.a)(this, a), t.apply(this, arguments) } return Object(W.a)(a, [{ key: "render", value: function () { var e = this, t = this.props.store[this.props.field] || ""; return F.a.createElement(V.g, { label: this.props.label, className: this.props.lineClass || "" }, "textarea" == this.props.type ? F.a.createElement(V.o, { fill: this.props.fill || !1, growVertically: !0, large: !0, placeholder: this.props.placeholder, onChange: function (t) { return e.props.store[e.props.field] = t.target.value }, value: t, className: this.props.className || "" }) : F.a.createElement(V.h, { type: this.props.type, large: "true", placeholder: this.props.placeholder, onChange: function (t) { return e.props.store[e.props.field] = t.target.value }, rightElement: this.props.rightElement || null, value: t, className: this.props.className || "" }), parseInt(this.props.max_count) > 0 && F.a.createElement("div", { className: "text-count" }, t.length, "/", this.props.max_count)) } }]), a }(D.Component)) || qe) || qe) || qe), gt = (Pe = Object(J.b)("store"), Object(Y.f)(Te = Pe(Te = Object(J.c)(Te = function (e) { Object(L.a)(a, e); var t = Object(B.a)(a); function a() { var e; Object(U.a)(this, a); for (var r = arguments.length, n = new Array(r), s = 0; s < r; s++)n[s] = arguments[s]; return (e = t.call.apply(t, [this].concat(n))).state = { qrcode_url: !1 }, e } return Object(W.a)(a, [{ key: "go", value: function () { if (me()) this.props.onClick && this.props.onClick(); else { var e = window.location.origin + "/login/auto/" + this.props.store.token + "?redirect=" + encodeURIComponent(window.location.pathname + "?amount=" + this.props.amount || 100); this.setState({ qrcode_url: e }) } } }, { key: "render", value: function () { var e = this, t = this.props, a = (t.staticContext, t.onClick, Object(X.a)(t, ["staticContext", "onClick"])); return F.a.createElement(F.a.Fragment, null, F.a.createElement(V.b, Object.assign({ onClick: function () { return e.go() } }, a)), this.state.qrcode_url && F.a.createElement(V.l, { isOpen: this.state.qrcode_url, onClose: function () { return e.setState({ qrcode_url: !1 }) } }, F.a.createElement("div", { className: "center-box bg-white p-10 rounded" }, F.a.createElement(pt, { value: this.state.qrcode_url }), F.a.createElement("div", { className: "mt-2" }, "\u8bf7\u7528\u5fae\u4fe1\u626b\u7801\u652f\u4ed8")))) } }]), a }(D.Component)) || Te) || Te) || Te), yt = (Ke = Object(J.b)("store"), Object(Y.f)(De = Ke(De = Object(J.c)(De = function (e) { Object(L.a)(a, e); var t = Object(B.a)(a); function a() { var e; Object(U.a)(this, a); for (var r = arguments.length, n = new Array(r), s = 0; s < r; s++)n[s] = arguments[s]; return (e = t.call.apply(t, [this].concat(n))).state = { jsinfo: !1 }, e } return Object(W.a)(a, [{ key: "componentDidMount", value: function () { var e = parseInt(new URLSearchParams(this.props.location.search).get("amount")); function t() { } this.props.store.recharge_input_coin || (this.props.store.recharge_input_coin = e), "undefined" == typeof WeixinJSBridge && (document.addEventListener ? document.addEventListener("WeixinJSBridgeReady", t, !1) : document.attachEvent && (document.attachEvent("WeixinJSBridgeReady", t), document.attachEvent("onWeixinJSBridgeReady", t))) } }, { key: "launch", value: function () { var e = this; WeixinJSBridge.invoke("getBrandWCPayRequest", { appId: this.state.jsinfo.appId, timeStamp: this.state.jsinfo.timestamp, nonceStr: this.state.jsinfo.nonceStr, package: this.state.jsinfo.package, signType: this.state.jsinfo.signType, paySign: this.state.jsinfo.paySign }, (function (t) { "get_brand_wcpay_request:ok" == t.err_msg && (be("\u652f\u4ed8\u6570\u636e\u5904\u7406\u4e2d..."), e.props.history.push("/profile")) })), console.log("launch") } }, { key: "recharge", value: function () { var e = Object(ne.a)(re.a.mark((function e() { var t, a = this; return re.a.wrap((function (e) { for (; ;)switch (e.prev = e.next) { case 0: return e.next = 2, this.props.store.preorder(this.props.store.recharge_input_coin); case 2: (t = e.sent) && (t.result && (this.setState({ jsinfo: t.result }), window.setTimeout((function () { return a.launch() }), 600)), t.error && be(t.error.err_code_des)); case 4: case "end": return e.stop() } }), e, this) }))); return function () { return e.apply(this, arguments) } }() }, { key: "render", value: function () { var e = this, t = F.a.createElement("div", { className: "p-2 recharge-page" }, F.a.createElement("div", { className: "price" }, (this.props.store.recharge_input_coin / 100).toFixed(2)), F.a.createElement(_t, { field: "recharge_input_coin", type: "number", placeholder: "\u8bf7\u8f93\u5165\u8981\u8d2d\u4e70\u7684" + this.props.store.coin_name + "\u6570\u91cf" }), F.a.createElement(gt, { amount: this.props.store.recharge_input_coin, large: !0, onClick: function () { return e.recharge() } }, "\u5145\u503c")); return F.a.createElement(dt, { title: this.props.store.appname, main: t }) } }]), a }(D.Component)) || De) || De) || De), Ot = (Fe = Object(J.b)("store"), Object(Y.f)(Me = Fe(Me = Object(J.c)(Me = function (e) { Object(L.a)(a, e); var t = Object(B.a)(a); function a() { return Object(U.a)(this, a), t.apply(this, arguments) } return Object(W.a)(a, [{ key: "componentDidMount", value: function () { var e = Object(ne.a)(re.a.mark((function e() { return re.a.wrap((function (e) { for (; ;)switch (e.prev = e.next) { case 0: return e.next = 2, this.props.store.logout(); case 2: this.props.history.replace("/"); case 3: case "end": return e.stop() } }), e, this) }))); return function () { return e.apply(this, arguments) } }() }, { key: "render", value: function () { var e = F.a.createElement("div", { className: "flex flex-row pt-20 items-center justify-center" }, F.a.createElement(V.n, null)); return F.a.createElement(dt, { title: this.props.store.appname, main: e }) } }]), a }(D.Component)) || Me) || Me) || Me), jt = (Re = Object(J.b)("store"), Object(Y.f)(Ue = Re(Ue = Object(J.c)(Ue = function (e) { Object(L.a)(a, e); var t = Object(B.a)(a); function a() { var e; Object(U.a)(this, a); for (var r = arguments.length, n = new Array(r), s = 0; s < r; s++)n[s] = arguments[s]; return (e = t.call.apply(t, [this].concat(n))).state = { user: !1 }, e } return Object(W.a)(a, [{ key: "componentDidMount", value: function () { var e = Object(ne.a)(re.a.mark((function e() { var t; return re.a.wrap((function (e) { for (; ;)switch (e.prev = e.next) { case 0: return e.next = 2, this.props.store.get_user_profile(); case 2: (t = e.sent) && t.user && (this.setState({ user: t.user }), this.props.store.set_user(t.user)); case 4: case "end": return e.stop() } }), e, this) }))); return function () { return e.apply(this, arguments) } }() }, { key: "render", value: function () { var e = this.state.user; if (!e) return null; var t = F.a.createElement("div", { className: "p-2 flex flex-col profile-page" }, F.a.createElement("div", { className: "profile" }, F.a.createElement("div", { className: "avatar" }, F.a.createElement("img", { src: e.avatar_url, alt: "" }), F.a.createElement("div", { className: "explain" }, e.name))), F.a.createElement("div", { className: "detail" }, F.a.createElement("div", { className: "row" }, F.a.createElement("div", { className: "left" }, "Level"), F.a.createElement("div", { className: "right" }, e.level)), F.a.createElement("div", { className: "row" }, F.a.createElement("div", { className: "left" }, "Coin"), F.a.createElement("div", { className: "right" }, e.coin)))); return F.a.createElement(dt, { title: this.props.store.appname, main: t }) } }]), a }(D.Component)) || Ue) || Ue) || Ue), kt = (We = Object(J.b)("store"), Object(Y.f)(Le = We(Le = Object(J.c)(Le = function (e) { Object(L.a)(a, e); var t = Object(B.a)(a); function a() { return Object(U.a)(this, a), t.apply(this, arguments) } return Object(W.a)(a, [{ key: "componentDidMount", value: function () { document.querySelector("#wechat-login-btn").click() } }, { key: "render", value: function () { var e = F.a.createElement("div", { className: "flex flex-row pt-12 items-center justify-center" }, F.a.createElement(bt, { large: !0 })); return F.a.createElement(dt, { title: this.props.store.appname, main: e }) } }]), a }(D.Component)) || Le) || Le) || Le), Et = (Be = Object(J.b)("store"), Object(Y.f)(He = Be(He = Object(J.c)(He = function (e) { Object(L.a)(a, e); var t = Object(B.a)(a); function a() { return Object(U.a)(this, a), t.apply(this, arguments) } return Object(W.a)(a, [{ key: "render", value: function () { var e = F.a.createElement("div", { className: "py-5 px-5 md:px-0 text-xl" }, "\u767b\u5165\u6210\u529f\uff0c\u8bf7\u56de\u5230\u7535\u8111\u70b9\u51fb\u6309\u94ae\u7ee7\u7eed\u3002\u6216\u8005\u70b9\u51fb\u53f3\u4e0a\u89d2\u83dc\u5355\u8fdb\u884c\u64cd\u4f5c\u3002"); return F.a.createElement(dt, { title: this.props.store.appname, main: e }) } }]), a }(D.Component)) || He) || He) || He), xt = (Ye = Object(J.b)("store"), Object(Y.f)(Je = Ye(Je = Object(J.c)(Je = function (e) { Object(L.a)(a, e); var t = Object(B.a)(a); function a() { return Object(U.a)(this, a), t.apply(this, arguments) } return Object(W.a)(a, [{ key: "componentDidMount", value: function () { var e = Object(ne.a)(re.a.mark((function e() { var t, a, r, n; return re.a.wrap((function (e) { for (; ;)switch (e.prev = e.next) { case 0: return t = this.props.match.params.token, e.next = 3, this.props.store.check_user_info(t); case 3: a = e.sent, console.log(a), a && a.user && (this.props.store.set_user(a.user), r = new URLSearchParams(this.props.location.search), (n = r.get("redirect")) || (n = "/recharge"), this.props.history.push(n)); case 6: case "end": return e.stop() } }), e, this) }))); return function () { return e.apply(this, arguments) } }() }, { key: "render", value: function () { var e = F.a.createElement("div", { className: "py-5 px-5 md:px-0" }, F.a.createElement("div", { className: "p-5 flex justify-center" }, F.a.createElement(V.n, null))); return F.a.createElement(dt, { title: this.props.store.appname, main: e }) } }]), a }(D.Component)) || Je) || Je) || Je), wt = (a(1111), a(454)), Nt = a(451), Ct = (Ge = Object(J.b)("store"), Object(Y.f)(Ve = Ge(Ve = Object(J.c)(Ve = function (e) { Object(L.a)(a, e); var t = Object(B.a)(a); function a() { return Object(U.a)(this, a), t.apply(this, arguments) } return Object(W.a)(a, [{ key: "render", value: function () { var e = this, t = this.props.store[this.props.field] || "", a = this.props.options.filter((function (e) { return t.includes(e.value) })); Date.now(); return F.a.createElement("div", { className: "lossline " + this.props.className || !1 }, F.a.createElement("div", { className: "lossline" }, this.props.label), F.a.createElement(Nt.a, { menuPlacement: this.props.menuPosition || "auto", placeholder: this.props.placeholder || "\u8bf7\u9009\u62e9", value: a, isMulti: !1, onChange: function (t) { e.props.store[e.props.field] = t ? t.value : "", e.props.onUpdate && e.props.onUpdate(t.value) }, options: this.props.options || [] })) } }]), a }(D.Component)) || Ve) || Ve) || Ve), St = a(103), It = ($e = Object(J.b)("store"), Object(Y.f)(Ze = $e(Ze = Object(J.c)(Ze = function (e) { Object(L.a)(a, e); var t = Object(B.a)(a); function a() { return Object(U.a)(this, a), t.apply(this, arguments) } return Object(W.a)(a, [{ key: "render", value: function () { var e = this; return F.a.createElement(F.a.Fragment, null, F.a.createElement("div", { className: "std-hr form-div" }), F.a.createElement(V.g, null, F.a.createElement("div", { className: "flex flex-row justify-between" }, F.a.createElement("div", { className: "left" }, F.a.createElement(V.b, { large: "true", intent: St.a.PRIMARY, onClick: function () { return e.props.onSubmit() } }, "\u63d0\u4ea4")), F.a.createElement("div", { className: "right" }, this.props.cancel || F.a.createElement(V.b, { large: "true", onClick: function () { return e.props.history.goBack() }, className: "right-20" }, "\u53d6\u6d88"))))) } }]), a }(D.Component)) || Ze) || Ze) || Ze), zt = a(1462), At = a(453), qt = a(1465), Pt = a(1461), Tt = a(452), Kt = (Qe = Object(J.b)("store"), Object(Y.f)(Xe = Qe(Xe = Object(J.c)(Xe = function (e) { Object(L.a)(a, e); var t = Object(B.a)(a); function a() { return Object(U.a)(this, a), t.apply(this, arguments) } return Object(W.a)(a, [{ key: "render", value: function () { return F.a.createElement(zt.a, { remarkPlugins: [Tt.a], className: "markdown-text toastui-editor-contents", children: this.props.markdown, linkTarget: "_blank", components: { code: function (e) { e.node; var t = e.inline, a = e.className, r = e.children, n = Object(X.a)(e, ["node", "inline", "className", "children"]), s = /language-(\w+)/.exec(a || ""); return !t && s ? F.a.createElement(qt.a, Object.assign({ children: String(r).replace(/\n$/, ""), style: Pt.a, language: s[1], PreTag: "div" }, n)) : F.a.createElement("code", Object.assign({ className: a }, n), r) }, img: function (e) { var t = e.src, a = e.alt; return F.a.createElement(At.a, { showDownload: !0, showRotation: !0, showZoom: !0, small: t, large: t, alt: a }) } } }) } }]), a }(D.Component)) || Xe) || Xe) || Xe), Dt = (et = Object(J.b)("store"), Object(Y.f)(tt = et(tt = Object(J.c)(tt = function (e) { Object(L.a)(a, e); var t = Object(B.a)(a); function a() { return Object(U.a)(this, a), t.apply(this, arguments) } return Object(W.a)(a, [{ key: "render", value: function () { var e, t, a, r, n, s = this, c = null !== (e = this.props.store[this.props.field]) && void 0 !== e ? e : 0; return F.a.createElement(V.m, { className: this.props.className || "", stepSize: null !== (t = this.props.stepSize) && void 0 !== t ? t : 10, labelStepSize: null !== (a = this.props.labelStepSize) && void 0 !== a ? a : 10, min: null !== (r = this.props.min) && void 0 !== r ? r : 0, max: null !== (n = this.props.max) && void 0 !== n ? n : 100, value: c, onChange: function (e) { s.props.store[s.props.field] = e, s.props.onUpdate && s.props.onUpdate(e) } }) } }]), a }(D.Component)) || tt) || tt) || tt), Ft = (at = Object(J.b)("store"), Object(Y.f)(rt = at(rt = Object(J.c)(rt = function (e) { Object(L.a)(a, e); var t = Object(B.a)(a); function a() { return Object(U.a)(this, a), t.apply(this, arguments) } return Object(W.a)(a, [{ key: "render", value: function () { var e = this, t = 1, a = Date.now(), r = this.props.field; return F.a.createElement("div", { className: "my-2 " + this.props.className || !1 }, F.a.createElement(V.d, { key: a + t++, checked: "yes" == this.props.store[r], label: this.props.label, onChange: function (t) { e.props.store[r] = t.target.checked ? "yes" : "no" }, inline: !0 })) } }]), a }(D.Component)) || rt) || rt) || rt), Mt = (nt = Object(J.b)("store"), Object(Y.f)(st = nt(st = Object(J.c)(st = function (e) { Object(L.a)(a, e); var t = Object(B.a)(a); function a() { var e; Object(U.a)(this, a); for (var r = arguments.length, n = new Array(r), s = 0; s < r; s++)n[s] = arguments[s]; return (e = t.call.apply(t, [this].concat(n))).state = { actions: {}, list: [], text: "", last: !1, loading: !1, typing: "", force_cn: !1, connect: !1, show_tips: !1, in: !1, saved_list: {}, settings_open: !1, avatar_open: !1, show_undo: !1, point: "-", show_extend_settings: !1 }, e } return Object(W.a)(a, [{ key: "componentDidMount", value: function () { var e = this; window.location.hostname.match(/ftqq.com$/) && this.setState({ in: !0 }), document.addEventListener("keydown", (function (t) { 13 === t.keyCode && (t.metaKey || t.ctrlKey) && e.send(e.state.text) })), document.querySelector(".chat-list").scrollTop = document.querySelector(".chat-list").scrollHeight, window.setTimeout((function () { e.props.store._chat_key && e.props.store._chat_key.length > 10 && e.refresh_point(), e.state.list.length < 1 && e.props.store._chat_last && e.props.store._chat_last.length > 0 && e.setState({ list: e.props.store._chat_last }) }), 1e3) } }, { key: "onChange", value: function (e, t) { this.setState(Object(ot.a)({}, t, e.target.value)) } }, { key: "save_key", value: function () { var e = Object(ne.a)(re.a.mark((function e() { return re.a.wrap((function (e) { for (; ;)switch (e.prev = e.next) { case 0: if (!(this.props.store._chat_key.length < 10)) { e.next = 3; break } return be("\u8bf7\u8f93\u5165\u6b63\u786e\u7684OpenAPI/API2D Key"), e.abrupt("return", !1); case 3: this.props.store.save_vars(), this.api2d_instance = null, be("\u4fdd\u5b58\u6210\u529f"); case 6: case "end": return e.stop() } }), e, this) }))); return function () { return e.apply(this, arguments) } }() }, { key: "clean_conversation", value: function () { var e = Object(ne.a)(re.a.mark((function e() { var t, a = arguments; return re.a.wrap((function (e) { for (; ;)switch (e.prev = e.next) { case 0: if (t = !(a.length > 0 && void 0 !== a[0]) || a[0], "yes" != this.props.store._chat_auto_save || !t) { e.next = 4; break } return e.next = 4, this.save_conversation(); case 4: this.old_list = this.state.list.slice(), this.setState({ last: !1, list: [], loading: !1, show_undo: !0 }), this.props.store._chat_last = [], this.props.store.save_vars("_chat_last"), be("\u5bf9\u8bdd\u5df2\u6e05\u9664\uff0c\u53ef\u70b9\u6062\u590d\u6309\u94ae\u64a4\u9500"); case 9: case "end": return e.stop() } }), e, this) }))); return function () { return e.apply(this, arguments) } }() }, { key: "undo_conversation", value: function () { var e = Object(ne.a)(re.a.mark((function e() { return re.a.wrap((function (e) { for (; ;)switch (e.prev = e.next) { case 0: this.old_list && (this.setState({ last: !1, list: this.old_list, loading: !1, show_undo: !1 }), window.setTimeout((function () { document.querySelector(".chat-list").scrollTop = document.querySelector(".chat-list").scrollHeight }), 300)); case 1: case "end": return e.stop() } }), e, this) }))); return function () { return e.apply(this, arguments) } }() }, { key: "remove_list", value: function () { var e = Object(ne.a)(re.a.mark((function e(t) { return re.a.wrap((function (e) { for (; ;)switch (e.prev = e.next) { case 0: this.props.store._chat_saved_list = this.props.store._chat_saved_list.filter((function (e) { return e.id != t })), this.props.store.save_vars(); case 2: case "end": return e.stop() } }), e, this) }))); return function (t) { return e.apply(this, arguments) } }() }, { key: "rename_conversation", value: function () { var e = Object(ne.a)(re.a.mark((function e(t, a) { var r, n, s, c; return re.a.wrap((function (e) { for (; ;)switch (e.prev = e.next) { case 0: return r = this.getApiInstance(), e.prev = 1, e.next = 4, r.completion({ messages: [{ role: "system", content: "\u4f60\u662f\u4e00\u4e2a\u7ecf\u9a8c\u4e30\u5bcc\u7684\u8bb0\u5f55\u5458\uff0c\u64c5\u957f\u4ece\u5bf9\u8bdd\u4e2d\u63d0\u53d6\u5173\u952e\u4fe1\u606f\uff0c\u5e76\u4e3a\u5bf9\u8bdd\u547d\u540d\u3002" }, { role: "user", content: "\u8bf7\u4e3a\u4ee5\u4e0b\u5bf9\u8bdd\u547d\u540d\uff0c\u4f18\u5148\u4f7f\u7528\u4e2d\u6587\uff0c\u76f4\u63a5\u8fd4\u56de\u540d\u79f0\uff0c\u957f\u5ea6\u572815\u4e2a\u5b57\u4ee5\u5185\u3002\u5bf9\u8bdd\u5185\u5bb9\uff1a" + a }], temperature: 0, max_tokens: 20, model: "gpt-3.5-turbo", stream: !1 }); case 4: n = e.sent, console.log(n), n && n.choices && n.choices.length > 0 && ((c = null === (s = n.choices[0].message) || void 0 === s ? void 0 : s.content).length > 30 && (c = c.substring(0, 30)), this.props.store._chat_saved_list = this.props.store._chat_saved_list.map((function (e) { return e.id == t && (e.name = c), e })), this.props.store.save_vars("_chat_saved_list")), e.next = 12; break; case 9: e.prev = 9, e.t0 = e.catch(1), console.log(e.t0); case 12: case "end": return e.stop() } }), e, this, [[1, 9]]) }))); return function (t, a) { return e.apply(this, arguments) } }() }, { key: "save_conversation", value: function () { var e = Object(ne.a)(re.a.mark((function e() { var t, a, r; return re.a.wrap((function (e) { for (; ;)switch (e.prev = e.next) { case 0: if (!(this.state.list.length < 1)) { e.next = 2; break } return e.abrupt("return", !1); case 2: t = this.state.list[0].text.substring(0, 10) + "-" + (new Date).getTime(), a = (new Date).getTime(), console.log("conversation_id", a), r = this.state.list.map((function (e) { return e.text })).join("\n"), this.props.store._chat_saved_list.length > 100 && this.props.store._chat_saved_list.shift(), this.props.store._chat_saved_list.push({ name: t, list: this.state.list, id: a }), this.props.store.save_vars(), "yes" == this.props.store._chat_summarize_content && this.rename_conversation(a, r.substring(0, 800)); case 10: case "end": return e.stop() } }), e, this) }))); return function () { return e.apply(this, arguments) } }() }, { key: "getApiInstance", value: function () { return this.api2d_instance || (this.api2d_instance = new wt.a(this.props.store._chat_key)), this.api2d_instance } }, { key: "send", value: function () { var e = Object(ne.a)(re.a.mark((function e(t) { var a, r, n, s, c, i, o, l, u, p, h, m, b, f, d, v = this; return re.a.wrap((function (e) { for (; ;)switch (e.prev = e.next) { case 0: if (!(this.props.store._chat_key.length < 10)) { e.next = 3; break } return be("\u8bf7\u5148\u70b9\u51fb\u53f3\u4e0a\u89d2\u6309\u94ae\u8bbe\u7f6eKey\u4ee5\u540e\u518d\u4f7f\u7528"), e.abrupt("return", !1); case 3: if (!(t.length < 1)) { e.next = 5; break } return e.abrupt("return", !1); case 5: if (!this.state.loading) { e.next = 7; break } return e.abrupt("return", !1); case 7: for (a = this.state.list.concat({ text: t, role: "me" }), this.setState({ loading: !0, typing: "\u6b63\u5728\u601d\u8003\u4e2d...", list: a, show_undo: !1 }), document.querySelector(".chat-list").scrollTop = document.querySelector(".chat-list").scrollHeight, e.prev = 10, (r = this.getApiInstance()).setApiBaseUrl(this.props.store._chat_api_url), parseInt(this.props.store._chat_timeout) > 0 && (r.timeout = 1e3 * parseInt(this.props.store._chat_timeout)), n = -2 - parseInt(this.props.store._chat_history_count || 6), s = n < 0 ? a.slice(n) : [], console.log("old", s), c = [], this.props.store._chat_system_prompt && c.push({ role: "assistant", content: this.props.store._chat_system_prompt }), this.props.store._chat_user_prompt && c.push({ role: "user", content: this.props.store._chat_user_prompt }), i = 0; i < s.length; i++)"me" == s[i].role ? c.push({ role: "user", content: s[i].text }) : c.push({ role: "assistant", content: s[i].text }); if (o = !0, 0 != c.length) { e.next = 25; break } return be("\u8bb0\u5f55\u4e3a\u7a7a"), e.abrupt("return", !1); case 25: return e.prev = 25, e.next = 28, r.completion({ messages: c, temperature: null !== (l = parseFloat(this.props.store._chat_temperature)) && void 0 !== l ? l : 0, max_tokens: null !== (u = parseInt(this.props.store._chat_max_tokens)) && void 0 !== u ? u : 1e3, model: this.props.store._chat_model || "gpt-3.5-turbo", stream: o, onMessage: function (e) { v.setState({ typing: e }), document.querySelector(".chat-list").scrollTop = document.querySelector(".chat-list").scrollHeight }, onEnd: function (e) { v.setState({ typing: "" }), document.querySelector(".chat-list").scrollTop = document.querySelector(".chat-list").scrollHeight } }); case 28: (p = e.sent) && (this.setState({ list: this.state.list.concat({ text: o ? p.trim() : null === (h = p.choices[0]) || void 0 === h || null === (m = h.message) || void 0 === m ? void 0 : m.content.trim(), role: "robot" }), text: "", loading: !1 }), this.props.store._chat_last = this.state.list, this.props.store.save_vars("_chat_last")), e.next = 51; break; case 32: e.prev = 32, e.t0 = e.catch(25), f = e.t0.message, d = null === (b = f.match(/\[(\d+)\]/)) || void 0 === b ? void 0 : b[1], e.t1 = d, e.next = "401" === e.t1 ? 39 : "402" === e.t1 ? 41 : "403" === e.t1 ? 43 : "408" === e.t1 ? 45 : "429" === e.t1 ? 47 : 49; break; case 39: return f = "Key\u9519\u8bef\u6216\u8005\u8d26\u6237\u72b6\u6001\u9519\u8bef\uff0c\u8bf7\u68c0\u67e5\uff1akey\u662f\u5426\u6b63\u786e\u3001key\u662f\u5426\u88ab\u7981\u7528", e.abrupt("break", 49); case 41: return f = "\u8d26\u6237\u70b9\u6570\u4e0d\u8db3\uff0c\u8bf7\u5145\u503c\u3002Api2d \u6309\u8bbe\u7f6e\u4e2d\u7684 Max token \u8fdb\u884c\u9884\u6263\uff0c\u56e0\u6b64\u5e76\u4e0d\u662f\u70b9\u6570\u5927\u4e8e\u96f6\u5c31\u53ef\u4ee5\u4f7f\u7528\u3002", e.abrupt("break", 49); case 43: return f = "\u8bf7\u6c42\u7684\u6a21\u578b\u6216\u8005\u8def\u5f84\u4e0d\u53ef\u7528\u6216\u672a\u5f00\u653e\uff0c\u8bf7\u68c0\u67e5\uff1a\u6a21\u578b\u662f\u5426\u5b58\u5728\u3001\u6a21\u578b\u662f\u5426\u88ab\u7981\u7528", e.abrupt("break", 49); case 45: return f = "\u8bf7\u6c42\u8d85\u65f6\uff0c\u53ef\u8c03\u6574\u5ba2\u6237\u7aef\u8bbe\u7f6e\uff1b\u670d\u52a1\u5668\u7aef\u6700\u957f\u54cd\u5e94\u65f6\u95f4\u4e3a180\u79d2", e.abrupt("break", 49); case 47: return f = "\u8bf7\u6c42\u8fc7\u4e8e\u9891\u7e41\uff0c\u6216\u8005\u670d\u52a1\u5668\u8fde\u63a5\u8fc7\u591a\uff0c\u8bf7\u7a0d\u540e\u518d\u8bd5", e.abrupt("break", 49); case 49: be("\u9519\u8bef\uff1a" + f), this.setState({ loading: !1, typing: "" }); case 51: document.querySelector(".input-box").focus(), document.querySelector(".chat-list").scrollTop = document.querySelector(".chat-list").scrollHeight, this.refresh_point(), e.next = 61; break; case 56: e.prev = 56, e.t2 = e.catch(10), console.log("error", e.t2), be("\u53d1\u9001\u8bf7\u6c42\u5931\u8d25\uff0c\u8bf7OpenAPI Key\u662f\u5426\u6b63\u786e\u6216\u91cd\u8bd5\u3002"), this.setState({ loading: !1 }); case 61: case "end": return e.stop() } }), e, this, [[10, 56], [25, 32]]) }))); return function (t) { return e.apply(this, arguments) } }() }, { key: "warning", value: function (e) { "gpt-4" == e && be("GPT-4\u6a21\u578b\u4ef7\u683c\u662f3.5\u768415~30\u500d\uff0c\u4e14\u8fd4\u56de\u8f83\u6162\u5bb9\u6613\u8d85\u65f6\uff0c\u8bf7\u8c28\u614e\u4f7f\u7528\u3002"), this.props.store.save_vars("_chat_model") } }, { key: "select_action", value: function () { var e = Object(ne.a)(re.a.mark((function e(t) { return re.a.wrap((function (e) { for (; ;)switch (e.prev = e.next) { case 0: this.state.actions[t.target.value] && this.send(this.state.actions[t.target.value]); case 1: case "end": return e.stop() } }), e, this) }))); return function (t) { return e.apply(this, arguments) } }() }, { key: "set_text", value: function () { var e = Object(ne.a)(re.a.mark((function e(t) { return re.a.wrap((function (e) { for (; ;)switch (e.prev = e.next) { case 0: this.setState({ text: this.state.text + " " + t }); case 1: case "end": return e.stop() } }), e, this) }))); return function (t) { return e.apply(this, arguments) } }() }, { key: "donate", value: function () { var e = Object(ne.a)(re.a.mark((function e() { return re.a.wrap((function (e) { for (; ;)switch (e.prev = e.next) { case 0: this.props.history.push("/donate"); case 1: case "end": return e.stop() } }), e, this) }))); return function () { return e.apply(this, arguments) } }() }, { key: "load_list", value: function () { var e = Object(ne.a)(re.a.mark((function e(t) { var a; return re.a.wrap((function (e) { for (; ;)switch (e.prev = e.next) { case 0: a = JSON.parse(t), this.setState({ list: a }); case 2: case "end": return e.stop() } }), e, this) }))); return function (t) { return e.apply(this, arguments) } }() }, { key: "refresh_point", value: function () { var e = Object(ne.a)(re.a.mark((function e() { var t, a; return re.a.wrap((function (e) { for (; ;)switch (e.prev = e.next) { case 0: if (this.props.store._chat_api_url && this.props.store._chat_key && this.props.store._chat_key.startsWith("fk")) { e.next = 2; break } return e.abrupt("return", !1); case 2: return e.prev = 2, (t = this.getApiInstance()).setApiBaseUrl(this.props.store._chat_api_url), e.next = 7, t.billing(); case 7: (a = e.sent) && (a.object && "error" == a.object && be("\u83b7\u53d6\u70b9\u6570\u5931\u8d25\uff1a" + a.message), a.total_available && this.setState({ point: a.total_available })), e.next = 15; break; case 11: e.prev = 11, e.t0 = e.catch(2), console.log("error", e.t0), be("\u83b7\u53d6\u70b9\u6570\u5931\u8d25\uff0c\u8bf7\u68c0\u67e5\u8bf7\u6c42\u5730\u5740\u548cKey\uff1a" + e.t0.message); case 15: case "end": return e.stop() } }), e, this, [[2, 11]]) }))); return function () { return e.apply(this, arguments) } }() }, { key: "save", value: function () { var e = Object(ne.a)(re.a.mark((function e() { return re.a.wrap((function (e) { for (; ;)switch (e.prev = e.next) { case 0: return this.props.store._chat_key = this.props.store._chat_key.trim(), this.props.store._chat_api_url = this.props.store._chat_api_url.trim(), (!this.props.store._chat_api_url || this.props.store._chat_key.startsWith("fk") && this.props.store._chat_api_url.startsWith("https://api.openai.com")) && (this.props.store._chat_api_url = "https://openai.api2d.net", be("\u68c0\u6d4b\u5230\u60a8\u4f7f\u7528\u7684\u662fForward Key\uff0c\u5df2\u81ea\u52a8\u5207\u6362\u5230api2d.net")), this.props.store.save_vars(), this.api2d_instance = null, e.next = 7, this.refresh_point(); case 7: this.setState({ settings_open: !1 }); case 8: case "end": return e.stop() } }), e, this) }))); return function () { return e.apply(this, arguments) } }() }, { key: "avatar_save", value: function () { var e = Object(ne.a)(re.a.mark((function e() { return re.a.wrap((function (e) { for (; ;)switch (e.prev = e.next) { case 0: this.props.store.save_vars(), this.setState({ avatar_open: !1 }); case 2: case "end": return e.stop() } }), e, this) }))); return function () { return e.apply(this, arguments) } }() }, { key: "abort", value: function () { var e = Object(ne.a)(re.a.mark((function e() { return re.a.wrap((function (e) { for (; ;)switch (e.prev = e.next) { case 0: this.getApiInstance().abort(), this.setState({ loading: !1, typing: "" }); case 3: case "end": return e.stop() } }), e, this) }))); return function () { return e.apply(this, arguments) } }() }, { key: "render", value: function () { var e, t, a, r = this, n = F.a.createElement("div", { className: "right-box" }, F.a.createElement("div", { className: "row flex md:flex-row flex-col" }, F.a.createElement("div", { className: "left flex-1" }), F.a.createElement("div", { className: "right" }, F.a.createElement(V.e, { vertical: window.innerWidth < 600 }, this.props.store._chat_key && this.props.store._chat_key.startsWith("fk") && F.a.createElement(V.h, { className: "md:w-40 w-full", large: !0, rightElement: F.a.createElement(V.b, { icon: "refresh", minimal: !0, onClick: function () { return r.refresh_point() }, large: !0 }), value: this.state.point + "P", readOnly: !0 }), F.a.createElement(V.b, { icon: "key", onClick: function () { return r.setState({ settings_open: !0 }) }, large: !0 }, "Key\u548c\u5176\u4ed6\u8bbe\u7f6e"), window.innerWidth >= 600 && F.a.createElement(V.b, { className: "hidden", icon: "info-sign", onClick: function () { return be("\u60a8\u7684key\u4fdd\u5b58\u5728\u5ba2\u6237\u7aef\u4e2d\uff0c\u76f4\u63a5\u548cOpenAI/API2d\u901a\u4fe1\uff0cKey\u548c\u6570\u636e\u5747\u4e0d\u901a\u8fc7\u6211\u4eec\u7684\u670d\u52a1\u5668\uff0c\u8bf7\u653e\u5fc3\u4f7f\u7528") }, large: !0 }, "\u6570\u636e\u5b89\u5168")))), F.a.createElement("div", { className: "chat-list" }, this.state.show_undo ? F.a.createElement("div", { className: "text-center gray-btn gray-text" }, F.a.createElement(V.c, null, F.a.createElement(V.b, { icon: "undo", minimal: !0, onClick: function () { return r.undo_conversation() } }, "\u64a4\u9500\u6e05\u7a7a"))) : null, this.state.list && this.state.list.map((function (e, t) { var a; return F.a.createElement("div", { className: "chat-item ".concat(e.role), key: t }, F.a.createElement("div", { className: "chat-text content ", onDoubleClick: function () { return r.set_text(e.text) } }, F.a.createElement(Kt, { markdown: null === (a = e.text) || void 0 === a ? void 0 : a.trim() }))) })), this.state.typing && F.a.createElement("div", { className: "chat-item robot" }, F.a.createElement("div", { className: "chat-text content" }, F.a.createElement(V.n, { size: 12, className: "mr-2" }), null === (e = this.state.typing) || void 0 === e ? void 0 : e.trim(), " ", F.a.createElement(V.b, { icon: "cross", minimal: !0, onClick: function () { return r.abort() } }))), this.state.list && this.state.list.length > 0 && F.a.createElement("div", { className: "text-center gray-btn gray-text" }, F.a.createElement(V.c, null, F.a.createElement(V.b, { icon: "eraser", minimal: !0, onClick: function () { return r.clean_conversation(!1) } }, "\u6e05\u7a7a\u8bb0\u5f55")))), F.a.createElement("div", { className: "chat-box" }, F.a.createElement("form", { action: "post", id: "chat-form", className: "flex flex-col", onSubmit: function (e) { e.preventDefault(), r.send(r.state.text) } }, F.a.createElement(V.o, { large: !0, rows: 4, disabled: this.state.loading, placeholder: "\u8f93\u5165\u4f60\u7684\u95ee\u9898", autoFocus: !0, className: "input-box", onChange: function (e) { return r.onChange(e, "text") }, value: this.state.text }), F.a.createElement("div", { className: "flex md:flex-row md:justify-between flex-col items-center mb-2" }, F.a.createElement("div", { className: "left flex md:flex-row md:items-center flex-col" }, F.a.createElement(Ct, { onUpdate: function (e) { return r.warning(e) }, className: "mt-2 mb-2 md:mb-0 md:block hidden", field: "_chat_model", options: [{ label: "GPT3.5", value: "gpt-3.5-turbo" }, { label: "GPT4", value: "gpt-4" }] }), F.a.createElement(V.c, { className: "mt-2 md:mt-0" }, F.a.createElement(V.b, { large: !0, className: "md:mt-2 md:ml-1", icon: this.state.loading ? F.a.createElement(V.n, { size: 12 }) : "send-message", type: "submit", disabled: this.state.loading }, this.state.loading ? "\u8bf7\u7a0d\u5019" : "\u53d1\u9001(cmd/ctrl+enter)"), F.a.createElement(V.b, { large: !0, className: "md:mt-2 ", icon: "clean", onClick: function () { return r.clean_conversation() } }, "\u65b0\u5bf9\u8bdd"))), F.a.createElement("div", { className: "right hidden md:block flex flex-row items-center justify-center" }, "yes" != this.props.store._chat_auto_save ? F.a.createElement(V.b, { large: !0, className: "mt-2 ml-2", icon: "floppy-disk", onClick: function () { return r.save_conversation() } }, "\u4fdd\u5b58\u5bf9\u8bdd") : F.a.createElement(Ft, { field: "_chat_auto_save", label: "\u81ea\u52a8\u4fdd\u5b58\u4f1a\u8bdd", className: "no-margin", options: [{ label: "\u662f", value: "yes" }, { label: "\u5426", value: "no" }] })))))); (this.state.actions ? Object.keys(this.state.actions).map((function (e) { if (e.trim().length > 0) return { label: e, value: e } })) : []).unshift({ label: "\u8bf7\u9009\u62e9", value: "" }); var s = F.a.createElement("div", { className: "left-box flex-1" }, F.a.createElement("div", null, this.props.store._chat_saved_list && this.props.store._chat_saved_list.length > 0 && F.a.createElement("div", { className: "text-lg mb-2 text-gray-300 text-right mt-6 mr-2" }, F.a.createElement(V.b, { icon: "history", large: !0, minimal: !0, disabled: !0, text: "\u5bf9\u8bdd\u8bb0\u5f55" })), F.a.createElement("div", { className: "history-list" }, this.props.store._chat_saved_list && (null === (t = this.props.store._chat_saved_list) || void 0 === t ? void 0 : t.reverse().map((function (e, t) { return F.a.createElement("div", { key: t, className: "history-item mb-2 border rounded mb-2 p-2 text-sm text-gray-400 hover:text-blue-400 flex flex-row justify-between" }, F.a.createElement("div", { className: "left flex flex-row items-center" }, e.name.substring(0, 30)), F.a.createElement("div", { className: "right action-icon ml-2 gray-btn" }, F.a.createElement(V.b, { small: !0, minimal: !0, icon: "history", title: "\u8f7d\u5165", onClick: function () { return r.load_list(JSON.stringify(e.list)) } }), F.a.createElement(V.b, { small: !0, minimal: !0, icon: "cross", title: "\u5220\u9664", onClick: function () { return r.remove_list(e.id) } }))) }))))), F.a.createElement("div", { className: null !== (a = "char-box opacity-" + this.props.store._chat_char_opacity) && void 0 !== a ? a : 80 }, F.a.createElement("img", { src: this.props.store._chat_avatar_url || "char.png", onError: function () { r.props.store._chat_avatar_url && (r.props.store._chat_avatar_url = null) }, alt: "", className: "char", onClick: function () { return r.setState({ avatar_open: !0 }) } }), F.a.createElement(Dt, { className: "slider", field: "_chat_char_opacity", min: 10, stepSize: 10, labelStepSize: 10, onUpdate: function () { return r.props.store.save_vars() } }))), c = F.a.createElement("div", { className: "flex flex-row chat-page" }, s, n, this.state.show_tips && F.a.createElement(V.f, { className: "p-10", isOpen: this.state.show_tips, onClose: function () { return r.setState({ show_tips: !1 }) } }, F.a.createElement("div", { className: "bg-white p-5 rounded mb-3" }, "\ud83c\udf89 Chat\u9171\u652f\u6301\u4e86Forward KEY\uff0c\u53ef\u4ee5\u7528\u56fd\u5185\u5361\u5145\u503c\u4e86"), F.a.createElement("div", { className: "text-lg" }, "\u7533\u8bf7Forward KEY\xb7\u56fd\u5185\u5361\u53ef\u7528"), F.a.createElement("ul", { className: "lead-loose pt-2" }, F.a.createElement("li", { className: "mb-1" }, "\u2460 \u7528GitHub\u8d26\u53f7\u767b\u5165", F.a.createElement("a", { href: "https://api2d.com", target: "_blank" }, "API2D")), F.a.createElement("li", { className: "mb-1" }, "\u2461 \ud83d\udcb0\u5230", F.a.createElement("a", { href: "https://api2d.com/wechat/recharge", target: "_blank" }, "\u5145\u503c\u9875\u9762\u5145\u503c")), F.a.createElement("li", { className: "mb-1" }, "\u2462 \u5c06Forward KEY\u586b\u5165\u672c\u9875\u9762\u5373\u53ef")), this.state.in ? F.a.createElement("div", { className: "text-gray-400 mt-5" }, "\u26a0\ufe0f \u5f53\u524d\u73af\u5883\u65e0\u6cd5\u4f7f\u7528OpenAI API") : F.a.createElement(F.a.Fragment, null, F.a.createElement("div", { className: "text-lg mt-5" }, "\u7533\u8bf7 OpenAI \u5b98\u65b9 KEY"), F.a.createElement("ul", { className: "lead-loose pt-2" }, F.a.createElement("li", { className: "mb-1" }, "\u2460 \u4f7f\u7528\u6d77\u5916\u7f51\u7edc\u8bbf\u95ee", F.a.createElement("a", { href: "https://openai.com/api/", target: "_blank" }, "OpenAI")), F.a.createElement("li", { className: "mb-1" }, "\u2461 \ud83d\udcb0", F.a.createElement("a", { href: "https://sms-activate.org/?ref=4207095", target: "_blank" }, "\u6ce8\u518c\u6d77\u5916\u865a\u62df\u7535\u8bdd\u53f7\u7801\u63a5\u6536\u6fc0\u6d3b\u77ed\u4fe1")), F.a.createElement("li", { className: "mb-1" }, "\u2462 ", F.a.createElement("a", { href: "https://openai.com/api/", target: "_blank" }, "\u5230API\u9875\u9762\u521b\u5efa\u5e76\u590d\u5236KEY")), F.a.createElement("li", { className: "mb-1 text-gray-400" }, "PS: OpenAI\u8d26\u53f7\u4e0d\u63a5\u53d7\u56fd\u5185\u4fe1\u7528\u5361\u5145\u503c\uff0c\u56e0\u6b64\u7528\u5b8c\u514d\u8d39\u989d\u5ea6\u540e\u53ea\u80fd\u91cd\u65b0\u6ce8\u518c")))), F.a.createElement(V.f, { isOpen: this.state.settings_open, title: "\u8bbe\u7f6e", icon: "info-sign", onClose: function () { return r.setState({ settings_open: !1 }) } }, F.a.createElement("div", { className: "p-5 mt-2" }, F.a.createElement(_t, { field: "_chat_key", label: "KEY", placeholder: "\u8bf7\u8f93\u5165OpenAI/Forward KEY: sk-xxx/fkxxx" }), F.a.createElement(_t, { field: "_chat_api_url", label: "API\u5730\u5740", placeholder: "\u8bf7\u8f93\u5165API\u5730\u5740\uff0c\u7559\u7a7a\u8bbf\u95eeOpenAI\u5b98\u65b9" }), this.state.show_extend_settings ? F.a.createElement(F.a.Fragment, null, F.a.createElement("div", { className: "flex flex-row" }, F.a.createElement(_t, { field: "_chat_max_tokens", label: "Max Tokens", placeholder: "\u6700\u5927 token \u6570\u91cf\uff0c\u4e00\u822c\u804a\u59291000\u5373\u53ef\uff0c3.5\u6700\u5927\u4e3a4000,4\u4e3a8000\uff0c\u5426\u5219\u5bb9\u6613\u51fa\u9519", className: "mr-2 flex-1" }), F.a.createElement(_t, { field: "_chat_temperature", label: "\u53d1\u6563\u5ea6", placeholder: "Temperature\uff0c\u53d1\u6563\u7a0b\u5ea6\uff0c0~2\u4e4b\u95f4\uff0c\u8d8a\u5927\u8d8a\u53d1\u6563", className: "flex-1 mr-2" }), F.a.createElement(_t, { field: "_chat_timeout", label: "\u8d85\u65f6\u65f6\u95f4\xb7\u79d2", placeholder: "\u8d85\u65f6\u4f1a\u81ea\u52a8\u7ec8\u6b62\u8bf7\u6c42", className: "mr-2 flex-1" }), F.a.createElement(_t, { field: "_chat_history_count", label: "\u5386\u53f2\u4e0a\u4e0b\u6587\u6570\u91cf", placeholder: "\u6bcf\u6b21\u9644\u5e26\u7684\u4e0a\u4e0b\u6587\u6761\u6570\uff0c\u4f1a\u53d7 Max tokens\u9650\u5236", className: "flex-1" })), F.a.createElement("div", { className: "flex flex-row" }, F.a.createElement(Ft, { field: "_chat_auto_save", label: "\u81ea\u52a8\u4fdd\u5b58\u4f1a\u8bdd", className: "mr-2", options: [{ label: "\u662f", value: "yes" }, { label: "\u5426", value: "no" }] }), F.a.createElement(Ft, { field: "_chat_summarize_content", label: "\u4f7f\u7528GPT\u751f\u6210\u4f1a\u8bdd\u6807\u9898" })), F.a.createElement(_t, { field: "_chat_system_prompt", label: "\u7cfb\u7edf\u63d0\u793a\u8bcd", placeholder: "system prompt" }), F.a.createElement(_t, { field: "_chat_user_prompt", label: "\u7528\u6237\u63d0\u793a\u8bcd", placeholder: "user prompt" })) : F.a.createElement("div", { className: "flex flex-row mb-5 items-center" }, F.a.createElement(V.b, { icon: "chevron-down", className: "mr-2", large: !0, onClick: function () { return r.setState({ show_extend_settings: !0 }) } }, "\u9ad8\u7ea7\u8bbe\u7f6e")), F.a.createElement(It, { onSubmit: function () { return r.save() }, cancel: F.a.createElement(V.a, { large: !0, icon: "key", href: "", target: "_blank" }, "GJBlack") }), F.a.createElement("div", { className: "text-center box-footer text-gray-400" }, "- GJBlack v", this.props.store.version, " -"))), F.a.createElement(V.f, { isOpen: this.state.avatar_open, title: "\u8bbe\u7f6e\u804a\u5929\u52a9\u7406\u548c\u80cc\u666f", icon: "info-sign", onClose: function () { return r.setState({ avatar_open: !1 }) } }, F.a.createElement("div", { className: "p-5 mt-2" }, F.a.createElement(_t, { field: "_chat_avatar_url", placeholder: "\u8bf7\u7c98\u8d34\u4e00\u4e2a\u53ef\u4ee5\u8bbf\u95ee\u7684\u56fe\u7247URL\uff0c\u6700\u597d\u80cc\u666f\u900f\u660e\uff0c\u5982https://..." }), F.a.createElement(_t, { field: "_chat_bg_url", placeholder: "\u80cc\u666f\u56fe\u7247URL\uff0c\u5982https://..." }), F.a.createElement(It, { onSubmit: function () { return r.avatar_save() }, cancel: F.a.createElement(V.b, { onClick: function () { return r.setState({ avatar_open: !1 }) }, large: !0 }, "\u5173\u95ed") })))); return F.a.createElement(dt, { title: this.props.store.appname, main: c }) } }]), a }(D.Component)) || st) || st) || st), Rt = a(450), Ut = (ct = Object(J.b)("store"), Object(Y.f)(it = ct(it = Object(J.c)(it = function (e) { Object(L.a)(a, e); var t = Object(B.a)(a); function a() { return Object(U.a)(this, a), t.apply(this, arguments) } return Object(W.a)(a, [{ key: "submit", value: function () { var e = Object(ne.a)(re.a.mark((function e() { var t, a, r, n, s, c; return re.a.wrap((function (e) { for (; ;)switch (e.prev = e.next) { case 0: t = this.props.store._donate_keys.trim().split("\n"), a = [], be("\u6b63\u5728\u9a8c\u8bc1KEY\uff0c\u8bf7\u7a0d\u5019"), r = Object(Rt.a)(t), e.prev = 4, r.s(); case 6: if ((n = r.n()).done) { e.next = 14; break } return s = n.value, e.next = 10, this.props.store.api.rawPost("".concat(this.props.store.local_apibase, "/chat/verify"), { key: s }); case 10: (c = e.sent) && "done" == c.message && a.push(s); case 12: e.next = 6; break; case 14: e.next = 19; break; case 16: e.prev = 16, e.t0 = e.catch(4), r.e(e.t0); case 19: return e.prev = 19, r.f(), e.finish(19); case 22: if (!(a.length < 1)) { e.next = 27; break } return be("\u6ca1\u6709\u662f\u6709\u6548\u7684KEY"), e.abrupt("return"); case 27: be("".concat(a.length, "\u4e2aKEY\u901a\u8fc7\u6821\u9a8c\uff0c\u6b63\u5728\u63d0\u4ea4\u6570\u636e")); case 28: case "end": return e.stop() } }), e, this, [[4, 16, 19, 22]]) }))); return function () { return e.apply(this, arguments) } }() }, { key: "render", value: function () { var e = this, t = F.a.createElement("div", { className: "p-12" }, F.a.createElement("div", { className: "text-center text-2xl" }, "\u8d5e\u52a9OpenAI KEY"), F.a.createElement(_t, { type: "textarea", fill: !0, label: "OpenAI KEY", field: "_donate_keys", placeholder: "\u4e00\u884c\u4e00\u4e2aKey\uff0c\u5f62\u5982 sk... " }), F.a.createElement(_t, { label: "\u6587\u5b57\u5e7f\u544a\u6587\u6848", field: "_donate_title", placeholder: "30\u5b57\u7b26\u5185\uff0c\u4f1a\u4eba\u5de5\u5ba1\u6838\uff0c\u8fdd\u53cd\u5185\u5730\u6cd5\u5f8b\u6cd5\u89c4\u548c\u4e0d\u771f\u5b9e\u5185\u5bb9\u5c06\u4e0d\u4f1a\u901a\u8fc7" }), F.a.createElement(_t, { label: "\u6587\u5b57\u5e7f\u544a\u94fe\u63a5", field: "_donate_link", placeholder: "https://... \u53ef\u586b\u5165\u4e2a\u4eba\u7f51\u7ad9\u3001\u7f51\u5e97\u3001\u535a\u5ba2\u4e4b\u7c7b" }), F.a.createElement(It, { label: "\u63d0\u4ea4", onSubmit: function () { return e.submit() } }), F.a.createElement("div", { className: "text-lg mt-8" }, "\u6548\u679c\u9884\u89c8"), F.a.createElement("div", { className: "preview border rounded p-5 mt-5" }, F.a.createElement("div", { className: "line-1" }, "\u60a8\u4f7f\u7528\u7684 Key \u7531 ", F.a.createElement("span", { className: "text-blue-500" }, this.props.store.user.name), " \u53cb\u60c5\u63d0\u4f9b"), F.a.createElement("div", { className: "line-2 mt-3 flex flex-row item-center" }, F.a.createElement("span", { className: "text-white bg-gray-300 rounded px-1 mr-2" }, "\u5e7f\u544a"), F.a.createElement("a", { href: this.props.store._donate_link || "https://stack.ftqq.com/subscribe", target: "_blank" }, this.props.store._donate_title || "\u65b9\u7cd6\u8d85\u7ea7\u4f1a\u5458\xb7\u52a9\u529b\u4ece\u87ba\u4e1d\u9489\u5230\u4e00\u4eba\u4f01\u4e1a")))); return F.a.createElement(dt, { title: this.props.store.appname, main: t }) } }]), a }(D.Component)) || it) || it) || it), Wt = function (e) { Object(L.a)(a, e); var t = Object(B.a)(a); function a() { return Object(U.a)(this, a), t.apply(this, arguments) } return Object(W.a)(a, [{ key: "render", value: function () { return F.a.createElement(H.a, null, F.a.createElement(Y.c, null, F.a.createElement(Y.a, { path: "/donate", component: Ut }), F.a.createElement(Y.a, { path: "/chat", component: Mt }), F.a.createElement(Y.a, { path: "/login/auto/:token", component: xt }), F.a.createElement(Y.a, { path: "/after/login", component: Et }), F.a.createElement(Y.a, { path: "/profile", component: jt }), F.a.createElement(Y.a, { path: "/recharge", component: yt }), F.a.createElement(Y.a, { path: "/logout", component: Ot }), F.a.createElement(Y.a, { path: "/logback", component: vt }), F.a.createElement(Y.a, { path: "/login", component: kt }), F.a.createElement(Y.a, { path: "/index", component: $ }), F.a.createElement(Y.a, { path: "/", component: Mt }))) } }]), a }(D.Component); Boolean("localhost" === window.location.hostname || "[::1]" === window.location.hostname || window.location.hostname.match(/^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/)); console.log("Welcome to ".concat(pe.appname)), console.log = function () { }, R.a.render(F.a.createElement(J.a, { store: pe }, F.a.createElement(Wt, null)), document.getElementById("root")), "serviceWorker" in navigator && navigator.serviceWorker.ready.then((function (e) { e.unregister() })) }, 568: function (e, t, a) { e.exports = a(1427) }, 573: function (e, t, a) { } }, [[568, 1, 2]]]);