expo-gaode-map 0.1.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/.eslintrc.js +5 -0
- package/PUBLISHING.md +244 -0
- package/README.md +990 -0
- package/android/build.gradle +48 -0
- package/android/src/main/AndroidManifest.xml +40 -0
- package/android/src/main/java/expo/modules/gaodemap/ExpoGaodeMapModule.kt +455 -0
- package/android/src/main/java/expo/modules/gaodemap/ExpoGaodeMapView.kt +337 -0
- package/android/src/main/java/expo/modules/gaodemap/managers/CameraManager.kt +128 -0
- package/android/src/main/java/expo/modules/gaodemap/managers/OverlayManager.kt +324 -0
- package/android/src/main/java/expo/modules/gaodemap/managers/UIManager.kt +122 -0
- package/android/src/main/java/expo/modules/gaodemap/modules/LocationManager.kt +247 -0
- package/android/src/main/java/expo/modules/gaodemap/modules/SDKInitializer.kt +45 -0
- package/android/src/main/java/expo/modules/gaodemap/overlays/CircleView.kt +151 -0
- package/android/src/main/java/expo/modules/gaodemap/overlays/ClusterView.kt +127 -0
- package/android/src/main/java/expo/modules/gaodemap/overlays/HeatMapView.kt +97 -0
- package/android/src/main/java/expo/modules/gaodemap/overlays/MarkerView.kt +204 -0
- package/android/src/main/java/expo/modules/gaodemap/overlays/MultiPointView.kt +103 -0
- package/android/src/main/java/expo/modules/gaodemap/overlays/PolygonView.kt +114 -0
- package/android/src/main/java/expo/modules/gaodemap/overlays/PolylineView.kt +138 -0
- package/build/ExpoGaodeMap.types.d.ts +24 -0
- package/build/ExpoGaodeMap.types.d.ts.map +1 -0
- package/build/ExpoGaodeMap.types.js +14 -0
- package/build/ExpoGaodeMap.types.js.map +1 -0
- package/build/ExpoGaodeMapModule.d.ts +7 -0
- package/build/ExpoGaodeMapModule.d.ts.map +1 -0
- package/build/ExpoGaodeMapModule.js +14 -0
- package/build/ExpoGaodeMapModule.js.map +1 -0
- package/build/ExpoGaodeMapView.d.ts +31 -0
- package/build/ExpoGaodeMapView.d.ts.map +1 -0
- package/build/ExpoGaodeMapView.js +141 -0
- package/build/ExpoGaodeMapView.js.map +1 -0
- package/build/components/overlays/Circle.d.ts +18 -0
- package/build/components/overlays/Circle.d.ts.map +1 -0
- package/build/components/overlays/Circle.js +63 -0
- package/build/components/overlays/Circle.js.map +1 -0
- package/build/components/overlays/Cluster.d.ts +22 -0
- package/build/components/overlays/Cluster.d.ts.map +1 -0
- package/build/components/overlays/Cluster.js +35 -0
- package/build/components/overlays/Cluster.js.map +1 -0
- package/build/components/overlays/HeatMap.d.ts +21 -0
- package/build/components/overlays/HeatMap.d.ts.map +1 -0
- package/build/components/overlays/HeatMap.js +34 -0
- package/build/components/overlays/HeatMap.js.map +1 -0
- package/build/components/overlays/Marker.d.ts +17 -0
- package/build/components/overlays/Marker.d.ts.map +1 -0
- package/build/components/overlays/Marker.js +57 -0
- package/build/components/overlays/Marker.js.map +1 -0
- package/build/components/overlays/MultiPoint.d.ts +21 -0
- package/build/components/overlays/MultiPoint.d.ts.map +1 -0
- package/build/components/overlays/MultiPoint.js +34 -0
- package/build/components/overlays/MultiPoint.js.map +1 -0
- package/build/components/overlays/Polygon.d.ts +22 -0
- package/build/components/overlays/Polygon.d.ts.map +1 -0
- package/build/components/overlays/Polygon.js +100 -0
- package/build/components/overlays/Polygon.js.map +1 -0
- package/build/components/overlays/Polyline.d.ts +20 -0
- package/build/components/overlays/Polyline.d.ts.map +1 -0
- package/build/components/overlays/Polyline.js +60 -0
- package/build/components/overlays/Polyline.js.map +1 -0
- package/build/components/overlays/index.d.ts +8 -0
- package/build/components/overlays/index.d.ts.map +1 -0
- package/build/components/overlays/index.js +18 -0
- package/build/components/overlays/index.js.map +1 -0
- package/build/index.d.ts +10 -0
- package/build/index.d.ts.map +1 -0
- package/build/index.js +28 -0
- package/build/index.js.map +1 -0
- package/build/modules/AMapLocation.d.ts +58 -0
- package/build/modules/AMapLocation.d.ts.map +1 -0
- package/build/modules/AMapLocation.js +141 -0
- package/build/modules/AMapLocation.js.map +1 -0
- package/build/modules/AMapSDK.d.ts +27 -0
- package/build/modules/AMapSDK.d.ts.map +1 -0
- package/build/modules/AMapSDK.js +43 -0
- package/build/modules/AMapSDK.js.map +1 -0
- package/build/modules/AMapView.d.ts +39 -0
- package/build/modules/AMapView.d.ts.map +1 -0
- package/build/modules/AMapView.js +61 -0
- package/build/modules/AMapView.js.map +1 -0
- package/build/types/common.types.d.ts +133 -0
- package/build/types/common.types.d.ts.map +1 -0
- package/build/types/common.types.js +31 -0
- package/build/types/common.types.js.map +1 -0
- package/build/types/index.d.ts +12 -0
- package/build/types/index.d.ts.map +1 -0
- package/build/types/index.js +17 -0
- package/build/types/index.js.map +1 -0
- package/build/types/location.types.d.ts +306 -0
- package/build/types/location.types.d.ts.map +1 -0
- package/build/types/location.types.js +93 -0
- package/build/types/location.types.js.map +1 -0
- package/build/types/map-view.types.d.ts +213 -0
- package/build/types/map-view.types.d.ts.map +1 -0
- package/build/types/map-view.types.js +6 -0
- package/build/types/map-view.types.js.map +1 -0
- package/build/types/overlays.types.d.ts +296 -0
- package/build/types/overlays.types.d.ts.map +1 -0
- package/build/types/overlays.types.js +6 -0
- package/build/types/overlays.types.js.map +1 -0
- package/build/types/sdk.types.d.ts +113 -0
- package/build/types/sdk.types.d.ts.map +1 -0
- package/build/types/sdk.types.js +6 -0
- package/build/types/sdk.types.js.map +1 -0
- package/docs/followUserLocation.md +186 -0
- package/expo-module.config.json +9 -0
- package/ios/ExpoGaodeMap.podspec +29 -0
- package/ios/ExpoGaodeMapModule.swift +48 -0
- package/ios/ExpoGaodeMapView.swift +38 -0
- package/package.json +45 -0
- package/src/ExpoGaodeMap.types.ts +68 -0
- package/src/ExpoGaodeMapModule.ts +21 -0
- package/src/ExpoGaodeMapView.tsx +151 -0
- package/src/components/overlays/Circle.tsx +73 -0
- package/src/components/overlays/Cluster.tsx +38 -0
- package/src/components/overlays/HeatMap.tsx +37 -0
- package/src/components/overlays/Marker.tsx +66 -0
- package/src/components/overlays/MultiPoint.tsx +37 -0
- package/src/components/overlays/Polygon.tsx +107 -0
- package/src/components/overlays/Polyline.tsx +69 -0
- package/src/components/overlays/index.ts +18 -0
- package/src/index.ts +55 -0
- package/src/modules/AMapLocation.ts +164 -0
- package/src/modules/AMapSDK.ts +48 -0
- package/src/modules/AMapView.ts +68 -0
- package/src/types/README.md +186 -0
- package/src/types/common.types.ts +155 -0
- package/src/types/index.ts +74 -0
- package/src/types/location.types.ts +364 -0
- package/src/types/map-view.types.ts +249 -0
- package/src/types/overlays.types.ts +346 -0
- package/src/types/sdk.types.ts +128 -0
- package/tsconfig.json +9 -0
package/.eslintrc.js
ADDED
package/PUBLISHING.md
ADDED
|
@@ -0,0 +1,244 @@
|
|
|
1
|
+
# 发布到 NPM 指南
|
|
2
|
+
|
|
3
|
+
本文档说明如何将 `expo-smartrefreshlayout` 发布到 npm。
|
|
4
|
+
|
|
5
|
+
## 📋 发布前检查清单
|
|
6
|
+
|
|
7
|
+
在发布之前,请确保:
|
|
8
|
+
|
|
9
|
+
- [x] README.md 文档完整且准确
|
|
10
|
+
- [x] package.json 配置正确
|
|
11
|
+
- [x] 所有代码已提交到 Git
|
|
12
|
+
- [ ] 构建成功无错误
|
|
13
|
+
- [ ] 版本号已更新
|
|
14
|
+
- [ ] 已有 npm 账号并已登录
|
|
15
|
+
|
|
16
|
+
## 🚀 发布步骤
|
|
17
|
+
|
|
18
|
+
### 1. 注册/登录 npm 账号
|
|
19
|
+
|
|
20
|
+
如果你还没有 npm 账号,需要先注册:
|
|
21
|
+
|
|
22
|
+
```bash
|
|
23
|
+
# 注册账号(如果还没有)
|
|
24
|
+
npm adduser
|
|
25
|
+
|
|
26
|
+
# 或者登录已有账号
|
|
27
|
+
npm login
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
按照提示输入:
|
|
31
|
+
- Username(用户名)
|
|
32
|
+
- Password(密码)
|
|
33
|
+
- Email(邮箱)
|
|
34
|
+
- OTP(如果启用了双因素认证)
|
|
35
|
+
|
|
36
|
+
验证是否登录成功:
|
|
37
|
+
```bash
|
|
38
|
+
npm whoami
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
### 2. 检查 .npmignore 文件
|
|
42
|
+
|
|
43
|
+
确保 `.npmignore` 文件配置正确,避免发布不必要的文件。当前项目已配置。
|
|
44
|
+
|
|
45
|
+
### 3. 清理并构建项目
|
|
46
|
+
|
|
47
|
+
```bash
|
|
48
|
+
# 清理之前的构建
|
|
49
|
+
npm run clean
|
|
50
|
+
|
|
51
|
+
# 重新构建
|
|
52
|
+
npm run build
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
构建完成后,会在 `build/` 目录生成编译后的文件。
|
|
56
|
+
|
|
57
|
+
### 4. 测试构建结果
|
|
58
|
+
|
|
59
|
+
在发布前,建议先测试构建结果:
|
|
60
|
+
|
|
61
|
+
```bash
|
|
62
|
+
# 查看会被发布的文件列表
|
|
63
|
+
npm pack --dry-run
|
|
64
|
+
|
|
65
|
+
# 或者创建一个本地 tarball 测试
|
|
66
|
+
npm pack
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
这会显示将要发布到 npm 的所有文件。
|
|
70
|
+
|
|
71
|
+
### 5. 更新版本号
|
|
72
|
+
|
|
73
|
+
使用 npm version 命令更新版本号(这会自动创建 git tag):
|
|
74
|
+
|
|
75
|
+
```bash
|
|
76
|
+
# 修复版本(0.1.0 -> 0.1.1)
|
|
77
|
+
npm version patch
|
|
78
|
+
|
|
79
|
+
# 次要版本(0.1.0 -> 0.2.0)
|
|
80
|
+
npm version minor
|
|
81
|
+
|
|
82
|
+
# 主要版本(0.1.0 -> 1.0.0)
|
|
83
|
+
npm version major
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
或者手动修改 `package.json` 中的 `version` 字段。
|
|
87
|
+
|
|
88
|
+
### 6. 发布到 npm
|
|
89
|
+
|
|
90
|
+
```bash
|
|
91
|
+
# 正式发布
|
|
92
|
+
npm publish
|
|
93
|
+
|
|
94
|
+
# 如果是第一次发布公开包,需要添加 --access public
|
|
95
|
+
npm publish --access public
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
**注意**:
|
|
99
|
+
- 首次发布必须使用 `--access public`,因为默认是私有包
|
|
100
|
+
- 发布后无法撤销,只能发布新版本
|
|
101
|
+
- 包名不能与已存在的包重复
|
|
102
|
+
|
|
103
|
+
### 7. 验证发布
|
|
104
|
+
|
|
105
|
+
发布成功后,可以:
|
|
106
|
+
|
|
107
|
+
1. 访问 npm 页面查看:
|
|
108
|
+
```
|
|
109
|
+
https://www.npmjs.com/package/expo-smartrefreshlayout
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
2. 尝试安装测试:
|
|
113
|
+
```bash
|
|
114
|
+
# 在另一个项目中测试安装
|
|
115
|
+
npm install expo-smartrefreshlayout
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
3. 查看包信息:
|
|
119
|
+
```bash
|
|
120
|
+
npm info expo-smartrefreshlayout
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
### 8. 提交代码到 Git
|
|
124
|
+
|
|
125
|
+
```bash
|
|
126
|
+
# 添加所有更改
|
|
127
|
+
git add .
|
|
128
|
+
|
|
129
|
+
# 提交更改
|
|
130
|
+
git commit -m "chore: publish version 0.1.0"
|
|
131
|
+
|
|
132
|
+
# 推送到远程仓库(包括 tags)
|
|
133
|
+
git push origin main --tags
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
## 🔄 发布新版本
|
|
137
|
+
|
|
138
|
+
当需要发布新版本时:
|
|
139
|
+
|
|
140
|
+
1. 修改代码并测试
|
|
141
|
+
2. 更新 README.md(如果有 API 变化)
|
|
142
|
+
3. 运行 `npm run build` 重新构建
|
|
143
|
+
4. 更新版本号:`npm version patch/minor/major`
|
|
144
|
+
5. 发布:`npm publish`
|
|
145
|
+
6. 推送到 Git:`git push origin main --tags`
|
|
146
|
+
|
|
147
|
+
## 📝 版本号规范(语义化版本)
|
|
148
|
+
|
|
149
|
+
版本号格式:`主版本号.次版本号.修订号`(例如:1.2.3)
|
|
150
|
+
|
|
151
|
+
- **主版本号(Major)**:不兼容的 API 修改
|
|
152
|
+
- **次版本号(Minor)**:向下兼容的功能性新增
|
|
153
|
+
- **修订号(Patch)**:向下兼容的问题修正
|
|
154
|
+
|
|
155
|
+
例如:
|
|
156
|
+
- `0.1.0` -> `0.1.1`:修复 bug
|
|
157
|
+
- `0.1.0` -> `0.2.0`:添加新功能
|
|
158
|
+
- `0.1.0` -> `1.0.0`:重大更新,可能不兼容旧版本
|
|
159
|
+
|
|
160
|
+
## ⚠️ 常见问题
|
|
161
|
+
|
|
162
|
+
### 1. 包名已存在
|
|
163
|
+
|
|
164
|
+
如果提示包名已被占用,需要修改 `package.json` 中的 `name` 字段:
|
|
165
|
+
|
|
166
|
+
```json
|
|
167
|
+
{
|
|
168
|
+
"name": "@your-username/expo-smartrefreshlayout"
|
|
169
|
+
}
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
使用 npm scope 可以避免命名冲突。
|
|
173
|
+
|
|
174
|
+
### 2. 需要双因素认证(2FA)
|
|
175
|
+
|
|
176
|
+
如果账号启用了 2FA,发布时需要提供 OTP:
|
|
177
|
+
|
|
178
|
+
```bash
|
|
179
|
+
npm publish --otp=123456
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
### 3. 构建失败
|
|
183
|
+
|
|
184
|
+
确保安装了所有依赖:
|
|
185
|
+
|
|
186
|
+
```bash
|
|
187
|
+
npm install
|
|
188
|
+
npm run build
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
### 4. 发布权限问题
|
|
192
|
+
|
|
193
|
+
确保你已登录正确的 npm 账号:
|
|
194
|
+
|
|
195
|
+
```bash
|
|
196
|
+
npm whoami
|
|
197
|
+
npm login
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
## 🎯 发布检查脚本
|
|
201
|
+
|
|
202
|
+
你可以创建一个脚本来自动化发布前检查:
|
|
203
|
+
|
|
204
|
+
```bash
|
|
205
|
+
#!/bin/bash
|
|
206
|
+
|
|
207
|
+
echo "🔍 检查 Git 状态..."
|
|
208
|
+
if [[ -n $(git status -s) ]]; then
|
|
209
|
+
echo "❌ 有未提交的更改,请先提交"
|
|
210
|
+
exit 1
|
|
211
|
+
fi
|
|
212
|
+
|
|
213
|
+
echo "🧹 清理构建..."
|
|
214
|
+
npm run clean
|
|
215
|
+
|
|
216
|
+
echo "🔨 开始构建..."
|
|
217
|
+
npm run build
|
|
218
|
+
|
|
219
|
+
echo "✅ 构建成功!"
|
|
220
|
+
echo "📦 预览将要发布的文件:"
|
|
221
|
+
npm pack --dry-run
|
|
222
|
+
|
|
223
|
+
echo ""
|
|
224
|
+
echo "准备发布!请运行:"
|
|
225
|
+
echo " npm version patch # 或 minor/major"
|
|
226
|
+
echo " npm publish --access public"
|
|
227
|
+
```
|
|
228
|
+
|
|
229
|
+
## 📚 相关资源
|
|
230
|
+
|
|
231
|
+
- [npm 官方文档](https://docs.npmjs.com/)
|
|
232
|
+
- [语义化版本规范](https://semver.org/lang/zh-CN/)
|
|
233
|
+
- [Expo Modules 文档](https://docs.expo.dev/modules/overview/)
|
|
234
|
+
|
|
235
|
+
## 🎉 首次发布
|
|
236
|
+
|
|
237
|
+
如果这是首次发布,建议:
|
|
238
|
+
|
|
239
|
+
1. 先发布 `0.1.0` 版本进行测试
|
|
240
|
+
2. 收集用户反馈
|
|
241
|
+
3. 修复问题后发布 `0.1.1`、`0.1.2` 等
|
|
242
|
+
4. 功能稳定后发布 `1.0.0` 正式版
|
|
243
|
+
|
|
244
|
+
祝发布顺利!🚀
|