Commit 407840b0 by 杨苏杭

涂鸦

parents
1.jpg

98.3 KB

app21.jpg

37.8 KB

app22.jpg

50.1 KB

app23.jpg

51.7 KB

app24.jpg

80.8 KB

app25.jpg

51.8 KB

This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
<!DOCTYPE html>
<html>
<head>
<title>充值协议</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<style>
html body {
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
line-height: 1.6;
color: #333;
background-color: #fff;
box-sizing: border-box;
word-wrap: break-word
}
html body > :first-child {
margin-top: 0;
padding-top: 0;
}
section:first-of-type { margin-top: 10px; }
html body h4 {
line-height: 1.2;
margin-top: 1rem;
margin-bottom: 16px;
color: #000
}
html body h4 {
font-weight: bold
}
p.text { text-indent: 2rem; }
p {
margin: 0;
margin-bottom: 8px;
word-wrap: break-word
}
.text { text-align: justify; }
.strong { font-weight: bold; color: #000; }
.text-child > p { margin: 0; }
@media screen and (min-width:914px) {
.container { padding: 2rem calc(50% - 420px) }
}
@media screen and (max-width:450px) {
.container { padding: 1rem }
}
</style>
</head>
<body>
<div class="container">
<section>
<p class="text">
尊敬的用户,为保障您的合法权益,请您在充值前仔细阅读本《充值协议》(以下称“本协议”),以便您了解杭州贤芯科技有限公司(以下称“本公司”)所提供的智能换电服务“小鲸换电”的充值、返利及余额使用规则,从而避免您产生任何误解。
<span class="strong">
用户应特别注意字体加粗的部分。当您点击“充值”按钮后,即视为您已完整阅读、充分理解本协议,并同意按本协议的规定进行充值、参与返利及/或使用账户余额。
</span>
</p>
</section>
<section>
<p class="text strong">1. 定义</p>
<p class="text strong">
充值本金:您通过小鲸换电软件向您已注册的小鲸换电用户账户实际支付的金额。 </p>
<p class="text strong">
账户余额:您的小鲸换电用户账号中显示的金额。包括充值的本金、小鲸换电通过充值返利等优惠活动赠送的返利金额。
</p>
</section>
<section>
<p class="text strong">2. 充值规则</p>
<p class="text">
小鲸换电将通过充值页面及/或具体的活动页面,及时公布不同数额的充值本金以及可享受的一定数额的返利金额。例如,充值180元得190元,则充值本金为180元,账户可得余额为190元。具体活动详情,以充值页面或具体活动页面信息为准,小鲸换电也将在微信订阅号中发布相关信息。
</p>
</section>
<section>
<p class="text strong">3. 账户余额有效期限</p>
<p class="text">
小鲸换电将通过充值页面及/或具体的活动页面,及时公布不同数额的充值本金以及可享受的一定数额的返利金额。例如,充值180元得190元,则充值本金为180元,账户可得余额为190元。具体活动详情,以充值页面或具体活动页面信息为准,小鲸换电也将在微信订阅号中发布相关信息。
</p>
</section>
<section>
<p class="text strong">4.账户余额使用规则</p>
<p class="text strong">
(1) 账户余额仅可用于购买换电套餐,不可用于支付押金、不可转移、转赠或提现;
</p>
<p class="strong text">
(2) 用户购买换电套餐时,可选择使用账户余额支付,或者选择通过第三方支付平台支付(如支付宝或微信钱包支付)。
</p>
</section>
<section>
<p class="text strong">5.正当性保证</p>
<p class="text strong">
您完全理解并同意,小鲸换电所提供的包含充值赠送在内的所有优惠推广活动仅面向正当且合法的、按照《用户协议》使用我们服务的用户。我们一旦发现您存在利用我们的规则漏洞,进行任何形式的作弊行为(包括但不限于通过我们的活动获得不正当的经济利益),我们有权取消与作弊行为相关账户的赠送金额,并追回您作弊所得的不正当经济利益,同时关闭作弊账户或与您相
</p>
</section>
</div>
<script type="text/javascript">
document.ready = function (callback) {
//兼容FF,Google
if (document.addEventListener) {
document.addEventListener('DOMContentLoaded', function () {
document.removeEventListener('DOMContentLoaded', arguments.callee, false)
callback()
}, false)
} else if (document.attachEvent) { //兼容IE
document.attachEvent('onreadystatechange', function () {
if (document.readyState == "complete") {
document.detachEvent("onreadystatechange", arguments.callee)
callback()
}
})
} else if (document.lastChild == document.body) { callback() }
}
// 获取url参数
function getUrlParam(name) {
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i")
var r = window.location.search.substr(1).match(reg)
if (r != null) return unescape(r[2])
return null
}
document.ready(function() {
// 根据dpi设置根元素字体大小
window.setRem = function () {
var baseSize = 32
var scale = document.documentElement.clientWidth / 750
if (scale > 1.5) { scale = 0.5 }
document.documentElement.style.fontSize = baseSize * Math.min(scale, 2) + 'px'
}
setRem()
})
window.onresize = function() { setRem() }
</script>
</body>
</html>
\ No newline at end of file
cost.png

110 KB

<!DOCTYPE html>
<html>
<head>
<title>押金协议</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<style>
html body {
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
line-height: 1.6;
color: #333;
background-color: #fff;
box-sizing: border-box;
word-wrap: break-word
}
html body > :first-child {
margin-top: 0;
padding-top: 0;
}
section:first-of-type { margin-top: 10px; }
html body h4 {
line-height: 1.2;
margin-top: 1rem;
margin-bottom: 16px;
color: #000
}
html body h4 {
font-weight: bold
}
p.text { text-indent: 2rem; }
p {
margin: 0;
margin-bottom: 8px;
word-wrap: break-word
}
.text { text-align: justify; }
.strong { font-weight: bold; color: #000; }
.text-child > p { margin: 0; }
.text-child > p:last-child { margin-bottom: 8px; }
@media screen and (min-width:914px) {
.container { padding: 2rem calc(50% - 420px) }
}
@media screen and (max-width:450px) {
.container { padding: 1rem }
}
</style>
</head>
<body>
<div class="container">
<section>
<p class="text">
尊敬的用户,为了保证您的合法权益,请您在交押金之前务必仔细阅读本规定。
<span class="strong">
您应该特别注意字体加粗的内容。当您点击“支付”按钮时,即视为您已经完全阅读和充分理解杭州贤芯科技有限公司(以下称为“本公司”)押金缴纳的规定,并同意按照本规定执行。
</span>
</p>
</section>
<section>
<p class="text strong">
1. 押金定义:押金是指用户在注册小鲸换电账户后为使用换电服务所须缴纳的一笔可无息退还的款项,其目的是为了激励用户合法、规范、文明地使用换电服务。押金不可用于消费,用户在归还租借的电池后,可随时申请退还。
</p>
</section>
<section>
<p class="text strong">2. 押金的缴纳:</p>
<div class="text-child">
<p class="text strong">
(1) 通过小鲸换电软件平台,经由支付宝或微信钱包进行押金支付。
</p>
<p class="text strong">
(2) 押金支付的金额与您在使用小鲸换电服务时取用的智慧电池的数量和单颗智慧电池押金金额相关;单颗智慧电池的押金金额将显示在押金缴纳页面。
</p>
</div>
</section>
<section>
<p class="text strong">3. 押金的退还:</p>
<div class="text-child">
<p class="text strong">
(1) 押金退还是在您归还智慧电池后,且未发生违反使用规则造成智慧电池人为损坏的前提下,小鲸换电将后台进行审核,通过审核后无息退还押金。
</p>
<p class="text strong">
(2) 本公司在收到您的押金退还申请后,会立即进入押金退还审核流程;符合退还前提的,押金退还路径为原支付路径,但具体退款到账时间会根据您选择的支付方式所对应的银行或第三方支付的处理流程不同而有所差别。
</p>
<p class="text strong">
(3) 请您理解并同意:押金缴纳是您使用小鲸换电服务的必须前提条件之一,如您选择退还押金,您将无法继续使用本公司服务;同时,您账户内的优惠券或返利、免费换电的试用天数等各项优惠活动也将在押金退款成功后自动被清零。
</p>
<p class="text strong">
特别提示:用户使用智慧电池期间应爱护所使用的电池,按照使用规则合理、正常、安全地使用。如在此期间内,因用户使用不当或保管不善导致发生智慧电池遗失、被窃或毁坏及部分损坏等情况,我司将不予退还智慧电池押金,同时用户还须对本公司进行电池成本差额的赔偿(电池成本差额=电池成本-不予退还的电池押金)。
</p>
</div>
</section>
<section>
<p class="text">4. 如您对押金缴纳仍有疑问的,请通过软件平台咨询客服。</p>
</section>
</div>
<script type="text/javascript">
document.ready = function (callback) {
//兼容FF,Google
if (document.addEventListener) {
document.addEventListener('DOMContentLoaded', function () {
document.removeEventListener('DOMContentLoaded', arguments.callee, false)
callback()
}, false)
} else if (document.attachEvent) { //兼容IE
document.attachEvent('onreadystatechange', function () {
if (document.readyState == "complete") {
document.detachEvent("onreadystatechange", arguments.callee)
callback()
}
})
} else if (document.lastChild == document.body) { callback() }
}
// 获取url参数
function getUrlParam(name) {
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i")
var r = window.location.search.substr(1).match(reg)
if (r != null) return unescape(r[2])
return null
}
document.ready(function() {
// 根据dpi设置根元素字体大小
window.setRem = function () {
var baseSize = 32
var scale = document.documentElement.clientWidth / 750
if (scale > 1.5) { scale = 0.5 }
document.documentElement.style.fontSize = baseSize * Math.min(scale, 2) + 'px'
}
setRem()
})
window.onresize = function() { setRem() }
</script>
</body>
</html>
\ No newline at end of file
device1.png

94.2 KB

<!DOCTYPE html>
<html>
<head>
<title>帮助</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<style>
html body {
font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif;
font-size: 16px;
line-height: 1.6;
color: #333;
background-color: #fff;
box-sizing: border-box;
word-wrap: break-word
}
html body>:first-child {
margin-top: 0
}
html body h4 {
line-height: 1.2;
margin-top: 1rem;
margin-bottom: 16px;
color: #000
}
html body h4 {
font-size: 1.2rem;
font-weight: 600
}
html body > p {
margin-top: 0;
margin-bottom: 1rem;
word-wrap: break-word
}
.text { text-align: justify; }
.image { max-width: 100%; display: block; margin: 0 auto;}
.image-wrapper { text-align: center }
.image-wrapper > img {
display: inline-block;
width: 40%;
}
@media screen and (min-width:914px) {
.container { padding: 2rem calc(50% - 457px) }
}
@media screen and (max-width:450px) {
.container { font-size: 14px !important; padding: 1rem }
}
</style>
</head>
<body>
<div class="container">
<section>
<h4>1、如何缴纳押金?</h4>
<p class="text">
电池押金可以通过小鲸换电小程序支付,注册登录后,在首页点击左上角的按钮,点击“我的钱包”→“押金”→选择支付方式→支付。
</p>
<img class="image" src="https://hdg-helper.oss-cn-beijing.aliyuncs.com/pay_deposit.png" alt="押金缴纳说明" width="90%" />
</section>
<section>
<h4>2、如何租借电池?</h4>
<p class="text">
用户(骑手)缴纳押金后可以在站点领取电池,领取到电池之后需要通过小鲸换电小程序在“我的电池”页面,手动扫描电池下方的二维码绑定电池。
</p>
<img class="image" src="https://hdg-helper.oss-cn-beijing.aliyuncs.com/bind_battery.png" alt="电池绑定" width="50%" />
</section>
<section>
<h4>3、如何购买换电套餐?</h4>
<p class="text">
换电套餐可以通过小鲸换电小程序购买,租借电池后,在首页点击左上角的按钮,点击“我的钱包”→“购买换电套餐”→选择套餐类别和支付方式→支付。套餐一旦确定支付后不可退款或更改套餐。
</p>
</section>
<section>
<h4>4、如何换电池?</h4>
<p class="text">
(1)扫码换电,用户(骑手)购买换电套餐后,根据定位到达附近的换电柜,点击小鲸换电小程序首页下方的“扫码换电”对准换电柜屏幕上的二维码扫描,空仓门打开后放入没电电池,关上仓门后等待几秒满电仓门打开,取出新电池。
</p>
<div class="image-wrapper">
<img class="image" src="https://hdg-helper.oss-cn-beijing.aliyuncs.com/box_1.png" alt="押金缴纳说明" />
<img class="image" src="https://hdg-helper.oss-cn-beijing.aliyuncs.com/box_2.png" alt="押金缴纳说明" />
</div>
<p class="text">(2)短信换电,用户(骑手)购买换电套餐后,根据定位到达附近的换电柜,在换电柜屏幕上输入手机号码+验证码,点击“确定”,余下步骤与扫码换电方法相同。</p>
</section>
<section>
<h4>5、如何退电池?</h4>
<p class="text">
用户(骑手)将电池退还至站点,由站点在系统里操作退还。
</p>
</section>
<section>
<h4>6、余额充值</h4>
<p class="text">
钱包余额可以通过小鲸换电小程序充值,注册登录后,在首页点击左上角的按钮,点击“我的钱包”→“余额”→选择要充值的类别和支付方式→支付。
</p>
</section>
<section id="section7">
<h4>7、客服</h4>
<p class="text">
客服热线:<span id="phone"></span>,如您有任何疑问,请拨打客服热线,我们将竭诚为您服务。
</p>
</section>
</div>
<script src="https://res.wx.qq.com/open/js/jweixin-1.0.0.js"></script>
<script type="text/javascript">
document.ready = function (callback) {
//兼容FF,Google
if (document.addEventListener) {
document.addEventListener('DOMContentLoaded', function () {
document.removeEventListener('DOMContentLoaded', arguments.callee, false)
callback()
}, false)
} else if (document.attachEvent) { //兼容IE
document.attachEvent('onreadystatechange', function () {
if (document.readyState == "complete") {
document.detachEvent("onreadystatechange", arguments.callee)
callback()
}
})
} else if (document.lastChild == document.body) { callback() }
}
// 获取url参数
function getUrlParam(name) {
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i")
var r = window.location.search.substr(1).match(reg)
if (r != null) return unescape(r[2])
return null
}
document.ready(function() {
// 根据dpi设置根元素字体大小
window.setRem = function () {
var baseSize = 32
var scale = document.documentElement.clientWidth / 750
if (scale > 1.5) { scale = 0.5 }
document.documentElement.style.fontSize = baseSize * Math.min(scale, 2) + 'px'
}
setRem()
var imgs = []
var imgObj = document.getElementsByTagName('img'); //获取图文中所有的img标签对象
for(var i = 0; i < imgObj.length; i++) {
imgs.push(imgObj[i].src)
//下面调用微信内置图片浏览组建
imgObj[i].onclick = function() {
WeixinJSBridge.invoke("imagePreview", {
"urls": imgs,
"current": this.src
})
}
}
var phone = getUrlParam('phone') || ''
document.getElementById('phone').innerText = phone
})
window.onresize = function() { setRem() }
</script>
</body>
</html>
\ No newline at end of file
index.png

319 KB

stat1.png

186 KB

# 物联网IOT分析设计
# 物联网IOT分析设计
## IOT平台
### 各公司的IOT功能
|公司|pass平台|通讯模块|sass服务|备注|
|:---:|:---:|:---:|:---:|:---:|
|阿里|阿里IOT平台|LoRaWAN|不提供|
|涂鸦智能|涂鸦云平台|联网模组(pin to pin)|提供基础app,和app定制,按功能收费||
### 涂鸦IOT
#### 控制台
![/Users/banice/Desktop/tuya/index.png](/Users/banice/Desktop/tuya/index.png)
![/Users/banice/Desktop/tuya/index2.png](/Users/banice/Desktop/tuya/index2.png)
#### App工作台
![/Users/banice/Desktop/tuya/app/app1.png](/Users/banice/Desktop/tuya/app/app1.png)
![/Users/banice/Desktop/tuya/app/app2.png](/Users/banice/Desktop/tuya/app/app2.png)
![/Users/banice/Desktop/tuya/app/app3.png](/Users/banice/Desktop/tuya/app/app3.png)
![/Users/banice/Desktop/tuya/app/app4.png](/Users/banice/Desktop/tuya/app/app4.png)
![/Users/banice/Desktop/tuya/app/app5.png](/Users/banice/Desktop/tuya/app/app5.png)
![/Users/banice/Desktop/tuya/app/app6.png](/Users/banice/Desktop/tuya/app/app6.png)
![/Users/banice/Desktop/tuya/app/app7.png](/Users/banice/Desktop/tuya/app/app7.png)
![/Users/banice/Desktop/tuya/app/app8.png](/Users/banice/Desktop/tuya/app/app8.png)
![/Users/banice/Desktop/tuya/app/app9.png](/Users/banice/Desktop/tuya/app/app9.png)
![/Users/banice/Desktop/tuya/app/app10.png](/Users/banice/Desktop/tuya/app/app10.png)
#### App功能
![/Users/banice/Desktop/tuya/app21.jpg](/Users/banice/Desktop/tuya/app21.jpg)
![/Users/banice/Desktop/tuya/app22.jpg](/Users/banice/Desktop/tuya/app22.jpg)
![/Users/banice/Desktop/tuya/app23.jpg](/Users/banice/Desktop/tuya/app23.jpg)
![/Users/banice/Desktop/tuya/app24.jpg](/Users/banice/Desktop/tuya/app24.jpg)
![/Users/banice/Desktop/tuya/app25.jpg](/Users/banice/Desktop/tuya/app25.jpg)
#### App增值
![/Users/banice/Desktop/tuya/market1.png](/Users/banice/Desktop/tuya/market1.png)
#### 采购
![/Users/banice/Desktop/tuya/purchase1.png](/Users/banice/Desktop/tuya/purchase1.png)
![/Users/banice/Desktop/tuya/purchase2.png](/Users/banice/Desktop/tuya/purchase2.png)
#### 数据
![/Users/banice/Desktop/tuya/stat1.png](/Users/banice/Desktop/tuya/stat1.png)
#### 设备
![/Users/banice/Desktop/tuya/device1.png](/Users/banice/Desktop/tuya/device1.png)
#### 费用
![/Users/banice/Desktop/tuya/cost.png](/Users/banice/Desktop/tuya/cost.png)
### IOT一般功能
![/Users/banice/Desktop/iot.png](/Users/banice/Desktop/iot.png)
### IOT架构
![/Users/banice/Desktop/iot_struct.png](/Users/banice/Desktop/iot_struct.png)
### 技术选型
#### 微服务的框架
* go-micor
* swoft
#### db,nodb的连接池
#### mqtt的Broker
![](/Users/banice/Desktop/mqtt_broker.png)
#### rpc框架
* Tars
* gRPC
* Thrift
* Dubbo
#### 消息持久化
* kalfka
* rabbitmq
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment