# @alitajs/cordova-native
> 由于这个包不常用,又和 `native` 冲突,因此将这个包改名为 `@alitajs/cordova-native` ,相应的配置和命令也修改为 `cordovanative`。
## 支持配置的插件
`camera`, `device`, `dialogs`, `file`, `geolocation`, `inappbrowser`, `media`, `media-capture`, `keyboard`, `secure-storage`, `network`, `screen-orientation`, `statusbar`, `vibration`, `document-viewer`, `file-opener`, `fingerprint-aio`, `native-storage`, `qr-scanner`, `sqlite-storage`,
## 用法
`config/config.ts`
```
export default {
appType: 'cordova',
cordovanative: ['file', 'device', 'camera', 'qr-scanner'], // 数组里的名字只能用上面的插件名
};
```
在项目根目录运行
```shell
alita cordovanative
```
## 各插件用法
### camera
相机组件,可用来拍照等
对应的 `cordova` 插件: [cordova-plugin-camera](https://cordova.apache.org/docs/en/latest/reference/cordova-plugin-camera/index.html)
`config.xml` 配置
```xml
<edit-config target="NSCameraUsageDescription" file="*-Info.plist" mode="merge">
<string>need camera access to take pictures</string>
</edit-config>
<edit-config target="NSPhotoLibraryUsageDescription" file="*-Info.plist" mode="merge">
<string>need photo library access to get pictures from there</string>
</edit-config>
<edit-config target="NSLocationWhenInUseUsageDescription" file="*-Info.plist" mode="merge">
<string>need location access to find things nearby</string>
</edit-config>
<edit-config target="NSPhotoLibraryAddUsageDescription" file="*-Info.plist" mode="merge">
<string>need photo library access to save pictures there</string>
</edit-config>
```
用法
```js
import { Camera, CameraOptions } from '@ionic-native/camera';
const options: CameraOptions = {
quality: 100,
destinationType: Camera.DestinationType.FILE_URI,
encodingType: Camera.EncodingType.JPEG,
mediaType: Camera.MediaType.PICTURE,
};
Camera.getPicture(options).then(
(imageData) => {
// imageData is either a base64 encoded string or a file URI
// If it's base64 (DATA_URL):
let base64Image = 'data:image/jpeg;base64,' + imageData;
},
(err) => {
// Handle error
},
);
```
### device
用于获取设备信息,比如 platform, uuid, version 等
对应的 `cordova` 插件: [cordova-plugin-device](https://cordova.apache.org/docs/en/latest/reference/cordova-plugin-device/index.html)
用法
```js
import { Device } from '@ionic-native/device';
...
console.log('Device UUID is: ' + Device.uuid);
```
### dialogs
弹窗组件
对应的 `cordova` 插件: [cordova-plugin-dialogs](https://cordova.apache.org/docs/en/latest/reference/cordova-plugin-dialogs/index.html)
用法
```js
import { Dialogs } from '@ionic-native/dialogs';
Dialogs.alert('Hello world')
.then(() => console.log('Dialog dismissed'))
.catch((e) => console.log('Error displaying dialog', e));
```
### file
文件组件,用于读写原生文件系统
对应的 `cordova` 插件: [cordova-plugin-file](https://cordova.apache.org/docs/en/latest/reference/cordova-plugin-file/index.html)
用法
```typescript
import { File } from '@ionic-native/file';
File.checkDir(File.dataDirectory, 'mydir').then(_ => console.log('Directory exists')).catch(err =>
console.log('Directory doesn't exist'));
```
### secure-storage
调原生方法加密保存数据
对应的 `cordova` 插件: [cordova-plugin-secure-storage](https://github.com/Crypho/cordova-plugin-secure-storage)
`config.xml` 配置
```xml
<platform name="ios">
<preference name="KeychainAccessibility" value="WhenUnlocked"/>
</platform>
```
支持的配置:
```
AfterFirstUnlock
AfterFirstUnlockThisDeviceOnly
WhenUnlocked (default)
WhenUnlockedThisDeviceOnly
WhenPasscodeSetThisDeviceOnly (this option is available only on iOS8 and later)
```
用法
```typescript
import {
SecureStorage,
SecureStorageObject,
} from '@ionic-native/secure-storage';
SecureStorage.create('my_store_name').then((storage: SecureStorageObject) => {
storage.get('key').then(
(data) => console.log(data),
(error) => console.log(error),
);
storage.set('key', 'value').then(
(data) => console.log(data),
(error) => console.log(error),
);
storage.remove('key').then(
(data) => console.log(data),
(error) => console.log(error),
);
});
```
### geolocation
获取当前位置组件
对应的 `cordova` 插件: [cordova-plugin-geolocation](https://cordova.apache.org/docs/en/latest/reference/cordova-plugin-geolocation/index.html)
- ios
```xml
<edit-config target="NSLocationWhenInUseUsageDescription" file="*-Info.plist" mode="merge">
<string>need location access to find things nearby</string>
</edit-config>
```
用法
```typescript
import { Geolocation } from '@ionic-native/geolocation';
Geolocation.getCurrentPosition()
.then((resp) => {
// resp.coords.latitude
// resp.coords.longitude
})
.catch((error) => {
console.log('Error getting location', error);
});
let watch = Geolocation.watchPosition();
watch.subscribe((data) => {
// data can be a set of coordinates, or an error (if an error occurred).
// data.coords.latitude
// data.coords.longitude
});
```
### inappbrowser
应用内浏览器组件
对应的 `cordova` 插件: [cordova-plugin-inappbrowser](https://cordova.apache.org/docs/en/latest/reference/cordova-plugin-inappbrowser/index.html)
```typescript
import { InAppBrowser } from '@ionic-native/in-app-browser';
const browser = InAppBrowser.create('https://ionicframework.com/');
browser.executeScript(...);
browser.insertCSS(...);
browser.on('loadstop').subscribe(event => {
browser.insertCSS({ code: "body{color: red;" });
});
browser.close();
```
### media
音频播放、录制组件
对应的 `cordova` 插件: [cordova-plugin-media](https://cordova.apache.org/docs/en/latest/reference/cordova-plugin-media/index.html)
用法
```typescript
import { Media, MediaObject } from '@ionic-native/media';
// Create a Media instance. Expects path to file or url as argument
// We can optionally pass a second argument to track the status of the media
const file: MediaObject = Media.create('file.mp3');
// to listen to plugin events:
file.onStatusUpdate.subscribe((status) => console.log(status)); // fires when file status changes
file.onSuccess.subscribe(() => console.log('Action is successful'));
file.onError.subscribe((error) => console.log('Error!', error));
// play the file
file.play();
// pause the file
file.pause();
// get current playback position
file.getCurrentPosition().then((position) => {
console.log(position);
});
// get file duration
let duration = file.getDuration();
console.log(duration);
// skip to 10 seconds (expects int value in ms)
file.seekTo(10000);
// stop playing the file
file.stop();
// release the native audio resource
// Platform Quirks:
// iOS simply create a new instance and the old one will be overwritten
// Android you must call release() to destroy instances of media when you are done
file.release();
// Recording to a file
const file: MediaObject = Media.create('path/to/file.mp3');
file.startRecord();
file.stopRecord();
```
### media-capture
照片、音频、视频录制组件
对应的 `cordova` 插件: [cordova-plugin-media-capture](https://github.com/apache/cordova-plugin-media-capture)
- ios 配置
```xml
<edit-config target="NSCameraUsageDescription" file="*-Info.plist" mode="merge">
<string>need camera access to take pictures</string>
</edit-config>
<edit-config target="NSMicrophoneUsageDescription" file="*-Info.plist" mode="merge">
<string>need microphone access to record sounds</string>
</edit-config>
<edit-config target="NSPhotoLibraryUsageDescription" file="*-Info.plist" mode="merge">
<string>need to photo library access to get pictures from there</string>
</edit-config>
```
用法
```typescript
import {
MediaCapture,
MediaFile,
CaptureError,
CaptureImageOptions,
} from '@ionic-native/media-capture';
let opti
没有合适的资源?快使用搜索试试~ 我知道了~
Alita基于Umi的场景化框架 v2.9.0.zip
共405个文件
ts:140个
js:56个
tsx:42个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 67 浏览量
2024-03-18
21:21:41
上传
评论
收藏 3.35MB ZIP 举报
温馨提示
Alita基于Umi的场景化框架 v2.9.0.zip
资源推荐
资源详情
资源评论
收起资源包目录
Alita基于Umi的场景化框架 v2.9.0.zip (405个子文件)
.all-contributorsrc 2KB
index.css 59B
index.css 59B
index.css 59B
index.css 59B
index.css 59B
index.css 59B
a.css 0B
.editorconfig 245B
.editorconfig 245B
.eslintignore 26B
.eslintignore 26B
.eslintignore 26B
.gitignore 260B
.gitignore 260B
.gitignore 260B
.gitignore 174B
.gitkeep 0B
.gitkeep 0B
.gitmodules 296B
说明.htm 4KB
web-framework.js 1.53MB
release.js 5KB
useRequest.test.js 3KB
adaptor.test.js 3KB
normal.test.js 2KB
index.test.js 2KB
bootstrap.js 2KB
createTestServer.js 2KB
interceptors.test.js 2KB
message.test.js 967B
verifyCommit.js 909B
verifyCommit.js 874B
verifyCommit.js 874B
git.js 872B
verifyCommit.js 868B
cnpm.js 848B
changelog.js 758B
exec.js 499B
getLayoutContent.test.js 361B
jest.config.js 360B
getPackages.js 235B
index.js 207B
.eslintrc.js 184B
.eslintrc.js 184B
.eslintrc.js 184B
index.js 177B
index.js 177B
index.js 177B
index.js 177B
index.js 177B
index.js 175B
home.js 175B
index.js 163B
isNextVersion.js 155B
antd.js 117B
index.js 111B
index.js 96B
.stylelintrc.js 87B
.stylelintrc.js 87B
.stylelintrc.js 87B
.prettierrc.js 86B
.prettierrc.js 86B
.prettierrc.js 86B
.umirc.js 65B
.umirc.js 45B
.umirc.js 44B
create-alita.js 44B
alita.js 44B
.umirc.js 38B
.umirc.js 38B
a_valid.js 36B
b_invalid.js 34B
b.js 32B
.umirc.js 24B
.umirc.js 23B
no_content.js 0B
package.json 2KB
fetch.json 1KB
package.json 1KB
package.json 1KB
package.json 975B
package.json 879B
package.json 832B
tsconfig.json 815B
tsconfig.json 815B
tsconfig.json 815B
package.json 775B
package.json 769B
package.json 754B
package.json 752B
package.json 740B
package.json 728B
package.json 717B
package.json 702B
package.json 686B
package.json 681B
package.json 679B
package.json 673B
package.json 671B
共 405 条
- 1
- 2
- 3
- 4
- 5
资源评论
芝麻粒儿
- 粉丝: 6w+
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功