open-index/open-npm huggingface dataset:
npm package: @smart-link/rn-base
Description: ## 安装
Latest version: 1.0.7


# @smart-link/rn-base

## 安装

`$ npm install @smart-link/rn-base --save`


## 引用

```javascript
import RNBase from '@smart-link/rn-base';
```

## 文档

### 一、APK包更新
#### 入参（object）：
- apkUrl: 下载地址
- fileSize：APK包的大小，单位MB
- lastVersion：最新版本号

#### 响应：
- 只有更新失败，才有回调：{"code":"-9999","codeMsg":"更新失败","data":""}

#### 示例：
```javascript
const res = await RNBase.downloadAPK({
    apkUrl: 'https://appstore.caih.com/download/apk?id=2606C1FAA37E43289C834C138B6EEF84',
    fileSize: 123,
    lastVersion: '1.0.1',
});
```

### 二、文件下载
#### 入参（object）：
- fileUrl: 下载地址
- fileName：文件名
- type：文件类型

#### 响应：
- 成功：{"code":"0000","codeMsg":"下载成功", data: '本地地址'}
- 失败：{"code":"-9999","codeMsg":"下载失败","data":""}

#### 示例：
```javascript
const res = await RNBase.downloadFile({
    fileUrl: 'https://www.xxx.com/062d6e3163ad.pdf',
    fileName: '测试文件',
    type: 'pdf',
})
```

### 三、更新原生界面的语言
设置完语言之后，需重启APP。
#### 入参（string）：
- zh: 中文
- en：英文
- lo：老挝
- ...

#### 示例：
```javascript
 RNBase.downloadFile('en')
```

### 四、重启APP
#### 示例：
```javascript
 RNBase.restartApp()
```
npm package: @smart-link/rn-camera
Description: ## 安装
Latest version: 1.0.0

# @smart-link/rn-camera

## 安装

`$ npm install @smart-link/rn-camera --save`

**安卓配置**
> 修改MainActivity.java（android\app\src\main\java\com\caih\smartlink\MainActivity.java）文件，

引入包
```java
import com.caih.smartlink.camera.RNCameraModule;
```
修改onActivityResult（）方法，添加以下代码
```java
if(requestCode == IntentCode.REQUEST_CODE_FOR_SINGLE_FILE) {
     RNCameraModule rnCameraModule = getReactInstanceManager().getCurrentReactContext().getNativeModule(RNCameraModule.class);
     if (rnCameraModule != null) {
            rnCameraModule.onActivityResult(this, requestCode, resultCode, data);
     }
}
```

完整代码
```java
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);

    if(requestCode == IntentCode.REQUEST_CODE_FOR_SINGLE_FILE) {
         RNCameraModule rnCameraModule = getReactInstanceManager().getCurrentReactContext().getNativeModule(RNCameraModule.class);
         if (rnCameraModule != null) {
                rnCameraModule.onActivityResult(this, requestCode, resultCode, data);
         }
    }
}
```

## 引用

```javascript
import RNCamera from '@smart-link/rn-camera';
```

## 文档

### 一、打开相册
选择相册图片，可多选，可编辑图片；

#### 响应：

```json
{
  "code": "0000",
  "codeMsg": "获取照片成功",
  "data": [
    "/storage/emulated/0/Pictures/image-d730c90b-f96d-4f24-82d3-5eadbb8e81c35596692734541823228.jpg",
    "/storage/emulated/0/Pictures/image-df9a5b26-d85e-454c-8365-b457279443694404056309435210300.jpg",
    "/storage/emulated/0/DCIM/Screenshots/Screenshot_2023-08-04-17-40-29-39_e1fb5cab27cdfad49efc623982633bff.jpg"
  ]
}
```

#### 示例：

```javascript
const res = await RNCamera.openAlbum();
```

### 二、打开相机
打开摄像头，拍照、录像；

#### 响应：

```json
{
  "code": "0000",
  "codeMsg": "拍照或录像成功",
  "data": "/storage/emulated/0/DCIM/Camera/IMG_20230913101714078.jpg"
}
```

