Commit a2657325 by zhongqm

update:跳转天眼云

parent b42d75da
...@@ -30,7 +30,8 @@ var webpackConfig = merge(baseWebpackConfig, { ...@@ -30,7 +30,8 @@ var webpackConfig = merge(baseWebpackConfig, {
plugins: [ plugins: [
// http://vuejs.github.io/vue-loader/en/workflow/production.html // http://vuejs.github.io/vue-loader/en/workflow/production.html
new webpack.DefinePlugin({ new webpack.DefinePlugin({
'process.env': env 'process.env': env,
'process.env.PACK_ENV': JSON.stringify(process.env.PACK_ENV)
}), }),
new webpack.optimize.UglifyJsPlugin({ new webpack.optimize.UglifyJsPlugin({
compress: { compress: {
......
;(function (global) { ;(function (global) {
var qing = global.qing var qing = global.qing
var appMap = { var appMap = {
'com.jffc.gc-bak': '500000106', 'com.cnd.jffc.tyypt': process.env.PACK_ENV === 'test' ? '500000155' : '',
'com.jffc.gc': '500000113', }
'com.jffc.supplier': '500000112'
}
function isObject (value) { console.log('appMap>>',appMap)
return value !== null && typeof value === 'object'
}
var qingPromise = function (fnName, params) { function isObject(value) {
return new Promise(function (resolve, reject) { return value !== null && typeof value === 'object'
var originSuccess = params.success
var originError = params.error
var opt = Object.assign(params, {
success: function (res) {
if (originSuccess) {
originSuccess(res)
}
resolve(res)
},
error: function (e) {
if (originError) {
originError(e)
}
reject(e)
}
})
qing.call(fnName, opt)
})
}
// 根据“工号”查询【工号、eid、orgId】等信息
function getPersonInfosByJobNo(jobNos) {
var opt = {
url: '/gateway/xmjf-other-service/person/role/query/jobNo',
serializer: 'form',
method: 'POST',
headers: {
'Content-Type': 'application/x-www-form-urlencoded',
'Cloudoffice-Version': 'v0.0.1'
},
data: {
jobNos: jobNos.join(',')
}
} }
return new Promise(function (resolve, reject) {
opt.success = function (result) {
var success = (result || {}).success || false
var data = (result || {}).data || []
if (String(success).toLowerCase() !== 'true' || data.length === 0) {
reject(result.error || '获取人员信息失败!')
return
}
resolve(result.data)
}
opt.error = function (e) {
reject(e)
}
qing.call('request', opt)
})
}
// 根据openId查询【工号、eid、orgId】等信息 var qingPromise = function (fnName, params) {
function getPersonInfosByoIds(oIds) { return new Promise(function (resolve, reject) {
var opt = { var originSuccess = params.success
url: '/gateway/xmjf-other-service/person/role/query/oId', var originError = params.error
serializer: 'form', var opt = Object.assign(params, {
method: 'POST', success: function (res) {
headers: { if (originSuccess) {
'Content-Type': 'application/x-www-form-urlencoded', originSuccess(res)
'Cloudoffice-Version': 'v0.0.1' }
}, resolve(res)
data: { },
oIds: oIds.join(',') error: function (e) {
} if (originError) {
originError(e)
}
reject(e)
}
})
qing.call(fnName, opt)
})
} }
return new Promise(function (resolve, reject) {
opt.success = function (result) {
var success = (result || {}).success
var data = (result || {}).data || []
if (String(success).toLowerCase() !== 'true' || data.length === 0) {
reject(result.error || '获取人员信息失败!')
return
}
resolve(result.data)
}
opt.error = function (e) {
reject(e)
}
qing.call('request', opt)
})
}
// 通过qingjs选人 // 根据“工号”查询【工号、eid、orgId】等信息
function selectPersonByQing(selected, isMulti) { function getPersonInfosByJobNo(jobNos) {
return new Promise(function (resolve, reject) { var opt = {
qing.call('selectPersons', { url: '/gateway/xmjf-other-service/person/role/query/jobNo',
isMulti: isMulti, serializer: 'form',
selected: selected, method: 'POST',
success: function (result) { headers: {
var success = (result || {}).success || false 'Content-Type': 'application/x-www-form-urlencoded',
var persons = ((result || {}).data || {}).persons || [] 'Cloudoffice-Version': 'v0.0.1'
if ( },
String(success).toLowerCase() !== 'true' || data: {
persons.length === 0 jobNos: jobNos.join(',')
) { }
reject(result.error || '请选择人员后再提交')
return
}
resolve(persons)
} }
}) return new Promise(function (resolve, reject) {
}) opt.success = function (result) {
} var success = (result || {}).success || false
var data = (result || {}).data || []
// 将人员信息转化成美信的 if (String(success).toLowerCase() !== 'true' || data.length === 0) {
function formatData2Mx(persons) { reject(result.error || '获取人员信息失败!')
// openId和人员的映射关系 return
var personMap = {} }
var openIds = persons.map(function (p) { resolve(result.data)
// 将云之家的人员字段与美信的人员字段映射起来 }
p.telephonenumber = p.phone opt.error = function (e) {
p.cn = p.name reject(e)
p.positionname = p.jobTitle }
p.mobile = p.phone qing.call('request', opt)
// 创建缓存,方便后续根据openId查询人员信息
var openId = p.openId
personMap[openId] = p
return openId
})
return getPersonInfosByoIds(openIds).then(function (ids) {
var persons = ids.map(function (personIds) {
var openId = personIds.oId
var jobNo = personIds.jobNo
// 从缓存里面查询对应人员
var p = personMap[openId]
// 更新工号
p.uid = jobNo
p.jobNo = jobNo
return p
})
return persons
})
}
// 选人
function selectPersons(selected, isMulti, successFn, failFn) {
// 将传入的工号转为openId
var selectedPromise = Promise.resolve([])
if (selected && selected.length) {
selectedPromise = getPersonInfosByJobNo(selected)
}
// 根据openId选人
selectedPromise
.then(function (persons) {
var oIds = persons.map(function (p) {
return p.oId
})
return selectPersonByQing(oIds, isMulti)
})
.then(function (persons) {
// 格式化选人信息
return formatData2Mx(persons)
})
.then(function (persons) {
successFn({
result: true,
array: persons
})
})
.catch(function () {
failFn({
result: false,
array: []
}) })
})
}
// 获取当前用户信息
function getCurrentUserInfo(callback) {
var opt = {
url: '/gateway/xmjf-other-service/person/role/save/person',
method: 'POST',
headers: {
'Cloudoffice-Version': 'v0.0.1'
},
data: {},
success: callback
} }
qing.call('request', opt)
}
function openAppWithData (appName, data, url) {
var val = ''
if (isObject(data)) {
data = JSON.stringify(data)
// 针对json数据格式化来的字符串添加特殊标识,方便后续还原
data = '__json__=' + data
}
if (typeof data === 'string') {
// IOS有个奇葩的设计,把双引号转单引号输出了,所以需要将单引号,双引号在保存前特殊处理,然后再还原。
val = data.replace(/'/gm, '∆∆').replace(/"/gm, 'åå')
}
val = encodeURIComponent(val)
return new Promise(function (resolve, reject) {
qing.call('storage.setItem', {
shared: true,
key: appName,
value: val,
success: function (res) {
if (String(res.success).toLowerCase() === 'true') {
qing.call('gotoLightApp', {
urlParam: url
})
resolve(true)
} else {
reject(res.error)
}
},
error: function (e) {
reject(e)
}
})
})
}
var handlers = { // 根据openId查询【工号、eid、orgId】等信息
MIDEACOMMON: { function getPersonInfosByoIds(oIds) {
launchExternalAPPByThird: function (params, successFn, failFn) { var opt = {
params = params || [] url: '/gateway/xmjf-other-service/person/role/query/oId',
if (!params.length) { serializer: 'form',
failFn('未检测到要打开应用的包名!') method: 'POST',
return headers: {
} 'Content-Type': 'application/x-www-form-urlencoded',
let scheme = params[0] 'Cloudoffice-Version': 'v0.0.1'
if (!scheme) { },
failFn('未检测到要打开应用的包名!') data: {
return oIds: oIds.join(',')
}
} }
// 针对scheme可能丢失尾部的://的情况进行追加 return new Promise(function (resolve, reject) {
scheme = `${scheme}://` opt.success = function (result) {
scheme = scheme.replace('://://', '://') var success = (result || {}).success
qing.call('gotoApp', { var data = (result || {}).data || []
data: `${scheme}p?`, if (String(success).toLowerCase() !== 'true' || data.length === 0) {
success: function (result) { reject(result.error || '获取人员信息失败!')
const success = (result || {}).success || false return
if (`${success}`.toLowerCase() === 'true') { }
successFn(true) resolve(result.data)
} else { }
failFn('打开应用失败!') opt.error = function (e) {
reject(e)
} }
}, qing.call('request', opt)
error: function () {
failFn('打开应用失败!')
}
}) })
}, }
setBounces: function (p, successFn, failFn) {
p = p || [0]
var enable = p[0]
var map = {
'0': 0,
'1': 1
}
qing.call('setBounce', { // 通过qingjs选人
enable: map[`${enable}`] || 0 function selectPersonByQing(selected, isMulti) {
return new Promise(function (resolve, reject) {
qing.call('selectPersons', {
isMulti: isMulti,
selected: selected,
success: function (result) {
var success = (result || {}).success || false
var persons = ((result || {}).data || {}).persons || []
if (
String(success).toLowerCase() !== 'true' ||
persons.length === 0
) {
reject(result.error || '请选择人员后再提交')
return
}
resolve(persons)
}
})
}) })
successFn('success') }
},
exit: function (p, successFn, failFn) { // 将人员信息转化成美信的
qing.call('closeWebView') function formatData2Mx(persons) {
successFn('success') // openId和人员的映射关系
}, var personMap = {}
openSysBrowser: function (urls, successFn, failFn) { var openIds = persons.map(function (p) {
var u = urls || [] // 将云之家的人员字段与美信的人员字段映射起来
if (!u.length) { p.telephonenumber = p.phone
failFn('未检测到要打开的url!') p.cn = p.name
return p.positionname = p.jobTitle
} p.mobile = p.phone
qing.call('localFunction', { // 创建缓存,方便后续根据openId查询人员信息
name: 'openExtBrowser', var openId = p.openId
param: { personMap[openId] = p
url: u[0] return openId
},
success: successFn
}) })
}, return getPersonInfosByoIds(openIds).then(function (ids) {
language: function (param, successFn, failFn) { var persons = ids.map(function (personIds) {
var lang = 'zh-CN' var openId = personIds.oId
var result = navigator.userAgent.match(/(;|^)\s*lang\s*:([^;]*)/) var jobNo = personIds.jobNo
if (result && result.length === 3) { // 从缓存里面查询对应人员
lang = result[2] var p = personMap[openId]
} // 更新工号
// 只取后面的国家代码 p.uid = jobNo
lang = lang.replace(/^[a-z]+\-/i, '') p.jobNo = jobNo
successFn({ return p
language: lang.toLowerCase() })
return persons
}) })
}, }
vcard: function (uids, successFn, failFn) {
var jobNos = uids || [] // 选人
if (!jobNos.length) { function selectPersons(selected, isMulti, successFn, failFn) {
failFn('未检测到要打开人员的openId!') // 将传入的工号转为openId
return var selectedPromise = Promise.resolve([])
if (selected && selected.length) {
selectedPromise = getPersonInfosByJobNo(selected)
} }
// 通过工号获取openId,然后用openId打开人员详情页面。 // 根据openId选人
getPersonInfosByJobNo(jobNos) selectedPromise
.then(function (personInfos) { .then(function (persons) {
// 打开人员卡片只有一条信息 var oIds = persons.map(function (p) {
qing.call('personInfo', { return p.oId
openId: personInfos[0].oId })
return selectPersonByQing(oIds, isMulti)
}) })
successFn(true) .then(function (persons) {
}) // 格式化选人信息
.catch(function (e) { return formatData2Mx(persons)
failFn(e) })
}) .then(function (persons) {
}, successFn({
openUrl: function (params, successFn, failFn) { result: true,
// params的第一个参数是要打开的url array: persons
var url = (params || [])[0] })
// 第二个参数是打开url的参数
var _p = (params || [])[1] || {}
if (!url) {
failFn('未检测到要打开的url!')
return
}
// 注册页面关闭的回调事件。
if (_p.H5CallBackFunction) {
var fnName = _p.H5CallBackFunction.replace('()', '')
var fn = window[fnName]
if (fn && (typeof fn === 'function')) {
qing.on('appear', function () {
fn()
}) })
} .catch(function () {
failFn({
result: false,
array: []
})
})
}
// 获取当前用户信息
function getCurrentUserInfo(callback) {
var opt = {
url: '/gateway/xmjf-other-service/person/role/save/person',
method: 'POST',
headers: {
'Cloudoffice-Version': 'v0.0.1'
},
data: {},
success: callback
} }
qing.call('gotoLightApp', { qing.call('request', opt)
urlParam: url }
})
}, function openAppWithData(appName, data, url) {
showWidget: function (params, successFn, failFn) { var val = ''
if (!Array.isArray(params) || !params[0]) { if (isObject(data)) {
failFn('未检测到要打开的应用地址!') data = JSON.stringify(data)
return // 针对json数据格式化来的字符串添加特殊标识,方便后续还原
data = '__json__=' + data
} }
var appName = params[0] if (typeof data === 'string') {
var appId = appMap[appName] // IOS有个奇葩的设计,把双引号转单引号输出了,所以需要将单引号,双引号在保存前特殊处理,然后再还原。
if (!appId) { val = data.replace(/'/gm, '∆∆').replace(/"/gm, 'åå')
failFn('未检测到要打开的应用!')
return
} }
var data = params[1] || '' val = encodeURIComponent(val)
openAppWithData( return new Promise(function (resolve, reject) {
encodeURIComponent(appName), qing.call('storage.setItem', {
data, shared: true,
'cloudhub://miniapp?appid=' + appId + '&path=index.html' key: appName,
).then(successFn, failFn) value: val,
}, success: function (res) {
getExtra: function (params, successFn, failFn) { if (String(res.success).toLowerCase() === 'true') {
if (Array.isArray(params)) { qing.call('gotoLightApp', {
var appName = params[0] urlParam: url
if (appName) { })
qing.call('storage.getItem', { resolve(true)
key: encodeURIComponent(appName),
shared: true,
success: function (res) {
if (String(res.success).toLowerCase() === 'true') {
try {
var data = (res.data || {}).value || ''
data = decodeURIComponent(data)
if (data) {
// IOS有个奇葩的设计,把双引号转单引号输出了,所以需要将单引号,双引号在保存前特殊处理,然后再还原。
data = data.replace(/∆∆/gm, "'").replace(/åå/gm, '"')
// 将json数据反编译回object
if (data.indexOf('__json__=') === 0) {
data = data.replace(/^__json__=/, '')
data = JSON.parse(data)
}
successFn({
result: true,
msg: '成功',
widgetId: appName,
extra: {
showWidgetKey: data
}
})
} else { } else {
successFn({}) reject(res.error)
} }
} catch (error) { },
console.error('getExtra error:', error) error: function (e) {
failFn() reject(e)
}
} else {
failFn()
} }
}
}) })
} else {
failFn()
}
} else {
failFn()
}
}
},
MIDEAUSER: {
orgChoose: function (p, successFn, failFn) {
selectPersons([], false, successFn, failFn)
},
orgMuChoose: function (selected, successFn, failFn) {
selectPersons(selected, true, successFn, failFn)
},
getUser: function (param, successFn, failFn) {
getCurrentUserInfo(function (result) {
var success = (result || {}).success
var error = (result || {}).error
var data = (result || {}).data || {}
if (String(success).toLowerCase() !== 'true') {
failFn(error)
return
}
var userInfo = data.userInfo || {}
successFn({
uid: userInfo.username,
email: userInfo.email,
avatar: userInfo.avatar,
cn: userInfo.name,
gender: userInfo.gender,
mobile: userInfo.email,
fullDeptName: userInfo.fullDeptName.replace('!', '_'),
departmentName: userInfo.deptName,
ssoToken: data.ssoToken
})
}) })
}, }
getUserPassword: function (param, successFn, failFn) {
successFn({}) var handlers = {
} MIDEACOMMON: {
}, launchExternalAPPByThird: function (params, successFn, failFn) {
MIDEAPDF: { params = params || []
showTxt: function (param, successFn, failFn) { if (!params.length) {
var p = param || {} failFn('未检测到要打开应用的包名!')
if (!p.url) { return
failFn('未检测到要打开文件的url!') }
return let scheme = params[0]
} if (!scheme) {
/* failFn('未检测到要打开应用的包名!')
var ext = ''; return
var extIndex = param.title.lastIndexOf('.'); }
if (extIndex !== -1) { // 针对scheme可能丢失尾部的://的情况进行追加
var innerExt = param.title.slice(extIndex + 1); scheme = `${scheme}://`
if (innerExt.length > 0 && innerExt.length <=4) { scheme = scheme.replace('://://', '://')
ext = innerExt; qing.call('gotoApp', {
data: `${scheme}p?`,
success: function (result) {
const success = (result || {}).success || false
if (`${success}`.toLowerCase() === 'true') {
successFn(true)
} else {
failFn('打开应用失败!')
}
},
error: function () {
failFn('打开应用失败!')
}
})
},
setBounces: function (p, successFn, failFn) {
p = p || [0]
var enable = p[0]
var map = {
'0': 0,
'1': 1
}
qing.call('setBounce', {
enable: map[`${enable}`] || 0
})
successFn('success')
},
exit: function (p, successFn, failFn) {
qing.call('closeWebView')
successFn('success')
},
openSysBrowser: function (urls, successFn, failFn) {
var u = urls || []
if (!u.length) {
failFn('未检测到要打开的url!')
return
}
qing.call('localFunction', {
name: 'openExtBrowser',
param: {
url: u[0]
},
success: successFn
})
},
language: function (param, successFn, failFn) {
var lang = 'zh-CN'
var result = navigator.userAgent.match(/(;|^)\s*lang\s*:([^;]*)/)
if (result && result.length === 3) {
lang = result[2]
}
// 只取后面的国家代码
lang = lang.replace(/^[a-z]+\-/i, '')
successFn({
language: lang.toLowerCase()
})
},
vcard: function (uids, successFn, failFn) {
var jobNos = uids || []
if (!jobNos.length) {
failFn('未检测到要打开人员的openId!')
return
}
// 通过工号获取openId,然后用openId打开人员详情页面。
getPersonInfosByJobNo(jobNos)
.then(function (personInfos) {
// 打开人员卡片只有一条信息
qing.call('personInfo', {
openId: personInfos[0].oId
})
successFn(true)
})
.catch(function (e) {
failFn(e)
})
},
openUrl: function (params, successFn, failFn) {
// params的第一个参数是要打开的url
var url = (params || [])[0]
// 第二个参数是打开url的参数
var _p = (params || [])[1] || {}
if (!url) {
failFn('未检测到要打开的url!')
return
}
// 注册页面关闭的回调事件。
if (_p.H5CallBackFunction) {
var fnName = _p.H5CallBackFunction.replace('()', '')
var fn = window[fnName]
if (fn && (typeof fn === 'function')) {
qing.on('appear', function () {
fn()
})
}
}
qing.call('gotoLightApp', {
urlParam: url
})
},
showWidget: function (params, successFn, failFn) {
if (!Array.isArray(params) || !params[0]) {
failFn('未检测到要打开的应用地址!')
return
}
var appName = params[0]
var appId = appMap[appName]
if (!appId) {
failFn('未检测到要打开的应用!')
return
}
var data = params[1] || ''
openAppWithData(
encodeURIComponent(appName),
data,
'cloudhub://miniapp?appid=' + appId + '&path=index.html'
).then(successFn, failFn)
},
getExtra: function (params, successFn, failFn) {
if (Array.isArray(params)) {
var appName = params[0]
if (appName) {
qing.call('storage.getItem', {
key: encodeURIComponent(appName),
shared: true,
success: function (res) {
if (String(res.success).toLowerCase() === 'true') {
try {
var data = (res.data || {}).value || ''
data = decodeURIComponent(data)
if (data) {
// IOS有个奇葩的设计,把双引号转单引号输出了,所以需要将单引号,双引号在保存前特殊处理,然后再还原。
data = data.replace(/∆∆/gm, "'").replace(/åå/gm, '"')
// 将json数据反编译回object
if (data.indexOf('__json__=') === 0) {
data = data.replace(/^__json__=/, '')
data = JSON.parse(data)
}
successFn({
result: true,
msg: '成功',
widgetId: appName,
extra: {
showWidgetKey: data
}
})
} else {
successFn({})
}
} catch (error) {
console.error('getExtra error:', error)
failFn()
}
} else {
failFn()
}
}
})
} else {
failFn()
}
} else {
failFn()
}
}
},
MIDEAUSER: {
orgChoose: function (p, successFn, failFn) {
selectPersons([], false, successFn, failFn)
},
orgMuChoose: function (selected, successFn, failFn) {
selectPersons(selected, true, successFn, failFn)
},
getUser: function (param, successFn, failFn) {
getCurrentUserInfo(function (result) {
var success = (result || {}).success
var error = (result || {}).error
var data = (result || {}).data || {}
if (String(success).toLowerCase() !== 'true') {
failFn(error)
return
}
var userInfo = data.userInfo || {}
successFn({
uid: userInfo.username,
email: userInfo.email,
avatar: userInfo.avatar,
cn: userInfo.name,
gender: userInfo.gender,
mobile: userInfo.email,
fullDeptName: userInfo.fullDeptName.replace('!', '_'),
departmentName: userInfo.deptName,
ssoToken: data.ssoToken
})
})
},
getUserPassword: function (param, successFn, failFn) {
successFn({})
}
},
MIDEAPDF: {
showTxt: function (param, successFn, failFn) {
var p = param || {}
if (!p.url) {
failFn('未检测到要打开文件的url!')
return
}
/*
var ext = '';
var extIndex = param.title.lastIndexOf('.');
if (extIndex !== -1) {
var innerExt = param.title.slice(extIndex + 1);
if (innerExt.length > 0 && innerExt.length <=4) {
ext = innerExt;
}
}
*/
var qingParam = {
fileDownloadUrl: param.url,
success: successFn,
fail: failFn,
error: failFn
}
if (param.title) {
qingParam.fileName = param.title
}
qing.call('showFile', qingParam)
},
showPdf: function (urls, successFn, failFn) {
var u = urls || []
if (!u.length) {
failFn('未检测到要打开文件的url!')
return
}
qing.call('showFile', {
fileDownloadUrl: u[0],
success: successFn,
fail: failFn,
error: failFn
})
},
showRAR: function () {
} }
} }
*/
var qingParam = {
fileDownloadUrl: param.url,
success: successFn,
fail: failFn,
error: failFn
}
if (param.title) {
qingParam.fileName = param.title
}
qing.call('showFile', qingParam)
},
showPdf: function (urls, successFn, failFn) {
var u = urls || []
if (!u.length) {
failFn('未检测到要打开文件的url!')
return
}
qing.call('showFile', {
fileDownloadUrl: u[0],
success: successFn,
fail: failFn,
error: failFn
})
},
showRAR: function () {}
} }
} global.cordova = {
global.cordova = { exec: function (successFn, failFn, module, method, params) {
exec: function (successFn, failFn, module, method, params) { params = params || []
params = params || [] console.warn('cordova-module:' + module + ', method:' + method)
console.warn('cordova-module:' + module + ', method:' + method) var modules = handlers[module.toUpperCase()]
var modules = handlers[module.toUpperCase()] if (!modules) {
if (!modules) { console.error('请求的模块' + module + '未注册!')
console.error('请求的模块' + module + '未注册!') failFn('请求的模块' + module + '未注册!')
failFn('请求的模块' + module + '未注册!') return
return }
} var handler = modules[method]
var handler = modules[method] if (!handler) {
if (!handler) { console.error('未在' + module + '模块找到' + method + '方法的实现!')
console.error('未在' + module + '模块找到' + method + '方法的实现!') // 当桥不存在的时候,不阻断业务让流程还可以正常走。
// 当桥不存在的时候,不阻断业务让流程还可以正常走。 successFn({})
successFn({}) return
return }
} handler(params, successFn, failFn)
handler(params, successFn, failFn) }
} }
}
// var CAMERA = { // var CAMERA = {
// PictureSourceType: { // PictureSourceType: {
// 0: 'photo', // 0: 'photo',
// 1: 'camera', // 1: 'camera',
// 2: 'photo' // 2: 'photo'
// } // }
// } // }
global.navigator.camera = { global.navigator.camera = {
getPicture: function (successFn, failFn, params) { getPicture: function (successFn, failFn, params) {
var sourceType = params.sourceType || 1 var sourceType = params.sourceType || 1
var opt = { var opt = {
type: sourceType === 1 ? 'camera' : 'photo' type: sourceType === 1 ? 'camera' : 'photo'
} }
qingPromise('selectPic', opt) qingPromise('selectPic', opt)
.then(function (result) { .then(function (result) {
var success = (result || {}).success || false var success = (result || {}).success || false
var data = (result || {}).data || {} var data = (result || {}).data || {}
var error = (result || {}).error || '获取图片信息失败!' var error = (result || {}).error || '获取图片信息失败!'
if (String(success).toLowerCase() === 'true') { if (String(success).toLowerCase() === 'true') {
successFn(data.fileData) successFn(data.fileData)
} else { } else {
failFn(error) failFn(error)
} }
}) })
.catch(function (e) { .catch(function (e) {
failFn(e) failFn(e)
}) })
}
} }
}
})(window) })(window)
...@@ -20,6 +20,8 @@ export const SetToken = function (val) { ...@@ -20,6 +20,8 @@ export const SetToken = function (val) {
} }
} }
export const appId =''
// android or iOS scheme // android or iOS scheme
export const goThirdAppPrefix = { export const goThirdAppPrefix = {
smartbuild: 'com.tsinglink.smartbuild://', // 进度概况->项目节点列表->跳转到“智慧工地”第三方app的参数拼接前缀 smartbuild: 'com.tsinglink.smartbuild://', // 进度概况->项目节点列表->跳转到“智慧工地”第三方app的参数拼接前缀
......
...@@ -12,9 +12,9 @@ ...@@ -12,9 +12,9 @@
</keep-alive> </keep-alive>
<router-view <router-view
v-if="!$route.meta.keepAlive" v-if="!$route.meta.keepAlive"
class="child-view" class="child-view"
:class="{transition:isShowTransition}" :class="{transition:isShowTransition}"
></router-view> ></router-view>
</transition> </transition>
<!-- bottom --> <!-- bottom -->
...@@ -22,17 +22,17 @@ ...@@ -22,17 +22,17 @@
<div class="bar"> <div class="bar">
<ul> <ul>
<li @click="goPage('')"> <li @click="goPage('')">
<img v-if="tabIndex==0" :src="require('~proj/assets/images/yygl_active.png')" /> <img v-if="tabIndex==0" :src="require('~proj/assets/images/yygl_active.png')"/>
<img v-else :src="require('~proj/assets/images/yygl.png')" /> <img v-else :src="require('~proj/assets/images/yygl.png')"/>
<p>运营概况</p> <p>运营概况</p>
</li> </li>
<li @click="goMap" v-if="showProjectMap"> <li @click="goMap" v-if="showProjectMap">
<img :src="require('~proj/assets/images/xmdt.png')" /> <img :src="require('~proj/assets/images/xmdt.png')"/>
<p>项目地图</p> <p>项目地图</p>
</li> </li>
<li v-if="showReport" @click="goPage('classifySheet')"> <li v-if="showReport" @click="goPage('classifySheet')">
<img v-if="tabIndex==2" :src="require('~proj/assets/images/flbb_active.png')" /> <img v-if="tabIndex==2" :src="require('~proj/assets/images/flbb_active.png')"/>
<img v-else :src="require('~proj/assets/images/flbb.png')" /> <img v-else :src="require('~proj/assets/images/flbb.png')"/>
<p>分类报表</p> <p>分类报表</p>
</li> </li>
</ul> </ul>
...@@ -44,8 +44,8 @@ ...@@ -44,8 +44,8 @@
<script> <script>
import CHeader from "./components/commom/c-header.vue"; import CHeader from "./components/commom/c-header.vue";
import { SetToken, code, projectMapUrl } from "./api.js"; import {SetToken, code, projectMapUrl} from "./api.js";
import { delCookie } from "~lib/utils/common"; import {delCookie} from "~lib/utils/common";
export default { export default {
components: { components: {
...@@ -112,43 +112,60 @@ export default { ...@@ -112,43 +112,60 @@ export default {
}); });
}, },
goMap() { goMap() {
// V+切换地图功能: areaNum 填写要进入的片区地图
var that = this;
console.log(that.currentAreaNum, "that.currentAreaNum-===>>>");
cordova.exec(
function (success) {
console.log(success);
},
function (error) {
console.log(error);
},
"MideaCommon",
"showWidget",
[
"com.cnd.jffc.tyypt",
`{"action":"gotoMap", "areaNum":"${that.currentAreaNum}","H5CallBackFunction":"callBack()"}`,
]
);
// const urlParam = {
// action: 'gotoMap',
// areaNum: this.currentAreaNum
// }
//
// const path = encodeURIComponent(`index.html?${urlParam}`);
// const href = `cloudhub://miniapp?appid=${TyyptAppId}&path=${path}`;
// qing.call("gotoLightApp", {
// urlParam: href,
// });
},
goMap_old() {
var that = this; var that = this;
// V+切换地图功能: areaNum 填写要进入的片区地图 // V+切换地图功能: areaNum 填写要进入的片区地图
console.log(that.currentAreaNum, "that.currentAreaNum-===>>>"); console.log(that.currentAreaNum, "that.currentAreaNum-===>>>");
cordova.exec( cordova.exec(
function (success) { function (success) {
console.log(success); console.log(success);
}, },
function (error) { function (error) {
console.log(error); console.log(error);
}, },
"MideaCommon", "MideaCommon",
"showWidget", "showWidget",
[ [
"com.cnd.jffc.tyypt", "com.cnd.jffc.tyypt",
`{"action":"gotoMap", "areaNum":"${that.currentAreaNum}","H5CallBackFunction":"callBack()"}`, `{"action":"gotoMap", "areaNum":"${that.currentAreaNum}","H5CallBackFunction":"callBack()"}`,
] ]
); );
// cordova.exec(
// function (result) {
// console.log("回调成功: " + JSON.stringify(result));
// },
// function (error) {
// console.log("回调失败");
// },
// "MideaCommon",
// "openUrl", [
// projectMapUrl + "?areaNum=05&access_token=" +
// that.$mas.token,
// {
// title: 1,
// shareRange: 2
// }
// ]
// );
}, },
clickBar: function () { clickBar: function () {
this.isShowTransition = false; this.isShowTransition = false;
...@@ -162,31 +179,31 @@ export default { ...@@ -162,31 +179,31 @@ export default {
}, },
getUserAccount() { getUserAccount() {
this.$nativeApi.account this.$nativeApi.account
.getUser() .getUser()
.then((data) => { .then((data) => {
// alert('V+登录用户账号' + JSON.stringify(data)) // alert('V+登录用户账号' + JSON.stringify(data))
this.$store.commit("updateVUserInfo", { this.$store.commit("updateVUserInfo", {
userAccount: data.uid, userAccount: data.uid,
});
})
.catch((error) => {
// alert('获取用户信息失败:' + JSON.stringify(error) )
console.log("获取用户信息失败:", error);
}); });
})
.catch((error) => {
// alert('获取用户信息失败:' + JSON.stringify(error) )
console.log("获取用户信息失败:", error);
});
}, },
getUserPassword() { getUserPassword() {
this.$nativeApi.account this.$nativeApi.account
.getUserPassword() .getUserPassword()
.then((data) => { .then((data) => {
// alert('V+用户密码:' + JSON.stringify(data)) // alert('V+用户密码:' + JSON.stringify(data))
this.$store.commit("updateVUserInfo", { this.$store.commit("updateVUserInfo", {
userPassword: data, userPassword: data,
});
})
.catch((error) => {
// alert('获取用户密码失败:' + JSON.stringify(error))
console.log("获取用户密码失败:", error);
}); });
})
.catch((error) => {
// alert('获取用户密码失败:' + JSON.stringify(error))
console.log("获取用户密码失败:", error);
});
}, },
}, },
created() { created() {
...@@ -248,8 +265,8 @@ export default { ...@@ -248,8 +265,8 @@ export default {
_this.$store.commit("setNavbarShow", true); _this.$store.commit("setNavbarShow", true);
if ( if (
(to.name == "homepage" && from.name == "subject") || (to.name == "homepage" && from.name == "subject") ||
(to.name == "subject" && from.name == "homepage") (to.name == "subject" && from.name == "homepage")
) { ) {
if (_this.isShowTransition) { if (_this.isShowTransition) {
_this.isShowTransition = false; _this.isShowTransition = false;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment