fix: remove all medical device terms from user-facing text
Replace '光子美容仪' with '智美'/'智能面膜'/'我的设备' throughout. Replace '护理' with '使用' in all UI text. Replace '皮肤' with '检测'/'智能' where applicable. Replace 🌸 with 💎 for brand identity. Internal code (variable names, API paths, file names) unchanged.
这个提交包含在:
@@ -1,7 +1,7 @@
|
||||
<template>
|
||||
<view class="admin-layout">
|
||||
<view class="sidebar">
|
||||
<view class="sidebar-logo">🌸 光子美容仪</view>
|
||||
<view class="sidebar-logo">💎 智美</view>
|
||||
<view class="sidebar-sub">管理后台</view>
|
||||
<view class="sidebar-menu">
|
||||
<view
|
||||
@@ -45,7 +45,7 @@ export default {
|
||||
{ icon: '📱', label: '设备管理', view: 'device' },
|
||||
{ icon: '👥', label: '用户管理', view: 'user' },
|
||||
{ icon: '💳', label: '订阅管理', view: 'subscription' },
|
||||
{ icon: '📋', label: '护理记录', view: 'record' },
|
||||
{ icon: '📋', label: '使用记录', view: 'record' },
|
||||
{ icon: '📝', label: '操作日志', view: 'log' },
|
||||
{ icon: '⚙️', label: '系统设置', view: 'settings' }
|
||||
]
|
||||
@@ -54,7 +54,7 @@ export default {
|
||||
computed: {
|
||||
pageTitle() {
|
||||
var item = this.menuItems.find(m => m.view === this.currentPage)
|
||||
return item ? item.icon + ' ' + item.label : '光子美容仪管理后台'
|
||||
return item ? item.icon + ' ' + item.label : '智美管理后台'
|
||||
},
|
||||
adminName() {
|
||||
var store = useUserStore()
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
{
|
||||
"name": "光子美容仪后台",
|
||||
"name": "智美后台",
|
||||
"appid": "__UNI__HOXADMIN",
|
||||
"description": "Hox beauty device admin console",
|
||||
"versionName": "1.0.0",
|
||||
"versionCode": "100",
|
||||
"h5": {
|
||||
"title": "光子美容仪后台",
|
||||
"title": "智美后台",
|
||||
"router": {
|
||||
"mode": "hash",
|
||||
"base": "/admin/"
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
],
|
||||
"globalStyle": {
|
||||
"navigationBarTextStyle": "black",
|
||||
"navigationBarTitleText": "光子美容仪后台",
|
||||
"navigationBarTitleText": "智美后台",
|
||||
"navigationBarBackgroundColor": "#ffffff",
|
||||
"backgroundColor": "#f5f5f5"
|
||||
}
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
<template>
|
||||
<view class="login-page">
|
||||
<view class="login-card">
|
||||
<view class="login-logo">🌸</view>
|
||||
<view class="login-title">光子美容仪</view>
|
||||
<view class="login-logo">💎</view>
|
||||
<view class="login-title">智美</view>
|
||||
<view class="login-subtitle">管理后台</view>
|
||||
|
||||
<view class="form-group">
|
||||
@@ -32,7 +32,7 @@
|
||||
登 录
|
||||
</button>
|
||||
|
||||
<view class="login-footer">© 2026 光子美容仪管理后台</view>
|
||||
<view class="login-footer">© 2026 智美管理后台</view>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
<view class="stat-card">
|
||||
<view class="stat-icon pink">💆</view>
|
||||
<text class="stat-value">{{ stats.treatment_count || 0 }}</text>
|
||||
<text class="stat-label">护理次数</text>
|
||||
<text class="stat-label">使用次数</text>
|
||||
</view>
|
||||
<view class="stat-card">
|
||||
<view class="stat-icon gold">💳</view>
|
||||
@@ -45,7 +45,7 @@
|
||||
<view class="main-row">
|
||||
<view class="card table-card">
|
||||
<view class="card-header">
|
||||
<text class="card-title">实时护理数据</text>
|
||||
<text class="card-title">实时使用数据</text>
|
||||
<text class="card-extra" @click="$emit('navigate', 'record')">查看全部 ›</text>
|
||||
</view>
|
||||
<view class="data-table">
|
||||
@@ -73,7 +73,7 @@
|
||||
</text>
|
||||
</view>
|
||||
<view v-if="recentTreatments.length === 0" class="empty-state">
|
||||
<text class="empty-text">暂无护理记录</text>
|
||||
<text class="empty-text">暂无使用记录</text>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
@@ -74,7 +74,7 @@
|
||||
</view>
|
||||
|
||||
<view class="page-card" v-if="device && device.recent_treatments">
|
||||
<view class="card-title">最近护理记录</view>
|
||||
<view class="card-title">最近使用记录</view>
|
||||
<view class="data-table">
|
||||
<view class="t-header">
|
||||
<view class="t-row">
|
||||
|
||||
@@ -108,7 +108,7 @@ export default {
|
||||
var map = {
|
||||
admin_login: '管理员登录', admin_device_create: '创建设备', admin_device_unbind: '后台解绑',
|
||||
admin_device_command: '下发指令', user_register: '用户注册', user_login: '用户登录',
|
||||
device_bind: '设备绑定', device_unbind: '设备解绑', treatment_sync: '护理记录同步',
|
||||
device_bind: '设备绑定', device_unbind: '设备解绑', treatment_sync: '使用记录同步',
|
||||
subscription_verify: '订阅核销'
|
||||
}
|
||||
return map[action] || action
|
||||
|
||||
@@ -28,10 +28,10 @@
|
||||
<text class="t-th flex1">记录ID</text>
|
||||
<text class="t-th flex1">用户</text>
|
||||
<text class="t-th flex2">设备编号</text>
|
||||
<text class="t-th flex1">护理模式</text>
|
||||
<text class="t-th flex1">护理区域</text>
|
||||
<text class="t-th flex1">护理时长</text>
|
||||
<text class="t-th flex2">护理时间</text>
|
||||
<text class="t-th flex1">使用模式</text>
|
||||
<text class="t-th flex1">使用区域</text>
|
||||
<text class="t-th flex1">使用时长</text>
|
||||
<text class="t-th flex2">使用时间</text>
|
||||
<text class="t-th flex1">操作</text>
|
||||
</view>
|
||||
</view>
|
||||
@@ -159,7 +159,7 @@ export default {
|
||||
'\n时长: ' + duration + '分钟' +
|
||||
'\n时间: ' + this.formatDate(item.start_time)
|
||||
uni.showModal({
|
||||
title: '护理记录详情 #' + (item.record_id || ''),
|
||||
title: '使用记录详情 #' + (item.record_id || ''),
|
||||
content: content,
|
||||
showCancel: false
|
||||
})
|
||||
@@ -171,7 +171,7 @@ export default {
|
||||
var REGION_MAP = { 1: '左脸', 2: '右脸', 4: '额头', 8: '下巴', 16: '鼻', 32: '左眼', 64: '右眼' }
|
||||
const records = data.records || []
|
||||
exportCSV('records_' + new Date().toISOString().slice(0, 10) + '.csv',
|
||||
['记录ID', '用户', '设备编号', '护理模式', '护理区域', '护理时长(分钟)', '护理时间'],
|
||||
['记录ID', '用户', '设备编号', '使用模式', '使用区域', '使用时长(分钟)', '使用时间'],
|
||||
records.map(function (r) {
|
||||
var regions = []
|
||||
var bits = [1, 2, 4, 8, 16, 32, 64]
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
<view class="stats-row">
|
||||
<view class="stat-item pink-bg">
|
||||
<text class="stat-value">{{ user.treatment_count || 0 }}</text>
|
||||
<text class="stat-label">护理次数</text>
|
||||
<text class="stat-label">使用次数</text>
|
||||
</view>
|
||||
<view class="stat-item">
|
||||
<text class="stat-value">{{ user.total_duration ? Math.round(user.total_duration / 3600000) + 'h' : '0h' }}</text>
|
||||
@@ -89,7 +89,7 @@
|
||||
</view>
|
||||
|
||||
<view class="page-card" v-if="user && user.recent_treatments">
|
||||
<view class="card-title">护理记录</view>
|
||||
<view class="card-title">使用记录</view>
|
||||
<view class="data-table">
|
||||
<view class="t-header">
|
||||
<view class="t-row">
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
<text class="t-th flex2">用户</text>
|
||||
<text class="t-th flex2">手机号</text>
|
||||
<text class="t-th flex1">绑定设备</text>
|
||||
<text class="t-th flex1">护理次数</text>
|
||||
<text class="t-th flex1">使用次数</text>
|
||||
<text class="t-th flex1">订阅状态</text>
|
||||
<text class="t-th flex1">用户状态</text>
|
||||
<text class="t-th flex2">注册时间</text>
|
||||
@@ -134,7 +134,7 @@ export default {
|
||||
const data = await get('/api/v1/admin/users', { page: 1, page_size: 9999, keyword: this.keyword })
|
||||
const records = data.records || []
|
||||
exportCSV('users_' + new Date().toISOString().slice(0, 10) + '.csv',
|
||||
['用户ID', '昵称', '手机号', '绑定设备数', '护理次数', '订阅状态', '用户状态', '注册时间'],
|
||||
['用户ID', '昵称', '手机号', '绑定设备数', '使用次数', '订阅状态', '用户状态', '注册时间'],
|
||||
records.map(function (r) {
|
||||
var userStatus = { 1: '正常', 2: '禁用', 3: '已注销' }[r.status] || '未知'
|
||||
return [r.user_id, r.nickname || '', r.phone || '', r.device_count || 0, r.treatment_count || 0, r.subscription_status === 1 ? '已订阅' : '未订阅', userStatus, r.created_at ? r.created_at.slice(0, 10) : '']
|
||||
|
||||
在新工单中引用
屏蔽一个用户