更新记录

1.0.0(2023-12-18)

支持官方最新版电子秤服务V1.4.39接口 1.setUnitPrice 设置单价 2.getUnitPrice 获取单价 3.setUnit 设置单位 4.getUnit 获取单位


平台兼容性

Android Android CPU类型 iOS
适用版本区间:4.4 - 14.0 armeabi-v7a:未测试,arm64-v8a:未测试,x86:未测试 ×

原生插件通用使用流程:

  1. 购买插件,选择该插件绑定的项目。
  2. 在HBuilderX里找到项目,在manifest的app原生插件配置中勾选模块,如需要填写参数则参考插件作者的文档添加。
  3. 根据插件作者的提供的文档开发代码,在代码中引用插件,调用插件功能。
  4. 打包自定义基座,选择插件,得到自定义基座,然后运行时选择自定义基座,进行log输出测试。
  5. 开发完毕后正式云打包

付费原生插件目前不支持离线打包。
Android 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/android
iOS 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/ios

注意事项:使用HBuilderX2.7.14以下版本,如果同一插件且同一appid下购买并绑定了多个包名,提交云打包界面提示包名绑定不一致时,需要在HBuilderX项目中manifest.json->“App原生插件配置”->”云端插件“列表中删除该插件重新选择


<template>
  <view class="container">
    <button @click="connectService" type="primary">初始化连接</button>
    <button @click="getResult1" type="primary">原获取称重信息</button>
    <button @click="getResult2" type="primary">获取称重信息</button>
    <button @click="getStatus" type="primary">获取称重状态</button>
    <button @click="getPrice" type="primary">获取计价结果</button>
    <button @click="zero" type="primary">清零</button>
    <button @click="tare" type="primary">去皮</button>
    <button @click="digitalTare" type="primary">数字去皮</button>
    <button @click="cancelGetData" type="primary">取消获取数据</button>
    <button @click="readAcceleData" type="primary">读取加速度数据</button>
    <button @click="getCalStatus" type="primary">读取标定按钮开关状态</button>
    <button @click="readSealState" type="primary">获取铅封状态</button>
    <button @click="setUnitPrice" type="primary">设置单价</button>
    <button @click="getUnitPrice" type="primary">获取当前已经设置的单价</button>
    <button @click="setUnit" type="primary">设置价格计算时的重量单位</button>
    <button @click="getUnit" type="primary">获取当前价格计算的重量单位</button>
    <button @click="restart" type="primary">重启电子称</button>

    <view class="">
        更多参数详情请参考官方sdk说明:https://developer.sunmi.com/docs/zh-CN/xeghjk491/cixeghjk491#h-1%E3%80%81sdk%E8%B5%84%E6%BA%90
    </view>
  </view>
</template>

<script>
const electronic = uni.requireNativePlugin('uniplugin-electronic');

export default {
  data() {
    return {};
  },
  methods: {
        connectService() {
            electronic.connectService(
            e => {
                uni.showToast({
                    title:JSON.stringify(e),
                    icon:"none"
                })
            }
            )
        },
        getResult1() {
          electronic.getResult(
          e => {
            uni.showToast({
                title:JSON.stringify(e),
                icon:"none"
            })
          }
          )
        },
        getResult2() {
          electronic.getRData(
          e => {
            uni.showToast({
                title:JSON.stringify(e),
                icon:"none"
            })
          }
          )
        },
        getStatus() {
          electronic.getStatus(
          e => {
            uni.showToast({
                title:JSON.stringify(e),
                icon:"none"
            })
          })
        },
        getPrice() {
          electronic.getPrice(
          e => {
            uni.showToast({
                title:JSON.stringify(e),
                icon:"none"
            })
          })
        },
        zero() {
          electronic.zero(
          e => {
            uni.showToast({
                title:JSON.stringify(e),
                icon:"none"
            })
          })
        },
        tare() {
          electronic.tare(
          e => {
            uni.showToast({
                title:JSON.stringify(e),
                icon:"none"
            })
          })
        },
        digitalTare() {
            //参数为int类型
          electronic.digitalTare({num:10},
          e => {
            uni.showToast({
                title:JSON.stringify(e),
                icon:"none"
            })
          })
        },
        cancelGetData() {
          electronic.cancelGetData(
          e => {
            uni.showToast({
                title:JSON.stringify(e),
                icon:"none"
            })
          })
        },
        readAcceleData() {
          electronic.readAcceleData(
          e => {
            uni.showToast({
                title:JSON.stringify(e),
                icon:"none"
            })
          })
        },
        getCalStatus() {
          electronic.getCalStatus(
          e => {
            uni.showToast({
                title:JSON.stringify(e),
                icon:"none"
            })
          })
        },
        readSealState() {
          electronic.readSealState(
          e => {
            uni.showToast({
                title:JSON.stringify(e),
                icon:"none"
            })
          })
        },
        setUnitPrice() {
            //参数为string类型
          electronic.setUnitPrice({unitPrice:"10"}
          e => {
            uni.showToast({
                title:JSON.stringify(e),
                icon:"none"
            })
          })
        },
        getUnitPrice() {
          electronic.getUnitPrice(
          e => {
            uni.showToast({
                title:JSON.stringify(e),
                icon:"none"
            })
          })
        },
        setUnit() {
          //0:按g计重1:按100g计重2:按500g计重3:按kg计重
          electronic.setUnit({num:0}
          e => {
            uni.showToast({
                title:JSON.stringify(e),
                icon:"none"
            })
          })
        },
        getUnit() {
          electronic.getUnit(
          e => {
            uni.showToast({
                title:JSON.stringify(e),
                icon:"none"
            })
          })
        },
        restart() {
          electronic.restart(
          e => {
            uni.showToast({
                title:JSON.stringify(e),
                icon:"none"
            })
          })
        },

  },
};
</script>

<style>
.container {
  padding: 20px;
  font-size: 14px;
  line-height: 24px;
}
</style>

隐私、权限声明

1. 本插件需要申请的系统权限列表:

"<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>", "<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>", "<uses-permission android:name=\"android.permission.VIBRATE\"/>", "<uses-permission android:name=\"android.permission.READ_LOGS\"/>", "<uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\"/>", "<uses-feature android:name=\"android.hardware.camera.autofocus\"/>", "<uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"/>", "<uses-permission android:name=\"android.permission.CAMERA\"/>", "<uses-permission android:name=\"android.permission.GET_ACCOUNTS\"/>", "<uses-permission android:name=\"android.permission.READ_PHONE_STATE\"/>", "<uses-permission android:name=\"android.permission.CHANGE_WIFI_STATE\"/>", "<uses-permission android:name=\"android.permission.WAKE_LOCK\"/>", "<uses-permission android:name=\"android.permission.FLASHLIGHT\"/>", "<uses-feature android:name=\"android.hardware.camera\"/>", "<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>", 这个必填,其他的可自行测试 "<uses-permission android:name=\"com.sunmi.permission.ELECTRONIC_SCALE\"/>"

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问