uni-app进阶之认证
通信方通过使用证书进行身份验证。
Ca(证书颁发机构)是客户端和服务器都可以信任的第三方组织。服务器的操作员向CA申请公钥。CA确定申请人身份后,将对应用的公钥进行数字签名,分发签名的公钥,并将公钥放入公钥证书后绑定在一起。在HTTPS通信期间,服务器将向客户端发送证书。客户端获得公钥后,首先使用数字签名进行验证。如果验证通过,则可以开始通信。
过滤器如下:
Vue.filter("formatDate",(data)=>{
const nDate=new Date(data);
const year = nDate.getFullYear();
const month = nDate.getMonth()+1;
const day = nDate.getDay();
return year +'-'+ month +'-'+ day
})
完整性保护
SSL为完整性保护提供消息摘要功能。HTTP还提供MD5消息摘要功能,但不安全。例如,如果消息内容被篡改,同时重新计算MD5值,则通信接收方不知道该篡改。
HTTPS的消息摘要功能是安全的,因为它结合了加密和身份验证。想象一下,在加密的消息被篡改后,很难重新计算消息摘要,因为无法轻松获取明文。
"privacy": {
"prompt": "template",
"template": {
"title": "服务协议和隐私政策",
"message": " 请你务必审慎阅读、充分理解“服务协议”和“隐私政策”各条款,包括但不限于:为了更好的向你提供服务,我们需要收集你的设备标识、操作日志等信息用于分析、优化应用性能。<br/> 你可阅读<a href="">《服务协议》</a>和<a href="">《隐私政策》</a>了解详细信息。如果你同意,请点击下面按钮开始接受我们的服务。",
"buttonAccept": "我知道了",
"buttonRefuse": "暂不同意"
}
}
脚本数据中定义的JS变量可以在组件中使用,但组件属性中的用法与内容区域中的用法不同。
<component-name property1="value" property2="value">
content
</component-name>
如果长列表中的每个项目都不会单独更新,那么我们就不需要将每个项目都变成一个组件。我们可以直接循环长列表以显示项目。
// index.vue 循环加载长列表
<template>
<view>
<view class="thumb" v-for="item in testdata">
<ThumbItem :item='item'></ThumbItem>
</view>
</view>
</template>
<script>
Import ThumbItem from "components/thumbitem/thumbitem.vue"
export default {
components: {
ThumbItem
},
data() {
return {
testdata: ["评价1","评价2","评价3","评价4","评价5"]
}
}
}
</script>
<style>
.thumb{
text-align: center;
margin-top: 20px;
}
</style>
组件在页面初始化期间会占用更多内存,遍历节点的速度会更慢。渲染时,每个组件都会触发通信,过多的组件会阻止通信。所以我们应该使用刀刃上的好刀。如果我们在任何情况下都使用它,就会适得其反。深节点的嵌套是相同的。开发时应注意避免深节点嵌套。
在实际的项目开发中,长列表通常经过逻辑层处理后返回。数据是可变的。如果长列表中的数据需要显示在页面上,我们将在数据中定义长列表。如果变量不需要显示在视图中,我们会尝试在数据之外设置变量。