befly-tpl 3.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (142) hide show
  1. package/.env.development +83 -0
  2. package/LICENSE +201 -0
  3. package/README.md +20 -0
  4. package/README.ts.md +175 -0
  5. package/addon-loader.example.ts +99 -0
  6. package/addons/_template/README.md +123 -0
  7. package/addons/_template/addon.config.json +17 -0
  8. package/addons/_template/apis/example.ts +33 -0
  9. package/addons/_template/checks/example.ts +23 -0
  10. package/addons/_template/config/default.ts +12 -0
  11. package/addons/_template/plugins/example.ts +39 -0
  12. package/addons/_template/tables/example.json +7 -0
  13. package/addons/_template/types/index.d.ts +21 -0
  14. package/addons/admin/README.md +179 -0
  15. package/addons/admin/addon.config.json +13 -0
  16. package/addons/admin/apis/adminDel.ts +37 -0
  17. package/addons/admin/apis/adminInfo.ts +50 -0
  18. package/addons/admin/apis/adminIns.ts +70 -0
  19. package/addons/admin/apis/adminList.ts +24 -0
  20. package/addons/admin/apis/adminRoleDetail.ts +38 -0
  21. package/addons/admin/apis/adminRoleSave.ts +40 -0
  22. package/addons/admin/apis/adminUpd.ts +54 -0
  23. package/addons/admin/apis/apiAll.ts +38 -0
  24. package/addons/admin/apis/cacheRefresh.ts +36 -0
  25. package/addons/admin/apis/dashboardAddonList.ts +16 -0
  26. package/addons/admin/apis/dashboardChangelog.ts +41 -0
  27. package/addons/admin/apis/dashboardConfigStatus.ts +56 -0
  28. package/addons/admin/apis/dashboardEnvironmentInfo.ts +48 -0
  29. package/addons/admin/apis/dashboardPerformanceMetrics.ts +25 -0
  30. package/addons/admin/apis/dashboardPermissionStats.ts +33 -0
  31. package/addons/admin/apis/dashboardServiceStatus.ts +84 -0
  32. package/addons/admin/apis/dashboardSystemInfo.ts +34 -0
  33. package/addons/admin/apis/dashboardSystemOverview.ts +34 -0
  34. package/addons/admin/apis/dashboardSystemResources.ts +119 -0
  35. package/addons/admin/apis/dictAll.ts +26 -0
  36. package/addons/admin/apis/dictDel.ts +27 -0
  37. package/addons/admin/apis/dictDetail.ts +28 -0
  38. package/addons/admin/apis/dictIns.ts +38 -0
  39. package/addons/admin/apis/dictList.ts +27 -0
  40. package/addons/admin/apis/dictUpd.ts +44 -0
  41. package/addons/admin/apis/login.ts +123 -0
  42. package/addons/admin/apis/logout.ts +23 -0
  43. package/addons/admin/apis/menuAll.ts +70 -0
  44. package/addons/admin/apis/menuDel.ts +40 -0
  45. package/addons/admin/apis/menuIns.ts +31 -0
  46. package/addons/admin/apis/menuList.ts +26 -0
  47. package/addons/admin/apis/menuUpd.ts +41 -0
  48. package/addons/admin/apis/register.ts +50 -0
  49. package/addons/admin/apis/roleApiDetail.ts +34 -0
  50. package/addons/admin/apis/roleApiSave.ts +44 -0
  51. package/addons/admin/apis/roleDel.ts +48 -0
  52. package/addons/admin/apis/roleDetail.ts +28 -0
  53. package/addons/admin/apis/roleIns.ts +40 -0
  54. package/addons/admin/apis/roleList.ts +18 -0
  55. package/addons/admin/apis/roleMenuDetail.ts +33 -0
  56. package/addons/admin/apis/roleMenuSave.ts +39 -0
  57. package/addons/admin/apis/roleSave.ts +45 -0
  58. package/addons/admin/apis/roleUpd.ts +53 -0
  59. package/addons/admin/apis/sendSmsCode.ts +36 -0
  60. package/addons/admin/checks/admin.ts +36 -0
  61. package/addons/admin/config/index.ts +45 -0
  62. package/addons/admin/config/menu.json +44 -0
  63. package/addons/admin/scripts/syncApi.ts +285 -0
  64. package/addons/admin/scripts/syncDev.ts +203 -0
  65. package/addons/admin/scripts/syncMenu.ts +210 -0
  66. package/addons/admin/tables/admin.json +14 -0
  67. package/addons/admin/tables/api.json +8 -0
  68. package/addons/admin/tables/dict.json +8 -0
  69. package/addons/admin/tables/menu.json +8 -0
  70. package/addons/admin/tables/role.json +8 -0
  71. package/addons/admin/types/index.ts +44 -0
  72. package/addons/admin/util.ts +266 -0
  73. package/addons/befly/addon.config.json +13 -0
  74. package/addons/befly/apis/health/info.ts +77 -0
  75. package/addons/befly/apis/tool/tokenCheck.ts +52 -0
  76. package/addons/demo/README.md +62 -0
  77. package/addons/demo/addon.config.json +13 -0
  78. package/addons/demo/apis/demoIns.ts +36 -0
  79. package/addons/demo/apis/demoList.ts +36 -0
  80. package/addons/demo/checks/demo.ts +30 -0
  81. package/addons/demo/config/default.ts +17 -0
  82. package/addons/demo/plugins/tool.ts +61 -0
  83. package/addons/demo/tables/todo.json +6 -0
  84. package/addons/demo/types/index.d.ts +56 -0
  85. package/apis/article/articleDel.ts +33 -0
  86. package/apis/article/articleDetail.ts +26 -0
  87. package/apis/article/articleIns.ts +47 -0
  88. package/apis/article/articleList.ts +47 -0
  89. package/apis/article/articleUpd.ts +55 -0
  90. package/apis/article/increment.ts +37 -0
  91. package/apis/test/hi.ts +9 -0
  92. package/apis/user/login.ts +56 -0
  93. package/apis/user/userList.ts +40 -0
  94. package/bun.lock +140 -0
  95. package/checks/demo.ts +25 -0
  96. package/logs/2025-08-22.0.log +197 -0
  97. package/logs/2025-08-23.0.log +151 -0
  98. package/logs/2025-08-24.0.log +296 -0
  99. package/logs/2025-08-25.0.log +162 -0
  100. package/logs/2025-08-26.0.log +19 -0
  101. package/logs/2025-08-27.0.log +63 -0
  102. package/logs/2025-08-28.0.log +286 -0
  103. package/logs/2025-08-30.0.log +1 -0
  104. package/logs/2025-09-01.0.log +296 -0
  105. package/logs/2025-09-02.0.log +298 -0
  106. package/logs/2025-10-11.0.log +2718 -0
  107. package/logs/2025-10-12.0.log +4374 -0
  108. package/logs/2025-10-13.0.log +759 -0
  109. package/logs/2025-10-14.0.log +2350 -0
  110. package/logs/2025-10-15.0.log +2386 -0
  111. package/logs/2025-10-16.0.log +2807 -0
  112. package/logs/2025-10-17.0.log +1143 -0
  113. package/logs/2025-10-18.0.log +1292 -0
  114. package/logs/2025-10-19.0.log +1752 -0
  115. package/logs/2025-10-20.0.log +722 -0
  116. package/logs/2025-10-21.0.log +1075 -0
  117. package/logs/2025-10-23.0.log +3291 -0
  118. package/logs/2025-10-24.0.log +2341 -0
  119. package/logs/2025-10-25.0.log +1367 -0
  120. package/logs/debug.0.log +25174 -0
  121. package/main.ts +9 -0
  122. package/package.json +29 -0
  123. package/pm2.config.cjs +85 -0
  124. package/tables/article.json +11 -0
  125. package/tables/user.json +8 -0
  126. package/temp/addon-route-prefix-migration.md +400 -0
  127. package/temp/api-route-conflict-analysis.md +441 -0
  128. package/temp/interactive-cli-guide.md +199 -0
  129. package/temp/missing-apis-fix.md +362 -0
  130. package/temp/remove-status-field.md +239 -0
  131. package/temp/roleid-to-rolecode-optimization.md +321 -0
  132. package/temp/status-to-state-migration-complete.md +176 -0
  133. package/temp/syncMenu-guide.md +235 -0
  134. package/temp/test-admin-menus-cache.ts +125 -0
  135. package/temp/test-admin-menus.ts +110 -0
  136. package/temp/test-interactive-cli.ps1 +14 -0
  137. package/tests/core.test.ts +13 -0
  138. package/tsconfig.json +23 -0
  139. package/types/api.ts +128 -0
  140. package/types/index.ts +6 -0
  141. package/types/models.example.ts +267 -0
  142. package/types/models.ts +67 -0