#### 示例：

```javascript
const res = await RNCamera.openCamera();
```

### 三、选择本地文件
打开本地文件管理库，选择文件，可多选（长按选择的文件，开启多选）；

#### 响应：

```json
{
  "code": "0000",
  "codeMsg": "选择文件成功",
  "data": [
    {
      "fileName": "VID_20230921160455301.mp4",
      "filePath": "/storage/emulated/0/Movies/VID_20230921160455301.mp4 ",
      "size ": "854832 ",
      "uri ": "content: //com.android.providers.media.documents/document/video%3A139993"
    }
  ]
}
```

#### 示例：

```javascript
const res = await RNCamera.chooseFile();
```

### 四、扫二维码
打开摄像头，扫描识别二维码。或者识别本地相册中的二维码

#### 入参（boolean：可选）
- true (默认) 开启识别本地二维码
- false 关闭识别本地二维码

#### 响应：

```json
{
  "code": "0000",
  "codeMsg": "扫码成功",
  "data": "http://www.xxx.com"
}
```

#### 示例：

```javascript
const res = await RNCamera.scanQRCode(false);
```
npm package: @smart-link/rn-devices
Description: ## 安装
Latest version: 1.0.0

# @smart-link/rn-devices

## 安装

`$ npm install @smart-link/rn-devices --save`

## 引用

```javascript
import RNDevices from '@smart-link/rn-devices';
```

## 文档

### 一、获取设备信息

#### 响应：

```json
{
  "code": "0000",
  "codeMsg": "获取设备信息成功",
  "data": {
    "appVersion": "1.0.0",
    "deviceBrand": "OPPO",
    "deviceLanguage": "zh",
    "deviceManufacturer": "OPPO",
    "deviceModel": "PBEM00",
    "deviceName": "PBEM00",
    "deviceVersion": "10"
  }
}
```

#### 示例：

```javascript
const res = await RNDevices.getDeviceInfo();
```

### 二、获取当前位置信息

#### 响应：

```json
{
  "code": "0000",
  "codeMsg": "获取位置信息成功",
  "data": {
    "latitude": 22.749012,
    "longitude": 108.376822,
    "countryName": "中国",
    "locality": "南宁市",
    "street": "广西壮族自治区南宁市良庆区良庆区中国东盟信息港小镇研发中心东50米(秋月 路)"
  }
}
```

#### 示例：

```javascript
const res = await RNDevices.getLocationInfo();
```
npm package: @smart-link/rn-file
Description: ## 安装
Latest version: 1.0.1

# @smart-link/rn-file

## 安装

`$ npm install @smart-link/rn-file --save`

## 引用

```javascript
import RNFile from '@smart-link/rn-file';
```

## 文档

### 一、选择本地应用打开

#### 入参（string）
- 本地路径

#### 示例：

```javascript
RNFile.openFileByOtherAPP('/storage/emulated/0/Download/测试文件.pdf');
```
npm package: @smart-link/rn-im
Description: ```gradle // Top-level build file where you can add configuration options common to all sub-projects/modules. buildscript {     ext {         buildToolsVersion = "33.0.0"         minSdkVersion = 21         compileSdkVersion = 33         targetSdkVersion =
Latest version: 1.1.6

```gradle
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
    ext {
        buildToolsVersion = "33.0.0"
        minSdkVersion = 21
        compileSdkVersion = 33
        targetSdkVersion = 33

        // We use NDK 23 which has both M1 support and is the side-by-side NDK version from AGP.
        ndkVersion = "23.1.7779620"
    }
    repositories {
        google()
        mavenCentral()
        maven {
            allowInsecureProtocol = true
            url 'https://open-im-online.rentsoft.cn:51000/repository/maven2/'
        }
    }
    dependencies {
        classpath("com.android.tools.build:gradle")
        classpath("com.facebook.react:react-native-gradle-plugin")
    }
}
allprojects {
    repositories {
        maven {
            allowInsecureProtocol = true
            url 'https://open-im-online.rentsoft.cn:51000/repository/maven2/'
        }
    }
}
```