uni-app app端 人脸识别
<p class="md-end-block md-p md-focus"><span class="md-tab"> <span class="md-plain">在听到人脸识别,连忙去看看,去阿里 腾讯 看他们的人脸识别方法,官方sdk什么的。</span></span></p><p class="md-end-block md-p md-focus"><span class="md-tab"><span class="md-plain"><span class="md-softbreak"><span class="md-tab"> <span class="md-plain"> 到后来,需求确定了,拍照(照片)上传,后台去识别是不是本人,这一瞬间从天堂到地狱,放着官方那么好的方法,不要。</span></span></span></span></span></p>
<p class="md-end-block md-p md-focus"><span class="md-tab"><span class="md-plain"><span class="md-softbreak"><span class="md-tab"><span class="md-plain"><span class="md-softbreak"><span class="md-tab"> <span class="md-plain"> 用照片,还的自己去写,去实现。</span></span></span></span></span></span></span></span></p>
<p class="md-end-block md-p md-focus"><span class="md-tab"><span class="md-plain"><span class="md-softbreak"><span class="md-tab"><span class="md-plain"><span class="md-softbreak"><span class="md-tab"><span class="md-plain"><span class="md-softbreak"><span class="md-tab"> <span class="md-plain"> 下面为大家提供一个 uni-app 自动拍照 上传照片 后端做匹配处理。</span></span></span></span></span></span></span></span></span></span></span></p>
<p class="md-end-block md-p md-focus"><span class="md-tab"><span class="md-plain"><span class="md-softbreak"><span class="md-tab"><span class="md-plain"><span class="md-softbreak"><span class="md-tab"><span class="md-plain"><span class="md-softbreak"><span class="md-tab"><span class="md-plain"><span class="md-softbreak"><span class="md-tab"> <span class="md-plain"> 参考插件市场的 <span class="md-link md-pair-s">https://ext.dcloud.net.cn/plugin?id=4892</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></p>
<h3 class="md-end-block md-heading"><span class="md-plain">在使用前 先去manifest.json 选择APP模块配置, 勾选直播推流</span></h3>
<h3 class="md-end-block md-heading"><span class="md-plain"><img src="https://img2020.cnblogs.com/blog/2237618/202107/2237618-20210713180105766-1235686586.png" alt="" loading="lazy"></span></h3>
<p class="md-end-block md-p"><span class="md-pair-s "><strong>直接采用nvue开发,直接使用live-pusher组件进行直播推流,如果是vue开发,则需要使用h5+的plus.video.LivePusher对象来获取</strong></span></p>
<h3 class="md-end-block md-heading"><span class="md-plain">nuve js注意事项</span></h3>
<p class="md-end-block md-p"><span class="md-plain">注意nuve 页面 main.js 的封装函数 。无法直接调用(小程序其他的端没有测试)</span></p>
<p class="md-end-block md-p"><span class="md-plain">在APP端 this.api报错,显示是undefined,难道nvue页面,要重新引入api文件</span></p>
<p class="md-end-block md-p"><span class="md-plain">在APP端,main.js中挂载Vuex在nvue页面无法使用this.$store.state.xxx</span></p>
<p class="md-end-block md-p"><span class="md-plain">简单粗暴点直接用uni.getStorageSync 重新获取一遍</span></p>
<div class="cnblogs_Highlighter">
<pre class="brush:javascript;gutter:true;">//获取用户数据 userInfo在Data里定义
this.userInfo = uni.getStorageSync('userInfo')</pre>
</div>
<h3 class="md-end-block md-heading"><span class="md-plain">nuve css注意事项</span></h3>
<p class="md-end-block md-p"><span class="md-plain">单位只支持px</span></p>
<p class="md-end-block md-p md-focus"><span class="md-plain md-expand">其他的em,rem,pt,%,upx 都不支持</span></p>
<p class="md-end-block md-p"><span class="md-pair-s"><strong>需要重新引入外部css</strong></span></p>
<p class="md-end-block md-p"><span class="md-plain">不支持使用 import 的方式引入外部 css</span></p>
<div class="cnblogs_Highlighter">
<pre class="brush:html;gutter:true;"><style src="@/common/test.css"></style>
</pre>
</div>
<p> <strong><span class="md-plain">默认flex布</span></strong></p>
<div class="cnblogs_code">
<pre><span style="color: rgba(128, 0, 0, 1)">display: flex; //不需要写
//直接用下面的标签
flex-direction: column;
align-items: center;
justify-content: space-between;</span></pre>
</div>
<h3 class="md-end-block md-heading md-focus"><span class="md-plain md-expand">页面样式</span></h3>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 255, 1)"><</span><span style="color: rgba(128, 0, 0, 1)">view </span><span style="color: rgba(255, 0, 0, 1)">class</span><span style="color: rgba(0, 0, 255, 1)">="live-camera"</span><span style="color: rgba(255, 0, 0, 1)"> :style</span><span style="color: rgba(0, 0, 255, 1)">="{ width: windowWidth, height: windowHeight }"</span><span style="color: rgba(0, 0, 255, 1)">></span>
<span style="color: rgba(0, 0, 255, 1)"><</span><span style="color: rgba(128, 0, 0, 1)">view </span><span style="color: rgba(255, 0, 0, 1)">class</span><span style="color: rgba(0, 0, 255, 1)">="title"</span><span style="color: rgba(0, 0, 255, 1)">></span><span style="color: rgba(0, 0, 0, 1)">
{{second}}秒之后开始识别
</span><span style="color: rgba(0, 0, 255, 1)"></</span><span style="color: rgba(128, 0, 0, 1)">view</span><span style="color: rgba(0, 0, 255, 1)">></span>
<span style="color: rgba(0, 0, 255, 1)"><</span><span style="color: rgba(128, 0, 0, 1)">view </span><span style="color: rgba(255, 0, 0, 1)">class</span><span style="color: rgba(0, 0, 255, 1)">="preview"</span><span style="color: rgba(255, 0, 0, 1)"> :style</span><span style="color: rgba(0, 0, 255, 1)">="{ width: windowWidth, height: windowHeight-80 }"</span><span style="color: rgba(0, 0, 255, 1)">></span>
<span style="color: rgba(0, 0, 255, 1)"><</span><span style="color: rgba(128, 0, 0, 1)">live-pusher </span><span style="color: rgba(255, 0, 0, 1)">id</span><span style="color: rgba(0, 0, 255, 1)">="livePusher"</span><span style="color: rgba(255, 0, 0, 1)"> ref</span><span style="color: rgba(0, 0, 255, 1)">="livePusher"</span><span style="color: rgba(255, 0, 0, 1)"> class</span><span style="color: rgba(0, 0, 255, 1)">="livePusher"</span><span style="color: rgba(255, 0, 0, 1)"> mode</span><span style="color: rgba(0, 0, 255, 1)">="FHD"</span><span style="color: rgba(255, 0, 0, 1)"> beauty</span><span style="color: rgba(0, 0, 255, 1)">="1"</span><span style="color: rgba(255, 0, 0, 1)"> whiteness</span><span style="color: rgba(0, 0, 255, 1)">="0"</span><span style="color: rgba(255, 0, 0, 1)">
aspect</span><span style="color: rgba(0, 0, 255, 1)">="2:3"</span><span style="color: rgba(255, 0, 0, 1)"> min-bitrate</span><span style="color: rgba(0, 0, 255, 1)">="1000"</span><span style="color: rgba(255, 0, 0, 1)"> audio-quality</span><span style="color: rgba(0, 0, 255, 1)">="16KHz"</span><span style="color: rgba(255, 0, 0, 1)"> :auto-focus</span><span style="color: rgba(0, 0, 255, 1)">="true"</span><span style="color: rgba(255, 0, 0, 1)"> :muted</span><span style="color: rgba(0, 0, 255, 1)">="true"</span><span style="color: rgba(255, 0, 0, 1)">
:enable-camera</span><span style="color: rgba(0, 0, 255, 1)">="true"</span><span style="color: rgba(255, 0, 0, 1)"> :enable-mic</span><span style="color: rgba(0, 0, 255, 1)">="false"</span><span style="color: rgba(255, 0, 0, 1)"> :zoom</span><span style="color: rgba(0, 0, 255, 1)">="false"</span><span style="color: rgba(255, 0, 0, 1)"> @statechange</span><span style="color: rgba(0, 0, 255, 1)">="statechange"</span><span style="color: rgba(255, 0, 0, 1)">
:style</span><span style="color: rgba(0, 0, 255, 1)">="{ width: cameraWidth, height: cameraHeight }"</span><span style="color: rgba(0, 0, 255, 1)">></</span><span style="color: rgba(128, 0, 0, 1)">live-pusher</span><span style="color: rgba(0, 0, 255, 1)">></span>
<span style="color: rgba(0, 128, 0, 1)"><!--</span><span style="color: rgba(0, 128, 0, 1)">提示语</span><span style="color: rgba(0, 128, 0, 1)">--></span>
<span style="color: rgba(0, 0, 255, 1)"><</span><span style="color: rgba(128, 0, 0, 1)">cover-view </span><span style="color: rgba(255, 0, 0, 1)">class</span><span style="color: rgba(0, 0, 255, 1)">="remind"</span><span style="color: rgba(0, 0, 255, 1)">></span>
<span style="color: rgba(0, 0, 255, 1)"><</span><span style="color: rgba(128, 0, 0, 1)">text </span><span style="color: rgba(255, 0, 0, 1)">class</span><span style="color: rgba(0, 0, 255, 1)">="remind-text"</span><span style="color: rgba(255, 0, 0, 1)"> style</span><span style="color: rgba(0, 0, 255, 1)">=""</span><span style="color: rgba(0, 0, 255, 1)">></span>{{ message }}<span style="color: rgba(0, 0, 255, 1)"></</span><span style="color: rgba(128, 0, 0, 1)">text</span><span style="color: rgba(0, 0, 255, 1)">></span>
<span style="color: rgba(0, 0, 255, 1)"></</span><span style="color: rgba(128, 0, 0, 1)">cover-view</span><span style="color: rgba(0, 0, 255, 1)">></span>
<span style="color: rgba(0, 128, 0, 1)"><!--</span><span style="color: rgba(0, 128, 0, 1)">辅助线</span><span style="color: rgba(0, 128, 0, 1)">--></span>
<span style="color: rgba(0, 0, 255, 1)"><</span><span style="color: rgba(128, 0, 0, 1)">cover-view </span><span style="color: rgba(255, 0, 0, 1)">class</span><span style="color: rgba(0, 0, 255, 1)">="outline-box"</span><span style="color: rgba(255, 0, 0, 1)"> :style</span><span style="color: rgba(0, 0, 255, 1)">="{ width: windowWidth, height: windowHeight-80 }"</span><span style="color: rgba(0, 0, 255, 1)">></span>
<span style="color: rgba(0, 0, 255, 1)"><</span><span style="color: rgba(128, 0, 0, 1)">cover-image </span><span style="color: rgba(255, 0, 0, 1)">class</span><span style="color: rgba(0, 0, 255, 1)">="outline-img"</span><span style="color: rgba(255, 0, 0, 1)"> src</span><span style="color: rgba(0, 0, 255, 1)">="../../static/idphotoskin.png"</span><span style="color: rgba(0, 0, 255, 1)">></</span><span style="color: rgba(128, 0, 0, 1)">cover-image</span><span style="color: rgba(0, 0, 255, 1)">></span>
<span style="color: rgba(0, 0, 255, 1)"></</span><span style="color: rgba(128, 0, 0, 1)">cover-view</span><span style="color: rgba(0, 0, 255, 1)">></span>
<span style="color: rgba(0, 0, 255, 1)"></</span><span style="color: rgba(128, 0, 0, 1)">view</span><span style="color: rgba(0, 0, 255, 1)">></span>
<span style="color: rgba(0, 0, 255, 1)"></</span><span style="color: rgba(128, 0, 0, 1)">view</span><span style="color: rgba(0, 0, 255, 1)">></span></pre>
</div>
<h3 class="md-end-block md-heading md-focus"><span class="md-plain md-expand">JS部分</span><script><span> import operate from </span>'../../common/operate.js'<span> import api from </span>'../../common/api.js'</h3>
<div class="cnblogs_code">
<pre><em><em><em><span style="color: rgba(0, 0, 0, 1)"> export </span><span style="color: rgba(0, 0, 255, 1)">default</span><span style="color: rgba(0, 0, 0, 1)"> {
data() {
</span><span style="color: rgba(0, 0, 255, 1)">return</span><span style="color: rgba(0, 0, 0, 1)"> {
</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">提示</span>
message: ''<span style="color: rgba(0, 0, 0, 1)">,
</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">相机画面宽度</span>
cameraWidth: ''<span style="color: rgba(0, 0, 0, 1)">,
</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">相机画面宽度</span>
cameraHeight: ''<span style="color: rgba(0, 0, 0, 1)">,
</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">屏幕可用宽度</span>
windowWidth: ''<span style="color: rgba(0, 0, 0, 1)">,
</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">屏幕可用高度</span>
windowHeight: ''<span style="color: rgba(0, 0, 0, 1)">,
</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">流视频对象</span>
livePusher: <span style="color: rgba(0, 0, 255, 1)">null</span><span style="color: rgba(0, 0, 0, 1)">,
</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">照片</span>
snapshotsrc: <span style="color: rgba(0, 0, 255, 1)">null</span><span style="color: rgba(0, 0, 0, 1)">,
</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">倒计时</span>
second: 0<span style="color: rgba(0, 0, 0, 1)">,
ifPhoto: </span><span style="color: rgba(0, 0, 255, 1)">false</span><span style="color: rgba(0, 0, 0, 1)">,
</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> 用户信息</span>
<span style="color: rgba(0, 0, 0, 1)"> userInfo: []
};
},
onLoad() {
</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">获取屏幕高度</span>
<span style="color: rgba(0, 0, 255, 1)">this</span><span style="color: rgba(0, 0, 0, 1)">.initCamera();
</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">获取用户数据</span>
<span style="color: rgba(0, 0, 255, 1)">this</span>.userInfo = uni.getStorageSync('userInfo'<span style="color: rgba(0, 0, 0, 1)">)
setTimeout(() </span>=><span style="color: rgba(0, 0, 0, 1)"> {
</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">倒计时</span>
<span style="color: rgba(0, 0, 255, 1)">this</span><span style="color: rgba(0, 0, 0, 1)">.getCount()
}, </span>500<span style="color: rgba(0, 0, 0, 1)">)
},
onReady() {
</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> console.log('初始化 直播组件');</span>
<span style="color: rgba(0, 0, 255, 1)">this</span>.livePusher = uni.createLivePusherContext('livePusher', <span style="color: rgba(0, 0, 255, 1)">this</span><span style="color: rgba(0, 0, 0, 1)">);
},
onShow() {
</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">开启预览并设置摄像头<br></span> /*<br> * 2023年12月28日 <br> * 在最新的APP上面这个周期 比</em></em></em><em id="__mceDel">onReady 直播初始要早执行 故而第二次进入页面 相机启动失败</em><em><em><em><em> <br> * 把该方法 移步到 </em></em></em></em><em id="__mceDel"><em id="__mceDel">onReady 即可</em></em></pre>
<pre><em id="__mceDel"><em id="__mceDel"><em id="__mceDel"><em id="__mceDel"> */ <br></em></em></em></em><em id="__mceDel"><em id="__mceDel"><em id="__mceDel"><em id="__mceDel"><em id="__mceDel"><span style="color: rgba(0, 0, 255, 1)"> this</span><span>.startPreview();</span></em></em></em></em></em></pre>
<pre><em id="__mceDel"><em id="__mceDel"><em id="__mceDel"><em id="__mceDel"><em id="__mceDel"><span style="color: rgba(0, 0, 0, 1)"> },
methods: {
</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">获取屏幕高度</span>
<span style="color: rgba(0, 0, 0, 1)"> initCamera() {
let that </span>= <span style="color: rgba(0, 0, 255, 1)">this</span><span style="color: rgba(0, 0, 0, 1)">
uni.getSystemInfo({
success: </span><span style="color: rgba(0, 0, 255, 1)">function</span><span style="color: rgba(0, 0, 0, 1)">(res) {
that.windowWidth </span>=<span style="color: rgba(0, 0, 0, 1)"> res.windowWidth;
that.windowHeight </span>=<span style="color: rgba(0, 0, 0, 1)"> res.windowHeight;
that.cameraWidth </span>=<span style="color: rgba(0, 0, 0, 1)"> res.windowWidth;
that.cameraHeight </span>= res.windowWidth * 1.5<span style="color: rgba(0, 0, 0, 1)">;
}
});
},
</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">启动相机</span>
<span style="color: rgba(0, 0, 0, 1)"> startPreview() {
</span><span style="color: rgba(0, 0, 255, 1)">this</span><span style="color: rgba(0, 0, 0, 1)">.livePusher.startPreview({
success(res) {
console.log(</span>'启动相机'<span style="color: rgba(0, 0, 0, 1)">, res)
}
});
},
</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">停止相机</span>
<span style="color: rgba(0, 0, 0, 1)"> stopPreview() {
let that </span>= <span style="color: rgba(0, 0, 255, 1)">this</span>
<span style="color: rgba(0, 0, 255, 1)">this</span><span style="color: rgba(0, 0, 0, 1)">.livePusher.stopPreview({
success(res) {
console.log(</span>'停止相机'<span style="color: rgba(0, 0, 0, 1)">, res)
}
});
},
</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">摄像头 状态</span>
<span style="color: rgba(0, 0, 0, 1)"> statechange(e) {
console.log(</span>'摄像头'<span style="color: rgba(0, 0, 0, 1)">, e);
</span><span style="color: rgba(0, 0, 255, 1)">if</span> (<span style="color: rgba(0, 0, 255, 1)">this</span>.ifPhoto == <span style="color: rgba(0, 0, 255, 1)">true</span><span style="color: rgba(0, 0, 0, 1)">) {
</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">拍照</span>
<span style="color: rgba(0, 0, 255, 1)">this</span><span style="color: rgba(0, 0, 0, 1)">.snapshot()
}
},
</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">抓拍</span>
<span style="color: rgba(0, 0, 0, 1)"> snapshot() {
let that </span>= <span style="color: rgba(0, 0, 255, 1)">this</span>
<span style="color: rgba(0, 0, 255, 1)">this</span><span style="color: rgba(0, 0, 0, 1)">.livePusher.snapshot({
success(res) {
that.snapshotsrc </span>=<span style="color: rgba(0, 0, 0, 1)"> res.message.tempImagePath;
that.uploadingImg(res.message.tempImagePath)
}
});
},
</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> 倒计时</span>
<span style="color: rgba(0, 0, 0, 1)"> getCount() {
</span><span style="color: rgba(0, 0, 255, 1)">this</span>.second = 5<span style="color: rgba(0, 0, 0, 1)">
let timer </span>= setInterval(() =><span style="color: rgba(0, 0, 0, 1)"> {
</span><span style="color: rgba(0, 0, 255, 1)">this</span>.second--<span style="color: rgba(0, 0, 0, 1)">;
</span><span style="color: rgba(0, 0, 255, 1)">if</span> (<span style="color: rgba(0, 0, 255, 1)">this</span>.second < 1<span style="color: rgba(0, 0, 0, 1)">) {
clearInterval(timer);
</span><span style="color: rgba(0, 0, 255, 1)">this</span>.second = 0
<span style="color: rgba(0, 0, 255, 1)">this</span>.ifPhoto = <span style="color: rgba(0, 0, 255, 1)">true</span>
<span style="color: rgba(0, 0, 255, 1)">this</span><span style="color: rgba(0, 0, 0, 1)">.statechange()
}
}, </span>1000<span style="color: rgba(0, 0, 0, 1)">)
},
</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> 图片上传</span>
<span style="color: rgba(0, 0, 0, 1)"> uploadingImg(e) {
let url </span>=<span style="color: rgba(0, 0, 0, 1)"> e
</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> console.log(url);</span>
let that = <span style="color: rgba(0, 0, 255, 1)">this</span><span style="color: rgba(0, 0, 0, 1)">
uni.uploadFile({
url: operate.api </span>+ 'api/common/upload'<span style="color: rgba(0, 0, 0, 1)">,
filePath: url,
name: </span>'file'<span style="color: rgba(0, 0, 0, 1)">,
formData: {
token: that.userInfo.token
},
success(res) {
</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> console.log(res);</span>
let list =<span style="color: rgba(0, 0, 0, 1)"> JSON.parse(res.data)
</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> console.log(list);</span>
<span style="color: rgba(0, 0, 0, 1)"> that.request(list.data.fullurl)
}
})
},
</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">验证请求</span>
<span style="color: rgba(0, 0, 0, 1)"> request(url) {
let data </span>=<span style="color: rgba(0, 0, 0, 1)"> {
token: </span><span style="color: rgba(0, 0, 255, 1)">this</span><span style="color: rgba(0, 0, 0, 1)">.userInfo.token,
photo: url
}
api.renzheng(data).then((res) </span>=><span style="color: rgba(0, 0, 0, 1)"> {
</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> console.log(res);</span>
<span style="color: rgba(0, 0, 0, 1)"> operate.toast({
title: res.data.msg
})
</span><span style="color: rgba(0, 0, 255, 1)">if</span> (res.data.code == 1<span style="color: rgba(0, 0, 0, 1)">) {
setTimeout(() </span>=><span style="color: rgba(0, 0, 0, 1)"> {
operate.redirectTo(</span>'/pages/details/details'<span style="color: rgba(0, 0, 0, 1)">)
}, </span>500<span style="color: rgba(0, 0, 0, 1)">)
}
</span><span style="color: rgba(0, 0, 255, 1)">if</span> (res.data.code == 0<span style="color: rgba(0, 0, 0, 1)">) {
setTimeout(() </span>=><span style="color: rgba(0, 0, 0, 1)"> {
</span><span style="color: rgba(0, 0, 255, 1)">this</span><span style="color: rgba(0, 0, 0, 1)">.anew(res.data.msg)
}, </span>500<span style="color: rgba(0, 0, 0, 1)">)
}
})
},
</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> 认证失败,重新认证</span>
<span style="color: rgba(0, 0, 0, 1)"> anew(msg) {
let that </span>= <span style="color: rgba(0, 0, 255, 1)">this</span><span style="color: rgba(0, 0, 0, 1)">
uni.showModal({
content: msg,
confirmText: </span>'重新审核'<span style="color: rgba(0, 0, 0, 1)">,
success(res) {
</span><span style="color: rgba(0, 0, 255, 1)">if</span><span style="color: rgba(0, 0, 0, 1)"> (res.confirm) {
</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> console.log('用户点击确定');</span>
<span style="color: rgba(0, 0, 0, 1)"> that.getCount()
} </span><span style="color: rgba(0, 0, 255, 1)">else</span> <span style="color: rgba(0, 0, 255, 1)">if</span><span style="color: rgba(0, 0, 0, 1)"> (res.cancel) {
</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> console.log('用户点击取消');</span>
<span style="color: rgba(0, 0, 0, 1)"> uni.navigateBack({
delta: </span>1<span style="color: rgba(0, 0, 0, 1)">
})
}
}
})
},
}
};
</span></script></em></em></em></em></em></pre>
</div>
<h3 class="md-end-block md-heading md-focus"><span class="md-plain md-expand">css 样式</span></h3>
<div class="cnblogs_code">
<pre><span style="color: rgba(128, 0, 0, 1)"><style lang="scss">
// 标题
.title </span>{<span style="color: rgba(255, 0, 0, 1)">
font-size</span>:<span style="color: rgba(0, 0, 255, 1)"> 35rpx</span>;<span style="color: rgba(255, 0, 0, 1)">
align-items</span>:<span style="color: rgba(0, 0, 255, 1)"> center</span>;<span style="color: rgba(255, 0, 0, 1)">
justify-content</span>:<span style="color: rgba(0, 0, 255, 1)"> center</span>;
}<span style="color: rgba(128, 0, 0, 1)">
.live-camera </span>{<span style="color: rgba(255, 0, 0, 1)">
.preview {
justify-content</span>:<span style="color: rgba(0, 0, 255, 1)"> center</span>;<span style="color: rgba(255, 0, 0, 1)">
align-items</span>:<span style="color: rgba(0, 0, 255, 1)"> center</span>;<span style="color: rgba(255, 0, 0, 1)">
.outline-box {
position</span>:<span style="color: rgba(0, 0, 255, 1)"> absolute</span>;<span style="color: rgba(255, 0, 0, 1)">
top</span>:<span style="color: rgba(0, 0, 255, 1)"> 0</span>;<span style="color: rgba(255, 0, 0, 1)">
left</span>:<span style="color: rgba(0, 0, 255, 1)"> 0</span>;<span style="color: rgba(255, 0, 0, 1)">
bottom</span>:<span style="color: rgba(0, 0, 255, 1)"> 0</span>;<span style="color: rgba(255, 0, 0, 1)">
z-index</span>:<span style="color: rgba(0, 0, 255, 1)"> 99</span>;<span style="color: rgba(255, 0, 0, 1)">
align-items</span>:<span style="color: rgba(0, 0, 255, 1)"> center</span>;<span style="color: rgba(255, 0, 0, 1)">
justify-content</span>:<span style="color: rgba(0, 0, 255, 1)"> center</span>;<span style="color: rgba(255, 0, 0, 1)">
.outline-img {
width</span>:<span style="color: rgba(0, 0, 255, 1)"> 750rpx</span>;<span style="color: rgba(255, 0, 0, 1)">
height</span>:<span style="color: rgba(0, 0, 255, 1)"> 1125rpx</span>;
}<span style="color: rgba(128, 0, 0, 1)">
}
.remind </span>{<span style="color: rgba(255, 0, 0, 1)">
position</span>:<span style="color: rgba(0, 0, 255, 1)"> absolute</span>;<span style="color: rgba(255, 0, 0, 1)">
top</span>:<span style="color: rgba(0, 0, 255, 1)"> 880rpx</span>;<span style="color: rgba(255, 0, 0, 1)">
width</span>:<span style="color: rgba(0, 0, 255, 1)"> 750rpx</span>;<span style="color: rgba(255, 0, 0, 1)">
z-index</span>:<span style="color: rgba(0, 0, 255, 1)"> 100</span>;<span style="color: rgba(255, 0, 0, 1)">
align-items</span>:<span style="color: rgba(0, 0, 255, 1)"> center</span>;<span style="color: rgba(255, 0, 0, 1)">
justify-content</span>:<span style="color: rgba(0, 0, 255, 1)"> center</span>;<span style="color: rgba(255, 0, 0, 1)">
.remind-text {
color</span>:<span style="color: rgba(0, 0, 255, 1)"> #dddddd</span>;<span style="color: rgba(255, 0, 0, 1)">
font-weight</span>:<span style="color: rgba(0, 0, 255, 1)"> bold</span>;
}<span style="color: rgba(128, 0, 0, 1)">
}
}
}
</style></span></pre>
</div>
<p><img src="https://img2020.cnblogs.com/blog/2237618/202107/2237618-20210713181028816-711610927.png" alt="" loading="lazy"></p>
<p> </p>
</div>
<div id="MySignature" role="contentinfo">
<p>本文来自博客园,作者:虚乄,转载请注明原文链接:https://www.cnblogs.com/lovejielive/p/15007797.html</p><br><br>
来源:https://www.cnblogs.com/lovejielive/p/15007797.html
頁:
[1]