first commit

This commit is contained in:
SnhAenIgseAl
2026-04-20 13:48:06 +08:00
parent 7bde226505
commit 42c4d10c16
33 changed files with 239 additions and 133 deletions
+2
View File
@@ -80,6 +80,8 @@ const AIChat = async (q, symbol_1, symbol_2, symbol_3) => {
requestTask.abort();
isLoading.value = false;
responseText.value = "";
showResponseText.value = false;
isDone.value = false;
return;
}
},
+2
View File
@@ -2,6 +2,7 @@
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
var common_vendor = require("./common/vendor.js");
var stores_index = require("./stores/index.js");
var utils_share = require("./utils/share.js");
require("./stores/modules/tabIndex.js");
require("./stores/modules/user.js");
require("./stores/modules/AIResponse.js");
@@ -32,6 +33,7 @@ var App = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__file", "D:/\
function createApp() {
const app = common_vendor.createSSRApp(App);
stores_index.setupStore(app);
app.mixin(utils_share.share);
return {
app
};
+3 -3
View File
@@ -24,15 +24,15 @@ const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
const tabBarList = [
{
icon: "home",
title: "\u5B66\u6613"
title: "\u9605\u8BFB"
},
{
icon: "spool",
title: "\u95EE\u6613"
title: "\u7814\u4E60"
},
{
icon: "user",
title: "\u5F52\u5904"
title: "\u6211\u7684"
}
];
const onChange = ({ value }) => {
+1 -1
View File
@@ -1,3 +1,3 @@
"use strict";
const BASE_URL = "https://ching.snhaenigseal.cn";
const BASE_URL = "https://wyserver.ching.chat";
exports.BASE_URL = BASE_URL;
+1 -1
View File
@@ -46,7 +46,7 @@ const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
return (_ctx, _cache) => {
return common_vendor.e({
a: common_vendor.p({
title: "\u5B66\u4E60\u5366\u8F9E"
title: "\u9605\u8BFB"
}),
b: info.value
}, info.value ? {
+1 -1
View File
@@ -32,7 +32,7 @@ const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
return (_ctx, _cache) => {
return common_vendor.e({
a: common_vendor.p({
title: "\u5B66\u6613"
title: "\u9605\u8BFB"
}),
b: common_vendor.p({
text: "\u4E0A\u7ECF",
+111 -74
View File
@@ -129,36 +129,66 @@ const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
const \u723B\u8F9E = common_vendor.ref("");
const \u52A8\u723B\u540D\u79F0 = ["\u521D\u4E5D", "\u4E5D\u4E8C", "\u4E5D\u4E09", "\u4E5D\u56DB", "\u4E5D\u4E94", "\u4E0A\u4E5D", "\u521D\u516D", "\u516D\u4E8C", "\u516D\u4E09", "\u516D\u56DB", "\u516D\u4E94", "\u4E0A\u516D"];
const \u9759\u723B\u5217\u8868 = common_vendor.ref([]);
const \u83B7\u53D6\u52A8\u723B\u540D\u79F0 = async () => {
const \u83B7\u53D6\u723B\u8F9E\u540D\u79F0 = async () => {
const len = \u52A8\u723B\u5217\u8868.value.length;
if (len === 0) {
return "\u65E0";
return {
pos: "\u672C\u5366",
name: "\u65E0"
};
}
if (len === 1) {
return \u52A8\u723B\u5217\u8868.value[0];
return {
pos: "\u672C\u5366",
name: \u52A8\u723B\u5217\u8868.value[0]
};
}
if (len === 2) {
return \u52A8\u723B\u5217\u8868.value[1];
return {
pos: "\u672C\u5366",
name: \u52A8\u723B\u5217\u8868.value[1]
};
}
if (len === 3) {
return \u52A8\u723B\u5217\u8868.value[1];
return {
pos: "\u672C\u5366",
name: \u52A8\u723B\u5217\u8868.value[1]
};
}
if (len === 4) {
return \u9759\u723B\u5217\u8868.value[0];
return {
pos: "\u53D8\u5366",
name: \u9759\u723B\u5217\u8868.value[0]
};
}
if (len === 5) {
return \u9759\u723B\u5217\u8868.value[0];
return {
pos: "\u53D8\u5366",
name: \u9759\u723B\u5217\u8868.value[0]
};
}
if (len === 6) {
if (\u672C\u5366.value === "\u4E7E\u4E3A\u5929") {
return "\u7528\u4E5D";
return {
pos: "\u672C\u5366",
name: "\u7528\u4E5D"
};
} else if (\u672C\u5366.value === "\u5764\u4E3A\u5730") {
return "\u7528\u516D";
return {
pos: "\u672C\u5366",
name: "\u7528\u516D"
};
} else {
return "\u65E0";
return {
pos: "\u672C\u5366",
name: "\u65E0"
};
}
}
return "\u65E0";
return {
pos: "\u672C\u5366",
name: "\u65E0"
};
};
const showCompleteLoading = common_vendor.ref(false);
common_vendor.ref(false);
@@ -213,11 +243,16 @@ const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
\u53D8\u5366.value = utils_gua_64["\u516D\u5341\u56DB\u5366"][i].name;
}
}
let _\u52A8\u723B\u540D\u79F0 = await \u83B7\u53D6\u52A8\u723B\u540D\u79F0();
if (_\u52A8\u723B\u540D\u79F0 === "\u65E0") {
let _\u723B\u8F9E\u540D\u79F0 = await \u83B7\u53D6\u723B\u8F9E\u540D\u79F0();
if (_\u723B\u8F9E\u540D\u79F0.name === "\u65E0") {
\u723B\u8F9E.value = "\u65E0\u52A8\u723B";
} else {
\u723B\u8F9E.value = await api_modules_ZhouYi["\u83B7\u53D6\u6613\u7ECF\u723B\u8F9E"](\u672C\u5366.value, _\u52A8\u723B\u540D\u79F0);
if (_\u723B\u8F9E\u540D\u79F0.pos === "\u672C\u5366") {
\u723B\u8F9E.value = await api_modules_ZhouYi["\u83B7\u53D6\u6613\u7ECF\u723B\u8F9E"](\u672C\u5366.value, _\u723B\u8F9E\u540D\u79F0.name);
}
if (_\u723B\u8F9E\u540D\u79F0.pos === "\u53D8\u5366") {
\u723B\u8F9E.value = await api_modules_ZhouYi["\u83B7\u53D6\u6613\u7ECF\u723B\u8F9E"](\u53D8\u5366.value, _\u723B\u8F9E\u540D\u79F0.name);
}
}
await api_modules_AI.AIChat(
inputTxt.value,
@@ -236,7 +271,7 @@ const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
}
);
const showUserAgreeButton = common_vendor.ref(true);
const agreeMsg = "\u53E4\u4EBA\u4E91\uFF0C\u201C\u5584\u4E3A\u6613\u8005\u4E0D\u5360\u201D\u3002\u524D\u8DEF\u5409\u51F6\uFF0C\u672C\u662F\u4EBA\u5FC3\u4E4B\u5012\u5F71\uFF1B\u5360\u65AD\u5FAE\u8A00\uFF0C\u4E0D\u8FC7\u5366\u8C61\u4E4B\u8FF7\u6D25\u3002\u516D\u723B\u6240\u793A\uFF0C\u5E76\u975E\u4E0D\u53EF\u9006\u8F6C\u7684\u5BBF\u547D\uFF0C\u5176\u6240\u793A\u8005\uFF0C\u65E0\u975E\u6613\u7406\u63A8\u6F14\uFF0C\u672A\u5FC5\u5C3D\u7136\u65E0\u8BEF\u3002\u65E0\u8BBA\u5F97\u9047\u4F55\u5366\uFF0C\u8BF7\u4EE5\u5E73\u548C\u4E4B\u5FC3\u67E5\u770B\u3002\u4E07\u4E8B\u7EC8\u7A76\u4EBA\u4E3A\uFF0C\u662F\u5426\u67E5\u770B\u5360\u65AD\u7ED3\u679C\uFF1F";
const agreeMsg = "\u672C\u7A0B\u5E8F\u7CFB\u514D\u8D39\u7684\u6570\u5B57\u5316\u7814\u4E60\u8F85\u52A9\u5DE5\u5177\uFF0C\u6240\u5F62\u6210\u7684\u5185\u5BB9\u53CA\u539F\u6587\u89E3\u8BFB\uFF0C\u4EC5\u4F9B\u5B66\u4E60\u53C2\u8003\u4E4B\u7528\uFF0C\u4E0D\u63D0\u4F9B\u73B0\u5B9E\u4E8B\u52A1\u9884\u6D4B\u3001\u8FD0\u52BF\u5206\u6790\u7B49\u670D\u52A1\u3002";
const showResponse = common_vendor.ref(false);
const userAgree = () => {
message.confirm({
@@ -272,7 +307,7 @@ const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
resetState();
} else if (lines.value.length === 0) {
if (inputTxt.value === "") {
toast.error("\u8BF7\u8F93\u5165\u6240\u95EE\u4E4B\u4E8B");
toast.error("\u8BF7\u8F93\u5165\u5F53\u524D\u56F0\u60D1");
return;
}
await api_modules_question.createQ(inputTxt.value);
@@ -281,12 +316,12 @@ const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
3
);
if (!func()) {
toast.error("\u60A8\u77ED\u65F6\u95F4\u5185\u5360\u535C\u6B21\u6570\u8FC7\u591A\uFF0C\u8BF7\u7A0D\u540E\u518D\u8BD5");
toast.error("\u60A8\u77ED\u65F6\u95F4\u5185\u89E3\u60D1\u6B21\u6570\u8FC7\u591A\uFF0C\u8BF7\u7A0D\u540E\u518D\u8BD5");
return;
}
coinLoading.value = true;
toast.info({
msg: "\u8BF7\u9759\u5FC3\u7247\u523B\uFF0C\u9ED8\u5FF5\u6240\u95EE\u4E4B\u4E8B",
msg: "\u8BF7\u9759\u5FC3\u7247\u523B\uFF0C\u9ED8\u5FF5\u56F0\u60D1\u4E4B\u4E8B",
closed: () => {
performCast();
coinLoading.value = false;
@@ -295,20 +330,19 @@ const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
} else {
coinLoading.value = true;
performCast();
setTimeout(() => {
await utils_common.sleep(1e3);
coinLoading.value = false;
}, 1e3);
}
};
const currentStep = common_vendor.computed$1(() => lines.value.length);
const isComplete = common_vendor.computed$1(() => lines.value.length === 6);
const buttonText = common_vendor.computed$1(() => {
if (currentStep.value === 0) {
return "\u5F00\u59CB\u8BF7\u723B";
return "\u5F00\u59CB\u6F14\u793A";
} else if (currentStep.value === 6) {
return "\u91CD\u65B0\u8BF7\u723B";
return "\u91CD\u65B0\u6F14\u793A";
} else {
return `\u7EE7\u7EED\u8BF7\u723B`;
return `\u7EE7\u7EED\u6F14\u793A`;
}
});
const displayLines = common_vendor.computed$1(() => {
@@ -342,7 +376,7 @@ const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
return (_ctx, _cache) => {
return common_vendor.e({
a: common_vendor.p({
title: "\u95EE\u6613"
title: "\u7814\u4E60"
}),
b: common_vendor.o(refreshTime),
c: common_vendor.p({
@@ -374,7 +408,7 @@ const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
color: "#333"
}),
i: common_vendor.p({
text: "\u6240\u95EE\u4E4B\u4E8B",
text: "\u5F53\u524D\u56F0\u60D1",
bold: true,
color: "#333"
}),
@@ -397,7 +431,9 @@ const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
block: true,
disabled: common_vendor.unref(showResponseText) && !common_vendor.unref(isDone)
}),
o: common_vendor.f(coins.value, (coin, index, i0) => {
o: lines.value.length
}, lines.value.length ? {
p: common_vendor.f(coins.value, (coin, index, i0) => {
return {
a: "14c39f7b-10-" + i0,
b: common_vendor.p({
@@ -408,18 +444,19 @@ const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
}),
c: index
};
}),
p: common_vendor.p({
text: "\u672C\u5366",
})
} : {}, {
q: common_vendor.p({
text: "\u5F53\u524D",
size: "28rpx",
bold: true,
color: "#333"
}),
q: \u672C\u5366.value
r: \u672C\u5366.value
}, \u672C\u5366.value ? {
r: common_vendor.t(\u672C\u5366.value),
s: common_vendor.o(($event) => common_vendor.unref(utils_common.goTo)(`/pages/ZhouYi/detail?name=${\u672C\u5366.value}`)),
t: common_vendor.p({
s: common_vendor.t(\u672C\u5366.value),
t: common_vendor.o(($event) => common_vendor.unref(utils_common.goTo)(`/pages/ZhouYi/detail?name=${\u672C\u5366.value}`)),
v: common_vendor.p({
size: "small",
plain: true,
["custom-style"]: {
@@ -429,26 +466,26 @@ const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
}
})
} : {}, {
v: lines.value.length === 0
w: lines.value.length === 0
}, lines.value.length === 0 ? {} : {
w: common_vendor.f(common_vendor.unref(displayLines), (line, idx, i0) => {
x: common_vendor.f(common_vendor.unref(displayLines), (line, idx, i0) => {
return {
a: idx,
b: `url(${line.img})`
};
})
}, {
x: common_vendor.p({
text: "\u53D8\u5366",
y: common_vendor.p({
text: "\u53D8\u5316",
size: "28rpx",
bold: true,
color: "#333"
}),
y: \u53D8\u5366.value
z: \u53D8\u5366.value
}, \u53D8\u5366.value ? {
z: common_vendor.t(\u53D8\u5366.value),
A: common_vendor.o(($event) => common_vendor.unref(utils_common.goTo)(`/pages/ZhouYi/detail?name=${\u53D8\u5366.value}`)),
B: common_vendor.p({
A: common_vendor.t(\u53D8\u5366.value),
B: common_vendor.o(($event) => common_vendor.unref(utils_common.goTo)(`/pages/ZhouYi/detail?name=${\u53D8\u5366.value}`)),
C: common_vendor.p({
size: "small",
plain: true,
["custom-style"]: {
@@ -458,33 +495,33 @@ const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
}
})
} : {}, {
C: common_vendor.unref(movingInfo).length === 0
D: common_vendor.unref(movingInfo).length === 0
}, common_vendor.unref(movingInfo).length === 0 ? {
D: common_vendor.t(lines.value.length === 0 ? "\u6682\u65E0" : "\u65E0\u52A8\u723B")
E: common_vendor.t(lines.value.length === 0 ? "\u6682\u65E0" : "\u65E0\u52A8\u723B")
} : {
E: common_vendor.f(common_vendor.unref(movingInfo), (info, idx, i0) => {
F: common_vendor.f(common_vendor.unref(movingInfo), (info, idx, i0) => {
return {
a: idx,
b: `url(${info.img})`
};
})
}, {
F: common_vendor.p({
text: "\u5360\u65AD\u7ED3\u679C",
G: common_vendor.p({
text: "\u5185\u5BB9\u89E3\u6790",
bold: true,
color: "#333"
}),
G: !common_vendor.unref(isComplete)
H: !common_vendor.unref(isComplete)
}, !common_vendor.unref(isComplete) ? {
H: common_vendor.p({
text: "\u5C1A\u672A\u6210\u8C61",
I: common_vendor.p({
text: "\u6682\u65E0",
color: "#333"
})
} : {}, {
I: common_vendor.unref(isComplete) && showUserAgreeButton.value && !showCompleteLoading.value
J: common_vendor.unref(isComplete) && showUserAgreeButton.value && !showCompleteLoading.value
}, common_vendor.unref(isComplete) && showUserAgreeButton.value && !showCompleteLoading.value ? {
J: common_vendor.o(userAgree),
K: common_vendor.p({
K: common_vendor.o(userAgree),
L: common_vendor.p({
block: true,
size: "large",
["custom-style"]: {
@@ -493,48 +530,48 @@ const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
}
})
} : {}, {
L: showResponse.value
M: showResponse.value
}, showResponse.value ? common_vendor.e({
M: common_vendor.p({
text: "\u52A8\u723B\u723B\u8F9E",
N: common_vendor.p({
text: "\u539F\u6587",
bold: true,
color: "#333"
}),
N: \u723B\u8F9E.value
O: \u723B\u8F9E.value
}, \u723B\u8F9E.value ? {
O: common_vendor.p({
P: common_vendor.p({
text: \u723B\u8F9E.value,
color: "#666"
})
} : {
P: common_vendor.p({
text: "\u5C1A\u672A\u6210\u8C61",
Q: common_vendor.p({
text: "\u6682\u65E0",
color: "#666"
})
}, {
Q: common_vendor.p({
text: "\u5366\u8C61\u8BF4\u660E",
R: common_vendor.p({
text: "\u89E3\u6790",
bold: true,
color: "#333"
}),
R: !common_vendor.unref(isComplete)
S: !common_vendor.unref(isComplete)
}, !common_vendor.unref(isComplete) ? {
S: common_vendor.p({
text: "\u5C1A\u672A\u6210\u8C61",
T: common_vendor.p({
text: "\u6682\u65E0",
color: "#666"
})
} : {}, {
T: common_vendor.unref(showResponseText) && common_vendor.unref(responseText)
U: common_vendor.unref(showResponseText) && common_vendor.unref(responseText)
}, common_vendor.unref(showResponseText) && common_vendor.unref(responseText) ? {
U: common_vendor.p({
V: common_vendor.p({
text: common_vendor.unref(responseText),
color: "#666"
})
} : {}, {
V: common_vendor.unref(isDone) && common_vendor.unref(showResponseText)
W: common_vendor.unref(isDone) && common_vendor.unref(showResponseText)
}, common_vendor.unref(isDone) && common_vendor.unref(showResponseText) ? {
W: common_vendor.o(save),
X: common_vendor.p({
X: common_vendor.o(save),
Y: common_vendor.p({
block: true,
size: "large",
["custom-style"]: {
@@ -543,21 +580,21 @@ const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
}
})
} : {}) : {}, {
Y: common_vendor.p({
Z: common_vendor.p({
text: "\u63D0\u793A",
size: "32rpx",
color: "#333"
}),
Z: common_vendor.p({
text: "\u91D1\u94B1\u843D\u5B9A\uFF0C\u516D\u723B\u5DF2\u6210\uFF0C\u6B63\u5728\u4E3A\u60A8\u63A8\u6F14\u5366\u8C61\u2026\u2026 ",
aa: common_vendor.p({
text: "\u4FE1\u606F\u5DF2\u751F\u6210\uFF0C\u6B63\u5728\u6574\u7406\u539F\u6587\u4E0E\u76F8\u5173\u8D44\u6599.....",
size: "28rpx",
color: "#333"
}),
aa: common_vendor.p({
ab: common_vendor.p({
show: showCompleteLoading.value,
["lock-scroll"]: true
}),
ab: common_vendor.p({
ac: common_vendor.p({
position: "middle"
})
});
File diff suppressed because one or more lines are too long
+1 -1
View File
@@ -75,7 +75,7 @@ const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
return (_ctx, _cache) => {
return common_vendor.e({
a: common_vendor.p({
title: "\u4E2A\u4EBA\u4E2D\u5FC3"
title: "\u6211\u7684"
}),
b: avatar.value
}, avatar.value ? {
Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

+16
View File
@@ -0,0 +1,16 @@
"use strict";
var share = {
onShareAppMessage() {
return {
title: "\u5B58\u6613\u77E5\u96BE",
path: "/pages/index/index"
};
},
onShareTimeline() {
return {
title: "\u5B58\u6613\u77E5\u96BE",
path: "/pages/index/index"
};
}
};
exports.share = share;
+1
View File
@@ -9,6 +9,7 @@ onShow(() => {
onHide(() => {
console.log("App Hide");
});
</script>
<style lang="scss">
+2
View File
@@ -128,6 +128,8 @@ export const AIChat = async (
requestTask.abort()
isLoading.value = false
responseText.value = ''
showResponseText.value = false
isDone.value = false
return
}
},
+3 -3
View File
@@ -30,15 +30,15 @@ const {
const tabBarList = [
{
icon: 'home',
title: '学易'
title: '阅读'
},
{
icon: 'spool',
title: '问易'
title: '研习'
},
{
icon: 'user',
title: '归处'
title: '我的'
}
]
+1 -5
View File
@@ -1,5 +1 @@
export const PORT = 1337
// export const HOST_NAME = 'http://localhost'
export const BASE_URL = 'https://ching.snhaenigseal.cn'
// export const BASE_SERVER_URL = `${HOST_NAME}:${PORT}`
// export const BASE_UPLOAD_URL = `${HOST_NAME}:${PORT}/api/upload`
export const BASE_URL = 'https://wyserver.ching.chat'
+2
View File
@@ -2,10 +2,12 @@ import { createSSRApp } from 'vue'
import { setupStore } from './stores'
import App from './App.vue'
import share from './utils/share'
export function createApp() {
const app = createSSRApp(App)
setupStore(app);
app.mixin(share)
return {
app,
}
+1 -1
View File
@@ -1,5 +1,5 @@
<template>
<NavBar title="学习卦辞" />
<NavBar title="阅读" />
<view class="content" v-if="info">
<view class="symbol">
+1 -1
View File
@@ -1,5 +1,5 @@
<template>
<NavBar title="学易" />
<NavBar title="阅读" />
<view style="margin: 16rpx;">
<view class="title">
<wd-text text="上经" size="36rpx" bold color="#333" />
+71 -38
View File
@@ -1,5 +1,5 @@
<template>
<NavBar title="问易" />
<NavBar title="研习" />
<view class="container">
<view class="header" style="position: relative;">
@@ -20,7 +20,7 @@
</view>
<view class="header flex-col gap-4" style="margin-top: 32rpx;">
<wd-text text="所问之事" bold color="#333" />
<wd-text text="当前困惑" bold color="#333" />
<wd-input v-model="inputTxt" placeholder="请输入" :disabled="lines.length !== 0"/>
<!-- 起卦按钮 & 进度提示 -->
@@ -40,7 +40,7 @@
{{ buttonText }}
</wd-button>
<!-- 铜钱区域三个 view 标签显示正面/反面 -->
<view class="coins-area">
<view v-if="lines.length" class="coins-area">
<view
v-for="(coin, index) in coins"
:key="index"
@@ -63,7 +63,7 @@
<!-- 左侧主爻本卦六爻 -->
<view class="main-lines">
<view class="section-title">
<wd-text text="本卦" size="28rpx" bold color="#333" />
<wd-text text="当前" size="28rpx" bold color="#333" />
<wd-button
v-if="本卦"
@click="goTo(`/pages/ZhouYi/detail?name=${本卦}`)"
@@ -78,7 +78,7 @@
{{ 本卦 }}
</wd-button>
</view>
<view v-if="lines.length === 0" class="empty-tip">尚未起卦</view>
<view v-if="lines.length === 0" class="empty-tip">暂无</view>
<view v-else class="lines-list">
<view v-for="(line, idx) in displayLines" :key="idx" class="line-item" :style="{
backgroundImage: `url(${line.img})`
@@ -93,7 +93,7 @@
<!-- 右侧变卦信息 -->
<view class="moving-lines">
<view class="section-title">
<wd-text text="变" size="28rpx" bold color="#333" />
<wd-text text="变" size="28rpx" bold color="#333" />
<wd-button
v-if="变卦"
@click="goTo(`/pages/ZhouYi/detail?name=${变卦}`)"
@@ -123,8 +123,8 @@
</view>
</view>
<wd-text text="占断结果" bold color="#333" />
<wd-text v-if="!isComplete" text="尚未成象" color="#333" />
<wd-text text="内容解析" bold color="#333" />
<wd-text v-if="!isComplete" text="暂无" color="#333" />
<wd-button
v-if="isComplete && showUserAgreeButton && !showCompleteLoading"
@click="userAgree"
@@ -140,16 +140,16 @@
<view v-if="showResponse" class="result-desc flex-col gap-4">
<view class="flex-col gap-2">
<wd-text text="动爻爻辞" bold color="#333" />
<wd-text text="原文" bold color="#333" />
<wd-text v-if="爻辞" :text="爻辞" color="#666" />
<view class="empty-tip" v-else>
<wd-text text="尚未成象" color="#666" />
<wd-text text="暂无" color="#666" />
</view>
</view>
<view class="flex-col gap-2">
<wd-text text="卦象说明" bold color="#333" />
<wd-text text="解析" bold color="#333" />
<view class="empty-tip" v-if="!isComplete">
<wd-text text="尚未成象" color="#666" />
<wd-text text="暂无" color="#666" />
</view>
<wd-text
v-if="showResponseText && responseText"
@@ -181,7 +181,7 @@
<view>
<wd-text text="提示" size="32rpx" color="#333" />
</view>
<wd-text text="金钱落定,六爻已成,正在为您推演卦象…… " size="28rpx" color="#333" />
<wd-text text="信息已生成,正在整理原文与相关资料....." size="28rpx" color="#333" />
</view>
</view>
</wd-overlay>
@@ -321,51 +321,81 @@ const 动爻数量 = ref<number>(0)
const 爻辞 = ref('')
const 动爻名称 = ['初九', '九二', '九三', '九四', '九五', '上九', '初六', '六二', '六三', '六四', '六五', '上六']
const 静爻列表 = ref<string[]>([])
const 静爻名称 = ['初爻', '二爻', '三爻', '四爻', '五爻', '上爻']
// const 静爻名称 = ['初爻', '二爻', '三爻', '四爻', '五爻', '上爻']
const 获取爻名称 = async () => {
const 获取爻名称 = async () => {
const len = 动爻列表.value.length
if (len === 0) {
return '无'
return {
pos: '本卦',
name: '无',
}
}
// 取动爻的爻辞
if (len === 1) {
return 动爻列表.value[0]
return {
pos: '本卦',
name: 动爻列表.value[0],
}
}
// 取上面
if (len === 2) {
return 动爻列表.value[1]
return {
pos: '本卦',
name: 动爻列表.value[1],
}
}
// 取中间
if (len === 3) {
return 动爻列表.value[1]
return {
pos: '本卦',
name: 动爻列表.value[1],
}
}
// 取静爻靠下
if (len === 4) {
return 静爻列表.value[0]
return {
pos: '变卦',
name: 静爻列表.value[0],
}
}
// 取静爻
if (len === 5) {
return 静爻列表.value[0]
return {
pos: '变卦',
name: 静爻列表.value[0],
}
}
if (len === 6) {
if (本卦.value === '乾为天') {
return '用九'
return {
pos: '本卦',
name: '用九',
}
} else if (本卦.value === '坤为地') {
return '用六'
return {
pos: '本卦',
name: '用六',
}
} else {
return '无'
return {
pos: '本卦',
name: '无',
}
}
}
return '无'
return {
pos: '本卦',
name: '无',
}
}
const showCompleteLoading = ref<boolean>(false)
@@ -433,11 +463,16 @@ watch(
}
}
let _爻名称 = await 获取爻名称()
if (_爻名称 === '无') {
let _爻名称 = await 获取爻名称()
if (_爻名称.name === '无') {
爻辞.value = '无动爻'
} else {
爻辞.value = await 获取易经爻辞(本卦.value, _动爻名称)
if (_爻辞名称.pos === '本卦') {
爻辞.value = await 获取易经爻辞(本卦.value, _爻辞名称.name)
}
if (_爻辞名称.pos === '变卦') {
爻辞.value = await 获取易经爻辞(变卦.value, _爻辞名称.name)
}
}
// // AI 回答
@@ -473,7 +508,7 @@ watch(
// 用户同意查看占卜结果并播放音乐
const showUserAgreeButton = ref<boolean>(true)
const agreeMsg = '古人云,“善为易者不占”。前路吉凶,本是人心之倒影;占断微言,不过卦象之迷津。六爻所示,并非不可逆转的宿命,其所示者,无非易理推演,未必尽然无误。无论得遇何卦,请以平和之心查看。万事终究人为,是否查看占断结果?'
const agreeMsg = '本程序系免费的数字化研习辅助工具,所形成的内容及原文解读,仅供学习参考之用,不提供现实事务预测、运势分析等服务。'
const showResponse = ref<boolean>(false)
const userAgree = () => {
// showUserAgreeBox.value = true
@@ -534,12 +569,11 @@ const handleCast = async () => {
// 如果已完成六爻,则先重置
if (lines.value.length === 6) {
resetState()
} else if (lines.value.length === 0) {
if (inputTxt.value === '') {
toast.error('请输入所问之事')
toast.error('请输入当前困惑')
return
}
@@ -549,14 +583,14 @@ const handleCast = async () => {
3
)
if (!func()) {
toast.error('您短时间内占卜次数过多,请稍后再试')
toast.error('您短时间内解惑次数过多,请稍后再试')
return
}
coinLoading.value = true
// 未满六爻,正常摇卦
toast.info({
msg: '请静心片刻,默念所问之事',
msg: '请静心片刻,默念困惑之事',
closed: () => {
performCast()
coinLoading.value = false
@@ -565,9 +599,8 @@ const handleCast = async () => {
} else {
coinLoading.value = true
performCast()
setTimeout(() => {
await sleep(1000)
coinLoading.value = false
}, 1000)
}
}
@@ -580,11 +613,11 @@ const isComplete = computed(() => lines.value.length === 6)
// 按钮动态文本
const buttonText = computed(() => {
if (currentStep.value === 0) {
return '开始请爻'
return '开始演示'
} else if (currentStep.value === 6) {
return '重新请爻'
return '重新演示'
} else {
return `继续请爻`
return `继续演示`
}
})
+1 -1
View File
@@ -1,5 +1,5 @@
<template>
<NavBar title="个人中心" />
<NavBar title="我的" />
<view class="avatar">
<wd-img
Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

+15
View File
@@ -0,0 +1,15 @@
export default {
onShareAppMessage() {
return {
title: '存易知难',
path: '/pages/index/index',
}
},
onShareTimeline() {
return {
title: '存易知难',
path: '/pages/index/index',
}
}
}
Binary file not shown.