wushaodong 3 lat temu
rodzic
commit
9a2bd097d9

+ 13 - 0
android/app/src/main/java/com/zzliaoyuan/power_sensor/fragment/UHFReadTagFragment.java

@@ -44,6 +44,8 @@ public class UHFReadTagFragment {
     public void onCheckedChanged(int checkedId) {
         // 设置循环盘点同时读取 EPC、TID、USER 模式
         mContext.mReader.setEPCAndTIDUserMode(0, 24);
+        int power = mContext.mReader.getPower();
+        MainApplication.GetReactPackage().reactModule.sendMsgToRN("pushPower", power+"");
     }
 
     private void readTag() {
@@ -97,6 +99,17 @@ public class UHFReadTagFragment {
         }
     }
 
+    /**
+     * 设置功率
+     */
+    public void setPower(Integer power) {
+        if (mContext.mReader.setPower(power)) {
+            UIHelper.ToastMessage(mContext, "设置功率成功");
+        } else {
+            UIHelper.ToastMessage(mContext, "设置功率失败");
+        }
+    }
+
     /**
      * 停止识别
      */

+ 2 - 2
android/app/src/main/java/com/zzliaoyuan/power_sensor/readUHF/ReadUHFModule.java

@@ -33,7 +33,7 @@ public class ReadUHFModule extends ReactContextBaseJavaModule {
     }
 
     @ReactMethod
-    public void stopRead() {
-        UHFReadTagFragment.getInstance().stopRead();
+    public void setPower(Integer power) {
+        UHFReadTagFragment.getInstance().setPower(power);
     }
 }

+ 22 - 3
jscore/pages/Desktop/Home.js

@@ -1,9 +1,9 @@
 import React, {Component} from 'react';
-import {StyleSheet, View, Text, DeviceEventEmitter, ScrollView, Dimensions} from 'react-native';
+import {StyleSheet, View, Text, DeviceEventEmitter, ScrollView,TouchableOpacity, Dimensions} from 'react-native';
 import {Button} from '@ant-design/react-native';
 import ReadUHF from "../../utils/ReadUHF";
 import Barcode from "react-native-barcode-builder";
-
+import SyncStorage from 'sync-storage';
 let screenW = Dimensions.get('window').width;
 
 class DesktopHome extends Component {
@@ -18,10 +18,26 @@ class DesktopHome extends Component {
         };
     }
 
+    static navigationOptions = ({navigation}) => {
+        return {
+            headerRight: (
+                <TouchableOpacity onPress={() => navigation.navigate("setPower")}>
+                    <Text style={{
+                        // fontSize: 22,
+                        color: '#fff',
+                        marginRight: 10
+                    }}>设置</Text>
+
+                </TouchableOpacity>
+            )
+        };
+    };
+
     componentDidMount() {
         ReadUHF.changeFlag(0)
         DeviceEventEmitter.addListener('MsgFromAndroid', this._addCode);
         DeviceEventEmitter.addListener('onKeyDown', this.onKeyDown);
+        DeviceEventEmitter.addListener('pushPower', this.setPower);
     }
 
     componentWillUnmount() {
@@ -35,7 +51,7 @@ class DesktopHome extends Component {
         const product_index = userData.indexOf(str['userData'])
         if (product_index < 0) {
             userData.push(str['userData'])
-            data.push(str)
+            data.unshift(str)
             if (str['error']) {
                 error += 1
             }
@@ -54,6 +70,9 @@ class DesktopHome extends Component {
         let {isStart} = this.state;
         this.setState({isStart: !isStart})
     }
+    setPower = (power) => {
+        SyncStorage.set('power', parseInt(power));
+    }
 
     dianYaRender = (item, index) => {
         const assetID = item.assetID.slice(7, 21)

+ 8 - 1
jscore/pages/Desktop/Index.js

@@ -4,6 +4,7 @@ import { Platform } from 'react-native'
 import { createStackNavigator } from 'react-navigation'
 
 import DesktopHome from './Home'
+import setPower from './setPower'
 
 const TITLE_OFFSET = Platform.OS === 'ios' ? 70 : 56;
 
@@ -14,6 +15,12 @@ const HomeStack = createStackNavigator({
             title: '电金睛'
         },
     },
+    setPower: {
+        screen: setPower,
+        navigationOptions: {
+            title: '设置功率'
+        },
+    },
 },
 {
     defaultNavigationOptions: {
@@ -23,7 +30,7 @@ const HomeStack = createStackNavigator({
             borderColor: '#ccc',
             fontColor: '#fff',
             elevation: 0,
-            height: 50
+            height: 40
         },
         headerTintColor: '#ffffff',
         headerTitleStyle: {

+ 54 - 0
jscore/pages/Desktop/setPower.js

@@ -0,0 +1,54 @@
+import React, {Component} from 'react';
+import {Text, View} from 'react-native';
+import {Button, Slider} from "@ant-design/react-native";
+import SyncStorage from "sync-storage";
+import ReadUHF from "../../utils/ReadUHF";
+
+class setPower extends Component {
+    constructor(props) {
+        super(props);
+        this.state = {
+            power: 30,
+        };
+    }
+
+    componentDidMount() {
+        const power = SyncStorage.get('power');
+        this.setState({power: power})
+    }
+
+    _savePower = () => {
+        SyncStorage.set('power', this.state.power);
+        ReadUHF.setPower(parseInt(this.state.power))
+        this.props.navigation.goBack();
+    }
+
+    render() {
+        return (
+            <View style={{margin: 10}}>
+                <Text>当前功率:{this.state.power}</Text>
+                <Slider
+                    value={this.state.power}
+                    onChange={(value) => {
+                        this.setState({power: parseInt(value)})
+                    }}
+                    min={5}
+                    max={30}/>
+                <Button onPress={() => this._savePower()}
+                        type="primary"
+                        style={{
+                            marginTop: 20,
+                            backgroundColor: '#0099FF',
+                            borderWidth: 0,
+                        }}
+                >
+                    <Text style={{color: '#fff'}}>
+                        保存
+                    </Text>
+                </Button>
+            </View>
+        )
+    }
+}
+
+export default setPower