{"version":3,"sources":["webpack:///./src/utils/form.js","webpack:///./src/utils/dayjs.js","webpack:///./src/views/home/NavBar/index.vue?91d7","webpack:///./src/utils/tool.js","webpack:///./src/api/new-question-iteration/home.js","webpack:///./src/store/index.js","webpack:///./src/utils/flexible.js","webpack:///./src/api/new-question-iteration/common.js","webpack:///./src/views/home/Footer/index.vue?bc1f","webpack:///./src/assets/img/homes/logo.png","webpack:///./src/router/question/manage.js","webpack:///./src/router/question/index.js","webpack:///./src/router/admin.js","webpack:///./src/views/home/NavBar/index.vue?bb99","webpack:///src/views/home/NavBar/index.vue","webpack:///./src/views/home/NavBar/index.vue?e108","webpack:///./src/views/home/NavBar/index.vue","webpack:///./src/views/home/Footer/index.vue?dd3a","webpack:///src/views/home/Footer/index.vue","webpack:///./src/views/home/Footer/index.vue?113e","webpack:///./src/views/home/Footer/index.vue","webpack:///./src/router/index.js","webpack:///./src/utils/request.js","webpack:///./src/api/user.js","webpack:///./src/utils/platform-config.js","webpack:///./src/config.js","webpack:///./src/assets/img/homes/footer-service-phone.png"],"names":["postForm","url","params","request","method","headers","data","objCoverFormData","$_isFormData","formData","FormData","k","Array","isArray","append","join","undefined","FormValid","rules","this","formObject","message","Object","keys","forEach","key","value","some","rule","ValidRule","valid","push","errorMsg","validator","v","length","quillEmpty","content","jsonHeaders","dayjs","extend","relativeTime","locale","Vue","filter","to","dispatchEventStroage","signSetItem","localStorage","setItem","val","setEvent","Event","newValue","window","dispatchEvent","apply","arguments","getNavMenu","PlatformName","HOME_PAGE_MAP","store","state","platform","domain","post","use","Vuex","TOKEN_KEY","USER_INFO","CURRENT_ID","CURRENT_Name","Store","user","Cookies","get","userInfo","JSON","parse","currentClassId","sessionStorage","getItem","currentClassName","recruitScrollY","navMenu","profileRoutes","isLoadNavMenu","isLoadProfileRoutes","isLoadBingIp","isBindingIp","questionnaireDetail","groupInfo","protocol","location","getters","availablePlatform","platforms","includes","isLogin","String","mutations","setUser","remove","removeItem","set","logout","setUserInfo","platformMap","title","Logo","GroupUserLogo","role","Role","isOrgManager","stringify","setFavicon","setCurrentClassId","setCurrentClassName","changeRecruitScrollY","setPlatform","payload","setNavMenu","setPersonCenter","personRoutes","clearPersonCenter","clearNavMenu","setLoadBindingIp","setBindingIp","setQuestionnaireDetail","setGroupInfo","actions","commit","Promise","resolve","reject","pathAndIsLoginMapById","freeze","then","res","map","item","assign","Path","Code","IsNeedLogin","e","getPersonCenter","getPersonRoute","userIsBindingOrg","IsIPAuthorize","modules","win","lib","tid","doc","document","docEl","documentElement","metaEl","querySelector","flexibleEl","dpr","scale","flexible","console","warn","match","getAttribute","parseFloat","parseInt","initialDpr","maximumDpr","toFixed","navigator","appVersion","isIPhone","devicePixelRatio","setAttribute","createElement","firstElementChild","appendChild","wrap","write","innerHTML","refreshRem","width","getBoundingClientRect","rem","style","fontSize","addEventListener","clearTimeout","setTimeout","persisted","readyState","body","rem2px","d","px2rem","module","exports","sidebarRoutes","path","name","component","meta","menuItemActive","subMenuItem","manageRoutes","children","hidden","baseAdminRoute","needAdmin","redirect","alive","question","render","_vm","_h","$createElement","_c","_self","staticClass","_m","attrs","_v","on","$event","stopPropagation","handleLogin","_e","loginDialogShow","staticRenderFns","questionLib","codeMapModules","exam","course","questionnaire","home","profile","myCollect","myTrack","myQuestionnaire","myMember","myCourse","myExam","VueRouter","routes","keepAlive","auth","enName","components","navBar","NavBar","default","footer","Footer","router","scrollBehavior","from","savedPosition","startsWith","x","y","behavior","manageWhiteRouteHome","adminPaths","hostname","RegExp","raw","hostKey","whiteList","isSetFavicon","link","type","rel","href","getElementsByTagName","beforeEach","next","dispatch","Name","GroupWebName","Message","error","query","replace","isObj","OrganName","metaTitle","isManage","setManageRoute","log","fullPath","endsWith","slice","canNext","el","alert","navMenus","isLoad","paths","split","addRoutes","adminRoutes","targetArr","basePath","child","bp","added","indexOf","target","setManageRouteOfServer","work","result","getModularByUserId","r","axios","create","baseURL","config","transformResponse","JSONBig","err","interceptors","Authorization","CustomDomain","DOMAIN","LoginOverdue","msg","Error","showMessage","pathname","Toast","requestData","args","code","needRaw","response","status","lastIndexOf","suffix","origin","isAxiosError","postFormData","progressEvent","form","onUploadProgress","Register","UserInfo","AdminUserInfo","SendLoginCode","currentStatus","otherProps","SendUpdatePassCode","UpdatePassForTel2","TelLogin","GetChapterPrice","accountLogin","ManageLogin","loginOut","SendRegCode","SendPassCode","ForgetPassForTeL","wxPayPc","aliPayPc","PayOrderStatus","EditUser","GetGroupUser","UpdateUserOrganLevel","UserOrganLevelApply","GetUserOrganLevelInfo","UpdatePwdForOldPwd","UpdateTelphoneSendMsg","VerifyOldTelphone","BindTelphoneSendMsg","BindTelphone","changeUserRole","toAccountType","importUser","fileUrl","isAuthorizedDoQuestionnaire","id","addHotValue","SourceId","GetBuildVerifyCode","SendRegCodeByCaptcha","LoginByTel","UpdateGroupUserId","realOrigin","realDomain","kaoshi","yixue","jigou","hangye","text","isYznDebug","process","isDev","devConfig","organid","prodConfig","define"],"mappings":"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","file":"js/chunk-common.e0a5c685.js","sourcesContent":["import request from \"@/utils/request\"\r\n\r\n/**\r\n * 封装postForm请求\r\n * postJson\r\n */\r\nexport const postForm = (url, params) => {\r\n return request({\r\n url: url,\r\n method: \"post\",\r\n headers: { \"Content-Type\": \"multipart/form-data\" },\r\n data: objCoverFormData(params),\r\n $_isFormData: true\r\n })\r\n}\r\n\r\nexport function objCoverFormData(params) {\r\n let formData = new FormData()\r\n if (params) {\r\n for (let k in params) {\r\n if (Array.isArray(params[k])) {\r\n formData.append(k, params[k].join(\",\"))\r\n continue\r\n }\r\n if (typeof params[k] === typeof {}) {\r\n continue\r\n }\r\n if (params[k] === null || params[k] === undefined) {\r\n continue\r\n }\r\n formData.append(k, params[k])\r\n }\r\n }\r\n return formData\r\n}\r\n\r\nexport class FormValid {\r\n /**\r\n * 创建一个表单验证\r\n * form = {username: \"jethro\"}\r\n * rules={\r\n * username: [\r\n * new ValidRules(validator.isEmail, \"请输入正确email\")\r\n * ]\r\n * }\r\n * @param rules {Object}\r\n */\r\n constructor(rules) {\r\n this.rules = rules\r\n }\r\n\r\n /**\r\n * 验证表单并返回错误消息列表\r\n * @param formObject {Object}\r\n * @return {[String]}\r\n */\r\n valid(formObject) {\r\n let message = []\r\n Object.keys(this.rules).forEach((key) => {\r\n let value = formObject[key]\r\n let rules = this.rules[key]\r\n rules.some(rule => {\r\n if (rule instanceof ValidRule) {\r\n if (rule.valid(value)) {\r\n message.push(rule.errorMsg)\r\n return true\r\n }\r\n }\r\n })\r\n })\r\n return message\r\n }\r\n}\r\n\r\nexport class ValidRule {\r\n constructor(validator, errorMsg) {\r\n this.errorMsg = errorMsg\r\n this.validator = validator\r\n }\r\n\r\n /**\r\n * 创建一个非空验证器,当数据不为空时返回true\r\n * @param errorMsg\r\n * @return {ValidRule}\r\n */\r\n static required(errorMsg) {\r\n const v = (value) => {\r\n if (value == null) return false;\r\n if (value === \"\") return false;\r\n if (value instanceof Object) {\r\n if (Object.keys(value).length === 0) return false\r\n }\r\n return !(value instanceof Array && value.length === 0);\r\n }\r\n return new ValidRule(v, errorMsg)\r\n }\r\n\r\n /**\r\n * 验证数据\r\n * @param value 数据\r\n * @return {String} 如果验证不通过则返回错误消息\r\n */\r\n valid(value) {\r\n if (!this.validator(value)) {\r\n return this.errorMsg;\r\n }\r\n }\r\n}\r\n\r\n/**\r\n * 验证 quill 富文本编辑器内容物是否为空\r\n * @param content\r\n */\r\nexport function quillEmpty(content) {\r\n if (content === null || content === \"\") return true;\r\n if (Array.isArray(content) && content.length === 0) return true;\r\n if (content === \"


\") return true;\r\n return false;\r\n}\r\n\r\nexport const jsonHeaders = {\r\n \"Content-Type\": \"application/json;charset=UTF-8\"\r\n}\r\n","import Vue from \"vue\"\r\nimport dayjs from \"dayjs\"\r\n\r\n// 加载中文语言包\r\nimport \"dayjs/locale/zh-cn\"\r\n\r\nimport relativeTime from \"dayjs/plugin/relativeTime\"\r\n\r\n// 配置使用处理相对时间的插件\r\ndayjs.extend(relativeTime)\r\n\r\n// dayjs 默认语言是英文,我们这里配置为中文\r\ndayjs.locale(\"zh-cn\") // 全局使用\r\n\r\n// 定义一个全局过滤器,然后就可以在任何组件的模板中使用了\r\n// 其实过滤器就相当于一个全局可用的方法(仅供模板使用)\r\n// 参数1:过滤器名称\r\n// 参数2:过滤器函数\r\n// 使用方式:{{ 表达式 | 过滤器名称 }}\r\n// 管道符前面的表达式的结果会作为参数传递到过滤器函数中\r\n// 过滤器的返回值会渲染到使用过滤器的模板位置\r\nVue.filter(\"relativeTime\", value => {\r\n return dayjs().to(dayjs(value))\r\n})\r\n\r\n// dayjs() 获取当前最新时间\r\n// console.log(dayjs().format('YYYY-MM-DD'))\r\n\r\n// console.log(dayjs().to(dayjs('2015'))) // 2 年以前\r\n","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&id=3f8dffe6&scoped=true&lang=less&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&id=3f8dffe6&scoped=true&lang=less&\"","//* ***将这段内容放在tool.js文件中****\r\n// 重写setItem事件,当使用setItem的时候,触发,window.dispatchEvent派发事件\r\nfunction dispatchEventStroage() {\r\n const signSetItem = localStorage.setItem\r\n localStorage.setItem = function(key, val) {\r\n let setEvent = new Event(\"setItemEvent\")\r\n setEvent.key = key\r\n setEvent.newValue = val\r\n window.dispatchEvent(setEvent)\r\n signSetItem.apply(this, arguments)\r\n }\r\n}\r\nexport default dispatchEventStroage;\r\n","/**\r\n * @Author: 左建\r\n * @Date: 2022/6/14 15:13\r\n * @LastEditTime: 2022/6/14 15:13\r\n * @Description: 首页迭代接口\r\n**/\r\nimport { get, post } from \"@/utils/request\"\r\nimport { HOME_PAGE_MAP } from \"@/utils/platform-config\";\r\nimport store from \"@/store\";\r\n/**\r\n * 获取导航栏菜单\r\n * @return {Promise}\r\n **/\r\nexport function getNavMenu () {\r\n const PlatformName = HOME_PAGE_MAP[store.state.platform].domain\r\n return post(\"/Manage/Platform/GetSystemHander\", { PlatformName })\r\n}\r\n","import Vue from \"vue\"\r\nimport Vuex from \"vuex\"\r\nimport Cookies from \"js-cookie\"\r\nimport { getNavMenu } from \"@/api/new-question-iteration/home\";\r\nimport { getPersonRoute } from \"@/api/new-question-iteration/common\"\r\nimport { userIsBindingOrg } from \"@/api/user\"\r\nimport { setFavicon } from \"@/router\";\r\nimport { HOME_PAGE_MAP } from \"@/utils/platform-config\"\r\nVue.use(Vuex)\r\n\r\nconst TOKEN_KEY = \"TOKEN_USER\"\r\nconst USER_INFO = \"USER_INFO\"\r\nconst CURRENT_ID = \"CURRENT_ID\"\r\nconst CURRENT_Name = \"CURRENT_Name\"\r\n\r\nexport default new Vuex.Store({\r\n state: {\r\n // 一个对象,存储当前登录用户信息(token等数据)\r\n user: Cookies.get(TOKEN_KEY) || null,\r\n userInfo: JSON.parse(Cookies.get(USER_INFO) || null),\r\n currentClassId: JSON.parse(window.sessionStorage.getItem(CURRENT_ID)),\r\n currentClassName: JSON.parse(window.sessionStorage.getItem(CURRENT_Name)),\r\n recruitScrollY: 0,\r\n platform: \"\",\r\n navMenu: [],\r\n profileRoutes: [],\r\n isLoadNavMenu: false, // 是否加载过导航栏\r\n isLoadProfileRoutes: false,\r\n isLoadBingIp: false,\r\n isBindingIp: false, // 是否绑定ip\r\n questionnaireDetail: {}, // 问卷详情\r\n groupInfo: {}, // 机构信息\r\n protocol: window.location.protocol\r\n },\r\n getters: {\r\n recruitScrollY: state => state.recruitScrollY,\r\n // 允许的平台\r\n availablePlatform: state => {\r\n return (platforms) => {\r\n return Array.isArray(platforms) ? platforms.includes(state.platform) : false\r\n }\r\n },\r\n isLogin: state => String(state.user) !== \"null\" && state.user\r\n },\r\n mutations: {\r\n setUser(state, data) {\r\n state.user = data\r\n if (data == null) {\r\n state.userInfo = null;\r\n Cookies.remove(TOKEN_KEY)\r\n Cookies.remove(USER_INFO)\r\n localStorage.removeItem(\"user_modular\")\r\n return\r\n }\r\n Cookies.set(TOKEN_KEY, state.user)\r\n },\r\n logout(state) {\r\n state.user = null;\r\n state.userInfo = null;\r\n Cookies.remove(TOKEN_KEY)\r\n Cookies.remove(USER_INFO)\r\n localStorage.removeItem(\"user_modular\")\r\n },\r\n setUserInfo(state, data) {\r\n if (data == null) {\r\n state.userInfo = data\r\n Cookies.remove(USER_INFO)\r\n return\r\n }\r\n const platformMap = HOME_PAGE_MAP[state.platform]\r\n if (platformMap) {\r\n data.PlatformName = platformMap.title\r\n }\r\n state.userInfo = data\r\n state.userInfo.Logo = data.GroupUserLogo || data.Logo\r\n // 是否是机构管理员\r\n const role = state.userInfo.Role\r\n state.userInfo.isOrgManager = role === \"1\" || role === \"\" || role === \"Admin\" || role == null\r\n Cookies.set(USER_INFO, JSON.stringify(state.userInfo))\r\n setFavicon(state.userInfo.Logo)\r\n },\r\n setCurrentClassId(state, data) {\r\n state.currentClassId = data\r\n window.sessionStorage.setItem(CURRENT_ID, JSON.stringify(state.currentClassId))\r\n },\r\n setCurrentClassName(state, data) {\r\n state.currentClassName = data\r\n window.sessionStorage.setItem(CURRENT_Name, JSON.stringify(state.currentClassName))\r\n },\r\n changeRecruitScrollY(state, recruitScrollY) {\r\n state.recruitScrollY = recruitScrollY\r\n },\r\n // 设置平台\r\n setPlatform(state, payload) {\r\n state.platform = payload\r\n },\r\n // 设置导航\r\n setNavMenu(state, navMenu) {\r\n state.navMenu = navMenu\r\n state.isLoadNavMenu = true\r\n },\r\n setPersonCenter(state, personRoutes) {\r\n state.profileRoutes = personRoutes\r\n state.isLoadProfileRoutes = true\r\n },\r\n clearPersonCenter(state) {\r\n state.profileRoutes = []\r\n state.isLoadProfileRoutes = false\r\n },\r\n clearNavMenu(state) {\r\n state.navMenu = []\r\n state.isLoadNavMenu = false\r\n },\r\n setLoadBindingIp(state) {\r\n state.isLoadBingIp = true\r\n },\r\n setBindingIp (state, payload) {\r\n state.isBindingIp = payload\r\n },\r\n setQuestionnaireDetail (state, payload) {\r\n state.questionnaireDetail = payload || {}\r\n },\r\n // 设置机构信息\r\n setGroupInfo (state, payload) {\r\n state.groupInfo = payload\r\n }\r\n },\r\n actions: {\r\n /**\r\n * 获取导航栏菜单\r\n * @return {Promise}\r\n **/\r\n getNavMenu({ commit, state }) {\r\n return new Promise((resolve, reject) => {\r\n // 根据id映射路径和是否需要登录\r\n const pathAndIsLoginMapById = Object.freeze({\r\n \"-100\": [\"/question/public\", state.platform === \"yixue\" ? !state.isBindingIp : true],\r\n \"-200\": [\"/exam\", true],\r\n \"-300\": [\"/course\", true],\r\n \"-400\": [\"/psq\", true],\r\n \"-500\": [\"/home-medicine\", false]\r\n })\r\n getNavMenu().then(res => {\r\n const navMenu = (res.data || []).map(item => Object.assign(item, {\r\n Path: pathAndIsLoginMapById[item.Code][0],\r\n IsNeedLogin: pathAndIsLoginMapById[item.Code][1]\r\n }))\r\n resolve(navMenu)\r\n commit(\"setNavMenu\", navMenu)\r\n }).catch(e => {\r\n commit(\"setNavMenu\", [])\r\n reject(e)\r\n })\r\n })\r\n },\r\n // 获取个人中心菜单\r\n getPersonCenter({ commit }) {\r\n return new Promise((resolve, reject) => {\r\n getPersonRoute().then(res => {\r\n commit(\"setPersonCenter\", res)\r\n resolve(res)\r\n }).catch(e => {\r\n commit(\"setPersonCenter\", [])\r\n reject(e)\r\n })\r\n })\r\n },\r\n // 设置绑定ip\r\n async setBindingIp({ commit }) {\r\n try {\r\n const res = await userIsBindingOrg()\r\n commit(\"setLoadBindingIp\")\r\n commit(\"setBindingIp\", res.IsIPAuthorize)\r\n commit(\"setGroupInfo\", res)\r\n return res\r\n } catch (e) {\r\n commit(\"setLoadBindingIp\")\r\n commit(\"setBindingIp\", false)\r\n return Promise.reject()\r\n }\r\n }\r\n },\r\n modules: {}\r\n})\r\n",";(function (win, lib) {\r\n var doc = win.document;\r\n var docEl = doc.documentElement;\r\n var metaEl = doc.querySelector('meta[name=\"viewport\"]');\r\n var flexibleEl = doc.querySelector('meta[name=\"flexible\"]');\r\n var dpr = 0;\r\n var scale = 0;\r\n var tid;\r\n var flexible = lib.flexible || (lib.flexible = {});\r\n\r\n if (metaEl) {\r\n console.warn(\"将根据已有的meta标签来设置缩放比例\");\r\n var match = metaEl.getAttribute(\"content\").match(/initial\\-scale=([\\d\\.]+)/);\r\n if (match) {\r\n scale = parseFloat(match[1]);\r\n dpr = parseInt(1 / scale);\r\n }\r\n } else if (flexibleEl) {\r\n var content = flexibleEl.getAttribute(\"content\");\r\n if (content) {\r\n var initialDpr = content.match(/initial\\-dpr=([\\d\\.]+)/);\r\n var maximumDpr = content.match(/maximum\\-dpr=([\\d\\.]+)/);\r\n if (initialDpr) {\r\n dpr = parseFloat(initialDpr[1]);\r\n scale = parseFloat((1 / dpr).toFixed(2));\r\n }\r\n if (maximumDpr) {\r\n dpr = parseFloat(maximumDpr[1]);\r\n scale = parseFloat((1 / dpr).toFixed(2));\r\n }\r\n }\r\n }\r\n\r\n if (!dpr && !scale) {\r\n var isAndroid = win.navigator.appVersion.match(/android/gi);\r\n var isIPhone = win.navigator.appVersion.match(/iphone/gi);\r\n var devicePixelRatio = win.devicePixelRatio;\r\n if (isIPhone) {\r\n // iOS下,对于2和3的屏,用2倍的方案,其余的用1倍方案\r\n if (devicePixelRatio >= 3 && (!dpr || dpr >= 3)) {\r\n dpr = 3;\r\n } else if (devicePixelRatio >= 2 && (!dpr || dpr >= 2)) {\r\n dpr = 2;\r\n } else {\r\n dpr = 1;\r\n }\r\n } else {\r\n // 其他设备下,仍旧使用1倍的方案\r\n dpr = 1;\r\n }\r\n scale = 1 / dpr;\r\n }\r\n\r\n docEl.setAttribute(\"data-dpr\", dpr);\r\n if (!metaEl) {\r\n metaEl = doc.createElement(\"meta\");\r\n metaEl.setAttribute(\"name\", \"viewport\");\r\n metaEl.setAttribute(\"content\", \"initial-scale=\" + scale + \", maximum-scale=\" + scale + \", minimum-scale=\" + scale + \", user-scalable=no\");\r\n if (docEl.firstElementChild) {\r\n docEl.firstElementChild.appendChild(metaEl);\r\n } else {\r\n var wrap = doc.createElement(\"div\");\r\n wrap.appendChild(metaEl);\r\n doc.write(wrap.innerHTML);\r\n }\r\n }\r\n\r\n function refreshRem() {\r\n var width = docEl.getBoundingClientRect().width;\r\n // if (width / dpr > 540) {\r\n // width = 540 * dpr;\r\n // }\r\n var rem = width / 10;\r\n docEl.style.fontSize = rem + \"px\";\r\n flexible.rem = win.rem = rem;\r\n }\r\n\r\n win.addEventListener(\"resize\", function () {\r\n clearTimeout(tid);\r\n tid = setTimeout(refreshRem, 300);\r\n }, false);\r\n win.addEventListener(\"pageshow\", function (e) {\r\n if (e.persisted) {\r\n clearTimeout(tid);\r\n tid = setTimeout(refreshRem, 300);\r\n }\r\n }, false);\r\n\r\n if (doc.readyState === \"complete\") {\r\n doc.body.style.fontSize = 12 * dpr + \"px\";\r\n } else {\r\n doc.addEventListener(\"DOMContentLoaded\", function (e) {\r\n doc.body.style.fontSize = 12 * dpr + \"px\";\r\n }, false);\r\n }\r\n\r\n refreshRem();\r\n\r\n flexible.dpr = win.dpr = dpr;\r\n flexible.refreshRem = refreshRem;\r\n flexible.rem2px = function (d) {\r\n var val = parseFloat(d) * this.rem;\r\n if (typeof d === \"string\" && d.match(/rem$/)) {\r\n val += \"px\";\r\n }\r\n return val;\r\n }\r\n flexible.px2rem = function (d) {\r\n var val = parseFloat(d) / this.rem;\r\n if (typeof d === \"string\" && d.match(/px$/)) {\r\n val += \"rem\";\r\n }\r\n return val;\r\n }\r\n})(window, window.lib || (window.lib = {}));\r\n","/**\r\n * @Author: 左建\r\n * @Date: 2022/6/17 14:29\r\n * @LastEditTime: 2022/6/17 14:29\r\n * @Description: 公共接口\r\n*/\r\nimport { get, post } from \"@/utils/request\"\r\n\r\n/**\r\n * 获取用户模块\r\n * @return {Promise}\r\n */\r\n\r\nexport function getPersonRoute () {\r\n return post(\"/Manage/Platform/GetSystemModular\")\r\n}\r\n","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&id=42249f9e&scoped=true&lang=less&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&id=42249f9e&scoped=true&lang=less&\"","module.exports = __webpack_public_path__ + \"img/logo.f1ffbd6c.png\";","/**\r\n * @Author: 左建\r\n * @Date: 2022/6/27 13:59\r\n * @LastEditTime: 2022/6/27 13:59\r\n * @Description: 管理端相关接口\r\n*/\r\n// 管理后台侧边栏相关\r\nexport const sidebarRoutes = Object.freeze([\r\n {\r\n path: \"psq\",\r\n name: \"ManagePsq\",\r\n component: () => import(\"@/views/manage/psq/sidebar-psq/index\"),\r\n meta: {\r\n title: \"维普问卷\",\r\n menuItemActive: 'psq',\r\n subMenuItem: '/manage/psq'\r\n }\r\n }\r\n])\r\n\r\n// 管理后台问卷相关\r\nexport const manageRoutes = Object.freeze([\r\n {\r\n path: \"/manage/msq\",\r\n name: \"ManageMsq\",\r\n component: () => import(\"@/views/manage/psq/msq\"),\r\n meta: {\r\n title: \"维普问卷\"\r\n },\r\n children: [\r\n {\r\n path: \"create\",\r\n name: \"ManageMsqCreate\",\r\n component: () => import(\"@/views/manage/psq/msq/create\"),\r\n meta: {\r\n title: \"创建问卷\",\r\n hidden: true\r\n },\r\n },\r\n {\r\n path: \"create/text\",\r\n name: \"CreateTextImport\",\r\n component: () => import(\"@/views/manage/psq/msq/create-text-import\"),\r\n meta: {\r\n title: \"问卷文本导入\",\r\n hidden: true\r\n },\r\n },\r\n {\r\n path: \"create/empty\",\r\n name: \"CreateEmpty\",\r\n component: () => import(\"@/views/manage/psq/msq/create-empty\"),\r\n meta: {\r\n title: \"问卷空白创建\",\r\n hidden: true\r\n },\r\n },\r\n {\r\n path: \"stat\",\r\n name: \"Stat\",\r\n component: () => import(\"@/views/manage/psq/msq/stat\"),\r\n meta: {\r\n title: \"问卷统计\",\r\n hidden: true\r\n },\r\n }\r\n ]\r\n\r\n }\r\n])\r\n","/**\r\n * @Author: 左建\r\n * @Date: 2022/6/27 11:28\r\n * @LastEditTime: 2022/6/27 11:28\r\n * @Description: 问卷先关路由相关配置\r\n *\r\n*/\r\nimport { manageRoutes, sidebarRoutes } from \"./manage\"\r\n\r\nexport default {\r\n sidebarRoutes,\r\n manageRoutes\r\n}\r\n","import question from \"./question\"\r\n\r\nconst baseAdminRoute = [\r\n {\r\n path: \"/manage\",\r\n component: () => import(\"@/views/manage\"),\r\n meta: {\r\n needAdmin: true\r\n },\r\n redirect: { name: \"manage-index\" },\r\n children: [\r\n {\r\n path: \"home\",\r\n name: \"manage-index\",\r\n // redirect: { name: \"exam-list\" },\r\n component: () => import(\"@/views/manage/demo\"),\r\n meta: { title: \"首页\", menuItemActive: 'home', subMenuItem: '/manage/home' }\r\n },\r\n {\r\n path: \"user\",\r\n name: \"user\",\r\n component: () => import(\"@/views/manage/CardContainer\"),\r\n meta: { title: \"用户管理\" },\r\n redirect: \"/manage/user/admin\",\r\n children: [\r\n {\r\n path: \"admin\",\r\n name: \"admin\",\r\n component: () => import(\"@/views/manage/user/admin\"),\r\n meta: { title: \"机构管理员\" }\r\n },\r\n {\r\n path: \"teacher\",\r\n name: \"teacher\",\r\n component: () => import(\"@/views/manage/user/teacher/teacher\"),\r\n meta: { title: \"机构教师\" }\r\n },\r\n {\r\n path: \"list\",\r\n name: \"list\",\r\n component: () => import(\"@/views/manage/user/list\"),\r\n meta: { title: \"前台用户\" }\r\n },\r\n {\r\n path: \"group\",\r\n name: \"group\",\r\n component: () => import(\"@/views/manage/user/group\"),\r\n meta: { title: \"用户组\" }\r\n },\r\n {\r\n path: \"importGroup\",\r\n name: \"importGroup\",\r\n component: () =>\r\n import(\"@/views/manage/user/importGroup\"),\r\n meta: { title: \"用户组\" }\r\n }\r\n ]\r\n },\r\n {\r\n path: \"basic\",\r\n name: \"basic\",\r\n component: () => import(\"@/views/manage/CardContainer\"),\r\n meta: { title: \"字典管理\" },\r\n redirect: \"/manage/basic/category\",\r\n children: [\r\n {\r\n path: \"category\",\r\n name: \"自建分类\",\r\n component: () =>\r\n import(\"@/views/manage/basic/category\"),\r\n meta: { title: \"自建分类\" }\r\n },\r\n {\r\n path: \"point\",\r\n name: \"BasicPoint\",\r\n component: () => import(\"@/views/manage/basic/point\"),\r\n meta: { title: \"知识点\" }\r\n },\r\n {\r\n path: \"log\",\r\n name: \"basicLog\",\r\n component: () => import(\"@/views/manage/basic/log/log\"),\r\n meta: { title: \"操作日志记录\" }\r\n }\r\n ]\r\n },\r\n {\r\n path: \"resource\",\r\n name: \"resource\",\r\n component: () => import(\"@/views/manage/CardContainer\"),\r\n meta: { title: \"资源管理\" },\r\n redirect: \"/manage/resource/common\",\r\n children: [\r\n {\r\n path: \"common\",\r\n name: \"common\",\r\n component: () =>\r\n import(\"@/views/manage/resource/common\"),\r\n meta: { title: \"公共题库\" }\r\n },\r\n {\r\n path: \"question\",\r\n name: \"question\",\r\n component: () =>\r\n import(\"@/views/manage/resource/question\"),\r\n meta: { title: \"试题管理\" }\r\n },\r\n {\r\n path: \"paper\",\r\n name: \"paper\",\r\n component: () =>\r\n import(\"@/views/manage/resource/paper\"),\r\n meta: { title: \"试卷管理\" }\r\n },\r\n {\r\n name: \"resourceCourse\",\r\n path: \"course\",\r\n component: () =>\r\n import(\"@/views/manage/resource/course/course\"),\r\n meta: { title: \"课程管理\", alive: false, menuItemActive: 'course', subMenuItem: '/manage/resource' }\r\n },\r\n {\r\n name: \"AddCourse\",\r\n path: \"course/add\",\r\n component: () => import(\"@/views/manage/resource/course/add/add\"),\r\n meta: { title: \"新增课程\", hidden: true, menuItemActive: 'course', subMenuItem: '/manage/resource' }\r\n },\r\n {\r\n name: \"courseDetail\",\r\n path: \"course/detail\",\r\n component: () => import(\"@/views/manage/resource/course/detail/detail\"),\r\n meta: { title: \"课程详情\", hidden: true, menuItemActive: 'course', subMenuItem: '/manage/resource' }\r\n },\r\n {\r\n path: \"addPaper\",\r\n name: \"addPaper\",\r\n component: () =>\r\n import(\"@/views/manage/resource/addPaper\"),\r\n meta: {\r\n title: \"新增试卷\",\r\n hidden: true,\r\n }\r\n },\r\n {\r\n path: \"addQue\",\r\n name: \"addQue\",\r\n component: () =>\r\n import(\"@/views/manage/resource/addQue\"),\r\n meta: {\r\n title: \"新增试卷\",\r\n hidden: true\r\n }\r\n }\r\n ]\r\n },\r\n {\r\n path: \"exam\",\r\n name: \"exam-index\",\r\n component: () => import(\"@/views/manage/CardContainer\"),\r\n meta: { title: \"考试管理\" },\r\n redirect: \"/manage/exam/create-exam\",\r\n children: [\r\n {\r\n path: \"create-exam\",\r\n name: \"create-exam\",\r\n component: () =>\r\n import(\"@/views/manage/exam/create-exam\"),\r\n meta: { title: \"创建考试\" }\r\n },\r\n {\r\n path: \"exam-list\",\r\n name: \"exam-list\",\r\n component: () =>\r\n import(\"@/views/manage/exam/exam-list\"),\r\n meta: { title: \"考试列表\" }\r\n },\r\n {\r\n path: \"correct-exam\",\r\n name: \"correct-exam\",\r\n component: () =>\r\n import(\"@/views/manage/exam/correct-exam\"),\r\n meta: { title: \"考试阅卷\" }\r\n },\r\n {\r\n path: \"correct-exam2\",\r\n name: \"correct-exam2\",\r\n component: () =>\r\n import(\"@/views/manage/exam/correct-exam2\"),\r\n meta: {\r\n title: \"考试阅卷\",\r\n hidden: true\r\n }\r\n },\r\n {\r\n path: \"exam-results\",\r\n name: \"exam-results\",\r\n component: () =>\r\n import(\"@/views/manage/exam/exam-results\"),\r\n meta: { title: \"考试成绩\" }\r\n },\r\n {\r\n path: \"exam-results2\",\r\n name: \"exam-results2\",\r\n component: () =>\r\n import(\"@/views/manage/exam/exam-results2\"),\r\n meta: {\r\n title: \"考试成绩\",\r\n hidden: true\r\n },\r\n },\r\n {\r\n path: \"exam-results2-records\",\r\n name: \"exam-results2-records\",\r\n component: () =>\r\n import(\"@/views/manage/exam/exam-results2-records\"),\r\n meta: {\r\n title: \"试卷导出记录\",\r\n hidden: true\r\n },\r\n },\r\n {\r\n path: \"result-statistics\",\r\n name: \"result-statistics\",\r\n component: () =>\r\n import(\"@/views/manage/exam/result-statistics\"),\r\n meta: { title: \"成绩统计\" }\r\n },\r\n {\r\n path: \"result-statistics2\",\r\n name: \"result-statistics2\",\r\n component: () =>\r\n import(\"@/views/manage/exam/result-statistics2\"),\r\n meta: {\r\n title: \"考试成绩\",\r\n hidden: true\r\n }\r\n }\r\n ]\r\n },\r\n ...question.sidebarRoutes,\r\n {\r\n path: \"/manage/paperImport\",\r\n name: \"ManagePaperImport\",\r\n component: () => import(\"@/views/manage/paperImport/paperImport\"),\r\n meta: {\r\n title: \"试卷导入\",\r\n }\r\n },\r\n ]\r\n },\r\n {\r\n path: \"/manage/statistic\",\r\n name: \"statistic\",\r\n component: () => import(\"@/views/manage/statistic/statistic\")\r\n },\r\n {\r\n path: \"/manage/previewExam\",\r\n name: \"previewExam\",\r\n component: () => import(\"@/views/manage/previewExam\")\r\n },\r\n {\r\n path: \"/manage/gradingPaper\",\r\n name: \"gradingPaper\",\r\n component: () => import(\"@/views/manage/gradingPaper\")\r\n },\r\n {\r\n path: \"/manage/examResultPaper\",\r\n name: \"examResultPaper\",\r\n component: () => import(\"@/views/manage/exam/result-print\")\r\n },\r\n {\r\n path: \"/manage/do-questionnaire\",\r\n name: \"ManageDoQuestionnaire\",\r\n component: () => import(\"@/views/manage/psq/msq/doQuestionnaire/index\"),\r\n meta: {\r\n title: \"查看问卷答案\",\r\n }\r\n },\r\n {\r\n path: \"/manage/view-question\",\r\n name: \"ManageViewQuestion\",\r\n component: () => import(\"@/views/manage/psq/msq/view-question/index\"),\r\n meta: {\r\n title: \"查看预览问卷\",\r\n }\r\n },\r\n ...question.manageRoutes\r\n];\r\n\r\nexport { baseAdminRoute };\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"container\"},[_c('nav',{staticClass:\"navbar-container\"},[_c('div',{staticClass:\"navbar\"},[_vm._m(0),_c('router-link',{staticClass:\"navbar-item\",attrs:{\"to\":\"/home-exam\",\"active-class\":\"is--active\"}},[_vm._v(\" 考试平台 \")]),_c('router-link',{staticClass:\"navbar-item\",attrs:{\"to\":\"/home-business\",\"active-class\":\"is--active\"}},[_vm._v(\" 行业方案 \")]),_c('router-link',{staticClass:\"navbar-item\",attrs:{\"to\":\"/home-organization\",\"active-class\":\"is--active\"}},[_vm._v(\" 机构定制 \")]),(_vm.isShowLoginBtn)?_c('div',{staticClass:\"login-container\"},[_c('span',{staticClass:\"pointer\",on:{\"click\":function($event){$event.stopPropagation();return _vm.handleLogin($event)}}},[_vm._v(\"登录\")]),_c('span',{staticClass:\"divide\"},[_vm._v(\"|\")]),_c('span',{staticClass:\"pointer\",on:{\"click\":function($event){$event.stopPropagation();return _vm.handleLogin($event)}}},[_vm._v(\"注册\")])]):_vm._e()],1)]),_c('login-diolog',{attrs:{\"show\":_vm.loginDialogShow},on:{\"update:show\":function($event){_vm.loginDialogShow=$event}}})],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('h1',{staticClass:\"navbar-logo\"},[_c('img',{staticClass:\"navbar-logo--img\",attrs:{\"alt\":\"logo\",\"src\":require(\"@/assets/img/homes/logo.png\")}}),_vm._v(\" 维普培训考试服务平台 \")])}]\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=3f8dffe6&scoped=true&\"\nimport script from \"./index.vue?vue&type=script&lang=js&\"\nexport * from \"./index.vue?vue&type=script&lang=js&\"\nimport style0 from \"./index.vue?vue&type=style&index=0&id=3f8dffe6&scoped=true&lang=less&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"3f8dffe6\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('footer',{staticClass:\"footer\"},[_vm._m(0),_c('div',{staticClass:\"container\"},[_c('div',{staticClass:\"container-box\"},[_c('img',{attrs:{\"src\":require(\"@/assets/img/homes/logo.png\"),\"alt\":\"logo\"}}),_c('div',{staticClass:\"divide\"}),_c('div',{staticClass:\"content\"},[_c('div',{staticClass:\"friend-link\"},[_vm._v(\"友情链接:\")]),_c('el-row',{attrs:{\"type\":\"flex\",\"justify\":\"space-between\"}},[_c('a',{attrs:{\"href\":\"http://www.cqvip.com/\",\"target\":\"_blank\"}},[_vm._v(\"维普资讯\")]),_c('a',{attrs:{\"href\":\"http://qikan.cqvip.com/\",\"target\":\"_blank\"}},[_vm._v(\"维普中文期刊服务平台\")]),_c('a',{attrs:{\"href\":\"http://zlf.cqvip.com/\",\"target\":\"_blank\"}},[_vm._v(\"智立方知识资源系统\")]),_c('a',{attrs:{\"href\":\"http://k.vipslib.com/account\",\"target\":\"_blank\"}},[_vm._v(\"经纶知识资源系统\")]),_c('a',{attrs:{\"href\":\"http://www.irtree.com/\",\"target\":\"_blank\"}},[_vm._v(\"机构智库\")])]),_vm._m(1),_vm._m(2)],1)])])])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"connect-us\"},[_c('img',{attrs:{\"src\":require(\"@/assets/img/homes/footer-service-phone.png\"),\"alt\":\"footer-service-phone\"}}),_c('div',{staticClass:\"desc\"},[_c('div',{staticClass:\"tips\"},[_vm._v(\"唤醒服务,从现在开始\")]),_c('div',{staticClass:\"phone\"},[_vm._v(\"023-63410392\")])])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"company-phone\"},[_c('span',[_vm._v(\"联系电话:023-63410392 \")]),_c('span',[_vm._v(\"重庆维普朗润数据科技有限公司 渝B2-20050021-1\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"company-address\"},[_c('span',[_vm._v(\"联系地址:重庆市两江新区黄山大道信达国际A栋904\")]),_c('a',{attrs:{\"href\":\"http://www.beian.gov.cn/portal/registerSystemInfo?recordcode=50019002500403&from=index\",\"target\":\"_blank\"}},[_vm._v(\" 渝公网备 500000015-00073 违法和不良信息举报中心 \")])])}]\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=42249f9e&scoped=true&\"\nimport script from \"./index.vue?vue&type=script&lang=js&\"\nexport * from \"./index.vue?vue&type=script&lang=js&\"\nimport style0 from \"./index.vue?vue&type=style&index=0&id=42249f9e&scoped=true&lang=less&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"42249f9e\",\n null\n \n)\n\nexport default component.exports","import Vue from \"vue\";\r\nimport VueRouter from \"vue-router\";\r\nimport { baseAdminRoute } from \"@/router/admin\";\r\nimport store from \"@/store\";\r\nimport { getPersonRoute as getModularByUserId } from \"@/api/new-question-iteration/common\";\r\nimport NavBar from \"@/views/home/NavBar\";\r\nimport Footer from \"@/views/home/Footer\";\r\nimport { codeMapModules, HOME_PAGE_MAP } from \"@/utils/platform-config\"\r\nimport { Message } from \"element-ui\";\r\n\r\nconst {\r\n \"-100\": questionLib,\r\n \"-200\": exam,\r\n \"-300\": course,\r\n \"-400\": questionnaire,\r\n \"-500\": home,\r\n \"2\": profile,\r\n \"3\": myCollect,\r\n \"4\": myTrack,\r\n \"5\": myQuestionnaire,\r\n \"6\": myMember,\r\n \"7\": myCourse,\r\n \"8\": myExam\r\n} = codeMapModules\r\nVue.use(VueRouter);\r\n// 路由表\r\nconst routes = [\r\n {\r\n path: \"/home-medicine\",\r\n name: \"home\",\r\n component: () => import(\"@/views/home\"),\r\n meta: {\r\n keepAlive: true, // 需要被缓存\r\n auth: home.enName\r\n }\r\n },\r\n {\r\n path: \"/home-exam\",\r\n name: \"HomeExam\",\r\n components: {\r\n navBar: NavBar,\r\n default: () => import(\"@/views/home/exam\"),\r\n footer: Footer\r\n },\r\n meta: {\r\n keepAlive: true, // 需要被缓存\r\n }\r\n },\r\n {\r\n path: \"/home-business\", // 行业考试\r\n name: \"HomeBusiness\",\r\n components: {\r\n navBar: NavBar,\r\n default: () => import(\"@/views/home/business\"),\r\n footer: Footer\r\n },\r\n meta: {\r\n keepAlive: true // 需要被缓存\r\n }\r\n },\r\n {\r\n path: \"/home-organization\", // 机构考试\r\n name: \"HomeOrganization\",\r\n components: {\r\n navBar: NavBar,\r\n default: () => import(\"@/views/home/organization\"),\r\n footer: Footer\r\n },\r\n meta: {\r\n keepAlive: true, // 需要被缓存\r\n }\r\n },\r\n {\r\n path: \"/psq\",\r\n name: \"PSQ\",\r\n component: () => import(\"@/views/psq\"),\r\n meta: {\r\n keepAlive: true, // 需要被缓存\r\n auth: questionnaire.enName,\r\n isLogin: true\r\n }\r\n },\r\n {\r\n path: \"/do-questionnaire\",\r\n name: \"DoQuestionnaire\",\r\n component: () => import(\"@/views/psq/doQuestionnaire\"),\r\n meta: {\r\n title: \"问卷做题\",\r\n auth: questionnaire.enName\r\n }\r\n },\r\n {\r\n path: \"/course\",\r\n name: \"StudentCourse\",\r\n component: () => import(\"@/views/course/course\"),\r\n meta: {\r\n title: \"课程\",\r\n auth: course.enName,\r\n isLogin: true\r\n }\r\n },\r\n {\r\n path: \"/course-play\",\r\n name: \"CoursePlay\",\r\n component: () => import(\"@/views/course/course-play/course-play\"),\r\n meta: {\r\n title: \"课程播放\",\r\n auth: course.enName,\r\n isLogin: true\r\n }\r\n },\r\n {\r\n path: \"/question-result\",\r\n name: \"QuestionResult\",\r\n component: () => import(\"@/views/psq/doQuestionnaireResult\"),\r\n meta: {\r\n title: \"问卷结果\",\r\n auth: questionnaire.enName\r\n }\r\n },\r\n {\r\n path: \"/question-analyse\",\r\n name: \"QuestionAnalyse\",\r\n component: () => import(\"@/views/psq/questionnaireAnalyse\"),\r\n meta: {\r\n title: \"问卷分析\",\r\n auth: questionnaire.enName\r\n }\r\n },\r\n {\r\n path: \"/exam\",\r\n name: \"examList\",\r\n component: () => import(\"@/views/exam\"),\r\n meta: {\r\n auth: exam.enName,\r\n isLogin: true\r\n }\r\n },\r\n {\r\n path: \"/examDetail\",\r\n name: \"examDetail\",\r\n component: () => import(\"@/views/exam/exam\"),\r\n meta: {\r\n auth: exam.enName,\r\n isLogin: true\r\n }\r\n },\r\n {\r\n path: \"/question/organ\",\r\n name: \"organ\",\r\n component: () => import(\"@/views/question/organ\"),\r\n meta: {\r\n keepAlive: true, // 需要被缓存\r\n auth: questionLib.enName,\r\n isLogin: true\r\n }\r\n },\r\n {\r\n path: \"/question/public\",\r\n name: \"public\",\r\n component: () => import(\"@/views/question/public\"),\r\n meta: {\r\n keepAlive: true, // 需要被缓存\r\n auth: questionLib.enName,\r\n }\r\n },\r\n {\r\n path: \"/question/department\",\r\n name: \"department\",\r\n component: () => import(\"@/views/question/department\"),\r\n meta: {\r\n keepAlive: true, // 需要被缓存\r\n auth: questionLib.enName\r\n }\r\n },\r\n {\r\n path: \"/question/allQuestions\",\r\n name: \"allQuestions\",\r\n meta: {\r\n keepAlive: true, // 需要被缓存\r\n auth: questionLib.enName\r\n },\r\n component: () => import(\"@/views/question/allQuestions\")\r\n },\r\n {\r\n path: \"/publicMake\",\r\n name: \"publicMake\",\r\n meta: {\r\n auth: questionLib.enName\r\n },\r\n component: () => import(\"@/views/publicMake\")\r\n },\r\n {\r\n path: \"/personCenter\",\r\n name: \"personCenter\",\r\n meta: {\r\n auth: profile.enName,\r\n isLogin: true\r\n },\r\n component: () => import(\"@/views/personCenter/basicInfo\")\r\n },\r\n {\r\n path: \"/personCenter/member\",\r\n name: \"personCenter/member\",\r\n meta: {\r\n auth: myMember.enName,\r\n isLogin: true\r\n },\r\n component: () => import(\"@/views/personCenter/member\")\r\n },\r\n {\r\n path: \"/personCenter/exam\",\r\n name: \"personCenter/exam\",\r\n meta: {\r\n auth: myExam.enName,\r\n isLogin: true\r\n },\r\n component: () => import(\"@/views/personCenter/exam\")\r\n },\r\n {\r\n path: \"/personCenter/collect\",\r\n name: \"personCenter/collect\",\r\n component: () => import(\"@/views/personCenter/collect\"),\r\n meta: {\r\n auth: myCollect.enName,\r\n isLogin: true\r\n },\r\n },\r\n {\r\n path: \"/personCenter/my-course\",\r\n name: \"personCenter/collect\",\r\n component: () => import(\"@/views/personCenter/my-course/my-course\"),\r\n meta: {\r\n auth: myCourse.enName,\r\n isLogin: true\r\n },\r\n },\r\n {\r\n path: \"/personCenter/mark\",\r\n name: \"personCenter/mark\",\r\n component: () => import(\"@/views/personCenter/mark\"),\r\n meta: {\r\n auth: myTrack.enName,\r\n isLogin: true\r\n },\r\n },\r\n {\r\n path: \"/personCenter/questionnaire\",\r\n name: \"PersonCenterQuestionnaire\",\r\n component: () => import(\"@/views/personCenter/questionnaire\"),\r\n meta: {\r\n auth: myQuestionnaire.enName,\r\n isLogin: true\r\n },\r\n },\r\n {\r\n path: \"/resourceOrder\",\r\n name: \"resourceOrder\",\r\n component: () => import(\"@/views/order/index\"),\r\n meta: {\r\n auth: questionLib.enName,\r\n isLogin: true\r\n },\r\n },\r\n {\r\n path: \"/alipay-result\",\r\n name: \"alipay-result\",\r\n component: () => import(\"@/views/order/alipay-result\"),\r\n meta: {\r\n auth: questionLib.enName,\r\n isLogin: true\r\n },\r\n },\r\n {\r\n path: \"/gropuPaper\",\r\n name: \"gropuPaper\",\r\n component: () => import(\"@/views/gropuPaper\"),\r\n meta: {\r\n auth: questionLib.enName,\r\n isLogin: true\r\n },\r\n },\r\n {\r\n path: \"/groupPractice\",\r\n name: \"groupPractice\",\r\n component: () => import(\"@/views/groupPractice\"),\r\n meta: {\r\n auth: exam.enName,\r\n isLogin: true\r\n },\r\n },\r\n {\r\n path: \"/no-access\",\r\n name: \"noAccess\",\r\n component: () => import(\"@/views/noAccess\")\r\n },\r\n {\r\n path: \"*\",\r\n name: \"nonePage\",\r\n component: () => import(\"@/views/none\")\r\n }\r\n];\r\nconst router = new VueRouter({\r\n // mode: \"history\",\r\n // base: \"/yixue/front/dist/\",\r\n routes: [\r\n ...routes,\r\n ...baseAdminRoute,\r\n ],\r\n scrollBehavior(to, from, savedPosition) {\r\n if (to.path.startsWith(\"/home-\")) {\r\n return {\r\n x: 0,\r\n y: 0,\r\n behavior: \"smooth\"\r\n }\r\n } else {\r\n // return savedPosition\r\n return {\r\n x: 0,\r\n y: 0\r\n }\r\n }\r\n }\r\n});\r\n\r\n// 管理员可访问白名单\r\nconst manageWhiteRouteHome = [\r\n \"home\",\r\n \"manage-index\",\r\n \"previewExam\",\r\n \"gradingPaper\",\r\n \"examResultPaper\",\r\n \"nonePage\",\r\n \"noAccess\"\r\n];\r\n\r\nlet adminPaths = [];\r\n// let off = config.isDev;\r\nlet off = true;\r\n// 首页映射\r\nconst hostname = window.location.hostname\r\n// const hostname = window.location.pathname\r\nconst [platform = \"default\"] = hostname.match(new RegExp(String.raw`^${Object.keys(HOME_PAGE_MAP).map(key => HOME_PAGE_MAP[key].hostKey).join(\"|\")}`)) || []\r\n// 不需要登录的白名单\r\nconst whiteList = [\"/home-business\", \"/no-access\", \"/home-exam\", \"/home-organization\", \"/home-medicine\"]\r\n\r\n// 动态设置favicon\r\nexport function setFavicon(url) {\r\n if (setFavicon.isSetFavicon === true || !url) return\r\n const link = document.querySelector(\"link[rel*='icon']\") || document.createElement(\"link\");\r\n link.type = \"image/x-icon\";\r\n link.rel = \"shortcut icon\";\r\n link.href = url\r\n document.getElementsByTagName(\"head\")[0].appendChild(link);\r\n setFavicon.isSetFavicon = true\r\n}\r\n\r\nconst setPlatform = (platform) => store.commit(\"setPlatform\", platform)\r\nrouter.beforeEach(async (to, from, next) => {\r\n if (window.location.hostname.includes(\"pxks.cqvip.com\")) {\r\n location.href = window.location.protocol + \"//kaoshi.cqvip.com\"\r\n return next()\r\n }\r\n if (!store.state.platform) {\r\n setPlatform(HOME_PAGE_MAP[platform].hostKey)\r\n }\r\n if (!store.state.isLoadBingIp && !store.getters.isLogin && HOME_PAGE_MAP[platform].hostKey === \"yixue\") {\r\n const { IsIPAuthorize, Name, PlatformName, GroupUserLogo, GroupWebName } = await store.dispatch(\"setBindingIp\")\r\n document.title = IsIPAuthorize ? (Name || \"\") + (PlatformName ? \".\" + PlatformName : \"\") : (GroupWebName || \"朗润数据.\") + (PlatformName ? \".\" + PlatformName : HOME_PAGE_MAP[platform].title)\r\n if (GroupUserLogo) {\r\n const link = document.querySelector(\"link[rel*='icon']\") || document.createElement(\"link\");\r\n link.type = \"image/x-icon\";\r\n link.rel = \"shortcut icon\";\r\n link.href = GroupUserLogo\r\n document.getElementsByTagName(\"head\")[0].appendChild(link);\r\n }\r\n }\r\n if (!store.state.isLoadBingIp && !store.getters.isLogin && HOME_PAGE_MAP[platform].hostKey !== \"yixue\") {\r\n document.title = HOME_PAGE_MAP[platform].title\r\n }\r\n if (!store.getters.isLogin && to.path !== \"/\" && !store.state.groupInfo.IsIPAuthorize && HOME_PAGE_MAP[platform].hostKey === \"yixue\") {\r\n if (to.meta && to.meta.auth === \"question-lib-module\") {\r\n Message.error(\"您不在ip范围内,请登录\")\r\n return next({\r\n path: \"/\",\r\n query: to.query,\r\n replace: true\r\n })\r\n }\r\n }\r\n if (store.state.userInfo && Object.isObj(store.state.userInfo) && String(store.state.userInfo) !== \"null\") {\r\n const { OrganName, PlatformName } = store.state.userInfo\r\n const metaTitle = to.meta && to.meta.title\r\n document.title = OrganName + (PlatformName ? \".\" + PlatformName : \"\") + (metaTitle ? \"-\" + metaTitle : \"\")\r\n setFavicon(store.state.userInfo.Logo)\r\n if (store.state.userInfo.isManage) {\r\n router.setManageRoute()\r\n }\r\n }\r\n // 如果是进入的首页\r\n if (to.path === \"/\") {\r\n if (!store.getters.isLogin) {\r\n return next({\r\n path: HOME_PAGE_MAP[platform].path,\r\n replace: true\r\n })\r\n } else {\r\n if (store.state.userInfo?.isManage) {\r\n if (store.state.isLoadProfileRoutes === false) {\r\n try {\r\n const res = await store.dispatch(\"getPersonCenter\")\r\n return next({\r\n path: res[0].Path,\r\n replace: true,\r\n query: to.query\r\n })\r\n } catch (e) {\r\n console.log(e, \"e\");\r\n return next({\r\n path: \"/no-access\",\r\n replace: true\r\n })\r\n }\r\n } else {\r\n const profileRoutes = store.state.profileRoutes\r\n if (profileRoutes.length === 0) {\r\n next({\r\n path: \"/no-access\",\r\n query: to.query,\r\n replace: true\r\n })\r\n } else {\r\n if (to.path === profileRoutes[0].Path) return next()\r\n return next({\r\n path: profileRoutes[0].Path,\r\n replace: true,\r\n query: to.query\r\n })\r\n }\r\n }\r\n } else {\r\n if (store.state.isLoadNavMenu === false || store.state.isLoadProfileRoutes === false) {\r\n try {\r\n let navMenu = store.state.navMenu\r\n if (store.state.isLoadNavMenu === false) {\r\n navMenu = await store.dispatch(\"getNavMenu\")\r\n }\r\n if (store.state.isLoadProfileRoutes === false) {\r\n await store.dispatch(\"getPersonCenter\")\r\n }\r\n return next({\r\n path: navMenu[0].Path,\r\n replace: true,\r\n query: to.query\r\n })\r\n } catch (e) {\r\n console.log(e, \"e\");\r\n return next({\r\n path: \"/no-access\",\r\n replace: true\r\n })\r\n }\r\n } else {\r\n const navMenu = store.state.navMenu\r\n if (to.path === navMenu[0].Path) return next()\r\n return next({\r\n path: navMenu[0].Path,\r\n replace: true,\r\n query: to.query\r\n })\r\n }\r\n }\r\n }\r\n }\r\n // 如果没有token,或者不在域名白名单之类\r\n // if (!store.getters.isLogin && !whiteList.includes(to.path)) {\r\n // Message.error(\"请登录\")\r\n // return next({\r\n // path: \"/\",\r\n // replace: true\r\n // })\r\n // }\r\n if (whiteList.includes(to.path) || to.name === \"nonePage\") {\r\n if (HOME_PAGE_MAP[platform].hostKey !== \"yixue\" && to.path === \"/home-medicine\") {\r\n return next({\r\n path: \"/\",\r\n query: to.query,\r\n replace: true\r\n })\r\n }\r\n return next()\r\n }\r\n if (store.state.userInfo?.isManage) {\r\n if (store.state.isLoadProfileRoutes === false) {\r\n try {\r\n await store.dispatch(\"getPersonCenter\")\r\n return next({\r\n ...to,\r\n replace: true\r\n })\r\n } catch (e) {\r\n return next({\r\n path: \"/no-access\",\r\n replace: true\r\n })\r\n }\r\n }\r\n let fullPath = to.path;\r\n if (fullPath.endsWith(\"/\")) fullPath = fullPath.slice(0, fullPath.length - 1)\r\n let canNext = adminPaths.some(el => el === fullPath)\r\n if (canNext) {\r\n next()\r\n } else {\r\n if (manageWhiteRouteHome.includes(to.name)) {\r\n next()\r\n } else {\r\n alert(\"管理员仅支持访问管理后台\");\r\n next(false);\r\n }\r\n }\r\n } else {\r\n if (to.path.startsWith(\"/manage\")) {\r\n return next({\r\n path: \"/no-access\",\r\n replace: true\r\n })\r\n } else {\r\n if (store.state.isLoadNavMenu === false) {\r\n try {\r\n await store.dispatch(\"getNavMenu\")\r\n return next({\r\n path: to.path,\r\n query: to.query,\r\n replace: true\r\n })\r\n } catch (e) {\r\n return next({\r\n path: \"/no-access\",\r\n replace: true\r\n })\r\n }\r\n } else {\r\n let navMenu = [...store.state.navMenu]\r\n if (store.getters.isLogin) {\r\n const res = await store.dispatch(\"getPersonCenter\")\r\n navMenu.push(...res)\r\n }\r\n const navMenus = navMenu.map(item => codeMapModules[item.Code].enName)\r\n if (navMenus.includes(to.meta && to.meta.auth)) {\r\n return next()\r\n } else {\r\n return next({\r\n replace: true,\r\n path: \"/no-access\"\r\n })\r\n }\r\n }\r\n }\r\n }\r\n});\r\n// 计算管理员路由表\r\nrouter.setManageRoute = function () {\r\n if (router.setManageRoute.isLoad === true) return\r\n let paths = localStorage.getItem(\"user_modular\");\r\n if (!paths) return;\r\n paths = paths.split(\"$$\");\r\n adminPaths = paths;\r\n\r\n function addRoutes(children, targetArr, basePath) {\r\n for (let child of children) {\r\n child = Object.assign({}, child);\r\n let bp;\r\n let added = false;\r\n if (child.path.indexOf(\"/\") === 0 || child.path === \"\") {\r\n bp = basePath + child.path;\r\n } else {\r\n bp = basePath + \"/\" + child.path;\r\n }\r\n if (paths.includes(bp)) {\r\n targetArr.push(child);\r\n added = true;\r\n }\r\n if (child.children) {\r\n let target = [];\r\n addRoutes(child.children, target, bp);\r\n if (target.length > 0) {\r\n child.children = target;\r\n if (added === false) targetArr.push(child);\r\n }\r\n }\r\n }\r\n }\r\n\r\n let routes = [];\r\n addRoutes(baseAdminRoute, routes, \"\");\r\n console.log(routes, 'codeMapModules');\r\n router.adminRoutes = routes;\r\n router.setManageRoute.isLoad = true\r\n // router.adminRoutes = baseAdminRoute;\r\n};\r\n// 从远程服务器加载路由权限\r\nrouter.setManageRouteOfServer = function () {\r\n return new Promise((resolve, reject) => {\r\n function work(children, result) {\r\n children.forEach(el => {\r\n result.push(el.Path)\r\n if (el.children) {\r\n work(el.children, result)\r\n }\r\n })\r\n }\r\n\r\n getModularByUserId().then(r => {\r\n let paths = []\r\n work(r, paths)\r\n paths = paths.join(\"$$\")\r\n localStorage.setItem(\"user_modular\", paths)\r\n router.setManageRoute()\r\n resolve(paths)\r\n }).catch(e => reject(e))\r\n })\r\n}\r\n\r\nexport default router;\r\n","/**\r\n * 请求模块\r\n */\r\nimport axios from \"axios\";\r\nimport store from \"@/store\";\r\nimport { Toast } from \"vant\";\r\nimport JSONBig from \"json-bigint\";\r\nimport { Message } from \"element-ui\";\r\nimport config from \"@/config\";\r\nimport { objCoverFormData } from \"@/utils/form\";\r\nimport { DOMAIN } from \"@/utils/platform-config\"\r\nimport Cookies from \"js-cookie\";\r\nconst request = axios.create({\r\n // 接口的基准路径\r\n // baseURL: config.baseUrl,\r\n baseURL: config.baseURL,\r\n transformResponse: [\r\n function (data) {\r\n try {\r\n return JSONBig.parse(data);\r\n } catch (err) {\r\n return data;\r\n }\r\n }\r\n ],\r\n});\r\n// 请求拦截器\r\nrequest.interceptors.request.use(\r\n function (config) {\r\n const { user } = store.state;\r\n if (user) {\r\n config.headers.Authorization = `Bearer ${user}`;\r\n }\r\n config.headers.CustomDomain = DOMAIN\r\n return config;\r\n },\r\n function (error) {\r\n console.log(error,\"error\")\r\n return Promise.reject(error);\r\n }\r\n);\r\n\r\n/**\r\n * 登录过期错误\r\n */\r\nclass LoginOverdue extends Error {\r\n constructor(msg) {\r\n super(msg);\r\n this.name = \"LoginOverdue\";\r\n }\r\n}\r\n\r\nfunction yznDebugInfo(obj) {\r\n if (config.isYznDebug) {\r\n let {\r\n url,\r\n method,\r\n params\r\n } = obj\r\n let args = {\r\n url,\r\n method,\r\n params\r\n }\r\n console.info(JSON.stringify(args))\r\n }\r\n}\r\n\r\nfunction showMessage(msg) {\r\n if (location.pathname.startsWith(\"/mobile-exam\")) {\r\n Toast(msg)\r\n } else {\r\n Message(msg)\r\n }\r\n}\r\n\r\n// 响应拦截器\r\nrequest.interceptors.response.use(\r\n (response) => {\r\n // // 要根据success的成功与否决定下面的操作\r\n if (response.status === 200) {\r\n // if (response.data.code === -1) {\r\n // showMessage(response.data.msg)\r\n // }\r\n return response;\r\n } else {\r\n // 业务已经错误了 还能进then ? 不能 ! 应该进catch\r\n // 提示错误消息\r\n showMessage(\"服务器繁忙,请稍后再试!\");\r\n }\r\n throw response;\r\n },\r\n (error) => {\r\n // error 信息 里面 response的对象\r\n if (\r\n error.response?.data?.msg === \"401\" ||\r\n error instanceof LoginOverdue\r\n ) {\r\n // 登出action 删除token\r\n store.commit(\"setUser\", null);\r\n store.commit(\"setUserInfo\", null);\r\n if (location.pathname.startsWith(\"/mobile\")) {\r\n const query = location.href.slice(location.href.lastIndexOf(\"?\"))\r\n const suffix = location.origin.startsWith(\"192\") ? \"\" : \".html\"\r\n location.href = `/mobile-exam${suffix}#/login${query}`;\r\n } else {\r\n // location.href = \"/\";\r\n }\r\n } else {\r\n // 提示错误信息\r\n if (error.isAxiosError) {\r\n if (error.response?.status === 401) {\r\n store.commit(\"setUser\", null);\r\n store.commit(\"setUserInfo\", null);\r\n if (location.pathname.startsWith(\"/mobile\")) {\r\n const query = location.href.slice(location.href.lastIndexOf(\"?\"))\r\n const suffix = location.origin.startsWith(\"192\") ? \"\" : \".html\"\r\n location.href = `/mobile-exam${suffix}#/login${query}`;\r\n } else {\r\n\r\n // location.href = \"/\";\r\n }\r\n showMessage(\"未登录,或登录过期,请重新登录\")\r\n } else {\r\n showMessage(\"网络错误,请稍后再试\");\r\n }\r\n } else if (error.message === \"canceled\") {\r\n console.log(\"request cancel\")\r\n } else {\r\n showMessage(error.response.data?.msg);\r\n }\r\n }\r\n throw error;\r\n }\r\n);\r\n\r\nexport function requestData(args) {\r\n return request(args).then((res) => {\r\n const { data } = res;\r\n if (data.code !== 100) {\r\n showMessage(data.msg || \"未知错误\")\r\n return Promise.reject(data);\r\n }\r\n if (args.needRaw) {\r\n return data\r\n }\r\n return data.data;\r\n });\r\n}\r\n\r\n/**\r\n * 封装postForm请求\r\n * postJson\r\n */\r\nexport const postForm = (url, params) => {\r\n return request({\r\n url: url,\r\n method: \"POST\",\r\n headers: { \"Content-Type\": \"multipart/form-data\" },\r\n data: objCoverFormData(params),\r\n $_isFormData: true\r\n });\r\n};\r\nexport const get = (url, params, needRaw = false) => {\r\n return requestData({\r\n url: url,\r\n method: \"GET\",\r\n params,\r\n needRaw\r\n });\r\n};\r\nexport const post = (url, params, needRaw = false, data) => {\r\n return requestData({\r\n url: url,\r\n method: \"POST\",\r\n params,\r\n data,\r\n needRaw\r\n });\r\n};\r\n\r\nexport const postFormData = (url, params, progressEvent) => {\r\n let form = new FormData();\r\n for (let k in params) {\r\n form.append(k, params[k]);\r\n }\r\n return requestData({\r\n url,\r\n method: \"POST\",\r\n data: form,\r\n onUploadProgress: progressEvent,\r\n headers: { \"Content-Type\": \"multipart/form-data\" }\r\n });\r\n};\r\n\r\nexport default request;\r\n","/**\r\n * 用户相关请求模块\r\n */\r\nimport request, { post } from \"@/utils/request\";\r\nimport { postForm } from \"@/utils/form\";\r\n\r\nexport const login = (data) => {\r\n return request({\r\n method: \"POST\",\r\n url: \"/app/v1_0/authorizations\",\r\n data\r\n });\r\n};\r\n\r\n// 获得首页上的统计数据\r\nexport const HomeStat = (data) => {\r\n return request({\r\n method: \"POST\",\r\n url: \"/Api/User/HomeStat\",\r\n data\r\n });\r\n};\r\n\r\n// 注册用户\r\nexport const Register = (params) => {\r\n return request({\r\n method: \"POST\",\r\n url: \"Api/User/Register\",\r\n params\r\n });\r\n};\r\n\r\n// 获取当前用户账号的详细信息\r\nexport const UserInfo = (params) => {\r\n return request({\r\n method: \"POST\",\r\n url: \"/Api/User/UserInfo\",\r\n params\r\n });\r\n};\r\n\r\n// 获取管理员账号的详细信息\r\nexport const AdminUserInfo = (params) => {\r\n return request({\r\n method: \"POST\",\r\n url: \"/Website/User/ManageUserInfo\",\r\n params\r\n });\r\n};\r\n\r\n// 发送登录验证码\r\nexport const SendLoginCode = (params) => {\r\n const { currentStatus, ...otherProps } = params\r\n return request({\r\n method: \"POST\",\r\n url: currentStatus === \"manage\" ? \"/Website/User/SendLoginCode\" : \"/Api/User/SendLoginCode\",\r\n params: otherProps\r\n });\r\n};\r\n\r\n// 发送修改密码验证码\r\nexport const SendUpdatePassCode = (params) => {\r\n return request({\r\n method: \"POST\",\r\n url: \"/Api/User/SendUpdatePassCode\",\r\n params\r\n });\r\n};\r\n\r\n// 通过验证码重置密码\r\nexport const UpdatePassForTel2 = (params) => {\r\n return request({\r\n method: \"POST\",\r\n url: \"/Api/User/ForgetPassForTeL\",\r\n params\r\n });\r\n};\r\n\r\n// 获取用户消费记录\r\nexport const GetUserConsumeRecord = (params) => {\r\n return request({\r\n method: \"POST\",\r\n url: \"/Api/User/GetUserConsumeRecord\",\r\n params\r\n });\r\n};\r\n\r\n// 手机账号登录\r\nexport const TelLogin = (params) => {\r\n const { currentStatus, ...otherProps } = params\r\n return request({\r\n method: \"POST\",\r\n url: currentStatus === \"manage\" ? \"/Website/User/TelLogin\" : \"/Api/User/TelLogin\",\r\n params: otherProps\r\n });\r\n};\r\n// 获取章节价格\r\nexport const GetChapterPrice = (params) => {\r\n return request({\r\n method: \"POST\",\r\n url: \"/Api/Medical/GetProductByCategoryId\",\r\n params\r\n });\r\n};\r\n\r\n// 账号登录\r\nexport const accountLogin = (params) => {\r\n return request({\r\n method: \"POST\",\r\n url: \"/Api/User/UpinLogin\",\r\n params\r\n });\r\n};\r\n\r\n// 管理员登录\r\nexport const ManageLogin = (params) => {\r\n return request({\r\n method: \"POST\",\r\n url: \"/Website/User/ManageLogin\",\r\n params\r\n });\r\n};\r\n\r\n// 退出登录\r\nexport const loginOut = (params) => {\r\n return request({\r\n method: \"POST\",\r\n url: \"/Api/User/Logout\",\r\n params\r\n });\r\n};\r\n\r\n// 更新密码\r\nexport const UpdatePassForTel = (params) => {\r\n return request({\r\n method: \"POST\",\r\n url: \"/Api/User/UpdatePassForTel\",\r\n params\r\n });\r\n};\r\n\r\n// 修改密码\r\nexport const UpdatePassForOldPass = (params) => {\r\n return request({\r\n method: \"POST\",\r\n url: \"/Api/User/UpdatePassForOldPass\",\r\n params\r\n });\r\n};\r\n\r\n// 发送注册验证码\r\nexport const SendRegCode = (params) => {\r\n return request({\r\n method: \"POST\",\r\n url: \"/Api/User/SendRegCode\",\r\n params\r\n });\r\n};\r\n\r\n// 发送重置密码验证码\r\nexport const SendPassCode = (params) => {\r\n return request({\r\n method: \"POST\",\r\n url: \"/Api/User/SendPassCode\",\r\n params\r\n });\r\n};\r\n\r\n// 未登录情况下 修改密码\r\nexport const ForgetPassForTeL = (params, currentStatus) => {\r\n return request({\r\n method: \"POST\",\r\n url: currentStatus === \"manage\" ? \"/Api/User/ForgetPassForTeLTer\" : \"/Api/User/ForgetPassForTeL\",\r\n params\r\n });\r\n};\r\n\r\n// 修改昵称\r\nexport const UpdateRealNameForTel = (params) => {\r\n return request({\r\n method: \"POST\",\r\n url: \"/Api/User/UpdateRealNameForTel\",\r\n params\r\n });\r\n};\r\n\r\n// 微信支付\r\nexport const wxPay = (params) => {\r\n return request({\r\n method: \"POST\",\r\n url: \"/Api/WeiXinPay/Pay\",\r\n params\r\n });\r\n};\r\n\r\n// 微信支付PC\r\nexport const wxPayPc = (params) => {\r\n return request({\r\n method: \"POST\",\r\n url: \"/Api/WeiXinPay/PayPC\",\r\n params\r\n });\r\n};\r\n// 支付宝PC支付\r\nexport const aliPayPc = (params) => {\r\n return request({\r\n method: \"POST\",\r\n url: \"/Api/AliPay/Pay\",\r\n params\r\n });\r\n};\r\n\r\n/// 查询微信支付状态\r\nexport const PayOrderStatus = (params) => {\r\n return request({\r\n method: \"POST\",\r\n url: \"/Api/WeiXinPay/PayOrderStatus\",\r\n params\r\n });\r\n};\r\n\r\n// 支付测试\r\nexport const payTest = (params) => {\r\n return request({\r\n method: \"GET\",\r\n url: \"/Api/WeiXinPay/TestPay\",\r\n params\r\n });\r\n};\r\n\r\n// 编辑用户(PC)\r\nexport const EditUser = (params) => {\r\n return request({\r\n method: \"POST\",\r\n url: \"/Api/User/EditUserForPC\",\r\n data: params\r\n });\r\n};\r\n\r\n// 验证该手机是否存在\r\nexport const TelephoneIsExist = (params) => {\r\n return request({\r\n method: \"POST\",\r\n url: \"/Api/User/TelephoneIsExist\",\r\n params\r\n });\r\n};\r\n\r\n// 首页合作机构\r\nexport const GetGroupUser = (params) => {\r\n return request({\r\n method: \"POST\",\r\n url: \"/Api/Medical/GetGroupUser\",\r\n params\r\n });\r\n};\r\n\r\n// 更新用户组织层级\r\nexport function UpdateUserOrganLevel(params) {\r\n return postForm(\"/Api/User/UpdateUserOrganLevel\", params);\r\n}\r\n\r\n// 用户组织层级更改申请\r\nexport function UserOrganLevelApply(params) {\r\n return postForm(\"/Api/User/UserOrganLevelApply\", params);\r\n}\r\n\r\n// 获取用户组织层级信息\r\nexport function GetUserOrganLevelInfo(params) {\r\n return postForm(\"/Api/User/GetUserOrganLevelInfo\", params);\r\n}\r\n\r\n// 修改密码(原密码)\r\n// export function UpdatePwdForOldPwd(params) {\r\n// return post(\"/Api/User/UpdatePassForOldPass\", params)\r\n// }\r\n\r\nexport const UpdatePwdForOldPwd = (params) => {\r\n return request({\r\n method: \"POST\",\r\n url: \"/Api/User/UpdatePassForOldPass\",\r\n params\r\n });\r\n};\r\n\r\n// 验证旧手机发送短信发送短信\r\nexport function UpdateTelphoneSendMsg(params) {\r\n return postForm(\"/Website/user/UpdateTelphoneSendMsg\", params);\r\n}\r\n\r\n// 更换手机号时验证旧手机\r\nexport function VerifyOldTelphone(params) {\r\n return postForm(\"/Website/user/VerifyOldTelphone\", params);\r\n}\r\n\r\n// 绑定新手机号时发送验证码\r\nexport function BindTelphoneSendMsg(params) {\r\n return postForm(\"/Website/user/BindTelphoneSendMsg\", params);\r\n}\r\n\r\n// 绑定新手机号时发送验证码\r\nexport function BindTelphone(params) {\r\n return postForm(\"/Website/user/BindTelphone\", params);\r\n}\r\n\r\n// 获取用户模块\r\nexport const GetModularByUserId = (params) => {\r\n return request({\r\n method: \"POST\",\r\n url: \"/Website/User/GetModularByUserId\",\r\n params\r\n });\r\n};\r\n\r\n// 切换用户角色\r\nexport function changeUserRole (toAccountType) {\r\n return post(\"/Api/Organ/SwitchAccountToTeacherOrStudent\", { toAccountType })\r\n}\r\n\r\n// 导入用户\r\nexport function importUser (fileUrl) {\r\n return post(\"/Website/Basic/ImportUser\", { fileUrl }, false, { fileUrl })\r\n}\r\n// 获取用户是否绑定ip权限\r\nexport function userIsBindingOrg () {\r\n return post(\"/Api/User/GetIPAuthorize\")\r\n}\r\n\r\n// 是否有权限答卷\r\nexport function isAuthorizedDoQuestionnaire (id) {\r\n return post(\"/Manage/Questionnaire/IsAnswerAuthority\", { id })\r\n}\r\n// 课程增加欢迎度\r\nexport function addHotValue (SourceId) {\r\n return postForm(\"/Manage/CustomSource/AddHotValue\", { SourceId })\r\n}\r\n\r\n// 获取图片验证码\r\nexport function GetBuildVerifyCode (SourceId) {\r\n return postForm(\"/Api/User/GetBuildVerifyCode\", { SourceId })\r\n}\r\n\r\n// 发送验证码\r\nexport function SendRegCodeByCaptcha (params) {\r\n return request({\r\n method: \"POST\",\r\n url: \"/Api/User/SendRegCodeByCaptcha\",\r\n params,\r\n });\r\n}\r\n\r\n// 用户通过手机号参加考试\r\nexport function LoginByTel (params) {\r\n return request({\r\n method: \"POST\",\r\n url: \"/Api/User/LoginByTel\",\r\n params,\r\n });\r\n}\r\n\r\n// 更新用户机构绑定\r\nexport function UpdateGroupUserId (params) {\r\n return request({\r\n method: \"POST\",\r\n url: \"/Api/User/UpdateGroupUserId\",\r\n params,\r\n });\r\n}\r\n","/**\r\n * @Author: 左建\r\n * @Date: 2022/9/2 14:02\r\n * @LastEditTime: 2022/9/2 14:02\r\n * @Description: 平台相关配置\r\n*/\r\nconst { protocol, hostname, pathname, origin } = window.location\r\nconst realOrigin = process.env.NODE_ENV === \"development\" ? protocol + \"//\" + hostname : origin\r\nconst realDomain = realOrigin + (pathname.endsWith(\"/\") ? pathname.slice(0, -1) : pathname)\r\nexport const DOMAIN = realDomain.replace(/(\\/mobile-exam.html)|(\\/mobile-exam)/g, \"\")\r\n\r\nexport const HOME_PAGE_MAP = Object.freeze({\r\n kaoshi: {\r\n path: \"/home-exam\",\r\n hostKey: \"kaoshi\",\r\n domain: DOMAIN,\r\n // domain: \"http://kaoshi.cqvip.com\",\r\n title: \"培训考试平台\"\r\n },\r\n yixue: {\r\n path: \"/home-medicine\",\r\n hostKey: \"yixue\",\r\n domain: DOMAIN,\r\n // domain: \"http://yixue.cqvip.com\",\r\n title: \"医学培训考试服务平台\"\r\n },\r\n jigou: {\r\n path: \"/home-organization\",\r\n hostKey: \"jigou\",\r\n domain: DOMAIN,\r\n // domain: \"http://yixue.cqvip.com\",\r\n title: \"机构定制\"\r\n },\r\n hangye: {\r\n path: \"/home-business\",\r\n hostKey: \"hangye\",\r\n domain: DOMAIN,\r\n // domain: \"http://hangye.cqvip.com/hangye\",\r\n title: \"行业定制\"\r\n },\r\n default: {\r\n path: \"/home-business\",\r\n hostKey: \"default\",\r\n domain: DOMAIN,\r\n // domain: \"http://hangye.cqvip.com/hangye\",\r\n title: \"行业定制\"\r\n },\r\n\r\n})\r\n\r\n/** 用户端(注意是用户端,而非管理端)各个模块的映射(通过后台配置的code来映射\r\n * 所以不要轻易去修改后台管理中模块的code值)别问为什么这么做,问就是强行兼容之前版本迭代的屎山\r\n */\r\nexport const codeMapModules = Object.freeze({\r\n \"-100\": {\r\n text: \"题库\",\r\n enName: \"question-lib-module\"\r\n },\r\n \"-200\": {\r\n text: \"考试\",\r\n enName: \"exam-module\"\r\n },\r\n \"-300\": {\r\n text: \"课程\",\r\n enName: \"course-module\"\r\n },\r\n \"-400\": {\r\n text: \"问卷\",\r\n enName: \"questionnaire-module\"\r\n },\r\n \"-500\": {\r\n text: \"首页\",\r\n enName: \"home-module\"\r\n },\r\n \"2\": {\r\n text: \"个人信息\",\r\n enName: \"profile-module\"\r\n },\r\n \"3\": {\r\n text: \"我的收藏\",\r\n enName: \"my-collect-module\"\r\n },\r\n \"4\": {\r\n text: \"我的足迹\",\r\n enName: \"my-track-module\"\r\n },\r\n \"5\": {\r\n text: \"我的问卷\",\r\n enName: \"my-questionnaire-module\"\r\n },\r\n \"6\": {\r\n text: \"我的会员\",\r\n enName: \"my-member-module\"\r\n },\r\n \"7\": {\r\n text: \"我的课程\",\r\n enName: \"my-course-module\"\r\n },\r\n \"8\": {\r\n text: \"我的考试\",\r\n enName: \"my-exam-module\"\r\n },\r\n})\r\n","const isYznDebug = process.env.NODE_ENV === \"yzndebug\"\r\nconst isDev = process.env.NODE_ENV === \"development\" || isYznDebug\r\nconst devConfig = {\r\n // baseURL: \"http://192.168.22.75:8075\", // 谭晶五\r\n baseURL: \"http://192.168.22.83:8086\", // 冯光详\r\n // baseURL: \"//yixue.cqvip.com\",\r\n // baseURL: \"http://10.144.75.76:8099\",\r\n organid: \"3d31e70ff5b84e79bb484b69ee0a33f3\",\r\n isDev,\r\n isYznDebug\r\n}\r\n\r\nconst prodConfig = {\r\n baseURL: \"//yixue.cqvip.com\",\r\n // baseUrl: \"http://192.168.22.75:8075\", // 谭晶五\r\n // baseURL: \"http://192.168.22.83:8099\", // 杨老师\r\n organid: \"3d31e70ff5b84e79bb484b69ee0a33f3\",\r\n isDev,\r\n isYznDebug\r\n}\r\n\r\nconst config = isDev ? devConfig : prodConfig\r\n\r\nif (typeof module !== \"undefined\" && module.exports) module.exports = config;\r\nif (typeof define === \"function\") define(function() { return config; });\r\n","module.exports = \"data:image/png;base64,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\""],"sourceRoot":""}