hookehuyr

fix(api): 修复 API 生成器路径配置错误

- 修复 openAPIDir 路径:../docs/api-specs → ../../docs/api-specs
- 修复 outputDir 路径:../src/api → ../../src/api
- 新增 article 模块 API(文章详情、收藏、列表、热门)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 +# 文章详情
2 +
3 +## OpenAPI Specification
4 +
5 +```yaml
6 +openapi: 3.0.1
7 +info:
8 + title: ''
9 + version: 1.0.0
10 +paths:
11 + /srv/:
12 + get:
13 + summary: 文章详情
14 + deprecated: false
15 + description: ''
16 + tags:
17 + - 文章
18 + parameters:
19 + - name: f
20 + in: query
21 + description: ''
22 + required: true
23 + example: manulife
24 + schema:
25 + type: string
26 + - name: a
27 + in: query
28 + description: ''
29 + required: true
30 + example: article
31 + schema:
32 + type: string
33 + - name: t
34 + in: query
35 + description: ''
36 + required: false
37 + example: article_detail
38 + schema:
39 + type: string
40 + - name: i
41 + in: query
42 + description: ''
43 + required: false
44 + example: '2742443'
45 + schema:
46 + type: string
47 + responses:
48 + '200':
49 + description: ''
50 + content:
51 + application/json:
52 + schema:
53 + type: object
54 + properties:
55 + code:
56 + type: integer
57 + msg:
58 + type: integer
59 + data:
60 + type: object
61 + properties:
62 + id:
63 + type: integer
64 + title: 文章id
65 + post_title:
66 + type: string
67 + title: 标题
68 + post_content:
69 + type: string
70 + title: 内容
71 + post_excerpt:
72 + type: string
73 + title: 简介
74 + post_link:
75 + type: string
76 + title: 外部链接
77 + post_date:
78 + type: string
79 + title: 发布日期
80 + post_author:
81 + type: integer
82 + title: 发布人id
83 + author_name:
84 + type: string
85 + title: 发布人
86 + file_list:
87 + type: object
88 + properties:
89 + icon:
90 + type: object
91 + properties:
92 + meta_type:
93 + type: string
94 + id:
95 + type: integer
96 + object_id:
97 + type: 'null'
98 + name:
99 + type: string
100 + value:
101 + type: string
102 + description:
103 + type: 'null'
104 + extension:
105 + type: string
106 + post_date:
107 + type: string
108 + icon:
109 + type: 'null'
110 + master_client_id:
111 + type: 'null'
112 + hash:
113 + type: string
114 + height:
115 + type: string
116 + width:
117 + type: string
118 + author:
119 + type: integer
120 + size:
121 + type: 'null'
122 + required:
123 + - meta_type
124 + - id
125 + - object_id
126 + - name
127 + - value
128 + - description
129 + - extension
130 + - post_date
131 + - icon
132 + - master_client_id
133 + - hash
134 + - height
135 + - width
136 + - author
137 + - size
138 + x-apifox-orders:
139 + - meta_type
140 + - id
141 + - object_id
142 + - name
143 + - value
144 + - description
145 + - extension
146 + - post_date
147 + - icon
148 + - master_client_id
149 + - hash
150 + - height
151 + - width
152 + - author
153 + - size
154 + required:
155 + - icon
156 + x-apifox-orders:
157 + - icon
158 + title: 附件列表
159 + is_favorite:
160 + type: integer
161 + required:
162 + - id
163 + - post_title
164 + - post_content
165 + - post_excerpt
166 + - post_link
167 + - post_date
168 + - post_author
169 + - author_name
170 + - file_list
171 + - is_favorite
172 + x-apifox-orders:
173 + - id
174 + - post_title
175 + - post_content
176 + - post_excerpt
177 + - post_link
178 + - post_date
179 + - post_author
180 + - author_name
181 + - file_list
182 + - is_favorite
183 + required:
184 + - code
185 + - msg
186 + - data
187 + x-apifox-orders:
188 + - code
189 + - msg
190 + - data
191 + example:
192 + code: 1
193 + msg: 0
194 + data:
195 + id: 2742443
196 + post_title: 2025年8月闭关出关回顾 | 守住底线,不说他过
197 + post_content: "<p style=\"text-align: center;\"><font size=\"4\" color=\"#030303\"><img src=\"https://cdn.ipadbiz.cn/space/120463/d10f31e186dcab6e9f27485253c06748.jpg\" alt=\"\" style=\"width:630px;\"></font></p><p style=\"text-align: left;\"><font color=\"#030303\" size=\"4\">随着打板声响起,东台弥陀寺2025年8月闭关圆满。</font></p><p style=\"text-align: left;\"><font color=\"#030303\" size=\"4\"><br></font></p><p style=\"text-align: center;\"><font size=\"4\" color=\"#030303\"></font></p><p style=\"text-align: left;\"><font color=\"#030303\" size=\"4\">一扇扇关房的门被轻轻推开,莲友们不畏末伏的酷热,迈着沉静的步伐排队从关房走向大雄宝殿,进行出关大回向。</font></p><p style=\"text-align: left;\"><font color=\"#030303\" size=\"4\"><br></font></p><p style=\"text-align: center;\"><img src=\"https://cdn.ipadbiz.cn/space/120463/80c84a83d16eec0183d2eb85cbf7ea55.png\" alt=\"\" style=\"width:170px;\"></p><p style=\"text-align: center;\"><br></p><p style=\"text-align: center;\"><img src=\"https://cdn.ipadbiz.cn/space/120463/b3a18754a8f7b40242476c7ed3f7e09e.jpg\" alt=\"\" style=\"width:630px;\"></p><p style=\"text-align: center;\"><br></p><p style=\"text-align: center;\"><img src=\"https://cdn.ipadbiz.cn/space/120463/dc1265d5bfff331cfad1f79c7905a691.png\" alt=\"\" style=\"width:630px;\"></p><div class=\"rich_media_content js_underline_content\r\n autoTypeSetting24psection\r\n \" id=\"js_content\" style=\"-webkit-tap-highlight-color: transparent; outline: 0px; overflow: hidden; text-align: justify; position: relative; z-index: 0; user-select: text;\"><section powered-by=\"xiumi.us\" style=\"-webkit-tap-highlight-color: transparent; margin-bottom: 24px; outline: 0px; max-width: 100%; box-sizing: border-box !important; overflow-wrap: break-word !important;\"><section style=\"-webkit-tap-highlight-color: transparent; outline: 0px; max-width: 100%; box-sizing: border-box !important; overflow-wrap: break-word !important;\"><section style=\"-webkit-tap-highlight-color: transparent; margin-right: 16px; margin-bottom: 40px; margin-left: 16px; outline: 0px; max-width: 100%; text-wrap-style: initial; line-height: 2em; visibility: visible; box-sizing: border-box !important; overflow-wrap: break-word !important; letter-spacing: 0.578px;\"><section style=\"-webkit-tap-highlight-color: transparent; margin-bottom: 24px; outline: 0px; max-width: 100%; letter-spacing: 0.578px; line-height: 2em; visibility: visible; text-indent: 0em; box-sizing: border-box !important; overflow-wrap: break-word !important;\"><p style=\"-webkit-tap-highlight-color: transparent; margin-bottom: 24px; outline: 0px; max-width: 100%; clear: both; min-height: 1em; text-wrap-style: initial; letter-spacing: 0.578px; visibility: visible; text-indent: 0em; line-height: 1.75em; box-sizing: border-box !important; overflow-wrap: break-word !important;\"><font size=\"4\" color=\"#030303\">一位同修分享:以前闭关都还比较轻安,这次闭关妄想像潮水一样此起彼伏,平时放不下的都涌上来了,感受到这些放不下的人事物,在闭关时都会来障碍自己,真是关关难过关关过,回去继续努力,准备迎接下一次闭关。</font></p><p style=\"-webkit-tap-highlight-color: transparent; margin-bottom: 24px; outline: 0px; max-width: 100%; clear: both; min-height: 1em; text-wrap-style: initial; letter-spacing: 0.578px; visibility: visible; text-indent: 0em; line-height: 1.75em; box-sizing: border-box !important; overflow-wrap: break-word !important;\"><font size=\"4\" color=\"#030303\">师父点评:在往生西方的路上,我们只有勇猛精进,没有其他选择。</font></p><p style=\"-webkit-tap-highlight-color: transparent; margin-bottom: 24px; outline: 0px; max-width: 100%; clear: both; min-height: 1em; text-wrap-style: initial; letter-spacing: 0.578px; line-height: 2em; visibility: visible; text-indent: 0em; box-sizing: border-box !important; overflow-wrap: break-word !important;\"><font size=\"4\" color=\"#030303\">另一位同修分享:上一次闭关还可以听到自己心中念佛的声音,回去之后随境发生了退转,这次闭关三天之后开始昏沉,但意识上死死咬着自己的声音。一天半以后,又可以听到自己内心的佛号声音了,感觉很清净,希望能来参加弥陀寺11月的21天闭关。</font></p><p style=\"-webkit-tap-highlight-color: transparent; margin-bottom: 24px; outline: 0px; max-width: 100%; clear: both; min-height: 1em; text-wrap-style: initial; letter-spacing: 0.578px; line-height: 2em; visibility: visible; text-indent: 0em; box-sizing: border-box !important; overflow-wrap: break-word !important;\"><font size=\"4\" color=\"#030303\">师父点评:要做好心理准备,每一天都是在为临终打算,而不是在为眼前打算的。</font></p><p style=\"-webkit-tap-highlight-color: transparent; margin-bottom: 24px; outline: 0px; max-width: 100%; clear: both; min-height: 1em; text-wrap-style: initial; letter-spacing: 0.578px; line-height: 2em; visibility: visible; text-indent: 0em; box-sizing: border-box !important; overflow-wrap: break-word !important;\"><font size=\"4\" color=\"#030303\">还有一位同修分享:师父在开示中说到有些人修的一脸愁容,听了很惭愧。我就是修的很苦的,这次闭关中途还出现了障缘,但坚定的信愿让我最终留下来突破层层关卡,安住在关房和佛号里。第一次来弥陀寺,我谁也不认识,却能这样安心地闭关。不认识的师父和师兄们都细心地护持,虽然苦,但又很幸运,我相信一定会得到阿弥陀佛的救护!</font></p><p style=\"-webkit-tap-highlight-color: transparent; margin-bottom: 24px; outline: 0px; max-width: 100%; clear: both; min-height: 1em; text-wrap-style: initial; letter-spacing: 0.578px; line-height: 2em; visibility: visible; text-indent: 0em; box-sizing: border-box !important; overflow-wrap: break-word !important;\"><font size=\"4\" color=\"#030303\">师父点评:没关系,现在苦,明天就不苦了,修行就是转苦为乐,阿弥陀佛专门就是拔苦的。回去要多拜佛,多忏悔,苦是因为造了恶,忏悔就可以得安乐。</font></p><p style=\"text-align: center; -webkit-tap-highlight-color: transparent; margin-bottom: 24px; outline: 0px; max-width: 100%; clear: both; min-height: 1em; text-wrap-style: initial; letter-spacing: 0.578px; line-height: 2em; visibility: visible; text-indent: 0em; box-sizing: border-box !important; overflow-wrap: break-word !important;\"><img src=\"https://cdn.ipadbiz.cn/space/120463/676a080b89e69190bbd3cbadbc9e6079.jpg\" alt=\"\" style=\"width:630px;\"></p><p style=\"text-align: center; -webkit-tap-highlight-color: transparent; margin-bottom: 24px; outline: 0px; max-width: 100%; clear: both; min-height: 1em; text-wrap-style: initial; letter-spacing: 0.578px; line-height: 2em; visibility: visible; text-indent: 0em; box-sizing: border-box !important; overflow-wrap: break-word !important;\"><br></p><p style=\"text-align: center; -webkit-tap-highlight-color: transparent; margin-bottom: 24px; outline: 0px; max-width: 100%; clear: both; min-height: 1em; text-wrap-style: initial; letter-spacing: 0.578px; line-height: 2em; visibility: visible; text-indent: 0em; box-sizing: border-box !important; overflow-wrap: break-word !important;\"><img src=\"https://cdn.ipadbiz.cn/space/120463/4c9da68472aa0a710ed2254c6984adac.png\" alt=\"\" style=\"width:630px;\"></p><p style=\"-webkit-tap-highlight-color: transparent; margin-bottom: 40px; outline: 0px; max-width: 100%; clear: both; min-height: 1em; text-wrap-style: initial; letter-spacing: 0.578px; visibility: visible; text-indent: 0em; line-height: 1.75em; box-sizing: border-box !important; overflow-wrap: break-word !important;\"><font size=\"4\" color=\"#030303\">大家就要回去了。你的愿望就是7天,所以7天到了一定要离开,你的愿到位了。所以你要发愿,发成佛之愿,发临终蒙阿弥陀佛接引的愿,愿力决定了你的生命。</font></p><p style=\"-webkit-tap-highlight-color: transparent; margin-bottom: 40px; outline: 0px; max-width: 100%; clear: both; min-height: 1em; text-wrap-style: initial; letter-spacing: 0.578px; visibility: visible; text-indent: 0em; line-height: 1.75em; box-sizing: border-box !important; overflow-wrap: break-word !important;\"><font size=\"4\" color=\"#030303\">回去以后修行就不那么简单了,没有那么多人给你好脸色看,也没那么多人会把饭递到你的门前了。饭来张口衣来伸手的日子只有在三宝地才有,可以无私地奉献给大家,没有任何要求,唯独希望你能通过念佛变得快乐一点。</font></p><p style=\"-webkit-tap-highlight-color: transparent; margin-bottom: 40px; outline: 0px; max-width: 100%; clear: both; min-height: 1em; text-wrap-style: initial; letter-spacing: 0.578px; visibility: visible; text-indent: 0em; line-height: 1.75em; box-sizing: border-box !important; overflow-wrap: break-word !important;\"><font size=\"4\" color=\"#030303\">你要往生西方,但很多世间的因缘并不是随顺你的,都是在拖你后腿,所以回去做人也很重要,做人做不好,往生西方的大愿就是扣分的。你天天在扣分,怎么往生呢?贪念、瞋念、嫉妒等等,就这样不停地扣分,如果把这些念头转变成了行为,扣分就更多了。你需要通过多少的佛号才能抵消呢?所以我们得知道,扣分项绝对不要去碰。<br style=\"-webkit-tap-highlight-color: transparent; outline: 0px; max-width: 100%; box-sizing: border-box !important; overflow-wrap: break-word !important;\"></font></p><ul class=\"list-paddingleft-1\" style=\"-webkit-tap-highlight-color: transparent; padding-left: 1.2em; outline: 0px; max-width: 100%; list-style-type: square; box-sizing: border-box !important; overflow-wrap: break-word !important;\"><li style=\"-webkit-tap-highlight-color: transparent; outline: 0px; max-width: 100%; font-weight: bold; box-sizing: border-box !important; overflow-wrap: break-word !important;\"><p style=\"-webkit-tap-highlight-color: transparent; margin-bottom: 40px; outline: 0px; max-width: 100%; clear: both; min-height: 1em; text-wrap-style: initial; letter-spacing: 0.578px; visibility: visible; text-indent: 0em; line-height: 1.75em; box-sizing: border-box !important; overflow-wrap: break-word !important;\"><font size=\"4\" color=\"#030303\">修行法宝——“不说他过”</font></p></li></ul><p style=\"-webkit-tap-highlight-color: transparent; margin-bottom: 40px; outline: 0px; max-width: 100%; clear: both; min-height: 1em; text-wrap-style: initial; letter-spacing: 0.578px; visibility: visible; text-indent: 0em; line-height: 1.75em; box-sizing: border-box !important; overflow-wrap: break-word !important;\"><font size=\"4\" color=\"#030303\">六祖慧能大师说过,“若真修道人,不见世间过。”我们总觉得他人是不对的,自己是对的,所以我们不断地轮回,因为我们见了太多的过失相。要想见而不见,需要很深的功夫。</font></p><p style=\"-webkit-tap-highlight-color: transparent; margin-bottom: 40px; outline: 0px; max-width: 100%; clear: both; min-height: 1em; text-wrap-style: initial; letter-spacing: 0.578px; visibility: visible; text-indent: 0em; line-height: 1.75em; box-sizing: border-box !important; overflow-wrap: break-word !important;\"><font size=\"4\" color=\"#030303\">尽管我们见满了世间的过错,但是底线是什么?——不要出口。</font></p><p style=\"-webkit-tap-highlight-color: transparent; margin-bottom: 40px; outline: 0px; max-width: 100%; clear: both; min-height: 1em; text-wrap-style: initial; letter-spacing: 0.578px; visibility: visible; text-indent: 0em; line-height: 1.75em; box-sizing: border-box !important; overflow-wrap: break-word !important;\"><font size=\"4\" color=\"#030303\">不说出口,是最低的要求。你的心里有很多愤怒、嫉妒、对他人的意见、恩怨等等,这些只是扣一分,但如果说出口,至少要扣10分。关于是非、对错,法院去裁决这个事情。我们是世间人,遵循因果的法则,我们要利用这个法则成就你的道业。</font></p><p style=\"-webkit-tap-highlight-color: transparent; margin-bottom: 40px; outline: 0px; max-width: 100%; clear: both; min-height: 1em; text-wrap-style: initial; letter-spacing: 0.578px; visibility: visible; text-indent: 0em; line-height: 1.75em; box-sizing: border-box !important; overflow-wrap: break-word !important;\"><font size=\"4\" color=\"#030303\">不管你心里想什么,嘴巴不要造恶,好好在家诵经、念佛、持戒,布施、供养,这些都是加分项,加分很难得,可扣起分来很快。我们总是念佛号念得咬牙切齿,而让你甩开手机简直是要命。</font></p><p style=\"-webkit-tap-highlight-color: transparent; margin-bottom: 40px; outline: 0px; max-width: 100%; clear: both; min-height: 1em; text-wrap-style: initial; letter-spacing: 0.578px; visibility: visible; text-indent: 0em; line-height: 1.75em; box-sizing: border-box !important; overflow-wrap: break-word !important;\"><font size=\"4\" color=\"#030303\">所以,对于发了菩提心的菩萨,佛陀给了一条底线,就是“不说他过”。作为一个念佛人,有很多的底线。你要清楚,哪些事情是绝对不能去做的,哪些事情是要去做的。生命的时间就这么多,搞不清楚之前,不要开口,不管是对家里人还是好朋友。</font></p></section><div style=\"text-align: center;\"><img src=\"https://cdn.ipadbiz.cn/space/120463/feb5f4d8edb7c78ad7a5661fec7d76c0.jpg\" alt=\"\" style=\"letter-spacing: 0.578px; width: 630px;\"></div><section style=\"-webkit-tap-highlight-color: transparent; outline: 0px; max-width: 100%; box-sizing: border-box !important; overflow-wrap: break-word !important;\"><section style=\"-webkit-tap-highlight-color: transparent; margin-top: 10px; outline: 0px; max-width: 100%; text-indent: 0em; letter-spacing: 0.544px; caret-color: rgba(0, 0, 0, 0); font-family: PingFangSC-light; visibility: visible; line-height: 2em; box-sizing: border-box !important; overflow-wrap: break-word !important; text-align: center;\"><font size=\"4\" color=\"#030303\"><br style=\"-webkit-tap-highlight-color: transparent; outline: 0px; max-width: 100%; box-sizing: border-box !important; overflow-wrap: break-word !important;\"></font></section><section style=\"-webkit-tap-highlight-color: transparent; margin-bottom: 24px; outline: 0px; max-width: 100%; letter-spacing: 0.578px; line-height: 2em; visibility: visible; text-indent: 0em; box-sizing: border-box !important; overflow-wrap: break-word !important;\"><ul class=\"list-paddingleft-1\" style=\"-webkit-tap-highlight-color: transparent; padding-left: 1.2em; outline: 0px; max-width: 100%; list-style-type: square; box-sizing: border-box !important; overflow-wrap: break-word !important;\"><li style=\"-webkit-tap-highlight-color: transparent; outline: 0px; max-width: 100%; font-weight: bold; box-sizing: border-box !important; overflow-wrap: break-word !important;\"><p style=\"-webkit-tap-highlight-color: transparent; margin-bottom: 40px; outline: 0px; max-width: 100%; clear: both; min-height: 1em; text-wrap-style: initial; letter-spacing: 0.578px; visibility: visible; text-indent: 0em; line-height: 1.75em; box-sizing: border-box !important; overflow-wrap: break-word !important;\"><font size=\"4\" color=\"#030303\">修行第一步——让自己跟外境产生脱离</font></p></li></ul></section><section style=\"-webkit-tap-highlight-color: transparent; outline: 0px; max-width: 100%; box-sizing: border-box !important; overflow-wrap: break-word !important;\"><font size=\"4\" color=\"#030303\">不管什么事,他做他的,对你来说都是身外之事,修行第一步是让自己跟外境相割离,有个次第,先不要在环境里面迷失方向,所以我们要闭关,要减少攀缘,不要跟外界打成一片,要跟外境产生脱离。</font></section><section style=\"-webkit-tap-highlight-color: transparent; outline: 0px; max-width: 100%; box-sizing: border-box !important; overflow-wrap: break-word !important;\"><font size=\"4\" color=\"#030303\"><br style=\"-webkit-tap-highlight-color: transparent; outline: 0px; max-width: 100%; box-sizing: border-box !important; overflow-wrap: break-word !important;\"></font></section><section style=\"-webkit-tap-highlight-color: transparent; outline: 0px; max-width: 100%; box-sizing: border-box !important; overflow-wrap: break-word !important;\"><font size=\"4\" color=\"#030303\">我们怎么跟环境脱离呢?</font></section><section style=\"-webkit-tap-highlight-color: transparent; outline: 0px; max-width: 100%; box-sizing: border-box !important; overflow-wrap: break-word !important;\"><font size=\"4\" color=\"#030303\"><br style=\"-webkit-tap-highlight-color: transparent; outline: 0px; max-width: 100%; box-sizing: border-box !important; overflow-wrap: break-word !important;\"></font></section><section style=\"-webkit-tap-highlight-color: transparent; outline: 0px; max-width: 100%; box-sizing: border-box !important; overflow-wrap: break-word !important;\"><font size=\"4\" color=\"#030303\">不要参与他们的事情,不要去管他们,你慢慢就会脱离出来,没有人会障碍你,心就会轻松自在。事实就是这样,生命都是独立的,你完全可以依靠自己内心的功德力,依靠佛力的加持,让这一生安安稳稳地走下去。</font></section><section style=\"-webkit-tap-highlight-color: transparent; outline: 0px; max-width: 100%; box-sizing: border-box !important; overflow-wrap: break-word !important;\"><font size=\"4\" color=\"#030303\"><br style=\"-webkit-tap-highlight-color: transparent; outline: 0px; max-width: 100%; box-sizing: border-box !important; overflow-wrap: break-word !important;\"></font></section><section style=\"-webkit-tap-highlight-color: transparent; outline: 0px; max-width: 100%; box-sizing: border-box !important; overflow-wrap: break-word !important;\"><font size=\"4\" color=\"#030303\">苦,就是因为你参与太多,你还有所期待,有所求。我们要在因缘中生活,最后乘佛愿力而去。事情出现了随缘做,没出现就老实念佛,到临终也就自然往生了,所以修行也是很快乐。</font></section></section><br><p style=\"text-align: center; -webkit-tap-highlight-color: transparent; margin-bottom: 40px; outline: 0px; max-width: 100%; clear: both; min-height: 1em; letter-spacing: 0.578px; visibility: visible; text-indent: 0em; line-height: 1.75em; box-sizing: border-box !important; overflow-wrap: break-word !important;\"><font size=\"4\" color=\"#030303\"><img src=\"https://cdn.ipadbiz.cn/space/120463/15263ae2c644021310ee8de0d58d1c4b.jpg\" alt=\"\" style=\"width:630px;\"><br style=\"-webkit-tap-highlight-color: transparent; outline: 0px; max-width: 100%; box-sizing: border-box !important; overflow-wrap: break-word !important;\"></font></p><section style=\"-webkit-tap-highlight-color: transparent; margin-bottom: 24px; outline: 0px; max-width: 100%; letter-spacing: 0.578px; line-height: 2em; visibility: visible; text-indent: 0em; box-sizing: border-box !important; overflow-wrap: break-word !important;\"><ul class=\"list-paddingleft-1\" style=\"-webkit-tap-highlight-color: transparent; padding-left: 1.2em; outline: 0px; max-width: 100%; list-style-type: square; box-sizing: border-box !important; overflow-wrap: break-word !important;\"><li style=\"-webkit-tap-highlight-color: transparent; outline: 0px; max-width: 100%; font-weight: bold; box-sizing: border-box !important; overflow-wrap: break-word !important;\"><p style=\"-webkit-tap-highlight-color: transparent; margin-bottom: 40px; outline: 0px; max-width: 100%; clear: both; min-height: 1em; text-wrap-style: initial; letter-spacing: 0.578px; visibility: visible; text-indent: 0em; line-height: 1.75em; box-sizing: border-box !important; overflow-wrap: break-word !important;\"><font size=\"4\" color=\"#030303\">修行第二步——把身体跟“我”产生脱离</font></p></li></ul></section><p style=\"-webkit-tap-highlight-color: transparent; margin-bottom: 40px; outline: 0px; max-width: 100%; clear: both; min-height: 1em; text-wrap-style: initial; letter-spacing: 0.578px; visibility: visible; text-indent: 0em; line-height: 1.75em; box-sizing: border-box !important; overflow-wrap: break-word !important;\"><font size=\"4\" color=\"#030303\">我们要一点点退回本来面貌,外境的好坏、是非,跟你没有关系。脱离不是说你不在外界了,而是你对外界产生了一种自我防御能力,不去管他们了,渐渐把身心收回来,收到后面,你会发现,我跟身体也没什么关系。</font></p><section style=\"-webkit-tap-highlight-color: transparent; margin-bottom: 24px; outline: 0px; max-width: 100%; letter-spacing: 0.578px; line-height: 2em; visibility: visible; text-indent: 0em; box-sizing: border-box !important; overflow-wrap: break-word !important;\"><ul class=\"list-paddingleft-1\" style=\"-webkit-tap-highlight-color: transparent; padding-left: 1.2em; outline: 0px; max-width: 100%; list-style-type: square; box-sizing: border-box !important; overflow-wrap: break-word !important;\"><li style=\"-webkit-tap-highlight-color: transparent; outline: 0px; max-width: 100%; font-weight: bold; box-sizing: border-box !important; overflow-wrap: break-word !important;\"><p style=\"-webkit-tap-highlight-color: transparent; margin-bottom: 40px; outline: 0px; max-width: 100%; clear: both; min-height: 1em; text-wrap-style: initial; letter-spacing: 0.578px; visibility: visible; text-indent: 0em; line-height: 1.75em; box-sizing: border-box !important; overflow-wrap: break-word !important;\"><font size=\"4\" color=\"#030303\">让修行变得快乐</font></p></li></ul><p style=\"-webkit-tap-highlight-color: transparent; margin-bottom: 40px; outline: 0px; max-width: 100%; clear: both; min-height: 1em; text-wrap-style: initial; letter-spacing: 0.578px; visibility: visible; text-indent: 0em; line-height: 1.75em; box-sizing: border-box !important; overflow-wrap: break-word !important;\"><font size=\"4\" color=\"#030303\">这世间没有一种力量可以真正地障碍我们的佛号,外在怎么可能障碍到你?是你自己障碍了自己。你不想念了,果然就不念了。所以说,没有成功往生,要怪你自己。你必须要回光返照,而且不能急,否则会急火攻心,会出差错,必须循序渐进。即便你每次都参加闭关,也不是每次都会进步的,但只要保证总体是向上的趋势就好了。</font></p><p style=\"-webkit-tap-highlight-color: transparent; margin-bottom: 40px; outline: 0px; max-width: 100%; clear: both; min-height: 1em; text-wrap-style: initial; letter-spacing: 0.578px; visibility: visible; text-indent: 0em; line-height: 1.75em; box-sizing: border-box !important; overflow-wrap: break-word !important;\"><font size=\"4\" color=\"#030303\">大家就用这样轻松欢喜愉悦的心情回去,别对他人要求太多了,多包容一点,他们打骂你,诽谤你,不满意你,都是正常的。你看一切都很正常,你就开心了,要让自己过得快乐一点。</font></p><p style=\"-webkit-tap-highlight-color: transparent; margin-bottom: 40px; outline: 0px; max-width: 100%; clear: both; min-height: 1em; text-wrap-style: initial; letter-spacing: 0.578px; visibility: visible; text-indent: 0em; line-height: 1.75em; box-sizing: border-box !important; overflow-wrap: break-word !important;\"><font size=\"4\" color=\"#030303\">修行就是这样子,每天都在进步,每天都在改错,每天都在做一个更加圆满的人。一天下来,没犯错,没扣分,就会很开心。如果说他人过,一天总结下来,你自己都不会开心。所以,让自己开心的第一点,就是不说他过。</font></p><p style=\"text-align: center; -webkit-tap-highlight-color: transparent; margin-bottom: 40px; outline: 0px; max-width: 100%; clear: both; min-height: 1em; text-wrap-style: initial; letter-spacing: 0.578px; visibility: visible; text-indent: 0em; line-height: 1.75em; box-sizing: border-box !important; overflow-wrap: break-word !important;\"><img src=\"https://cdn.ipadbiz.cn/space/120463/42069c2dced35e4c69147958c173867f.jpg\" alt=\"\" style=\"width:630px;\"></p></section><section style=\"-webkit-tap-highlight-color: transparent; margin-bottom: 24px; outline: 0px; max-width: 100%; letter-spacing: 0.578px; line-height: 2em; visibility: visible; text-indent: 0em; box-sizing: border-box !important; overflow-wrap: break-word !important;\"><ul class=\"list-paddingleft-1\" style=\"-webkit-tap-highlight-color: transparent; padding-left: 1.2em; outline: 0px; max-width: 100%; list-style-type: square; box-sizing: border-box !important; overflow-wrap: break-word !important;\"><li style=\"-webkit-tap-highlight-color: transparent; outline: 0px; max-width: 100%; font-weight: bold; box-sizing: border-box !important; overflow-wrap: break-word !important;\"><p style=\"-webkit-tap-highlight-color: transparent; margin-bottom: 40px; outline: 0px; max-width: 100%; clear: both; min-height: 1em; text-wrap-style: initial; letter-spacing: 0.578px; visibility: visible; text-indent: 0em; line-height: 1.75em; box-sizing: border-box !important; overflow-wrap: break-word !important;\"><font size=\"4\" color=\"#030303\">要发大誓愿</font></p></li></ul></section><p style=\"-webkit-tap-highlight-color: transparent; margin-bottom: 40px; outline: 0px; max-width: 100%; clear: both; min-height: 1em; text-wrap-style: initial; letter-spacing: 0.578px; visibility: visible; text-indent: 0em; line-height: 1.75em; box-sizing: border-box !important; overflow-wrap: break-word !important;\"><font size=\"4\" color=\"#030303\">从现在开始,大家要发下一个重大的誓愿:“从现在开始到临终,直到尽未来际,我要如佛一样不说他人过。”</font></p><p style=\"-webkit-tap-highlight-color: transparent; margin-bottom: 40px; outline: 0px; max-width: 100%; clear: both; min-height: 1em; text-wrap-style: initial; letter-spacing: 0.578px; visibility: visible; text-indent: 0em; line-height: 1.75em; box-sizing: border-box !important; overflow-wrap: break-word !important;\"><font size=\"4\" color=\"#030303\"><br></font></p><p style=\"text-align: center; -webkit-tap-highlight-color: transparent; margin-bottom: 40px; outline: 0px; max-width: 100%; clear: both; min-height: 1em; text-wrap-style: initial; letter-spacing: 0.578px; visibility: visible; text-indent: 0em; line-height: 1.75em; box-sizing: border-box !important; overflow-wrap: break-word !important;\"><img src=\"https://cdn.ipadbiz.cn/space/120463/db7c811fc18b48c33c940f8fb248f777.png\" alt=\"\" style=\"width:170px;\"></p><p style=\"text-align: center; -webkit-tap-highlight-color: transparent; margin-bottom: 40px; outline: 0px; max-width: 100%; clear: both; min-height: 1em; text-wrap-style: initial; letter-spacing: 0.578px; visibility: visible; text-indent: 0em; line-height: 1.75em; box-sizing: border-box !important; overflow-wrap: break-word !important;\"><br></p></section></section></section></div>"
198 + post_excerpt: 一扇扇关房的门被轻轻推开,莲友们不畏末伏的酷热,迈着沉静的步伐排队从关房走向大雄宝殿,进行出关大回向。
199 + post_link: ''
200 + post_date: '2025-08-19 06:25:46'
201 + open_num: 45
202 + file_sn: null
203 + post_author: 457235
204 + article_id: null
205 + activity_time: null
206 + activity_address: null
207 + activity_address_link: null
208 + activity_link: null
209 + activity_tel: null
210 + activity_sn: null
211 + activity_type: null
212 + activity_time_lunar: null
213 + activity_status: null
214 + activity_id: null
215 + volunteer_sn: null
216 + volunteer_id: null
217 + icon: >-
218 + https://cdn.ipadbiz.cn/space_120463/合影_lkDn29eCDgz18acsrgH4LFQg632d.jpg
219 + author_name: 善然
220 + file_list:
221 + icon:
222 + meta_type: icon
223 + id: 2742442
224 + object_id: null
225 + name: 合影.jpg
226 + value: >-
227 + https://cdn.ipadbiz.cn/space_120463/合影_lkDn29eCDgz18acsrgH4LFQg632d.jpg
228 + description: null
229 + extension: jpg
230 + post_date: '2025-08-18 20:54:15'
231 + icon: null
232 + master_client_id: null
233 + hash: lkDn29eCDgz18acsrgH4LFQg632d
234 + height: '2633'
235 + width: '4408'
236 + author: 457235
237 + size: null
238 + is_favorite: 0
239 + headers: {}
240 + x-apifox-name: 成功
241 + x-apifox-ordering: 0
242 + security: []
243 + x-apifox-folder: 文章
244 + x-apifox-status: released
245 + x-run-in-apifox: https://app.apifox.com/web/project/7792797/apis/api-420067226-run
246 +components:
247 + schemas: {}
248 + responses: {}
249 + securitySchemes: {}
250 +servers:
251 + - url: https://manulife.onwall.cn
252 + description: 正式环境
253 +security: []
254 +
255 +```
1 +# 文章收藏列表
2 +
3 +## OpenAPI Specification
4 +
5 +```yaml
6 +openapi: 3.0.1
7 +info:
8 + title: ''
9 + version: 1.0.0
10 +paths:
11 + /srv/:
12 + get:
13 + summary: 文章收藏列表
14 + deprecated: false
15 + description: ''
16 + tags:
17 + - 文章
18 + parameters:
19 + - name: f
20 + in: query
21 + description: ''
22 + required: true
23 + example: manulife
24 + schema:
25 + type: string
26 + - name: a
27 + in: query
28 + description: ''
29 + required: true
30 + example: article
31 + schema:
32 + type: string
33 + - name: t
34 + in: query
35 + description: ''
36 + required: false
37 + example: favorite
38 + schema:
39 + type: string
40 + - name: limit
41 + in: query
42 + description: ''
43 + required: false
44 + example: '10'
45 + schema:
46 + type: string
47 + - name: page
48 + in: query
49 + description: ''
50 + required: false
51 + example: '0'
52 + schema:
53 + type: string
54 + - name: keyword
55 + in: query
56 + description: 搜索关键词
57 + required: false
58 + schema:
59 + type: string
60 + responses:
61 + '200':
62 + description: ''
63 + content:
64 + application/json:
65 + schema:
66 + type: object
67 + properties:
68 + code:
69 + type: integer
70 + msg:
71 + type: string
72 + data:
73 + type: object
74 + properties:
75 + list:
76 + type: array
77 + items:
78 + type: object
79 + properties:
80 + id:
81 + type: integer
82 + post_title:
83 + type: string
84 + title: 文章表头
85 + post_excerpt:
86 + type: string
87 + title: 简介
88 + post_link:
89 + type: string
90 + title: 外部链接
91 + post_date:
92 + type: string
93 + title: 发布时间
94 + favorite_time:
95 + type: string
96 + title: 收藏时间
97 + x-apifox-orders:
98 + - id
99 + - post_title
100 + - post_excerpt
101 + - post_link
102 + - post_date
103 + - favorite_time
104 + total:
105 + type: integer
106 + required:
107 + - list
108 + - total
109 + x-apifox-orders:
110 + - list
111 + - total
112 + required:
113 + - code
114 + - msg
115 + - data
116 + x-apifox-orders:
117 + - code
118 + - msg
119 + - data
120 + example:
121 + code: 1
122 + msg: 成功
123 + data:
124 + list:
125 + - id: 2742443
126 + post_title: 2025年8月闭关出关回顾 | 守住底线,不说他过
127 + post_excerpt: 一扇扇关房的门被轻轻推开,莲友们不畏末伏的酷热,迈着沉静的步伐排队从关房走向大雄宝殿,进行出关大回向。
128 + post_link: ''
129 + post_date: '2025-08-19 06:25:46'
130 + open_num: 47
131 + file_sn: null
132 + favorite_time: '2026-02-26 18:29:56.688486+08'
133 + total: 1
134 + headers: {}
135 + x-apifox-name: 成功
136 + x-apifox-ordering: 0
137 + security: []
138 + x-apifox-folder: 文章
139 + x-apifox-status: released
140 + x-run-in-apifox: https://app.apifox.com/web/project/7792797/apis/api-420078655-run
141 +components:
142 + schemas: {}
143 + responses: {}
144 + securitySchemes: {}
145 +servers:
146 + - url: https://manulife.onwall.cn
147 + description: 正式环境
148 +security: []
149 +
150 +```
1 +# 文章列表
2 +
3 +## OpenAPI Specification
4 +
5 +```yaml
6 +openapi: 3.0.1
7 +info:
8 + title: ''
9 + version: 1.0.0
10 +paths:
11 + /srv/:
12 + get:
13 + summary: 文章列表
14 + deprecated: false
15 + description: ''
16 + tags:
17 + - 文章
18 + parameters:
19 + - name: f
20 + in: query
21 + description: ''
22 + required: true
23 + example: manulife
24 + schema:
25 + type: string
26 + - name: a
27 + in: query
28 + description: ''
29 + required: true
30 + example: article
31 + schema:
32 + type: string
33 + - name: t
34 + in: query
35 + description: ''
36 + required: false
37 + example: list
38 + schema:
39 + type: string
40 + - name: limit
41 + in: query
42 + description: ''
43 + required: false
44 + example: '10'
45 + schema:
46 + type: string
47 + - name: page
48 + in: query
49 + description: ''
50 + required: false
51 + example: '0'
52 + schema:
53 + type: string
54 + - name: cid
55 + in: query
56 + description: 分类id
57 + required: false
58 + example: '2768724'
59 + schema:
60 + type: string
61 + - name: child_id
62 + in: query
63 + description: 只有一层分类时,筛选数据用
64 + required: false
65 + schema:
66 + type: string
67 + - name: keyword
68 + in: query
69 + description: 搜索关键词
70 + required: false
71 + schema:
72 + type: string
73 + responses:
74 + '200':
75 + description: ''
76 + content:
77 + application/json:
78 + schema:
79 + type: object
80 + properties:
81 + code:
82 + type: integer
83 + msg:
84 + type: integer
85 + data:
86 + type: object
87 + properties:
88 + cate:
89 + type: object
90 + properties:
91 + id:
92 + type: integer
93 + title: 分类id
94 + category_name:
95 + type: string
96 + title: 分类名称
97 + category_parent:
98 + type: integer
99 + title: 分类父级
100 + category_description:
101 + type: 'null'
102 + title: 分类描述
103 + required:
104 + - id
105 + - category_name
106 + - category_parent
107 + - category_description
108 + x-apifox-orders:
109 + - id
110 + - category_name
111 + - category_parent
112 + - category_description
113 + title: 当前分类
114 + children:
115 + type: array
116 + items:
117 + type: object
118 + properties:
119 + id:
120 + type: integer
121 + title: 二级分类id
122 + category_name:
123 + type: string
124 + title: 二级分类名
125 + category_parent:
126 + type: integer
127 + title: 二级分类名父级id
128 + level:
129 + type: integer
130 + category_description:
131 + type: 'null'
132 + title: 二级分类描述
133 + icon:
134 + type: 'null'
135 + max_depth:
136 + type: integer
137 + list:
138 + type: array
139 + items:
140 + type: object
141 + properties:
142 + name:
143 + type: string
144 + title: 附件名称
145 + value:
146 + type: string
147 + title: 附件地址
148 + extension:
149 + type: string
150 + title: 后缀名
151 + post_date:
152 + type: string
153 + title: 发布时间
154 + size:
155 + type: string
156 + title: 附件大小
157 + is_favorite:
158 + type: integer
159 + title: 是否收藏
160 + id:
161 + type: string
162 + title: 附件id
163 + required:
164 + - name
165 + - value
166 + - extension
167 + - post_date
168 + - size
169 + - is_favorite
170 + - id
171 + x-apifox-orders:
172 + - id
173 + - name
174 + - value
175 + - extension
176 + - post_date
177 + - size
178 + - is_favorite
179 + title: 二级分类的附件列表
180 + children:
181 + type: array
182 + items:
183 + type: object
184 + properties:
185 + id:
186 + type: integer
187 + title: 三级分类id
188 + category_name:
189 + type: string
190 + title: 三级分类名
191 + category_parent:
192 + type: integer
193 + title: 三级分类名父级id
194 + category_description:
195 + type: 'null'
196 + title: 三级分类描述
197 + icon:
198 + type: string
199 + title: 二级分类图标
200 + nullable: true
201 + required:
202 + - id
203 + - category_name
204 + - category_parent
205 + - category_description
206 + - icon
207 + x-apifox-orders:
208 + - id
209 + - category_name
210 + - category_parent
211 + - category_description
212 + - icon
213 + title: 三级分类
214 + required:
215 + - id
216 + - category_name
217 + - category_parent
218 + - level
219 + - category_description
220 + - icon
221 + - max_depth
222 + - list
223 + - children
224 + x-apifox-orders:
225 + - id
226 + - category_name
227 + - category_parent
228 + - category_description
229 + - icon
230 + - children
231 + - list
232 + - level
233 + - max_depth
234 + title: 二级分类列表
235 + list:
236 + type: array
237 + items:
238 + type: object
239 + properties:
240 + id:
241 + type: integer
242 + post_title:
243 + type: string
244 + title: 标题
245 + post_excerpt:
246 + type: string
247 + title: 简介
248 + nullable: true
249 + post_link:
250 + type: string
251 + title: 链接
252 + description: 如果有就是去外部链接
253 + post_date:
254 + type: string
255 + title: 发布时间
256 + is_favorite:
257 + type: integer
258 + title: 是否收藏
259 + required:
260 + - id
261 + - post_title
262 + - post_excerpt
263 + - post_link
264 + - post_date
265 + - is_favorite
266 + x-apifox-orders:
267 + - id
268 + - post_title
269 + - post_excerpt
270 + - post_link
271 + - post_date
272 + - is_favorite
273 + title: 主分类的附件列表
274 + total:
275 + type: integer
276 + title: 主分类文章数量
277 + max_level:
278 + type: integer
279 + title: 页面需要层级
280 + required:
281 + - cate
282 + - children
283 + - list
284 + - total
285 + - max_level
286 + x-apifox-orders:
287 + - cate
288 + - children
289 + - list
290 + - total
291 + - max_level
292 + required:
293 + - code
294 + - msg
295 + - data
296 + x-apifox-orders:
297 + - code
298 + - msg
299 + - data
300 + example:
301 + code: 1
302 + msg: 0
303 + data:
304 + cate:
305 + id: 281941
306 + category_name: 闭关佛七
307 + category_parent: 321972
308 + category_description: null
309 + children:
310 + - id: 282012
311 + category_name: 佛七回顾
312 + category_parent: 281941
313 + level: 1
314 + category_description: null
315 + icon: null
316 + max_depth: 1
317 + - id: 338871
318 + category_name: 佛七报名
319 + category_parent: 281941
320 + level: 1
321 + category_description: null
322 + icon: null
323 + max_depth: 1
324 + - id: 338872
325 + category_name: 闭关报名
326 + category_parent: 281941
327 + level: 1
328 + category_description: null
329 + icon: null
330 + max_depth: 1
331 + - id: 449119
332 + category_name: 闭关回顾
333 + category_parent: 281941
334 + level: 1
335 + category_description: null
336 + icon: null
337 + max_depth: 1
338 + list:
339 + - id: 2767726
340 + post_title: '东台弥陀寺2025年9月闭关报名公告 '
341 + post_excerpt: null
342 + post_link: ''
343 + post_date: '2025-09-01 20:35:42+08'
344 + open_num: 49
345 + is_favorite: 0
346 + - id: 2767724
347 + post_title: 东台弥陀寺9月连续3场佛七报名公告
348 + post_excerpt: null
349 + post_link: ''
350 + post_date: '2025-09-01 20:34:58+08'
351 + open_num: 14
352 + is_favorite: 0
353 + - id: 2759648
354 + post_title: '东台弥陀寺2025年9月闭关报名公告 '
355 + post_excerpt: null
356 + post_link: ''
357 + post_date: '2025-08-28 08:41:31+08'
358 + open_num: 49
359 + is_favorite: 0
360 + - id: 2754588
361 + post_title: 东台弥陀寺2025年9月8-14日佛七报名公告
362 + post_excerpt: null
363 + post_link: ''
364 + post_date: '2025-08-25 09:05:07+08'
365 + open_num: 71
366 + is_favorite: 0
367 + - id: 2753446
368 + post_title: '东台弥陀寺2025年9月闭关报名公告 '
369 + post_excerpt: null
370 + post_link: ''
371 + post_date: '2025-08-24 16:11:11+08'
372 + open_num: 49
373 + is_favorite: 0
374 + - id: 2746856
375 + post_title: 东台弥陀寺9月连续3场佛七报名公告
376 + post_excerpt: null
377 + post_link: ''
378 + post_date: '2025-08-21 09:43:02+08'
379 + open_num: 14
380 + is_favorite: 0
381 + - id: 2742443
382 + post_title: 2025年8月闭关出关回顾 | 守住底线,不说他过
383 + post_excerpt: 一扇扇关房的门被轻轻推开,莲友们不畏末伏的酷热,迈着沉静的步伐排队从关房走向大雄宝殿,进行出关大回向。
384 + post_link: ''
385 + post_date: '2025-08-19 06:25:46+08'
386 + open_num: 44
387 + is_favorite: 0
388 + - id: 2741121
389 + post_title: 东台弥陀寺2025年8月19-25日佛七报名公告
390 + post_excerpt: null
391 + post_link: ''
392 + post_date: '2025-08-18 08:53:05+08'
393 + open_num: 688
394 + is_favorite: 0
395 + - id: 2735164
396 + post_title: '东台弥陀寺2025年9月闭关报名公告 '
397 + post_excerpt: null
398 + post_link: ''
399 + post_date: '2025-08-14 08:39:17+08'
400 + open_num: 51
401 + is_favorite: 0
402 + - id: 2721290
403 + post_title: 东台弥陀寺2025年8月12-18日佛七报名公告
404 + post_excerpt: null
405 + post_link: ''
406 + post_date: '2025-08-06 09:49:48+08'
407 + open_num: 18
408 + is_favorite: 0
409 + total: 240
410 + max_level: 2
411 + headers: {}
412 + x-apifox-name: 成功
413 + x-apifox-ordering: 0
414 + security: []
415 + x-apifox-folder: 文章
416 + x-apifox-status: released
417 + x-run-in-apifox: https://app.apifox.com/web/project/7792797/apis/api-419982901-run
418 +components:
419 + schemas: {}
420 + responses: {}
421 + securitySchemes: {}
422 +servers:
423 + - url: https://manulife.onwall.cn
424 + description: 正式环境
425 +security: []
426 +
427 +```
1 +# 热门文章
2 +
3 +## OpenAPI Specification
4 +
5 +```yaml
6 +openapi: 3.0.1
7 +info:
8 + title: ''
9 + version: 1.0.0
10 +paths:
11 + /srv/:
12 + get:
13 + summary: 热门文章
14 + deprecated: false
15 + description: ''
16 + tags:
17 + - 文章
18 + parameters:
19 + - name: f
20 + in: query
21 + description: ''
22 + required: true
23 + example: manulife
24 + schema:
25 + type: string
26 + - name: a
27 + in: query
28 + description: ''
29 + required: true
30 + example: article
31 + schema:
32 + type: string
33 + - name: t
34 + in: query
35 + description: ''
36 + required: false
37 + example: week_hot
38 + schema:
39 + type: string
40 + - name: limit
41 + in: query
42 + description: ''
43 + required: false
44 + example: '10'
45 + schema:
46 + type: string
47 + - name: page
48 + in: query
49 + description: ''
50 + required: false
51 + example: '0'
52 + schema:
53 + type: string
54 + - name: cid
55 + in: query
56 + description: 分类id
57 + required: false
58 + example: '2768724'
59 + schema:
60 + type: string
61 + - name: keyword
62 + in: query
63 + description: 搜索关键词
64 + required: false
65 + schema:
66 + type: string
67 + responses:
68 + '200':
69 + description: ''
70 + content:
71 + application/json:
72 + schema:
73 + type: object
74 + properties:
75 + code:
76 + type: integer
77 + msg:
78 + type: string
79 + data:
80 + type: object
81 + properties:
82 + list:
83 + type: array
84 + items:
85 + type: object
86 + properties:
87 + id:
88 + type: integer
89 + post_title:
90 + type: string
91 + title: 标题
92 + post_excerpt:
93 + type: 'null'
94 + title: 简介
95 + post_link:
96 + type: string
97 + title: 外部链接
98 + post_date:
99 + type: string
100 + title: 发布日期
101 + is_favorite:
102 + type: integer
103 + title: 是否收藏
104 + read_people_count:
105 + type: string
106 + title: 学习人数
107 + read_people_percent:
108 + type: string
109 + title: 学习人数比例
110 + x-apifox-orders:
111 + - id
112 + - post_title
113 + - post_excerpt
114 + - post_link
115 + - post_date
116 + - is_favorite
117 + - read_people_count
118 + - read_people_percent
119 + required:
120 + - read_people_count
121 + - read_people_percent
122 + total:
123 + type: integer
124 + required:
125 + - list
126 + - total
127 + x-apifox-orders:
128 + - list
129 + - total
130 + required:
131 + - code
132 + - msg
133 + - data
134 + x-apifox-orders:
135 + - code
136 + - msg
137 + - data
138 + example:
139 + code: 1
140 + msg: 成功
141 + data:
142 + list:
143 + - id: 2767726
144 + post_title: '东台弥陀寺2025年9月闭关报名公告 '
145 + post_excerpt: null
146 + post_link: ''
147 + post_date: '2025-09-01 20:35:42+08'
148 + open_num: 49
149 + is_favorite: 0
150 + total: 1
151 + headers: {}
152 + x-apifox-name: 成功
153 + x-apifox-ordering: 0
154 + security: []
155 + x-apifox-folder: 文章
156 + x-apifox-status: released
157 + x-run-in-apifox: https://app.apifox.com/web/project/7792797/apis/api-420251865-run
158 +components:
159 + schemas: {}
160 + responses: {}
161 + securitySchemes: {}
162 +servers:
163 + - url: https://manulife.onwall.cn
164 + description: 正式环境
165 +security: []
166 +
167 +```
...@@ -834,8 +834,8 @@ function compareAPIChanges(openAPIDir) { ...@@ -834,8 +834,8 @@ function compareAPIChanges(openAPIDir) {
834 } 834 }
835 835
836 // 执行生成 836 // 执行生成
837 -const openAPIDir = path.resolve(__dirname, '../docs/api-specs'); 837 +const openAPIDir = path.resolve(__dirname, '../../docs/api-specs');
838 -const outputDir = path.resolve(__dirname, '../src/api'); 838 +const outputDir = path.resolve(__dirname, '../../src/api');
839 839
840 console.log('=== OpenAPI 转 API 文档生成器 ===\n'); 840 console.log('=== OpenAPI 转 API 文档生成器 ===\n');
841 console.log(`输入目录: ${openAPIDir}`); 841 console.log(`输入目录: ${openAPIDir}`);
......
1 +import { fn, fetch } from '@/api/fn';
2 +
3 +const Api = {
4 + ArticleDetail: '/srv/?a=article&t=article_detail',
5 + Favorite: '/srv/?a=article&t=favorite',
6 + List: '/srv/?a=article&t=list',
7 + WeekHot: '/srv/?a=article&t=week_hot',
8 +}
9 +
10 +/**
11 + * @description 文章详情
12 + * @remark
13 + * @param {Object} params 请求参数
14 + * @param {string} params.i (可选)
15 + * @returns {Promise<{
16 + * code: number; // 状态码
17 + * msg: string; // 消息
18 + * data: {
19 + id: integer; // 文章id
20 + post_title: string; // 标题
21 + post_content: string; // 内容
22 + post_excerpt: string; // 简介
23 + post_link: string; // 外部链接
24 + post_date: string; // 发布日期
25 + post_author: integer; // 发布人id
26 + author_name: string; // 发布人
27 + file_list: {
28 + icon: {
29 + meta_type: string; //
30 + id: integer; //
31 + object_id: null; //
32 + name: string; //
33 + value: string; //
34 + description: null; //
35 + extension: string; //
36 + post_date: string; //
37 + icon: null; //
38 + master_client_id: null; //
39 + hash: string; //
40 + height: string; //
41 + width: string; //
42 + author: integer; //
43 + size: null; //
44 + };
45 + };
46 + is_favorite: integer; //
47 + * };
48 + * }>}
49 + */
50 +export const articleDetailAPI = (params) => fn(fetch.get(Api.ArticleDetail, params));
51 +
52 +/**
53 + * @description 文章收藏列表
54 + * @remark
55 + * @param {Object} params 请求参数
56 + * @param {string} params.limit (可选)
57 + * @param {string} params.page (可选)
58 + * @param {string} params.keyword (可选) 搜索关键词
59 + * @returns {Promise<{
60 + * code: number; // 状态码
61 + * msg: string; // 消息
62 + * data: {
63 + list: Array<{
64 + id: integer; //
65 + post_title: string; // 文章表头
66 + post_excerpt: string; // 简介
67 + post_link: string; // 外部链接
68 + post_date: string; // 发布时间
69 + favorite_time: string; // 收藏时间
70 + }>;
71 + total: integer; //
72 + * };
73 + * }>}
74 + */
75 +export const favoriteAPI = (params) => fn(fetch.get(Api.Favorite, params));
76 +
77 +/**
78 + * @description 文章列表
79 + * @remark
80 + * @param {Object} params 请求参数
81 + * @param {string} params.limit (可选)
82 + * @param {string} params.page (可选)
83 + * @param {string} params.cid (可选) 分类id
84 + * @param {string} params.child_id (可选) 只有一层分类时,筛选数据用
85 + * @param {string} params.keyword (可选) 搜索关键词
86 + * @returns {Promise<{
87 + * code: number; // 状态码
88 + * msg: string; // 消息
89 + * data: {
90 + cate: {
91 + id: integer; // 分类id
92 + category_name: string; // 分类名称
93 + category_parent: integer; // 分类父级
94 + category_description: null; // 分类描述
95 + };
96 + children: Array<{
97 + id: integer; // 二级分类id
98 + category_name: string; // 二级分类名
99 + category_parent: integer; // 二级分类名父级id
100 + level: integer; //
101 + category_description: null; // 二级分类描述
102 + icon: null; //
103 + max_depth: integer; //
104 + list: Array<{
105 + name: string; // 附件名称
106 + value: string; // 附件地址
107 + extension: string; // 后缀名
108 + post_date: string; // 发布时间
109 + size: string; // 附件大小
110 + is_favorite: integer; // 是否收藏
111 + id: string; // 附件id
112 + }>;
113 + children: Array<{
114 + id: integer; // 三级分类id
115 + category_name: string; // 三级分类名
116 + category_parent: integer; // 三级分类名父级id
117 + category_description: null; // 三级分类描述
118 + icon: string; // 二级分类图标
119 + }>;
120 + }>;
121 + list: Array<{
122 + id: integer; //
123 + post_title: string; // 标题
124 + post_excerpt: string; // 简介
125 + post_link: string; // 如果有就是去外部链接
126 + post_date: string; // 发布时间
127 + is_favorite: integer; // 是否收藏
128 + }>;
129 + total: integer; // 主分类文章数量
130 + max_level: integer; // 页面需要层级
131 + * };
132 + * }>}
133 + */
134 +export const listAPI = (params) => fn(fetch.get(Api.List, params));
135 +
136 +/**
137 + * @description 热门文章
138 + * @remark
139 + * @param {Object} params 请求参数
140 + * @param {string} params.limit (可选)
141 + * @param {string} params.page (可选)
142 + * @param {string} params.cid (可选) 分类id
143 + * @param {string} params.keyword (可选) 搜索关键词
144 + * @returns {Promise<{
145 + * code: number; // 状态码
146 + * msg: string; // 消息
147 + * data: {
148 + list: Array<{
149 + id: integer; //
150 + post_title: string; // 标题
151 + post_excerpt: null; // 简介
152 + post_link: string; // 外部链接
153 + post_date: string; // 发布日期
154 + is_favorite: integer; // 是否收藏
155 + read_people_count: string; // 学习人数
156 + read_people_percent: string; // 学习人数比例
157 + }>;
158 + total: integer; //
159 + * };
160 + * }>}
161 + */
162 +export const weekHotAPI = (params) => fn(fetch.get(Api.WeekHot, params));