# 插件更多页(s-more)
为了规范插件更多页,国际美居封装了超级插件更多页组件H5版本,供各事业部自行调用。该组件当前分为可选功能、默认功能、以及自定义内容块。 其中:默认功能中的电子说明书、常见问题(FAQ)需符合ibos配置才会自动展示功能入口,可选功能可根据事业部当前业务自行选择是否启用。
weex组件, 页面import导入。
# 实例
# 基础用法
<template>
<s-more
:isNewH5Webview="false"
:languageType="lang"
:unitActived="0"
:notificiatonShow="true"
:timeZoneShow="true"
:serviceShow="true"
:contactShow="true"
:registerShow="true"
:troubleshootingShow="true"
:networkInfoShow="true"
:plugVersion="'v1.3.1.3.22474939950'"
:unitArr="unitArr"
@broadcastChannel="broadcastChannel"
@chooseUnit="chooseUnit"
>
<template v-slot:custom>
<!-- 自定义区域1,位于单位切换cell下,样式由插件控制 -->
</template>
<template v-slot:custom2>
<!-- 自定义区域2,位于ContectUs与分享设备之间,样式由插件控制 -->
</template>
<template v-slot:components>
<!-- 自定义弹窗内容,如Modal、Popup,样式由插件控制 -->
</template>
</s-more>
</template>
<script>
// 从npm官网仓库导入
import 'smarthome-h5-components/dist/style.css'
import { SMore } from 'smarthome-h5-components';
export default {
components: {
SMore
},
data() {
return {
lang: '',
unitArr: [{
/**
* 数组元素定义
* unitId:单位id,必填,用于区分多组单位
* unitName:单位名称,必填,须由事业部处理多语言
* unitIndex:单位索引值,必填,当前所选单位的索引值,从0开始
* unitList:单位列表,必填,数组类型,每个元素为一个字符串,表示一个单位,须由事业部处理多语言
*/
unitId: '1',
unitName: '温度',
unitIndex: 0,
unitList: ['℃', '℉']
}],
}
},
methods: {
customerOTAClick() {
// 如无须自行处理,可不监听组件该事件
nativeService.toast('当前状态下暂不可升级设备')
},
broadcastChannel(message) {
console.log(`broadcastChannel log in parent::${message.clickEvent}`);
},
chooseUnit({ unitId, chooseIndex }) {
console.log('插件端chooseUnit');
const modifyIndex = this.unitArr.findIndex(item => item.unitId === unitId);
if (modifyIndex > -1) {
console.log(this.unitArr[modifyIndex]);
this.unitArr[modifyIndex].unitIndex = chooseIndex;
}
},
},
created() {
nativeService.getLanguage().then((res) => {
this.lang = res.language || 'en';
});
},
mounted() {
}
};
</script>
# CSS基准值
组件是基于750宽度(基准值75)的UI标注,以px为单位进行开发,需依赖插件整体项目做px2rem处理。若与插件基准不一致,可参考以下方式设置两套基准值:
# 默认功能
功能名称 | 功能说明 |
---|---|
设备信息 | 设备信息展示(设备图片、设备名称、设备品类、设备型号、设备sn;主人设备可编辑/修改设备名称;点击可复制设备型号、设备SN到剪切板) |
电子说明书 | 根据ibos接口配置决定是否展示入口 |
常见问题 | 根据ibos接口配置决定是否展示入口 |
问题反馈 | 跳转App的设备FAQ进行问题反馈 |
设备分享 | 仅主人且非蓝牙直连设备展示分享入口和操作设备分享 |
插件版本号 | 由事业部传参 |
固件升级 | 设备OTA,有待升级设备展示红点(蓝牙直连设备不展示入口) |
删除设备 | 云端删除设备接口,删除设备成功后回到APP首页 |
多语言 | 依赖事业部传入插件当前语言码,若未能匹配事业部传入的语言码,则以英文兜底。注:自定义功能翻译需事业部自行处理 |
家庭信息 | 美居v3.8、东芝v2.5后,支持家庭信息展示,主人设备显示家庭名称&房间名称(如有分配);分享设备显示设备所属家庭名称 |
# Attributes
Prop | Type | Required | Optional values(可选值) | Default | Description |
---|---|---|---|---|---|
isNewH5Webview | boolean | Yes | true/false | false | H5容器类型,目前插件H5容器有新旧之分,影响调用原生接口逻辑,务必准确传入 |
languageType | string | Yes | SmartHome/TSmartLife当前支持的所有语言码 | en | 语言码(根据国际美居/国际东芝语言码传入),超出当前app范围内的语言或不传语言码,则以英文兜底 |
plugVersion | string | Yes | - | - | 插件版本号 |
boolean | t | ||||
number | |||||
notificiatonShow | boolean | No | true/false | false | 设备消息管理 |
timeZoneShow | boolean | No | true/false | false | 设备时区(蓝牙直连设备不展示入口) |
serviceShow | boolean | No | true/false | false | 一键报修 |
registerShow | boolean | No | true/false | false | 产品注册 |
contactShow | boolean | No | true/false | false | 联系我们,默认仅查询、展示当前设备品牌相关的售后电话 |
contactShowAllBrand | boolean | No | true/false | false | 联系我们是否展示所有品牌的售后电话(已配置在后台的售后电话),^1.0.2 |
troubleshootingShow | boolean | No | true/false | false | 智能诊断 |
networkInfoShow | boolean | No | true/false | true | 网络信号强度 |
showOTARedDotCus | boolean | No | true/false | false | 自定义固件升级是否显示小红点,仅在传入customerOTAClick时生效 |
unitArr | Array | No | - | [] | 自定义单位设置 |
# Slots
name | Type | 说明 |
---|---|---|
custom | - | 自定义功能区-位于温度单位切换下方 |
custom2 | - | 自定义功能区-位于ContactUs与分享设备之间 |
custom3 | - | 自定义功能区-位于设备信息二级页面底部,v1.0.2版本支持 |
components | - | 自定义弹窗组件等放置区域 |
# Events
事件名称 | 说明 | 回调参数 |
---|---|---|
customerFeedbackClick | 针对“问题反馈”支持可选配置,触发该事件进行自定义操作。不触发该事件则默认跳转集团问题反馈功能页面 | - |
customerOTAClick | 针对“固件升级”支持可选配置,触发该事件进行自定义操作。不触发该事件则默认跳转集团固件升级页 | - |
exitMorePage | 为同时适配SPA与MPA应用,从更多页首页点击左上角返回按钮,页面回退交由插件完成 | - |
deleteDeviceSuccess | 删除设备成功,若退出插件失败,需插件协助退出当前插件 | - |
broadcastChannel | 通过事件回调,抛出用户点击事件,供事业部执行自定义行为,如:埋点等;主要判断/跳转逻辑依然由组件内完成,具体参考值如下 | - |
chooseUnit | 切换单位事件回调 | { unitId, chooseIndex };unitId:对应unitArr中的unitId;chooseIndex:用户选中的单位下标 |
function broadcastChannel(message) {
console.log(`broadcastChannel log in parent::${message.clickEvent}`);
// message结构
// {
// clickEvent: 'deviceDetail'
// }
}
clickEvent | 说明 |
---|---|
deviceDetail | 点击设备信息 |
customerUnitClick | 点击单位切换,与customerUnitClick事件共存 |
notifiSetting | 点击消息开关设置 |
deviceTimeZone | 点击设备时区 |
userGuide | 点击电子说明书 |
FAQ | 点击常见问题 |
Troubleshooting | 点击智能诊断 |
serviceRequest | 点击一键报修 |
Register | 点击产品注册 |
contactUs | 点击联系我们 |
Feedback | 点击问题反馈 |
shareDevice | 点击设备分享 |
deviceOTA | 点击固件升级 |
networkDetail | 点击网络信号强度 |
editDeviceName | 编辑设备名称-二级页面 |
copySN | 复制设备SN-二级页面 |
copyModel | 复制设备型号-二级页面 |
pluginVersion | 插件版本信息-无后续动作 |
homeName | 家庭名称-无后续动作 |
roomName | 房间名称-无后续动作 |
categoryName | 品类名称-无后续动作 |
routerName | 路由名称-无后续动作 |
routerSignal | 路由信号强度-无后续动作 |
routerIpV4 | 路由IP地址-无后续动作 |
routerMac | 路由MAC地址-无后续动作 |
← 更新日志