diff --git a/.npmrc b/.npmrc
new file mode 100644
index 0000000000000000000000000000000000000000..fb7538d194ddd08d061197f0f38b597cc8012cd2
--- /dev/null
+++ b/.npmrc
@@ -0,0 +1,2 @@
+sass_binary_site=https://registry.npmmirror.com/-/binary/node-sass/
+registry=https://registry.npmmirror.com/
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
new file mode 100644
index 0000000000000000000000000000000000000000..f300a2d6a73782fde38e3876fb32103b0ea16a5a
--- /dev/null
+++ b/CONTRIBUTING.md
@@ -0,0 +1,4 @@
+#### 如何贡献代码
+
+参考:
+- 如何提交PR [如何给开源项目贡献代码](https://blog.csdn.net/ylwdev/article/details/126466381)
diff --git a/README.md b/README.md
index a84384a89ffcd73cb3caf980b5c27c7580e0b42a..5272ccfef40c42e2856456a685b4988e9846266d 100644
--- a/README.md
+++ b/README.md
@@ -2,9 +2,15 @@
## 预览地址
- 线上预览地址:[https://csdn.gitcode.host/csdn-datav](https://csdn.gitcode.host/csdn-datav)
+- 正式地址: [https://map.csdn.net/](https://map.csdn.net)
## 开发文档
- 开发文档: [develop.md](https://gitcode.net/csdn/csdn-datav/-/blob/master/doc/develop.md)
- API接口: [api.md](https://gitcode.net/csdn/csdn-datav/-/blob/master/doc/api.md)
+- 如何贡献代码: [CONTRIBUTING.md](https://gitcode.net/csdn/csdn-datav/-/blob/master/CONTRIBUTING.md)
+- 常见问题列表: [fqa.md](https://gitcode.net/csdn/csdn-datav/-/blob/master/doc/fqa.md)
+## 隐私数据公告
+- 关于用户数据详见: [个人信息使用公告](https://marketing.csdn.net/p/ebf7a8242fd61ac7ed172d65a54c4ea6)
+- 如您不希望您的数据在此项目中展示,可以通过以下渠道删除:1.提交[issue](https://gitcode.net/csdn/csdn-datav/-/issues) ;2.联系[客服](https://csdn.s2.udesk.cn/im_client/?web_plugin_id=29181)
## 一、前言
关于开源重要性不多赘述。直接进入主题,我们相信开源的价值,认可这种协作模式能带来更大的价值,同时我们也希望99%的开发者都愿意参与到开源建设中,通过开源学习,成长,找到有相同目标的伙伴,通过参与开源项目建设,可以共享开源的成果。
diff --git a/doc/api.md b/doc/api.md
index 5341e8c626e0ee523b00b254902751373ba73dda..da7d47897e4ba4f13d9eeeb1cf36eac31f0d0b98 100644
--- a/doc/api.md
+++ b/doc/api.md
@@ -1 +1,69 @@
-待完善
+
CSDN数据可视化
+
+### 域名
+**Domain:** https://map-api.csdn.net
+
+### 获取原力视图用户信息
+
+**Path:** /v1/get-force-info
+
+**Method:** GET
+
+### 请求参数
+
+### 返回数据
+
+
+
+
+ 名称 | 类型 | 是否必须 | 默认值 | 备注 | 其他信息 |
+
+ code | number | 非必须 | | | |
message | string | 非必须 | | | |
data | object | 非必须 | | | |
├─ countryTop | object [] | 非必须 | | 全国排行 | item 类型: object |
├─ id | number | 必须 | | | |
├─ username | string | 必须 | | 用户名 | |
├─ nickname | string | 必须 | | 昵称 | |
├─ avatar | string | 必须 | | 头像 | |
├─ city | string | 必须 | | 城市 | |
├─ rank | number | 必须 | | 排名 | |
├─ score | number | 必须 | | 分数 | |
├─ cityInfoList | object [] | 非必须 | | | item 类型: object |
├─ city | string | 必须 | | | |
├─ gps | number [] | 必须 | | | item 类型: number |
├─ | | 非必须 | | | |
├─ score | number | 必须 | | | |
├─ list | object [] | 必须 | | | item 类型: object |
├─ id | number | 必须 | | | |
├─ username | string | 必须 | | | |
├─ nickname | string | 必须 | | | |
├─ avatar | string | 必须 | | | |
├─ city | string | 必须 | | | |
├─ rank | number | 必须 | | | |
├─ score | number | 必须 | | | |
+
+
+
+
+### 获取粉丝分布
+
+**Path:** /v1/get-fan-distribution
+
+**Method:** GET
+
+### 请求参数
+**Query**
+
+| 参数名称 | 是否必须 | 示例 | 备注 |
+| ------------ | ------------ | ------------ | ------------ |
+| username | 是 | abc | 用户名 |
+
+### 返回数据
+
+
+
+
+ 名称 | 类型 | 是否必须 | 默认值 | 备注 | 其他信息 |
+
+ code | number | 非必须 | | | |
message | string | 非必须 | | | |
data | object [] | 非必须 | | | item 类型: object |
├─ city | string | 必须 | | 城市 | |
├─ gps | number [] | 必须 | | 坐标 | item 类型: number |
├─ | | 非必须 | | | |
├─ score | number | 必须 | | 分数 | |
├─ list | string [] | 必须 | | | item 类型: string |
├─ | | 非必须 | | | |
+
+
+
+
+### 获取铁粉视图用户信息
+
+**Path:** /v1/get-hardcore-fan-info
+
+**Method:** GET
+
+### 请求参数
+
+### 返回数据
+
+
+
+
+ 名称 | 类型 | 是否必须 | 默认值 | 备注 | 其他信息 |
+
+ code | number | 非必须 | | | |
message | string | 非必须 | | | |
data | object | 非必须 | | | |
├─ countryTop | object [] | 非必须 | | 全国排行 | item 类型: object |
├─ id | number | 必须 | | | |
├─ username | string | 必须 | | 用户名 | |
├─ nickname | string | 必须 | | 昵称 | |
├─ avatar | string | 必须 | | 头像 | |
├─ city | string | 必须 | | 城市 | |
├─ rank | number | 必须 | | 排名 | |
├─ score | number | 必须 | | 分数 | |
├─ cityInfoList | object [] | 非必须 | | | item 类型: object |
├─ city | string | 必须 | | | |
├─ gps | number [] | 必须 | | | item 类型: number |
├─ | | 非必须 | | | |
├─ score | number | 必须 | | | |
├─ list | object [] | 必须 | | | item 类型: object |
├─ id | number | 必须 | | | |
├─ username | string | 必须 | | | |
├─ nickname | string | 必须 | | | |
├─ avatar | string | 必须 | | | |
├─ city | string | 必须 | | | |
├─ rank | number | 必须 | | | |
├─ score | number | 必须 | | | |
+
+
+
diff --git a/doc/develop.md b/doc/develop.md
index 82325ceb856d0a0c63074be8aed8cfc161fc426a..1f9b8cff91f8ae86ebed2a25a84b632c9044daf0 100644
--- a/doc/develop.md
+++ b/doc/develop.md
@@ -1,18 +1,31 @@
-# csdn-datav
-2
+# 开发文档
+
## 环境准备
+### 云IDE
+本项目已支持CSDN 云IDE 一键启动,访问地址:[云IDE](https://idegitcode.net/csdn/csdn-datav)
+或选择本地开发环境,请参考如下配置:
+#### git设置
+* *注意*:设置git提交的user.email与[CSDN账号邮箱](https://i.csdn.net/#/user-center/account) 保持一致,避免个人真实信息泄露
```bash
-
# 大小写敏感
git config core.ignorecase false
-# 修改NPM国内镜像加速
-npm config set registry https://registry.npmmirror.com/
-
# 设置你git提交用户名/邮箱,注意本项目尽量不要带--global
git config user.name "git用户名"
git config user.emall "git邮箱"
```
-* *注意*:设置git提交的user.email与[CSDN账号邮箱](https://i.csdn.net/#/user-center/account) 保持一致,避免个人真实信息泄露
+
+#### npm设置
+本项目中的.npmrc 文件已经设置NPM国内镜像源,等同于以下配置
+```bash
+# 修改NPM国内镜像加速
+npm config set registry https://registry.npmmirror.com/
+```
+#### 设置本地开发环境host
+由于用户头像图片服务器设置了域名防盗链,所以本地环境需要在*.csdn.net 域名下访问,避免开发环境头像不显示问题
+域名与与vue.config.js 配置保持一致
+```
+127.0.0.1 loc.csdn.net
+```
## 项目启动
```
diff --git a/doc/fqa.md b/doc/fqa.md
new file mode 100644
index 0000000000000000000000000000000000000000..585d237cdd3a007dd330d4fa0035a94862f154cd
--- /dev/null
+++ b/doc/fqa.md
@@ -0,0 +1,8 @@
+## 常见问题列表(FQA)
+关于此项目常见的问题列表,如您有其他问题或建议,可以提[issue](https://gitcode.net/csdn/csdn-datav/-/issues) 留言交流
+
+#### 地图数据更新时间
+地图数据更新频率为日更,每天(24h)更新1次,具体更新时间根据数据计算平台的算力繁忙情况而定
+
+#### 为什么用户的城市信息和个人主页的不一致
+CSDN个人主页显示的为省,本地图显示的为地级市。个人主页数据为实时更新,本地图数据为日更
diff --git a/preview.yml b/preview.yml
new file mode 100644
index 0000000000000000000000000000000000000000..7320b31c79ffc24927bee568e439aac7a7666579
--- /dev/null
+++ b/preview.yml
@@ -0,0 +1,11 @@
+# preview.yml
+autoOpen: true # 打开工作空间时是否自动开启所有应用的预览
+apps:
+ - port: 3000 # 应用的端口
+ run: npm i && npm run serve # 应用的启动命令
+ command: npm i && npm run serve -- --port 3000 --host 0.0.0.0 --allowedHosts all # 使用此命令启动服务,且不执行run
+ root: /ide/workspace/csdn-datav # 应用的启动目录
+ name: my-first-app # 应用名称
+ description: 我的第一个 App。 # 应用描述
+ autoOpen: true # 打开工作空间时是否自动开启预览(优先级高于根级 autoOpen)
+ autoRefresh: false # 保存自动刷新页面(不建议有HMR同时打开自动刷新)
diff --git a/src/components/vant-ui/index.js b/src/components/vant-ui/index.js
index 7ced22862d81f425f0b2aee4a086cebec9ffa499..34694f54f8bdea35cfad8dc68b628a08d580269c 100644
--- a/src/components/vant-ui/index.js
+++ b/src/components/vant-ui/index.js
@@ -1,10 +1,3 @@
-/**
- * @Author : wzk
- * @Date : 2021/3/17Wednesday12
- * @Last Modified by : wzk
- * @Last Modified time : 2021/3/17Wednesday12
- * @Description:
- **/
import Vue from "vue";
import {
@@ -32,7 +25,7 @@
Popup,
Rate
} from "vant";
-
+
Vue.use(Rate);
Vue.use(Popup);
Vue.use(Button);
@@ -56,4 +49,3 @@
Vue.use(CellGroup);
Vue.use(Empty);
Vue.use(Uploader);
-
\ No newline at end of file
diff --git a/vue.config.js b/vue.config.js
index 79b7933fc77387292cc5f52ffd91f32d6bc0a518..e2b280423be46210daf97fca4a50484e0ed8349c 100644
--- a/vue.config.js
+++ b/vue.config.js
@@ -1,24 +1,31 @@
const { defineConfig } = require('@vue/cli-service')
const path = require('path');
function resolve(dir){
- return path.join(__dirname,dir)//设置绝对路径
+ return path.join(__dirname,dir)//设置绝对路径
}
let publicPath = '/'
if (process.env.NODE_ENV === 'production') {
publicPath = 'https://csdn.gitcode.host/csdn-datav/'
-}
+}
module.exports = defineConfig({
assetsDir: 'csdn-datav',
transpileDependencies: true,
lintOnSave:false,
publicPath:publicPath,
devServer: {
- host: 'loc-csdn-datav.csdn.net',
- port: '80',
+ allowedHosts:'all',
+ host: 'loc.csdn.net',
headers: {
'Access-Control-Allow-Origin': '*'
}
},
+ // devServer: {
+ // allowedHosts:'all',
+ // port: '3000',
+ // headers: {
+ // 'Access-Control-Allow-Origin': '*'
+ // }
+ // },
productionSourceMap: false,
chainWebpack: config => {
config.resolve.alias.set('@', resolve('src'))