1.拍照
cordova plugin add cordova-plugin-camera
先拿到base64图片,然后将base64转成file上传
navigator.camera.getPicture(onSuccess, onFail, { quality: 50, destinationType: Camera.DestinationType.DATA_URL }); function getBlobBydataURI(dataURI, type) { let binary = atob(dataURI.split(',')[1]); let array = []; for (let i = 0; i < binary.length; i++) { array.push(binary.charCodeAt(i)); } return new Blob([new Uint8Array(array)], {type: type}); } function onSuccess(imageData) { let url = "data:image/jpge;base:64,"+imageData; let Blob = getBlobBydataURI(url, 'image/jpeg'); param.append('file', Blob,"file_"+Date.parse(new Date())+".jpeg") param.append('module', 'user') vm.uploading(param);//上传文件的函数 }
2.定位
cordova plugin add cordova-plugin-geolocation
export default {
install: function(Vue, options) {
Vue.watchPosition = function(){
var options = {
maximumAge: 3600000,
timeout: 3000,
enableHighAccuracy: true,
}
var watchID = navigator.geolocation.watchPosition(onSuccess, onError, options);
function onSuccess(position) {
let latitude = position.coords.latitude? position.coords.latitude:''
let longitude = position.coords.longitude? position.coords.longitude:''
localStorage.setItem('latitude',latitude)
localStorage.setItem('longitude',longitude)
// console.log('dingwei')
}
}
}
3.商户协议
cordova plugin add cordova-plugin-customurlscheme --variable URL_SCHEME=URL_SCHEME
4.打开通讯录
cordova plugin add cordova-plugin-contacts
let options = new ContactFindOptions(); options.filter = ""; options.multiple = true; let fields = ["displayName", "phoneNumbers"]; navigator.contacts.find(fields, contactfindSuccess, contactfindError, options); function contactfindSuccess(contacts){ for (var i = 0; i < contacts.length; i++) { let objs = {}; objs.displayName = contacts[i].displayName; objs.phoneNumber = contacts[i].phoneNumbers[0].value; vm.formatContacts.push(objs) } }
5.支付宝
cordova plugin add cordova-plugin-alipay-v2 --variable APP_ID=APP_ID
//form后端返的参数 cordova.plugins.alipay.payment(form, function success(e) { if (e.resultStatus == 9000) { console.log('支付成功') } else if (e.resultStatus == 8000) { console.log('正在支付') } }, function error(e) { console.log('支付失败') });
6.QQ分享
cordova plugin add cordova-plugin-qqsdk
var args = {}; args.client = QQSDK.ClientType.QQ;//QQSDK.ClientType.QQ,QQSDK.ClientType.TIM; args.scene = QQSDK.Scene.QQ;//QQSDK.Scene.QQZone,QQSDK.Scene.Favorite args.title = communityName; args.description = summary; args.image =picurl; args.url = url; QQSDK.shareNews(function () { alert('分享成功') }, function (failReason) { alert('分享失败') }, args);
7.微博分享
cordova plugin add cordova-plugin-weibosdk --variable WEIBO_APP_ID=APP_ID
let args = {}; args.url = Url; args.title = '活动标题'; args.description = '活动详情'; args.image = '图片路径'https://cordova.apache.org/static/img/pluggy.png'; WeiboSDK.shareToWeibo(function () { alert('分享成功') }, function (failReason) { alert('分享失败') }, args);
8.微信
cordova plugin add https://github.com/xu-li/cordova-plugin-wechat --variable wechatappid=APPID
微信支付
let obj = {} obj.mch_id = partnerid obj.prepay_id = prepayid obj.nonce = noncestr obj.timestamp = timestamp obj.sign = sign Wechat.sendPaymentRequest(obj, function () { alert('支付成功') }, function (reason) { alert('支付失败') });
微信分享
Wechat.share({ message: { title: communityName,//分享标题 description: summary,//分享内容简介 thumb: picurl,//图片 media: { type: Wechat.Type.WEBPAGE, webpageUrl: url//跳转路径 } }, scene: Wechat.Scene.TIMELINE//分享朋友圈 //Wechat.Scene.SESSION 分享微信好友 }, function () {
alert('分享成功') }, function (reason) {
alert('分享失败') });
9.启动页
cordova plugin add cordova-plugin-splashscreen
10.极光推送
cordova plugin add jpush-phonegap-plugin --variable APP_KEY=APP_KEY //觉得这个能不能装上完全看人品
设置用户别名,唯一
if(window.JPush){
window.JPush.setAlias({ sequence: 1, alias: vm.user.userPhone},
(result) => {
var sequence = result.sequence
var alias = result.alias
}, (error) => {
var sequence = error.sequence
var errorCode = error.code
})
}
调用
if( window.plugins){
window.setTimeout(function(){
//启动极光推送服务
window.plugins.jPushPlugin.init();
window.plugins.jPushPlugin.setDebugMode(true);
//收到推送信息触发事件
document.addEventListener("jpush.receiveNotification", function (event) {
// alert("receiveNotification:" + event.alert);
}, false);
//打开推送消息触发事件
document.addEventListener("jpush.openNotification", function (event) {
alert("open Notificaiton:" + event.alert);
}, false);
//点击通知栏的回调,在这里编写特定逻辑
window.plugins.jPushPlugin.openNotificationInAndroidCallback = function (data) {
let obj = {
title:data.title, // 标题
alert:data.alert, // 推送信息
param:data.extras['cn.jpush.android.EXTRA'] // 传参
}
alert(JSON.stringify(obj))
}
}, 200);
}