sctj-components 1.0.0
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.
- package/PUBLISH_GUIDE.md +293 -0
- package/README.md +1112 -0
- package/lib/chunks/404-8b5347fb.js +4 -0
- package/lib/chunks/bug-29d5a8c8.js +4 -0
- package/lib/chunks/build-0e8711f7.js +4 -0
- package/lib/chunks/button-abec46ef.js +4 -0
- package/lib/chunks/cascader-328523ba.js +4 -0
- package/lib/chunks/chart-04ef8147.js +4 -0
- package/lib/chunks/checkbox-1238324c.js +4 -0
- package/lib/chunks/clipboard-625a991f.js +4 -0
- package/lib/chunks/code-2f6398b5.js +4 -0
- package/lib/chunks/color-13488c06.js +4 -0
- package/lib/chunks/component-495e49d4.js +4 -0
- package/lib/chunks/dashboard-3a81480c.js +4 -0
- package/lib/chunks/date-c2ef6759.js +4 -0
- package/lib/chunks/date-range-551e4fd6.js +4 -0
- package/lib/chunks/dict-5539087c.js +4 -0
- package/lib/chunks/documentation-8d81c185.js +4 -0
- package/lib/chunks/download-11fa6102.js +4 -0
- package/lib/chunks/drag-2fbf0e89.js +4 -0
- package/lib/chunks/druid-57209587.js +4 -0
- package/lib/chunks/edit-9e3738f0.js +4 -0
- package/lib/chunks/education-7fb0e453.js +4 -0
- package/lib/chunks/email-7477951a.js +4 -0
- package/lib/chunks/example-b8091a8b.js +4 -0
- package/lib/chunks/excel-9e8720a6.js +4 -0
- package/lib/chunks/exit-fullscreen-fe7ec08b.js +4 -0
- package/lib/chunks/eye-1a093b92.js +4 -0
- package/lib/chunks/eye-open-312c146f.js +4 -0
- package/lib/chunks/form-54837ed4.js +4 -0
- package/lib/chunks/fullscreen-552cc3b4.js +4 -0
- package/lib/chunks/github-0539cc3d.js +4 -0
- package/lib/chunks/guide-407e9748.js +4 -0
- package/lib/chunks/icon-83dfff61.js +4 -0
- package/lib/chunks/input-de62ab83.js +4 -0
- package/lib/chunks/international-7bb87f29.js +4 -0
- package/lib/chunks/job-e78e9a3d.js +4 -0
- package/lib/chunks/language-8b7629d9.js +4 -0
- package/lib/chunks/link-f264a825.js +4 -0
- package/lib/chunks/list-2e431778.js +4 -0
- package/lib/chunks/lock-5e8f10d7.js +4 -0
- package/lib/chunks/log-80bfb029.js +4 -0
- package/lib/chunks/logininfor-47a5f04e.js +4 -0
- package/lib/chunks/message-06f1d593.js +4 -0
- package/lib/chunks/money-14039a58.js +4 -0
- package/lib/chunks/monitor-b020306f.js +4 -0
- package/lib/chunks/nested-13647a6a.js +4 -0
- package/lib/chunks/number-290265fd.js +4 -0
- package/lib/chunks/online-64589b70.js +4 -0
- package/lib/chunks/password-1192ad67.js +4 -0
- package/lib/chunks/pdf-8176f032.js +4 -0
- package/lib/chunks/people-6e6b61b6.js +4 -0
- package/lib/chunks/peoples-35c96c5c.js +4 -0
- package/lib/chunks/phone-6bc01ca6.js +4 -0
- package/lib/chunks/post-0d01cf1a.js +4 -0
- package/lib/chunks/qq-df2843d2.js +4 -0
- package/lib/chunks/question-c1e9a4e7.js +4 -0
- package/lib/chunks/radio-5c66d676.js +4 -0
- package/lib/chunks/rate-eb858d5b.js +4 -0
- package/lib/chunks/redis-788c8d4f.js +4 -0
- package/lib/chunks/redis-list-6792700e.js +4 -0
- package/lib/chunks/row-d431ba9c.js +4 -0
- package/lib/chunks/search-990fe622.js +4 -0
- package/lib/chunks/select-1d794732.js +4 -0
- package/lib/chunks/server-b0c98c01.js +4 -0
- package/lib/chunks/shopping-2a187e37.js +4 -0
- package/lib/chunks/sip-0.13.6.min-53cd1379.js +5546 -0
- package/lib/chunks/size-e3f93f23.js +4 -0
- package/lib/chunks/skill-abe26c0c.js +4 -0
- package/lib/chunks/slider-cb3330ba.js +4 -0
- package/lib/chunks/star-5182766b.js +4 -0
- package/lib/chunks/swagger-266c9f25.js +4 -0
- package/lib/chunks/switch-74aa5d5b.js +4 -0
- package/lib/chunks/system-943da249.js +4 -0
- package/lib/chunks/tab-9202c247.js +4 -0
- package/lib/chunks/table-2d14e126.js +4 -0
- package/lib/chunks/textarea-4d9d0b2c.js +4 -0
- package/lib/chunks/theme-7bbe2d45.js +4 -0
- package/lib/chunks/time-f08907ac.js +4 -0
- package/lib/chunks/time-range-e7b40483.js +4 -0
- package/lib/chunks/tool-6f22c373.js +4 -0
- package/lib/chunks/tree-0118a113.js +4 -0
- package/lib/chunks/tree-table-54984188.js +4 -0
- package/lib/chunks/upload-e852b478.js +4 -0
- package/lib/chunks/user-82704b02.js +4 -0
- package/lib/chunks/validCode-ba29b5b3.js +4 -0
- package/lib/chunks/wechat-22f119d5.js +4 -0
- package/lib/chunks/zip-c3a63b61.js +4 -0
- package/lib/sctj-components.es.js +10491 -0
- package/lib/sctj-components.umd.js +1 -0
- package/lib/style.css +1 -0
- package/package.json +55 -0
- package/public/BimfaceSDKLoader@latest-release.js +643 -0
- package/public/hkPlayerPlugin/h5player.min.js +1 -0
- package/public/hkPlayerPlugin/playctrl1/DecodeWorker.js +705 -0
- package/public/hkPlayerPlugin/playctrl1/Decoder.js +171 -0
- package/public/hkPlayerPlugin/playctrl1simd/DecodeWorker.js +705 -0
- package/public/hkPlayerPlugin/playctrl1simd/Decoder.js +171 -0
- package/public/hkPlayerPlugin/playctrl2/Decoder.js +21 -0
- package/public/hkPlayerPlugin/playctrl2/Decoder.wasm +0 -0
- package/public/hkPlayerPlugin/playctrl2/Decoder.worker.js +1 -0
- package/public/hkPlayerPlugin/playctrl3/Decoder.js +21 -0
- package/public/hkPlayerPlugin/playctrl3/Decoder.wasm +0 -0
- package/public/hkPlayerPlugin/playctrl3/Decoder.worker.js +1 -0
- package/public/hkPlayerPlugin/talk/AudioInterCom.js +21 -0
- package/public/hkPlayerPlugin/talk/AudioInterCom.wasm +0 -0
- package/public/hkPlayerPlugin/talkW/AudioInterCom.js +21 -0
- package/public/hkPlayerPlugin/talkW/AudioInterCom.wasm +0 -0
- package/public/hkPlayerPlugin/talkW/AudioInterCom.worker.js +1 -0
- package/public/hkPlayerPlugin/transform/libSystemTransform.js +6589 -0
- package/public/hkPlayerPlugin/transform/libSystemTransform.wasm +0 -0
- package/public/hkPlayerPlugin/transform/systemTransform-worker.js +126 -0
package/PUBLISH_GUIDE.md
ADDED
|
@@ -0,0 +1,293 @@
|
|
|
1
|
+
# 组件库发布指南
|
|
2
|
+
|
|
3
|
+
## 📋 发布前准备
|
|
4
|
+
|
|
5
|
+
### 1. 检查组件依赖
|
|
6
|
+
|
|
7
|
+
组件库已经处理了所有业务依赖:
|
|
8
|
+
|
|
9
|
+
- ✅ **通用工具函数**(如 `generateShortId`、`getArrayLevel` 等)已打包进组件库
|
|
10
|
+
- ✅ **业务 API 依赖**已改为通过 props 传入函数(如播放器组件)
|
|
11
|
+
- ✅ **peerDependencies** 已配置,用户需要手动安装核心依赖
|
|
12
|
+
- ✅ **静态资源**需要在宿主项目中手动拷贝(海康插件、BIM 插件)
|
|
13
|
+
|
|
14
|
+
### 2. 更新 package.json
|
|
15
|
+
|
|
16
|
+
发布前需要修改 `package.json` 中的以下字段:
|
|
17
|
+
|
|
18
|
+
```json
|
|
19
|
+
{
|
|
20
|
+
"name": "your-component-library-name", // 修改为你的组件库名称
|
|
21
|
+
"version": "1.0.0", // 设置初始版本
|
|
22
|
+
"description": "组件库描述",
|
|
23
|
+
"author": "你的名字"
|
|
24
|
+
}
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
### 3. 处理样式文件
|
|
28
|
+
|
|
29
|
+
如果组件使用了 SCSS,需要确保样式文件被正确打包。可能需要:
|
|
30
|
+
|
|
31
|
+
1. 安装 `sass` 作为 devDependencies(已安装)
|
|
32
|
+
2. 确保样式文件被正确引入
|
|
33
|
+
|
|
34
|
+
## 🏗️ 构建组件库
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
# 构建组件库
|
|
38
|
+
npm run build:lib
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
构建完成后,会在 `lib` 目录下生成:
|
|
42
|
+
- `sctj-components.es.js` - ES 模块格式
|
|
43
|
+
- `sctj-components.umd.js` - UMD 格式(浏览器直接使用)
|
|
44
|
+
- `style.css` - 样式文件(如果有)
|
|
45
|
+
|
|
46
|
+
## 📦 发布到 npm
|
|
47
|
+
|
|
48
|
+
### 1. 登录 npm
|
|
49
|
+
|
|
50
|
+
#### 方式一:标准登录(推荐)
|
|
51
|
+
|
|
52
|
+
```bash
|
|
53
|
+
npm login
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
系统会提示输入:
|
|
57
|
+
- **Username**:你的 npm 用户名
|
|
58
|
+
- **Password**:你的 npm 密码
|
|
59
|
+
- **Email**:你的 npm 邮箱
|
|
60
|
+
- **OTP**(如果启用了 2FA):一次性验证码
|
|
61
|
+
|
|
62
|
+
#### 方式二:Legacy 登录(使用 Access Token)
|
|
63
|
+
|
|
64
|
+
如果你的 npm 账号启用了 2FA,或者需要使用 Access Token 登录,可以使用:
|
|
65
|
+
|
|
66
|
+
```bash
|
|
67
|
+
npm login --auth-type=legacy
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
**使用场景**:
|
|
71
|
+
- 启用了 2FA 但想使用 token 登录
|
|
72
|
+
- 需要使用 Granular Access Token(细粒度访问令牌)
|
|
73
|
+
- CI/CD 自动化发布
|
|
74
|
+
|
|
75
|
+
**操作步骤**:
|
|
76
|
+
|
|
77
|
+
1. **获取 Access Token**:
|
|
78
|
+
- 访问:https://www.npmjs.com/settings/your-username/tokens
|
|
79
|
+
- 点击 "Generate New Token"
|
|
80
|
+
- 选择类型:
|
|
81
|
+
- **Automation**:用于 CI/CD,永久有效
|
|
82
|
+
- **Publish**:用于发布包,可设置过期时间
|
|
83
|
+
- 如果使用 Granular Access Token,需要启用 "Bypass 2FA" 权限
|
|
84
|
+
- 复制生成的 token(只显示一次,请妥善保存)
|
|
85
|
+
|
|
86
|
+
2. **使用 token 登录**:
|
|
87
|
+
```bash
|
|
88
|
+
npm login --auth-type=legacy
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
然后按提示输入:
|
|
92
|
+
- **Username**:你的 npm 用户名
|
|
93
|
+
- **Password**:**这里输入你的 Access Token(不是密码)**
|
|
94
|
+
- **Email**:你的 npm 邮箱(公开的邮箱地址)
|
|
95
|
+
|
|
96
|
+
3. **验证登录**:
|
|
97
|
+
```bash
|
|
98
|
+
npm whoami
|
|
99
|
+
```
|
|
100
|
+
如果显示你的用户名,说明登录成功。
|
|
101
|
+
|
|
102
|
+
#### 方式三:使用 .npmrc 配置 token(适合 CI/CD)
|
|
103
|
+
|
|
104
|
+
如果不想交互式登录,可以直接在 `.npmrc` 文件中配置:
|
|
105
|
+
|
|
106
|
+
```ini
|
|
107
|
+
# 在项目根目录或用户目录的 .npmrc 文件中
|
|
108
|
+
//registry.npmjs.org/:_authToken=your-access-token-here
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
**注意**:`.npmrc` 文件包含敏感信息,不要提交到 Git 仓库。
|
|
112
|
+
|
|
113
|
+
#### 如果没有 npm 账号
|
|
114
|
+
|
|
115
|
+
先注册:
|
|
116
|
+
```bash
|
|
117
|
+
npm adduser
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
或者访问:https://www.npmjs.com/signup
|
|
121
|
+
|
|
122
|
+
### 2. 检查包名是否可用
|
|
123
|
+
|
|
124
|
+
```bash
|
|
125
|
+
npm view your-package-name
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
如果返回 404,说明包名可用。
|
|
129
|
+
|
|
130
|
+
### 3. 更新版本号
|
|
131
|
+
|
|
132
|
+
使用语义化版本号:
|
|
133
|
+
|
|
134
|
+
```bash
|
|
135
|
+
# 补丁版本 (1.0.0 -> 1.0.1) - 修复 bug
|
|
136
|
+
npm version patch
|
|
137
|
+
|
|
138
|
+
# 次版本 (1.0.0 -> 1.1.0) - 新功能,向后兼容
|
|
139
|
+
npm version minor
|
|
140
|
+
|
|
141
|
+
# 主版本 (1.0.0 -> 2.0.0) - 重大变更,不向后兼容
|
|
142
|
+
npm version major
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
或者手动修改 `package.json` 中的 `version` 字段。
|
|
146
|
+
|
|
147
|
+
### 4. 发布
|
|
148
|
+
|
|
149
|
+
#### npm publish vs npm publish --tag beta
|
|
150
|
+
|
|
151
|
+
**`npm publish`**(默认发布):
|
|
152
|
+
- 发布到 `latest` tag(默认 tag)
|
|
153
|
+
- 用户执行 `npm install package-name` 时会安装这个版本
|
|
154
|
+
- 适合稳定版本、正式版本
|
|
155
|
+
|
|
156
|
+
**`npm publish --tag beta`**(带标签发布):
|
|
157
|
+
- 发布到 `beta` tag(或其他自定义 tag)
|
|
158
|
+
- 用户需要明确指定 tag 才能安装:`npm install package-name@beta`
|
|
159
|
+
- 适合测试版本、预发布版本、实验性功能
|
|
160
|
+
|
|
161
|
+
**示例**:
|
|
162
|
+
|
|
163
|
+
```bash
|
|
164
|
+
# 发布正式版本(latest)
|
|
165
|
+
npm publish
|
|
166
|
+
# 用户安装:npm install sctj-components
|
|
167
|
+
|
|
168
|
+
# 发布测试版本(beta)
|
|
169
|
+
npm publish --tag beta
|
|
170
|
+
# 用户安装:npm install sctj-components@beta
|
|
171
|
+
|
|
172
|
+
# 发布预发布版本(alpha)
|
|
173
|
+
npm publish --tag alpha
|
|
174
|
+
# 用户安装:npm install sctj-components@alpha
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
**版本号与 tag 的关系**:
|
|
178
|
+
|
|
179
|
+
```bash
|
|
180
|
+
# 版本 1.0.0 发布为 latest(正式版)
|
|
181
|
+
npm publish
|
|
182
|
+
# → 用户 npm install 会得到 1.0.0
|
|
183
|
+
|
|
184
|
+
# 版本 1.0.1-beta.1 发布为 beta(测试版)
|
|
185
|
+
npm publish --tag beta
|
|
186
|
+
# → 用户 npm install 不会自动安装,需要 npm install @beta
|
|
187
|
+
|
|
188
|
+
# 版本 1.1.0 发布为 latest(新的正式版)
|
|
189
|
+
npm publish
|
|
190
|
+
# → 用户 npm install 会得到 1.1.0(自动更新)
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
**发布到私有 npm 源**:
|
|
194
|
+
```bash
|
|
195
|
+
npm publish --registry=https://your-registry-url
|
|
196
|
+
```
|
|
197
|
+
|
|
198
|
+
### 5. 验证发布
|
|
199
|
+
|
|
200
|
+
```bash
|
|
201
|
+
# 查看已发布的包
|
|
202
|
+
npm view your-package-name
|
|
203
|
+
|
|
204
|
+
# 安装测试
|
|
205
|
+
npm install your-package-name
|
|
206
|
+
```
|
|
207
|
+
|
|
208
|
+
## 🔄 更新版本
|
|
209
|
+
|
|
210
|
+
1. 修改代码
|
|
211
|
+
2. 更新版本号:`npm version patch/minor/major`
|
|
212
|
+
3. 构建:`npm run build:lib`
|
|
213
|
+
4. 发布:`npm publish`
|
|
214
|
+
|
|
215
|
+
## ⚠️ 常见问题
|
|
216
|
+
|
|
217
|
+
### 1. 包名已被占用
|
|
218
|
+
|
|
219
|
+
解决方案:
|
|
220
|
+
- 更换包名
|
|
221
|
+
- 使用 scope:`@your-username/package-name`
|
|
222
|
+
|
|
223
|
+
### 2. 发布失败:需要认证或 2FA
|
|
224
|
+
|
|
225
|
+
**错误信息**:
|
|
226
|
+
```
|
|
227
|
+
403 Forbidden - Two-factor authentication or granular access token with bypass 2fa enabled is required
|
|
228
|
+
```
|
|
229
|
+
|
|
230
|
+
**解决方案**:
|
|
231
|
+
|
|
232
|
+
1. **启用 2FA**(推荐):
|
|
233
|
+
- 访问:https://www.npmjs.com/settings/your-username/two-factor
|
|
234
|
+
- 启用双因素认证
|
|
235
|
+
- 使用 `npm login` 登录时会要求输入 OTP
|
|
236
|
+
|
|
237
|
+
2. **使用 Granular Access Token**:
|
|
238
|
+
```bash
|
|
239
|
+
npm login --auth-type=legacy
|
|
240
|
+
```
|
|
241
|
+
- 创建 token 时启用 "Bypass 2FA" 权限
|
|
242
|
+
- 登录时在 Password 字段输入 token
|
|
243
|
+
|
|
244
|
+
3. **检查当前登录状态**:
|
|
245
|
+
```bash
|
|
246
|
+
npm whoami
|
|
247
|
+
```
|
|
248
|
+
|
|
249
|
+
### 3. 样式文件未打包
|
|
250
|
+
|
|
251
|
+
检查 `vite.lib.config.js` 中的配置,确保样式文件被正确处理。
|
|
252
|
+
|
|
253
|
+
### 4. 组件依赖的工具函数找不到
|
|
254
|
+
|
|
255
|
+
组件库已将所有通用工具函数打包,如果遇到问题:
|
|
256
|
+
- 检查 `vite.lib.config.js` 中的 `external` 列表
|
|
257
|
+
- 确保工具函数在 `src/utils/index.js` 中正确导出
|
|
258
|
+
|
|
259
|
+
### 5. 组件需要 API 函数但未提供
|
|
260
|
+
|
|
261
|
+
部分组件(如播放器组件)需要通过 props 传入业务 API 函数,请参考 `README.md` 中的使用说明。
|
|
262
|
+
|
|
263
|
+
## 📝 发布清单
|
|
264
|
+
|
|
265
|
+
- [ ] 更新 `package.json` 中的包名、版本、描述等信息
|
|
266
|
+
- [ ] 检查所有组件是否正常工作
|
|
267
|
+
- [ ] 处理组件依赖的工具函数
|
|
268
|
+
- [ ] 构建组件库:`npm run build:lib`
|
|
269
|
+
- [ ] 检查 `lib` 目录下的文件
|
|
270
|
+
- [ ] 测试安装和使用
|
|
271
|
+
- [ ] 更新版本号
|
|
272
|
+
- [ ] 发布到 npm
|
|
273
|
+
|
|
274
|
+
## 🎯 使用私有 npm 源
|
|
275
|
+
|
|
276
|
+
如果使用私有 npm 源(如公司内部源):
|
|
277
|
+
|
|
278
|
+
1. 配置 `.npmrc`:
|
|
279
|
+
```
|
|
280
|
+
registry=https://your-registry-url
|
|
281
|
+
```
|
|
282
|
+
|
|
283
|
+
2. 发布:
|
|
284
|
+
```bash
|
|
285
|
+
npm publish
|
|
286
|
+
```
|
|
287
|
+
|
|
288
|
+
## 📚 相关文档
|
|
289
|
+
|
|
290
|
+
- [npm 发布文档](https://docs.npmjs.com/packages-and-modules/contributing-packages-to-the-registry)
|
|
291
|
+
- [语义化版本](https://semver.org/lang/zh-CN/)
|
|
292
|
+
- [Vite 库模式](https://vitejs.dev/guide/build.html#library-mode)
|
|
293
|
+
|