@@ -0,0 +1,267 @@
1
+ /**
2
+ * 数据模型类型定义
3
+ *
4
+ * 这个文件定义了常用的数据模型类型
5
+ */
6
+
7
+ /**
8
+ * 基础实体接口(所有表共有的字段)
9
+ */
10
+ export interface BaseEntity {
11
+ /** 主键 ID */
12
+ id: number;
13
+ /** 创建时间(时间戳) */
14
+ createdAt: number;
15
+ /** 更新时间(时间戳) */
16
+ updatedAt: number;
17
+ /** 删除时间(时间戳,null 表示未删除) */
18
+ deletedAt: number | null;
19
+ /** 状态(0=正常,1=禁用) */
20
+ state: number;
21
+ }
22
+
23
+ /**
24
+ * 用户角色类型
25
+ */
26
+ export type UserRole = 'admin' | 'user' | 'guest' | 'editor' | 'viewer';
27
+
28
+ /**
29
+ * 用户模型
30
+ */
31
+ export interface User extends BaseEntity {
32
+ /** 用户名 */
33
+ username: string;
34
+ /** 邮箱 */
35
+ email: string;
36
+ /** 密码(哈希后) */
37
+ password: string;
38
+ /** 角色 */
39
+ role: UserRole;
40
+ /** 手机号 */
41
+ phone?: string;
42
+ /** 头像 URL */
43
+ avatar?: string;
44
+ /** 昵称 */
45
+ nickname?: string;
46
+ /** 个人简介 */
47
+ bio?: string;
48
+ }
49
+
50
+ /**
51
+ * 产品分类
52
+ */
53
+ export interface Category extends BaseEntity {
54
+ /** 分类名称 */
55
+ name: string;
56
+ /** 父分类 ID */
57
+ parentId: number | null;
58
+ /** 排序 */
59
+ sort: number;
60
+ /** 描述 */
61
+ description?: string;
62
+ }
63
+
64
+ /**
65
+ * 产品模型
66
+ */
67
+ export interface Product extends BaseEntity {
68
+ /** 产品名称 */
69
+ name: string;
70
+ /** 价格(单位:分) */
71
+ price: number;
72
+ /** 库存 */
73
+ stock: number;
74
+ /** 分类 ID */
75
+ categoryId: number;
76
+ /** 标签 */
77
+ tags: string[];
78
+ /** 描述 */
79
+ description: string;
80
+ /** 图片 URL 列表 */
81
+ images?: string[];
82
+ /** SKU */
83
+ sku?: string;
84
+ /** 原价 */
85
+ originalPrice?: number;
86
+ }
87
+
88
+ /**
89
+ * 订单状态
90
+ */
91
+ export type OrderStatus = 'pending' | 'paid' | 'shipped' | 'completed' | 'cancelled' | 'refunded';
92
+
93
+ /**
94
+ * 订单模型
95
+ */
96
+ export interface Order extends BaseEntity {
97
+ /** 订单号 */
98
+ orderNo: string;
99
+ /** 用户 ID */
100
+ userId: number;
101
+ /** 产品 ID */
102
+ productId: number;
103
+ /** 数量 */
104
+ quantity: number;
105
+ /** 总价 */
106
+ totalPrice: number;
107
+ /** 状态 */
108
+ status: OrderStatus;
109
+ /** 收货地址 */
110
+ address?: string;
111
+ /** 收货人 */
112
+ recipient?: string;
113
+ /** 联系电话 */
114
+ phone?: string;
115
+ /** 备注 */
116
+ remark?: string;
117
+ }
118
+
119
+ /**
120
+ * 文章模型
121
+ */
122
+ export interface Article extends BaseEntity {
123
+ /** 标题 */
124
+ title: string;
125
+ /** 内容 */
126
+ content: string;
127
+ /** 作者 ID */
128
+ authorId: number;
129
+ /** 分类 ID */
130
+ categoryId: number;
131
+ /** 标签 */
132
+ tags: string[];
133
+ /** 摘要 */
134
+ summary?: string;
135
+ /** 封面图 */
136
+ coverImage?: string;
137
+ /** 浏览次数 */
138
+ viewCount: number;
139
+ /** 点赞次数 */
140
+ likeCount: number;
141
+ /** 是否发布 */
142
+ published: boolean;
143
+ }
144
+
145
+ /**
146
+ * 评论模型
147
+ */
148
+ export interface Comment extends BaseEntity {
149
+ /** 评论内容 */
150
+ content: string;
151
+ /** 用户 ID */
152
+ userId: number;
153
+ /** 关联 ID(文章、产品等) */
154
+ targetId: number;
155
+ /** 关联类型 */
156
+ targetType: 'article' | 'product' | 'order';
157
+ /** 父评论 ID */
158
+ parentId: number | null;
159
+ /** 点赞次数 */
160
+ likeCount: number;
161
+ }
162
+
163
+ /**
164
+ * 文件模型
165
+ */
166
+ export interface File extends BaseEntity {
167
+ /** 文件名 */
168
+ filename: string;
169
+ /** 原始文件名 */
170
+ originalName: string;
171
+ /** 文件路径 */
172
+ path: string;
173
+ /** 文件大小(字节) */
174
+ size: number;
175
+ /** MIME 类型 */
176
+ mimeType: string;
177
+ /** 文件哈希 */
178
+ hash: string;
179
+ /** 上传者 ID */
180
+ uploaderId: number;
181
+ /** 文件类型 */
182
+ type: 'image' | 'video' | 'audio' | 'document' | 'other';
183
+ }
184
+
185
+ /**
186
+ * 配置模型
187
+ */
188
+ export interface Config extends BaseEntity {
189
+ /** 配置键 */
190
+ key: string;
191
+ /** 配置值 */
192
+ value: string;
193
+ /** 配置类型 */
194
+ type: 'string' | 'number' | 'boolean' | 'json';
195
+ /** 描述 */
196
+ description?: string;
197
+ /** 分组 */
198
+ group?: string;
199
+ }
200
+
201
+ /**
202
+ * 日志模型
203
+ */
204
+ export interface Log extends BaseEntity {
205
+ /** 日志级别 */
206
+ level: 'info' | 'warn' | 'error' | 'debug';
207
+ /** 日志消息 */
208
+ message: string;
209
+ /** 用户 ID */
210
+ userId?: number;
211
+ /** IP 地址 */
212
+ ip?: string;
213
+ /** 用户代理 */
214
+ userAgent?: string;
215
+ /** 额外数据 */
216
+ metadata?: Record<string, any>;
217
+ }
218
+
219
+ /**
220
+ * 通知模型
221
+ */
222
+ export interface Notification extends BaseEntity {
223
+ /** 标题 */
224
+ title: string;
225
+ /** 内容 */
226
+ content: string;
227
+ /** 接收者 ID */
228
+ receiverId: number;
229
+ /** 类型 */
230
+ type: 'system' | 'order' | 'comment' | 'like' | 'follow';
231
+ /** 是否已读 */
232
+ read: boolean;
233
+ /** 关联 ID */
234
+ targetId?: number;
235
+ /** 关联类型 */
236
+ targetType?: string;
237
+ }
238
+
239
+ /**
240
+ * 权限模型
241
+ */
242
+ export interface Permission extends BaseEntity {
243
+ /** 权限名称 */
244
+ name: string;
245
+ /** 权限标识 */
246
+ code: string;
247
+ /** 描述 */
248
+ description?: string;
249
+ /** 资源类型 */
250
+ resource: string;
251
+ /** 操作类型 */
252
+ action: 'create' | 'read' | 'update' | 'delete' | 'execute';
253
+ }
254
+
255
+ /**
256
+ * 角色模型
257
+ */
258
+ export interface Role extends BaseEntity {
259
+ /** 角色名称 */
260
+ name: string;
261
+ /** 角色标识 */
262
+ code: string;
263
+ /** 描述 */
264
+ description?: string;
265
+ /** 权限 ID 列表 */
266
+ permissions: number[];
267
+ }
@@ -0,0 +1,67 @@
1
+ /**
2
+ * 数据模型类型定义示例
3
+ * 注意:实际项目中可能不需要这些类型定义
4
+ */
5
+
6
+ /**
7
+ * 用户模型
8
+ */
9
+ export interface User extends BaseEntity {
10
+ username: string;
11
+ email: string;
12
+ password: string;
13
+ role: UserRole;
14
+ avatar?: string;
15
+ nickname?: string;
16
+ }
17
+
18
+ /**
19
+ * 用户角色
20
+ */
21
+ export type UserRole = 'admin' | 'user' | 'guest';
22
+
23
+ /**
24
+ * 文章模型
25
+ */
26
+ export interface Article extends BaseEntity {
27
+ title: string;
28
+ content: string;
29
+ authorId: number;
30
+ categoryId: number;
31
+ tags: string[];
32
+ summary?: string;
33
+ coverImage?: string;
34
+ viewCount: number;
35
+ published: boolean;
36
+ }
37
+
38
+ /**
39
+ * 产品模型
40
+ */
41
+ export interface Product extends BaseEntity {
42
+ name: string;
43
+ price: number;
44
+ stock: number;
45
+ categoryId: number;
46
+ description: string;
47
+ images: string[];
48
+ tags: string[];
49
+ }
50
+
51
+ /**
52
+ * 订单模型
53
+ */
54
+ export interface Order extends BaseEntity {
55
+ orderNo: string;
56
+ userId: number;
57
+ productId: number;
58
+ quantity: number;
59
+ totalPrice: number;
60
+ status: OrderStatus;
61
+ address?: string;
62
+ }
63
+
64
+ /**
65
+ * 订单状态
66
+ */
67
+ export type OrderStatus = 'pending' | 'paid' | 'shipped' | 'completed' | 'cancelled';