init
This commit is contained in:
2025-06-27 17:42:38 +08:00
commit bd6402478b
5317 changed files with 785994 additions and 0 deletions
+2
View File
@@ -0,0 +1,2 @@
#接口前缀
VITE_GLOB_APP_PREFIX = 'health-intervene'
+2
View File
@@ -0,0 +1,2 @@
#接口前缀
VITE_GLOB_APP_PREFIX = 'health-intervene'
+24
View File
@@ -0,0 +1,24 @@
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
lerna-debug.log*
node_modules
dist
dist-ssr
*.local
# Editor directories and files
.vscode/*
!.vscode/extensions.json
.idea
.DS_Store
*.suo
*.ntvs*
*.njsproj
*.sln
*.sw?
+18
View File
@@ -0,0 +1,18 @@
# Vue 3 + TypeScript + Vite
This template should help get you started developing with Vue 3 and TypeScript in Vite. The template uses Vue 3 `<script setup>` SFCs, check out the [script setup docs](https://v3.vuejs.org/api/sfc-script-setup.html#sfc-script-setup) to learn more.
## Recommended IDE Setup
- [VS Code](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur) + [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin).
## Type Support For `.vue` Imports in TS
TypeScript cannot handle type information for `.vue` imports by default, so we replace the `tsc` CLI with `vue-tsc` for type checking. In editors, we need [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin) to make the TypeScript language service aware of `.vue` types.
If the standalone TypeScript plugin doesn't feel fast enough to you, Volar has also implemented a [Take Over Mode](https://github.com/johnsoncodehk/volar/discussions/471#discussioncomment-1361669) that is more performant. You can enable it by the following steps:
1. Disable the built-in TypeScript Extension
1. Run `Extensions: Show Built-in Extensions` from VSCode's command palette
2. Find `TypeScript and JavaScript Language Features`, right click and select `Disable (Workspace)`
2. Reload the VSCode window by running `Developer: Reload Window` from the command palette.
+22
View File
@@ -0,0 +1,22 @@
# 路径参数(所有参数都由安卓传过来)
1. hostAfter 交大环境需要的后缀;
2. platform C01 体检答题(整个模块) 、 C02 癌症答题(整个模块)、 C03 急救培训(仅答题、回顾页面)
3. startNewActivity:1 重新打开新页面
4. startNewActivity:2 多级跳转
5. startNewActivity:-1 不需要打开新页面
# h5页面之间路径跳转
1. vue的router;
2. import { newPageParams } from '/@/hooks/openPage.ts';
1. openPage('url',newPageParams({}));
# h5页面与安卓路径跳转
1. import { newPageParams } from '/@/hooks/openPage.ts';
1. openPage('url',newPageParams({}))或openPage('url',newPageParams(所需参数));
2. 获取参数: route.query.字段;
2. 可以在不产生历史记录的情况下进行页面跳转,使用router.replace方法,用户在浏览器的历史记录中将不会看到之前访问的页面
在需要跳转路径的地方使用router.replace({path:'',query:{}});
# 与安卓交互拦截弹窗
1. 进入拦截页面之前 需要在跳转前参数添加affirmBack: 1,才有效果;
2. 在需要拦截的页面,触发时引入import { useInterceptBack } from '/@/hooks/useInterceptAndroid',使用useInterceptBack(0);
# 安卓销毁当前页面
import { destroyPage } from '/@/hooks/openPage';
destroyPage();
+45
View File
@@ -0,0 +1,45 @@
<!doctype html>
<html lang="zh_CN">
<head>
<meta charset="UTF-8"/>
<link rel="icon" type="image/svg+xml" href="/vite.svg"/>
<meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no;" name="viewport" />
<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
<title></title>
</head>
<style>
html, body, #app {
width: 100%;
height: 100%;
box-sizing: border-box;
margin: 0;
padding: 0 !important;
}
</style>
<body>
<div id="app"></div>
<script type="module" src="/static/jweixin-1.3.2.js"></script>
<script type="module" src="/src/main.ts"></script>
</body>
<script>
document.title = '\u200E'
const url = window.location.href;
const arr = url.indexOf('?') !== -1 ? url.split('?')[1].replace('#/', '') : '';
let strArr = arr.split('&')
// const hrefParams = qs.parse(arr);
for (const item of strArr) {
sessionStorage.setItem(item.substring(0, item.indexOf('=')), item.substring(item.indexOf('=') + 1));
}
let scheme = sessionStorage.getItem('scheme');
let host = sessionStorage.getItem('host');
let hostAfter = sessionStorage.getItem('hostAfter') ? `/${sessionStorage.getItem('hostAfter')}` : '';
sessionStorage.setItem('url', `${scheme}://${host}${hostAfter}`)
// sessionStorage.setItem('url', 'http://cqyt.dev.yg.dt.io')
// sessionStorage.setItem('tokenF', 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6InNoYW5nbGluZyIsImlkZW50aWZpZXIiOiIwMDA3ZWUyZGZkYTA0NmY0OTJkNTg2NDRjMjFlMzAxOCIsImV4cCI6MTY5NDg0NDg5MX0.KBeuTR8V95-bghW3w0dN6EHpYByTTK_tApzWC6iHwzc')
</script>
</html>
+5945
View File
File diff suppressed because it is too large Load Diff
+47
View File
@@ -0,0 +1,47 @@
{
"name": "mobile",
"private": true,
"version": "0.0.0",
"type": "module",
"scripts": {
"dev": "vite --open",
"build": "vite build",
"preview": "vite preview"
},
"postcss": "postcss.config.js",
"dependencies": {
"@babel/core": "^7.22.10",
"@nutui/nutui": "^4.1.5",
"@types/node": "^20.5.0",
"@vitejs/plugin-legacy": "^4.1.1",
"amfe-flexible": "^2.2.1",
"ant-design-vue": "3.2.20",
"axios": "^0.26.1",
"dayjs": "^1.11.10",
"echarts": "^5.4.3",
"highcharts": "^11.1.0",
"html2canvas": "^1.4.1",
"jspdf": "^3.0.0",
"less": "4.1.3",
"less-loader": "^11.1.3",
"lodash-es": "^4.17.21",
"mitt": "^3.0.1",
"moment": "^2.29.4",
"path": "^0.12.7",
"qs": "^6.11.2",
"vant": "4.8.6",
"vconsole": "^3.15.1",
"vue": "^3.3.4",
"vue-pdf-embed": "^1.2.1",
"vue-router": "^4.2.2",
"vue-types": "5.0.3",
"vuex": "^4.1.0"
},
"devDependencies": {
"@vitejs/plugin-vue": "^4.2.3",
"postcss-pxtorem": "^6.0.0",
"typescript": "^5.0.2",
"vite": "^4.4.5",
"vue-tsc": "^1.8.5"
}
}
+1
View File
@@ -0,0 +1 @@
module.exports = {};
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

+702
View File
@@ -0,0 +1,702 @@
!(function (e, n) {
'function' == typeof define && (define.amd || define.cmd)
? define(function () {
return n(e);
})
: n(e, !0);
})(window, function (r, e) {
var a, c, n, i, t, s, d, o, l, u, p, f, m, g, h, I, S, y, v, _, w, T;
if (!r.jWeixin)
return (
(a = {
config: 'preVerifyJSAPI',
onMenuShareTimeline: 'menu:share:timeline',
onMenuShareAppMessage: 'menu:share:appmessage',
onMenuShareQQ: 'menu:share:qq',
onMenuShareWeibo: 'menu:share:weiboApp',
onMenuShareQZone: 'menu:share:QZone',
previewImage: 'imagePreview',
getLocation: 'geoLocation',
openProductSpecificView: 'openProductViewWithPid',
addCard: 'batchAddCard',
openCard: 'batchViewCard',
chooseWXPay: 'getBrandWCPayRequest',
openEnterpriseRedPacket: 'getRecevieBizHongBaoRequest',
startSearchBeacons: 'startMonitoringBeacons',
stopSearchBeacons: 'stopMonitoringBeacons',
onSearchBeacons: 'onBeaconsInRange',
consumeAndShareCard: 'consumedShareCard',
openAddress: 'editAddress',
}),
(c = (function () {
var e,
n = {};
for (e in a) n[a[e]] = e;
return n;
})()),
(i = (n = r.document).title),
(t = navigator.userAgent.toLowerCase()),
(f = navigator.platform.toLowerCase()),
(s = !(!f.match('mac') && !f.match('win'))),
(d = -1 != t.indexOf('wxdebugger')),
(o = -1 != t.indexOf('micromessenger')),
(l = -1 != t.indexOf('android')),
(u = -1 != t.indexOf('iphone') || -1 != t.indexOf('ipad')),
(p = (f = t.match(/micromessenger\/(\d+\.\d+\.\d+)/) || t.match(/micromessenger\/(\d+\.\d+)/)) ? f[1] : ''),
(m = { initStartTime: L(), initEndTime: 0, preVerifyStartTime: 0, preVerifyEndTime: 0 }),
(g = {
version: 1,
appId: '',
initTime: 0,
preVerifyTime: 0,
networkType: '',
isPreVerifyOk: 1,
systemType: u ? 1 : l ? 2 : -1,
clientVersion: p,
url: encodeURIComponent(location.href),
}),
(h = {}),
(I = { _completes: [] }),
(S = { state: 0, data: {} }),
B(function () {
m.initEndTime = L();
}),
(y = !1),
(v = []),
(_ = {
config: function (e) {
C('config', (h = e));
var o = !1 !== h.check;
B(function () {
if (o)
k(
a.config,
{ verifyJsApiList: V(h.jsApiList) },
((I._complete = function (e) {
(m.preVerifyEndTime = L()), (S.state = 1), (S.data = e);
}),
(I.success = function (e) {
g.isPreVerifyOk = 0;
}),
(I.fail = function (e) {
I._fail ? I._fail(e) : (S.state = -1);
}),
(t = I._completes).push(function () {
var n;
s ||
d ||
h.debug ||
p < '6.0.2' ||
g.systemType < 0 ||
((n = new Image()),
(g.appId = h.appId),
(g.initTime = m.initEndTime - m.initStartTime),
(g.preVerifyTime = m.preVerifyEndTime - m.preVerifyStartTime),
_.getNetworkType({
isInnerInvoke: !0,
success: function (e) {
(g.networkType = e.networkType),
(n.src =
'https://open.weixin.qq.com/sdk/report?v=' +
g.version +
'&o=' +
g.isPreVerifyOk +
'&s=' +
g.systemType +
'&c=' +
g.clientVersion +
'&a=' +
g.appId +
'&n=' +
g.networkType +
'&i=' +
g.initTime +
'&p=' +
g.preVerifyTime +
'&u=' +
g.url);
},
}));
}),
(I.complete = function (e) {
for (var n = 0, i = t.length; n < i; ++n) t[n]();
I._completes = [];
}),
I)
),
(m.preVerifyStartTime = L());
else {
S.state = 1;
for (var e = I._completes, n = 0, i = e.length; n < i; ++n) e[n]();
I._completes = [];
}
var t;
}),
_.invoke ||
((_.invoke = function (e, n, i) {
r.WeixinJSBridge && WeixinJSBridge.invoke(e, P(n), i);
}),
(_.on = function (e, n) {
r.WeixinJSBridge && WeixinJSBridge.on(e, n);
}));
},
ready: function (e) {
(0 != S.state || (I._completes.push(e), !o && h.debug)) && e();
},
error: function (e) {
p < '6.0.2' || (-1 == S.state ? e(S.data) : (I._fail = e));
},
checkJsApi: function (e) {
k(
'checkJsApi',
{ jsApiList: V(e.jsApiList) },
((e._complete = function (e) {
l && (i = e.checkResult) && (e.checkResult = JSON.parse(i));
var n,
i = e,
t = i.checkResult;
for (n in t) {
var o = c[n];
o && ((t[o] = t[n]), delete t[n]);
}
}),
e)
);
},
onMenuShareTimeline: function (e) {
M(
a.onMenuShareTimeline,
{
complete: function () {
k(
'shareTimeline',
{
title: e.title || i,
desc: e.title || i,
img_url: e.imgUrl || '',
link: e.link || location.href,
type: e.type || 'link',
data_url: e.dataUrl || '',
},
e
);
},
},
e
);
},
onMenuShareAppMessage: function (n) {
M(
a.onMenuShareAppMessage,
{
complete: function (e) {
'favorite' === e.scene
? k('sendAppMessage', {
title: n.title || i,
desc: n.desc || '',
link: n.link || location.href,
img_url: n.imgUrl || '',
type: n.type || 'link',
data_url: n.dataUrl || '',
})
: k(
'sendAppMessage',
{
title: n.title || i,
desc: n.desc || '',
link: n.link || location.href,
img_url: n.imgUrl || '',
type: n.type || 'link',
data_url: n.dataUrl || '',
},
n
);
},
},
n
);
},
onMenuShareQQ: function (e) {
M(
a.onMenuShareQQ,
{
complete: function () {
k('shareQQ', { title: e.title || i, desc: e.desc || '', img_url: e.imgUrl || '', link: e.link || location.href }, e);
},
},
e
);
},
onMenuShareWeibo: function (e) {
M(
a.onMenuShareWeibo,
{
complete: function () {
k(
'shareWeiboApp',
{ title: e.title || i, desc: e.desc || '', img_url: e.imgUrl || '', link: e.link || location.href },
e
);
},
},
e
);
},
onMenuShareQZone: function (e) {
M(
a.onMenuShareQZone,
{
complete: function () {
k(
'shareQZone',
{ title: e.title || i, desc: e.desc || '', img_url: e.imgUrl || '', link: e.link || location.href },
e
);
},
},
e
);
},
startRecord: function (e) {
k('startRecord', {}, e);
},
stopRecord: function (e) {
k('stopRecord', {}, e);
},
onVoiceRecordEnd: function (e) {
M('onVoiceRecordEnd', e);
},
playVoice: function (e) {
k('playVoice', { localId: e.localId }, e);
},
pauseVoice: function (e) {
k('pauseVoice', { localId: e.localId }, e);
},
stopVoice: function (e) {
k('stopVoice', { localId: e.localId }, e);
},
onVoicePlayEnd: function (e) {
M('onVoicePlayEnd', e);
},
uploadVoice: function (e) {
k('uploadVoice', { localId: e.localId, isShowProgressTips: 0 == e.isShowProgressTips ? 0 : 1 }, e);
},
downloadVoice: function (e) {
k('downloadVoice', { serverId: e.serverId, isShowProgressTips: 0 == e.isShowProgressTips ? 0 : 1 }, e);
},
translateVoice: function (e) {
k('translateVoice', { localId: e.localId, isShowProgressTips: 0 == e.isShowProgressTips ? 0 : 1 }, e);
},
chooseImage: function (e) {
k(
'chooseImage',
{
scene: '1|2',
count: e.count || 9,
sizeType: e.sizeType || ['original', 'compressed'],
sourceType: e.sourceType || ['album', 'camera'],
},
((e._complete = function (e) {
if (l) {
var n = e.localIds;
try {
n && (e.localIds = JSON.parse(n));
} catch (e) {}
}
}),
e)
);
},
getLocation: function (e) {},
getLocation: function (e) {
(e = e || {}),
k(
a.getLocation,
{ type: e.type || 'wgs84' },
((e._complete = function (e) {
delete e.type;
}),
e)
);
},
previewImage: function (e) {
k(a.previewImage, { current: e.current, urls: e.urls }, e);
},
uploadImage: function (e) {
k('uploadImage', { localId: e.localId, isShowProgressTips: 0 == e.isShowProgressTips ? 0 : 1 }, e);
},
downloadImage: function (e) {
k('downloadImage', { serverId: e.serverId, isShowProgressTips: 0 == e.isShowProgressTips ? 0 : 1 }, e);
},
getLocalImgData: function (e) {
!1 === y
? ((y = !0),
k(
'getLocalImgData',
{ localId: e.localId },
((e._complete = function (e) {
var n;
(y = !1), 0 < v.length && ((n = v.shift()), wx.getLocalImgData(n));
}),
e)
))
: v.push(e);
},
getNetworkType: function (e) {
k(
'getNetworkType',
{},
((e._complete = function (e) {
var n = e,
e = n.errMsg,
i = ((n.errMsg = 'getNetworkType:ok'), n.subtype);
if ((delete n.subtype, i)) n.networkType = i;
else {
var i = e.indexOf(':'),
t = e.substring(i + 1);
switch (t) {
case 'wifi':
case 'edge':
case 'wwan':
n.networkType = t;
break;
default:
n.errMsg = 'getNetworkType:fail';
}
}
}),
e)
);
},
openLocation: function (e) {
k(
'openLocation',
{
latitude: e.latitude,
longitude: e.longitude,
name: e.name || '',
address: e.address || '',
scale: e.scale || 28,
infoUrl: e.infoUrl || '',
},
e
);
},
hideOptionMenu: function (e) {
k('hideOptionMenu', {}, e);
},
showOptionMenu: function (e) {
k('showOptionMenu', {}, e);
},
closeWindow: function (e) {
k('closeWindow', {}, (e = e || {}));
},
hideMenuItems: function (e) {
k('hideMenuItems', { menuList: e.menuList }, e);
},
showMenuItems: function (e) {
k('showMenuItems', { menuList: e.menuList }, e);
},
hideAllNonBaseMenuItem: function (e) {
k('hideAllNonBaseMenuItem', {}, e);
},
showAllNonBaseMenuItem: function (e) {
k('showAllNonBaseMenuItem', {}, e);
},
scanQRCode: function (e) {
k(
'scanQRCode',
{ needResult: (e = e || {}).needResult || 0, scanType: e.scanType || ['qrCode', 'barCode'] },
((e._complete = function (e) {
var n;
u && (n = e.resultStr) && ((n = JSON.parse(n)), (e.resultStr = n && n.scan_code && n.scan_code.scan_result));
}),
e)
);
},
openAddress: function (e) {
k(
a.openAddress,
{},
((e._complete = function (e) {
((e = e).postalCode = e.addressPostalCode),
delete e.addressPostalCode,
(e.provinceName = e.proviceFirstStageName),
delete e.proviceFirstStageName,
(e.cityName = e.addressCitySecondStageName),
delete e.addressCitySecondStageName,
(e.countryName = e.addressCountiesThirdStageName),
delete e.addressCountiesThirdStageName,
(e.detailInfo = e.addressDetailInfo),
delete e.addressDetailInfo;
}),
e)
);
},
openProductSpecificView: function (e) {
k(a.openProductSpecificView, { pid: e.productId, view_type: e.viewType || 0, ext_info: e.extInfo }, e);
},
addCard: function (e) {
for (var n = e.cardList, i = [], t = 0, o = n.length; t < o; ++t) {
var r = n[t],
r = { card_id: r.cardId, card_ext: r.cardExt };
i.push(r);
}
k(
a.addCard,
{ card_list: i },
((e._complete = function (e) {
if ((n = e.card_list)) {
for (var n, i = 0, t = (n = JSON.parse(n)).length; i < t; ++i) {
var o = n[i];
(o.cardId = o.card_id),
(o.cardExt = o.card_ext),
(o.isSuccess = !!o.is_succ),
delete o.card_id,
delete o.card_ext,
delete o.is_succ;
}
(e.cardList = n), delete e.card_list;
}
}),
e)
);
},
chooseCard: function (e) {
k(
'chooseCard',
{
app_id: h.appId,
location_id: e.shopId || '',
sign_type: e.signType || 'SHA1',
card_id: e.cardId || '',
card_type: e.cardType || '',
card_sign: e.cardSign,
time_stamp: e.timestamp + '',
nonce_str: e.nonceStr,
},
((e._complete = function (e) {
(e.cardList = e.choose_card_info), delete e.choose_card_info;
}),
e)
);
},
openCard: function (e) {
for (var n = e.cardList, i = [], t = 0, o = n.length; t < o; ++t) {
var r = n[t],
r = { card_id: r.cardId, code: r.code };
i.push(r);
}
k(a.openCard, { card_list: i }, e);
},
consumeAndShareCard: function (e) {
k(a.consumeAndShareCard, { consumedCardId: e.cardId, consumedCode: e.code }, e);
},
chooseWXPay: function (e) {
k(a.chooseWXPay, x(e), e);
},
openEnterpriseRedPacket: function (e) {
k(a.openEnterpriseRedPacket, x(e), e);
},
startSearchBeacons: function (e) {
k(a.startSearchBeacons, { ticket: e.ticket }, e);
},
stopSearchBeacons: function (e) {
k(a.stopSearchBeacons, {}, e);
},
onSearchBeacons: function (e) {
M(a.onSearchBeacons, e);
},
openEnterpriseChat: function (e) {
k('openEnterpriseChat', { useridlist: e.userIds, chatname: e.groupName }, e);
},
launchMiniProgram: function (e) {
k(
'launchMiniProgram',
{
targetAppId: e.targetAppId,
path: (function (e) {
var n;
if ('string' == typeof e && 0 < e.length)
return (n = e.split('?')[0]), (n += '.html'), void 0 !== (e = e.split('?')[1]) ? n + '?' + e : n;
})(e.path),
envVersion: e.envVersion,
},
e
);
},
miniProgram: {
navigateBack: function (e) {
(e = e || {}),
B(function () {
k('invokeMiniProgramAPI', { name: 'navigateBack', arg: { delta: e.delta || 1 } }, e);
});
},
navigateTo: function (e) {
B(function () {
k('invokeMiniProgramAPI', { name: 'navigateTo', arg: { url: e.url } }, e);
});
},
redirectTo: function (e) {
B(function () {
k('invokeMiniProgramAPI', { name: 'redirectTo', arg: { url: e.url } }, e);
});
},
switchTab: function (e) {
B(function () {
k('invokeMiniProgramAPI', { name: 'switchTab', arg: { url: e.url } }, e);
});
},
reLaunch: function (e) {
B(function () {
k('invokeMiniProgramAPI', { name: 'reLaunch', arg: { url: e.url } }, e);
});
},
postMessage: function (e) {
B(function () {
k('invokeMiniProgramAPI', { name: 'postMessage', arg: e.data || {} }, e);
});
},
getEnv: function (e) {
B(function () {
e({ miniprogram: 'miniprogram' === r.__wxjs_environment });
});
},
},
}),
(w = 1),
(T = {}),
n.addEventListener(
'error',
function (e) {
var n, i, t;
l ||
((t = (n = e.target).tagName), (i = n.src), 'IMG' != t && 'VIDEO' != t && 'AUDIO' != t && 'SOURCE' != t) ||
(-1 != i.indexOf('wxlocalresource://') &&
(e.preventDefault(),
e.stopPropagation(),
(t = n['wx-id']) || ((t = w++), (n['wx-id'] = t)),
T[t] ||
((T[t] = !0),
wx.ready(function () {
wx.getLocalImgData({
localId: i,
success: function (e) {
n.src = e.localData;
},
});
}))));
},
!0
),
n.addEventListener(
'load',
function (e) {
var n;
l ||
((n = (e = e.target).tagName), 'IMG' != n && 'VIDEO' != n && 'AUDIO' != n && 'SOURCE' != n) ||
((n = e['wx-id']) && (T[n] = !1));
},
!0
),
e && (r.wx = r.jWeixin = _),
_
);
function k(n, e, i) {
r.WeixinJSBridge
? WeixinJSBridge.invoke(n, P(e), function (e) {
A(n, e, i);
})
: C(n, i);
}
function M(n, i, t) {
r.WeixinJSBridge
? WeixinJSBridge.on(n, function (e) {
t && t.trigger && t.trigger(e), A(n, e, i);
})
: C(n, t || i);
}
function P(e) {
return (
((e = e || {}).appId = h.appId),
(e.verifyAppId = h.appId),
(e.verifySignType = 'sha1'),
(e.verifyTimestamp = h.timestamp + ''),
(e.verifyNonceStr = h.nonceStr),
(e.verifySignature = h.signature),
e
);
}
function x(e) {
return { timeStamp: e.timestamp + '', nonceStr: e.nonceStr, package: e.package, paySign: e.paySign, signType: e.signType || 'SHA1' };
}
function A(e, n, i) {
'openEnterpriseChat' == e && (n.errCode = n.err_code), delete n.err_code, delete n.err_desc, delete n.err_detail;
var t = n.errMsg,
e =
(t ||
((t = n.err_msg),
delete n.err_msg,
(t = (function (e, n) {
var i = c[e];
i && (e = i);
i = 'ok';
{
var t;
n &&
((t = n.indexOf(':')),
('access denied' !=
(i = (i = (i =
-1 !=
(i =
-1 !=
(i = 'failed' == (i = 'confirm' == (i = n.substring(t + 1)) ? 'ok' : i) ? 'fail' : i).indexOf('failed_')
? i.substring(7)
: i).indexOf('fail_')
? i.substring(5)
: i).replace(/_/g, ' ')).toLowerCase()) &&
'no permission to execute' != i) ||
(i = 'permission denied'),
'' == (i = 'config' == e && 'function not exist' == i ? 'ok' : i)) &&
(i = 'fail');
}
return (n = e + ':' + i);
})(e, t)),
(n.errMsg = t)),
(i = i || {})._complete && (i._complete(n), delete i._complete),
(t = n.errMsg || ''),
h.debug && !i.isInnerInvoke && alert(JSON.stringify(n)),
t.indexOf(':'));
switch (t.substring(e + 1)) {
case 'ok':
i.success && i.success(n);
break;
case 'cancel':
i.cancel && i.cancel(n);
break;
default:
i.fail && i.fail(n);
}
i.complete && i.complete(n);
}
function V(e) {
if (e) {
for (var n = 0, i = e.length; n < i; ++n) {
var t = e[n],
t = a[t];
t && (e[n] = t);
}
return e;
}
}
function C(e, n) {
var i;
!h.debug || (n && n.isInnerInvoke) || ((i = c[e]) && (e = i), n && n._complete && delete n._complete, console.log('"' + e + '",', n || ''));
}
function L() {
return new Date().getTime();
}
function B(e) {
o && (r.WeixinJSBridge ? e() : n.addEventListener && n.addEventListener('WeixinJSBridgeReady', e, !1));
}
});
Binary file not shown.
Binary file not shown.
Binary file not shown.
+1
View File
@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" class="iconify iconify--logos" width="31.88" height="32" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 257"><defs><linearGradient id="IconifyId1813088fe1fbc01fb466" x1="-.828%" x2="57.636%" y1="7.652%" y2="78.411%"><stop offset="0%" stop-color="#41D1FF"></stop><stop offset="100%" stop-color="#BD34FE"></stop></linearGradient><linearGradient id="IconifyId1813088fe1fbc01fb467" x1="43.376%" x2="50.316%" y1="2.242%" y2="89.03%"><stop offset="0%" stop-color="#FFEA83"></stop><stop offset="8.333%" stop-color="#FFDD35"></stop><stop offset="100%" stop-color="#FFA800"></stop></linearGradient></defs><path fill="url(#IconifyId1813088fe1fbc01fb466)" d="M255.153 37.938L134.897 252.976c-2.483 4.44-8.862 4.466-11.382.048L.875 37.958c-2.746-4.814 1.371-10.646 6.827-9.67l120.385 21.517a6.537 6.537 0 0 0 2.322-.004l117.867-21.483c5.438-.991 9.574 4.796 6.877 9.62Z"></path><path fill="url(#IconifyId1813088fe1fbc01fb467)" d="M185.432.063L96.44 17.501a3.268 3.268 0 0 0-2.634 3.014l-5.474 92.456a3.268 3.268 0 0 0 3.997 3.378l24.777-5.718c2.318-.535 4.413 1.507 3.936 3.838l-7.361 36.047c-.495 2.426 1.782 4.5 4.151 3.78l15.304-4.649c2.372-.72 4.652 1.36 4.15 3.788l-11.698 56.621c-.732 3.542 3.979 5.473 5.943 2.437l1.313-2.028l72.516-144.72c1.215-2.423-.88-5.186-3.54-4.672l-25.505 4.922c-2.396.462-4.435-1.77-3.759-4.114l16.646-57.705c.677-2.35-1.37-4.583-3.769-4.113Z"></path></svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

+46
View File
@@ -0,0 +1,46 @@
<template>
<div class="app">
<router-view />
</div>
</template>
<style scoped lang="less">
.app {
width: 100%;
height: 100%;
}
div {
text-align: left;
}
</style>
<style lang="less">
//@font-face {
// font-family: HarmonyOS_Sans_SC_Regular;
// src: url('/@/assets/font/HarmonyOS_Sans_SC_Regular.ttf');
//}
//@font-face {
// font-family: HarmonyOS_Sans_SC_Bold;
// src: url('/@/assets/font/HarmonyOS_Sans_SC_Bold.ttf');
//}
//@font-face {
// font-family: HarmonyOS_Sans_SC_Light;
// src: url('/@/assets/font/HarmonyOS_Sans_SC_Light.ttf');
//}
//@font-face {
// font-family: HarmonyOS_Sans_SC_Medium;
// src: url('/@/assets/font/HarmonyOS_Sans_SC_Medium.ttf');
//}
//
.f-bold {
//font-family: 'HarmonyOS_Sans_SC_Bold', serif;
font-family: auto !important;
}
.f-medium {
//font-family: 'HarmonyOS_Sans_SC_Medium', serif;
font-family: auto !important;
}
.f-s-c {
//font-family: 'HarmonyOS_Sans_SC_Regular', serif;
font-family: auto !important;
}
</style>
+5
View File
@@ -0,0 +1,5 @@
// 路径前缀
export const apiPrefix = {
healthAnswer: 'health-answer', //健康答题
healthFoodExercise: 'health-food-exercise', // 运动统计
};
+106
View File
@@ -0,0 +1,106 @@
import { get, post } from '/@/views/mobile/api/api';
// 登录
export const login = (params) => post('login', params);
// 获取个人信息
export const getUserBaseInfo = (params) => get('health-intervene/rest/health-survey/assess/getUserBaseInfo', params);
// 获取问卷
export const questionnaire = (params) => get('health-intervene/rest/health-survey/assess/questionnaire2', params);
// 提交问卷
export const psychologicalEvaluationSubmit = (params) => post('health-intervene/rest/health-survey/assess/psychological-evaluation/submit', params);
// 获取评估结果
export const psychologicalEvaluationGetConclusion = (params) => get('health-intervene/rest/health-survey/assess/psychological-evaluation/getConclusion', params);
// 提交趣味答题
export const funResultSubmit = (params) => post('health-intervene/rest/health-survey/assess/fun-result/submit', params);
// 获取历史测评
export const getHistory = (params) => get('health-intervene/rest/health-survey/assess/psychological-evaluation/getList', params);
// 是否打开档案
export const getBaseInfoStatus = (params) => get('health-intervene/rest/health-eating/analysis/getBaseInfoStatus', params);
// 健康自助管理
export const healthManageHome = (params) => get('health-intervene/rest/health-eating/analysis/healthManageHome', params);
// 糖尿病首页
export const disbetManageHome = (params) => get('health-intervene/rest/health-diabetes/analysis/healthManageHome', params);
// 糖尿病干预列表
export const disbetProposalList = (params) => get('health-intervene/rest/health-diabetes/analysis/getSuggestionsDiabetesIntervention', params);
// 查询健康检测信息列表
export const list = (params) => get('health-intervene/rest/health-eating/input/checkInfo/list/byUserId', params);
// 糖尿病检测历史数据
export const listDiabetes = (params) => get('health-intervene/rest/health-diabetes/input/checkInfoDiabetes/list/byUserId', params);
// 新增编辑健康检测信息
export const addOrEdit = (params) => post('health-intervene/rest/health-eating/input/checkInfo/addOrEdit', params);
// 新增编辑糖尿病
export const addOrEditDiabetes = (params) => post('health-intervene/rest/health-diabetes/input/checkInfoDiabetes/addOrEdit', params);
// 新增编辑健康检测信息
export const checkInfo = (params) => get('health-intervene/rest/health-eating/input/checkInfo', params);
// 糖尿病检测历史回填数据
export const checkInfoDiabetes = (params) => get('health-intervene/rest/health-diabetes/input/checkInfoDiabetes', params);
// 糖尿病回填题
export const diabetesInfo = (params) => get('health-intervene/rest/health-diabetes/input/getDietaryExerciseInfo', params);
// 吃动平衡回填题
export const eatingInfo = (params) => get('health-intervene/rest/health-eating/input/getDietaryExerciseInfo', params);
// 监测报告 日报
export const monitoringReportsOneDay = (params) => get('health-intervene/rest/health-eating/analysis/monitoringReportsOneDay', params);
// 监测报告 周报
export const monitoringReportsOneWeek = (params) => get('health-intervene/rest/health-eating/analysis/monitoringReportsOneWeek', params);
// 膳食结构调整建议
export const getSuggestionsDietaryAdjustment = (params) => get('health-intervene/rest/health-eating/analysis/getSuggestionsDietaryAdjustment', params);
// 吃动平衡建议
export const getSuggestionsOnEating = (params) => get('health-intervene/rest/health-eating/analysis/getSuggestionsOnEating', params);
// 获取员工基本信息档案和高血压所有详细信息
export const getAllInfoByUserId = (params) => get('health-intervene/rest/health-eating/input/getAllInfo/byUserId', params);
// 获取员工基本信息档案和高血压所有详细信息
export const addOrEditByUser = (params) => post('health-intervene/rest/health-eating/input/addOrEdit', params);
// 获取员工基本信息档案和高血压所有详细信息
export const getUserInfo = (params) => post('health-intervene/webjars/health-common/info/userInfo', params);
// 规律起居 —— 岗位提交
export const postStation_living = (params) => post('health-intervene/health-common/user/addOrEdit', params);
// 规律起居 —— 岗位回显
export const getStation_living = (params) => get('health-intervene/health-common/user', params);
//规律起居 —— 上次监测时间
export const times_living = (params) => get('health-intervene/rest/health-rulelife/assess/home', params);
// 规律起居 —— 历史列表
export const history_living = (params) => get('health-intervene/rest/health-rulelife/assess/list', params);
//规律起居 ——周报回填
export const historyById_living = (params) => get('health-intervene/rest/health-rulelife/assess/history', params);
//规律起居 —— 起居计划
export const plan_living = (params) => post('health-intervene/rest/health-rulelife/plan/addOrEdit', params);
//规律起居 —— 起居计划获取
export const getPlan_living = (params) => get('health-intervene/rest/health-rulelife/plan', params);
//规律起居 —— 周报
export const weekly_living = (params) => post('health-intervene/rest/health-rulelife/assess/add', params);
//规律起居 —— 报告
export const report_living = (params) => get('health-intervene/rest/health-rulelife/assess/report', params);
Binary file not shown.

After

Width:  |  Height:  |  Size: 119 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1005 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 65 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 65 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 100 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 132 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 168 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 134 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 173 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 130 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 132 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 284 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 626 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 77 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 208 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 213 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 776 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 57 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 150 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 57 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 55 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 67 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 67 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 653 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 645 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 379 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 395 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 361 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 336 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 335 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 942 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 157 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 799 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 943 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 864 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 90 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Some files were not shown because too many files have changed in this diff Show More