Files
endo_an_2/pages/set/base.vue
T
2026-02-10 09:51:18 +08:00

184 lines
5.4 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<template>
<view class="ant-layout page">
<page-header></page-header>
<head-title title="基础设置"></head-title>
<view class="ant-layout-content content">
<view class="form">
<uni-row :gutter="gutter">
<uni-col :span="labelSpan">
<label class="ant-form-item-label">序列号</label>
</uni-col>
<uni-col :span="wrapSpan">
<view class="form-text">
{{ deviceSn }}
</view>
</uni-col>
</uni-row>
<uni-row :gutter="gutter">
<uni-col :span="labelSpan">
<label class="ant-form-item-label">设备名称</label>
</uni-col>
<uni-col :span="wrapSpan">
<input class="ant-input" v-model="name" />
</uni-col>
</uni-row>
<uni-row :gutter="gutter">
<uni-col :span="labelSpan">
<label class="ant-form-item-label">锁屏密码</label>
</uni-col>
<uni-col :span="wrapSpan">
<input type="number" class="ant-input" v-model="screenPw" placeholder="密码为4个数字"/>
</uni-col>
</uni-row>
<uni-row :gutter="gutter">
<uni-col :span="labelSpan">
<label class="ant-form-item-label">设置密码</label>
</uni-col>
<uni-col :span="wrapSpan">
<input type="number" class="ant-input" v-model="settingPw" placeholder="密码为4个数字"/>
</uni-col>
</uni-row>
<uni-row :gutter="gutter">
<uni-col :span="labelSpan">
<label class="ant-form-item-label">接口密钥</label>
</uni-col>
<uni-col :span="wrapSpan">
<input class="ant-input" v-model="apiKey" />
</uni-col>
</uni-row>
<uni-row :gutter="gutter">
<uni-col :span="wrapSpan" :offset="6" style="text-align: left;">
<view class="form-btn">
<view class="ant-btn" @click="submit">保存</view>
<view class="ant-btn" style="margin-left: 20px;" @click="asyncSet">同步</view>
</view>
</uni-col>
</uni-row>
</view>
</view>
<notice ref="notice"/>
</view>
</template>
<script>
import PageHeader from '@/components/PageHeader.vue'
import HeadTitle from '@/components/HeadTitle.vue'
import Notice from '@/components/Notice.vue';
import { getMacAddress } from '@/js_sdk/zw-devicemac/devicemac.js'
import storage from '@/utils/storage.js'
import * as Api from '@/api/index.js'
export default {
components: {
PageHeader,Notice,HeadTitle
},
data() {
return {
gutter: 12,
labelSpan: 6,
wrapSpan: 16,
deviceSn: '',
name: '',
settingPw: '',
screenPw: '',
apiKey: '',
}
},
onLoad() {
this.deviceSn = getMacAddress()
let base = this.$store.getters.base
this.name = base.name
this.settingPw = base.settingPw
this.screenPw = base.screenPw
this.apiKey = base.apiKey
},
methods: {
submit() {
if (this.settingPw != '' && this.settingPw.length != 4 ) {
this.$refs.notice.open({
title: '密码长度4个数字',
type: 'error'
})
return
}
let form = {
name: this.name,
settingPw: this.settingPw,
screenPw: this.screenPw,
apiKey: this.apiKey
}
storage.set('base', form)
this.$store.commit('SET_BASE', { ...form })
this.$refs.notice.open({
title: '保存成功',
type: 'success'
})
},
asyncSet() {
this.$refs.notice.open({
title: '正在同步数据...',
content: '请稍候'
})
Api.deviceinfo({
// mac: this.deviceSn,
// name: this.name,
// setting_password: this.settingPw,
// screen_pw: this.screenPw,
// api_key: this.apiKey
}).then(res => {
console.log(res)
})
}
},
}
</script>
<style scoped>
.page{
background: transparent;
}
.form{
font-size: 18px;
margin-top: 20px;
padding: 40px;
}
.form .uni-row{
margin-bottom: 20px;
}
.ant-form-item-label{
color: #747A8D;
line-height: 40px;
}
.ant-input{
height: 40px;
font-size: 18px;
}
.form-text{
color: #747A8D;
line-height: 40px;
text-align: left;
font-size: 18px;
}
.ant-btn{
line-height: 38px;
background: #2F3242;
border-color: #2F3242;
height: 46px;
width: 128px;
border-radius: 50px;
color: #fff;
font-size: 16px;
}
.form-btn{
margin-top: 60px;
}
</style>