| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293 |
- "use strict";
- const common_vendor = require("../../common/vendor.js");
- const hooks_useToast = require("../../hooks/useToast.js");
- const api_index = require("../../api/index.js");
- const utils_ifApp = require("../../utils/ifApp.js");
- if (!Array) {
- const _component_up_overlay = common_vendor.resolveComponent("up-overlay");
- const _easycom_uni_icons2 = common_vendor.resolveComponent("uni-icons");
- const _component_up_tabbar = common_vendor.resolveComponent("up-tabbar");
- const _component_up_popup = common_vendor.resolveComponent("up-popup");
- (_component_up_overlay + _easycom_uni_icons2 + _component_up_tabbar + _component_up_popup)();
- }
- const _easycom_uni_icons = () => "../../uni_modules/uni-icons/components/uni-icons/uni-icons.js";
- if (!Math) {
- (common_vendor.unref(Comment) + _easycom_uni_icons)();
- }
- const Comment = () => "../../components/comment/index.js";
- const _sfc_main = {
- __name: "index",
- setup(__props) {
- const {
- Toast
- } = hooks_useToast.useToast();
- const goShuiBei = () => {
- alert(utils_ifApp.browser.versions.iPhone);
- if (utils_ifApp.browser.versions.android) {
- window.open("appmarket://details?id=com.tencent.mm");
- } else {
- common_vendor.index.navigateTo({
- url: "/pages/index/index"
- });
- }
- };
- const instance = common_vendor.getCurrentInstance();
- const articleId = common_vendor.ref("");
- const detail = common_vendor.ref(null);
- common_vendor.computed(() => {
- });
- common_vendor.onLoad((options) => {
- articleId.value = options.id || "101";
- fetchArticleDetail();
- });
- common_vendor.onReady(() => {
- common_vendor.index.onKeyboardHeightChange && common_vendor.index.onKeyboardHeightChange(listenerKeybord);
- });
- common_vendor.onShow(() => {
- common_vendor.index.$on("followStateChanged", handleFollowStateChanged);
- });
- common_vendor.onHide(() => {
- common_vendor.index.offKeyboardHeightChange && common_vendor.index.offKeyboardHeightChange(listenerKeybord);
- common_vendor.index.$off("followStateChanged", handleFollowStateChanged);
- });
- function listenerKeybord(res) {
- if (res.height === 0) {
- keybordHeight.value = 0;
- } else {
- common_vendor.index.getSystemInfo({
- success(systemRes) {
- const screenHeight = systemRes.screenHeight;
- const windowHeight = systemRes.windowHeight;
- const disHeight = screenHeight - windowHeight;
- keybordHeight.value = res.height - disHeight;
- }
- });
- }
- }
- async function fetchArticleDetail() {
- try {
- common_vendor.index.showLoading({
- title: "加载中",
- mask: true
- });
- const {
- data
- } = await api_index.getGoodDetailId(articleId.value);
- detail.value = data;
- common_vendor.index.hideLoading();
- } catch (error) {
- common_vendor.index.__f__("error", "at pages/article_details/index.vue:263", "fetchArticleDetail", error);
- common_vendor.index.hideLoading();
- }
- }
- const commentText = common_vendor.ref("");
- const showActionPopup = common_vendor.ref(false);
- function handleDelete() {
- showActionPopup.value = false;
- common_vendor.index.showModal({
- title: "提示",
- content: "确认删除?",
- success: async function(res) {
- if (res.confirm)
- ;
- }
- });
- }
- const commentType = common_vendor.ref("add");
- const commentInputPl = common_vendor.ref("说点什么...");
- function clickComment(comment) {
- const username = comment.userName;
- commentType.value = "reply";
- commentInputPl.value = `回复 @${username}`;
- keybordFocus.value = true;
- }
- const confirmHold = common_vendor.ref(true);
- const commentRef = common_vendor.ref();
- function handleInputConfirm(event) {
- var _a;
- if (((_a = commentText.value) == null ? void 0 : _a.trim()) === "") {
- confirmHold.value = true;
- return Toast({
- title: "有内容才能发送哦"
- });
- }
- confirmHold.value = false;
- commentRef.value.handleAddComment(commentText.value);
- }
- function inputDone() {
- commentText.value = "";
- }
- common_vendor.ref();
- const commentOffsetTop = common_vendor.ref(0);
- common_vendor.watch(
- () => detail.value,
- async (val, oldVal) => {
- if (val && !oldVal) {
- await common_vendor.nextTick$1();
- const query = common_vendor.index.createSelectorQuery().in(instance.proxy);
- query.select(".comment-section").boundingClientRect((data) => {
- if (data.top) {
- commentOffsetTop.value = data.top - 60;
- }
- }).exec();
- }
- }
- );
- function clickMessageIcon() {
- common_vendor.index.pageScrollTo({
- scrollTop: commentOffsetTop.value,
- // selector: ".fixed-view",
- success() {
- common_vendor.index.__f__("log", "at pages/article_details/index.vue:376", "success");
- },
- fail(e) {
- common_vendor.index.__f__("error", "at pages/article_details/index.vue:379", `scrollTo error ${e}`);
- }
- });
- }
- const collectionLoading = common_vendor.ref(false);
- async function handleCollection() {
- try {
- if (collectionLoading.value)
- return;
- collectionLoading.value = true;
- await setUserState({
- type: 1,
- bookId: detail.value.id
- });
- detail.value.collectMark = !detail.value.collectMark;
- if (detail.value.collectMark) {
- detail.value.collectCount += 1;
- } else {
- detail.value.collectCount -= 1;
- }
- collectionLoading.value = false;
- } catch (error) {
- common_vendor.index.__f__("error", "at pages/article_details/index.vue:404", "collection error", error);
- collectionLoading.value = false;
- }
- }
- const likeLoading = common_vendor.ref(false);
- const likeAnimation = common_vendor.ref(false);
- async function handleLike() {
- try {
- if (likeLoading.value)
- return;
- likeLoading.value = true;
- await setUserState({
- type: 0,
- bookId: detail.value.id
- });
- detail.value.likeMark = !detail.value.likeMark;
- if (detail.value.likeMark) {
- likeAnimation.value = true;
- detail.value.likeCount += 1;
- } else {
- likeAnimation.value = false;
- detail.value.likeCount -= 1;
- }
- likeLoading.value = false;
- } catch (error) {
- likeLoading.value = false;
- Toast({
- title: "点赞失败"
- });
- common_vendor.index.__f__("error", "at pages/article_details/index.vue:437", "handleLike", error);
- }
- }
- const keybordHeight = common_vendor.ref(0);
- const keybordOverlay = common_vendor.ref(true);
- const keybordFocus = common_vendor.ref(false);
- function commentInputFocus(event) {
- }
- function commentInputBlur() {
- keybordHeight.value = 0;
- keybordFocus.value = false;
- }
- function clickFooterInput() {
- common_vendor.index.__f__("log", "at pages/article_details/index.vue:465", "点击了底部Input");
- commentInputPl.value = "说点什么...";
- commentType.value = "add";
- keybordFocus.value = true;
- }
- function handleFollowStateChanged(data) {
- var _a;
- if (Number(data.userId) === Number((_a = detail.value) == null ? void 0 : _a.userId)) {
- detail.value.followMark = data.followMark;
- }
- }
- return (_ctx, _cache) => {
- return common_vendor.e({
- a: detail.value
- }, detail.value ? {
- b: detail.value.coverImage,
- c: common_vendor.t(detail.value.title),
- d: common_vendor.t(detail.value.content),
- e: common_vendor.t(detail.value.publishTime),
- f: common_vendor.t(detail.value.commentCount),
- g: common_vendor.sr(commentRef, "04f1b7e6-0", {
- "k": "commentRef"
- }),
- h: common_vendor.o(clickComment),
- i: common_vendor.o(clickMessageIcon),
- j: common_vendor.o(inputDone),
- k: common_vendor.p({
- commentType: commentType.value
- }),
- l: keybordFocus.value,
- m: confirmHold.value,
- n: commentInputPl.value,
- o: common_vendor.o(commentInputFocus),
- p: common_vendor.o(commentInputBlur),
- q: common_vendor.o(handleInputConfirm),
- r: commentText.value,
- s: common_vendor.o(($event) => commentText.value = $event.detail.value),
- t: common_vendor.o(handleInputConfirm),
- v: common_vendor.s(keybordHeight.value > 0 ? "--tabbar-bottom:" + keybordHeight.value + "px" : ""),
- w: common_vendor.o(($event) => keybordHeight.value = 0),
- x: common_vendor.p({
- show: keybordOverlay.value
- }),
- y: common_vendor.n(keybordHeight.value > 0 ? "keybord-fixed" : ""),
- z: common_vendor.o(goShuiBei),
- A: common_vendor.o(clickFooterInput),
- B: common_vendor.p({
- type: "heart",
- size: "24"
- }),
- C: common_vendor.t(detail.value.likeCount),
- D: common_vendor.o(handleLike),
- E: common_vendor.p({
- type: "star",
- size: "24"
- }),
- F: common_vendor.t(detail.value.collectCount),
- G: common_vendor.o(handleCollection),
- H: common_vendor.p({
- type: "chat",
- size: "24"
- }),
- I: common_vendor.t(detail.value.commentCount),
- J: common_vendor.o(clickMessageIcon),
- K: common_vendor.p({
- type: "closeempty",
- size: "28"
- }),
- L: common_vendor.o(($event) => showActionPopup.value = false),
- M: common_vendor.p({
- type: "trash",
- size: "28"
- }),
- N: common_vendor.o(handleDelete),
- O: common_vendor.o(($event) => showActionPopup.value = false),
- P: common_vendor.p({
- show: showActionPopup.value
- })
- } : {});
- };
- }
- };
- const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-04f1b7e6"]]);
- wx.createPage(MiniProgramPage);
- //# sourceMappingURL=../../../.sourcemap/mp-weixin/pages/article_details/index.js.map
|