initial commit
This commit is contained in:
parent
0c8be9a9c0
commit
72b0f86bc3
175
README.md
175
README.md
|
@ -1,2 +1,175 @@
|
|||
# Installables
|
||||
# react-native-artag-module
|
||||
|
||||
react native artag module to scan the custom artag and find the card identity, objective options (A,B,C,D) based on (x,y,z) axis
|
||||
|
||||
## Installation
|
||||
|
||||
```sh
|
||||
npm install react-native-artag-module
|
||||
```
|
||||
|
||||
## Usage
|
||||
|
||||
```js
|
||||
import * as React from 'react';
|
||||
|
||||
import { StyleSheet, Text, View, PermissionsAndroid } from 'react-native';
|
||||
import ArtagModule, { ARCameraView, ARtagEventEmitter } from 'react-native-artag-module';
|
||||
|
||||
|
||||
export default class App extends React.Component<any> {
|
||||
|
||||
|
||||
state = {
|
||||
cameraPermission: false,
|
||||
options: {
|
||||
attendanceLabel: 'Attendances',
|
||||
isAttendanceLabel: true,
|
||||
attendanceTextSize: 14,
|
||||
standardLabel: 'Standards',
|
||||
isStandardLabel: true,
|
||||
standardNameTextSize: 14,
|
||||
fillRectangleBackgroundColor: false, // fill reactangle color true | false
|
||||
fillRectangleBackgroundColorCode: { R: 0, G: 255, B: 0 }, // rectangle fill color code in RGB
|
||||
markerCornerColor: true, // Corner Color
|
||||
markerCornerColorCode: { R: 0, G: 255, B: 0 },
|
||||
|
||||
OptionColor: true, // Options
|
||||
OptionColorCode: { R: 0, G: 255, B: 0 },
|
||||
|
||||
markerIdentityColor: true, // Student ID
|
||||
markerIdentityColorCode: { R: 0, G: 255, B: 0 },
|
||||
|
||||
outlineRectangleColor: true, // Outline Color Code
|
||||
outlineRectangleColorCode: { R: 0, G: 255, B: 0 },
|
||||
|
||||
instantDataLabel: { A: "S", B: "B", C: "C", D: "D" }
|
||||
},
|
||||
scantype: 2, // 0 - Attendance, 1 - Instant Feedback, 2 -Quizz
|
||||
classdata: {
|
||||
class_id: "1",
|
||||
class_name: "PKG-B",
|
||||
student_count: 3,
|
||||
subject_id: "6",
|
||||
subject_name: "English",
|
||||
academic_year: "2021",
|
||||
name: "Feedback11",
|
||||
topics: "test",
|
||||
question_set_id: "10",
|
||||
serial_no: "1"
|
||||
},
|
||||
carddata: [
|
||||
{
|
||||
academic_year: "2021",
|
||||
card_id: "1",
|
||||
class_id: "1",
|
||||
profile_picture: "/media/a44e9e0c-579c-4e91-b418-e3e6a191e594.jpg",
|
||||
student_id: 1,
|
||||
student_name: "Ashwinn"
|
||||
},
|
||||
{
|
||||
academic_year: "2021",
|
||||
card_id: "2",
|
||||
class_id: "1",
|
||||
profile_picture: "/media/a44e9e0c-579c-4e91-b418-e3e6a191e594.jpg",
|
||||
student_id: 34,
|
||||
student_name: "Rakshan"
|
||||
},
|
||||
{
|
||||
academic_year: "2021",
|
||||
card_id: "3",
|
||||
class_id: "1",
|
||||
profile_picture: "/media/a44e9e0c-579c-4e91-b418-e3e6a191e594.jpg",
|
||||
student_id: 82,
|
||||
student_name: "Sathyan"
|
||||
},
|
||||
{
|
||||
academic_year: "2021",
|
||||
card_id: "4",
|
||||
class_id: "1",
|
||||
profile_picture: "/media/a44e9e0c-579c-4e91-b418-e3e6a191e594.jpg",
|
||||
student_id: 82,
|
||||
student_name: "Sathyan"
|
||||
},
|
||||
{
|
||||
academic_year: "2021",
|
||||
card_id: "5",
|
||||
class_id: "1",
|
||||
profile_picture: "/media/a44e9e0c-579c-4e91-b418-e3e6a191e594.jpg",
|
||||
student_id: 82,
|
||||
student_name: "Sathyan"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
async componentDidMount() {
|
||||
await PermissionsAndroid.requestMultiple([
|
||||
PermissionsAndroid.PERMISSIONS.CAMERA,
|
||||
PermissionsAndroid.PERMISSIONS.READ_EXTERNAL_STORAGE,
|
||||
PermissionsAndroid.PERMISSIONS.WRITE_EXTERNAL_STORAGE,
|
||||
]);
|
||||
|
||||
await ArtagModule.ARInitialize().then(async res => {
|
||||
console.log('ARInitialize', res);
|
||||
this.setState({ cameraPermission: true })
|
||||
ARtagEventEmitter.addListener('onChange', this._onChange);
|
||||
});
|
||||
}
|
||||
|
||||
componentWillUnmount() {
|
||||
ARtagEventEmitter.removeListener('onChange', this._onChange);
|
||||
}
|
||||
|
||||
_onChange(result: any) {
|
||||
console.log("result", result);
|
||||
|
||||
}
|
||||
|
||||
render() {
|
||||
if (!this.state.cameraPermission) {
|
||||
return (
|
||||
<>
|
||||
<View style={styles.container}>
|
||||
<Text>Please wait....</Text>
|
||||
</View>
|
||||
</>
|
||||
)
|
||||
} else {
|
||||
return (
|
||||
<ARCameraView {...this.props} style={styles.preview} options={this.state.options} type={this.state.scantype} classes={this.state.classdata} cards={this.state.carddata} onChange={this._onChange} />
|
||||
)
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
const styles = StyleSheet.create({
|
||||
container: {
|
||||
flex: 1,
|
||||
alignItems: 'center',
|
||||
justifyContent: 'center',
|
||||
},
|
||||
|
||||
preview: {
|
||||
alignItems: 'center',
|
||||
backgroundColor: 'transparent',
|
||||
|
||||
top: 0,
|
||||
left: 0,
|
||||
right: 0,
|
||||
bottom: 0,
|
||||
position: 'absolute',
|
||||
width: '100%',
|
||||
height: '100%'
|
||||
},
|
||||
});
|
||||
|
||||
```
|
||||
|
||||
## Contributing
|
||||
|
||||
See the [contributing guide](CONTRIBUTING.md) to learn how to contribute to the repository and the development workflow.
|
||||
|
||||
## License
|
||||
|
||||
MIT
|
||||
|
|
Binary file not shown.
Binary file not shown.
Loading…
Reference in New Issue