# CloudCenter3
**Repository Path**: EngineChina/CloudCenter3
## Basic Information
- **Project Name**: CloudCenter3
- **Description**: CloudCenter3 UI lib Taro.js 组件库
- **Primary Language**: JavaScript
- **License**: MIT
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 5
- **Forks**: 1
- **Created**: 2020-04-22
- **Last Updated**: 2020-12-19
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
CloudCenter3
## 开发者信息
* 系统名称:CloudCenter3
* 作者:[南风](http://github.gold)、[丹阳](#)、[铁血幻城](#)、[义儿]](#)
* 官网网址:[http://cloudcenter.github.gold](http://cloudcenter.github.gold)
* 文档网址:[http://cloudcenter.github.gold/docs](http://cloudcenter.github.gold/docs)
### todo:
1. 把自己的博客补全
2. 补全文档库
3. 找一个文档仓库,记录开发总的注意事项。
4. 考虑到用户存在没有网络的情况,所以得到的数据放到 storage 里面,如果网络连接失败的情况,APP端是可以直接获取本地缓存数据并展现的。
5. 准备优化storage能力,涉及到很多的同步异步问题需要好好处理。
## 环境要求:
* Node.js >= 10.0.0
* MongoDB >= 6.0
## 开发环境
* IDE >= VSCode
* Git >= SourceTree
### 关于测试数据
#### Mock Link
[EasyMock](https://www.fastmock.site/#/project/8359)
这是一个免费的在线Mock文档库,没有money,只好用免费的。然后注册好了私信群里加入项目。
#### Api 接口设计规范
``` json
{
// 请求成功
"status": "ok",
}
```
### 关于开发规范
#### 开发环境(*可选)
1. Eslint
2. GitHistory & *GitLens
3. *color highlight
4. *Auto Close Tag
5. *Auto Rename Tag
6. ESLint (with `autoFixOnSave: boolean | string[]`)
#### 命名
1. 统一采用`驼峰命名`规则。
2. 对于类可以首字母大写。
3. 方法名称需要著名对应功能,比如get、click、fetch等
4. 标签的属性名称统一使用`单引号`。
5. 所有语句都去掉`;`。
#### 缩写
统一缩写,这里列出来常见等可用缩写内容:
| 序号 | 缩写 | 表示 | 描述 |
| ------ | ------ | ------ | ------ |
| 1 | v | value | 一些参数的值统一采用缩写v |
| 2 | t | type | type的简写 |
| 3 | rq | request | 请求 |
| 4 | rs | result/respons | 返回值 |
### 模块
#### 获取用户IP地址 * 废弃
使用这个方法会报错,目前还没空去解决它。
``` html
```
错误信息
``` Console
A cookie associated with a cross-site resource at http://sohu.com/ was set without the `SameSite` attribute. A future release of Chrome will only deliver cookies with cross-site requests if they are set with `SameSite=None` and `Secure`. You can review cookies in developer tools under Application>Storage>Cookies and see more details at https://www.chromestatus.com/feature/5088147346030592 and https://www.chromestatus.com/feature/5633521622188032.
```
#### 状态管理 (@tarojs/mobx)
MobX 为复杂项目中状态管理提供了一种简单高效的机制;Taro 提供了 @tarojs/mobx 来让开发人员在使用 MobX 的过程中获得更加良好的开发体验。
[教程](http://www.geekjc.com/post/5cab191109719f65d90cd3c4)
##### 简单的使用方法:
安装模块
```bash
$ yarn add mobx@4.8.0 @tarojs/mobx @tarojs/mobx-h5 @tarojs/mobx-rn
# 或者使用 npm
$ npm install --save mobx@4.8.0 @tarojs/mobx @tarojs/mobx-h5 @tarojs/mobx-rn
```
```jsx
// src/store/counter.js
import { observable } from 'mobx'
const counterStore = observable({
counter: 0,
counterStore() {
this.counter++
},
increment() {
this.counter++
},
decrement() {
this.counter--
},
incrementAsync() {
setTimeout(() => {
this.counter++
}, 1000)
}
})
export default counterStore
```
#### 统一的全局变量(golbalData)模块
``` javascript
Taro.galbalData(key,value)
```
单独传key情况下视为获取全局变量方法,传了key、data的情况下视为设置全局变量,key、value均不传视为清理全局变量方法。
#### 统一的request模块
``` javascript
Taro.rq({url:xxx,method:'POST',data:{}}).then(row=>console.log(row))
```
method可以不传,默认情况下视为`GET`方法,支持`promise`
#### 统一的localstorage模块
``` javascript
Taro.storages(name,data)
```
单独传key情况下视为`getStorage`方法,传了key、data的情况下视为`setStorage`,不传key、data的情况下视为`clearStorageSync`,支持`promise`。
#### 统一的router模块
``` javascript
// 基本路由跳转 path是目标地址,只需要index/index,无需填写全部路径。data为传值的内容
Taro.R.goto(path, data)
// 重置路由跳转,无历史记录,不可返回。
Taro.R.reto(path, data)
// 返回上一页,上几页。默认num不传值情况为返回上一页。
Taro.R.backto(num)
```
#### utils模块
todo:丹阳
> util: https://juejin.im/post/5de5be53f265da05c33fcbb4
#### Sass模块
todo:幻城
> 往app.sass中添加内容,可以参照全栈之巅教程中的第三章前面几节内容,然后好好百度,抓紧时间开发!
### 技术栈
- **Node.js:** Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行时。[[访问中文网]](http://nodejs.cn/)
- **express.js:** 基于 Node.js 平台,快速、开放、极简的 Web 开发框架。[[访问官网]](http://www.expressjs.com.cn/)
- **MongoDB:** MongoDB 是一个基于分布式文件存储的数据库。由 C++ 语言编写。旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。 基于分布式文件存储的数据库 高性能、可扩展、易部署、易使用,存储数据非常方便。[[访问官网]](https://www.mongodb.com/)
- **Mongoose:** Mongoose为模型提供了一种直接的,基于scheme结构去定义你的数据模型。它内置数据验证, 查询构建,业务逻辑钩子等,开箱即用。[[访问中文官网]](http://mongoosejs.net/)
- **Vue.js:** 结构清晰、代码规范、在开发快速的同时还兼顾性能的极致追求。[[访问中文官网]](https://cn.vuejs.org/)
- **Element-ui:** 权限管理、组件丰富、第三方应用多、分层解耦化设计和先进的设计思想。[[访问官网]](https://element.eleme.cn/)
- **React.js:** React 使创建交互式 UI 变得轻而易举。为你应用的每一个状态设计简洁的视图,当数据改变时 React 能有效地更新并正确地渲染组件。 以声明式编写 UI,可以让你的代码更加可靠,且方便调试。 [[访问官网]](https://react.docschina.org/)
- **Taro.js:** Taro 是凹凸实验室开发的多端统一开发解决方案。 [[访问官网]](https://taro.aotu.io/)
- **Taro-ui:** 一套基于 Taro 框架开发的多端 UI 组件库 [[访问官网]](https://taro-ui.jd.com/)
## 项目演示
## 部署说明
部署教程
## 数据库模型说明
``` javascript
Article //文章模型
Auth //邮箱验证模型
Category //分类模型
Cloud //云盘保存账户模型
CloudResouse//云资源模型
Configure //系统设置模型
Menber //会员模型
MenberDetile//会员基本资料模型
Navigation //导航数据模型
Swiper //跑马灯数据模型
UserLocked //会员解锁数据模型
UserLove //会员收藏模型
UserVip //超级会员模型
```
## 安全&缺陷
如果你发现了一个安全漏洞或缺陷,请发送邮件到 3206107745@qq.com,所有的安全漏洞都将及时得到解决。
## 版权信息
EngineChina 提供个人非商业用途免费使用,商业需授权。
版权所有Copyright © 2020 EngineChina(GitHub.Gold) (http://GitHub.Gold)
All rights reserved。
更多细节参阅 [LICENSE.txt](LICENSE.txt)