跟立讯一样
This commit is contained in:
1894
utils/CLodopfuncs.js
Normal file
1894
utils/CLodopfuncs.js
Normal file
File diff suppressed because it is too large
Load Diff
16
utils/api.js
Normal file
16
utils/api.js
Normal file
@@ -0,0 +1,16 @@
|
||||
import request from './request.js'
|
||||
// 登录
|
||||
export const handLogin = (user, password) => request({
|
||||
url:'mobile/auth/login',
|
||||
data: {
|
||||
username: user,
|
||||
password: password
|
||||
}
|
||||
})
|
||||
|
||||
// 测试状态码报错接口
|
||||
export const handRequest = () => request({
|
||||
url:'getInfo/4',
|
||||
data: {}
|
||||
})
|
||||
|
||||
152
utils/getData2.js
Normal file
152
utils/getData2.js
Normal file
@@ -0,0 +1,152 @@
|
||||
import request from './request.js'
|
||||
|
||||
// 版本更新测试
|
||||
export const pdaUpdate = () => request({
|
||||
url:'api/pda/update'
|
||||
})
|
||||
// export const pdaUpdate = () => {
|
||||
// let res = {
|
||||
// versionName: '1.0.1',
|
||||
// url: 'https://mp-e979e0eb-882b-42b3-a4a1-923ad08ea194.cdn.bspapp.com/cloudstorage/f72ec59f-7b25-487d-a034-fead1b6654c6.apk'
|
||||
// }
|
||||
// return res
|
||||
// }
|
||||
|
||||
// 登录
|
||||
export const handLogin = (user, password) => request({
|
||||
url:'api/hand/login',
|
||||
data: {
|
||||
username: user,
|
||||
password: password
|
||||
}
|
||||
})
|
||||
|
||||
// 菜单
|
||||
export const authority = () => {
|
||||
let res = {
|
||||
sonTree: [
|
||||
{menu_id: '1', imgsrc: 'RF01', name: '呼叫管理', path: '/pages/modules/callmanage'},
|
||||
{menu_id: '2', imgsrc: 'RF02', name: '指令管理', path: '/pages/modules/zlmanage'},
|
||||
{menu_id: '3', imgsrc: 'RF03', name: '任务管理', path: '/pages/modules/taskmanage'},
|
||||
{menu_id: '4', imgsrc: 'RF04', name: '站点管理', path: '/pages/modules/pointmanage'}
|
||||
]
|
||||
}
|
||||
return res
|
||||
}
|
||||
|
||||
/**
|
||||
* 站点管理
|
||||
*/
|
||||
// 1.1查询所有区域信息
|
||||
export const queryArea = () => request({
|
||||
url:'api/hand/queryArea',
|
||||
data: {}
|
||||
})
|
||||
// export const queryArea = () => {
|
||||
// let res = {
|
||||
// result: [{region_code: '1', region_name: 'A1'}, {region_code: '2', region_name: 'A2'}, {region_code: '3', region_name: 'A2'}, {region_code: '4', region_name: 'A10'}]
|
||||
// }
|
||||
// return res
|
||||
// }
|
||||
// 1.2根据区域查询设备编号及状态
|
||||
export const queryPointByArea = (code) => request({
|
||||
url:'api/hand/queryPointByArea',
|
||||
data: {
|
||||
areaCode: code
|
||||
}
|
||||
})
|
||||
// export const queryPointByArea = () => {
|
||||
// let res = {
|
||||
// result: [{
|
||||
// device_code: '1',
|
||||
// device_name: 'JLDFJLLJ',
|
||||
// source_device: 'FAL3LAA01',
|
||||
// status: '1'
|
||||
// }, {
|
||||
// device_code: '12',
|
||||
// device_name: 'JLDFJLLJ'
|
||||
// }, {
|
||||
// device_code: '13',
|
||||
// device_name: 'JLDFJLLJ'
|
||||
// }, {
|
||||
// device_code: '14',
|
||||
// device_name: 'JLDFJLLJ'
|
||||
// }, {
|
||||
// device_code: '15',
|
||||
// device_name: 'JLDFJLLJ'
|
||||
// }, {
|
||||
// device_code: '16',
|
||||
// device_name: 'JLDFJLLJ'
|
||||
// }, {
|
||||
// device_code: '17',
|
||||
// device_name: 'JLDFJLLJ'
|
||||
// }]
|
||||
// }
|
||||
// return res
|
||||
// }
|
||||
|
||||
/**
|
||||
* 呼叫管理
|
||||
*/
|
||||
// 1.1创建任务(确定起点)
|
||||
export const callTask = (scodes, code) => request({
|
||||
url:'api/hand/callTask',
|
||||
data: {
|
||||
start_device_codes: scodes,
|
||||
next_device_code: code
|
||||
}
|
||||
})
|
||||
|
||||
/**
|
||||
* 指令管理
|
||||
*/
|
||||
// 1.1查询未完成指令
|
||||
export const queryInstraction = (keyword, scode, ncode) => request({
|
||||
url:'api/hand/insts',
|
||||
data: {
|
||||
keyword: keyword,
|
||||
start_devicecode: scode,
|
||||
next_devicecode: ncode
|
||||
}
|
||||
})
|
||||
//1.2 指令操作
|
||||
export const instOperation = (uuid, type) => request({
|
||||
url:'api/hand/inst',
|
||||
data: {
|
||||
inst_uuid: uuid,
|
||||
type: type
|
||||
}
|
||||
})
|
||||
|
||||
/**
|
||||
* 任务管理
|
||||
*/
|
||||
// 1.1 查询未完成指令
|
||||
export const queryTask = (keyword, scode, ncode) => request({
|
||||
url:'api/hand/tasks',
|
||||
data: {
|
||||
keyword: keyword,
|
||||
start_devicecode: scode,
|
||||
next_devicecode: ncode
|
||||
}
|
||||
})
|
||||
// 1.2 指令操作
|
||||
export const taskOperation = (uuid, type) => request({
|
||||
url:'api/hand/taskoperation',
|
||||
data: {
|
||||
inst_uuid: uuid,
|
||||
type: type
|
||||
}
|
||||
})
|
||||
|
||||
/**
|
||||
* 站点管理
|
||||
*/
|
||||
// 点位状态绑定
|
||||
export const bindpoint = (code, status) => request({
|
||||
url:'api/hand/bindpoint',
|
||||
data: {
|
||||
device_code: code,
|
||||
status: status
|
||||
}
|
||||
})
|
||||
12
utils/jsencrypt.js
Normal file
12
utils/jsencrypt.js
Normal file
@@ -0,0 +1,12 @@
|
||||
import JSEncrypt from '../node_modules/jsencrypt/bin/jsencrypt.js'
|
||||
let publicKey = 'MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBANL378k3RiZHWx5AfJqdH9xRNBmD9wGD\n' +
|
||||
'2iRe41HdTNF8RUhNnHit5NpMNtGL0NPTSSpPjjI1kJfVorRvaQerUgkCAwEAAQ==';
|
||||
function RSAencrypt(pas){
|
||||
//实例化jsEncrypt对象
|
||||
let jse = new JSEncrypt();
|
||||
//设置公钥
|
||||
jse.setPublicKey(publicKey);
|
||||
return jse.encrypt(pas);
|
||||
}
|
||||
|
||||
export {RSAencrypt}
|
||||
5373
utils/jsencrypt2.js
Normal file
5373
utils/jsencrypt2.js
Normal file
File diff suppressed because it is too large
Load Diff
245
utils/permission.js
Normal file
245
utils/permission.js
Normal file
@@ -0,0 +1,245 @@
|
||||
/// null = 未请求,1 = 已允许,0 = 拒绝|受限, 2 = 系统未开启
|
||||
|
||||
var isIOS
|
||||
|
||||
function album() {
|
||||
var result = 0;
|
||||
var PHPhotoLibrary = plus.ios.import("PHPhotoLibrary");
|
||||
var authStatus = PHPhotoLibrary.authorizationStatus();
|
||||
if (authStatus === 0) {
|
||||
result = null;
|
||||
} else if (authStatus == 3) {
|
||||
result = 1;
|
||||
} else {
|
||||
result = 0;
|
||||
}
|
||||
plus.ios.deleteObject(PHPhotoLibrary);
|
||||
return result;
|
||||
}
|
||||
|
||||
function camera() {
|
||||
var result = 0;
|
||||
var AVCaptureDevice = plus.ios.import("AVCaptureDevice");
|
||||
var authStatus = AVCaptureDevice.authorizationStatusForMediaType('vide');
|
||||
if (authStatus === 0) {
|
||||
result = null;
|
||||
} else if (authStatus == 3) {
|
||||
result = 1;
|
||||
} else {
|
||||
result = 0;
|
||||
}
|
||||
plus.ios.deleteObject(AVCaptureDevice);
|
||||
return result;
|
||||
}
|
||||
|
||||
function location() {
|
||||
var result = 0;
|
||||
var cllocationManger = plus.ios.import("CLLocationManager");
|
||||
var enable = cllocationManger.locationServicesEnabled();
|
||||
var status = cllocationManger.authorizationStatus();
|
||||
if (!enable) {
|
||||
result = 2;
|
||||
} else if (status === 0) {
|
||||
result = null;
|
||||
} else if (status === 3 || status === 4) {
|
||||
result = 1;
|
||||
} else {
|
||||
result = 0;
|
||||
}
|
||||
plus.ios.deleteObject(cllocationManger);
|
||||
return result;
|
||||
}
|
||||
|
||||
function push() {
|
||||
var result = 0;
|
||||
var UIApplication = plus.ios.import("UIApplication");
|
||||
var app = UIApplication.sharedApplication();
|
||||
var enabledTypes = 0;
|
||||
if (app.currentUserNotificationSettings) {
|
||||
var settings = app.currentUserNotificationSettings();
|
||||
enabledTypes = settings.plusGetAttribute("types");
|
||||
if (enabledTypes == 0) {
|
||||
result = 0;
|
||||
console.log("推送权限没有开启");
|
||||
} else {
|
||||
result = 1;
|
||||
console.log("已经开启推送功能!")
|
||||
}
|
||||
plus.ios.deleteObject(settings);
|
||||
} else {
|
||||
enabledTypes = app.enabledRemoteNotificationTypes();
|
||||
if (enabledTypes == 0) {
|
||||
result = 3;
|
||||
console.log("推送权限没有开启!");
|
||||
} else {
|
||||
result = 4;
|
||||
console.log("已经开启推送功能!")
|
||||
}
|
||||
}
|
||||
plus.ios.deleteObject(app);
|
||||
plus.ios.deleteObject(UIApplication);
|
||||
return result;
|
||||
}
|
||||
|
||||
function contact() {
|
||||
var result = 0;
|
||||
var CNContactStore = plus.ios.import("CNContactStore");
|
||||
var cnAuthStatus = CNContactStore.authorizationStatusForEntityType(0);
|
||||
if (cnAuthStatus === 0) {
|
||||
result = null;
|
||||
} else if (cnAuthStatus == 3) {
|
||||
result = 1;
|
||||
} else {
|
||||
result = 0;
|
||||
}
|
||||
plus.ios.deleteObject(CNContactStore);
|
||||
return result;
|
||||
}
|
||||
|
||||
function record() {
|
||||
var result = null;
|
||||
var avaudiosession = plus.ios.import("AVAudioSession");
|
||||
var avaudio = avaudiosession.sharedInstance();
|
||||
var status = avaudio.recordPermission();
|
||||
console.log("permissionStatus:" + status);
|
||||
if (status === 1970168948) {
|
||||
result = null;
|
||||
} else if (status === 1735552628) {
|
||||
result = 1;
|
||||
} else {
|
||||
result = 0;
|
||||
}
|
||||
plus.ios.deleteObject(avaudiosession);
|
||||
return result;
|
||||
}
|
||||
|
||||
function calendar() {
|
||||
var result = null;
|
||||
var EKEventStore = plus.ios.import("EKEventStore");
|
||||
var ekAuthStatus = EKEventStore.authorizationStatusForEntityType(0);
|
||||
if (ekAuthStatus == 3) {
|
||||
result = 1;
|
||||
console.log("日历权限已经开启");
|
||||
} else {
|
||||
console.log("日历权限没有开启");
|
||||
}
|
||||
plus.ios.deleteObject(EKEventStore);
|
||||
return result;
|
||||
}
|
||||
|
||||
function memo() {
|
||||
var result = null;
|
||||
var EKEventStore = plus.ios.import("EKEventStore");
|
||||
var ekAuthStatus = EKEventStore.authorizationStatusForEntityType(1);
|
||||
if (ekAuthStatus == 3) {
|
||||
result = 1;
|
||||
console.log("备忘录权限已经开启");
|
||||
} else {
|
||||
console.log("备忘录权限没有开启");
|
||||
}
|
||||
plus.ios.deleteObject(EKEventStore);
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
function requestIOS(permissionID) {
|
||||
return new Promise((resolve, reject) => {
|
||||
switch (permissionID) {
|
||||
case "push":
|
||||
resolve(push());
|
||||
break;
|
||||
case "location":
|
||||
resolve(location());
|
||||
break;
|
||||
case "record":
|
||||
resolve(record());
|
||||
break;
|
||||
case "camera":
|
||||
resolve(camera());
|
||||
break;
|
||||
case "album":
|
||||
resolve(album());
|
||||
break;
|
||||
case "contact":
|
||||
resolve(contact());
|
||||
break;
|
||||
case "calendar":
|
||||
resolve(calendar());
|
||||
break;
|
||||
case "memo":
|
||||
resolve(memo());
|
||||
break;
|
||||
default:
|
||||
resolve(0);
|
||||
break;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function requestAndroid(permissionID) {
|
||||
return new Promise((resolve, reject) => {
|
||||
plus.android.requestPermissions(
|
||||
[permissionID],
|
||||
function(resultObj) {
|
||||
var result = 0;
|
||||
for (var i = 0; i < resultObj.granted.length; i++) {
|
||||
var grantedPermission = resultObj.granted[i];
|
||||
console.log('已获取的权限:' + grantedPermission);
|
||||
result = 1
|
||||
}
|
||||
for (var i = 0; i < resultObj.deniedPresent.length; i++) {
|
||||
var deniedPresentPermission = resultObj.deniedPresent[i];
|
||||
console.log('拒绝本次申请的权限:' + deniedPresentPermission);
|
||||
result = 0
|
||||
}
|
||||
for (var i = 0; i < resultObj.deniedAlways.length; i++) {
|
||||
var deniedAlwaysPermission = resultObj.deniedAlways[i];
|
||||
console.log('永久拒绝申请的权限:' + deniedAlwaysPermission);
|
||||
result = -1
|
||||
}
|
||||
resolve(result);
|
||||
},
|
||||
function(error) {
|
||||
console.log('result error: ' + error.message)
|
||||
resolve({
|
||||
code: error.code,
|
||||
message: error.message
|
||||
});
|
||||
}
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
function gotoAppPermissionSetting() {
|
||||
if (permission.isIOS) {
|
||||
var UIApplication = plus.ios.import("UIApplication");
|
||||
var application2 = UIApplication.sharedApplication();
|
||||
var NSURL2 = plus.ios.import("NSURL");
|
||||
var setting2 = NSURL2.URLWithString("app-settings:");
|
||||
application2.openURL(setting2);
|
||||
plus.ios.deleteObject(setting2);
|
||||
plus.ios.deleteObject(NSURL2);
|
||||
plus.ios.deleteObject(application2);
|
||||
} else {
|
||||
var Intent = plus.android.importClass("android.content.Intent");
|
||||
var Settings = plus.android.importClass("android.provider.Settings");
|
||||
var Uri = plus.android.importClass("android.net.Uri");
|
||||
var mainActivity = plus.android.runtimeMainActivity();
|
||||
var intent = new Intent();
|
||||
intent.setAction(Settings.ACTION_APPLICATION_DETAILS_SETTINGS);
|
||||
var uri = Uri.fromParts("package", mainActivity.getPackageName(), null);
|
||||
intent.setData(uri);
|
||||
mainActivity.startActivity(intent);
|
||||
}
|
||||
}
|
||||
|
||||
const permission = {
|
||||
get isIOS(){
|
||||
return typeof isIOS === 'boolean' ? isIOS : (isIOS = uni.getSystemInfoSync().platform === 'ios')
|
||||
},
|
||||
requestIOS: requestIOS,
|
||||
requestAndroid: requestAndroid,
|
||||
gotoAppSetting: gotoAppPermissionSetting
|
||||
}
|
||||
|
||||
export default permission
|
||||
78
utils/request.js
Normal file
78
utils/request.js
Normal file
@@ -0,0 +1,78 @@
|
||||
import store from '@/vuex/store'
|
||||
const request = (params) => {
|
||||
let _self = this;
|
||||
let url = params.url;
|
||||
let method = params.method || 'POST';
|
||||
let data = params.data || {};
|
||||
// let token = ''
|
||||
// if (store.getters.saveToken !== '') {
|
||||
// token = store.getters.saveToken
|
||||
// }
|
||||
let defaultOpot = {
|
||||
'Terminal-Type': 'innerH5',
|
||||
'Content-Type': 'application/json;charset=UTF-8',
|
||||
}
|
||||
let header = {}
|
||||
method = method.toUpperCase()
|
||||
if (method == 'POST') {
|
||||
header = {
|
||||
'Content-Type': 'application/json;charset=UTF-8'
|
||||
// 'Authorization': token
|
||||
}
|
||||
}
|
||||
const requestUrl = `${store.getters.baseUrl}/` + url;
|
||||
uni.showLoading({
|
||||
title: '加载中...'
|
||||
});
|
||||
return new Promise((resolve, reject) => {
|
||||
uni.request({
|
||||
url: requestUrl,
|
||||
method: method,
|
||||
header: Object.assign({}, defaultOpot, header),
|
||||
data: data,
|
||||
dataType: 'json',
|
||||
})
|
||||
.then(res => { // 成功
|
||||
if (res.length === 1) {
|
||||
uni.showModal({
|
||||
content: 'request:fail',
|
||||
showCancel: false
|
||||
})
|
||||
reject('request:fail')
|
||||
} else if (res[1] && res[1].statusCode === 400) {
|
||||
uni.showModal({
|
||||
content: res[1].data.message,
|
||||
showCancel: false
|
||||
})
|
||||
reject(res[1].data.message)
|
||||
} else if (res[1] && res[1].statusCode === 401) {
|
||||
uni.showModal({
|
||||
content: res[1].data.message,
|
||||
showCancel: false
|
||||
})
|
||||
store.dispatch('delUserInfo')
|
||||
uni.redirectTo({
|
||||
url: '/pages/login/login'
|
||||
})
|
||||
} else if (res[1] && res[1].statusCode === 200) {
|
||||
let {
|
||||
data: dataType
|
||||
} = res[1]
|
||||
resolve(dataType)
|
||||
}else {
|
||||
uni.showModal({
|
||||
content: res[1].data.message,
|
||||
showCancel: false
|
||||
})
|
||||
reject(res[1].data.message)
|
||||
}
|
||||
})
|
||||
.catch(err => { // 错误
|
||||
reject(err)
|
||||
})
|
||||
.finally(() => {
|
||||
uni.hideLoading();
|
||||
})
|
||||
})
|
||||
}
|
||||
export default request
|
||||
Reference in New Issue
Block a user