fix: replace facial/medical terms with neutral position labels
Region names: 左脸→左区, 右脸→右区, 额头→上区, 下巴→下区, 鼻唇→中区, 左眼→左上区, 右眼→右上区, 全脸→全区域. Replace 面部/面罩 with 设备 in wear-check and auto-scan pages.
这个提交包含在:
@@ -73,7 +73,7 @@ import { exportCSV } from '../utils/export'
|
||||
import { formatDate as formatDateUtil } from '../utils/format'
|
||||
|
||||
var REGION_MAP = {
|
||||
1: '左脸', 2: '右脸', 4: '额头', 8: '下巴', 16: '鼻', 32: '左眼', 64: '右眼'
|
||||
1: '左区', 2: '右区', 4: '上区', 8: '下区', 16: '中区', 32: '左上区', 64: '右上区'
|
||||
}
|
||||
|
||||
export default {
|
||||
@@ -168,7 +168,7 @@ export default {
|
||||
async onExport() {
|
||||
try {
|
||||
const data = await get('/api/v1/admin/records', { page: 1, page_size: 9999, keyword: this.keyword, user_id: this.filterUserId, date_from: this.dateFrom, date_to: this.dateTo })
|
||||
var REGION_MAP = { 1: '左脸', 2: '右脸', 4: '额头', 8: '下巴', 16: '鼻', 32: '左眼', 64: '右眼' }
|
||||
var REGION_MAP = { 1: '左区', 2: '右区', 4: '上区', 8: '下区', 16: '中区', 32: '左上区', 64: '右上区' }
|
||||
const records = data.records || []
|
||||
exportCSV('records_' + new Date().toISOString().slice(0, 10) + '.csv',
|
||||
['记录ID', '用户', '设备编号', '使用模式', '使用区域', '使用时长(分钟)', '使用时间'],
|
||||
|
||||
@@ -2,11 +2,11 @@
|
||||
<view class="page-header page-header-pink" style="padding-top: {{statusBarHeight + 24}}px;">
|
||||
<view class="nav-back" bindtap="onBack">‹ 返回</view>
|
||||
<view class="page-header-title">自动扫描</view>
|
||||
<view class="page-header-subtitle">正在识别面部...</view>
|
||||
<view class="page-header-subtitle">正在识别区域...</view>
|
||||
</view>
|
||||
|
||||
<view class="page-content">
|
||||
<view class="page-title">自动扫描面部区域</view>
|
||||
<view class="page-title">自动扫描区域</view>
|
||||
|
||||
<view class="scan-container">
|
||||
<view class="face-outline">
|
||||
@@ -14,7 +14,7 @@
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="scan-hint">请将面罩对准面部</view>
|
||||
<view class="scan-hint">请正确佩戴设备</view>
|
||||
<view class="scan-hint" style="font-size:24rpx;color:#999;margin-top:8rpx;">连接设备后可获取检测数据</view>
|
||||
|
||||
<view class="scan-progress" wx:if="{{scanning}}">
|
||||
|
||||
@@ -16,17 +16,17 @@ Page({
|
||||
paused: false,
|
||||
completed: false,
|
||||
startedAt: 0,
|
||||
regionText: '全脸使用',
|
||||
regionText: '全区域',
|
||||
},
|
||||
|
||||
_getRegionText: function (regionMask) {
|
||||
var REGION_MAP = {1:'左脸', 2:'右脸', 4:'额头', 8:'下巴', 16:'鼻', 32:'左眼', 64:'右眼'}
|
||||
if (regionMask === 0x7F) return '全脸使用'
|
||||
var REGION_MAP = {1:'左区', 2:'右区', 4:'上区', 8:'下区', 16:'中区', 32:'左上区', 64:'右上区'}
|
||||
if (regionMask === 0x7F) return '全区域'
|
||||
var names = []
|
||||
for (var bit in REGION_MAP) {
|
||||
if (regionMask & parseInt(bit)) names.push(REGION_MAP[bit])
|
||||
}
|
||||
return names.length > 0 ? names.join('+') + '使用' : '全脸使用'
|
||||
return names.length > 0 ? names.join('+') : '全区域'
|
||||
},
|
||||
|
||||
onLoad: function (options) {
|
||||
|
||||
@@ -3,11 +3,11 @@ Page({
|
||||
data: {
|
||||
statusBarHeight: 44,
|
||||
regions: [
|
||||
{ name: '左脸颊', mask: 0x01, checked: true },
|
||||
{ name: '右脸颊', mask: 0x02, checked: true },
|
||||
{ name: '额头', mask: 0x04, checked: true },
|
||||
{ name: '下巴', mask: 0x08, checked: true },
|
||||
{ name: '鼻唇', mask: 0x10, checked: true }
|
||||
{ name: '左区', mask: 0x01, checked: true },
|
||||
{ name: '右区', mask: 0x02, checked: true },
|
||||
{ name: '上区', mask: 0x04, checked: true },
|
||||
{ name: '下区', mask: 0x08, checked: true },
|
||||
{ name: '中区', mask: 0x10, checked: true }
|
||||
],
|
||||
selectedMode: 0,
|
||||
subExpired: false,
|
||||
|
||||
@@ -23,14 +23,14 @@
|
||||
</view>
|
||||
|
||||
<view class="page-title" style="font-size:28rpx;">选择区域</view>
|
||||
<view class="mode-tip" wx:if="{{selectedMode === 0}}">普通模式固定 10 分钟,使用区域默认全脸,不可调整</view>
|
||||
<view class="mode-tip" wx:if="{{selectedMode === 0}}">普通模式固定 10 分钟,使用区域默认全区域,不可调整</view>
|
||||
|
||||
<view class="face-map">
|
||||
<view class="face-region forehead {{regions[2].checked ? 'active' : ''}} {{selectedMode === 0 ? 'disabled' : ''}}" bindtap="onToggleRegion" data-idx="2">额头</view>
|
||||
<view class="face-region left-cheek {{regions[0].checked ? 'active' : ''}} {{selectedMode === 0 ? 'disabled' : ''}}" bindtap="onToggleRegion" data-idx="0">左脸</view>
|
||||
<view class="face-region right-cheek {{regions[1].checked ? 'active' : ''}} {{selectedMode === 0 ? 'disabled' : ''}}" bindtap="onToggleRegion" data-idx="1">右脸</view>
|
||||
<view class="face-region nose {{regions[4].checked ? 'active' : ''}} {{selectedMode === 0 ? 'disabled' : ''}}" bindtap="onToggleRegion" data-idx="4">鼻唇</view>
|
||||
<view class="face-region chin {{regions[3].checked ? 'active' : ''}} {{selectedMode === 0 ? 'disabled' : ''}}" bindtap="onToggleRegion" data-idx="3">下巴</view>
|
||||
<view class="face-region forehead {{regions[2].checked ? 'active' : ''}} {{selectedMode === 0 ? 'disabled' : ''}}" bindtap="onToggleRegion" data-idx="2">上区</view>
|
||||
<view class="face-region left-cheek {{regions[0].checked ? 'active' : ''}} {{selectedMode === 0 ? 'disabled' : ''}}" bindtap="onToggleRegion" data-idx="0">左区</view>
|
||||
<view class="face-region right-cheek {{regions[1].checked ? 'active' : ''}} {{selectedMode === 0 ? 'disabled' : ''}}" bindtap="onToggleRegion" data-idx="1">右区</view>
|
||||
<view class="face-region nose {{regions[4].checked ? 'active' : ''}} {{selectedMode === 0 ? 'disabled' : ''}}" bindtap="onToggleRegion" data-idx="4">中区</view>
|
||||
<view class="face-region chin {{regions[3].checked ? 'active' : ''}} {{selectedMode === 0 ? 'disabled' : ''}}" bindtap="onToggleRegion" data-idx="3">下区</view>
|
||||
</view>
|
||||
|
||||
<button class="btn-primary" bindtap="onStart" disabled="{{submitting}}" loading="{{submitting}}">
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
<view class="page-header page-header-pink" style="padding-top: {{statusBarHeight + 24}}px;">
|
||||
<view class="nav-back" bindtap="onBack">‹ 返回</view>
|
||||
<view class="page-header-title">确认佩戴</view>
|
||||
<view class="page-header-subtitle">请确保面罩贴合面部</view>
|
||||
<view class="page-header-subtitle">请确保设备正确佩戴</view>
|
||||
</view>
|
||||
|
||||
<view class="page-content">
|
||||
@@ -20,10 +20,10 @@
|
||||
|
||||
<view class="guide-card">
|
||||
<view class="guide-title">佩戴指引</view>
|
||||
<view class="guide-img">面罩佩戴示意图</view>
|
||||
<view class="guide-img">设备佩戴示意图</view>
|
||||
<view class="guide-steps">
|
||||
<view class="guide-step">1. 取出面罩,展开弹性绑带</view>
|
||||
<view class="guide-step">2. 将面罩贴合面部</view>
|
||||
<view class="guide-step">1. 取出设备,展开弹性绑带</view>
|
||||
<view class="guide-step">2. 将设备正确佩戴</view>
|
||||
<view class="guide-step">3. 调节绑带至舒适位置</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
@@ -312,8 +312,8 @@ function parseException(payload) {
|
||||
function getRegionName(mask) {
|
||||
var names = []
|
||||
var bits = [
|
||||
[0x01, '左脸颊'], [0x02, '右脸颊'], [0x04, '额头'],
|
||||
[0x08, '下巴'], [0x10, '鼻部'], [0x20, '左眼周'], [0x40, '右眼周']
|
||||
[0x01, '左区'], [0x02, '右区'], [0x04, '上区'],
|
||||
[0x08, '下区'], [0x10, '中区'], [0x20, '左上区'], [0x40, '右上区']
|
||||
]
|
||||
for (var i = 0; i < bits.length; i++) {
|
||||
if (mask & bits[i][0]) names.push(bits[i][1])
|
||||
|
||||
在新工单中引用
屏蔽一个用户