高度\n const pageHeader = document.querySelector('uni-page-head');\n if (pageHeader) {\n scrollTop -= pageHeader.offsetHeight;\n }\n }\n }\n if (scrollTop < 0) {\n scrollTop = 0;\n }\n const documentElement = document.documentElement;\n const { clientHeight, scrollHeight } = documentElement;\n scrollTop = Math.min(scrollTop, scrollHeight - clientHeight);\n if (duration === 0) {\n // 部分浏览器(比如微信)中 scrollTop 的值需要通过 document.body 来控制\n documentElement.scrollTop = document.body.scrollTop = scrollTop;\n return;\n }\n if (window.scrollY === scrollTop) {\n return;\n }\n const scrollTo = (duration) => {\n if (duration <= 0) {\n window.scrollTo(0, scrollTop);\n return;\n }\n const distaince = scrollTop - window.scrollY;\n requestAnimationFrame(function () {\n window.scrollTo(0, window.scrollY + (distaince / duration) * 10);\n scrollTo(duration - 10);\n });\n };\n scrollTo(duration);\n}\n\nconst encode = encodeURIComponent;\nfunction stringifyQuery(obj, encodeStr = encode) {\n const res = obj\n ? Object.keys(obj)\n .map((key) => {\n let val = obj[key];\n if (typeof val === undefined || val === null) {\n val = '';\n }\n else if (isPlainObject(val)) {\n val = JSON.stringify(val);\n }\n return encodeStr(key) + '=' + encodeStr(val);\n })\n .filter((x) => x.length > 0)\n .join('&')\n : null;\n return res ? `?${res}` : '';\n}\n/**\n * Decode text using `decodeURIComponent`. Returns the original text if it\n * fails.\n *\n * @param text - string to decode\n * @returns decoded string\n */\nfunction decode(text) {\n try {\n return decodeURIComponent('' + text);\n }\n catch (err) { }\n return '' + text;\n}\nfunction decodedQuery(query = {}) {\n const decodedQuery = {};\n Object.keys(query).forEach((name) => {\n try {\n decodedQuery[name] = decode(query[name]);\n }\n catch (e) {\n decodedQuery[name] = query[name];\n }\n });\n return decodedQuery;\n}\nconst PLUS_RE = /\\+/g; // %2B\n/**\n * https://github.com/vuejs/vue-router-next/blob/master/src/query.ts\n * @internal\n *\n * @param search - search string to parse\n * @returns a query object\n */\nfunction parseQuery(search) {\n const query = {};\n // avoid creating an object with an empty key and empty value\n // because of split('&')\n if (search === '' || search === '?')\n return query;\n const hasLeadingIM = search[0] === '?';\n const searchParams = (hasLeadingIM ? search.slice(1) : search).split('&');\n for (let i = 0; i < searchParams.length; ++i) {\n // pre decode the + into space\n const searchParam = searchParams[i].replace(PLUS_RE, ' ');\n // allow the = character\n let eqPos = searchParam.indexOf('=');\n let key = decode(eqPos < 0 ? searchParam : searchParam.slice(0, eqPos));\n let value = eqPos < 0 ? null : decode(searchParam.slice(eqPos + 1));\n if (key in query) {\n // an extra variable for ts types\n let currentValue = query[key];\n if (!isArray(currentValue)) {\n currentValue = query[key] = [currentValue];\n }\n currentValue.push(value);\n }\n else {\n query[key] = value;\n }\n }\n return query;\n}\n\nfunction parseUrl(url) {\n const [path, querystring] = url.split('?', 2);\n return {\n path,\n query: parseQuery(querystring || ''),\n };\n}\n\nfunction parseNVueDataset(attr) {\n const dataset = {};\n if (attr) {\n Object.keys(attr).forEach((key) => {\n if (key.indexOf('data-') === 0) {\n dataset[key.replace('data-', '')] = attr[key];\n }\n });\n }\n return dataset;\n}\n\nfunction plusReady(callback) {\n if (!isFunction(callback)) {\n return;\n }\n if (window.plus) {\n return callback();\n }\n document.addEventListener('plusready', callback);\n}\n\nclass DOMException extends Error {\n constructor(message) {\n super(message);\n this.name = 'DOMException';\n }\n}\n\nfunction normalizeEventType(type, options) {\n if (options) {\n if (options.capture) {\n type += 'Capture';\n }\n if (options.once) {\n type += 'Once';\n }\n if (options.passive) {\n type += 'Passive';\n }\n }\n return `on${capitalize(camelize(type))}`;\n}\nclass UniEvent {\n constructor(type, opts) {\n this.defaultPrevented = false;\n this.timeStamp = Date.now();\n this._stop = false;\n this._end = false;\n this.type = type;\n this.bubbles = !!opts.bubbles;\n this.cancelable = !!opts.cancelable;\n }\n preventDefault() {\n this.defaultPrevented = true;\n }\n stopImmediatePropagation() {\n this._end = this._stop = true;\n }\n stopPropagation() {\n this._stop = true;\n }\n}\nfunction createUniEvent(evt) {\n if (evt instanceof UniEvent) {\n return evt;\n }\n const [type] = parseEventName(evt.type);\n const uniEvent = new UniEvent(type, {\n bubbles: false,\n cancelable: false,\n });\n extend(uniEvent, evt);\n return uniEvent;\n}\nclass UniEventTarget {\n constructor() {\n this.listeners = Object.create(null);\n }\n dispatchEvent(evt) {\n const listeners = this.listeners[evt.type];\n if (!listeners) {\n if ((process.env.NODE_ENV !== 'production')) {\n console.error(formatLog('dispatchEvent', this.nodeId), evt.type, 'not found');\n }\n return false;\n }\n // 格式化事件类型\n const event = createUniEvent(evt);\n const len = listeners.length;\n for (let i = 0; i < len; i++) {\n listeners[i].call(this, event);\n if (event._end) {\n break;\n }\n }\n return event.cancelable && event.defaultPrevented;\n }\n addEventListener(type, listener, options) {\n type = normalizeEventType(type, options);\n (this.listeners[type] || (this.listeners[type] = [])).push(listener);\n }\n removeEventListener(type, callback, options) {\n type = normalizeEventType(type, options);\n const listeners = this.listeners[type];\n if (!listeners) {\n return;\n }\n const index = listeners.indexOf(callback);\n if (index > -1) {\n listeners.splice(index, 1);\n }\n }\n}\nconst optionsModifierRE = /(?:Once|Passive|Capture)$/;\nfunction parseEventName(name) {\n let options;\n if (optionsModifierRE.test(name)) {\n options = {};\n let m;\n while ((m = name.match(optionsModifierRE))) {\n name = name.slice(0, name.length - m[0].length);\n options[m[0].toLowerCase()] = true;\n }\n }\n return [hyphenate(name.slice(2)), options];\n}\n\nconst EventModifierFlags = /*#__PURE__*/ (() => {\n return {\n stop: 1,\n prevent: 1 << 1,\n self: 1 << 2,\n };\n})();\nfunction encodeModifier(modifiers) {\n let flag = 0;\n if (modifiers.includes('stop')) {\n flag |= EventModifierFlags.stop;\n }\n if (modifiers.includes('prevent')) {\n flag |= EventModifierFlags.prevent;\n }\n if (modifiers.includes('self')) {\n flag |= EventModifierFlags.self;\n }\n return flag;\n}\n\nconst NODE_TYPE_PAGE = 0;\nconst NODE_TYPE_ELEMENT = 1;\nconst NODE_TYPE_TEXT = 3;\nconst NODE_TYPE_COMMENT = 8;\nfunction sibling(node, type) {\n const { parentNode } = node;\n if (!parentNode) {\n return null;\n }\n const { childNodes } = parentNode;\n return childNodes[childNodes.indexOf(node) + (type === 'n' ? 1 : -1)] || null;\n}\nfunction removeNode(node) {\n const { parentNode } = node;\n if (parentNode) {\n const { childNodes } = parentNode;\n const index = childNodes.indexOf(node);\n if (index > -1) {\n node.parentNode = null;\n childNodes.splice(index, 1);\n }\n }\n}\nfunction checkNodeId(node) {\n if (!node.nodeId && node.pageNode) {\n node.nodeId = node.pageNode.genId();\n }\n}\n// 为优化性能,各平台不使用proxy来实现node的操作拦截,而是直接通过pageNode定制\nclass UniNode extends UniEventTarget {\n constructor(nodeType, nodeName, container) {\n super();\n this.pageNode = null;\n this.parentNode = null;\n this._text = null;\n if (container) {\n const { pageNode } = container;\n if (pageNode) {\n this.pageNode = pageNode;\n this.nodeId = pageNode.genId();\n !pageNode.isUnmounted && pageNode.onCreate(this, nodeName);\n }\n }\n this.nodeType = nodeType;\n this.nodeName = nodeName;\n this.childNodes = [];\n }\n get firstChild() {\n return this.childNodes[0] || null;\n }\n get lastChild() {\n const { childNodes } = this;\n const length = childNodes.length;\n return length ? childNodes[length - 1] : null;\n }\n get nextSibling() {\n return sibling(this, 'n');\n }\n get nodeValue() {\n return null;\n }\n set nodeValue(_val) { }\n get textContent() {\n return this._text || '';\n }\n set textContent(text) {\n this._text = text;\n if (this.pageNode && !this.pageNode.isUnmounted) {\n this.pageNode.onTextContent(this, text);\n }\n }\n get parentElement() {\n const { parentNode } = this;\n if (parentNode && parentNode.nodeType === NODE_TYPE_ELEMENT) {\n return parentNode;\n }\n return null;\n }\n get previousSibling() {\n return sibling(this, 'p');\n }\n appendChild(newChild) {\n return this.insertBefore(newChild, null);\n }\n cloneNode(deep) {\n const cloned = extend(Object.create(Object.getPrototypeOf(this)), this);\n const { attributes } = cloned;\n if (attributes) {\n cloned.attributes = extend({}, attributes);\n }\n if (deep) {\n cloned.childNodes = cloned.childNodes.map((childNode) => childNode.cloneNode(true));\n }\n return cloned;\n }\n insertBefore(newChild, refChild) {\n // 先从现在的父节点移除(注意:不能触发onRemoveChild,否则会生成先remove该 id,再 insert)\n removeNode(newChild);\n newChild.pageNode = this.pageNode;\n newChild.parentNode = this;\n checkNodeId(newChild);\n const { childNodes } = this;\n if (refChild) {\n const index = childNodes.indexOf(refChild);\n if (index === -1) {\n throw new DOMException(`Failed to execute 'insertBefore' on 'Node': The node before which the new node is to be inserted is not a child of this node.`);\n }\n childNodes.splice(index, 0, newChild);\n }\n else {\n childNodes.push(newChild);\n }\n return this.pageNode && !this.pageNode.isUnmounted\n ? this.pageNode.onInsertBefore(this, newChild, refChild)\n : newChild;\n }\n removeChild(oldChild) {\n const { childNodes } = this;\n const index = childNodes.indexOf(oldChild);\n if (index === -1) {\n throw new DOMException(`Failed to execute 'removeChild' on 'Node': The node to be removed is not a child of this node.`);\n }\n oldChild.parentNode = null;\n childNodes.splice(index, 1);\n return this.pageNode && !this.pageNode.isUnmounted\n ? this.pageNode.onRemoveChild(oldChild)\n : oldChild;\n }\n}\nconst ATTR_CLASS = 'class';\nconst ATTR_STYLE = 'style';\nconst ATTR_INNER_HTML = 'innerHTML';\nconst ATTR_TEXT_CONTENT = 'textContent';\nconst ATTR_V_SHOW = '.vShow';\nconst ATTR_V_OWNER_ID = '.vOwnerId';\nconst ATTR_V_RENDERJS = '.vRenderjs';\nconst ATTR_CHANGE_PREFIX = 'change:';\nclass UniBaseNode extends UniNode {\n constructor(nodeType, nodeName, container) {\n super(nodeType, nodeName, container);\n this.attributes = Object.create(null);\n this.style = null;\n this.vShow = null;\n this._html = null;\n }\n get className() {\n return (this.attributes[ATTR_CLASS] || '');\n }\n set className(val) {\n this.setAttribute(ATTR_CLASS, val);\n }\n get innerHTML() {\n return '';\n }\n set innerHTML(html) {\n this._html = html;\n }\n addEventListener(type, listener, options) {\n super.addEventListener(type, listener, options);\n if (this.pageNode && !this.pageNode.isUnmounted) {\n if (listener.wxsEvent) {\n this.pageNode.onAddWxsEvent(this, normalizeEventType(type, options), listener.wxsEvent, encodeModifier(listener.modifiers || []));\n }\n else {\n this.pageNode.onAddEvent(this, normalizeEventType(type, options), encodeModifier(listener.modifiers || []));\n }\n }\n }\n removeEventListener(type, callback, options) {\n super.removeEventListener(type, callback, options);\n if (this.pageNode && !this.pageNode.isUnmounted) {\n this.pageNode.onRemoveEvent(this, normalizeEventType(type, options));\n }\n }\n getAttribute(qualifiedName) {\n if (qualifiedName === ATTR_STYLE) {\n return this.style;\n }\n return this.attributes[qualifiedName];\n }\n removeAttribute(qualifiedName) {\n if (qualifiedName == ATTR_STYLE) {\n this.style = null;\n }\n else {\n delete this.attributes[qualifiedName];\n }\n if (this.pageNode && !this.pageNode.isUnmounted) {\n this.pageNode.onRemoveAttribute(this, qualifiedName);\n }\n }\n setAttribute(qualifiedName, value) {\n if (qualifiedName === ATTR_STYLE) {\n this.style = value;\n }\n else {\n this.attributes[qualifiedName] = value;\n }\n if (this.pageNode && !this.pageNode.isUnmounted) {\n this.pageNode.onSetAttribute(this, qualifiedName, value);\n }\n }\n toJSON({ attr, normalize, } = {}) {\n const { attributes, style, listeners, _text } = this;\n const res = {};\n if (Object.keys(attributes).length) {\n res.a = normalize ? normalize(attributes) : attributes;\n }\n const events = Object.keys(listeners);\n if (events.length) {\n let w = undefined;\n const e = {};\n events.forEach((name) => {\n const handlers = listeners[name];\n if (handlers.length) {\n // 可能存在多个 handler 且不同 modifiers 吗?\n const { wxsEvent, modifiers } = handlers[0];\n const modifier = encodeModifier(modifiers || []);\n if (!wxsEvent) {\n e[name] = modifier;\n }\n else {\n if (!w) {\n w = {};\n }\n w[name] = [normalize ? normalize(wxsEvent) : wxsEvent, modifier];\n }\n }\n });\n res.e = normalize ? normalize(e, false) : e;\n if (w) {\n res.w = normalize ? normalize(w, false) : w;\n }\n }\n if (style !== null) {\n res.s = normalize ? normalize(style) : style;\n }\n if (!attr) {\n res.i = this.nodeId;\n res.n = this.nodeName;\n }\n if (_text !== null) {\n res.t = normalize ? normalize(_text) : _text;\n }\n return res;\n }\n}\n\nclass UniCommentNode extends UniNode {\n constructor(text, container) {\n super(NODE_TYPE_COMMENT, '#comment', container);\n this._text = (process.env.NODE_ENV !== 'production') ? text : '';\n }\n toJSON(opts = {}) {\n // 暂时不传递 text 到 view 层,没啥意义,节省点数据量\n return opts.attr\n ? {}\n : {\n i: this.nodeId,\n };\n // return opts.attr\n // ? { t: this._text as string }\n // : {\n // i: this.nodeId!,\n // t: this._text as string,\n // }\n }\n}\n\nclass UniElement extends UniBaseNode {\n constructor(nodeName, container) {\n super(NODE_TYPE_ELEMENT, nodeName.toUpperCase(), container);\n this.tagName = this.nodeName;\n }\n}\nclass UniInputElement extends UniElement {\n get value() {\n return this.getAttribute('value');\n }\n set value(val) {\n this.setAttribute('value', val);\n }\n}\nclass UniTextAreaElement extends UniInputElement {\n}\n\nclass UniTextNode extends UniBaseNode {\n constructor(text, container) {\n super(NODE_TYPE_TEXT, '#text', container);\n this._text = text;\n }\n get nodeValue() {\n return this._text || '';\n }\n set nodeValue(text) {\n this._text = text;\n if (this.pageNode && !this.pageNode.isUnmounted) {\n this.pageNode.onNodeValue(this, text);\n }\n }\n}\n\nconst forcePatchProps = {\n AD: ['data'],\n 'AD-DRAW': ['data'],\n 'LIVE-PLAYER': ['picture-in-picture-mode'],\n MAP: [\n 'markers',\n 'polyline',\n 'circles',\n 'controls',\n 'include-points',\n 'polygons',\n ],\n PICKER: ['range', 'value'],\n 'PICKER-VIEW': ['value'],\n 'RICH-TEXT': ['nodes'],\n VIDEO: ['danmu-list', 'header'],\n 'WEB-VIEW': ['webview-styles'],\n};\nconst forcePatchPropKeys = ['animation'];\n\nconst forcePatchProp = (el, key) => {\n if (forcePatchPropKeys.indexOf(key) > -1) {\n return true;\n }\n const keys = forcePatchProps[el.nodeName];\n if (keys && keys.indexOf(key) > -1) {\n return true;\n }\n return false;\n};\n\nconst ACTION_TYPE_PAGE_CREATE = 1;\nconst ACTION_TYPE_PAGE_CREATED = 2;\nconst ACTION_TYPE_CREATE = 3;\nconst ACTION_TYPE_INSERT = 4;\nconst ACTION_TYPE_REMOVE = 5;\nconst ACTION_TYPE_SET_ATTRIBUTE = 6;\nconst ACTION_TYPE_REMOVE_ATTRIBUTE = 7;\nconst ACTION_TYPE_ADD_EVENT = 8;\nconst ACTION_TYPE_REMOVE_EVENT = 9;\nconst ACTION_TYPE_SET_TEXT = 10;\nconst ACTION_TYPE_ADD_WXS_EVENT = 12;\nconst ACTION_TYPE_PAGE_SCROLL = 15;\nconst ACTION_TYPE_EVENT = 20;\n\n/**\n * 需要手动传入 timer,主要是解决 App 平台的定制 timer\n */\nfunction debounce(fn, delay, { clearTimeout, setTimeout }) {\n let timeout;\n const newFn = function () {\n clearTimeout(timeout);\n const timerFn = () => fn.apply(this, arguments);\n timeout = setTimeout(timerFn, delay);\n };\n newFn.cancel = function () {\n clearTimeout(timeout);\n };\n return newFn;\n}\n\nclass EventChannel {\n constructor(id, events) {\n this.id = id;\n this.listener = {};\n this.emitCache = [];\n if (events) {\n Object.keys(events).forEach((name) => {\n this.on(name, events[name]);\n });\n }\n }\n emit(eventName, ...args) {\n const fns = this.listener[eventName];\n if (!fns) {\n return this.emitCache.push({\n eventName,\n args,\n });\n }\n fns.forEach((opt) => {\n opt.fn.apply(opt.fn, args);\n });\n this.listener[eventName] = fns.filter((opt) => opt.type !== 'once');\n }\n on(eventName, fn) {\n this._addListener(eventName, 'on', fn);\n this._clearCache(eventName);\n }\n once(eventName, fn) {\n this._addListener(eventName, 'once', fn);\n this._clearCache(eventName);\n }\n off(eventName, fn) {\n const fns = this.listener[eventName];\n if (!fns) {\n return;\n }\n if (fn) {\n for (let i = 0; i < fns.length;) {\n if (fns[i].fn === fn) {\n fns.splice(i, 1);\n i--;\n }\n i++;\n }\n }\n else {\n delete this.listener[eventName];\n }\n }\n _clearCache(eventName) {\n for (let index = 0; index < this.emitCache.length; index++) {\n const cache = this.emitCache[index];\n const _name = eventName\n ? cache.eventName === eventName\n ? eventName\n : null\n : cache.eventName;\n if (!_name)\n continue;\n const location = this.emit.apply(this, [_name, ...cache.args]);\n if (typeof location === 'number') {\n this.emitCache.pop();\n continue;\n }\n this.emitCache.splice(index, 1);\n index--;\n }\n }\n _addListener(eventName, type, fn) {\n (this.listener[eventName] || (this.listener[eventName] = [])).push({\n fn,\n type,\n });\n }\n}\n\nconst PAGE_HOOKS = [\n ON_INIT,\n ON_LOAD,\n ON_SHOW,\n ON_HIDE,\n ON_UNLOAD,\n ON_BACK_PRESS,\n ON_PAGE_SCROLL,\n ON_TAB_ITEM_TAP,\n ON_REACH_BOTTOM,\n ON_PULL_DOWN_REFRESH,\n ON_SHARE_TIMELINE,\n ON_SHARE_APP_MESSAGE,\n ON_SHARE_CHAT,\n ON_ADD_TO_FAVORITES,\n ON_SAVE_EXIT_STATE,\n ON_NAVIGATION_BAR_BUTTON_TAP,\n ON_NAVIGATION_BAR_SEARCH_INPUT_CLICKED,\n ON_NAVIGATION_BAR_SEARCH_INPUT_CHANGED,\n ON_NAVIGATION_BAR_SEARCH_INPUT_CONFIRMED,\n ON_NAVIGATION_BAR_SEARCH_INPUT_FOCUS_CHANGED,\n];\nfunction isRootImmediateHook(name) {\n const PAGE_SYNC_HOOKS = [ON_LOAD, ON_SHOW];\n return PAGE_SYNC_HOOKS.indexOf(name) > -1;\n}\n// isRootImmediateHookX deprecated\nfunction isRootHook(name) {\n return PAGE_HOOKS.indexOf(name) > -1;\n}\nconst UniLifecycleHooks = [\n ON_SHOW,\n ON_HIDE,\n ON_LAUNCH,\n ON_ERROR,\n ON_THEME_CHANGE,\n ON_PAGE_NOT_FOUND,\n ON_UNHANDLE_REJECTION,\n ON_EXIT,\n ON_INIT,\n ON_LOAD,\n ON_READY,\n ON_UNLOAD,\n ON_RESIZE,\n ON_BACK_PRESS,\n ON_PAGE_SCROLL,\n ON_TAB_ITEM_TAP,\n ON_REACH_BOTTOM,\n ON_PULL_DOWN_REFRESH,\n ON_SHARE_TIMELINE,\n ON_ADD_TO_FAVORITES,\n ON_SHARE_APP_MESSAGE,\n ON_SHARE_CHAT,\n ON_SAVE_EXIT_STATE,\n ON_NAVIGATION_BAR_BUTTON_TAP,\n ON_NAVIGATION_BAR_SEARCH_INPUT_CLICKED,\n ON_NAVIGATION_BAR_SEARCH_INPUT_CHANGED,\n ON_NAVIGATION_BAR_SEARCH_INPUT_CONFIRMED,\n ON_NAVIGATION_BAR_SEARCH_INPUT_FOCUS_CHANGED,\n];\nconst MINI_PROGRAM_PAGE_RUNTIME_HOOKS = /*#__PURE__*/ (() => {\n return {\n onPageScroll: 1,\n onShareAppMessage: 1 << 1,\n onShareTimeline: 1 << 2,\n };\n})();\nfunction isUniLifecycleHook(name, value, checkType = true) {\n // 检查类型\n if (checkType && !isFunction(value)) {\n return false;\n }\n if (UniLifecycleHooks.indexOf(name) > -1) {\n // 已预定义\n return true;\n }\n else if (name.indexOf('on') === 0) {\n // 以 on 开头\n return true;\n }\n return false;\n}\n\nlet vueApp;\nconst createVueAppHooks = [];\n/**\n * 提供 createApp 的回调事件,方便三方插件接收 App 对象,处理挂靠全局 mixin 之类的逻辑\n */\nfunction onCreateVueApp(hook) {\n // TODO 每个 nvue 页面都会触发\n if (vueApp) {\n return hook(vueApp);\n }\n createVueAppHooks.push(hook);\n}\nfunction invokeCreateVueAppHook(app) {\n vueApp = app;\n createVueAppHooks.forEach((hook) => hook(app));\n}\nconst invokeCreateErrorHandler = once((app, createErrorHandler) => {\n // 不再判断开发者是否监听了onError,直接返回 createErrorHandler,内部 errorHandler 会调用开发者自定义的 errorHandler,以及判断开发者是否监听了onError\n return createErrorHandler(app);\n});\n\nconst E = function () {\n // Keep this empty so it's easier to inherit from\n // (via https://github.com/lipsmack from https://github.com/scottcorgan/tiny-emitter/issues/3)\n};\nE.prototype = {\n _id: 1,\n on: function (name, callback, ctx) {\n var e = this.e || (this.e = {});\n (e[name] || (e[name] = [])).push({\n fn: callback,\n ctx: ctx,\n _id: this._id,\n });\n return this._id++;\n },\n once: function (name, callback, ctx) {\n var self = this;\n function listener() {\n self.off(name, listener);\n callback.apply(ctx, arguments);\n }\n listener._ = callback;\n return this.on(name, listener, ctx);\n },\n emit: function (name) {\n var data = [].slice.call(arguments, 1);\n var evtArr = ((this.e || (this.e = {}))[name] || []).slice();\n var i = 0;\n var len = evtArr.length;\n for (i; i < len; i++) {\n evtArr[i].fn.apply(evtArr[i].ctx, data);\n }\n return this;\n },\n off: function (name, event) {\n var e = this.e || (this.e = {});\n var evts = e[name];\n var liveEvents = [];\n if (evts && event) {\n for (var i = evts.length - 1; i >= 0; i--) {\n if (evts[i].fn === event ||\n evts[i].fn._ === event ||\n evts[i]._id === event) {\n evts.splice(i, 1);\n break;\n }\n }\n liveEvents = evts;\n }\n // Remove event from queue to prevent memory leak\n // Suggested by https://github.com/lazd\n // Ref: https://github.com/scottcorgan/tiny-emitter/commit/c6ebfaa9bc973b33d110a84a307742b7cf94c953#commitcomment-5024910\n liveEvents.length ? (e[name] = liveEvents) : delete e[name];\n return this;\n },\n};\nvar E$1 = E;\n\nconst borderStyles = {\n black: 'rgba(0,0,0,0.4)',\n white: 'rgba(255,255,255,0.4)',\n};\nfunction normalizeTabBarStyles(borderStyle) {\n if (borderStyle && borderStyle in borderStyles) {\n return borderStyles[borderStyle];\n }\n return borderStyle;\n}\nfunction normalizeTitleColor(titleColor) {\n return titleColor === 'black' ? '#000000' : '#ffffff';\n}\nfunction resolveStringStyleItem(modeStyle, styleItem, key) {\n if (isString(styleItem) && styleItem.startsWith('@')) {\n const _key = styleItem.replace('@', '');\n let _styleItem = modeStyle[_key] || styleItem;\n switch (key) {\n case 'titleColor':\n _styleItem = normalizeTitleColor(_styleItem);\n break;\n case 'borderStyle':\n _styleItem = normalizeTabBarStyles(_styleItem);\n break;\n }\n return _styleItem;\n }\n return styleItem;\n}\nfunction normalizeStyles(pageStyle, themeConfig = {}, mode = 'light') {\n const modeStyle = themeConfig[mode];\n const styles = {};\n if (typeof modeStyle === 'undefined' || !pageStyle)\n return pageStyle;\n Object.keys(pageStyle).forEach((key) => {\n const styleItem = pageStyle[key]; // Object Array String\n const parseStyleItem = () => {\n if (isPlainObject(styleItem))\n return normalizeStyles(styleItem, themeConfig, mode);\n if (isArray(styleItem))\n return styleItem.map((item) => {\n if (isPlainObject(item))\n return normalizeStyles(item, themeConfig, mode);\n return resolveStringStyleItem(modeStyle, item);\n });\n return resolveStringStyleItem(modeStyle, styleItem, key);\n };\n styles[key] = parseStyleItem();\n });\n return styles;\n}\n\nfunction getEnvLocale() {\n const { env } = process;\n const lang = env.LC_ALL || env.LC_MESSAGES || env.LANG || env.LANGUAGE;\n return (lang && lang.replace(/[.:].*/, '')) || 'en';\n}\n\nconst isStringIntegerKey = (key) => typeof key === 'string' &&\n key !== 'NaN' &&\n key[0] !== '-' &&\n '' + parseInt(key, 10) === key;\nconst isNumberIntegerKey = (key) => typeof key === 'number' &&\n !isNaN(key) &&\n key >= 0 &&\n parseInt(key + '', 10) === key;\n/**\n * 用于替代@vue/shared的isIntegerKey,原始方法在鸿蒙arkts中会引发bug。根本原因是arkts的数组的key是数字而不是字符串。\n * 目前这个方法使用的地方都和数组有关,切记不能挪作他用。\n * @param key\n * @returns\n */\nconst isIntegerKey = (key) => isNumberIntegerKey(key) || isStringIntegerKey(key);\n\nexport { ACTION_TYPE_ADD_EVENT, ACTION_TYPE_ADD_WXS_EVENT, ACTION_TYPE_CREATE, ACTION_TYPE_EVENT, ACTION_TYPE_INSERT, ACTION_TYPE_PAGE_CREATE, ACTION_TYPE_PAGE_CREATED, ACTION_TYPE_PAGE_SCROLL, ACTION_TYPE_REMOVE, ACTION_TYPE_REMOVE_ATTRIBUTE, ACTION_TYPE_REMOVE_EVENT, ACTION_TYPE_SET_ATTRIBUTE, ACTION_TYPE_SET_TEXT, ATTR_CHANGE_PREFIX, ATTR_CLASS, ATTR_INNER_HTML, ATTR_STYLE, ATTR_TEXT_CONTENT, ATTR_V_OWNER_ID, ATTR_V_RENDERJS, ATTR_V_SHOW, BACKGROUND_COLOR, BUILT_IN_TAGS, BUILT_IN_TAG_NAMES, COMPONENT_NAME_PREFIX, COMPONENT_PREFIX, COMPONENT_SELECTOR_PREFIX, DATA_RE, E$1 as Emitter, EventChannel, EventModifierFlags, I18N_JSON_DELIMITERS, JSON_PROTOCOL, LINEFEED, MINI_PROGRAM_PAGE_RUNTIME_HOOKS, NAVBAR_HEIGHT, NODE_TYPE_COMMENT, NODE_TYPE_ELEMENT, NODE_TYPE_PAGE, NODE_TYPE_TEXT, NVUE_BUILT_IN_TAGS, NVUE_U_BUILT_IN_TAGS, OFF_HOST_THEME_CHANGE, OFF_THEME_CHANGE, ON_ADD_TO_FAVORITES, ON_APP_ENTER_BACKGROUND, ON_APP_ENTER_FOREGROUND, ON_BACK_PRESS, ON_ERROR, ON_EXIT, ON_HIDE, ON_HOST_THEME_CHANGE, ON_INIT, ON_KEYBOARD_HEIGHT_CHANGE, ON_LAUNCH, ON_LOAD, ON_NAVIGATION_BAR_BUTTON_TAP, ON_NAVIGATION_BAR_CHANGE, ON_NAVIGATION_BAR_SEARCH_INPUT_CHANGED, ON_NAVIGATION_BAR_SEARCH_INPUT_CLICKED, ON_NAVIGATION_BAR_SEARCH_INPUT_CONFIRMED, ON_NAVIGATION_BAR_SEARCH_INPUT_FOCUS_CHANGED, ON_PAGE_NOT_FOUND, ON_PAGE_SCROLL, ON_PULL_DOWN_REFRESH, ON_REACH_BOTTOM, ON_REACH_BOTTOM_DISTANCE, ON_READY, ON_RESIZE, ON_SAVE_EXIT_STATE, ON_SHARE_APP_MESSAGE, ON_SHARE_CHAT, ON_SHARE_TIMELINE, ON_SHOW, ON_TAB_ITEM_TAP, ON_THEME_CHANGE, ON_UNHANDLE_REJECTION, ON_UNLOAD, ON_WEB_INVOKE_APP_SERVICE, ON_WXS_INVOKE_CALL_METHOD, PLUS_RE, PRIMARY_COLOR, RENDERJS_MODULES, RESPONSIVE_MIN_WIDTH, SCHEME_RE, SELECTED_COLOR, SLOT_DEFAULT_NAME, TABBAR_HEIGHT, TAGS, UNI_SSR, UNI_SSR_DATA, UNI_SSR_GLOBAL_DATA, UNI_SSR_STORE, UNI_SSR_TITLE, UNI_STORAGE_LOCALE, UNI_UI_CONFLICT_TAGS, UVUE_BUILT_IN_TAGS, UVUE_HARMONY_BUILT_IN_TAGS, UVUE_IOS_BUILT_IN_TAGS, UVUE_WEB_BUILT_IN_TAGS, UniBaseNode, UniCommentNode, UniElement, UniEvent, UniInputElement, UniLifecycleHooks, UniNode, UniTextAreaElement, UniTextNode, VIRTUAL_HOST_CLASS, VIRTUAL_HOST_HIDDEN, VIRTUAL_HOST_ID, VIRTUAL_HOST_STYLE, WEB_INVOKE_APPSERVICE, WXS_MODULES, WXS_PROTOCOL, addFont, addLeadingSlash, borderStyles, cache, cacheStringFunction, callOptions, createIsCustomElement, createRpx2Unit, createUniEvent, customizeEvent, debounce, decode, decodedQuery, defaultMiniProgramRpx2Unit, defaultNVueRpx2Unit, defaultRpx2Unit, dynamicSlotName, forcePatchProp, formatDateTime, formatLog, getCustomDataset, getEnvLocale, getGlobal, getLen, getValueByDataPath, initCustomDatasetOnce, invokeArrayFns, invokeCreateErrorHandler, invokeCreateVueAppHook, isAppHarmonyUVueNativeTag, isAppIOSUVueNativeTag, isAppNVueNativeTag, isAppNativeTag, isAppUVueBuiltInEasyComponent, isAppUVueNativeTag, isAppVoidTag, isBuiltInComponent, isComponentInternalInstance, isComponentTag, isH5CustomElement, isH5NativeTag, isIntegerKey, isMiniProgramNativeTag, isMiniProgramUVueNativeTag, isRootHook, isRootImmediateHook, isUniLifecycleHook, isUniXElement, normalizeClass, normalizeDataset, normalizeEventType, normalizeProps, normalizeStyle, normalizeStyles, normalizeTabBarStyles, normalizeTarget, normalizeTitleColor, onCreateVueApp, once, parseEventName, parseNVueDataset, parseQuery, parseUrl, passive, plusReady, removeLeadingSlash, resolveComponentInstance, resolveOwnerEl, resolveOwnerVm, sanitise, scrollTo, sortObject, stringifyQuery, updateElementStyle };\n","import { isRootHook, getValueByDataPath, isUniLifecycleHook, ON_ERROR, UniLifecycleHooks, invokeCreateErrorHandler, dynamicSlotName } from '@dcloudio/uni-shared';\nimport { NOOP, extend, isSymbol, isObject, def, hasChanged, isFunction, isArray, isPromise, camelize, capitalize, EMPTY_OBJ, remove, toHandlerKey, hasOwn, hyphenate, isReservedProp, toRawType, isString, normalizeClass, normalizeStyle, isOn, toTypeString, isMap, isIntegerKey, isSet, isPlainObject, makeMap, invokeArrayFns, isBuiltInDirective, looseToNumber, NO, EMPTY_ARR, isModelListener, toNumber, toDisplayString } from '@vue/shared';\nexport { EMPTY_OBJ, camelize, normalizeClass, normalizeProps, normalizeStyle, toDisplayString, toHandlerKey } from '@vue/shared';\n\n/**\n* @dcloudio/uni-mp-vue v3.4.21\n* (c) 2018-present Yuxi (Evan) You and Vue contributors\n* @license MIT\n**/\n\nfunction warn$2(msg, ...args) {\n console.warn(`[Vue warn] ${msg}`, ...args);\n}\n\nlet activeEffectScope;\nclass EffectScope {\n constructor(detached = false) {\n this.detached = detached;\n /**\n * @internal\n */\n this._active = true;\n /**\n * @internal\n */\n this.effects = [];\n /**\n * @internal\n */\n this.cleanups = [];\n this.parent = activeEffectScope;\n if (!detached && activeEffectScope) {\n this.index = (activeEffectScope.scopes || (activeEffectScope.scopes = [])).push(\n this\n ) - 1;\n }\n }\n get active() {\n return this._active;\n }\n run(fn) {\n if (this._active) {\n const currentEffectScope = activeEffectScope;\n try {\n activeEffectScope = this;\n return fn();\n } finally {\n activeEffectScope = currentEffectScope;\n }\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$2(`cannot run an inactive effect scope.`);\n }\n }\n /**\n * This should only be called on non-detached scopes\n * @internal\n */\n on() {\n activeEffectScope = this;\n }\n /**\n * This should only be called on non-detached scopes\n * @internal\n */\n off() {\n activeEffectScope = this.parent;\n }\n stop(fromParent) {\n if (this._active) {\n let i, l;\n for (i = 0, l = this.effects.length; i < l; i++) {\n this.effects[i].stop();\n }\n for (i = 0, l = this.cleanups.length; i < l; i++) {\n this.cleanups[i]();\n }\n if (this.scopes) {\n for (i = 0, l = this.scopes.length; i < l; i++) {\n this.scopes[i].stop(true);\n }\n }\n if (!this.detached && this.parent && !fromParent) {\n const last = this.parent.scopes.pop();\n if (last && last !== this) {\n this.parent.scopes[this.index] = last;\n last.index = this.index;\n }\n }\n this.parent = void 0;\n this._active = false;\n }\n }\n}\nfunction effectScope(detached) {\n return new EffectScope(detached);\n}\nfunction recordEffectScope(effect, scope = activeEffectScope) {\n if (scope && scope.active) {\n scope.effects.push(effect);\n }\n}\nfunction getCurrentScope() {\n return activeEffectScope;\n}\nfunction onScopeDispose(fn) {\n if (activeEffectScope) {\n activeEffectScope.cleanups.push(fn);\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$2(\n `onScopeDispose() is called when there is no active effect scope to be associated with.`\n );\n }\n}\n\nlet activeEffect;\nclass ReactiveEffect {\n constructor(fn, trigger, scheduler, scope) {\n this.fn = fn;\n this.trigger = trigger;\n this.scheduler = scheduler;\n this.active = true;\n this.deps = [];\n /**\n * @internal\n */\n this._dirtyLevel = 4;\n /**\n * @internal\n */\n this._trackId = 0;\n /**\n * @internal\n */\n this._runnings = 0;\n /**\n * @internal\n */\n this._shouldSchedule = false;\n /**\n * @internal\n */\n this._depsLength = 0;\n recordEffectScope(this, scope);\n }\n get dirty() {\n if (this._dirtyLevel === 2 || this._dirtyLevel === 3) {\n this._dirtyLevel = 1;\n pauseTracking();\n for (let i = 0; i < this._depsLength; i++) {\n const dep = this.deps[i];\n if (dep.computed) {\n triggerComputed(dep.computed);\n if (this._dirtyLevel >= 4) {\n break;\n }\n }\n }\n if (this._dirtyLevel === 1) {\n this._dirtyLevel = 0;\n }\n resetTracking();\n }\n return this._dirtyLevel >= 4;\n }\n set dirty(v) {\n this._dirtyLevel = v ? 4 : 0;\n }\n run() {\n this._dirtyLevel = 0;\n if (!this.active) {\n return this.fn();\n }\n let lastShouldTrack = shouldTrack;\n let lastEffect = activeEffect;\n try {\n shouldTrack = true;\n activeEffect = this;\n this._runnings++;\n preCleanupEffect(this);\n return this.fn();\n } finally {\n postCleanupEffect(this);\n this._runnings--;\n activeEffect = lastEffect;\n shouldTrack = lastShouldTrack;\n }\n }\n stop() {\n var _a;\n if (this.active) {\n preCleanupEffect(this);\n postCleanupEffect(this);\n (_a = this.onStop) == null ? void 0 : _a.call(this);\n this.active = false;\n }\n }\n}\nfunction triggerComputed(computed) {\n return computed.value;\n}\nfunction preCleanupEffect(effect2) {\n effect2._trackId++;\n effect2._depsLength = 0;\n}\nfunction postCleanupEffect(effect2) {\n if (effect2.deps.length > effect2._depsLength) {\n for (let i = effect2._depsLength; i < effect2.deps.length; i++) {\n cleanupDepEffect(effect2.deps[i], effect2);\n }\n effect2.deps.length = effect2._depsLength;\n }\n}\nfunction cleanupDepEffect(dep, effect2) {\n const trackId = dep.get(effect2);\n if (trackId !== void 0 && effect2._trackId !== trackId) {\n dep.delete(effect2);\n if (dep.size === 0) {\n dep.cleanup();\n }\n }\n}\nfunction effect(fn, options) {\n if (fn.effect instanceof ReactiveEffect) {\n fn = fn.effect.fn;\n }\n const _effect = new ReactiveEffect(fn, NOOP, () => {\n if (_effect.dirty) {\n _effect.run();\n }\n });\n if (options) {\n extend(_effect, options);\n if (options.scope)\n recordEffectScope(_effect, options.scope);\n }\n if (!options || !options.lazy) {\n _effect.run();\n }\n const runner = _effect.run.bind(_effect);\n runner.effect = _effect;\n return runner;\n}\nfunction stop(runner) {\n runner.effect.stop();\n}\nlet shouldTrack = true;\nlet pauseScheduleStack = 0;\nconst trackStack = [];\nfunction pauseTracking() {\n trackStack.push(shouldTrack);\n shouldTrack = false;\n}\nfunction resetTracking() {\n const last = trackStack.pop();\n shouldTrack = last === void 0 ? true : last;\n}\nfunction pauseScheduling() {\n pauseScheduleStack++;\n}\nfunction resetScheduling() {\n pauseScheduleStack--;\n while (!pauseScheduleStack && queueEffectSchedulers.length) {\n queueEffectSchedulers.shift()();\n }\n}\nfunction trackEffect(effect2, dep, debuggerEventExtraInfo) {\n var _a;\n if (dep.get(effect2) !== effect2._trackId) {\n dep.set(effect2, effect2._trackId);\n const oldDep = effect2.deps[effect2._depsLength];\n if (oldDep !== dep) {\n if (oldDep) {\n cleanupDepEffect(oldDep, effect2);\n }\n effect2.deps[effect2._depsLength++] = dep;\n } else {\n effect2._depsLength++;\n }\n if (!!(process.env.NODE_ENV !== \"production\")) {\n (_a = effect2.onTrack) == null ? void 0 : _a.call(effect2, extend({ effect: effect2 }, debuggerEventExtraInfo));\n }\n }\n}\nconst queueEffectSchedulers = [];\nfunction triggerEffects(dep, dirtyLevel, debuggerEventExtraInfo) {\n var _a;\n pauseScheduling();\n for (const effect2 of dep.keys()) {\n let tracking;\n if (effect2._dirtyLevel < dirtyLevel && (tracking != null ? tracking : tracking = dep.get(effect2) === effect2._trackId)) {\n effect2._shouldSchedule || (effect2._shouldSchedule = effect2._dirtyLevel === 0);\n effect2._dirtyLevel = dirtyLevel;\n }\n if (effect2._shouldSchedule && (tracking != null ? tracking : tracking = dep.get(effect2) === effect2._trackId)) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n (_a = effect2.onTrigger) == null ? void 0 : _a.call(effect2, extend({ effect: effect2 }, debuggerEventExtraInfo));\n }\n effect2.trigger();\n if ((!effect2._runnings || effect2.allowRecurse) && effect2._dirtyLevel !== 2) {\n effect2._shouldSchedule = false;\n if (effect2.scheduler) {\n queueEffectSchedulers.push(effect2.scheduler);\n }\n }\n }\n }\n resetScheduling();\n}\n\nconst createDep = (cleanup, computed) => {\n const dep = /* @__PURE__ */ new Map();\n dep.cleanup = cleanup;\n dep.computed = computed;\n return dep;\n};\n\nconst targetMap = /* @__PURE__ */ new WeakMap();\nconst ITERATE_KEY = Symbol(!!(process.env.NODE_ENV !== \"production\") ? \"iterate\" : \"\");\nconst MAP_KEY_ITERATE_KEY = Symbol(!!(process.env.NODE_ENV !== \"production\") ? \"Map key iterate\" : \"\");\nfunction track(target, type, key) {\n if (shouldTrack && activeEffect) {\n let depsMap = targetMap.get(target);\n if (!depsMap) {\n targetMap.set(target, depsMap = /* @__PURE__ */ new Map());\n }\n let dep = depsMap.get(key);\n if (!dep) {\n depsMap.set(key, dep = createDep(() => depsMap.delete(key)));\n }\n trackEffect(\n activeEffect,\n dep,\n !!(process.env.NODE_ENV !== \"production\") ? {\n target,\n type,\n key\n } : void 0\n );\n }\n}\nfunction trigger(target, type, key, newValue, oldValue, oldTarget) {\n const depsMap = targetMap.get(target);\n if (!depsMap) {\n return;\n }\n let deps = [];\n if (type === \"clear\") {\n deps = [...depsMap.values()];\n } else if (key === \"length\" && isArray(target)) {\n const newLength = Number(newValue);\n depsMap.forEach((dep, key2) => {\n if (key2 === \"length\" || !isSymbol(key2) && key2 >= newLength) {\n deps.push(dep);\n }\n });\n } else {\n if (key !== void 0) {\n deps.push(depsMap.get(key));\n }\n switch (type) {\n case \"add\":\n if (!isArray(target)) {\n deps.push(depsMap.get(ITERATE_KEY));\n if (isMap(target)) {\n deps.push(depsMap.get(MAP_KEY_ITERATE_KEY));\n }\n } else if (isIntegerKey(key)) {\n deps.push(depsMap.get(\"length\"));\n }\n break;\n case \"delete\":\n if (!isArray(target)) {\n deps.push(depsMap.get(ITERATE_KEY));\n if (isMap(target)) {\n deps.push(depsMap.get(MAP_KEY_ITERATE_KEY));\n }\n }\n break;\n case \"set\":\n if (isMap(target)) {\n deps.push(depsMap.get(ITERATE_KEY));\n }\n break;\n }\n }\n pauseScheduling();\n for (const dep of deps) {\n if (dep) {\n triggerEffects(\n dep,\n 4,\n !!(process.env.NODE_ENV !== \"production\") ? {\n target,\n type,\n key,\n newValue,\n oldValue,\n oldTarget\n } : void 0\n );\n }\n }\n resetScheduling();\n}\nfunction getDepFromReactive(object, key) {\n var _a;\n return (_a = targetMap.get(object)) == null ? void 0 : _a.get(key);\n}\n\nconst isNonTrackableKeys = /* @__PURE__ */ makeMap(`__proto__,__v_isRef,__isVue`);\nconst builtInSymbols = new Set(\n /* @__PURE__ */ Object.getOwnPropertyNames(Symbol).filter((key) => key !== \"arguments\" && key !== \"caller\").map((key) => Symbol[key]).filter(isSymbol)\n);\nconst arrayInstrumentations = /* @__PURE__ */ createArrayInstrumentations();\nfunction createArrayInstrumentations() {\n const instrumentations = {};\n [\"includes\", \"indexOf\", \"lastIndexOf\"].forEach((key) => {\n instrumentations[key] = function(...args) {\n const arr = toRaw(this);\n for (let i = 0, l = this.length; i < l; i++) {\n track(arr, \"get\", i + \"\");\n }\n const res = arr[key](...args);\n if (res === -1 || res === false) {\n return arr[key](...args.map(toRaw));\n } else {\n return res;\n }\n };\n });\n [\"push\", \"pop\", \"shift\", \"unshift\", \"splice\"].forEach((key) => {\n instrumentations[key] = function(...args) {\n pauseTracking();\n pauseScheduling();\n const res = toRaw(this)[key].apply(this, args);\n resetScheduling();\n resetTracking();\n return res;\n };\n });\n return instrumentations;\n}\nfunction hasOwnProperty(key) {\n const obj = toRaw(this);\n track(obj, \"has\", key);\n return obj.hasOwnProperty(key);\n}\nclass BaseReactiveHandler {\n constructor(_isReadonly = false, _isShallow = false) {\n this._isReadonly = _isReadonly;\n this._isShallow = _isShallow;\n }\n get(target, key, receiver) {\n const isReadonly2 = this._isReadonly, isShallow2 = this._isShallow;\n if (key === \"__v_isReactive\") {\n return !isReadonly2;\n } else if (key === \"__v_isReadonly\") {\n return isReadonly2;\n } else if (key === \"__v_isShallow\") {\n return isShallow2;\n } else if (key === \"__v_raw\") {\n if (receiver === (isReadonly2 ? isShallow2 ? shallowReadonlyMap : readonlyMap : isShallow2 ? shallowReactiveMap : reactiveMap).get(target) || // receiver is not the reactive proxy, but has the same prototype\n // this means the reciever is a user proxy of the reactive proxy\n Object.getPrototypeOf(target) === Object.getPrototypeOf(receiver)) {\n return target;\n }\n return;\n }\n const targetIsArray = isArray(target);\n if (!isReadonly2) {\n if (targetIsArray && hasOwn(arrayInstrumentations, key)) {\n return Reflect.get(arrayInstrumentations, key, receiver);\n }\n if (key === \"hasOwnProperty\") {\n return hasOwnProperty;\n }\n }\n const res = Reflect.get(target, key, receiver);\n if (isSymbol(key) ? builtInSymbols.has(key) : isNonTrackableKeys(key)) {\n return res;\n }\n if (!isReadonly2) {\n track(target, \"get\", key);\n }\n if (isShallow2) {\n return res;\n }\n if (isRef(res)) {\n return targetIsArray && isIntegerKey(key) ? res : res.value;\n }\n if (isObject(res)) {\n return isReadonly2 ? readonly(res) : reactive(res);\n }\n return res;\n }\n}\nclass MutableReactiveHandler extends BaseReactiveHandler {\n constructor(isShallow2 = false) {\n super(false, isShallow2);\n }\n set(target, key, value, receiver) {\n let oldValue = target[key];\n if (!this._isShallow) {\n const isOldValueReadonly = isReadonly(oldValue);\n if (!isShallow(value) && !isReadonly(value)) {\n oldValue = toRaw(oldValue);\n value = toRaw(value);\n }\n if (!isArray(target) && isRef(oldValue) && !isRef(value)) {\n if (isOldValueReadonly) {\n return false;\n } else {\n oldValue.value = value;\n return true;\n }\n }\n }\n const hadKey = isArray(target) && isIntegerKey(key) ? Number(key) < target.length : hasOwn(target, key);\n const result = Reflect.set(target, key, value, receiver);\n if (target === toRaw(receiver)) {\n if (!hadKey) {\n trigger(target, \"add\", key, value);\n } else if (hasChanged(value, oldValue)) {\n trigger(target, \"set\", key, value, oldValue);\n }\n }\n return result;\n }\n deleteProperty(target, key) {\n const hadKey = hasOwn(target, key);\n const oldValue = target[key];\n const result = Reflect.deleteProperty(target, key);\n if (result && hadKey) {\n trigger(target, \"delete\", key, void 0, oldValue);\n }\n return result;\n }\n has(target, key) {\n const result = Reflect.has(target, key);\n if (!isSymbol(key) || !builtInSymbols.has(key)) {\n track(target, \"has\", key);\n }\n return result;\n }\n ownKeys(target) {\n track(\n target,\n \"iterate\",\n isArray(target) ? \"length\" : ITERATE_KEY\n );\n return Reflect.ownKeys(target);\n }\n}\nclass ReadonlyReactiveHandler extends BaseReactiveHandler {\n constructor(isShallow2 = false) {\n super(true, isShallow2);\n }\n set(target, key) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$2(\n `Set operation on key \"${String(key)}\" failed: target is readonly.`,\n target\n );\n }\n return true;\n }\n deleteProperty(target, key) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$2(\n `Delete operation on key \"${String(key)}\" failed: target is readonly.`,\n target\n );\n }\n return true;\n }\n}\nconst mutableHandlers = /* @__PURE__ */ new MutableReactiveHandler();\nconst readonlyHandlers = /* @__PURE__ */ new ReadonlyReactiveHandler();\nconst shallowReactiveHandlers = /* @__PURE__ */ new MutableReactiveHandler(\n true\n);\nconst shallowReadonlyHandlers = /* @__PURE__ */ new ReadonlyReactiveHandler(true);\n\nconst toShallow = (value) => value;\nconst getProto = (v) => Reflect.getPrototypeOf(v);\nfunction get(target, key, isReadonly = false, isShallow = false) {\n target = target[\"__v_raw\"];\n const rawTarget = toRaw(target);\n const rawKey = toRaw(key);\n if (!isReadonly) {\n if (hasChanged(key, rawKey)) {\n track(rawTarget, \"get\", key);\n }\n track(rawTarget, \"get\", rawKey);\n }\n const { has: has2 } = getProto(rawTarget);\n const wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive;\n if (has2.call(rawTarget, key)) {\n return wrap(target.get(key));\n } else if (has2.call(rawTarget, rawKey)) {\n return wrap(target.get(rawKey));\n } else if (target !== rawTarget) {\n target.get(key);\n }\n}\nfunction has(key, isReadonly = false) {\n const target = this[\"__v_raw\"];\n const rawTarget = toRaw(target);\n const rawKey = toRaw(key);\n if (!isReadonly) {\n if (hasChanged(key, rawKey)) {\n track(rawTarget, \"has\", key);\n }\n track(rawTarget, \"has\", rawKey);\n }\n return key === rawKey ? target.has(key) : target.has(key) || target.has(rawKey);\n}\nfunction size(target, isReadonly = false) {\n target = target[\"__v_raw\"];\n !isReadonly && track(toRaw(target), \"iterate\", ITERATE_KEY);\n return Reflect.get(target, \"size\", target);\n}\nfunction add(value) {\n value = toRaw(value);\n const target = toRaw(this);\n const proto = getProto(target);\n const hadKey = proto.has.call(target, value);\n if (!hadKey) {\n target.add(value);\n trigger(target, \"add\", value, value);\n }\n return this;\n}\nfunction set$1(key, value) {\n value = toRaw(value);\n const target = toRaw(this);\n const { has: has2, get: get2 } = getProto(target);\n let hadKey = has2.call(target, key);\n if (!hadKey) {\n key = toRaw(key);\n hadKey = has2.call(target, key);\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n checkIdentityKeys(target, has2, key);\n }\n const oldValue = get2.call(target, key);\n target.set(key, value);\n if (!hadKey) {\n trigger(target, \"add\", key, value);\n } else if (hasChanged(value, oldValue)) {\n trigger(target, \"set\", key, value, oldValue);\n }\n return this;\n}\nfunction deleteEntry(key) {\n const target = toRaw(this);\n const { has: has2, get: get2 } = getProto(target);\n let hadKey = has2.call(target, key);\n if (!hadKey) {\n key = toRaw(key);\n hadKey = has2.call(target, key);\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n checkIdentityKeys(target, has2, key);\n }\n const oldValue = get2 ? get2.call(target, key) : void 0;\n const result = target.delete(key);\n if (hadKey) {\n trigger(target, \"delete\", key, void 0, oldValue);\n }\n return result;\n}\nfunction clear() {\n const target = toRaw(this);\n const hadItems = target.size !== 0;\n const oldTarget = !!(process.env.NODE_ENV !== \"production\") ? isMap(target) ? new Map(target) : new Set(target) : void 0;\n const result = target.clear();\n if (hadItems) {\n trigger(target, \"clear\", void 0, void 0, oldTarget);\n }\n return result;\n}\nfunction createForEach(isReadonly, isShallow) {\n return function forEach(callback, thisArg) {\n const observed = this;\n const target = observed[\"__v_raw\"];\n const rawTarget = toRaw(target);\n const wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive;\n !isReadonly && track(rawTarget, \"iterate\", ITERATE_KEY);\n return target.forEach((value, key) => {\n return callback.call(thisArg, wrap(value), wrap(key), observed);\n });\n };\n}\nfunction createIterableMethod(method, isReadonly, isShallow) {\n return function(...args) {\n const target = this[\"__v_raw\"];\n const rawTarget = toRaw(target);\n const targetIsMap = isMap(rawTarget);\n const isPair = method === \"entries\" || method === Symbol.iterator && targetIsMap;\n const isKeyOnly = method === \"keys\" && targetIsMap;\n const innerIterator = target[method](...args);\n const wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive;\n !isReadonly && track(\n rawTarget,\n \"iterate\",\n isKeyOnly ? MAP_KEY_ITERATE_KEY : ITERATE_KEY\n );\n return {\n // iterator protocol\n next() {\n const { value, done } = innerIterator.next();\n return done ? { value, done } : {\n value: isPair ? [wrap(value[0]), wrap(value[1])] : wrap(value),\n done\n };\n },\n // iterable protocol\n [Symbol.iterator]() {\n return this;\n }\n };\n };\n}\nfunction createReadonlyMethod(type) {\n return function(...args) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n const key = args[0] ? `on key \"${args[0]}\" ` : ``;\n warn$2(\n `${capitalize(type)} operation ${key}failed: target is readonly.`,\n toRaw(this)\n );\n }\n return type === \"delete\" ? false : type === \"clear\" ? void 0 : this;\n };\n}\nfunction createInstrumentations() {\n const mutableInstrumentations2 = {\n get(key) {\n return get(this, key);\n },\n get size() {\n return size(this);\n },\n has,\n add,\n set: set$1,\n delete: deleteEntry,\n clear,\n forEach: createForEach(false, false)\n };\n const shallowInstrumentations2 = {\n get(key) {\n return get(this, key, false, true);\n },\n get size() {\n return size(this);\n },\n has,\n add,\n set: set$1,\n delete: deleteEntry,\n clear,\n forEach: createForEach(false, true)\n };\n const readonlyInstrumentations2 = {\n get(key) {\n return get(this, key, true);\n },\n get size() {\n return size(this, true);\n },\n has(key) {\n return has.call(this, key, true);\n },\n add: createReadonlyMethod(\"add\"),\n set: createReadonlyMethod(\"set\"),\n delete: createReadonlyMethod(\"delete\"),\n clear: createReadonlyMethod(\"clear\"),\n forEach: createForEach(true, false)\n };\n const shallowReadonlyInstrumentations2 = {\n get(key) {\n return get(this, key, true, true);\n },\n get size() {\n return size(this, true);\n },\n has(key) {\n return has.call(this, key, true);\n },\n add: createReadonlyMethod(\"add\"),\n set: createReadonlyMethod(\"set\"),\n delete: createReadonlyMethod(\"delete\"),\n clear: createReadonlyMethod(\"clear\"),\n forEach: createForEach(true, true)\n };\n const iteratorMethods = [\n \"keys\",\n \"values\",\n \"entries\",\n Symbol.iterator\n ];\n iteratorMethods.forEach((method) => {\n mutableInstrumentations2[method] = createIterableMethod(method, false, false);\n readonlyInstrumentations2[method] = createIterableMethod(method, true, false);\n shallowInstrumentations2[method] = createIterableMethod(method, false, true);\n shallowReadonlyInstrumentations2[method] = createIterableMethod(\n method,\n true,\n true\n );\n });\n return [\n mutableInstrumentations2,\n readonlyInstrumentations2,\n shallowInstrumentations2,\n shallowReadonlyInstrumentations2\n ];\n}\nconst [\n mutableInstrumentations,\n readonlyInstrumentations,\n shallowInstrumentations,\n shallowReadonlyInstrumentations\n] = /* @__PURE__ */ createInstrumentations();\nfunction createInstrumentationGetter(isReadonly, shallow) {\n const instrumentations = shallow ? isReadonly ? shallowReadonlyInstrumentations : shallowInstrumentations : isReadonly ? readonlyInstrumentations : mutableInstrumentations;\n return (target, key, receiver) => {\n if (key === \"__v_isReactive\") {\n return !isReadonly;\n } else if (key === \"__v_isReadonly\") {\n return isReadonly;\n } else if (key === \"__v_raw\") {\n return target;\n }\n return Reflect.get(\n hasOwn(instrumentations, key) && key in target ? instrumentations : target,\n key,\n receiver\n );\n };\n}\nconst mutableCollectionHandlers = {\n get: /* @__PURE__ */ createInstrumentationGetter(false, false)\n};\nconst shallowCollectionHandlers = {\n get: /* @__PURE__ */ createInstrumentationGetter(false, true)\n};\nconst readonlyCollectionHandlers = {\n get: /* @__PURE__ */ createInstrumentationGetter(true, false)\n};\nconst shallowReadonlyCollectionHandlers = {\n get: /* @__PURE__ */ createInstrumentationGetter(true, true)\n};\nfunction checkIdentityKeys(target, has2, key) {\n const rawKey = toRaw(key);\n if (rawKey !== key && has2.call(target, rawKey)) {\n const type = toRawType(target);\n warn$2(\n `Reactive ${type} contains both the raw and reactive versions of the same object${type === `Map` ? ` as keys` : ``}, which can lead to inconsistencies. Avoid differentiating between the raw and reactive versions of an object and only use the reactive version if possible.`\n );\n }\n}\n\nconst reactiveMap = /* @__PURE__ */ new WeakMap();\nconst shallowReactiveMap = /* @__PURE__ */ new WeakMap();\nconst readonlyMap = /* @__PURE__ */ new WeakMap();\nconst shallowReadonlyMap = /* @__PURE__ */ new WeakMap();\nfunction targetTypeMap(rawType) {\n switch (rawType) {\n case \"Object\":\n case \"Array\":\n return 1 /* COMMON */;\n case \"Map\":\n case \"Set\":\n case \"WeakMap\":\n case \"WeakSet\":\n return 2 /* COLLECTION */;\n default:\n return 0 /* INVALID */;\n }\n}\nfunction getTargetType(value) {\n return value[\"__v_skip\"] || !Object.isExtensible(value) ? 0 /* INVALID */ : targetTypeMap(toRawType(value));\n}\nfunction reactive(target) {\n if (isReadonly(target)) {\n return target;\n }\n return createReactiveObject(\n target,\n false,\n mutableHandlers,\n mutableCollectionHandlers,\n reactiveMap\n );\n}\nfunction shallowReactive(target) {\n return createReactiveObject(\n target,\n false,\n shallowReactiveHandlers,\n shallowCollectionHandlers,\n shallowReactiveMap\n );\n}\nfunction readonly(target) {\n return createReactiveObject(\n target,\n true,\n readonlyHandlers,\n readonlyCollectionHandlers,\n readonlyMap\n );\n}\nfunction shallowReadonly(target) {\n return createReactiveObject(\n target,\n true,\n shallowReadonlyHandlers,\n shallowReadonlyCollectionHandlers,\n shallowReadonlyMap\n );\n}\nfunction createReactiveObject(target, isReadonly2, baseHandlers, collectionHandlers, proxyMap) {\n if (!isObject(target)) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$2(`value cannot be made reactive: ${String(target)}`);\n }\n return target;\n }\n if (target[\"__v_raw\"] && !(isReadonly2 && target[\"__v_isReactive\"])) {\n return target;\n }\n const existingProxy = proxyMap.get(target);\n if (existingProxy) {\n return existingProxy;\n }\n const targetType = getTargetType(target);\n if (targetType === 0 /* INVALID */) {\n return target;\n }\n const proxy = new Proxy(\n target,\n targetType === 2 /* COLLECTION */ ? collectionHandlers : baseHandlers\n );\n proxyMap.set(target, proxy);\n return proxy;\n}\nfunction isReactive(value) {\n if (isReadonly(value)) {\n return isReactive(value[\"__v_raw\"]);\n }\n return !!(value && value[\"__v_isReactive\"]);\n}\nfunction isReadonly(value) {\n return !!(value && value[\"__v_isReadonly\"]);\n}\nfunction isShallow(value) {\n return !!(value && value[\"__v_isShallow\"]);\n}\nfunction isProxy(value) {\n return isReactive(value) || isReadonly(value);\n}\nfunction toRaw(observed) {\n const raw = observed && observed[\"__v_raw\"];\n return raw ? toRaw(raw) : observed;\n}\nfunction markRaw(value) {\n if (Object.isExtensible(value)) {\n def(value, \"__v_skip\", true);\n }\n return value;\n}\nconst toReactive = (value) => isObject(value) ? reactive(value) : value;\nconst toReadonly = (value) => isObject(value) ? readonly(value) : value;\n\nconst COMPUTED_SIDE_EFFECT_WARN = `Computed is still dirty after getter evaluation, likely because a computed is mutating its own dependency in its getter. State mutations in computed getters should be avoided. Check the docs for more details: https://vuejs.org/guide/essentials/computed.html#getters-should-be-side-effect-free`;\nclass ComputedRefImpl {\n constructor(getter, _setter, isReadonly, isSSR) {\n this.getter = getter;\n this._setter = _setter;\n this.dep = void 0;\n this.__v_isRef = true;\n this[\"__v_isReadonly\"] = false;\n this.effect = new ReactiveEffect(\n () => getter(this._value),\n () => triggerRefValue(\n this,\n this.effect._dirtyLevel === 2 ? 2 : 3\n )\n );\n this.effect.computed = this;\n this.effect.active = this._cacheable = !isSSR;\n this[\"__v_isReadonly\"] = isReadonly;\n }\n get value() {\n const self = toRaw(this);\n if ((!self._cacheable || self.effect.dirty) && hasChanged(self._value, self._value = self.effect.run())) {\n triggerRefValue(self, 4);\n }\n trackRefValue(self);\n if (self.effect._dirtyLevel >= 2) {\n if (!!(process.env.NODE_ENV !== \"production\") && this._warnRecursive) {\n warn$2(COMPUTED_SIDE_EFFECT_WARN, `\n\ngetter: `, this.getter);\n }\n triggerRefValue(self, 2);\n }\n return self._value;\n }\n set value(newValue) {\n this._setter(newValue);\n }\n // #region polyfill _dirty for backward compatibility third party code for Vue <= 3.3.x\n get _dirty() {\n return this.effect.dirty;\n }\n set _dirty(v) {\n this.effect.dirty = v;\n }\n // #endregion\n}\nfunction computed$1(getterOrOptions, debugOptions, isSSR = false) {\n let getter;\n let setter;\n const onlyGetter = isFunction(getterOrOptions);\n if (onlyGetter) {\n getter = getterOrOptions;\n setter = !!(process.env.NODE_ENV !== \"production\") ? () => {\n warn$2(\"Write operation failed: computed value is readonly\");\n } : NOOP;\n } else {\n getter = getterOrOptions.get;\n setter = getterOrOptions.set;\n }\n const cRef = new ComputedRefImpl(getter, setter, onlyGetter || !setter, isSSR);\n if (!!(process.env.NODE_ENV !== \"production\") && debugOptions && !isSSR) {\n cRef.effect.onTrack = debugOptions.onTrack;\n cRef.effect.onTrigger = debugOptions.onTrigger;\n }\n return cRef;\n}\n\nfunction trackRefValue(ref2) {\n var _a;\n if (shouldTrack && activeEffect) {\n ref2 = toRaw(ref2);\n trackEffect(\n activeEffect,\n (_a = ref2.dep) != null ? _a : ref2.dep = createDep(\n () => ref2.dep = void 0,\n ref2 instanceof ComputedRefImpl ? ref2 : void 0\n ),\n !!(process.env.NODE_ENV !== \"production\") ? {\n target: ref2,\n type: \"get\",\n key: \"value\"\n } : void 0\n );\n }\n}\nfunction triggerRefValue(ref2, dirtyLevel = 4, newVal) {\n ref2 = toRaw(ref2);\n const dep = ref2.dep;\n if (dep) {\n triggerEffects(\n dep,\n dirtyLevel,\n !!(process.env.NODE_ENV !== \"production\") ? {\n target: ref2,\n type: \"set\",\n key: \"value\",\n newValue: newVal\n } : void 0\n );\n }\n}\nfunction isRef(r) {\n return !!(r && r.__v_isRef === true);\n}\nfunction ref(value) {\n return createRef(value, false);\n}\nfunction shallowRef(value) {\n return createRef(value, true);\n}\nfunction createRef(rawValue, shallow) {\n if (isRef(rawValue)) {\n return rawValue;\n }\n return new RefImpl(rawValue, shallow);\n}\nclass RefImpl {\n constructor(value, __v_isShallow) {\n this.__v_isShallow = __v_isShallow;\n this.dep = void 0;\n this.__v_isRef = true;\n this._rawValue = __v_isShallow ? value : toRaw(value);\n this._value = __v_isShallow ? value : toReactive(value);\n }\n get value() {\n trackRefValue(this);\n return this._value;\n }\n set value(newVal) {\n const useDirectValue = this.__v_isShallow || isShallow(newVal) || isReadonly(newVal);\n newVal = useDirectValue ? newVal : toRaw(newVal);\n if (hasChanged(newVal, this._rawValue)) {\n this._rawValue = newVal;\n this._value = useDirectValue ? newVal : toReactive(newVal);\n triggerRefValue(this, 4, newVal);\n }\n }\n}\nfunction triggerRef(ref2) {\n triggerRefValue(ref2, 4, !!(process.env.NODE_ENV !== \"production\") ? ref2.value : void 0);\n}\nfunction unref(ref2) {\n return isRef(ref2) ? ref2.value : ref2;\n}\nfunction toValue(source) {\n return isFunction(source) ? source() : unref(source);\n}\nconst shallowUnwrapHandlers = {\n get: (target, key, receiver) => unref(Reflect.get(target, key, receiver)),\n set: (target, key, value, receiver) => {\n const oldValue = target[key];\n if (isRef(oldValue) && !isRef(value)) {\n oldValue.value = value;\n return true;\n } else {\n return Reflect.set(target, key, value, receiver);\n }\n }\n};\nfunction proxyRefs(objectWithRefs) {\n return isReactive(objectWithRefs) ? objectWithRefs : new Proxy(objectWithRefs, shallowUnwrapHandlers);\n}\nclass CustomRefImpl {\n constructor(factory) {\n this.dep = void 0;\n this.__v_isRef = true;\n const { get, set } = factory(\n () => trackRefValue(this),\n () => triggerRefValue(this)\n );\n this._get = get;\n this._set = set;\n }\n get value() {\n return this._get();\n }\n set value(newVal) {\n this._set(newVal);\n }\n}\nfunction customRef(factory) {\n return new CustomRefImpl(factory);\n}\nfunction toRefs(object) {\n if (!!(process.env.NODE_ENV !== \"production\") && !isProxy(object)) {\n warn$2(`toRefs() expects a reactive object but received a plain one.`);\n }\n const ret = isArray(object) ? new Array(object.length) : {};\n for (const key in object) {\n ret[key] = propertyToRef(object, key);\n }\n return ret;\n}\nclass ObjectRefImpl {\n constructor(_object, _key, _defaultValue) {\n this._object = _object;\n this._key = _key;\n this._defaultValue = _defaultValue;\n this.__v_isRef = true;\n }\n get value() {\n const val = this._object[this._key];\n return val === void 0 ? this._defaultValue : val;\n }\n set value(newVal) {\n this._object[this._key] = newVal;\n }\n get dep() {\n return getDepFromReactive(toRaw(this._object), this._key);\n }\n}\nclass GetterRefImpl {\n constructor(_getter) {\n this._getter = _getter;\n this.__v_isRef = true;\n this.__v_isReadonly = true;\n }\n get value() {\n return this._getter();\n }\n}\nfunction toRef(source, key, defaultValue) {\n if (isRef(source)) {\n return source;\n } else if (isFunction(source)) {\n return new GetterRefImpl(source);\n } else if (isObject(source) && arguments.length > 1) {\n return propertyToRef(source, key, defaultValue);\n } else {\n return ref(source);\n }\n}\nfunction propertyToRef(source, key, defaultValue) {\n const val = source[key];\n return isRef(val) ? val : new ObjectRefImpl(source, key, defaultValue);\n}\n\nconst stack = [];\nfunction pushWarningContext(vnode) {\n stack.push(vnode);\n}\nfunction popWarningContext() {\n stack.pop();\n}\nfunction warn$1(msg, ...args) {\n pauseTracking();\n const instance = stack.length ? stack[stack.length - 1].component : null;\n const appWarnHandler = instance && instance.appContext.config.warnHandler;\n const trace = getComponentTrace();\n if (appWarnHandler) {\n callWithErrorHandling(\n appWarnHandler,\n instance,\n 11,\n [\n msg + args.map((a) => {\n var _a, _b;\n return (_b = (_a = a.toString) == null ? void 0 : _a.call(a)) != null ? _b : JSON.stringify(a);\n }).join(\"\"),\n instance && instance.proxy,\n trace.map(\n ({ vnode }) => `at <${formatComponentName(instance, vnode.type)}>`\n ).join(\"\\n\"),\n trace\n ]\n );\n } else {\n const warnArgs = [`[Vue warn]: ${msg}`, ...args];\n if (trace.length && // avoid spamming console during tests\n true) {\n warnArgs.push(`\n`, ...formatTrace(trace));\n }\n console.warn(...warnArgs);\n }\n resetTracking();\n}\nfunction getComponentTrace() {\n let currentVNode = stack[stack.length - 1];\n if (!currentVNode) {\n return [];\n }\n const normalizedStack = [];\n while (currentVNode) {\n const last = normalizedStack[0];\n if (last && last.vnode === currentVNode) {\n last.recurseCount++;\n } else {\n normalizedStack.push({\n vnode: currentVNode,\n recurseCount: 0\n });\n }\n const parentInstance = currentVNode.component && currentVNode.component.parent;\n currentVNode = parentInstance && parentInstance.vnode;\n }\n return normalizedStack;\n}\nfunction formatTrace(trace) {\n const logs = [];\n trace.forEach((entry, i) => {\n logs.push(...i === 0 ? [] : [`\n`], ...formatTraceEntry(entry));\n });\n return logs;\n}\nfunction formatTraceEntry({ vnode, recurseCount }) {\n const postfix = recurseCount > 0 ? `... (${recurseCount} recursive calls)` : ``;\n const isRoot = vnode.component ? vnode.component.parent == null : false;\n const open = ` at <${formatComponentName(\n vnode.component,\n vnode.type,\n isRoot\n )}`;\n const close = `>` + postfix;\n return vnode.props ? [open, ...formatProps(vnode.props), close] : [open + close];\n}\nfunction formatProps(props) {\n const res = [];\n const keys = Object.keys(props);\n keys.slice(0, 3).forEach((key) => {\n res.push(...formatProp(key, props[key]));\n });\n if (keys.length > 3) {\n res.push(` ...`);\n }\n return res;\n}\nfunction formatProp(key, value, raw) {\n if (isString(value)) {\n value = JSON.stringify(value);\n return raw ? value : [`${key}=${value}`];\n } else if (typeof value === \"number\" || typeof value === \"boolean\" || value == null) {\n return raw ? value : [`${key}=${value}`];\n } else if (isRef(value)) {\n value = formatProp(key, toRaw(value.value), true);\n return raw ? value : [`${key}=Ref<`, value, `>`];\n } else if (isFunction(value)) {\n return [`${key}=fn${value.name ? `<${value.name}>` : ``}`];\n } else {\n value = toRaw(value);\n return raw ? value : [`${key}=`, value];\n }\n}\n\nconst ErrorTypeStrings = {\n [\"sp\"]: \"serverPrefetch hook\",\n [\"bc\"]: \"beforeCreate hook\",\n [\"c\"]: \"created hook\",\n [\"bm\"]: \"beforeMount hook\",\n [\"m\"]: \"mounted hook\",\n [\"bu\"]: \"beforeUpdate hook\",\n [\"u\"]: \"updated\",\n [\"bum\"]: \"beforeUnmount hook\",\n [\"um\"]: \"unmounted hook\",\n [\"a\"]: \"activated hook\",\n [\"da\"]: \"deactivated hook\",\n [\"ec\"]: \"errorCaptured hook\",\n [\"rtc\"]: \"renderTracked hook\",\n [\"rtg\"]: \"renderTriggered hook\",\n [0]: \"setup function\",\n [1]: \"render function\",\n [2]: \"watcher getter\",\n [3]: \"watcher callback\",\n [4]: \"watcher cleanup function\",\n [5]: \"native event handler\",\n [6]: \"component event handler\",\n [7]: \"vnode hook\",\n [8]: \"directive hook\",\n [9]: \"transition hook\",\n [10]: \"app errorHandler\",\n [11]: \"app warnHandler\",\n [12]: \"ref function\",\n [13]: \"async component loader\",\n [14]: \"scheduler flush. This is likely a Vue internals bug. Please open an issue at https://github.com/vuejs/core .\"\n};\nfunction callWithErrorHandling(fn, instance, type, args) {\n try {\n return args ? fn(...args) : fn();\n } catch (err) {\n handleError(err, instance, type);\n }\n}\nfunction callWithAsyncErrorHandling(fn, instance, type, args) {\n if (isFunction(fn)) {\n const res = callWithErrorHandling(fn, instance, type, args);\n if (res && isPromise(res)) {\n res.catch((err) => {\n handleError(err, instance, type);\n });\n }\n return res;\n }\n const values = [];\n for (let i = 0; i < fn.length; i++) {\n values.push(callWithAsyncErrorHandling(fn[i], instance, type, args));\n }\n return values;\n}\nfunction handleError(err, instance, type, throwInDev = true) {\n const contextVNode = instance ? instance.vnode : null;\n if (instance) {\n let cur = instance.parent;\n const exposedInstance = instance.proxy;\n const errorInfo = !!(process.env.NODE_ENV !== \"production\") ? ErrorTypeStrings[type] || type : `https://vuejs.org/error-reference/#runtime-${type}`;\n while (cur) {\n const errorCapturedHooks = cur.ec;\n if (errorCapturedHooks) {\n for (let i = 0; i < errorCapturedHooks.length; i++) {\n if (errorCapturedHooks[i](err, exposedInstance, errorInfo) === false) {\n return;\n }\n }\n }\n cur = cur.parent;\n }\n const appErrorHandler = instance.appContext.config.errorHandler;\n if (appErrorHandler) {\n callWithErrorHandling(\n appErrorHandler,\n null,\n 10,\n [err, exposedInstance, errorInfo]\n );\n return;\n }\n }\n logError(err, type, contextVNode, throwInDev);\n}\nfunction logError(err, type, contextVNode, throwInDev = true) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n const info = ErrorTypeStrings[type] || type;\n if (contextVNode) {\n pushWarningContext(contextVNode);\n }\n warn$1(`Unhandled error${info ? ` during execution of ${info}` : ``}`);\n if (contextVNode) {\n popWarningContext();\n }\n if (throwInDev) {\n console.error(err);\n } else {\n console.error(err);\n }\n } else {\n console.error(err);\n }\n}\n\nlet isFlushing = false;\nlet isFlushPending = false;\nconst queue = [];\nlet flushIndex = 0;\nconst pendingPostFlushCbs = [];\nlet activePostFlushCbs = null;\nlet postFlushIndex = 0;\nconst resolvedPromise = /* @__PURE__ */ Promise.resolve();\nlet currentFlushPromise = null;\nconst RECURSION_LIMIT = 100;\nfunction nextTick$1(fn) {\n const p = currentFlushPromise || resolvedPromise;\n return fn ? p.then(this ? fn.bind(this) : fn) : p;\n}\nfunction findInsertionIndex(id) {\n let start = flushIndex + 1;\n let end = queue.length;\n while (start < end) {\n const middle = start + end >>> 1;\n const middleJob = queue[middle];\n const middleJobId = getId(middleJob);\n if (middleJobId < id || middleJobId === id && middleJob.pre) {\n start = middle + 1;\n } else {\n end = middle;\n }\n }\n return start;\n}\nfunction queueJob(job) {\n if (!queue.length || !queue.includes(\n job,\n isFlushing && job.allowRecurse ? flushIndex + 1 : flushIndex\n )) {\n if (job.id == null) {\n queue.push(job);\n } else {\n queue.splice(findInsertionIndex(job.id), 0, job);\n }\n queueFlush();\n }\n}\nfunction queueFlush() {\n if (!isFlushing && !isFlushPending) {\n isFlushPending = true;\n currentFlushPromise = resolvedPromise.then(flushJobs);\n }\n}\nfunction hasQueueJob(job) {\n return queue.indexOf(job) > -1;\n}\nfunction invalidateJob(job) {\n const i = queue.indexOf(job);\n if (i > flushIndex) {\n queue.splice(i, 1);\n }\n}\nfunction queuePostFlushCb(cb) {\n if (!isArray(cb)) {\n if (!activePostFlushCbs || !activePostFlushCbs.includes(\n cb,\n cb.allowRecurse ? postFlushIndex + 1 : postFlushIndex\n )) {\n pendingPostFlushCbs.push(cb);\n }\n } else {\n pendingPostFlushCbs.push(...cb);\n }\n queueFlush();\n}\nfunction flushPreFlushCbs(instance, seen, i = isFlushing ? flushIndex + 1 : 0) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n seen = seen || /* @__PURE__ */ new Map();\n }\n for (; i < queue.length; i++) {\n const cb = queue[i];\n if (cb && cb.pre) {\n if (!!(process.env.NODE_ENV !== \"production\") && checkRecursiveUpdates(seen, cb)) {\n continue;\n }\n queue.splice(i, 1);\n i--;\n cb();\n }\n }\n}\nfunction flushPostFlushCbs(seen) {\n if (pendingPostFlushCbs.length) {\n const deduped = [...new Set(pendingPostFlushCbs)].sort(\n (a, b) => getId(a) - getId(b)\n );\n pendingPostFlushCbs.length = 0;\n if (activePostFlushCbs) {\n activePostFlushCbs.push(...deduped);\n return;\n }\n activePostFlushCbs = deduped;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n seen = seen || /* @__PURE__ */ new Map();\n }\n for (postFlushIndex = 0; postFlushIndex < activePostFlushCbs.length; postFlushIndex++) {\n if (!!(process.env.NODE_ENV !== \"production\") && checkRecursiveUpdates(seen, activePostFlushCbs[postFlushIndex])) {\n continue;\n }\n activePostFlushCbs[postFlushIndex]();\n }\n activePostFlushCbs = null;\n postFlushIndex = 0;\n }\n}\nconst getId = (job) => job.id == null ? Infinity : job.id;\nconst comparator = (a, b) => {\n const diff = getId(a) - getId(b);\n if (diff === 0) {\n if (a.pre && !b.pre)\n return -1;\n if (b.pre && !a.pre)\n return 1;\n }\n return diff;\n};\nfunction flushJobs(seen) {\n isFlushPending = false;\n isFlushing = true;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n seen = seen || /* @__PURE__ */ new Map();\n }\n queue.sort(comparator);\n const check = !!(process.env.NODE_ENV !== \"production\") ? (job) => checkRecursiveUpdates(seen, job) : NOOP;\n try {\n for (flushIndex = 0; flushIndex < queue.length; flushIndex++) {\n const job = queue[flushIndex];\n if (job && job.active !== false) {\n if (!!(process.env.NODE_ENV !== \"production\") && check(job)) {\n continue;\n }\n callWithErrorHandling(job, null, 14);\n }\n }\n } finally {\n flushIndex = 0;\n queue.length = 0;\n flushPostFlushCbs(seen);\n isFlushing = false;\n currentFlushPromise = null;\n if (queue.length || pendingPostFlushCbs.length) {\n flushJobs(seen);\n }\n }\n}\nfunction checkRecursiveUpdates(seen, fn) {\n if (!seen.has(fn)) {\n seen.set(fn, 1);\n } else {\n const count = seen.get(fn);\n if (count > RECURSION_LIMIT) {\n const instance = fn.ownerInstance;\n const componentName = instance && getComponentName(instance.type);\n handleError(\n `Maximum recursive updates exceeded${componentName ? ` in component <${componentName}>` : ``}. This means you have a reactive effect that is mutating its own dependencies and thus recursively triggering itself. Possible sources include component template, render function, updated hook or watcher source function.`,\n null,\n 10\n );\n return true;\n } else {\n seen.set(fn, count + 1);\n }\n }\n}\n\nlet devtools;\nlet buffer = [];\nlet devtoolsNotInstalled = false;\nfunction emit$1(event, ...args) {\n if (devtools) {\n devtools.emit(event, ...args);\n } else if (!devtoolsNotInstalled) {\n buffer.push({ event, args });\n }\n}\nfunction setDevtoolsHook(hook, target) {\n var _a, _b;\n devtools = hook;\n if (devtools) {\n devtools.enabled = true;\n buffer.forEach(({ event, args }) => devtools.emit(event, ...args));\n buffer = [];\n } else if (\n // handle late devtools injection - only do this if we are in an actual\n // browser environment to avoid the timer handle stalling test runner exit\n // (#4815)\n typeof window !== \"undefined\" && // some envs mock window but not fully\n window.HTMLElement && // also exclude jsdom\n !((_b = (_a = window.navigator) == null ? void 0 : _a.userAgent) == null ? void 0 : _b.includes(\"jsdom\"))\n ) {\n const replay = target.__VUE_DEVTOOLS_HOOK_REPLAY__ = target.__VUE_DEVTOOLS_HOOK_REPLAY__ || [];\n replay.push((newHook) => {\n setDevtoolsHook(newHook, target);\n });\n setTimeout(() => {\n if (!devtools) {\n target.__VUE_DEVTOOLS_HOOK_REPLAY__ = null;\n devtoolsNotInstalled = true;\n buffer = [];\n }\n }, 3e3);\n } else {\n devtoolsNotInstalled = true;\n buffer = [];\n }\n}\nfunction devtoolsInitApp(app, version) {\n emit$1(\"app:init\" /* APP_INIT */, app, version, {\n Fragment,\n Text,\n Comment,\n Static\n });\n}\nconst devtoolsComponentAdded = /* @__PURE__ */ createDevtoolsComponentHook(\n \"component:added\" /* COMPONENT_ADDED */\n);\nconst devtoolsComponentUpdated = /* @__PURE__ */ createDevtoolsComponentHook(\"component:updated\" /* COMPONENT_UPDATED */);\nconst _devtoolsComponentRemoved = /* @__PURE__ */ createDevtoolsComponentHook(\n \"component:removed\" /* COMPONENT_REMOVED */\n);\nconst devtoolsComponentRemoved = (component) => {\n if (devtools && typeof devtools.cleanupBuffer === \"function\" && // remove the component if it wasn't buffered\n !devtools.cleanupBuffer(component)) {\n _devtoolsComponentRemoved(component);\n }\n};\n/*! #__NO_SIDE_EFFECTS__ */\n// @__NO_SIDE_EFFECTS__\nfunction createDevtoolsComponentHook(hook) {\n return (component) => {\n emit$1(\n hook,\n component.appContext.app,\n component.uid,\n // fixed by xxxxxx\n // 为 0 是 App,无 parent 是 Page 指向 App\n component.uid === 0 ? void 0 : component.parent ? component.parent.uid : 0,\n component\n );\n };\n}\nconst devtoolsPerfStart = /* @__PURE__ */ createDevtoolsPerformanceHook(\n \"perf:start\" /* PERFORMANCE_START */\n);\nconst devtoolsPerfEnd = /* @__PURE__ */ createDevtoolsPerformanceHook(\n \"perf:end\" /* PERFORMANCE_END */\n);\nfunction createDevtoolsPerformanceHook(hook) {\n return (component, type, time) => {\n emit$1(hook, component.appContext.app, component.uid, component, type, time);\n };\n}\nfunction devtoolsComponentEmit(component, event, params) {\n emit$1(\n \"component:emit\" /* COMPONENT_EMIT */,\n component.appContext.app,\n component,\n event,\n params\n );\n}\n\nfunction emit(instance, event, ...rawArgs) {\n if (instance.isUnmounted)\n return;\n const props = instance.vnode.props || EMPTY_OBJ;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n const {\n emitsOptions,\n propsOptions: [propsOptions]\n } = instance;\n if (emitsOptions) {\n if (!(event in emitsOptions) && true) {\n if (!propsOptions || !(toHandlerKey(event) in propsOptions)) {\n warn$1(\n `Component emitted event \"${event}\" but it is neither declared in the emits option nor as an \"${toHandlerKey(event)}\" prop.`\n );\n }\n } else {\n const validator = emitsOptions[event];\n if (isFunction(validator)) {\n const isValid = validator(...rawArgs);\n if (!isValid) {\n warn$1(\n `Invalid event arguments: event validation failed for event \"${event}\".`\n );\n }\n }\n }\n }\n }\n let args = rawArgs;\n const isModelListener = event.startsWith(\"update:\");\n const modelArg = isModelListener && event.slice(7);\n if (modelArg && modelArg in props) {\n const modifiersKey = `${modelArg === \"modelValue\" ? \"model\" : modelArg}Modifiers`;\n const { number, trim } = props[modifiersKey] || EMPTY_OBJ;\n if (trim) {\n args = rawArgs.map((a) => isString(a) ? a.trim() : a);\n }\n if (number) {\n args = rawArgs.map(looseToNumber);\n }\n }\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n devtoolsComponentEmit(instance, event, args);\n }\n if (!!(process.env.NODE_ENV !== \"production\")) {\n const lowerCaseEvent = event.toLowerCase();\n if (lowerCaseEvent !== event && props[toHandlerKey(lowerCaseEvent)]) {\n warn$1(\n `Event \"${lowerCaseEvent}\" is emitted in component ${formatComponentName(\n instance,\n instance.type\n )} but the handler is registered for \"${event}\". Note that HTML attributes are case-insensitive and you cannot use v-on to listen to camelCase events when using in-DOM templates. You should probably use \"${hyphenate(\n event\n )}\" instead of \"${event}\".`\n );\n }\n }\n let handlerName;\n let handler = props[handlerName = toHandlerKey(event)] || // also try camelCase event handler (#2249)\n props[handlerName = toHandlerKey(camelize(event))];\n if (!handler && isModelListener) {\n handler = props[handlerName = toHandlerKey(hyphenate(event))];\n }\n if (handler) {\n callWithAsyncErrorHandling(\n handler,\n instance,\n 6,\n args\n );\n }\n const onceHandler = props[handlerName + `Once`];\n if (onceHandler) {\n if (!instance.emitted) {\n instance.emitted = {};\n } else if (instance.emitted[handlerName]) {\n return;\n }\n instance.emitted[handlerName] = true;\n callWithAsyncErrorHandling(\n onceHandler,\n instance,\n 6,\n args\n );\n }\n}\nfunction normalizeEmitsOptions(comp, appContext, asMixin = false) {\n const cache = appContext.emitsCache;\n const cached = cache.get(comp);\n if (cached !== void 0) {\n return cached;\n }\n const raw = comp.emits;\n let normalized = {};\n let hasExtends = false;\n if (__VUE_OPTIONS_API__ && !isFunction(comp)) {\n const extendEmits = (raw2) => {\n const normalizedFromExtend = normalizeEmitsOptions(raw2, appContext, true);\n if (normalizedFromExtend) {\n hasExtends = true;\n extend(normalized, normalizedFromExtend);\n }\n };\n if (!asMixin && appContext.mixins.length) {\n appContext.mixins.forEach(extendEmits);\n }\n if (comp.extends) {\n extendEmits(comp.extends);\n }\n if (comp.mixins) {\n comp.mixins.forEach(extendEmits);\n }\n }\n if (!raw && !hasExtends) {\n if (isObject(comp)) {\n cache.set(comp, null);\n }\n return null;\n }\n if (isArray(raw)) {\n raw.forEach((key) => normalized[key] = null);\n } else {\n extend(normalized, raw);\n }\n if (isObject(comp)) {\n cache.set(comp, normalized);\n }\n return normalized;\n}\nfunction isEmitListener(options, key) {\n if (!options || !isOn(key)) {\n return false;\n }\n key = key.slice(2).replace(/Once$/, \"\");\n return hasOwn(options, key[0].toLowerCase() + key.slice(1)) || hasOwn(options, hyphenate(key)) || hasOwn(options, key);\n}\n\nlet currentRenderingInstance = null;\nlet currentScopeId = null;\nfunction setCurrentRenderingInstance(instance) {\n const prev = currentRenderingInstance;\n currentRenderingInstance = instance;\n currentScopeId = instance && instance.type.__scopeId || null;\n return prev;\n}\nconst withScopeId = (_id) => withCtx;\nfunction withCtx(fn, ctx = currentRenderingInstance, isNonScopedSlot) {\n if (!ctx)\n return fn;\n if (fn._n) {\n return fn;\n }\n const renderFnWithContext = (...args) => {\n if (renderFnWithContext._d) {\n setBlockTracking(-1);\n }\n const prevInstance = setCurrentRenderingInstance(ctx);\n let res;\n try {\n res = fn(...args);\n } finally {\n setCurrentRenderingInstance(prevInstance);\n if (renderFnWithContext._d) {\n setBlockTracking(1);\n }\n }\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n devtoolsComponentUpdated(ctx);\n }\n return res;\n };\n renderFnWithContext._n = true;\n renderFnWithContext._c = true;\n renderFnWithContext._d = true;\n return renderFnWithContext;\n}\n\nfunction markAttrsAccessed() {\n}\n\nconst COMPONENTS = \"components\";\nconst DIRECTIVES = \"directives\";\nfunction resolveComponent(name, maybeSelfReference) {\n return resolveAsset(COMPONENTS, name, true, maybeSelfReference) || name;\n}\nconst NULL_DYNAMIC_COMPONENT = Symbol.for(\"v-ndc\");\nfunction resolveDirective(name) {\n return resolveAsset(DIRECTIVES, name);\n}\nfunction resolveAsset(type, name, warnMissing = true, maybeSelfReference = false) {\n const instance = currentRenderingInstance || currentInstance;\n if (instance) {\n const Component = instance.type;\n if (type === COMPONENTS) {\n const selfName = getComponentName(\n Component,\n false\n );\n if (selfName && (selfName === name || selfName === camelize(name) || selfName === capitalize(camelize(name)))) {\n return Component;\n }\n }\n const res = (\n // local registration\n // check instance[type] first which is resolved for options API\n resolve(instance[type] || Component[type], name) || // global registration\n resolve(instance.appContext[type], name)\n );\n if (!res && maybeSelfReference) {\n return Component;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && warnMissing && !res) {\n const extra = type === COMPONENTS ? `\nIf this is a native custom element, make sure to exclude it from component resolution via compilerOptions.isCustomElement.` : ``;\n warn$1(`Failed to resolve ${type.slice(0, -1)}: ${name}${extra}`);\n }\n return res;\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\n `resolve${capitalize(type.slice(0, -1))} can only be used in render() or setup().`\n );\n }\n}\nfunction resolve(registry, name) {\n return registry && (registry[name] || registry[camelize(name)] || registry[capitalize(camelize(name))]);\n}\n\nconst ssrContextKey = Symbol.for(\"v-scx\");\nconst useSSRContext = () => {\n {\n const ctx = inject(ssrContextKey);\n if (!ctx) {\n !!(process.env.NODE_ENV !== \"production\") && warn$1(\n `Server rendering context not provided. Make sure to only call useSSRContext() conditionally in the server build.`\n );\n }\n return ctx;\n }\n};\n\nfunction watchEffect(effect, options) {\n return doWatch(effect, null, options);\n}\nfunction watchPostEffect(effect, options) {\n return doWatch(\n effect,\n null,\n !!(process.env.NODE_ENV !== \"production\") ? extend({}, options, { flush: \"post\" }) : { flush: \"post\" }\n );\n}\nfunction watchSyncEffect(effect, options) {\n return doWatch(\n effect,\n null,\n !!(process.env.NODE_ENV !== \"production\") ? extend({}, options, { flush: \"sync\" }) : { flush: \"sync\" }\n );\n}\nconst INITIAL_WATCHER_VALUE = {};\nfunction watch(source, cb, options) {\n if (!!(process.env.NODE_ENV !== \"production\") && !isFunction(cb)) {\n warn$1(\n `\\`watch(fn, options?)\\` signature has been moved to a separate API. Use \\`watchEffect(fn, options?)\\` instead. \\`watch\\` now only supports \\`watch(source, cb, options?) signature.`\n );\n }\n return doWatch(source, cb, options);\n}\nfunction doWatch(source, cb, {\n immediate,\n deep,\n flush,\n once,\n onTrack,\n onTrigger\n} = EMPTY_OBJ) {\n if (cb && once) {\n const _cb = cb;\n cb = (...args) => {\n _cb(...args);\n unwatch();\n };\n }\n if (!!(process.env.NODE_ENV !== \"production\") && deep !== void 0 && typeof deep === \"number\") {\n warn$1(\n `watch() \"deep\" option with number value will be used as watch depth in future versions. Please use a boolean instead to avoid potential breakage.`\n );\n }\n if (!!(process.env.NODE_ENV !== \"production\") && !cb) {\n if (immediate !== void 0) {\n warn$1(\n `watch() \"immediate\" option is only respected when using the watch(source, callback, options?) signature.`\n );\n }\n if (deep !== void 0) {\n warn$1(\n `watch() \"deep\" option is only respected when using the watch(source, callback, options?) signature.`\n );\n }\n if (once !== void 0) {\n warn$1(\n `watch() \"once\" option is only respected when using the watch(source, callback, options?) signature.`\n );\n }\n }\n const warnInvalidSource = (s) => {\n warn$1(\n `Invalid watch source: `,\n s,\n `A watch source can only be a getter/effect function, a ref, a reactive object, or an array of these types.`\n );\n };\n const instance = currentInstance;\n const reactiveGetter = (source2) => deep === true ? source2 : (\n // for deep: false, only traverse root-level properties\n traverse(source2, deep === false ? 1 : void 0)\n );\n let getter;\n let forceTrigger = false;\n let isMultiSource = false;\n if (isRef(source)) {\n getter = () => source.value;\n forceTrigger = isShallow(source);\n } else if (isReactive(source)) {\n getter = () => reactiveGetter(source);\n forceTrigger = true;\n } else if (isArray(source)) {\n isMultiSource = true;\n forceTrigger = source.some((s) => isReactive(s) || isShallow(s));\n getter = () => source.map((s) => {\n if (isRef(s)) {\n return s.value;\n } else if (isReactive(s)) {\n return reactiveGetter(s);\n } else if (isFunction(s)) {\n return callWithErrorHandling(s, instance, 2);\n } else {\n !!(process.env.NODE_ENV !== \"production\") && warnInvalidSource(s);\n }\n });\n } else if (isFunction(source)) {\n if (cb) {\n getter = () => callWithErrorHandling(source, instance, 2);\n } else {\n getter = () => {\n if (cleanup) {\n cleanup();\n }\n return callWithAsyncErrorHandling(\n source,\n instance,\n 3,\n [onCleanup]\n );\n };\n }\n } else {\n getter = NOOP;\n !!(process.env.NODE_ENV !== \"production\") && warnInvalidSource(source);\n }\n if (cb && deep) {\n const baseGetter = getter;\n getter = () => traverse(baseGetter());\n }\n let cleanup;\n let onCleanup = (fn) => {\n cleanup = effect.onStop = () => {\n callWithErrorHandling(fn, instance, 4);\n cleanup = effect.onStop = void 0;\n };\n };\n let oldValue = isMultiSource ? new Array(source.length).fill(INITIAL_WATCHER_VALUE) : INITIAL_WATCHER_VALUE;\n const job = () => {\n if (!effect.active || !effect.dirty) {\n return;\n }\n if (cb) {\n const newValue = effect.run();\n if (deep || forceTrigger || (isMultiSource ? newValue.some((v, i) => hasChanged(v, oldValue[i])) : hasChanged(newValue, oldValue)) || false) {\n if (cleanup) {\n cleanup();\n }\n callWithAsyncErrorHandling(cb, instance, 3, [\n newValue,\n // pass undefined as the old value when it's changed for the first time\n oldValue === INITIAL_WATCHER_VALUE ? void 0 : isMultiSource && oldValue[0] === INITIAL_WATCHER_VALUE ? [] : oldValue,\n onCleanup\n ]);\n oldValue = newValue;\n }\n } else {\n effect.run();\n }\n };\n job.allowRecurse = !!cb;\n let scheduler;\n if (flush === \"sync\") {\n scheduler = job;\n } else if (flush === \"post\") {\n scheduler = () => queuePostRenderEffect$1(job, instance && instance.suspense);\n } else {\n job.pre = true;\n if (instance)\n job.id = instance.uid;\n scheduler = () => queueJob(job);\n }\n const effect = new ReactiveEffect(getter, NOOP, scheduler);\n const scope = getCurrentScope();\n const unwatch = () => {\n effect.stop();\n if (scope) {\n remove(scope.effects, effect);\n }\n };\n if (!!(process.env.NODE_ENV !== \"production\")) {\n effect.onTrack = onTrack;\n effect.onTrigger = onTrigger;\n }\n if (cb) {\n if (immediate) {\n job();\n } else {\n oldValue = effect.run();\n }\n } else if (flush === \"post\") {\n queuePostRenderEffect$1(\n effect.run.bind(effect),\n instance && instance.suspense\n );\n } else {\n effect.run();\n }\n return unwatch;\n}\nfunction instanceWatch(source, value, options) {\n const publicThis = this.proxy;\n const getter = isString(source) ? source.includes(\".\") ? createPathGetter(publicThis, source) : () => publicThis[source] : source.bind(publicThis, publicThis);\n let cb;\n if (isFunction(value)) {\n cb = value;\n } else {\n cb = value.handler;\n options = value;\n }\n const reset = setCurrentInstance(this);\n const res = doWatch(getter, cb.bind(publicThis), options);\n reset();\n return res;\n}\nfunction createPathGetter(ctx, path) {\n const segments = path.split(\".\");\n return () => {\n let cur = ctx;\n for (let i = 0; i < segments.length && cur; i++) {\n cur = cur[segments[i]];\n }\n return cur;\n };\n}\nfunction traverse(value, depth, currentDepth = 0, seen) {\n if (!isObject(value) || value[\"__v_skip\"]) {\n return value;\n }\n if (depth && depth > 0) {\n if (currentDepth >= depth) {\n return value;\n }\n currentDepth++;\n }\n seen = seen || /* @__PURE__ */ new Set();\n if (seen.has(value)) {\n return value;\n }\n seen.add(value);\n if (isRef(value)) {\n traverse(value.value, depth, currentDepth, seen);\n } else if (isArray(value)) {\n for (let i = 0; i < value.length; i++) {\n traverse(value[i], depth, currentDepth, seen);\n }\n } else if (isSet(value) || isMap(value)) {\n value.forEach((v) => {\n traverse(v, depth, currentDepth, seen);\n });\n } else if (isPlainObject(value)) {\n for (const key in value) {\n traverse(value[key], depth, currentDepth, seen);\n }\n }\n return value;\n}\n\nfunction validateDirectiveName(name) {\n if (isBuiltInDirective(name)) {\n warn$1(\"Do not use built-in directive ids as custom directive id: \" + name);\n }\n}\nfunction withDirectives(vnode, directives) {\n if (currentRenderingInstance === null) {\n !!(process.env.NODE_ENV !== \"production\") && warn$1(`withDirectives can only be used inside render functions.`);\n return vnode;\n }\n const instance = getExposeProxy(currentRenderingInstance) || currentRenderingInstance.proxy;\n const bindings = vnode.dirs || (vnode.dirs = []);\n for (let i = 0; i < directives.length; i++) {\n let [dir, value, arg, modifiers = EMPTY_OBJ] = directives[i];\n if (dir) {\n if (isFunction(dir)) {\n dir = {\n mounted: dir,\n updated: dir\n };\n }\n if (dir.deep) {\n traverse(value);\n }\n bindings.push({\n dir,\n instance,\n value,\n oldValue: void 0,\n arg,\n modifiers\n });\n }\n }\n return vnode;\n}\n\nfunction createAppContext() {\n return {\n app: null,\n config: {\n isNativeTag: NO,\n performance: false,\n globalProperties: {},\n optionMergeStrategies: {},\n errorHandler: void 0,\n warnHandler: void 0,\n compilerOptions: {}\n },\n mixins: [],\n components: {},\n directives: {},\n provides: /* @__PURE__ */ Object.create(null),\n optionsCache: /* @__PURE__ */ new WeakMap(),\n propsCache: /* @__PURE__ */ new WeakMap(),\n emitsCache: /* @__PURE__ */ new WeakMap()\n };\n}\nlet uid$1 = 0;\nfunction createAppAPI(render, hydrate) {\n return function createApp(rootComponent, rootProps = null) {\n if (!isFunction(rootComponent)) {\n rootComponent = extend({}, rootComponent);\n }\n if (rootProps != null && !isObject(rootProps)) {\n !!(process.env.NODE_ENV !== \"production\") && warn$1(`root props passed to app.mount() must be an object.`);\n rootProps = null;\n }\n const context = createAppContext();\n const installedPlugins = /* @__PURE__ */ new WeakSet();\n const app = context.app = {\n _uid: uid$1++,\n _component: rootComponent,\n _props: rootProps,\n _container: null,\n _context: context,\n _instance: null,\n version,\n get config() {\n return context.config;\n },\n set config(v) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\n `app.config cannot be replaced. Modify individual options instead.`\n );\n }\n },\n use(plugin, ...options) {\n if (installedPlugins.has(plugin)) {\n !!(process.env.NODE_ENV !== \"production\") && warn$1(`Plugin has already been applied to target app.`);\n } else if (plugin && isFunction(plugin.install)) {\n installedPlugins.add(plugin);\n plugin.install(app, ...options);\n } else if (isFunction(plugin)) {\n installedPlugins.add(plugin);\n plugin(app, ...options);\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\n `A plugin must either be a function or an object with an \"install\" function.`\n );\n }\n return app;\n },\n mixin(mixin) {\n if (__VUE_OPTIONS_API__) {\n if (!context.mixins.includes(mixin)) {\n context.mixins.push(mixin);\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\n \"Mixin has already been applied to target app\" + (mixin.name ? `: ${mixin.name}` : \"\")\n );\n }\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\"Mixins are only available in builds supporting Options API\");\n }\n return app;\n },\n component(name, component) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n validateComponentName(name, context.config);\n }\n if (!component) {\n return context.components[name];\n }\n if (!!(process.env.NODE_ENV !== \"production\") && context.components[name]) {\n warn$1(`Component \"${name}\" has already been registered in target app.`);\n }\n context.components[name] = component;\n return app;\n },\n directive(name, directive) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n validateDirectiveName(name);\n }\n if (!directive) {\n return context.directives[name];\n }\n if (!!(process.env.NODE_ENV !== \"production\") && context.directives[name]) {\n warn$1(`Directive \"${name}\" has already been registered in target app.`);\n }\n context.directives[name] = directive;\n return app;\n },\n // fixed by xxxxxx\n mount() {\n },\n // fixed by xxxxxx\n unmount() {\n },\n provide(key, value) {\n if (!!(process.env.NODE_ENV !== \"production\") && key in context.provides) {\n warn$1(\n `App already provides property with key \"${String(key)}\". It will be overwritten with the new value.`\n );\n }\n context.provides[key] = value;\n return app;\n },\n runWithContext(fn) {\n const lastApp = currentApp;\n currentApp = app;\n try {\n return fn();\n } finally {\n currentApp = lastApp;\n }\n }\n };\n return app;\n };\n}\nlet currentApp = null;\n\nfunction provide(key, value) {\n if (!currentInstance) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(`provide() can only be used inside setup().`);\n }\n } else {\n let provides = currentInstance.provides;\n const parentProvides = currentInstance.parent && currentInstance.parent.provides;\n if (parentProvides === provides) {\n provides = currentInstance.provides = Object.create(parentProvides);\n }\n provides[key] = value;\n if (currentInstance.type.mpType === \"app\") {\n currentInstance.appContext.app.provide(key, value);\n }\n }\n}\nfunction inject(key, defaultValue, treatDefaultAsFactory = false) {\n const instance = currentInstance || currentRenderingInstance;\n if (instance || currentApp) {\n const provides = instance ? instance.parent == null ? instance.vnode.appContext && instance.vnode.appContext.provides : instance.parent.provides : currentApp._context.provides;\n if (provides && key in provides) {\n return provides[key];\n } else if (arguments.length > 1) {\n return treatDefaultAsFactory && isFunction(defaultValue) ? defaultValue.call(instance && instance.proxy) : defaultValue;\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(`injection \"${String(key)}\" not found.`);\n }\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(`inject() can only be used inside setup() or functional components.`);\n }\n}\nfunction hasInjectionContext() {\n return !!(currentInstance || currentRenderingInstance || currentApp);\n}\n\n/*! #__NO_SIDE_EFFECTS__ */\n// @__NO_SIDE_EFFECTS__\nfunction defineComponent(options, extraOptions) {\n return isFunction(options) ? (\n // #8326: extend call and options.name access are considered side-effects\n // by Rollup, so we have to wrap it in a pure-annotated IIFE.\n /* @__PURE__ */ (() => extend({ name: options.name }, extraOptions, { setup: options }))()\n ) : options;\n}\n\nconst isKeepAlive = (vnode) => vnode.type.__isKeepAlive;\nfunction onActivated(hook, target) {\n registerKeepAliveHook(hook, \"a\", target);\n}\nfunction onDeactivated(hook, target) {\n registerKeepAliveHook(hook, \"da\", target);\n}\nfunction registerKeepAliveHook(hook, type, target = currentInstance) {\n const wrappedHook = hook.__wdc || (hook.__wdc = () => {\n let current = target;\n while (current) {\n if (current.isDeactivated) {\n return;\n }\n current = current.parent;\n }\n return hook();\n });\n injectHook(type, wrappedHook, target);\n if (target) {\n let current = target.parent;\n while (current && current.parent) {\n if (isKeepAlive(current.parent.vnode)) {\n injectToKeepAliveRoot(wrappedHook, type, target, current);\n }\n current = current.parent;\n }\n }\n}\nfunction injectToKeepAliveRoot(hook, type, target, keepAliveRoot) {\n const injected = injectHook(\n type,\n hook,\n keepAliveRoot,\n true\n /* prepend */\n );\n onUnmounted(() => {\n remove(keepAliveRoot[type], injected);\n }, target);\n}\n\nfunction injectHook(type, hook, target = currentInstance, prepend = false) {\n if (target) {\n if (isRootHook(type)) {\n target = target.root;\n }\n const hooks = target[type] || (target[type] = []);\n const wrappedHook = hook.__weh || (hook.__weh = (...args) => {\n if (target.isUnmounted) {\n return;\n }\n pauseTracking();\n const reset = setCurrentInstance(target);\n const res = callWithAsyncErrorHandling(hook, target, type, args);\n reset();\n resetTracking();\n return res;\n });\n if (prepend) {\n hooks.unshift(wrappedHook);\n } else {\n hooks.push(wrappedHook);\n }\n return wrappedHook;\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n const apiName = toHandlerKey(\n (ErrorTypeStrings[type] || type.replace(/^on/, \"\")).replace(/ hook$/, \"\")\n );\n warn$1(\n `${apiName} is called when there is no active component instance to be associated with. Lifecycle injection APIs can only be used during execution of setup().` + (``)\n );\n }\n}\nconst createHook = (lifecycle) => (hook, target = currentInstance) => (\n // post-create lifecycle registrations are noops during SSR (except for serverPrefetch)\n (!isInSSRComponentSetup || lifecycle === \"sp\") && injectHook(lifecycle, (...args) => hook(...args), target)\n);\nconst onBeforeMount = createHook(\"bm\");\nconst onMounted = createHook(\"m\");\nconst onBeforeUpdate = createHook(\"bu\");\nconst onUpdated = createHook(\"u\");\nconst onBeforeUnmount = createHook(\"bum\");\nconst onUnmounted = createHook(\"um\");\nconst onServerPrefetch = createHook(\"sp\");\nconst onRenderTriggered = createHook(\n \"rtg\"\n);\nconst onRenderTracked = createHook(\n \"rtc\"\n);\nfunction onErrorCaptured(hook, target = currentInstance) {\n injectHook(\"ec\", hook, target);\n}\n\nfunction toHandlers(obj, preserveCaseIfNecessary) {\n const ret = {};\n if (!!(process.env.NODE_ENV !== \"production\") && !isObject(obj)) {\n warn$1(`v-on with no argument expects an object value.`);\n return ret;\n }\n for (const key in obj) {\n ret[preserveCaseIfNecessary && /[A-Z]/.test(key) ? `on:${key}` : toHandlerKey(key)] = obj[key];\n }\n return ret;\n}\n\nconst getPublicInstance = (i) => {\n if (!i)\n return null;\n if (isStatefulComponent(i))\n return getExposeProxy(i) || i.proxy;\n return getPublicInstance(i.parent);\n};\nconst publicPropertiesMap = (\n // Move PURE marker to new line to workaround compiler discarding it\n // due to type annotation\n /* @__PURE__ */ extend(/* @__PURE__ */ Object.create(null), {\n $: (i) => i,\n // fixed by xxxxxx vue-i18n 在 dev 模式,访问了 $el,故模拟一个假的\n // $el: i => i.vnode.el,\n $el: (i) => i.__$el || (i.__$el = {}),\n $data: (i) => i.data,\n $props: (i) => !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(i.props) : i.props,\n $attrs: (i) => !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(i.attrs) : i.attrs,\n $slots: (i) => !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(i.slots) : i.slots,\n $refs: (i) => !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(i.refs) : i.refs,\n $parent: (i) => getPublicInstance(i.parent),\n $root: (i) => getPublicInstance(i.root),\n $emit: (i) => i.emit,\n $options: (i) => __VUE_OPTIONS_API__ ? resolveMergedOptions(i) : i.type,\n $forceUpdate: (i) => i.f || (i.f = () => {\n i.effect.dirty = true;\n queueJob(i.update);\n }),\n // $nextTick: i => i.n || (i.n = nextTick.bind(i.proxy!)),// fixed by xxxxxx\n $watch: (i) => __VUE_OPTIONS_API__ ? instanceWatch.bind(i) : NOOP\n })\n);\nconst isReservedPrefix = (key) => key === \"_\" || key === \"$\";\nconst hasSetupBinding = (state, key) => state !== EMPTY_OBJ && !state.__isScriptSetup && hasOwn(state, key);\nconst PublicInstanceProxyHandlers = {\n get({ _: instance }, key) {\n const { ctx, setupState, data, props, accessCache, type, appContext } = instance;\n if (!!(process.env.NODE_ENV !== \"production\") && key === \"__isVue\") {\n return true;\n }\n let normalizedProps;\n if (key[0] !== \"$\") {\n const n = accessCache[key];\n if (n !== void 0) {\n switch (n) {\n case 1 /* SETUP */:\n return setupState[key];\n case 2 /* DATA */:\n return data[key];\n case 4 /* CONTEXT */:\n return ctx[key];\n case 3 /* PROPS */:\n return props[key];\n }\n } else if (hasSetupBinding(setupState, key)) {\n accessCache[key] = 1 /* SETUP */;\n return setupState[key];\n } else if (data !== EMPTY_OBJ && hasOwn(data, key)) {\n accessCache[key] = 2 /* DATA */;\n return data[key];\n } else if (\n // only cache other properties when instance has declared (thus stable)\n // props\n (normalizedProps = instance.propsOptions[0]) && hasOwn(normalizedProps, key)\n ) {\n accessCache[key] = 3 /* PROPS */;\n return props[key];\n } else if (ctx !== EMPTY_OBJ && hasOwn(ctx, key)) {\n accessCache[key] = 4 /* CONTEXT */;\n return ctx[key];\n } else if (!__VUE_OPTIONS_API__ || shouldCacheAccess) {\n accessCache[key] = 0 /* OTHER */;\n }\n }\n const publicGetter = publicPropertiesMap[key];\n let cssModule, globalProperties;\n if (publicGetter) {\n if (key === \"$attrs\") {\n track(instance, \"get\", key);\n !!(process.env.NODE_ENV !== \"production\") && markAttrsAccessed();\n } else if (!!(process.env.NODE_ENV !== \"production\") && key === \"$slots\") {\n track(instance, \"get\", key);\n }\n return publicGetter(instance);\n } else if (\n // css module (injected by vue-loader)\n (cssModule = type.__cssModules) && (cssModule = cssModule[key])\n ) {\n return cssModule;\n } else if (ctx !== EMPTY_OBJ && hasOwn(ctx, key)) {\n accessCache[key] = 4 /* CONTEXT */;\n return ctx[key];\n } else if (\n // global properties\n globalProperties = appContext.config.globalProperties, hasOwn(globalProperties, key)\n ) {\n {\n return globalProperties[key];\n }\n } else if (!!(process.env.NODE_ENV !== \"production\") && currentRenderingInstance && (!isString(key) || // #1091 avoid internal isRef/isVNode checks on component instance leading\n // to infinite warning loop\n key.indexOf(\"__v\") !== 0)) {\n if (data !== EMPTY_OBJ && isReservedPrefix(key[0]) && hasOwn(data, key)) {\n warn$1(\n `Property ${JSON.stringify(\n key\n )} must be accessed via $data because it starts with a reserved character (\"$\" or \"_\") and is not proxied on the render context.`\n );\n } else if (instance === currentRenderingInstance) {\n warn$1(\n `Property ${JSON.stringify(key)} was accessed during render but is not defined on instance.`\n );\n }\n }\n },\n set({ _: instance }, key, value) {\n const { data, setupState, ctx } = instance;\n if (hasSetupBinding(setupState, key)) {\n setupState[key] = value;\n return true;\n } else if (!!(process.env.NODE_ENV !== \"production\") && setupState.__isScriptSetup && hasOwn(setupState, key)) {\n warn$1(`Cannot mutate ","import MiniProgramPage from 'D:/officialAccount/compontent/public/camera.vue'\nwx.createPage(MiniProgramPage)"],"names":["ref","uni","onLoad","MiniProgramPage"],"mappings":";;;;;AAcC,MAAM,iBAAiB,MAAW;;;;AAGlC,UAAM,MAAMA,cAAG,IAAC,EAAE;AAClB,UAAM,OAAOA,kBAAI,CAAC;AAClB,UAAM,QAAQA,kBAAI,GAAG;AACrB,UAAM,SAASA,kBAAI,GAAG;AAEtB,UAAM,aAAa,CAAC,MAAM;AAEzBC,0BAAI,eAAe,SAAS,KAAK,KAAK,IAAI,EAAE,YAAY;AACxDA,oBAAAA,MAAI,aAAc;AAAA,IAClB;AACDC,kBAAM,OAAC,CAAC,YAAY;AACnB,UAAI,QAAQ,QAAQ;AAEpB,WAAK,QAAQ,QAAQ;AACrB,UAAG,QAAQ,MAAK;AACf,cAAM,QAAQ;AACd,eAAO,QAAQ;AAAA,MACf;AAAA,IACH,CAAE;;;;;;;;;;;;;;AClCF,GAAG,WAAWC,SAAe;"}
\ No newline at end of file
diff --git a/unpackage/dist/dev/.sourcemap/mp-weixin/pages/addjigou/all.js.map b/unpackage/dist/dev/.sourcemap/mp-weixin/pages/addjigou/all.js.map
index 91bea9e..e86c5e1 100644
--- a/unpackage/dist/dev/.sourcemap/mp-weixin/pages/addjigou/all.js.map
+++ b/unpackage/dist/dev/.sourcemap/mp-weixin/pages/addjigou/all.js.map
@@ -1 +1 @@
-{"version":3,"file":"all.js","sources":["pages/addjigou/all.vue","../Hbuilder/HBuilderX/plugins/uniapp-cli-vite/uniPage:/cGFnZXMvYWRkamlnb3UvYWxsLnZ1ZQ"],"sourcesContent":["\r\n\t\r\n\t\t \r\n\t\t\r\n\t\t\t\r\n\t\t\t\t \r\n\t\t\t\t返回 \r\n\t\t\t \r\n\t\t\t\r\n\t\t\t\t{{ states[statesTarget] }}\r\n\t\t\t \r\n\t\t \r\n\t\t\r\n\t\t\t\r\n\t\t\t\t身份证上传 \r\n\t\t\t\t \r\n\t\t\t \r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t人像面 \r\n\t\t\t\t\t请上传身份证人像面 \r\n\t\t\t\t \r\n\t\t\t\t\r\n\t\t\t\t\t \r\n\t\t\t\t\t \r\n\t\t\t\t \r\n\r\n\t\t\t \r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t国徽面 \r\n\t\t\t\t\t请上传身份证国徽面 \r\n\t\t\t\t \r\n\t\t\t\t\r\n\t\t\t\t\t \r\n\t\t\t\t\t \r\n\t\t\t\t \r\n\r\n\t\t\t \r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t \r\n\t\t\t\t\t\r\n\t\t\t\t\t\t确认身份证信息\r\n\t\t\t\t\t \r\n\t\t\t\t \r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{item}} \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t{{textArray[index] ? textArray[index] : \"自动获取\" }} \r\n\t\t\t\t\t \r\n\t\t\t\t \r\n\t\t\t \r\n\t\t \r\n\t\t\r\n\t\t\t\r\n\t\t\t\t营业执照上传 \r\n\t\t\t\t \r\n\t\t\t \r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t营业执照 \r\n\t\t\t\t\t请上传营业执照 \r\n\t\t\t\t \r\n\t\t\t\t\r\n\t\t\t\t\t \r\n\t\t\t\t\t \r\n\t\t\t\t \r\n\t\t\r\n\t\t\t \r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t \r\n\t\t\t\t\t\r\n\t\t\t\t\t\t确认企业信息\r\n\t\t\t\t\t \r\n\t\t\t\t \r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{item}} \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t{{textArray0[index] ? textArray0[index] : \"自动获取\" }} \r\n\t\t\t\t\t \r\n\t\t\t\t \r\n\t\t\t \r\n\t\t \r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{item}} \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t{{textArray1[index] ? textArray1[index] : \"自动获取\" }} \r\n\t\t\t\t\t \r\n\t\t\t\t \r\n\t\t\t \r\n\t\t \r\n\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t重新提交\r\n\t\t\t \r\n\t\t\t\r\n\t\t\t\t进入机构端\r\n\t\t\t \r\n\t\t \r\n\r\n\t
\r\n \r\n\r\n\r\n\r\n","import MiniProgramPage from 'D:/officialAccount/pages/addjigou/all.vue'\nwx.createPage(MiniProgramPage)"],"names":["ref","reactive","uni","onLoad","base_url"],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"all.js","sources":["pages/addjigou/all.vue","../Hbuilder/HBuilderX/plugins/uniapp-cli-vite/uniPage:/cGFnZXMvYWRkamlnb3UvYWxsLnZ1ZQ"],"sourcesContent":["\r\n\t\r\n\t\t \r\n\t\t\r\n\t\t\t\r\n\t\t\t\t \r\n\t\t\t\t返回 \r\n\t\t\t \r\n\t\t\t\r\n\t\t\t\t{{ states[statesTarget] }}\r\n\t\t\t \r\n\t\t \r\n\t\t\r\n\t\t\t\r\n\t\t\t\t身份证上传 \r\n\t\t\t\t \r\n\t\t\t \r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t人像面 \r\n\t\t\t\t\t请上传身份证人像面 \r\n\t\t\t\t \r\n\t\t\t\t\r\n\t\t\t\t\t \r\n\t\t\t\t\t \r\n\t\t\t\t \r\n\r\n\t\t\t \r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t国徽面 \r\n\t\t\t\t\t请上传身份证国徽面 \r\n\t\t\t\t \r\n\t\t\t\t\r\n\t\t\t\t\t \r\n\t\t\t\t\t \r\n\t\t\t\t \r\n\r\n\t\t\t \r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t \r\n\t\t\t\t\t\r\n\t\t\t\t\t\t确认身份证信息\r\n\t\t\t\t\t \r\n\t\t\t\t \r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{item}} \r\n\t\t\t\t\t\t{{textArray[index] ? textArray[index] : \"自动获取\" }} \r\n\t\t\t\t\t \r\n\t\t\t\t \r\n\t\t\t \r\n\t\t \r\n\t\t\r\n\t\t\t\r\n\t\t\t\t营业执照上传 \r\n\t\t\t\t \r\n\t\t\t \r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t营业执照 \r\n\t\t\t\t\t请上传营业执照 \r\n\t\t\t\t \r\n\t\t\t\t\r\n\t\t\t\t\t \r\n\t\t\t\t\t \r\n\t\t\t\t \r\n\t\t\r\n\t\t\t \r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t \r\n\t\t\t\t\t\r\n\t\t\t\t\t\t确认企业信息\r\n\t\t\t\t\t \r\n\t\t\t\t \r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{item}} \r\n\t\t\t\t\t\t{{textArray0[index] ? textArray0[index] : \"自动获取\" }} \r\n\t\t\t\t\t \r\n\t\t\t\t \r\n\t\t\t \r\n\t\t \r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{item}} \r\n\t\t\t\t\t\t{{textArray1[index] ? textArray1[index] : \"自动获取\" }} \r\n\t\t\t\t\t \r\n\t\t\t\t \r\n\t\t\t \r\n\t\t \r\n\t\t\r\n\t\t\t\r\n\t\t\t\t重新提交\r\n\t\t\t \r\n\t\t\t\r\n\t\t\t\t进入机构端\r\n\t\t\t \r\n\t\t \r\n\r\n\t
\r\n \r\n\r\n\r\n\r\n","import MiniProgramPage from 'D:/officialAccount/pages/addjigou/all.vue'\nwx.createPage(MiniProgramPage)"],"names":["ref","reactive","uni","onLoad","base_url"],"mappings":"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"}
\ No newline at end of file
diff --git a/unpackage/dist/dev/.sourcemap/mp-weixin/pages/addjigou/card.js.map b/unpackage/dist/dev/.sourcemap/mp-weixin/pages/addjigou/card.js.map
index 5b1baef..5c59a9b 100644
--- a/unpackage/dist/dev/.sourcemap/mp-weixin/pages/addjigou/card.js.map
+++ b/unpackage/dist/dev/.sourcemap/mp-weixin/pages/addjigou/card.js.map
@@ -1 +1 @@
-{"version":3,"file":"card.js","sources":["pages/addjigou/card.vue","../Hbuilder/HBuilderX/plugins/uniapp-cli-vite/uniPage:/cGFnZXMvYWRkamlnb3UvY2FyZC52dWU"],"sourcesContent":["\r\n\t\r\n\t\t \r\n\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t营业执照上传 \r\n\t\t\t\t \r\n\t\t\t \r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t营业执照 \r\n\t\t\t\t\t请上传营业执照 \r\n\t\t\t\t \r\n\t\t\t\t\r\n\t\t\t\t\t \r\n\t\t\t\t\t \r\n\t\t\t\t \r\n\r\n\t\t\t \r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t \r\n\t\t\t\t\t\r\n\t\t\t\t\t\t确认企业信息\r\n\t\t\t\t\t \r\n\t\t\t\t \r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{item}} \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t{{textArray[index] ? textArray[index] : \"自动获取\" }} \r\n\t\t\t\t\t \r\n\t\t\t\t \r\n\t\t\t \r\n\t\t \r\n\t\t\r\n\t\t\t注意事项: \r\n\t\t\t\r\n\t\t\t\t1. 运用企业、个体工商户、政府、事业单位、学校、组织等,账号归属企业。\r\n\t\t\t \r\n\t\t\t\r\n\t\t\t\t2.一个企业信息主体默认可认证1个账号。\r\n\t\t\t \r\n\t\t\t\r\n\t\t\t\t3.所有上传信息均会被妥善保管,不会用于其他商业用途或传输给其他第三方。\r\n\t\t\t \r\n\t\t \r\n\t\t\r\n\t\t\t\r\n\t\t\t\t上一步\r\n\t\t\t \r\n\t\t\t\r\n\t\t\t\t下一步\r\n\t\t\t \r\n\t\t \r\n\t
\r\n \r\n\r\n\r\n\r\n","import MiniProgramPage from 'D:/officialAccount/pages/addjigou/card.vue'\nwx.createPage(MiniProgramPage)"],"names":["ref","reactive","uni","base_url","changemessage","onLoad"],"mappings":";;;;;;;;;;;;;;;AA6EC,UAAM,OAAOA,kBAAI,KAAK;AACtB,UAAM,UAAUA,kBAAI,EAAE;AAEtB,UAAM,YAAY,CAAC,QAAQ,QAAQ,QAAQ,IAAI;AAC/C,UAAM,YAAYC,cAAAA,SAAS,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC;AAG3C,UAAM,gBAAgBD,cAAG,IAAC,EAAE;AAG5B,aAAS,aAAa;AAErBE,oBAAAA,MAAI,YAAY;AAAA,QACf,OAAO;AAAA,QACP,YAAY,CAAC,QAAQ;AAAA,QACrB,SAAS,eAAa;AACrB,wBAAc,QAAQ,UAAU,cAAc,CAAC;AAE/C,sBAAY,cAAc,KAAK;AAAA,QAC/B;AAAA,QACD,MAAM,SAAO;AACZA,wBAAAA,MAAc,MAAA,SAAA,iCAAA,SAAS,GAAG;AAAA,QAC1B;AAAA,MACJ,CAAG;AAAA,IACD;AAED,UAAM,WAAWF,kBAAI,EAAE;AACNA,kBAAAA,IAAI,EAAE;AACvB,UAAM,QAAQA,kBAAI,IAAI;AAEtB,aAAS,YAAY,UAAU;AAC9BE,oBAAAA,MAAI,YAAa;AACjB,YAAM,QAAQ;AACdA,oBAAAA,MAAI,WAAW;AAAA,QACd,KAAK,GAAGC,cAAQ,QAAA;AAAA;AAAA,QAChB;AAAA,QACA,MAAM;AAAA;AAAA,QACN,QAAQ;AAAA,UACP,kBAAkBD,cAAG,MAAC,eAAe,OAAO,KAAK;AAAA,QACjD;AAAA,QACD,UAAU,CAAE;AAAA,QACZ,SAAS,eAAa;AACrB,cAAI,CAAC,KAAK,MAAM,UAAU,IAAI,EAAE,SAAS;AACxCA,0BAAAA,MAAI,UAAU;AAAA,cACb,OAAO;AAAA,cACP,MAAM;AAAA,YACZ,CAAM;AACDA,0BAAAA,MAAI,YAAa;AACjB;AAAA,UACA;AACDA,wBAAA,MAAA,MAAA,OAAA,kCAAY,QAAQ,KAAK,MAAM,KAAK,MAAM,UAAU,IAAI,EAAE,OAAO,IAAI,EAAE,IAAI;AAG3E,cAAI,SAAS,KAAK,MAAM,KAAK,MAAM,UAAU,IAAI,EAAE,OAAO,IAAI,EAAE;AAChE,oBAAU,CAAC,IAAI,OAAO;AACtB,oBAAU,CAAC,IAAI,OAAO;AACtB,oBAAU,CAAC,IAAI,OAAO;AACtB,oBAAU,CAAC,IAAI,OAAO;AACtB,mBAAS,QAAQ;AACjB,oBAAU,QAAQ;AAClBA,wBAAAA,MAAI,YAAa;AAAA,QAkBjB;AAAA,QACD,MAAM,SAAO;AACZA,wBAAAA,MAAI,UAAU;AAAA,YACb,OAAO;AAAA,YACP,MAAM;AAAA,UACX,CAAK;AACDA,wBAAAA,MAAI,YAAa;AAAA,QACjB;AAAA,MACJ,CAAG;AAAA,IACD;AACD,UAAM,YAAYF,kBAAI,EAAE;AACxB,UAAM,YAAY,CAAC,aAAa;AAC/BE,oBAAAA,MAAI,WAAW;AAAA,QACd,KAAK,GAAGC,cAAQ,QAAA;AAAA;AAAA,QAChB;AAAA,QACA,MAAM;AAAA;AAAA,QACN,QAAQ;AAAA,UACP,kBAAkBD,cAAG,MAAC,eAAe,OAAO,KAAK;AAAA,QACjD;AAAA,QACD,UAAU;AAAA,UACT,KAAK;AAAA,QACL;AAAA,QACD,SAAS,eAAa;AACrB,oBAAU,QAAQ,KAAK,MAAM,UAAU,IAAI,EAAE;AAC7C,gBAAM,QAAQ;AAAA,QACd;AAAA,QACD,MAAM,SAAO;AACZA,wBAAAA,MAAI,UAAU;AAAA,YACb,OAAO;AAAA,YACP,MAAM;AAAA,UACX,CAAK;AACDA,wBAAAA,MAAI,YAAa;AAAA,QACjB;AAAA,MACJ,CAAG;AAAA,IACD;AACD,UAAM,WAAW,CAAC,QAAQ;AACzB,UAAI,KAAK;AACR,gBAAQ,QAAQ;AAChB,aAAK,QAAQ;AAAA,MACb;AAAA,IACD;AACD,UAAM,OAAO,MAAM;AAClB,UAAG,CAAC,MAAM,OAAM;AACf;AAAA,MACA;AACD,YAAM,cAAc,UAAU,CAAC;AAC/B,UAAI,aAAa;AAChB,YAAI,cAAc;AAAA,UACjB,IAAIA,cAAG,MAAC,eAAe,YAAY,KAAK;AAAA,UACxC,KAAKA,cAAAA,MAAI,eAAe,KAAK;AAAA,UAC7B,SAAS,UAAU,CAAC;AAAA,UACpB,oBAAoB,UAAU,CAAC;AAAA,UAC/B,eAAe,UAAU,CAAC;AAAA,UAC1B,gBAAgB,UAAU,CAAC;AAAA,UAC3B,oBAAmB,UAAU;AAAA,QAC7B;AAEDE,oCAAAA,cAAc,WAAW,EAAE,KAAK,SAAO;AACtC,cAAG,IAAI,SAAQ;AACd,gBAAG,IAAI,WAAS,SAAQ;AACvBF,4BAAAA,MAAI,WAAW;AAAA,gBACd,KAAK;AAAA,cACZ,CAAO;AAAA,YACP,OAAU;AACJA,4BAAAA,MAAI,WAAW;AAAA,gBACd,KAAK;AAAA,cACZ,CAAO;AAAA,YACD;AAAA,UAEN,OAAS;AACJA,0BAAAA,MAAI,UAAU;AAAA,cACb,OAAO,IAAI;AAAA,cACX,MAAM;AAAA,YACZ,CAAM;AAAA,UACD;AAAA,QACL,CAAI;AAAA,MACJ,OAAS;AACNA,sBAAAA,MAAI,UAAU;AAAA,UACb,OAAO;AAAA,UACP,MAAM;AAAA,QACV,CAAI;AAAA,MACD;AAAA,IACD;AACDG,kBAAAA,OAAO,MAAM;AACZ,UAAGH,cAAG,MAAC,eAAe,SAAS,GAAE;AAChC,YAAI,OAAOA,cAAAA,MAAI,eAAe,SAAS;AACvC,YAAG,KAAK,SAAQ;AACf,oBAAU,CAAC,IAAI,KAAK;AACpB,oBAAU,CAAC,IAAI,KAAK;AACpB,oBAAU,CAAC,IAAI,KAAK;AACpB,oBAAU,CAAC,IAAI,KAAK;AACpB,cAAG,KAAK,oBAAmB;AAC1B,qBAAS,QAAQ,GAAGC,cAAAA,QAAQ,sBAAsB,KAAK,kBAAkB;AACzE,sBAAU,QAAQ,KAAK;AAAA,UACvB;AAAA,QACD;AAAA,MACD;AAAA,IACH,CAAE;AACD,UAAM,SAAS,MAAM;AACpBD,oBAAAA,MAAI,aAAc;AAAA,IAClB;;;;;;;;;;;;;;;;;;;;;;;;;;;AC9PF,GAAG,WAAW,eAAe;"}
\ No newline at end of file
+{"version":3,"file":"card.js","sources":["pages/addjigou/card.vue","../Hbuilder/HBuilderX/plugins/uniapp-cli-vite/uniPage:/cGFnZXMvYWRkamlnb3UvY2FyZC52dWU"],"sourcesContent":["\r\n\t\r\n\t\t \r\n\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t营业执照上传 \r\n\t\t\t\t \r\n\t\t\t \r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t营业执照 \r\n\t\t\t\t\t请上传营业执照 \r\n\t\t\t\t \r\n\t\t\t\t\r\n\t\t\t\t\t \r\n\t\t\t\t\t \r\n\t\t\t\t \r\n\r\n\t\t\t \r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t \r\n\t\t\t\t\t\r\n\t\t\t\t\t\t确认企业信息\r\n\t\t\t\t\t \r\n\t\t\t\t \r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{item}} \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t{{textArray[index] ? textArray[index] : \"自动获取\" }} \r\n\t\t\t\t\t \r\n\t\t\t\t \r\n\t\t\t \r\n\t\t \r\n\t\t\r\n\t\t\t注意事项: \r\n\t\t\t\r\n\t\t\t\t1. 运用企业、个体工商户、政府、事业单位、学校、组织等,账号归属企业。\r\n\t\t\t \r\n\t\t\t\r\n\t\t\t\t2.一个企业信息主体默认可认证1个账号。\r\n\t\t\t \r\n\t\t\t\r\n\t\t\t\t3.所有上传信息均会被妥善保管,不会用于其他商业用途或传输给其他第三方。\r\n\t\t\t \r\n\t\t \r\n\t\t\r\n\t\t\t\r\n\t\t\t\t上一步\r\n\t\t\t \r\n\t\t\t\r\n\t\t\t\t下一步\r\n\t\t\t \r\n\t\t \r\n\t
\r\n \r\n\r\n\r\n\r\n","import MiniProgramPage from 'D:/officialAccount/pages/addjigou/card.vue'\nwx.createPage(MiniProgramPage)"],"names":["ref","reactive","uni","base_url","changemessage","onLoad","onShow"],"mappings":"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"}
\ No newline at end of file
diff --git a/unpackage/dist/dev/.sourcemap/mp-weixin/pages/addjigou/name.js.map b/unpackage/dist/dev/.sourcemap/mp-weixin/pages/addjigou/name.js.map
index e1bcc97..2943f32 100644
--- a/unpackage/dist/dev/.sourcemap/mp-weixin/pages/addjigou/name.js.map
+++ b/unpackage/dist/dev/.sourcemap/mp-weixin/pages/addjigou/name.js.map
@@ -1 +1 @@
-{"version":3,"file":"name.js","sources":["pages/addjigou/name.vue","../Hbuilder/HBuilderX/plugins/uniapp-cli-vite/uniPage:/cGFnZXMvYWRkamlnb3UvbmFtZS52dWU"],"sourcesContent":["\r\n\t\r\n\t\t \r\n\t\t\r\n\t\t\t\r\n\t\t\t\t \r\n\t\t\t\t返回 \r\n\t\t\t \r\n\t\t\t\r\n\t\t \r\n\t\t\r\n\t\t\t\r\n\t\t\t\t身份证上传 \r\n\t\t\t\t \r\n\t\t\t \r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t人像面 \r\n\t\t\t\t\t请上传身份证人像面 \r\n\t\t\t\t \r\n\t\t\t\t\r\n\t\t\t\t\t \r\n\t\t\t\t\t \r\n\t\t\t\t \r\n\r\n\t\t\t \r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t国徽面 \r\n\t\t\t\t\t请上传身份证国徽面 \r\n\t\t\t\t \r\n\t\t\t\t\r\n\t\t\t\t\t \r\n\t\t\t\t\t \r\n\t\t\t\t \r\n\r\n\t\t\t \r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t \r\n\t\t\t\t\t\r\n\t\t\t\t\t\t确认身份证信息\r\n\t\t\t\t\t \r\n\t\t\t\t \r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{item}} \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t{{textArray[index] ? textArray[index] : \"自动获取\" }} \r\n\t\t\t\t\t \r\n\t\t\t\t \r\n\t\t\t \r\n\t\t \r\n\t\t\r\n\t\t\t注意事项: \r\n\t\t\t\r\n\t\t\t\t同一个身份证号只能认证一个账号国徽而与正面信息应为同一身份证的信息目在有效期内,所有上传照片需清晰且未遮挡,请勿进行美化和修改,所有上传信息均会被妥善保管,不会用于其他商业用途或传输给第三方。 \r\n\t\t \r\n\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t下一步\r\n\t\t\t \r\n\t\t \r\n\r\n\t
\r\n \r\n\r\n\r\n\r\n","import MiniProgramPage from 'D:/officialAccount/pages/addjigou/name.vue'\nwx.createPage(MiniProgramPage)"],"names":["ref","reactive","uni","base_url","changemessage","onLoad"],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"name.js","sources":["pages/addjigou/name.vue","../Hbuilder/HBuilderX/plugins/uniapp-cli-vite/uniPage:/cGFnZXMvYWRkamlnb3UvbmFtZS52dWU"],"sourcesContent":["\r\n\t\r\n\t\t \r\n\t\t\r\n\t\t\t\r\n\t\t\t\t \r\n\t\t\t\t返回 \r\n\t\t\t \r\n\t\t\t\r\n\t\t \r\n\t\t\r\n\t\t\t\r\n\t\t\t\t身份证上传 \r\n\t\t\t\t \r\n\t\t\t \r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t人像面 \r\n\t\t\t\t\t请上传身份证人像面 \r\n\t\t\t\t \r\n\t\t\t\t\r\n\t\t\t\t\t \r\n\t\t\t\t\t \r\n\t\t\t\t \r\n\r\n\t\t\t \r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t国徽面 \r\n\t\t\t\t\t请上传身份证国徽面 \r\n\t\t\t\t \r\n\t\t\t\t\r\n\t\t\t\t\t \r\n\t\t\t\t\t \r\n\t\t\t\t \r\n\r\n\t\t\t \r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t \r\n\t\t\t\t\t\r\n\t\t\t\t\t\t确认身份证信息\r\n\t\t\t\t\t \r\n\t\t\t\t \r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{item}} \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t{{textArray[index] ? textArray[index] : \"自动获取\" }} \r\n\t\t\t\t\t \r\n\t\t\t\t \r\n\t\t\t \r\n\t\t \r\n\t\t\r\n\t\t\t注意事项: \r\n\t\t\t\r\n\t\t\t\t同一个身份证号只能认证一个账号国徽而与正面信息应为同一身份证的信息目在有效期内,所有上传照片需清晰且未遮挡,请勿进行美化和修改,所有上传信息均会被妥善保管,不会用于其他商业用途或传输给第三方。 \r\n\t\t \r\n\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t下一步\r\n\t\t\t \r\n\t\t \r\n\r\n\t
\r\n \r\n\r\n\r\n\r\n","import MiniProgramPage from 'D:/officialAccount/pages/addjigou/name.vue'\nwx.createPage(MiniProgramPage)"],"names":["ref","reactive","uni","base_url","changemessage","onLoad","onShow"],"mappings":"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"}
\ No newline at end of file
diff --git a/unpackage/dist/dev/.sourcemap/mp-weixin/pages/addjigou/where.js.map b/unpackage/dist/dev/.sourcemap/mp-weixin/pages/addjigou/where.js.map
index d19d150..c234bad 100644
--- a/unpackage/dist/dev/.sourcemap/mp-weixin/pages/addjigou/where.js.map
+++ b/unpackage/dist/dev/.sourcemap/mp-weixin/pages/addjigou/where.js.map
@@ -1 +1 @@
-{"version":3,"file":"where.js","sources":["pages/addjigou/where.vue","../Hbuilder/HBuilderX/plugins/uniapp-cli-vite/uniPage:/cGFnZXMvYWRkamlnb3Uvd2hlcmUudnVl"],"sourcesContent":["\r\n\t\r\n\t\t \r\n\t\t\r\n\t\t\t\r\n\r\n\t\t \r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t机构位置 \r\n\t\t\t\t\t\t \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t \r\n\t\t\t\t \r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t详细地址 \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t \r\n\t\t\t\t \r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t机构负责人 \r\n\t\t\t\t\t\t \r\n\t\t\t\t\t \r\n\t\t\t\t \r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t机构负责人电话 \r\n\t\t\t\t\t\t \r\n\t\t\t\t\t \r\n\t\t\t\t \r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t房屋性质 \r\n\t\t\t\t\t\t \r\n\t\t\t\t\t \r\n\t\t\t\t \r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t建筑面积 \r\n\t\t\t\t\t\t \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t \r\n\t\t\t\t \r\n\t\t\t \r\n\t\t \r\n\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t上一步\r\n\t\t\t \r\n\t\t\t\r\n\t\t\t\t确认并提交\r\n\t\t\t \r\n\t\t \r\n\t
\r\n \r\n\r\n\r\n\r\n\r\n","import MiniProgramPage from 'D:/officialAccount/pages/addjigou/where.vue'\nwx.createPage(MiniProgramPage)"],"names":["ref","reactive","uni","getdate","changemessage","res","onShow","onLoad"],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"where.js","sources":["pages/addjigou/where.vue","../Hbuilder/HBuilderX/plugins/uniapp-cli-vite/uniPage:/cGFnZXMvYWRkamlnb3Uvd2hlcmUudnVl"],"sourcesContent":["\r\n\t\r\n\t\t \r\n\t\t\r\n\t\t\t\r\n\r\n\t\t \r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t机构位置 \r\n\t\t\t\t\t\t \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t \r\n\t\t\t\t \r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t详细地址 \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t \r\n\t\t\t\t \r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t机构负责人 \r\n\t\t\t\t\t\t \r\n\t\t\t\t\t \r\n\t\t\t\t \r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t机构负责人电话 \r\n\t\t\t\t\t\t \r\n\t\t\t\t\t \r\n\t\t\t\t \r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t房屋性质 \r\n\t\t\t\t\t\t \r\n\t\t\t\t\t \r\n\t\t\t\t \r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t建筑面积 \r\n\t\t\t\t\t\t \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t \r\n\t\t\t\t \r\n\t\t\t \r\n\t\t \r\n\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t上一步\r\n\t\t\t \r\n\t\t\t\r\n\t\t\t\t确认并提交\r\n\t\t\t \r\n\t\t \r\n\t
\r\n \r\n\r\n\r\n\r\n\r\n","import MiniProgramPage from 'D:/officialAccount/pages/addjigou/where.vue'\nwx.createPage(MiniProgramPage)"],"names":["ref","reactive","uni","getdate","changemessage","res","onShow","onLoad"],"mappings":"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"}
\ No newline at end of file
diff --git a/unpackage/dist/dev/.sourcemap/mp-weixin/pages/addoldman/IDcard.js.map b/unpackage/dist/dev/.sourcemap/mp-weixin/pages/addoldman/IDcard.js.map
index 234c579..fd281f2 100644
--- a/unpackage/dist/dev/.sourcemap/mp-weixin/pages/addoldman/IDcard.js.map
+++ b/unpackage/dist/dev/.sourcemap/mp-weixin/pages/addoldman/IDcard.js.map
@@ -1 +1 @@
-{"version":3,"file":"IDcard.js","sources":["pages/addoldman/IDcard.vue","../Hbuilder/HBuilderX/plugins/uniapp-cli-vite/uniPage:/cGFnZXMvYWRkb2xkbWFuL0lEY2FyZC52dWU"],"sourcesContent":["\r\n\t\r\n\t\t \r\n\t\t\r\n\t\t\t\r\n\t\t\t\t身份证上传 \r\n\t\t\t\t \r\n\t\t\t \r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t人像面 \r\n\t\t\t\t\t请上传身份证人像面 \r\n\t\t\t\t \r\n\t\t\t\t\r\n\t\t\t\t\t \r\n\t\t\t\t\t \r\n\t\t\t\t \r\n\t\t\t\t\r\n\t\t\t \r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t国徽面 \r\n\t\t\t\t\t请上传身份证国徽面 \r\n\t\t\t\t \r\n\t\t\t\t\r\n\t\t\t\t\t \r\n\t\t\t\t\t \r\n\t\t\t\t \r\n\t\t\t\t\r\n\t\t\t \r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t \r\n\t\t\t\t\t\r\n\t\t\t\t\t\t确认户口本本人页信息\r\n\t\t\t\t\t \r\n\t\t\t\t \r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{item}} \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t{{textArray[index] ? textArray[index] : \"自动获取\" }} \r\n\t\t\t\t\t \r\n\t\t\t\t \r\n\t\t\t \r\n\t\t \r\n\t\t\r\n\t\t\t注意事项: \r\n\t\t\t\r\n\t\t\t\t同一个身份证号只能认证一个账号国徽而与正面信息应为同一身份证的信息目在有效期内,所有上传照片需清晰且未遮挡,请勿进行美化和修改,所有上传信息均会被妥善保管,不会用于其他商业用途或传输给第三方。 \r\n\t\t \r\n\t\t\r\n\t\t\t下一步\r\n\t\t \r\n\t
\r\n \r\n\r\n\r\n\r\n","import MiniProgramPage from 'D:/officialAccount/pages/addoldman/IDcard.vue'\nwx.createPage(MiniProgramPage)"],"names":["ref","reactive","uni"],"mappings":";;;;;;;;;;;;;AAgEC,UAAM,OAAOA,kBAAI,KAAK;AACtB,UAAM,UAAUA,kBAAI,EAAE;AAEtB,UAAM,YAAY,CAAC,MAAM,MAAM,SAAS,MAAM,QAAQ,MAAM,QAAQ,MAAM;AAC1E,UAAM,YAAYC,cAAAA,SAAS,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;AAGrCD,kBAAAA,IAAI,EAAE;AAG5B,aAAS,aAAa;AACrBE,oBAAAA,MAAI,WAAW,EAAE,KAAK,0BAA2B,CAAA;AAAA,IAcjD;AAED,UAAM,WAAWF,kBAAI,EAAE;AACvB,UAAM,WAAWA,kBAAI,EAAE;AAwDvB,UAAM,WAAW,CAAC,QAAQ;AACzB,UAAI,KAAK;AACR,gBAAQ,QAAQ;AAChB,aAAK,QAAQ;AAAA,MACb;AAAA,IACD;AACD,UAAM,OAAO,MAAM;AAClBE,oBAAAA,MAAI,WAAW;AAAA,QACd,KAAK;AAAA,MACR,CAAG;AAAA,IACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC7JF,GAAG,WAAW,eAAe;"}
\ No newline at end of file
+{"version":3,"file":"IDcard.js","sources":["pages/addoldman/IDcard.vue","../Hbuilder/HBuilderX/plugins/uniapp-cli-vite/uniPage:/cGFnZXMvYWRkb2xkbWFuL0lEY2FyZC52dWU"],"sourcesContent":["\r\n\t\r\n\t\t \r\n\t\t\r\n\t\t\t\r\n\t\t\t\t身份证上传 \r\n\t\t\t\t \r\n\t\t\t \r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t人像面 \r\n\t\t\t\t\t请上传身份证人像面 \r\n\t\t\t\t \r\n\t\t\t\t\r\n\t\t\t\t\t \r\n\t\t\t\t\t \r\n\t\t\t\t \r\n\t\t\t\t\r\n\t\t\t \r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t国徽面 \r\n\t\t\t\t\t请上传身份证国徽面 \r\n\t\t\t\t \r\n\t\t\t\t\r\n\t\t\t\t\t \r\n\t\t\t\t\t \r\n\t\t\t\t \r\n\t\t\t\t\r\n\t\t\t \r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t \r\n\t\t\t\t\t\r\n\t\t\t\t\t\t确认户口本本人页信息\r\n\t\t\t\t\t \r\n\t\t\t\t \r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{item}} \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t{{textArray[index] ? textArray[index] : \"自动获取\" }} \r\n\t\t\t\t\t \r\n\t\t\t\t \r\n\t\t\t \r\n\t\t \r\n\t\t\r\n\t\t\t注意事项: \r\n\t\t\t\r\n\t\t\t\t同一个身份证号只能认证一个账号国徽而与正面信息应为同一身份证的信息目在有效期内,所有上传照片需清晰且未遮挡,请勿进行美化和修改,所有上传信息均会被妥善保管,不会用于其他商业用途或传输给第三方。 \r\n\t\t \r\n\t\t\r\n\t\t\t下一步\r\n\t\t \r\n\t
\r\n \r\n\r\n\r\n\r\n","import MiniProgramPage from 'D:/officialAccount/pages/addoldman/IDcard.vue'\nwx.createPage(MiniProgramPage)"],"names":["ref","reactive","uni"],"mappings":"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"}
\ No newline at end of file
diff --git a/unpackage/dist/dev/.sourcemap/mp-weixin/pages/addoldman/camera.js.map b/unpackage/dist/dev/.sourcemap/mp-weixin/pages/addoldman/camera.js.map
index ad8bdb3..2e8550f 100644
--- a/unpackage/dist/dev/.sourcemap/mp-weixin/pages/addoldman/camera.js.map
+++ b/unpackage/dist/dev/.sourcemap/mp-weixin/pages/addoldman/camera.js.map
@@ -1 +1 @@
-{"version":3,"file":"camera.js","sources":["pages/addoldman/camera.vue","../Hbuilder/HBuilderX/plugins/uniapp-cli-vite/uniPage:/cGFnZXMvYWRkb2xkbWFuL2NhbWVyYS52dWU"],"sourcesContent":["\r\n\t\r\n\t\t\r\n\t\t \r\n\t\t\r\n\t\t \r\n\t\t\r\n\t\t\r\n\t\t\t \r\n\t\t\t\r\n\t\t\t\t \r\n\t\t\t\t\r\n\t\t\t\t\t请将身份证放入此框内 \r\n\t\t\t\t \r\n\t\t\t\t \r\n\t\t\t \r\n\t\t\t \r\n\t\t \r\n\r\n\t\t\r\n\t\t\r\n\t\t\t拍 照 \r\n\t\t \r\n\t \r\n \r\n\r\n\r\n\r\n","import MiniProgramPage from 'D:/officialAccount/pages/addoldman/camera.vue'\nwx.createPage(MiniProgramPage)"],"names":["uni","onMounted"],"mappings":";;;;;AAiCC,QAAI;AACJ,UAAM,UAAUA,oBAAI;AAEpBC,kBAAAA,UAAU,MAAM;AACf,sBAAgBD,cAAAA,MAAI;IACtB,CAAE;AAMD,aAAS,YAAY;AACpB,oBAAc,UAAU;AAAA,QACvB,SAAS;AAAA,QACT,SAAS,OAAO,QAAQ;AACvB,gBAAM,MAAM,IAAI;AAGhB,gBAAM,UAAU,QAAQ;AACxB,gBAAM,UAAU,QAAQ;AACxB,gBAAM,WAAW,UAAU;AAC3B,gBAAM,UAAU,UAAU;AAC1B,gBAAM,UAAU,UAAU;AAC1B,gBAAM,UAAU,UAAU;AAC1B,gBAAM,WAAW,UAAU,WAAW;AACtC,gBAAM,UAAU,YAAY,UAAU,WAAW;AAGjD,gBAAM,OAAO,MAAMA,cAAG,MAAC,aAAa;AAAA,YACnC;AAAA,UACL,CAAK;AACD,gBAAM,QAAQ,KAAK;AACnB,gBAAM,QAAQ,KAAK;AAGnB,gBAAM,SAAS,QAAQ;AACvB,gBAAM,SAAS,QAAQ;AACvB,gBAAM,KAAK,UAAU;AACrB,gBAAM,KAAK,UAAU;AACrB,gBAAM,SAAS,UAAU;AACzB,gBAAM,UAAU,UAAU;AAO1B,gBAAM,MAAMA,cAAAA,MAAI,oBAAoB,cAAc;AAAA,YACjD,cAAc;AAAA,UACnB,CAAK;AAED,cAAI,UAAU,KAAK,IAAI,IAAI,QAAQ,SAAS,GAAG,GAAG,QAAQ,OAAO;AACjE,cAAI,KAAK,OAAO,MAAM;AACrBA,0BAAAA,MAAI,qBAAqB;AAAA,cACxB,UAAU;AAAA,cACV,GAAG;AAAA,cACH,GAAG;AAAA,cACH,OAAO;AAAA,cACP,QAAQ;AAAA,cACR,WAAW;AAAA,cACX,YAAY;AAAA,cACZ,SAAS,CAAC,YAAY;AAErBA,8BAAAA,MAAI,eAAe,eAAe,QAAQ,YAAY;AACtDA,8BAAAA,MAAI,aAAa;AAAA,kBAChB,OAAO;AAAA,gBACf,CAAQ;AAAA,cACD;AAAA,cACD,MAAM,CAAC,QAAQ;AACdA,wFAAc,4BAA4B,GAAG;AAAA,cAC7C;AAAA,YACP,CAAM;AAAA,UACN,CAAK;AAAA,QACD;AAAA,QACD,MAAM,CAAC,QAAQ;AACdA,wBAAA,MAAA,MAAA,SAAA,qCAAc,oBAAoB,GAAG;AAAA,QACrC;AAAA,MACJ,CAAG;AAAA,IACD;;;;;;;;;AC9GF,GAAG,WAAW,eAAe;"}
\ No newline at end of file
+{"version":3,"file":"camera.js","sources":["pages/addoldman/camera.vue","../Hbuilder/HBuilderX/plugins/uniapp-cli-vite/uniPage:/cGFnZXMvYWRkb2xkbWFuL2NhbWVyYS52dWU"],"sourcesContent":["\r\n\t\r\n\t\t \r\n\t \r\n \r\n\r\n","import MiniProgramPage from 'D:/officialAccount/pages/addoldman/camera.vue'\nwx.createPage(MiniProgramPage)"],"names":["ref","uni","onLoad","MiniProgramPage"],"mappings":";;;;;AAaC,MAAM,iBAAiB,MAAW;;;;AAGlC,UAAM,MAAMA,cAAG,IAAC,EAAE;AAGlB,UAAM,aAAa,CAAC,MAAM;AACzBC,oBAAAA,MAAI,aAAa;AAAA,QAChB,MAAM,CAAC,EAAE,YAAY;AAAA,QACrB,SAAS;AAAA,MACZ,CAAG;AAAA,IACD;AACDC,kBAAM,OAAC,CAAC,YAAY;AACnB,UAAI,QAAQ,QAAQ;AAAA,IACtB,CAAE;;;;;;;;;;;;;;AC1BF,GAAG,WAAWC,SAAe;"}
\ No newline at end of file
diff --git a/unpackage/dist/dev/.sourcemap/mp-weixin/pages/index/index.js.map b/unpackage/dist/dev/.sourcemap/mp-weixin/pages/index/index.js.map
index 17a033b..b0a5659 100644
--- a/unpackage/dist/dev/.sourcemap/mp-weixin/pages/index/index.js.map
+++ b/unpackage/dist/dev/.sourcemap/mp-weixin/pages/index/index.js.map
@@ -1 +1 @@
-{"version":3,"file":"index.js","sources":["pages/index/index.vue","../Hbuilder/HBuilderX/plugins/uniapp-cli-vite/uniPage:/cGFnZXMvaW5kZXgvaW5kZXgudnVl"],"sourcesContent":["\r\n\t\r\n\t\t \r\n\t\t\r\n\t\t\r\n\t\t\t\r\n\t\t\t \r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t \r\n\t\t \r\n\t\t\r\n\t\t\t \r\n\t\t \r\n\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t \r\n\t\t\t \r\n\t\t\t\r\n\t\t\t\t \r\n\t\t\t \r\n\t\t\t\r\n\t\t\t\t \r\n\t\t\t \r\n\t\t\t\r\n\t\t\t\t \r\n\t\t\t \r\n\t\t \r\n\t\t\r\n\t\t\t\r\n\t\t\t\t \r\n\t\t\t\t \r\n\t\t\t \r\n\t\t \r\n\t\t\r\n\t\t\t\r\n\t\t\t\t \r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t扫描机构二维码\r\n\t\t\t\t\t \r\n\t\t\t\t\t\r\n\t\t\t\t\t\t持续搜索中...\r\n\t\t\t\t\t \r\n\t\t\t\t \r\n\t\t\t\t\r\n\t\t\t\t\t返回\r\n\t\t\t\t \r\n\t\t\t\t\r\n\t\t\t \r\n\r\n\t\t\t\r\n\t\t\t\t扫描结果:{{ qrResult }}\r\n\t\t\t \r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t \r\n\t\t\t\t\t \r\n\t\t\t\t \r\n\t\t\t\t\r\n\t\t\t\t\t扫描二维码\r\n\t\t\t\t \r\n\t\t\t \r\n\r\n\t\t \r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{ hours }}:{{ minutes }}:{{ seconds }}\r\n\t\t\t\t\t \r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{ month }}月{{ day }}日 {{ weekday }}\r\n\t\t\t\t\t \r\n\t\t\t\t \r\n\t\t\t\t \r\n\t\t\t\t\r\n\t\t\t\t\t \r\n\t\t\t\t\t\r\n\t\t\t\t\t\t温度 \r\n\t\t\t\t\t\t16℃ \r\n\t\t\t\t\t \r\n\t\t\t\t\t \r\n\t\t\t\t\t\r\n\t\t\t\t\t\t湿度 \r\n\t\t\t\t\t\t49% \r\n\t\t\t\t\t \r\n\t\t\t\t \r\n\t\t\t \r\n\t\t \r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t请绑定护理单元~\r\n\t\t\t\t\t\t \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t \r\n\t\t\t\t\t\t\t\t \r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t云绑定\r\n\t\t\t\t\t\t\t\t \r\n\t\t\t\t\t\t\t \r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t \r\n\t\t\t\t\t\t\t\t \r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t扫码绑定\r\n\t\t\t\t\t\t\t\t \r\n\t\t\t\t\t\t\t \r\n\t\t\t\t\t\t \r\n\t\t\t\t\t \r\n\t\t\t\t \r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t请添加长者信息\r\n\t\t\t\t\t\t \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t+添加长者\r\n\t\t\t\t\t\t\t \r\n\t\t\t\t\t\t \r\n\t\t\t\t\t \r\n\t\t\t\t \r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t单元清洁服务指令已执行完毕,点击查看\r\n\t\t\t\t\t\t \r\n\t\t\t\t\t\t \r\n\t\t\t\t\t \r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t \r\n\t\t\t\t\t\t\t{{item}} \r\n\r\n\t\t\t\t\t\t \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t+ \r\n\t\t\t\t\t\t \r\n\t\t\t\t\t \r\n\t\t\t\t \r\n\t\t\t \r\n\t\t \r\n\r\n\t\t\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t \r\n\t\t\t\t\r\n\t\t\t\t\t+\r\n\t\t\t\t \r\n\t\t\t \r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t \r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{item}}\r\n\t\t\t\t\t \r\n\t\t\t\t \r\n\t\t\t\t\r\n\t\t\t \r\n\t\t \r\n\t \r\n \r\n\r\n\r\n\r\n","import MiniProgramPage from 'D:/officialAccount/pages/index/index.vue'\nwx.createPage(MiniProgramPage)"],"names":["ref","uni","onMounted","onUnmounted"],"mappings":";;AA8LC,MAAM,KAAK;;;;AACX,UAAM,YAAY,CAAC,MAAM,MAAM,IAAI;AACnC,UAAM,cAAcA,cAAAA,IAAI,CAAC,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,MAAM,CAAC;AAChF,UAAM,aAAaA,kBAAI,CAAC;AACxB,UAAM,QAAQA,kBAAI,CAAC;AACnB,UAAM,UAAUA,cAAG,IAAC,KAAK;AAEzB,aAAS,UAAU;AAClBC,oBAAAA,MAAI,aAAa;AAAA,QAChB,MAAM,CAAC,EAAE;AAAA;AAAA;AAAA,MAEZ,CAAG;AAAA,IACD;AACD,UAAM,SAAS,MAAM;AACpBA,oBAAAA,MAAI,WAAW;AAAA,QACd,KAAK;AAAA,MACR,CAAG;AAAA,IACD;AACD,UAAM,QAAQD,cAAG,IAAC,IAAI;AACtB,UAAM,MAAMA,cAAG,IAAC,IAAI;AACpB,UAAM,UAAUA,cAAG,IAAC,IAAI;AACxB,UAAM,UAAU,CAAC,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,IAAI;AACzD,UAAM,QAAQA,cAAG,IAAC,IAAI;AACtB,UAAM,UAAUA,cAAG,IAAC,IAAI;AACxB,UAAM,UAAUA,cAAG,IAAC,IAAI;AACxB,QAAI,QAAQ;AAEZ,aAAS,aAAa;AACrB,YAAM,MAAM,oBAAI,KAAM;AAEtB,YAAM,QAAQ,OAAO,IAAI,aAAa,CAAC,EAAE,SAAS,GAAG,GAAG;AACxD,UAAI,QAAQ,OAAO,IAAI,QAAO,CAAE,EAAE,SAAS,GAAG,GAAG;AACjD,cAAQ,QAAQ,QAAQ,IAAI,OAAM,CAAE;AAEpC,YAAM,QAAQ,OAAO,IAAI,SAAQ,CAAE,EAAE,SAAS,GAAG,GAAG;AACpD,cAAQ,QAAQ,OAAO,IAAI,WAAU,CAAE,EAAE,SAAS,GAAG,GAAG;AACxD,cAAQ,QAAQ,OAAO,IAAI,WAAU,CAAE,EAAE,SAAS,GAAG,GAAG;AAAA,IACxD;AACD,UAAM,YAAYA,kBAAI,CAAC;AACvB,UAAM,eAAe,CAAC,QAAQ;AAC7B,gBAAU,QAAQ,IAAI,OAAO;AAAA,IAE7B;AACD,UAAM,YAAY,MAAM;AACvBC,oBAAAA,MAAI,WAAW;AAAA,QACd,KAAK;AAAA,MACR,CAAG;AAAA,IACD;AACD,UAAM,UAAU,MAAM;AACrBA,oBAAAA,MAAI,WAAW;AAAA,QACd,KAAK;AAAA,MACR,CAAG;AAAA,IACD;AAED,UAAM,WAAWD,cAAG,IAAC,EAAE;AACvB,UAAM,WAAWA,cAAG,IAAC,KAAK;AAC1B,QAAI,cAAc;AAClB,mBAAe,aAAa;AAC3B,UAAI,eAAe,SAAS,OAAO;AAClC,YAAI;AACH,gBAAM,YAAY,KAAM;AAAA,QACxB,SAAQ,GAAG;AACXC,wBAAAA,MAAa,MAAA,QAAA,gCAAA,UAAU,CAAC;AAAA,QACxB;AAAA,MACD;AACD,eAAS,QAAQ;AAAA,IACjB;AAED,aAAS,aAAa;AAErB,UAAI,eAAe,SAAS,OAAO;AAClC,oBAAY,KAAI,EAAG,MAAM,MAAM;AAAA,QAAE,CAAA,EAAE,QAAQ,MAAM;AAChD,mBAAS,QAAQ;AAAA,QACrB,CAAI;AACD;AAAA,MACA;AAGD,eAAS,QAAQ;AACjB,eAAS,QAAQ;AAGjB,oBAAc,IAAI,YAAY,QAAQ;AAGtC,YAAM,SAAS;AAAA,QACd,KAAK;AAAA,QACL,OAAO;AAAA,UACN,OAAO;AAAA,UACP,QAAQ;AAAA,QACR;AAAA,MACD;AAED,kBAAY;AAAA,QAAM;AAAA,UAChB,YAAY;AAAA,QACZ;AAAA;AAAA,QACD;AAAA,QACA,iBAAe;AAEd,mBAAS,QAAQ;AAEjB,sBAAY,KAAI,EAAG,MAAM,QAAQ,IAAI,EAAE,QAAQ,MAAM;AACpD,qBAAS,QAAQ;AAAA,UACtB,CAAK;AAAA,QACD;AAAA,QACD,kBAAgB;AAAA,QAEf;AAAA,MACJ,EAAI,MAAM,SAAO;AACdA,sBAAAA,MAAA,MAAA,SAAA,gCAAc,UAAU,GAAG;AAC3B,iBAAS,QAAQ;AAAA,MACpB,CAAG;AAAA,IACD;AAED,UAAM,YAAY,MAAM;AACvBA,oBAAAA,MAAI,WAAW;AAAA,QACd,KAAK;AAAA,MACR,CAAG;AAAA,IAED;AAED,UAAM,SAAS,MAAM;AACpBA,oBAAAA,MAAI,aAAc;AAAA,IAClB;AAEDC,kBAAAA,UAAU,YAAY;AACrB,iBAAY;AACZ,cAAQ,YAAY,YAAY,GAAI;AAAA,IACtC,CAAE;AAEDC,kBAAAA,YAAY,MAAM;AACjB,oBAAc,KAAK;AACnB,qBAAe,YAAY,KAAI,EAAG,MAAM,QAAQ,IAAI;AAAA,IACtD,CAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AClUF,GAAG,WAAW,eAAe;"}
\ No newline at end of file
+{"version":3,"file":"index.js","sources":["pages/index/index.vue","../Hbuilder/HBuilderX/plugins/uniapp-cli-vite/uniPage:/cGFnZXMvaW5kZXgvaW5kZXgudnVl"],"sourcesContent":["\r\n\t\r\n\t\t \r\n\t\t\r\n\t\t\r\n\t\t\t\r\n\t\t\t \r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t \r\n\t\t \r\n\t\t\r\n\t\t\t \r\n\t\t \r\n\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t \r\n\t\t\t \r\n\t\t\t\r\n\t\t\t\t \r\n\t\t\t \r\n\t\t\t\r\n\t\t\t\t \r\n\t\t\t \r\n\t\t\t\r\n\t\t\t\t \r\n\t\t\t \r\n\t\t \r\n\t\t\r\n\t\t\t\r\n\t\t\t\t \r\n\t\t\t\t \r\n\t\t\t \r\n\t\t \r\n\t\t\r\n\t\t\t\r\n\t\t\t\t \r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t扫描机构二维码\r\n\t\t\t\t\t \r\n\t\t\t\t\t\r\n\t\t\t\t\t\t持续搜索中...\r\n\t\t\t\t\t \r\n\t\t\t\t \r\n\t\t\t\t\r\n\t\t\t\t\t返回\r\n\t\t\t\t \r\n\t\t\t\t\r\n\t\t\t \r\n\r\n\t\t\t\r\n\t\t\t\t扫描结果:{{ qrResult }}\r\n\t\t\t \r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t \r\n\t\t\t\t\t \r\n\t\t\t\t \r\n\t\t\t\t\r\n\t\t\t\t\t扫描二维码\r\n\t\t\t\t \r\n\t\t\t \r\n\r\n\t\t \r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{ hours }}:{{ minutes }}:{{ seconds }}\r\n\t\t\t\t\t \r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{ month }}月{{ day }}日 {{ weekday }}\r\n\t\t\t\t\t \r\n\t\t\t\t \r\n\t\t\t\t \r\n\t\t\t\t\r\n\t\t\t\t\t \r\n\t\t\t\t\t\r\n\t\t\t\t\t\t温度 \r\n\t\t\t\t\t\t16℃ \r\n\t\t\t\t\t \r\n\t\t\t\t\t \r\n\t\t\t\t\t\r\n\t\t\t\t\t\t湿度 \r\n\t\t\t\t\t\t49% \r\n\t\t\t\t\t \r\n\t\t\t\t \r\n\t\t\t \r\n\t\t \r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t请绑定护理单元~\r\n\t\t\t\t\t\t \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t \r\n\t\t\t\t\t\t\t\t \r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t云绑定\r\n\t\t\t\t\t\t\t\t \r\n\t\t\t\t\t\t\t \r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t \r\n\t\t\t\t\t\t\t\t \r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t扫码绑定\r\n\t\t\t\t\t\t\t\t \r\n\t\t\t\t\t\t\t \r\n\t\t\t\t\t\t \r\n\t\t\t\t\t \r\n\t\t\t\t \r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t请添加长者信息\r\n\t\t\t\t\t\t \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t+添加长者\r\n\t\t\t\t\t\t\t \r\n\t\t\t\t\t\t \r\n\t\t\t\t\t \r\n\t\t\t\t \r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t单元清洁服务指令已执行完毕,点击查看\r\n\t\t\t\t\t\t \r\n\t\t\t\t\t\t \r\n\t\t\t\t\t \r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t \r\n\t\t\t\t\t\t\t{{item}} \r\n\r\n\t\t\t\t\t\t \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t+ \r\n\t\t\t\t\t\t \r\n\t\t\t\t\t \r\n\t\t\t\t \r\n\t\t\t \r\n\t\t \r\n\r\n\t\t\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t \r\n\t\t\t\t\r\n\t\t\t\t\t+\r\n\t\t\t\t \r\n\t\t\t \r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t \r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{item}}\r\n\t\t\t\t\t \r\n\t\t\t\t \r\n\t\t\t\t\r\n\t\t\t \r\n\t\t \r\n\t \r\n \r\n\r\n\r\n\r\n","import MiniProgramPage from 'D:/officialAccount/pages/index/index.vue'\nwx.createPage(MiniProgramPage)"],"names":["ref","uni","onMounted","onUnmounted"],"mappings":"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"}
\ No newline at end of file
diff --git a/unpackage/dist/dev/.sourcemap/mp-weixin/pages/login/callback.js.map b/unpackage/dist/dev/.sourcemap/mp-weixin/pages/login/callback.js.map
index 3ec8080..3d4fb9c 100644
--- a/unpackage/dist/dev/.sourcemap/mp-weixin/pages/login/callback.js.map
+++ b/unpackage/dist/dev/.sourcemap/mp-weixin/pages/login/callback.js.map
@@ -1 +1 @@
-{"version":3,"file":"callback.js","sources":["pages/login/callback.vue","../Hbuilder/HBuilderX/plugins/uniapp-cli-vite/uniPage:/cGFnZXMvbG9naW4vY2FsbGJhY2sudnVl"],"sourcesContent":["\r\n\t\r\n\t\t \r\n\t\t\r\n\t\t\t页面跳转中,请稍后...\r\n\t\t \r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t \r\n\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n \r\n\r\n\r\n\r\n","import MiniProgramPage from 'D:/officialAccount/pages/login/callback.vue'\nwx.createPage(MiniProgramPage)"],"names":["ref","reactive","base_url","uni","onLoad"],"mappings":";;;;;;AAyDoBA,kBAAAA,IAAI,CAAC;AAOxB,UAAM,QAAQC,cAAAA,SAAS;AAAA,MACtB,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,aAAa;AAAA,IACf,CAAE;AAOD,UAAM,YAAY,CAAC,SAAS;AAC3B,YAAM,MAAM,GAAGC,cAAQ,QAAA,gCAAgC,mBAAmB,IAAI,CAAC;AAE/E,YAAM,GAAG,EACP,KAAK,SAAO,IAAI,MAAM,EACtB,KAAK,UAAQ;AACb,cAAM,OAAO,KAAK,KAAK;AACvB,cAAM,SAAS,KAAK,KAAK;AACzB,cAAM,cAAc,KAAK;AACzBC,sBAAAA,MAAI,WAAW;AAAA,UACd,KAAK;AAAA,UACL,MAAM;AAAA,YACL,QAAQ,KAAK,KAAK;AAAA,YAClB,aAAa,KAAK;AAAA,UAClB;AAAA,QACN,CAAK;AACD,uBAAgB;AAAA,MAEpB,CAAI,EACA,MAAM,SAAO;AACbA,sBAAc,MAAA,MAAA,SAAA,kCAAA,eAAe,GAAG;AAAA,MACpC,CAAI;AAAA,IACF;AAEYH,kBAAAA,IAAI,EAAE;AACnB,UAAM,iBAAiB,MAAM;AAC5B,YAAM,MACL,GAAGE,cAAQ,QAAA,mDAAmD,mBAAmB,MAAM,MAAM,CAAC;AAC/F,YAAM,GAAG,EACP,KAAK,SAAO,IAAI,MAAM,EACtB,KAAK,UAAQ;AACbC,sBAAAA,sDAAY,UAAU,IAAI;AAC1BA,sBAAG,MAAC,eAAe,SAAS,KAAK,OAAO,KAAK;AAC7CA,sBAAG,MAAC,eAAe,aAAa,KAAK,OAAO,SAAS;AACrDA,sBAAA,MAAA,MAAA,OAAA,mCAAY,cAAa,KAAK,OAAO,KAAK;AA6C1C,YAAG,CAAC,KAAK,OAAO,KAAI;AACnBA,wBAAAA,MAAI,WAAW;AAAA,YACd,KAAK;AAAA,UACX,CAAM;AAAA,QACN,OAAS;AACJA,wBAAAA,MAAI,WAAW;AAAA,YACd,KAAK;AAAA,UACX,CAAM;AACDA,wBAAG,MAAC,eAAe,OAAO,KAAK,OAAO,GAAG;AAAA,QACzC;AACD,iBAAU;AAAA,MACd,CAAI;AAAA,IAEF;AACD,UAAM,aAAaH,kBAAI,CAAA,CAAE;AACzB,UAAM,WAAW,MAAM;AACtB,YAAM,MAAM,GAAGE,cAAQ,QAAA;AACvB,YAAM,GAAG,EACP,KAAK,SAAO,IAAI,MAAM,EACtB,KAAK,UAAQ;AACb,mBAAW,QAAQ,CAAC,GAAG,IAAI;AAC3BC,sBAAA,MAAA,MAAA,OAAA,mCAAY,QAAQ,WAAW,KAAK;AAAA,MACxC,CAAI;AAAA,IACF;AACmBH,kBAAAA,IAAI,CAAA,CAAE;AAoC1BI,kBAAAA,OAAO,MAAM;;AACZ,YAAM,OAAO,OAAO,SAAS;AAC7B,YAAM,eAAc,UAAK,MAAM,GAAG,EAAE,CAAC,MAAjB,mBAAoB,MAAM,KAAK;AACnD,YAAM,QAAQ,CAAA;AAEd,UAAI,aAAa;AAChB,oBAAY,MAAM,GAAG,EAAE,QAAQ,UAAQ;AACtC,gBAAM,CAAC,KAAK,KAAK,IAAI,KAAK,MAAM,GAAG;AACnC,gBAAM,GAAG,IAAI,mBAAmB,KAAK;AAAA,QACzC,CAAI;AAAA,MACD;AAEDD,oBAAY,MAAA,MAAA,OAAA,mCAAA,kBAAkB,KAAK;AAEnC,UAAI,MAAM,MAAM;AACf,kBAAU,MAAM,IAAI;AAAA,MAEpB;AAAA,IACH,CAAE;;;;;;;ACvOF,GAAG,WAAW,eAAe;"}
\ No newline at end of file
+{"version":3,"file":"callback.js","sources":["pages/login/callback.vue","../Hbuilder/HBuilderX/plugins/uniapp-cli-vite/uniPage:/cGFnZXMvbG9naW4vY2FsbGJhY2sudnVl"],"sourcesContent":["\r\n\t\r\n\t\t \r\n\t\t\r\n\t\t\t页面跳转中,请稍后...\r\n\t\t \r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t \r\n\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n \r\n\r\n\r\n\r\n","import MiniProgramPage from 'D:/officialAccount/pages/login/callback.vue'\nwx.createPage(MiniProgramPage)"],"names":["uni","getOpenid","res","getMessage","onLoad"],"mappings":";;;;;;AA0NC,UAAM,aAAa,MAAM;AACxBA,oBAAAA,MAAI,MAAM;AAAA,QACT,UAAU;AAAA,QACV,QAAQ,KAAK;AACZC,uBAAAA,UAAU,IAAI,IAAI,EAAE,KAAK,CAAAC,SAAO;AAC/B,gBAAI,SAASA,KAAI,KAAK;AACtBF,gCAAI,eAAe,UAAU,MAAM;AACnCG,yBAAAA,WAAW,MAAM,EAAE,KAAK,CAAAD,SAAO;AAI9B,kBAAG,CAACA,KAAI,OAAO,KAAI;AAClBF,8BAAAA,MAAI,WAAW;AAAA,kBACd,KAAK;AAAA,gBACb,CAAQ;AAAA,cACR,OAAW;AAOJ,oBAAGA,cAAG,MAAC,eAAe,SAAS,GAAE;AAChCA,gCAAG,MAAC,eAAe,OAAOE,KAAI,OAAO,GAAG;AACxCF,gCAAG,MAAC,eAAe,SAASE,KAAI,OAAO,KAAK;AAC5CF,gCAAG,MAAC,eAAe,aAAaE,KAAI,OAAO,SAAS;AACpDF,gCAAAA,MAAI,WAAW;AAAA,oBACd,KAAK;AAAA,kBACd,CAAS;AAAA,gBACT,OAAY;AACJA,gCAAG,MAAC,eAAe,OAAOE,KAAI,OAAO,GAAG;AACxCF,gCAAG,MAAC,eAAe,SAASE,KAAI,OAAO,KAAK;AAC5CF,gCAAG,MAAC,eAAe,aAAaE,KAAI,OAAO,SAAS;AACpDF,gCAAAA,MAAI,WAAW;AAAA,oBACd,KAAK;AAAA,kBACd,CAAS;AAAA,gBACD;AAAA,cACD;AAAA,YACP,CAAM;AAAA,UACN,CAAK;AAAA,QACD;AAAA,QACD,KAAK,KAAK;AACTA,wBAAc,MAAA,MAAA,SAAA,mCAAA,eAAe,GAAG;AAAA,QAChC;AAAA,MACJ,CAAG;AAAA,IACD;AACDI,kBAAM,OAAC,CAAC,YAAY;AACnB;AACA,UAAG,QAAQ,MAAK;AACfJ,sBAAAA,MAAI,eAAe,WAAW,IAAI;AAAA,MACrC,OAAO;AACJA,sBAAAA,MAAI,eAAe,WAAW,KAAK;AAAA,MACnC;AAAA,IAkBH,CAAE;;;;;;;AC/RF,GAAG,WAAW,eAAe;"}
\ No newline at end of file
diff --git a/unpackage/dist/dev/.sourcemap/mp-weixin/pages/login/code.js.map b/unpackage/dist/dev/.sourcemap/mp-weixin/pages/login/code.js.map
index 3d78764..22943b7 100644
--- a/unpackage/dist/dev/.sourcemap/mp-weixin/pages/login/code.js.map
+++ b/unpackage/dist/dev/.sourcemap/mp-weixin/pages/login/code.js.map
@@ -1 +1 @@
-{"version":3,"file":"code.js","sources":["pages/login/code.vue","../Hbuilder/HBuilderX/plugins/uniapp-cli-vite/uniPage:/cGFnZXMvbG9naW4vY29kZS52dWU"],"sourcesContent":["\n\t\n\t\t\n\t\t \n\t\t \n\t\t\n\t\t\n\t\t\t\n\t\t\t\t请输入验证码\n\t\t\t \n\t\t\t\n\t\t\t\t验证码已发送到\n\t\t\t\t\n\t\t\t\t\t{{ mobile }}\n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t \n\t\t\r\n\t\t\t \n\t\t\t\n\t\t \n\t\t\n\n\t\t\t\n\t\t\t\t重新发送\n\t\t\t \n\t\t\t\n\t\t\t\n\t\t\t \t {{countdown}}秒 后重新发送\n\t\t\t \n\t\t\t\n\t\t\t\t收不到验证码?\n\t\t\t \n\t\t \n\t\t\n\t\t\n\t\t\n\t\t\t \n\t\t\n\t\t\n\t\t\t\n\t\t\t\t收不到验证码 \n\t\t\t\t\n\t\t\t\t\t手机号可正常使用: \n\t\t\t\t\t1 是否输错手机号 \n\t\t\t\t\t2 手机是否设置短信拦截/欠费/信号不好 \n\t\t\t\t\t3 手机内存是否满了 \n\t\t\t\t\t4 手机卡是否为物联卡,而非SIM卡 \n\t\t\t\t \n\t\t\t \n\t\t\n\t \n \n\n\n\n","import MiniProgramPage from 'D:/officialAccount/pages/login/code.vue'\nwx.createPage(MiniProgramPage)"],"names":["ref","uni","checkPhoneCode","getMessage","res","smsCode","onUnmounted","onLoad"],"mappings":";;;;;;;;;;;;;;AAuFC,UAAM,SAASA,cAAG,IAAC,EAAE;AACrB,UAAM,SAASA,cAAG,IAAC,EAAE;AACLA,kBAAAA,IAAI,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC;AACpC,UAAM,eAAeA,cAAAA,IAAI,EAAE;AAC3B,UAAM,cAAcA,kBAAI,KAAK;AAE7B,UAAM,YAAYA,cAAG,IAAC,oBAAoB;AAE1C,aAAS,aAAa;AACrB,kBAAY,QAAQ;AAAA,IACpB;AAWD,UAAM,aAAa,CAAC,QAAQ;AAE3B,oBAAc,GAAG;AAAA,IACjB;AA+DD,UAAM,YAAYA,cAAG,IAAC,EAAE;AAExB,UAAM,gBAAgB,CAAC,SAAS;AAC/B,YAAM,OAAO;AACb,UAAI,KAAK,WAAW,GAAG;AACtB,YAAI,SAASC,cAAAA,MAAI,eAAe,QAAQ;AACxC,YAAI,UAAU,SAAS,MAAM;AAC5B,oBAAU,QAAQ;AAClBC,sCAAe;AAAA,YACd,QAAQ,OAAO;AAAA,YACf,QAAQ;AAAA,YACR,SAAS;AAAA,UACd,CAAK,EAAE,KAAK,SAAO;AACd,gBAAI,IAAI,SAAS;AAChBC,2BAAAA,WAAW,MAAM,EAAE,KAAK,CAAAC,SAAO;AAC9BH,8BAAG,MAAC,eAAe,OAAOG,KAAI,OAAO,GAAG;AACxCH,8BAAG,MAAC,eAAe,SAASG,KAAI,OAAO,KAAK;AAC5CH,8BAAG,MAAC,eAAe,aAAaG,KAAI,OAAO,SAAS;AACpDH,8BAAAA,MAAI,WAAW;AAAA,kBACd,KAAK;AAAA,gBACb,CAAQ;AAAA,cACR,CAAO;AAAA,YACP,OAAY;AACNA,4BAAAA,MAAI,UAAU;AAAA,gBACb,OAAO;AAAA,gBACP,MAAM;AAAA;AAAA,gBACN,UAAU;AAAA;AAAA,cACjB,CAAO;AAAA,YACD;AAAA,UACN,CAAK;AAAA,QACD;AAAA,MAEJ,OAAS;AACNA,sBAAAA,MAAY,MAAA,OAAA,+BAAA,UAAU;AAAA,MACtB;AAAA,IACH;AAEC,UAAM,UAAU,MAAM;AAErBI,2BAAQ;AAAA,QACP,QAAQ,OAAO;AAAA,QACf,QAAQ,OAAO;AAAA,QACf,SAAS;AAAA,MACZ,CAAG,EAAE,KAAK,SAAO;AACd,YAAI,IAAI,SAAS;AAChBJ,wBAAAA,MAAI,UAAU;AAAA,YACb,OAAO;AAAA,YACP,MAAM;AAAA;AAAA,YACN,UAAU;AAAA;AAAA,UACf,CAAK;AACD,uBAAa,QAAQ;AAErB,oBAAU,QAAQ;AAClB,oBAAU,YAAY,MAAM;AAC3B,gBAAI,UAAU,QAAQ,GAAG;AACxB,wBAAU;AAAA,YAChB,OAAY;AACN,4BAAc,OAAO;AACrB,wBAAU;AAAA,YACV;AAAA,UACD,GAAE,GAAI;AAAA,QACX,OAAU;AACNA,wBAAAA,MAAI,UAAU;AAAA,YACb,OAAO,IAAI;AAAA,YACX,MAAM;AAAA;AAAA,YACN,UAAU;AAAA;AAAA,UACf,CAAK;AAAA,QACD;AAAA,MACJ,CAAG;AAAA,IAED;AACD,UAAM,SAAS,MAAM;AACpBA,oBAAAA,MAAI,aAAc;AAAA,IAClB;AAED,UAAM,YAAYD,kBAAI,CAAC;AACvB,QAAI,UAAU;AAEdM,kBAAAA,YAAY,MAAM;AACjB,UAAI,SAAS;AACZ,sBAAc,OAAO;AAAA,MACrB;AAAA,IACH,CAAE;AAEDC,kBAAM,OAAC,CAAC,YAAY;AACnB,aAAO,QAAQ,QAAQ;AACvB,aAAO,QAAQ,QAAQ;AACvB,cAAS;AAAA,IACX,CAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACrQF,GAAG,WAAW,eAAe;"}
\ No newline at end of file
+{"version":3,"file":"code.js","sources":["pages/login/code.vue","../Hbuilder/HBuilderX/plugins/uniapp-cli-vite/uniPage:/cGFnZXMvbG9naW4vY29kZS52dWU"],"sourcesContent":["\n\t\n\t\t \n\t\t \n\t\t\n\t\t\t\n\t\t\t\t请输入验证码\n\t\t\t \n\t\t\t\n\t\t\t\t验证码已发送到\n\t\t\t\t\n\t\t\t\t\t{{ mobile }}\n\t\t\t\t \n\t\t\t \n\t\t \n\t\t\r\n\t\t\t \n\t\t \n\t\t\n\n\t\t\t\n\t\t\t\t重新发送\n\t\t\t \n\t\t\t\n\t\t\t\n\t\t\t \t {{countdown}}秒 后重新发送\n\t\t\t \n\t\t\t\n\t\t\t\t收不到验证码?\n\t\t\t \n\t\t \n\t\t\n\t\t\n\t\t\n\t\t\t \n\t\t\n\t\t\n\t\t\t\n\t\t\t\t收不到验证码 \n\t\t\t\t\n\t\t\t\t\t手机号可正常使用: \n\t\t\t\t\t1 是否输错手机号 \n\t\t\t\t\t2 手机是否设置短信拦截/欠费/信号不好 \n\t\t\t\t\t3 手机内存是否满了 \n\t\t\t\t\t4 手机卡是否为物联卡,而非SIM卡 \n\t\t\t\t \n\t\t\t \n\t\t\n\t \n \n\n\n\n","import MiniProgramPage from 'D:/officialAccount/pages/login/code.vue'\nwx.createPage(MiniProgramPage)"],"names":["ref","uni","checkPhoneCode","getMessage","res","smsCode","onUnmounted","onLoad"],"mappings":";;;;;;;;;;;;;;AAsEC,UAAM,SAASA,cAAG,IAAC,EAAE;AACrB,UAAM,SAASA,cAAG,IAAC,EAAE;AACLA,kBAAAA,IAAI,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC;AACpC,UAAM,eAAeA,cAAAA,IAAI,EAAE;AAC3B,UAAM,cAAcA,kBAAI,KAAK;AAE7B,UAAM,YAAYA,cAAG,IAAC,oBAAoB;AAE1C,aAAS,aAAa;AACrB,kBAAY,QAAQ;AAAA,IACpB;AAWD,UAAM,aAAa,CAAC,QAAQ;AAE3B,oBAAc,GAAG;AAAA,IACjB;AA+DD,UAAM,YAAYA,cAAG,IAAC,EAAE;AAExB,UAAM,gBAAgB,CAAC,SAAS;AAC/B,YAAM,OAAO;AACb,UAAI,KAAK,WAAW,GAAG;AACtB,YAAI,SAASC,cAAAA,MAAI,eAAe,QAAQ;AACxC,YAAI,UAAU,SAAS,MAAM;AAC5B,oBAAU,QAAQ;AAClBC,sCAAe;AAAA,YACd,QAAQ,OAAO;AAAA,YACf,QAAQ;AAAA,YACR,SAAS;AAAA,UACd,CAAK,EAAE,KAAK,SAAO;AACd,gBAAI,IAAI,SAAS;AAChBC,2BAAAA,WAAW,MAAM,EAAE,KAAK,CAAAC,SAAO;AAO9B,oBAAGH,cAAG,MAAC,eAAe,SAAS,GAAE;AAChCA,gCAAG,MAAC,eAAe,OAAOG,KAAI,OAAO,GAAG;AACxCH,gCAAG,MAAC,eAAe,SAASG,KAAI,OAAO,KAAK;AAC5CH,gCAAG,MAAC,eAAe,aAAaG,KAAI,OAAO,SAAS;AACpDH,gCAAAA,MAAI,WAAW;AAAA,oBACd,KAAK;AAAA,kBACd,CAAS;AAAA,gBACT,OAAY;AACJA,gCAAG,MAAC,eAAe,OAAOG,KAAI,OAAO,GAAG;AACxCH,gCAAG,MAAC,eAAe,SAASG,KAAI,OAAO,KAAK;AAC5CH,gCAAG,MAAC,eAAe,aAAaG,KAAI,OAAO,SAAS;AACpDH,gCAAAA,MAAI,WAAW;AAAA,oBACd,KAAK;AAAA,kBACd,CAAS;AAAA,gBACD;AAAA,cACR,CAAO;AAAA,YAEP,OAAY;AACNA,4BAAAA,MAAI,UAAU;AAAA,gBACb,OAAO;AAAA,gBACP,MAAM;AAAA;AAAA,gBACN,UAAU;AAAA;AAAA,cACjB,CAAO;AAAA,YACD;AAAA,UACN,CAAK;AAAA,QACD;AAAA,MAEJ,OAAS;AACNA,sBAAAA,MAAY,MAAA,OAAA,+BAAA,UAAU;AAAA,MACtB;AAAA,IACH;AAEC,UAAM,UAAU,MAAM;AAErBI,2BAAQ;AAAA,QACP,QAAQ,OAAO;AAAA,QACf,QAAQ,OAAO;AAAA,QACf,SAAS;AAAA,MACZ,CAAG,EAAE,KAAK,SAAO;AACd,YAAI,IAAI,SAAS;AAChBJ,wBAAAA,MAAI,UAAU;AAAA,YACb,OAAO;AAAA,YACP,MAAM;AAAA;AAAA,YACN,UAAU;AAAA;AAAA,UACf,CAAK;AACD,uBAAa,QAAQ;AAErB,oBAAU,QAAQ;AAClB,oBAAU,YAAY,MAAM;AAC3B,gBAAI,UAAU,QAAQ,GAAG;AACxB,wBAAU;AAAA,YAChB,OAAY;AACN,4BAAc,OAAO;AACrB,wBAAU;AAAA,YACV;AAAA,UACD,GAAE,GAAI;AAAA,QACX,OAAU;AACNA,wBAAAA,MAAI,UAAU;AAAA,YACb,OAAO,IAAI;AAAA,YACX,MAAM;AAAA;AAAA,YACN,UAAU;AAAA;AAAA,UACf,CAAK;AAAA,QACD;AAAA,MACJ,CAAG;AAAA,IAED;AACD,UAAM,SAAS,MAAM;AACpBA,oBAAAA,MAAI,aAAc;AAAA,IAClB;AAED,UAAM,YAAYD,kBAAI,CAAC;AACvB,QAAI,UAAU;AAEdM,kBAAAA,YAAY,MAAM;AACjB,UAAI,SAAS;AACZ,sBAAc,OAAO;AAAA,MACrB;AAAA,IACH,CAAE;AAEDC,kBAAM,OAAC,CAAC,YAAY;AACnB,aAAO,QAAQ,QAAQ;AACvB,aAAO,QAAQ,QAAQ;AACvB,cAAS;AAAA,IACX,CAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACpQF,GAAG,WAAW,eAAe;"}
\ No newline at end of file
diff --git a/unpackage/dist/dev/.sourcemap/mp-weixin/pages/login/index.js.map b/unpackage/dist/dev/.sourcemap/mp-weixin/pages/login/index.js.map
index 44d2f15..4deb462 100644
--- a/unpackage/dist/dev/.sourcemap/mp-weixin/pages/login/index.js.map
+++ b/unpackage/dist/dev/.sourcemap/mp-weixin/pages/login/index.js.map
@@ -1 +1 @@
-{"version":3,"file":"index.js","sources":["pages/login/index.vue","../Hbuilder/HBuilderX/plugins/uniapp-cli-vite/uniPage:/cGFnZXMvbG9naW4vaW5kZXgudnVl"],"sourcesContent":["\r\n\t\r\n\t\t \r\n\t\t \r\n\t\t\r\n\r\n\t\t\t\r\n\t\t\t\t一键登录\r\n\t\t\t \r\n\t\t\t\r\n\t\t\t\t \r\n\t\t\t\t同意护理单元 \r\n\t\t\t\t\r\n\t\t\t\t\t《使用条款》\r\n\t\t\t\t \r\n\t\t\t\t并授权NU获取本机号码 \r\n\t\t\t \r\n\r\n\t\t \r\n\t\t\r\n\t\t\r\n\t\t\t \r\n\t\t \r\n\r\n\t\t\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t服务协议及隐私保护 \r\n\t\t\t\t\r\n\t\t\t\t\t 为了更好地保障您的合法权益,请阅读并同意以下协议 \r\n\t\t\t\t\t《护理单元使用条款》 \r\n\t\t\t\t\t,同意后将自动登录。 \r\n\t\t\t\t \r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t不同意\r\n\t\t\t\t\t \r\n\t\t\t\t\t\r\n\t\t\t\t\t\t同意\r\n\t\t\t\t\t \r\n\t\t\t\t \r\n\t\t\t \r\n\t\t \r\n\t \r\n \r\n\r\n\r\n\r\n","import MiniProgramPage from 'D:/officialAccount/pages/login/index.vue'\nwx.createPage(MiniProgramPage)"],"names":["ref","uni","getOpenid","res","getMessage","onLoad"],"mappings":";;;;;;;;;;AA2DC,UAAM,WAAWA,kBAAI,KAAK;AAC1B,UAAM,cAAcA,kBAAI,KAAK;AAG7B,UAAM,YAAYA,cAAG,IAAC,oBAAoB;AAE1C,aAAS,aAAa;AACrB,kBAAY,QAAQ;AAAA,IACpB;AAED,UAAM,aAAa,MAAM;AACxBC,oBAAAA,MAAI,MAAM;AAAA,QACT,UAAU;AAAA,QACV,QAAQ,KAAK;AACZC,uBAAAA,UAAU,IAAI,IAAI,EAAE,KAAK,CAAAC,SAAO;AAC/B,gBAAI,SAASA,KAAI,KAAK;AACtBF,gCAAI,eAAe,UAAU,MAAM;AACnCG,yBAAAA,WAAW,MAAM,EAAE,KAAK,CAAAD,SAAO;AAI9B,kBAAG,CAACA,KAAI,OAAO;AAAI;AAAA,mBAEd;AACJF,8BAAG,MAAC,eAAe,OAAOE,KAAI,OAAO,GAAG;AACxCF,8BAAG,MAAC,eAAe,SAASE,KAAI,OAAO,KAAK;AAC5CF,8BAAG,MAAC,eAAe,aAAaE,KAAI,OAAO,SAAS;AACpDF,8BAAAA,MAAI,WAAW;AAAA,kBACd,KAAK;AAAA,gBACb,CAAQ;AAAA,cACD;AAAA,YACP,CAAM;AAAA,UACN,CAAK;AAAA,QACD;AAAA,QACD,KAAK,KAAK;AACTA,wBAAc,MAAA,MAAA,SAAA,+BAAA,eAAe,GAAG;AAAA,QAChC;AAAA,MACJ,CAAG;AAAA,IACD;AAGD,UAAM,UAAU,MAAM;AACrBA,oBAAAA,MAAI,MAAM;AAAA,QACT,UAAU;AAAA,QACV,QAAQ,KAAK;AACZC,uBAAAA,UAAU,IAAI,IAAI,EAAE,KAAK,CAAAC,SAAO;AAC/B,gBAAI,SAASA,KAAI,KAAK;AACtBF,gCAAI,eAAe,UAAU,MAAM;AACnCG,yBAAAA,WAAW,MAAM,EAAE,KAAK,CAAAD,SAAO;AAI9B,kBAAG,CAACA,KAAI,OAAO,KAAI;AAClBF,8BAAAA,MAAI,WAAW;AAAA,kBACd,KAAK;AAAA,gBACb,CAAQ;AAAA,cACR,OAAW;AACJA,8BAAG,MAAC,eAAe,OAAOE,KAAI,OAAO,GAAG;AACxCF,8BAAG,MAAC,eAAe,SAASE,KAAI,OAAO,KAAK;AAC5CF,8BAAG,MAAC,eAAe,aAAaE,KAAI,OAAO,SAAS;AACpDF,8BAAAA,MAAI,WAAW;AAAA,kBACd,KAAK;AAAA,gBACb,CAAQ;AAAA,cACD;AAAA,YACP,CAAM;AAAA,UACN,CAAK;AAAA,QACD;AAAA,QACD,KAAK,KAAK;AACTA,wBAAc,MAAA,MAAA,SAAA,gCAAA,eAAe,GAAG;AAAA,QAChC;AAAA,MACJ,CAAG;AAAA,IACD;AAED,UAAM,UAAU,MAAM;AACrB,UAAI,CAAC,SAAS,OAAO;AACpB,oBAAY,QAAQ;AAAA,MACvB,OAAS;AACN,gBAAS;AAAA,MACT;AAAA,IACH;AACC,UAAM,YAAY,MAAM;AACvBA,oBAAAA,MAAI,WAAW;AAAA,QACd,KAAK;AAAA,MACR,CAAG;AAAA,IACD;AACDI,kBAAAA,OAAO,MAAI;AACV,iBAAY;AAAA,IACd,CAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACjJF,GAAG,WAAW,eAAe;"}
\ No newline at end of file
+{"version":3,"file":"index.js","sources":["pages/login/index.vue","../Hbuilder/HBuilderX/plugins/uniapp-cli-vite/uniPage:/cGFnZXMvbG9naW4vaW5kZXgudnVl"],"sourcesContent":["\r\n\t\r\n\t\t \r\n\t\t \r\n\t\t\r\n\r\n\t\t\t\r\n\t\t\t\t一键登录\r\n\t\t\t \r\n\t\t\t\r\n\t\t\t\t \r\n\t\t\t\t同意护理单元 \r\n\t\t\t\t\r\n\t\t\t\t\t《使用条款》\r\n\t\t\t\t \r\n\t\t\t\t并授权NU获取本机号码 \r\n\t\t\t \r\n\r\n\t\t \r\n\t\t\r\n\t\t\r\n\t\t\t \r\n\t\t \r\n\r\n\t\t\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t服务协议及隐私保护 \r\n\t\t\t\t\r\n\t\t\t\t\t 为了更好地保障您的合法权益,请阅读并同意以下协议 \r\n\t\t\t\t\t《护理单元使用条款》 \r\n\t\t\t\t\t,同意后将自动登录。 \r\n\t\t\t\t \r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t不同意\r\n\t\t\t\t\t \r\n\t\t\t\t\t\r\n\t\t\t\t\t\t同意\r\n\t\t\t\t\t \r\n\t\t\t\t \r\n\t\t\t \r\n\t\t \r\n\t \r\n \r\n\r\n\r\n\r\n","import MiniProgramPage from 'D:/officialAccount/pages/login/index.vue'\nwx.createPage(MiniProgramPage)"],"names":["ref","uni","getOpenid","res","getMessage","onLoad"],"mappings":";;;;;;;;;;AA2DC,UAAM,WAAWA,kBAAI,KAAK;AAC1B,UAAM,cAAcA,kBAAI,KAAK;AAG7B,UAAM,YAAYA,cAAG,IAAC,oBAAoB;AAE1C,aAAS,aAAa;AACrB,kBAAY,QAAQ;AAAA,IACpB;AAKD,UAAM,UAAU,MAAM;AACrBC,oBAAAA,MAAI,MAAM;AAAA,QACT,UAAU;AAAA,QACV,QAAQ,KAAK;AACZC,uBAAAA,UAAU,IAAI,IAAI,EAAE,KAAK,CAAAC,SAAO;AAC/B,gBAAI,SAASA,KAAI,KAAK;AACtBF,gCAAI,eAAe,UAAU,MAAM;AACnCG,yBAAAA,WAAW,MAAM,EAAE,KAAK,CAAAD,SAAO;AAI9B,kBAAG,CAACA,KAAI,OAAO,KAAI;AAClBF,8BAAAA,MAAI,WAAW;AAAA,kBACd,KAAK;AAAA,gBACb,CAAQ;AAAA,cACR,OAAW;AACJA,8BAAG,MAAC,eAAe,OAAOE,KAAI,OAAO,GAAG;AACxCF,8BAAG,MAAC,eAAe,SAASE,KAAI,OAAO,KAAK;AAC5CF,8BAAG,MAAC,eAAe,aAAaE,KAAI,OAAO,SAAS;AACpDF,8BAAAA,MAAI,WAAW;AAAA,kBACd,KAAK;AAAA,gBACb,CAAQ;AAAA,cAgBD;AAAA,YACP,CAAM;AAAA,UACN,CAAK;AAAA,QACD;AAAA,QACD,KAAK,KAAK;AACTA,wBAAc,MAAA,MAAA,SAAA,gCAAA,eAAe,GAAG;AAAA,QAChC;AAAA,MACJ,CAAG;AAAA,IACD;AAED,UAAM,UAAU,MAAM;AACrB,UAAI,CAAC,SAAS,OAAO;AACpB,oBAAY,QAAQ;AAAA,MACvB,OAAS;AACN,gBAAS;AAAA,MACT;AAAA,IACH;AACC,UAAM,YAAY,MAAM;AACvBA,oBAAAA,MAAI,WAAW;AAAA,QACd,KAAK;AAAA,MACR,CAAG;AAAA,IACD;AACDI,kBAAM,OAAC,CAAC,YAAU;AACjB,iBAAY;AAAA,IAMd,CAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACzIF,GAAG,WAAW,eAAe;"}
\ No newline at end of file
diff --git a/unpackage/dist/dev/.sourcemap/mp-weixin/pages/login/special.js.map b/unpackage/dist/dev/.sourcemap/mp-weixin/pages/login/special.js.map
new file mode 100644
index 0000000..eeda642
--- /dev/null
+++ b/unpackage/dist/dev/.sourcemap/mp-weixin/pages/login/special.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"special.js","sources":["pages/login/special.vue","../Hbuilder/HBuilderX/plugins/uniapp-cli-vite/uniPage:/cGFnZXMvbG9naW4vc3BlY2lhbC52dWU"],"sourcesContent":["\r\n\t\r\n\t\t\r\n\t\t\t尊敬的用户,你的手机{{ phonenumber }} 已成功绑定,欢迎加入护理单元大家庭!\r\n\t\t \r\n\t\t\r\n\t\t\t我的机构\r\n\t\t \r\n\t \r\n \r\n\r\n\r\n\r\n","import MiniProgramPage from 'D:/officialAccount/pages/login/special.vue'\nwx.createPage(MiniProgramPage)"],"names":["ref","uni","onLoad"],"mappings":";;;;;AAqBC,UAAM,cAAcA,kBAAI,EAAE;AAC1B,UAAM,SAAS,MAAM;AACpBC,oBAAAA,MAAI,WAAW;AAAA,QACd,KAAK;AAAA,MACR,CAAG;AAAA,IACD;AACDC,kBAAAA,OAAO,MAAI;AACV,kBAAY,QAAQD,oBAAI,eAAe,KAAK;AAAA,IAC9C,CAAE;;;;;;;;;;AC5BF,GAAG,WAAW,eAAe;"}
\ No newline at end of file
diff --git a/unpackage/dist/dev/.sourcemap/mp-weixin/pages/login/threeselectone.js.map b/unpackage/dist/dev/.sourcemap/mp-weixin/pages/login/threeselectone.js.map
index dca299b..15d5b3e 100644
--- a/unpackage/dist/dev/.sourcemap/mp-weixin/pages/login/threeselectone.js.map
+++ b/unpackage/dist/dev/.sourcemap/mp-weixin/pages/login/threeselectone.js.map
@@ -1 +1 @@
-{"version":3,"file":"threeselectone.js","sources":["pages/login/threeselectone.vue","../Hbuilder/HBuilderX/plugins/uniapp-cli-vite/uniPage:/cGFnZXMvbG9naW4vdGhyZWVzZWxlY3RvbmUudnVl"],"sourcesContent":["\r\n\t\r\n\t\t\r\n\t\t \r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\t恭喜您已成功绑定手机 {{phone}} ,现在您可以:\r\n\t\t \r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t长者入住\r\n\t\t\t\t \r\n\t\t\t\t\r\n\t\t\t\t\t护理单元日常护理涵盖生活照料、健康监测、康复护理及心理关怀,为老人提供贴心照护服务。\r\n\t\t\t\t \r\n\t\t\t\t\r\n\t\t\t\t\t申请入住\r\n\t\t\t\t \r\n\t\t\t \r\n\t\t\t\r\n\t\t\t\t \r\n\t\t\t \r\n\t\t \r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t员工入驻\r\n\t\t\t\t \r\n\t\t\t\t\r\n\t\t\t\t\t护理员严格按标准流程,定时为失能老人开展床旁照护,用专业与温情守护老人生活与健康。\r\n\t\t\t\t \r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t申请入驻\r\n\t\t\t\t\t \r\n\t\t\t\t \r\n\t\t\t \r\n\t\t\t\r\n\t\t\t\t \r\n\t\t\t \r\n\t\t \r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t机构加盟\r\n\t\t\t\t \r\n\t\t\t\t\r\n\t\t\t\t\t加盟我们,共享银发经济红利!依托成熟运营体系,标准化服务流程降低人力成本及管理开支,背靠品牌资源,助力企业快速实现营收增长。\r\n\t\t\t\t \r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t申请加盟\r\n\t\t\t\t\t \r\n\t\t\t\t \r\n\t\t\t\t\r\n\t\t\t \r\n\t\t\t\r\n\t\t\t\t \r\n\t\t\t \r\n\t\t \r\n\t\t\r\n\t\t\t关闭\r\n\t\t \r\n\t \r\n \r\n\r\n\r\n\r\n","import MiniProgramPage from 'D:/officialAccount/pages/login/threeselectone.vue'\nwx.createPage(MiniProgramPage)"],"names":["ref","uni","onLoad"],"mappings":";;;;;AAwHoBA,kBAAAA,IAAI,CAAC;AASxB,UAAM,cAAc,MAAM;AACzBC,oBAAAA,MAAI,WAAW;AAAA,QACd,KAAK;AAAA,MACR,CAAG;AAAA,IACD;AAMD,UAAM,UAAU,MAAM;AACrBA,oBAAAA,MAAI,eAAe,cAAc,EAAE;AACnCA,0BAAI,eAAe,WAAW,EAAE;AAChCA,oBAAAA,MAAI,WAAW;AAAA,QACd,KAAK;AAAA,MACR,CAAG;AAAA,IAID;AACD,UAAM,QAAQ,MAAM;AACnBA,0BAAI,gBAAgB,CAAA,CAAE;AAAA,IACtB;AACD,UAAM,QAAQD,cAAG,IAAC,EAAE;AACpBE,kBAAAA,OAAO,MAAM;AACZ,YAAM,QAAQD,cAAAA,MAAI,eAAe,KAAK;AAAA,IACxC,CAAE;;;;;;;;;;;;AC1JF,GAAG,WAAW,eAAe;"}
\ No newline at end of file
+{"version":3,"file":"threeselectone.js","sources":["pages/login/threeselectone.vue","../Hbuilder/HBuilderX/plugins/uniapp-cli-vite/uniPage:/cGFnZXMvbG9naW4vdGhyZWVzZWxlY3RvbmUudnVl"],"sourcesContent":["\r\n\t\r\n\t\t\r\n\t\t \r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\t恭喜您已成功绑定手机 {{phone}} ,现在您可以:\r\n\t\t \r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t长者入住\r\n\t\t\t\t \r\n\t\t\t\t\r\n\t\t\t\t\t护理单元日常护理涵盖生活照料、健康监测、康复护理及心理关怀,为老人提供贴心照护服务。\r\n\t\t\t\t \r\n\t\t\t\t\r\n\t\t\t\t\t申请入住\r\n\t\t\t\t \r\n\t\t\t \r\n\t\t\t\r\n\t\t\t\t \r\n\t\t\t \r\n\t\t \r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t员工入驻\r\n\t\t\t\t \r\n\t\t\t\t\r\n\t\t\t\t\t护理员严格按标准流程,定时为失能老人开展床旁照护,用专业与温情守护老人生活与健康。\r\n\t\t\t\t \r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t申请入驻\r\n\t\t\t\t\t \r\n\t\t\t\t \r\n\t\t\t \r\n\t\t\t\r\n\t\t\t\t \r\n\t\t\t \r\n\t\t \r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t机构加盟\r\n\t\t\t\t \r\n\t\t\t\t\r\n\t\t\t\t\t加盟我们,共享银发经济红利!依托成熟运营体系,标准化服务流程降低人力成本及管理开支,背靠品牌资源,助力企业快速实现营收增长。\r\n\t\t\t\t \r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t申请加盟\r\n\t\t\t\t\t \r\n\t\t\t\t \r\n\r\n\t\t\t \r\n\t\t\t\r\n\t\t\t\t \r\n\t\t\t \r\n\t\t \r\n\t\t\r\n\t\t\t关闭\r\n\t\t \r\n\t \r\n \r\n\r\n\r\n\r\n","import MiniProgramPage from 'D:/officialAccount/pages/login/threeselectone.vue'\nwx.createPage(MiniProgramPage)"],"names":["ref","uni","onLoad"],"mappings":";;;;;AAwHoBA,kBAAAA,IAAI,CAAC;AAQxB,UAAM,QAAQ,MAAM;AACnBC,oBAAAA,MAAI,WAAW;AAAA,QACd,KAAK;AAAA,MACR,CAAG;AAAA,IACD;AAED,UAAM,cAAc,MAAM;AACzBA,oBAAAA,MAAI,WAAW;AAAA,QACd,KAAK;AAAA,MACR,CAAG;AAAA,IACD;AAMD,UAAM,UAAU,MAAM;AACrBA,oBAAAA,MAAI,eAAe,cAAc,EAAE;AACnCA,0BAAI,eAAe,WAAW,EAAE;AAChCA,oBAAAA,MAAI,WAAW;AAAA,QACd,KAAK;AAAA,MACR,CAAG;AAAA,IAID;AACD,UAAM,QAAQ,MAAM;AACnBA,0BAAI,gBAAgB,CAAA,CAAE;AAAA,IACtB;AACD,UAAM,QAAQD,cAAG,IAAC,EAAE;AACpBE,kBAAAA,OAAO,MAAM;AACZ,YAAM,QAAQD,cAAAA,MAAI,eAAe,KAAK;AAAA,IACxC,CAAE;;;;;;;;;;;;;AC/JF,GAAG,WAAW,eAAe;"}
\ No newline at end of file
diff --git a/unpackage/dist/dev/.sourcemap/mp-weixin/pages/login/workjoin.js.map b/unpackage/dist/dev/.sourcemap/mp-weixin/pages/login/workjoin.js.map
index f0f2863..7b43739 100644
--- a/unpackage/dist/dev/.sourcemap/mp-weixin/pages/login/workjoin.js.map
+++ b/unpackage/dist/dev/.sourcemap/mp-weixin/pages/login/workjoin.js.map
@@ -1 +1 @@
-{"version":3,"file":"workjoin.js","sources":["pages/login/workjoin.vue","../Hbuilder/HBuilderX/plugins/uniapp-cli-vite/uniPage:/cGFnZXMvbG9naW4vd29ya2pvaW4udnVl"],"sourcesContent":["\r\n\t\r\n\r\n\t\t \r\n\t\t \r\n\t\t\r\n\t\t\t\r\n\t\t\t\t \r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{type=== `1` ? `机构加盟`:`员工入驻`}}\r\n\t\t\t\t\t \r\n\t\t\t\t\t\r\n\t\t\t\t\t\t护理院日常护理涵盖生活照料、健康监测、康复护理及心理关怀,为老人提供贴心照护。\r\n\t\t\t\t\t \r\n\t\t\t\t \r\n\t\t\t \r\n\t\t\t\r\n\t\t\t\t \r\n\t\t\t \r\n\t\t\t\r\n\t\t\t\t \r\n\t\t\t\t{{ type===\"1\" ? `机构加盟审核列表` : `员工入驻审核列表` }} \r\n\r\n\t\t\t \r\n\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{{item.comName}}申请入驻加盟护理单元,提交时间:{{item.updateTime}},审核结果:{{item.status==1 ? \"审核中\" :item.status==2?`审核完成`:item.status==3?`驳回`:`待提交` }}\r\n\t\t\t\t\t\t\t\t{{item.status==3?`,驳回备注:${item.content}`:``}}\r\n\t\t\t\t\t\t\t \r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t修改申请\r\n\t\t\t\t\t\t\t\t \r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t查看详情\r\n\t\t\t\t\t\t\t\t \r\n\t\t\t\t\t\t\t \r\n\r\n\t\t\t\t\t\t \r\n\t\t\t\t\t \r\n\t\t\t\t \r\n\t\t\t \r\n\t\t \r\n\t \r\n \r\n\r\n\r\n\r\n","import MiniProgramPage from 'D:/officialAccount/pages/login/workjoin.vue'\nwx.createPage(MiniProgramPage)"],"names":["ref","uni","getMessageList","onLoad"],"mappings":";;;;;;AAiEC,UAAM,OAAOA,cAAG,IAAC,CAAC;AAClB,UAAM,YAAYA,cAAG,IAAC,EAAE;AACxB,UAAM,eAAeA,cAAG,IAAC,KAAK;AAC9B,UAAM,YAAY,MAAM;AACtBC,oBAAAA,MAAY,MAAA,OAAA,kCAAA,SAAS;AACrB,mBAAa,QAAQ;AACtBC,kCAAc,eAACD,cAAG,MAAC,eAAe,KAAK,CAAC,EAAE,KAAK,SAAO;AACrD,kBAAU,QAAQ;AAClB,kBAAU,QAAQ,IAAI;AACrB,qBAAa,QAAQ;AAAA,MACzB,CAAG;AAAA,IACD;AAEDE,kBAAM,OAAC,CAAC,YAAY;AAEnB,WAAK,QAAQ,QAAQ,QAAQ;AAC7B,UAAI,KAAK,OAAO;AACfD,oCAAc,eAACD,cAAG,MAAC,eAAe,KAAK,CAAC,EAAE,KAAK,SAAO;AACrD,oBAAU,QAAQ,IAAI;AAAA,QAC1B,CAAI;AAAA,MACD;AAAA,IAEH,CAAE;AAGD,UAAM,SAAS,MAAM;AACpBA,oBAAAA,MAAI,aAAc;AAAA,IAClB;AAED,UAAM,QAAQ,CAAC,SAAS;AACvBA,0BAAI,eAAe,WAAW,IAAI;AAClCA,oBAAAA,MAAI,eAAe,cAAc,KAAK,EAAE;AACxCA,oBAAAA,MAAI,WAAW;AAAA,QACd,KAAK;AAAA,MACR,CAAG;AAAA,IACD;AAED,UAAM,YAAY,CAAC,YAAY;AAC9BA,oBAAAA,MAAI,WAAW;AAAA,QACd,KAAK,+BAA+B,KAAK,UAAU,OAAO,CAAC;AAAA,MAC9D,CAAG;AAAA,IACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACzGF,GAAG,WAAW,eAAe;"}
\ No newline at end of file
+{"version":3,"file":"workjoin.js","sources":["pages/login/workjoin.vue","../Hbuilder/HBuilderX/plugins/uniapp-cli-vite/uniPage:/cGFnZXMvbG9naW4vd29ya2pvaW4udnVl"],"sourcesContent":["\r\n\t\r\n\t\t\r\n\t\t\t \r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{{type=== `1` ? `机构加盟`:`员工入驻`}}\r\n\t\t\t\t \r\n\t\t\t\t\r\n\t\t\t\t\t护理院日常护理涵盖生活照料、健康监测、康复护理及心理关怀,为老人提供贴心照护。\r\n\t\t\t\t \r\n\t\t\t \r\n\t\t \r\n\t\t\r\n\t\t\t \r\n\t\t \r\n\t\t\r\n\t\t\t \r\n\t\t\t{{ type===\"1\" ? `机构加盟审核列表` : `员工入驻审核列表` }} \r\n\r\n\t\t \r\n\r\n\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{{item.comName}}申请入驻加盟护理单元,提交时间:{{item.updateTime}},审核结果:{{item.status==1 ? \"审核中\" :item.status==2?`审核完成`:item.status==3?`驳回`:`待提交` }}\r\n\t\t\t\t\t\t\t{{item.status==3?`,驳回备注:${item.content}`:``}}\r\n\t\t\t\t\t\t \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t修改申请\r\n\t\t\t\t\t\t\t \r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t查看详情\r\n\t\t\t\t\t\t\t \r\n\t\t\t\t\t\t \r\n\r\n\t\t\t\t\t \r\n\t\t\t\t \r\n\t\t \r\n\t \r\n \r\n\r\n\r\n\r\n","import MiniProgramPage from 'D:/officialAccount/pages/login/workjoin.vue'\nwx.createPage(MiniProgramPage)"],"names":["ref","onLoad","getMessageList","uni","onPullDownRefresh"],"mappings":";;;;;;AAyDC,UAAM,OAAOA,cAAG,IAAC,CAAC;AAClB,UAAM,YAAYA,cAAG,IAAC,EAAE;AAGxBC,kBAAM,OAAC,CAAC,YAAY;AAEnB,WAAK,QAAQ,QAAQ,QAAQ;AAC7B,UAAI,KAAK,OAAO;AACfC,oCAAc,eAACC,cAAG,MAAC,eAAe,KAAK,CAAC,EAAE,KAAK,SAAO;AACrD,oBAAU,QAAQ,IAAI;AAAA,QAC1B,CAAI;AAAA,MACD;AAAA,IAEH,CAAE;AAEDC,kBAAAA,kBAAkB,MAAI;AACrBF,kCAAc,eAACC,cAAG,MAAC,eAAe,KAAK,CAAC,EAAE,KAAK,SAAO;AACrD,kBAAU,QAAQ,IAAI;AACtBA,sBAAAA,MAAI,oBAAqB;AAAA,MAC5B,CAAG;AAAA,IACH,CAAE;AAED,UAAM,SAAS,MAAM;AACpBA,oBAAAA,MAAI,aAAc;AAAA,IAClB;AAED,UAAM,QAAQ,CAAC,SAAS;AACvBA,oBAAAA,MAAA,MAAA,OAAA,kCAAY,QAAQ,IAAI;AACxBA,0BAAI,eAAe,WAAW,IAAI;AAClCA,oBAAAA,MAAI,eAAe,cAAc,KAAK,EAAE;AACxCA,oBAAAA,MAAI,WAAW;AAAA,QACd,KAAK;AAAA,MACR,CAAG;AAAA,IACD;AAED,UAAM,YAAY,CAAC,YAAY;AAC9BA,oBAAAA,MAAI,WAAW;AAAA,QACd,KAAK,+BAA+B,KAAK,UAAU,OAAO,CAAC;AAAA,MAC9D,CAAG;AAAA,IACD;;;;;;;;;;;;;;;;;;;;;;;;;;AC/FF,GAAG,WAAW,eAAe;"}
\ No newline at end of file
diff --git a/unpackage/dist/dev/.sourcemap/mp-weixin/request/index.js.map b/unpackage/dist/dev/.sourcemap/mp-weixin/request/index.js.map
index 257edff..492775d 100644
--- a/unpackage/dist/dev/.sourcemap/mp-weixin/request/index.js.map
+++ b/unpackage/dist/dev/.sourcemap/mp-weixin/request/index.js.map
@@ -1 +1 @@
-{"version":3,"file":"index.js","sources":["request/index.js"],"sourcesContent":["// 全局请求封装\nexport const base_url = 'https://www.focusnu.com/nursingunit'\n// 请求超出时间\nconst timeout = 5000\n \n// 需要修改token,和根据实际修改请求头\nexport default (params) => {\n\tlet url = params.url;\n\tlet method = params.method || \"get\";\n\tlet data = params.data || {};\n\tlet header = {\n\t\t'X-Access-Token': uni.getStorageSync('token') || '',\n\t\t'Content-Type': 'application/json;charset=UTF-8',\n\t\t'Authorization': 'Basic c2FiZXI6c2FiZXJfc2VjcmV0',\r\n\t\t\n\t\t...params.header\n\t}\n\treturn new Promise((resolve, reject) => {\n\t\tuni.request({\n\t\t\turl: base_url + url,\n\t\t\tmethod: method,\n\t\t\theader: header,\n\t\t\tdata: data,\n timeout,\n\t\t\tsuccess(response) {\n\t\t\t\tconst res = response\n\t\t\t\t// 根据返回的状态码做出对应的操作\r\n\t\t\t\n\t\t\t\tif (res.statusCode == 200) {\n\t\t\t\t\tresolve(res.data);\n\t\t\t\t} else {\n\t\t\t\t\tuni.clearStorageSync()\n\t\t\t\t\tswitch (res.statusCode) {\n\t\t\t\t\t\tcase 401:\n\t\t\t\t\t\t\tuni.showModal({\n\t\t\t\t\t\t\t\ttitle: \"提示\",\n\t\t\t\t\t\t\t\tcontent: \"请登录\",\n\t\t\t\t\t\t\t\tshowCancel: false,\n\t\t\t\t\t\t\t\tsuccess() {\n\t\t\t\t\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\t\t\t\t\tuni.navigateTo({\n\t\t\t\t\t\t\t\t\t\t\turl: \"/pages/login/index\",\n\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t}, 1000);\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase 404:\n\t\t\t\t\t\t\tuni.showToast({\n\t\t\t\t\t\t\t\ttitle: '请求地址不存在...',\n\t\t\t\t\t\t\t\tduration: 2000,\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tuni.showToast({\n\t\t\t\t\t\t\t\ttitle: '请重试...',\n\t\t\t\t\t\t\t\tduration: 2000,\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tfail(err) {\n\t\t\t\tconsole.log(err)\n\t\t\t\tif (err.errMsg.indexOf('request:fail') !== -1) {\n\t\t\t\t\tuni.showToast({\n\t\t\t\t\t\ttitle: '网络异常',\n\t\t\t\t\t\ticon: \"error\",\n\t\t\t\t\t\tduration: 2000\n\t\t\t\t\t})\n\t\t\t\t} else {\n\t\t\t\t\tuni.showToast({\n\t\t\t\t\t\ttitle: '未知异常',\n\t\t\t\t\t\tduration: 2000\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t\treject(err);\n \n\t\t\t},\n\t\t\tcomplete() {\n\t\t\t\t// 不管成功还是失败都会执行\n\t\t\t\t// uni.hideLoading();\n\t\t\t\t// uni.hideToast();\n\t\t\t}\n\t\t});\n\t}).catch(() => {});\n};"],"names":["uni"],"mappings":";;AACY,MAAC,WAAW;AAExB,MAAM,UAAU;AAGhB,MAAe,UAAA,CAAC,WAAW;AAC1B,MAAI,MAAM,OAAO;AACjB,MAAI,SAAS,OAAO,UAAU;AAC9B,MAAI,OAAO,OAAO,QAAQ;AAC1B,MAAI,SAAS;AAAA,IACZ,kBAAkBA,cAAG,MAAC,eAAe,OAAO,KAAK;AAAA,IACjD,gBAAgB;AAAA,IAChB,iBAAiB;AAAA,IAEjB,GAAG,OAAO;AAAA,EACV;AACD,SAAO,IAAI,QAAQ,CAAC,SAAS,WAAW;AACvCA,kBAAAA,MAAI,QAAQ;AAAA,MACX,KAAK,WAAW;AAAA,MAChB;AAAA,MACA;AAAA,MACA;AAAA,MACS;AAAA,MACT,QAAQ,UAAU;AACjB,cAAM,MAAM;AAGZ,YAAI,IAAI,cAAc,KAAK;AAC1B,kBAAQ,IAAI,IAAI;AAAA,QACrB,OAAW;AACNA,wBAAAA,MAAI,iBAAkB;AACtB,kBAAQ,IAAI,YAAU;AAAA,YACrB,KAAK;AACJA,4BAAAA,MAAI,UAAU;AAAA,gBACb,OAAO;AAAA,gBACP,SAAS;AAAA,gBACT,YAAY;AAAA,gBACZ,UAAU;AACT,6BAAW,MAAM;AAChBA,kCAAAA,MAAI,WAAW;AAAA,sBACd,KAAK;AAAA,oBAChB,CAAW;AAAA,kBACD,GAAE,GAAI;AAAA,gBACP;AAAA,cACT,CAAQ;AACD;AAAA,YACD,KAAK;AACJA,4BAAAA,MAAI,UAAU;AAAA,gBACb,OAAO;AAAA,gBACP,UAAU;AAAA,cAClB,CAAQ;AACD;AAAA,YACD;AACCA,4BAAAA,MAAI,UAAU;AAAA,gBACb,OAAO;AAAA,gBACP,UAAU;AAAA,cAClB,CAAQ;AACD;AAAA,UACD;AAAA,QACD;AAAA,MACD;AAAA,MACD,KAAK,KAAK;AACTA,sBAAAA,6CAAY,GAAG;AACf,YAAI,IAAI,OAAO,QAAQ,cAAc,MAAM,IAAI;AAC9CA,wBAAAA,MAAI,UAAU;AAAA,YACb,OAAO;AAAA,YACP,MAAM;AAAA,YACN,UAAU;AAAA,UAChB,CAAM;AAAA,QACN,OAAW;AACNA,wBAAAA,MAAI,UAAU;AAAA,YACb,OAAO;AAAA,YACP,UAAU;AAAA,UAChB,CAAM;AAAA,QACD;AACD,eAAO,GAAG;AAAA,MAEV;AAAA,MACD,WAAW;AAAA,MAIV;AAAA,IACJ,CAAG;AAAA,EACH,CAAE,EAAE,MAAM,MAAM;AAAA,EAAA,CAAE;AAClB;;;"}
\ No newline at end of file
+{"version":3,"file":"index.js","sources":["request/index.js"],"sourcesContent":["// 全局请求封装\nexport const base_url = 'https://www.focusnu.com/nursingunit'\n// 请求超出时间\nconst timeout = 5000\n \n// 需要修改token,和根据实际修改请求头\nexport default (params) => {\n\tlet url = params.url;\n\tlet method = params.method || \"get\";\n\tlet data = params.data || {};\n\tlet header = {\n\t\t'X-Access-Token': uni.getStorageSync('token') || '',\n\t\t'Content-Type': 'application/json;charset=UTF-8',\n\t\t'Authorization': 'Basic c2FiZXI6c2FiZXJfc2VjcmV0',\r\n\t\t\n\t\t...params.header\n\t}\n\treturn new Promise((resolve, reject) => {\n\t\tuni.request({\n\t\t\turl: base_url + url,\n\t\t\tmethod: method,\n\t\t\theader: header,\n\t\t\tdata: data,\n timeout,\n\t\t\tsuccess(response) {\n\t\t\t\tconst res = response\n\t\t\t\t// 根据返回的状态码做出对应的操作\r\n\t\t\t\n\t\t\t\tif (res.statusCode == 200) {\n\t\t\t\t\tresolve(res.data);\n\t\t\t\t} else {\n\t\t\t\t\tuni.clearStorageSync()\n\t\t\t\t\tswitch (res.statusCode) {\n\t\t\t\t\t\tcase 401:\n\t\t\t\t\t\t\tuni.showModal({\n\t\t\t\t\t\t\t\ttitle: \"提示\",\n\t\t\t\t\t\t\t\tcontent: \"请登录\",\n\t\t\t\t\t\t\t\tshowCancel: false,\n\t\t\t\t\t\t\t\tsuccess() {\n\t\t\t\t\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\t\t\t\t\tuni.navigateTo({\n\t\t\t\t\t\t\t\t\t\t\turl: \"/pages/login/index\",\n\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t}, 1000);\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase 404:\n\t\t\t\t\t\t\tuni.showToast({\n\t\t\t\t\t\t\t\ttitle: '请求地址不存在...',\n\t\t\t\t\t\t\t\tduration: 2000,\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tuni.showToast({\n\t\t\t\t\t\t\t\ttitle: '请重试...',\n\t\t\t\t\t\t\t\tduration: 2000,\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tfail(err) {\n\t\t\t\tif (err.errMsg.indexOf('request:fail') !== -1) {\n\t\t\t\t\tuni.showToast({\n\t\t\t\t\t\ttitle: '网络异常',\n\t\t\t\t\t\ticon: \"error\",\n\t\t\t\t\t\tduration: 2000\n\t\t\t\t\t})\n\t\t\t\t} else {\n\t\t\t\t\tuni.showToast({\n\t\t\t\t\t\ttitle: '未知异常',\n\t\t\t\t\t\tduration: 2000\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t\treject(err);\n \n\t\t\t}\n\t\t});\n\t}).catch(() => {});\n};"],"names":["uni"],"mappings":";;AACY,MAAC,WAAW;AAExB,MAAM,UAAU;AAGhB,MAAe,UAAA,CAAC,WAAW;AAC1B,MAAI,MAAM,OAAO;AACjB,MAAI,SAAS,OAAO,UAAU;AAC9B,MAAI,OAAO,OAAO,QAAQ;AAC1B,MAAI,SAAS;AAAA,IACZ,kBAAkBA,cAAG,MAAC,eAAe,OAAO,KAAK;AAAA,IACjD,gBAAgB;AAAA,IAChB,iBAAiB;AAAA,IAEjB,GAAG,OAAO;AAAA,EACV;AACD,SAAO,IAAI,QAAQ,CAAC,SAAS,WAAW;AACvCA,kBAAAA,MAAI,QAAQ;AAAA,MACX,KAAK,WAAW;AAAA,MAChB;AAAA,MACA;AAAA,MACA;AAAA,MACS;AAAA,MACT,QAAQ,UAAU;AACjB,cAAM,MAAM;AAGZ,YAAI,IAAI,cAAc,KAAK;AAC1B,kBAAQ,IAAI,IAAI;AAAA,QACrB,OAAW;AACNA,wBAAAA,MAAI,iBAAkB;AACtB,kBAAQ,IAAI,YAAU;AAAA,YACrB,KAAK;AACJA,4BAAAA,MAAI,UAAU;AAAA,gBACb,OAAO;AAAA,gBACP,SAAS;AAAA,gBACT,YAAY;AAAA,gBACZ,UAAU;AACT,6BAAW,MAAM;AAChBA,kCAAAA,MAAI,WAAW;AAAA,sBACd,KAAK;AAAA,oBAChB,CAAW;AAAA,kBACD,GAAE,GAAI;AAAA,gBACP;AAAA,cACT,CAAQ;AACD;AAAA,YACD,KAAK;AACJA,4BAAAA,MAAI,UAAU;AAAA,gBACb,OAAO;AAAA,gBACP,UAAU;AAAA,cAClB,CAAQ;AACD;AAAA,YACD;AACCA,4BAAAA,MAAI,UAAU;AAAA,gBACb,OAAO;AAAA,gBACP,UAAU;AAAA,cAClB,CAAQ;AACD;AAAA,UACD;AAAA,QACD;AAAA,MACD;AAAA,MACD,KAAK,KAAK;AACT,YAAI,IAAI,OAAO,QAAQ,cAAc,MAAM,IAAI;AAC9CA,wBAAAA,MAAI,UAAU;AAAA,YACb,OAAO;AAAA,YACP,MAAM;AAAA,YACN,UAAU;AAAA,UAChB,CAAM;AAAA,QACN,OAAW;AACNA,wBAAAA,MAAI,UAAU;AAAA,YACb,OAAO;AAAA,YACP,UAAU;AAAA,UAChB,CAAM;AAAA,QACD;AACD,eAAO,GAAG;AAAA,MAEV;AAAA,IACJ,CAAG;AAAA,EACH,CAAE,EAAE,MAAM,MAAM;AAAA,EAAA,CAAE;AAClB;;;"}
\ No newline at end of file
diff --git a/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/qf-image-cropper/components/qf-image-cropper/qf-image-cropper.js.map b/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/qf-image-cropper/components/qf-image-cropper/qf-image-cropper.js.map
new file mode 100644
index 0000000..d240a16
--- /dev/null
+++ b/unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/qf-image-cropper/components/qf-image-cropper/qf-image-cropper.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"qf-image-cropper.js","sources":["uni_modules/qf-image-cropper/components/qf-image-cropper/qf-image-cropper.vue","../Hbuilder/HBuilderX/plugins/uniapp-cli-vite/uniComponent:/RDovb2ZmaWNpYWxBY2NvdW50L3VuaV9tb2R1bGVzL3FmLWltYWdlLWNyb3BwZXIvY29tcG9uZW50cy9xZi1pbWFnZS1jcm9wcGVyL3FmLWltYWdlLWNyb3BwZXIudnVl"],"sourcesContent":["\r\n\t\r\n\t\t \r\n\t\t \r\n\t\t\r\n\t\t\t \r\n\t\t\t \r\n\t\t\t \r\n\t\t\t 0\" id=\"crop-circle-box\" class=\"crop-circle-box\" :style=\"cropper.circleBoxStyles\">\r\n\t\t\t\t \r\n\t\t\t \r\n\t\t\t\r\n\t\t\t\t \r\n\t\t\t \r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t \r\n\t\t\t\t \r\n\t\t\t \r\n\t\t \r\n\t\t \r\n\t\t\r\n\t\t\t\r\n\t\t\t\t \r\n\t\t\t\t \r\n\t\t\t \r\n\t\t\t确定 \r\n\t\t\t\r\n\t\t\t\t重选 \r\n\t\t\t\t确定 \r\n\t\t\t \r\n\t\t\t选择图片 \r\n\t\t \r\n\t \r\n \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n \r\n","import Component from 'D:/officialAccount/uni_modules/qf-image-cropper/components/qf-image-cropper/qf-image-cropper.vue'\nwx.createComponent(Component)"],"names":["uni"],"mappings":"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"}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/app.js b/unpackage/dist/dev/mp-weixin/app.js
index 9096b40..757c9ad 100644
--- a/unpackage/dist/dev/mp-weixin/app.js
+++ b/unpackage/dist/dev/mp-weixin/app.js
@@ -3,13 +3,14 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
const common_vendor = require("./common/vendor.js");
const uni_modules_vkUviewUi_index = require("./uni_modules/vk-uview-ui/index.js");
if (!Math) {
+ "./pages/login/callback.js";
"./pages/login/index.js";
"./pages/login/phonebumber.js";
"./pages/login/threeselectone.js";
"./pages/login/workjoin.js";
"./pages/login/code.js";
- "./pages/login/callback.js";
"./pages/login/protocol.js";
+ "./pages/login/special.js";
"./pages/index/index.js";
"./pages/addoldman/hukou.js";
"./pages/addoldman/yibao.js";
@@ -20,8 +21,7 @@ if (!Math) {
"./pages/addjigou/name.js";
"./pages/addjigou/card.js";
"./pages/pay/index.js";
- "./pages/addoldman/camera.js";
- "./pages/camera/CustomCamera.js";
+ "./compontent/public/camera.js";
}
const _sfc_main = {
onLaunch: function() {
diff --git a/unpackage/dist/dev/mp-weixin/app.json b/unpackage/dist/dev/mp-weixin/app.json
index 7403d05..0e35e4b 100644
--- a/unpackage/dist/dev/mp-weixin/app.json
+++ b/unpackage/dist/dev/mp-weixin/app.json
@@ -1,12 +1,13 @@
{
"pages": [
+ "pages/login/callback",
"pages/login/index",
"pages/login/phonebumber",
"pages/login/threeselectone",
"pages/login/workjoin",
"pages/login/code",
- "pages/login/callback",
"pages/login/protocol",
+ "pages/login/special",
"pages/index/index",
"pages/addoldman/hukou",
"pages/addoldman/yibao",
@@ -17,8 +18,7 @@
"pages/addjigou/name",
"pages/addjigou/card",
"pages/pay/index",
- "pages/addoldman/camera",
- "pages/camera/CustomCamera"
+ "compontent/public/camera"
],
"window": {
"navigationBarTextStyle": "black",
diff --git a/unpackage/dist/dev/mp-weixin/common/vendor.js b/unpackage/dist/dev/mp-weixin/common/vendor.js
index 74f1b28..5491311 100644
--- a/unpackage/dist/dev/mp-weixin/common/vendor.js
+++ b/unpackage/dist/dev/mp-weixin/common/vendor.js
@@ -2571,15 +2571,6 @@ function inject(key, defaultValue, treatDefaultAsFactory = false) {
warn$1(`inject() can only be used inside setup() or functional components.`);
}
}
-/*! #__NO_SIDE_EFFECTS__ */
-// @__NO_SIDE_EFFECTS__
-function defineComponent(options, extraOptions) {
- return isFunction(options) ? (
- // #8326: extend call and options.name access are considered side-effects
- // by Rollup, so we have to wrap it in a pure-annotated IIFE.
- /* @__PURE__ */ (() => extend({ name: options.name }, extraOptions, { setup: options }))()
- ) : options;
-}
const isKeepAlive = (vnode) => vnode.type.__isKeepAlive;
function onActivated(hook, target) {
registerKeepAliveHook(hook, "a", target);
@@ -7046,7 +7037,7 @@ function isConsoleWritable() {
function initRuntimeSocketService() {
const hosts = "192.168.2.27,127.0.0.1";
const port = "8090";
- const id = "mp-weixin_nmi3ii";
+ const id = "mp-weixin_Q7WA3f";
const lazy = typeof swan !== "undefined";
let restoreError = lazy ? () => {
} : initOnError();
@@ -7997,9 +7988,9 @@ const createHook = (lifecycle) => (hook, target = getCurrentInstance()) => {
};
const onShow = /* @__PURE__ */ createHook(ON_SHOW);
const onLoad = /* @__PURE__ */ createHook(ON_LOAD);
+const onPullDownRefresh = /* @__PURE__ */ createHook(ON_PULL_DOWN_REFRESH);
exports._export_sfc = _export_sfc;
exports.createSSRApp = createSSRApp;
-exports.defineComponent = defineComponent;
exports.e = e;
exports.f = f;
exports.getCurrentInstance = getCurrentInstance;
@@ -8007,9 +7998,9 @@ exports.index = index;
exports.n = n;
exports.nextTick$1 = nextTick$1;
exports.o = o;
-exports.onBeforeUnmount = onBeforeUnmount;
exports.onLoad = onLoad;
exports.onMounted = onMounted;
+exports.onPullDownRefresh = onPullDownRefresh;
exports.onShow = onShow;
exports.onUnmounted = onUnmounted;
exports.p = p;
diff --git a/unpackage/dist/dev/mp-weixin/compontent/public/camera.js b/unpackage/dist/dev/mp-weixin/compontent/public/camera.js
new file mode 100644
index 0000000..6d4a8fa
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/compontent/public/camera.js
@@ -0,0 +1,40 @@
+"use strict";
+const common_vendor = require("../../common/vendor.js");
+if (!Math) {
+ QfImageCropper();
+}
+const QfImageCropper = () => "../../uni_modules/qf-image-cropper/components/qf-image-cropper/qf-image-cropper.js";
+const _sfc_main = {
+ __name: "camera",
+ setup(__props) {
+ const src = common_vendor.ref("");
+ const type = common_vendor.ref(0);
+ const width = common_vendor.ref(600);
+ const height = common_vendor.ref(400);
+ const handleCrop = (e) => {
+ common_vendor.index.setStorageSync(`imgkey${type.value}`, e.tempFilePath);
+ common_vendor.index.navigateBack();
+ };
+ common_vendor.onLoad((options) => {
+ src.value = options.url;
+ type.value = options.type;
+ if (options.size) {
+ width.value = 900;
+ height.value = 600;
+ }
+ });
+ return (_ctx, _cache) => {
+ return {
+ a: common_vendor.o(handleCrop),
+ b: common_vendor.p({
+ src: src.value,
+ width: width.value,
+ height: height.value,
+ radius: 0
+ })
+ };
+ };
+ }
+};
+wx.createPage(_sfc_main);
+//# sourceMappingURL=../../../.sourcemap/mp-weixin/compontent/public/camera.js.map
diff --git a/unpackage/dist/dev/mp-weixin/compontent/public/camera.json b/unpackage/dist/dev/mp-weixin/compontent/public/camera.json
new file mode 100644
index 0000000..05da555
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/compontent/public/camera.json
@@ -0,0 +1,8 @@
+{
+ "navigationBarTitleText": "图像识别",
+ "enablePullDownRefresh": false,
+ "disableScroll": true,
+ "usingComponents": {
+ "qf-image-cropper": "../../uni_modules/qf-image-cropper/components/qf-image-cropper/qf-image-cropper"
+ }
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/compontent/public/camera.wxml b/unpackage/dist/dev/mp-weixin/compontent/public/camera.wxml
new file mode 100644
index 0000000..505a13d
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/compontent/public/camera.wxml
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/compontent/public/camera.wxss b/unpackage/dist/dev/mp-weixin/compontent/public/camera.wxss
new file mode 100644
index 0000000..e69de29
diff --git a/unpackage/dist/dev/mp-weixin/pages/addjigou/all.js b/unpackage/dist/dev/mp-weixin/pages/addjigou/all.js
index 767a81f..ff21939 100644
--- a/unpackage/dist/dev/mp-weixin/pages/addjigou/all.js
+++ b/unpackage/dist/dev/mp-weixin/pages/addjigou/all.js
@@ -41,10 +41,10 @@ const _sfc_main = {
longPressActions: {
itemList: ["保存图片"],
success: (data) => {
- common_vendor.index.__f__("log", "at pages/addjigou/all.vue:174", "长按操作成功", data);
+ common_vendor.index.__f__("log", "at pages/addjigou/all.vue:168", "长按操作成功", data);
},
fail: (err) => {
- common_vendor.index.__f__("error", "at pages/addjigou/all.vue:177", "长按操作失败", err);
+ common_vendor.index.__f__("error", "at pages/addjigou/all.vue:171", "长按操作失败", err);
}
}
});
@@ -69,7 +69,7 @@ const _sfc_main = {
common_vendor.onLoad((options) => {
alldata.value = JSON.parse(options.element);
statesTarget.value = Number(alldata.value.status);
- common_vendor.index.__f__("log", "at pages/addjigou/all.vue:205", "????", alldata.value, statesTarget.value);
+ common_vendor.index.__f__("log", "at pages/addjigou/all.vue:199", "????", alldata.value, statesTarget.value);
let data = alldata.value;
textArray[0] = data.name;
textArray[1] = data.sex;
diff --git a/unpackage/dist/dev/mp-weixin/pages/addjigou/all.wxss b/unpackage/dist/dev/mp-weixin/pages/addjigou/all.wxss
index 8d65cf8..555020c 100644
--- a/unpackage/dist/dev/mp-weixin/pages/addjigou/all.wxss
+++ b/unpackage/dist/dev/mp-weixin/pages/addjigou/all.wxss
@@ -148,6 +148,7 @@
display: flex;
justify-content: space-between;
align-items: center;
+ margin-top: 180rpx;
}
.left-father.data-v-9afbabf9 {
display: flex;
diff --git a/unpackage/dist/dev/mp-weixin/pages/addjigou/card.js b/unpackage/dist/dev/mp-weixin/pages/addjigou/card.js
index 6d049e3..3d52545 100644
--- a/unpackage/dist/dev/mp-weixin/pages/addjigou/card.js
+++ b/unpackage/dist/dev/mp-weixin/pages/addjigou/card.js
@@ -24,10 +24,10 @@ const _sfc_main = {
sourceType: ["camera"],
success: (chooseRes) => {
tempImagePath.value = chooseRes.tempFilePaths[0];
- uploadImage(tempImagePath.value);
+ common_vendor.index.navigateTo({ url: `/compontent/public/camera?url=${chooseRes.tempFilePaths[0]}&type=0&size=1` });
},
fail: (err) => {
- common_vendor.index.__f__("error", "at pages/addjigou/card.vue:99", "拍照失败:", err);
+ common_vendor.index.__f__("error", "at pages/addjigou/card.vue:102", "拍照失败:", err);
}
});
}
@@ -56,7 +56,7 @@ const _sfc_main = {
common_vendor.index.hideLoading();
return;
}
- common_vendor.index.__f__("log", "at pages/addjigou/card.vue:128", "营业执照", JSON.parse(JSON.parse(uploadRes.data).result.data).data);
+ common_vendor.index.__f__("log", "at pages/addjigou/card.vue:131", "营业执照", JSON.parse(JSON.parse(uploadRes.data).result.data).data);
let father = JSON.parse(JSON.parse(uploadRes.data).result.data).data;
textArray[0] = father.companyName;
textArray[1] = father.businessAddress;
@@ -166,6 +166,13 @@ const _sfc_main = {
const goBack = () => {
common_vendor.index.navigateBack();
};
+ common_vendor.onShow(() => {
+ const img = common_vendor.index.getStorageSync("imgkey0");
+ if (img) {
+ uploadImage(img);
+ common_vendor.index.removeStorageSync("imgkey0");
+ }
+ });
return (_ctx, _cache) => {
return common_vendor.e({
a: common_vendor.o(($event) => show.value = $event),
diff --git a/unpackage/dist/dev/mp-weixin/pages/addjigou/card.wxss b/unpackage/dist/dev/mp-weixin/pages/addjigou/card.wxss
index e26027b..cdd8413 100644
--- a/unpackage/dist/dev/mp-weixin/pages/addjigou/card.wxss
+++ b/unpackage/dist/dev/mp-weixin/pages/addjigou/card.wxss
@@ -35,7 +35,7 @@
.container .white-content.data-v-402780bb {
width: 90%;
margin-left: 5%;
- margin-top: 30rpx;
+ margin-top: 180rpx;
border-radius: 35rpx;
background-color: #f5fbfe;
}
diff --git a/unpackage/dist/dev/mp-weixin/pages/addjigou/name.js b/unpackage/dist/dev/mp-weixin/pages/addjigou/name.js
index ba90502..0e7ade4 100644
--- a/unpackage/dist/dev/mp-weixin/pages/addjigou/name.js
+++ b/unpackage/dist/dev/mp-weixin/pages/addjigou/name.js
@@ -27,10 +27,10 @@ const _sfc_main = {
sourceType: ["camera"],
success: (chooseRes) => {
tempImagePath.value = chooseRes.tempFilePaths[0];
- uploadImage(tempImagePath.value);
+ common_vendor.index.navigateTo({ url: `/compontent/public/camera?url=${chooseRes.tempFilePaths[0]}&type=0` });
},
fail: (err) => {
- common_vendor.index.__f__("error", "at pages/addjigou/name.vue:138", "拍照失败:", err);
+ common_vendor.index.__f__("error", "at pages/addjigou/name.vue:128", "拍照失败:", err);
}
});
}
@@ -50,7 +50,7 @@ const _sfc_main = {
},
formData: {},
success: (uploadRes) => {
- common_vendor.index.__f__("log", "at pages/addjigou/name.vue:176", "token", common_vendor.index.getStorageSync("token"));
+ common_vendor.index.__f__("log", "at pages/addjigou/name.vue:166", "token", common_vendor.index.getStorageSync("token"));
if (!JSON.parse(uploadRes.data).success) {
common_vendor.index.showToast({
title: "识别失败",
@@ -202,6 +202,13 @@ const _sfc_main = {
endphoto.value = data.cardFmPath;
}
});
+ common_vendor.onShow(() => {
+ const img = common_vendor.index.getStorageSync("imgkey0");
+ if (img) {
+ uploadImage(img);
+ common_vendor.index.removeStorageSync("imgkey0");
+ }
+ });
return (_ctx, _cache) => {
return common_vendor.e({
a: common_vendor.o(($event) => show.value = $event),
diff --git a/unpackage/dist/dev/mp-weixin/pages/addjigou/name.wxss b/unpackage/dist/dev/mp-weixin/pages/addjigou/name.wxss
index e79bb5b..4a7c21d 100644
--- a/unpackage/dist/dev/mp-weixin/pages/addjigou/name.wxss
+++ b/unpackage/dist/dev/mp-weixin/pages/addjigou/name.wxss
@@ -147,6 +147,7 @@
font-size: 35rpx;
}
.title-back.data-v-4363d488 {
+ margin-top: 100rpx;
width: 100%;
height: 100rpx;
display: flex;
diff --git a/unpackage/dist/dev/mp-weixin/pages/addjigou/where.js b/unpackage/dist/dev/mp-weixin/pages/addjigou/where.js
index 1183f33..8e42a61 100644
--- a/unpackage/dist/dev/mp-weixin/pages/addjigou/where.js
+++ b/unpackage/dist/dev/mp-weixin/pages/addjigou/where.js
@@ -61,12 +61,12 @@ const _sfc_main = {
if (res.message == `保存成功!`) {
common_vendor.index.setStorageSync("specicalid", "");
common_vendor.index.reLaunch({
- url: `/pages/login/workjoin?type=1`
+ url: `/pages/login/threeselectone`
});
} else {
common_vendor.index.setStorageSync("specicalid", res.result.id);
common_vendor.index.reLaunch({
- url: `/pages/login/workjoin?type=1`
+ url: `/pages/login/threeselectone`
});
}
} else {
diff --git a/unpackage/dist/dev/mp-weixin/pages/addjigou/where.wxss b/unpackage/dist/dev/mp-weixin/pages/addjigou/where.wxss
index 84f5c9b..847aa3a 100644
--- a/unpackage/dist/dev/mp-weixin/pages/addjigou/where.wxss
+++ b/unpackage/dist/dev/mp-weixin/pages/addjigou/where.wxss
@@ -35,7 +35,7 @@
.container .white-content.data-v-549d1cee {
width: 90%;
margin-left: 5%;
- margin-top: 30rpx;
+ margin-top: 180rpx;
border-radius: 35rpx;
background-color: #f5fbfe;
}
diff --git a/unpackage/dist/dev/mp-weixin/pages/addoldman/IDcard.js b/unpackage/dist/dev/mp-weixin/pages/addoldman/IDcard.js
index b59a99b..5b95157 100644
--- a/unpackage/dist/dev/mp-weixin/pages/addoldman/IDcard.js
+++ b/unpackage/dist/dev/mp-weixin/pages/addoldman/IDcard.js
@@ -15,12 +15,76 @@ const _sfc_main = {
const content = common_vendor.ref("");
const nameArray = ["姓名", "性别", "身份证号码", "民族", "出生日期", "住址", "签发机关", "有效期限"];
const textArray = common_vendor.reactive(["", "", "", "", "", "", "", ""]);
- common_vendor.ref("");
+ const tempImagePath = common_vendor.ref("");
function getMessage() {
- common_vendor.index.navigateTo({ url: "/pages/addoldman/camera" });
+ common_vendor.index.chooseImage({
+ count: 1,
+ sourceType: ["camera"],
+ success: (chooseRes) => {
+ tempImagePath.value = chooseRes.tempFilePaths[0];
+ uploadImage(tempImagePath.value);
+ },
+ fail: (err) => {
+ common_vendor.index.__f__("error", "at pages/addoldman/IDcard.vue:89", "拍照失败:", err);
+ }
+ });
}
const headImge = common_vendor.ref("");
const backImge = common_vendor.ref("");
+ function uploadImage(filePath) {
+ common_vendor.index.showLoading();
+ common_vendor.index.uploadFile({
+ url: `${common_vendor.index.getStorageSync("serverUrl")}/api/ocr/idCard`,
+ // 替换为你的POST接口地址
+ filePath,
+ name: "file",
+ // 后端接收时的字段名
+ header: {
+ "X-Access-Token": common_vendor.index.getStorageSync("token") || ""
+ },
+ formData: {},
+ success: (uploadRes) => {
+ if (!JSON.parse(uploadRes.data).success) {
+ common_vendor.index.showToast({
+ title: "识别失败",
+ icon: "error"
+ });
+ common_vendor.index.hideLoading();
+ return;
+ }
+ if (JSON.parse(JSON.parse(uploadRes.data).result.data).data.face) {
+ let father = JSON.parse(JSON.parse(uploadRes.data).result.data).data.face.data;
+ textArray[0] = father.name;
+ textArray[1] = father.sex;
+ textArray[2] = father.idNumber;
+ textArray[3] = father.ethnicity;
+ textArray[4] = father.birthDate;
+ textArray[5] = father.address;
+ common_vendor.index.showToast({
+ title: "识别成功"
+ });
+ headImge.value = filePath;
+ common_vendor.index.hideLoading();
+ } else {
+ let father = JSON.parse(JSON.parse(uploadRes.data).result.data).data.back.data;
+ textArray[6] = father.issueAuthority;
+ textArray[7] = father.validPeriod;
+ common_vendor.index.showToast({
+ title: "识别成功"
+ });
+ backImge.value = filePath;
+ common_vendor.index.hideLoading();
+ }
+ },
+ fail: (err) => {
+ common_vendor.index.showToast({
+ title: "上传出错",
+ icon: "error"
+ });
+ common_vendor.index.hideLoading();
+ }
+ });
+ }
const openLook = (res) => {
if (res) {
content.value = res;
diff --git a/unpackage/dist/dev/mp-weixin/pages/addoldman/camera.js b/unpackage/dist/dev/mp-weixin/pages/addoldman/camera.js
deleted file mode 100644
index 0ed580e..0000000
--- a/unpackage/dist/dev/mp-weixin/pages/addoldman/camera.js
+++ /dev/null
@@ -1,74 +0,0 @@
-"use strict";
-const common_vendor = require("../../common/vendor.js");
-const _sfc_main = {
- __name: "camera",
- setup(__props) {
- let cameraContext;
- const sysInfo = common_vendor.index.getSystemInfoSync();
- common_vendor.onMounted(() => {
- cameraContext = common_vendor.index.createCameraContext();
- });
- function takePhoto() {
- cameraContext.takePhoto({
- quality: "high",
- success: async (res) => {
- const src = res.tempImagePath;
- const screenW = sysInfo.windowWidth;
- const screenH = sysInfo.windowHeight;
- const topMaskH = screenH * 0.25;
- const middleH = screenH * 0.5;
- const cutoutH = middleH * 0.6;
- const cutoutW = cutoutH * 1.586;
- const cutoutX = (screenW - cutoutW) / 2;
- const cutoutY = topMaskH + (middleH - cutoutH) / 2;
- const info = await common_vendor.index.getImageInfo({
- src
- });
- const origW = info.width;
- const origH = info.height;
- const ratioW = origW / screenW;
- const ratioH = origH / screenH;
- const sx = cutoutX * ratioW;
- const sy = cutoutY * ratioH;
- const sWidth = cutoutW * ratioW;
- const sHeight = cutoutH * ratioH;
- const ctx = common_vendor.index.createCanvasContext("cropCanvas", {
- enableScroll: false
- });
- ctx.drawImage(src, sx, sy, sWidth, sHeight, 0, 0, sWidth, sHeight);
- ctx.draw(false, () => {
- common_vendor.index.canvasToTempFilePath({
- canvasId: "cropCanvas",
- x: 0,
- y: 0,
- width: sWidth,
- height: sHeight,
- destWidth: sWidth,
- destHeight: sHeight,
- success: (cropRes) => {
- common_vendor.index.setStorageSync("idcardPhoto", cropRes.tempFilePath);
- common_vendor.index.navigateBack({
- delta: 1
- });
- },
- fail: (err) => {
- common_vendor.index.__f__("error", "at pages/addoldman/camera.vue:103", "Canvas to TempFile Fail:", err);
- }
- });
- });
- },
- fail: (err) => {
- common_vendor.index.__f__("error", "at pages/addoldman/camera.vue:109", "Take Photo Fail:", err);
- }
- });
- }
- return (_ctx, _cache) => {
- return {
- a: common_vendor.o(takePhoto)
- };
- };
- }
-};
-const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-ac60523e"]]);
-wx.createPage(MiniProgramPage);
-//# sourceMappingURL=../../../.sourcemap/mp-weixin/pages/addoldman/camera.js.map
diff --git a/unpackage/dist/dev/mp-weixin/pages/addoldman/camera.json b/unpackage/dist/dev/mp-weixin/pages/addoldman/camera.json
deleted file mode 100644
index 723dd12..0000000
--- a/unpackage/dist/dev/mp-weixin/pages/addoldman/camera.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "navigationBarTitleText": "照相机",
- "usingComponents": {}
-}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/pages/addoldman/camera.wxml b/unpackage/dist/dev/mp-weixin/pages/addoldman/camera.wxml
deleted file mode 100644
index beafbdc..0000000
--- a/unpackage/dist/dev/mp-weixin/pages/addoldman/camera.wxml
+++ /dev/null
@@ -1 +0,0 @@
-请将身份证放入此框内 拍 照
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/pages/addoldman/camera.wxss b/unpackage/dist/dev/mp-weixin/pages/addoldman/camera.wxss
deleted file mode 100644
index 6a046fb..0000000
--- a/unpackage/dist/dev/mp-weixin/pages/addoldman/camera.wxss
+++ /dev/null
@@ -1,70 +0,0 @@
-
-.container.data-v-ac60523e {
- position: relative;
- width: 100%;
- height: 100vh;
- background: #000;
-}
-.camera-preview.data-v-ac60523e {
- position: absolute;
- top: 0;
- left: 0;
- width: 100%;
- height: 100%;
-}
-.mask.data-v-ac60523e {
- position: absolute;
- top: 0;
- left: 0;
- width: 100%;
- height: 100%;
- pointer-events: none;
-}
-.mask-block.data-v-ac60523e {
- width: 100%;
- background: rgba(0, 0, 0, 0.5);
-}
-.mask-block.top.data-v-ac60523e,
- .mask-block.bottom.data-v-ac60523e {
- height: 25%;
-}
-.mask-block.middle.data-v-ac60523e {
- display: flex;
- flex-direction: row;
- height: 50%;
-}
-.side.data-v-ac60523e {
- flex: 1;
- background: rgba(0, 0, 0, 0.5);
-}
-.cutout.data-v-ac60523e {
- width: 100%;
- height: 60%;
- aspect-ratio: 1.586;
- border: 2rpx dashed #fff;
- position: relative;
-}
-.hint.data-v-ac60523e {
- position: absolute;
- bottom: 20rpx;
- width: 100%;
- text-align: center;
- color: #fff;
- font-size: 24rpx;
-}
-.controls.data-v-ac60523e {
- position: absolute;
- bottom: 50rpx;
- width: 100%;
- display: flex;
- justify-content: center;
-}
-.shutter.data-v-ac60523e {
- width: 300rpx;
- height: 120rpx;
- border-radius: 60rpx;
- background: rgba(255, 255, 255, 0.7);
- display: flex;
- justify-content: center;
- align-items: center;
-}
diff --git a/unpackage/dist/dev/mp-weixin/pages/camera/CustomCamera.js b/unpackage/dist/dev/mp-weixin/pages/camera/CustomCamera.js
deleted file mode 100644
index 97cd31f..0000000
--- a/unpackage/dist/dev/mp-weixin/pages/camera/CustomCamera.js
+++ /dev/null
@@ -1,82 +0,0 @@
-"use strict";
-const common_vendor = require("../../common/vendor.js");
-const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
- __name: "CustomCamera",
- setup(__props) {
- const video = common_vendor.ref();
- const canvas = common_vendor.ref();
- const started = common_vendor.ref(false);
- let stream = null;
- let rafID;
- async function startCamera() {
- var _a;
- if (!((_a = navigator.mediaDevices) == null ? void 0 : _a.getUserMedia)) {
- common_vendor.index.showToast({ title: "当前浏览器不支持实时相机", icon: "none" });
- return;
- }
- try {
- stream = await navigator.mediaDevices.getUserMedia({
- video: { facingMode: { ideal: "environment" } },
- audio: false
- });
- const v = video.value;
- v.srcObject = stream;
- await v.play();
- drawFrame();
- started.value = true;
- } catch (err) {
- common_vendor.index.__f__("error", "at pages/camera/CustomCamera.vue:72", err);
- common_vendor.index.showToast({ title: "无法获取摄像头权限", icon: "none" });
- }
- }
- function drawFrame() {
- if (!started.value)
- return;
- const v = video.value, c = canvas.value;
- const ctx = c.getContext("2d");
- if (v.videoWidth && v.videoHeight) {
- if (c.width !== window.innerWidth) {
- c.width = window.innerWidth;
- c.height = window.innerHeight;
- }
- ctx.drawImage(v, 0, 0, c.width, c.height);
- }
- rafID = requestAnimationFrame(drawFrame);
- }
- function shoot() {
- const dataURL = canvas.value.toDataURL("image/jpeg", 0.9);
- common_vendor.index.navigateBack();
- common_vendor.index.$emit("photoTaken", dataURL);
- }
- function close() {
- cleanup();
- common_vendor.index.navigateBack();
- }
- function cleanup() {
- cancelAnimationFrame(rafID);
- if (stream)
- stream.getTracks().forEach((t) => t.stop());
- }
- common_vendor.onBeforeUnmount(cleanup);
- return (_ctx, _cache) => {
- return common_vendor.e({
- a: started.value
- }, started.value ? {} : {}, {
- b: started.value
- }, started.value ? {} : {}, {
- c: started.value ? 1 : 0,
- d: started.value
- }, started.value ? {
- e: common_vendor.o(close),
- f: common_vendor.o(shoot)
- } : {}, {
- g: !started.value
- }, !started.value ? {
- h: common_vendor.o(startCamera)
- } : {});
- };
- }
-});
-const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-84a6cb98"]]);
-wx.createPage(MiniProgramPage);
-//# sourceMappingURL=../../../.sourcemap/mp-weixin/pages/camera/CustomCamera.js.map
diff --git a/unpackage/dist/dev/mp-weixin/pages/camera/CustomCamera.json b/unpackage/dist/dev/mp-weixin/pages/camera/CustomCamera.json
deleted file mode 100644
index 3a3ef4f..0000000
--- a/unpackage/dist/dev/mp-weixin/pages/camera/CustomCamera.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "navigationBarTitleText": "图像识别",
- "usingComponents": {}
-}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/pages/camera/CustomCamera.wxml b/unpackage/dist/dev/mp-weixin/pages/camera/CustomCamera.wxml
deleted file mode 100644
index 6eed381..0000000
--- a/unpackage/dist/dev/mp-weixin/pages/camera/CustomCamera.wxml
+++ /dev/null
@@ -1 +0,0 @@
-关闭 开始拍照
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/pages/camera/CustomCamera.wxss b/unpackage/dist/dev/mp-weixin/pages/camera/CustomCamera.wxss
deleted file mode 100644
index 0e41bb9..0000000
--- a/unpackage/dist/dev/mp-weixin/pages/camera/CustomCamera.wxss
+++ /dev/null
@@ -1,31 +0,0 @@
-
-.page.data-v-84a6cb98 { position:fixed; inset:0; background:#000; overflow:hidden;
-}
-.video.data-v-84a6cb98 { position:absolute; inset:0; object-fit:cover; z-index:1;
-}
-.canvas.data-v-84a6cb98 { position:absolute; inset:0; z-index:1;
-}
-.overlay.data-v-84a6cb98{
- position:absolute; top:50%; left:50%;
- width:220px; height:220px;
- transform:translate(-50%,-50%); z-index:2;
- pointer-events:none;
-}
-.btn-bar.data-v-84a6cb98{
- position:absolute; bottom:60px; inset-inline:0;
- display:flex; justify-content:space-around; z-index:3;
-}
-.btn.data-v-84a6cb98{
- border:none; font-size:16px; color:#fff;
-}
-.close.data-v-84a6cb98{ width:100px; height:40px; border-radius:20px; background:rgba(0,0,0,.5);
-}
-.shoot.data-v-84a6cb98{ width:80px; height:80px; border-radius:40px; background:#fff;
-}
-.starter.data-v-84a6cb98{
- position:absolute; inset:0; display:flex;
- justify-content:center; align-items:center; z-index:3;
- background:#000;
-}
-.start.data-v-84a6cb98{ width:140px; height:46px; border-radius:23px; background:#1aad19;
-}
diff --git a/unpackage/dist/dev/mp-weixin/pages/index/index.wxss b/unpackage/dist/dev/mp-weixin/pages/index/index.wxss
index 8c052dc..529f537 100644
--- a/unpackage/dist/dev/mp-weixin/pages/index/index.wxss
+++ b/unpackage/dist/dev/mp-weixin/pages/index/index.wxss
@@ -89,7 +89,7 @@
display: flex;
justify-content: flex-end;
position: fixed;
- top: 35rpx;
+ top: 120rpx;
left: 0;
z-index: 999;
margin-top: 120rpx;
@@ -474,7 +474,7 @@
}
.back-imge.data-v-1cf27b2a {
position: absolute;
- top: 100rpx;
+ top: 180rpx;
left: 30rpx;
width: 50rpx;
height: 50rpx;
diff --git a/unpackage/dist/dev/mp-weixin/pages/login/callback.js b/unpackage/dist/dev/mp-weixin/pages/login/callback.js
index 99b92f5..4eb0966 100644
--- a/unpackage/dist/dev/mp-weixin/pages/login/callback.js
+++ b/unpackage/dist/dev/mp-weixin/pages/login/callback.js
@@ -1,77 +1,52 @@
"use strict";
const common_vendor = require("../../common/vendor.js");
-const request_index = require("../../request/index.js");
+const api_loginApi = require("../../api/loginApi.js");
const _sfc_main = {
__name: "callback",
setup(__props) {
- common_vendor.ref(0);
- const ceshi = common_vendor.reactive({
- name: "",
- openid: "",
- accessToken: ""
- });
- const getOpenId = (code) => {
- const url = `${request_index.base_url}/weixin/wechat/callback?code=${encodeURIComponent(code)}`;
- fetch(url).then((res) => res.json()).then((data) => {
- ceshi.name = data.data.nickname;
- ceshi.openid = data.data.openid;
- ceshi.accessToken = data.accessToken;
- common_vendor.index.setStorage({
- key: "openid",
- data: {
- openid: data.data.openid,
- accessToken: data.accessToken
- }
- });
- getUserMessage();
- }).catch((err) => {
- common_vendor.index.__f__("error", "at pages/login/callback.vue:96", "❌ 获取用户信息失败:", err);
- });
- };
- common_vendor.ref("");
- const getUserMessage = () => {
- const url = `${request_index.base_url}/h5Api/nuBizAdvisoryInfo/queryWeixinInfo?openId=${encodeURIComponent(ceshi.openid)}`;
- fetch(url).then((res) => res.json()).then((data) => {
- common_vendor.index.__f__("log", "at pages/login/callback.vue:107", "个人信息打印", data);
- common_vendor.index.setStorageSync("token", data.result.token);
- common_vendor.index.setStorageSync("serverUrl", data.result.serverUrl);
- common_vendor.index.__f__("log", "at pages/login/callback.vue:110", "???token存储", data.result.token);
- if (!data.result.tel) {
- common_vendor.index.redirectTo({
- url: `/pages/login/phonebumber`
+ const superLogin = () => {
+ common_vendor.index.login({
+ provider: "weixin",
+ success(res) {
+ api_loginApi.getOpenid(res.code).then((res2) => {
+ let openid = res2.data.openid;
+ common_vendor.index.setStorageSync("openid", openid);
+ api_loginApi.getMessage(openid).then((res3) => {
+ if (!res3.result.tel) {
+ common_vendor.index.redirectTo({
+ url: `/pages/login/index`
+ });
+ } else {
+ if (common_vendor.index.getStorageSync("special")) {
+ common_vendor.index.setStorageSync("tel", res3.result.tel);
+ common_vendor.index.setStorageSync("token", res3.result.token);
+ common_vendor.index.setStorageSync("serverUrl", res3.result.serverUrl);
+ common_vendor.index.redirectTo({
+ url: `/pages/login/special`
+ });
+ } else {
+ common_vendor.index.setStorageSync("tel", res3.result.tel);
+ common_vendor.index.setStorageSync("token", res3.result.token);
+ common_vendor.index.setStorageSync("serverUrl", res3.result.serverUrl);
+ common_vendor.index.redirectTo({
+ url: `/pages/login/threeselectone`
+ });
+ }
+ }
+ });
});
- } else {
- common_vendor.index.redirectTo({
- url: `/pages/login/threeselectone`
- });
- common_vendor.index.setStorageSync("tel", data.result.tel);
+ },
+ fail(err) {
+ common_vendor.index.__f__("error", "at pages/login/callback.vue:261", "获取 code 失败:", err);
}
- getjigou();
});
};
- const jigouArray = common_vendor.ref([]);
- const getjigou = () => {
- const url = `${request_index.base_url}/sys/sysDepart/queryInstitutionsList`;
- fetch(url).then((res) => res.json()).then((data) => {
- jigouArray.value = [...data];
- common_vendor.index.__f__("log", "at pages/login/callback.vue:176", "机构打印", jigouArray.value);
- });
- };
- common_vendor.ref([]);
- common_vendor.onLoad(() => {
- var _a;
- const href = window.location.href;
- const queryString = (_a = href.split("?")[1]) == null ? void 0 : _a.split("#")[0];
- const query = {};
- if (queryString) {
- queryString.split("&").forEach((pair) => {
- const [key, value] = pair.split("=");
- query[key] = decodeURIComponent(value);
- });
- }
- common_vendor.index.__f__("log", "at pages/login/callback.vue:227", "解析到的 query 参数:", query);
- if (query.code) {
- getOpenId(query.code);
+ common_vendor.onLoad((options) => {
+ superLogin();
+ if (options.type) {
+ common_vendor.index.setStorageSync("special", true);
+ } else {
+ common_vendor.index.setStorageSync("special", false);
}
});
return (_ctx, _cache) => {
diff --git a/unpackage/dist/dev/mp-weixin/pages/login/code.js b/unpackage/dist/dev/mp-weixin/pages/login/code.js
index fa0da34..0dc96f1 100644
--- a/unpackage/dist/dev/mp-weixin/pages/login/code.js
+++ b/unpackage/dist/dev/mp-weixin/pages/login/code.js
@@ -38,12 +38,21 @@ const _sfc_main = {
}).then((res) => {
if (res.success) {
api_loginApi.getMessage(openid).then((res2) => {
- common_vendor.index.setStorageSync("tel", res2.result.tel);
- common_vendor.index.setStorageSync("token", res2.result.token);
- common_vendor.index.setStorageSync("serverUrl", res2.result.serverUrl);
- common_vendor.index.redirectTo({
- url: `/pages/login/threeselectone`
- });
+ if (common_vendor.index.getStorageSync("special")) {
+ common_vendor.index.setStorageSync("tel", res2.result.tel);
+ common_vendor.index.setStorageSync("token", res2.result.token);
+ common_vendor.index.setStorageSync("serverUrl", res2.result.serverUrl);
+ common_vendor.index.redirectTo({
+ url: `/pages/login/special`
+ });
+ } else {
+ common_vendor.index.setStorageSync("tel", res2.result.tel);
+ common_vendor.index.setStorageSync("token", res2.result.token);
+ common_vendor.index.setStorageSync("serverUrl", res2.result.serverUrl);
+ common_vendor.index.redirectTo({
+ url: `/pages/login/threeselectone`
+ });
+ }
});
} else {
common_vendor.index.showToast({
@@ -57,7 +66,7 @@ const _sfc_main = {
});
}
} else {
- common_vendor.index.__f__("log", "at pages/login/code.vue:208", "验证码未输入完整");
+ common_vendor.index.__f__("log", "at pages/login/code.vue:207", "验证码未输入完整");
}
};
const getcode = () => {
diff --git a/unpackage/dist/dev/mp-weixin/pages/login/index.js b/unpackage/dist/dev/mp-weixin/pages/login/index.js
index 2b79e81..39af381 100644
--- a/unpackage/dist/dev/mp-weixin/pages/login/index.js
+++ b/unpackage/dist/dev/mp-weixin/pages/login/index.js
@@ -14,32 +14,6 @@ const _sfc_main = {
function closeModal() {
isFadingOut.value = false;
}
- const superLogin = () => {
- common_vendor.index.login({
- provider: "weixin",
- success(res) {
- api_loginApi.getOpenid(res.code).then((res2) => {
- let openid = res2.data.openid;
- common_vendor.index.setStorageSync("openid", openid);
- api_loginApi.getMessage(openid).then((res3) => {
- if (!res3.result.tel)
- ;
- else {
- common_vendor.index.setStorageSync("tel", res3.result.tel);
- common_vendor.index.setStorageSync("token", res3.result.token);
- common_vendor.index.setStorageSync("serverUrl", res3.result.serverUrl);
- common_vendor.index.redirectTo({
- url: `/pages/login/threeselectone`
- });
- }
- });
- });
- },
- fail(err) {
- common_vendor.index.__f__("error", "at pages/login/index.vue:95", "获取 code 失败:", err);
- }
- });
- };
const getCode = () => {
common_vendor.index.login({
provider: "weixin",
@@ -64,7 +38,7 @@ const _sfc_main = {
});
},
fail(err) {
- common_vendor.index.__f__("error", "at pages/login/index.vue:128", "获取 code 失败:", err);
+ common_vendor.index.__f__("error", "at pages/login/index.vue:115", "获取 code 失败:", err);
}
});
};
@@ -80,7 +54,7 @@ const _sfc_main = {
url: "/pages/login/protocol"
});
};
- common_vendor.onLoad(() => {
+ common_vendor.onLoad((options) => {
superLogin();
});
return (_ctx, _cache) => {
diff --git a/unpackage/dist/dev/mp-weixin/pages/login/special.js b/unpackage/dist/dev/mp-weixin/pages/login/special.js
new file mode 100644
index 0000000..a295e60
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/pages/login/special.js
@@ -0,0 +1,25 @@
+"use strict";
+const common_vendor = require("../../common/vendor.js");
+const _sfc_main = {
+ __name: "special",
+ setup(__props) {
+ const phonenumber = common_vendor.ref("");
+ const jumpto = () => {
+ common_vendor.index.redirectTo({
+ url: `/pages/login/threeselectone`
+ });
+ };
+ common_vendor.onLoad(() => {
+ phonenumber.value = common_vendor.index.getStorageSync("tel");
+ });
+ return (_ctx, _cache) => {
+ return {
+ a: common_vendor.t(phonenumber.value),
+ b: common_vendor.o(jumpto)
+ };
+ };
+ }
+};
+const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-aaa5af2f"]]);
+wx.createPage(MiniProgramPage);
+//# sourceMappingURL=../../../.sourcemap/mp-weixin/pages/login/special.js.map
diff --git a/unpackage/dist/dev/mp-weixin/pages/login/special.json b/unpackage/dist/dev/mp-weixin/pages/login/special.json
new file mode 100644
index 0000000..be7e992
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/pages/login/special.json
@@ -0,0 +1,4 @@
+{
+ "navigationBarTitleText": "绑定成功",
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/pages/login/special.wxml b/unpackage/dist/dev/mp-weixin/pages/login/special.wxml
new file mode 100644
index 0000000..e2f72ae
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/pages/login/special.wxml
@@ -0,0 +1 @@
+ 尊敬的用户,你的手机{{a}} 已成功绑定,欢迎加入护理单元大家庭! 我的机构
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/pages/login/special.wxss b/unpackage/dist/dev/mp-weixin/pages/login/special.wxss
new file mode 100644
index 0000000..f2d71b4
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/pages/login/special.wxss
@@ -0,0 +1,51 @@
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+.font-father.data-v-aaa5af2f {
+ width: 100%;
+ height: 100vh;
+ padding: 0 50rpx;
+ display: flex;
+ justify-content: center;
+ position: relative;
+}
+.font-father .font-title.data-v-aaa5af2f {
+ margin-top: 200rpx;
+}
+.font-father .bottom-button.data-v-aaa5af2f {
+ position: fixed;
+ bottom: 150rpx;
+ left: 50%;
+ transform: translateX(-50%);
+ width: 400rpx;
+ height: 100rpx;
+ border-radius: 50rpx;
+ background: linear-gradient(to right, #00C9FF, #0076FF);
+ color: #fff;
+ font-size: 33rpx;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/pages/login/threeselectone.js b/unpackage/dist/dev/mp-weixin/pages/login/threeselectone.js
index e2d9c09..b496f1c 100644
--- a/unpackage/dist/dev/mp-weixin/pages/login/threeselectone.js
+++ b/unpackage/dist/dev/mp-weixin/pages/login/threeselectone.js
@@ -4,8 +4,13 @@ const _sfc_main = {
__name: "threeselectone",
setup(__props) {
common_vendor.ref(0);
+ const ceshi = () => {
+ common_vendor.index.navigateTo({
+ url: `/pages/login/workjoin?type=1`
+ });
+ };
const jumpToindex = () => {
- common_vendor.index.redirectTo({
+ common_vendor.index.navigateTo({
url: `/pages/index/index`
});
};
@@ -28,7 +33,8 @@ const _sfc_main = {
a: common_vendor.t(phone.value),
b: common_vendor.o(jumpToindex),
c: common_vendor.o(gotoadd),
- d: common_vendor.o(close)
+ d: common_vendor.o(ceshi),
+ e: common_vendor.o(close)
};
};
}
diff --git a/unpackage/dist/dev/mp-weixin/pages/login/threeselectone.wxml b/unpackage/dist/dev/mp-weixin/pages/login/threeselectone.wxml
index b8e93a4..b10e299 100644
--- a/unpackage/dist/dev/mp-weixin/pages/login/threeselectone.wxml
+++ b/unpackage/dist/dev/mp-weixin/pages/login/threeselectone.wxml
@@ -1 +1 @@
- 恭喜您已成功绑定手机 {{a}} ,现在您可以: 长者入住 护理单元日常护理涵盖生活照料、健康监测、康复护理及心理关怀,为老人提供贴心照护服务。 申请入住 员工入驻 护理员严格按标准流程,定时为失能老人开展床旁照护,用专业与温情守护老人生活与健康。 申请入驻 机构加盟 加盟我们,共享银发经济红利!依托成熟运营体系,标准化服务流程降低人力成本及管理开支,背靠品牌资源,助力企业快速实现营收增长。 申请加盟 关闭
\ No newline at end of file
+ 恭喜您已成功绑定手机 {{a}} ,现在您可以: 长者入住 护理单元日常护理涵盖生活照料、健康监测、康复护理及心理关怀,为老人提供贴心照护服务。 申请入住 员工入驻 护理员严格按标准流程,定时为失能老人开展床旁照护,用专业与温情守护老人生活与健康。 申请入驻 机构加盟 加盟我们,共享银发经济红利!依托成熟运营体系,标准化服务流程降低人力成本及管理开支,背靠品牌资源,助力企业快速实现营收增长。 申请加盟 关闭
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/pages/login/workjoin.js b/unpackage/dist/dev/mp-weixin/pages/login/workjoin.js
index d8832b9..574d611 100644
--- a/unpackage/dist/dev/mp-weixin/pages/login/workjoin.js
+++ b/unpackage/dist/dev/mp-weixin/pages/login/workjoin.js
@@ -6,16 +6,6 @@ const _sfc_main = {
setup(__props) {
const type = common_vendor.ref(0);
const workArray = common_vendor.ref([]);
- const isRefreshing = common_vendor.ref(false);
- const onRefresh = () => {
- common_vendor.index.__f__("log", "at pages/login/workjoin.vue:70", "下拉刷新被触发");
- isRefreshing.value = true;
- pages_addjigou_api_addjigou.getMessageList(common_vendor.index.getStorageSync("tel")).then((res) => {
- workArray.value = [];
- workArray.value = res.result;
- isRefreshing.value = false;
- });
- };
common_vendor.onLoad((options) => {
type.value = options.type || "";
if (type.value) {
@@ -24,10 +14,17 @@ const _sfc_main = {
});
}
});
+ common_vendor.onPullDownRefresh(() => {
+ pages_addjigou_api_addjigou.getMessageList(common_vendor.index.getStorageSync("tel")).then((res) => {
+ workArray.value = res.result;
+ common_vendor.index.stopPullDownRefresh();
+ });
+ });
const goback = () => {
common_vendor.index.navigateBack();
};
const again = (item) => {
+ common_vendor.index.__f__("log", "at pages/login/workjoin.vue:85", "????", item);
common_vendor.index.setStorageSync("baddata", item);
common_vendor.index.setStorageSync("specicalid", item.id);
common_vendor.index.navigateTo({
@@ -58,14 +55,6 @@ const _sfc_main = {
g: common_vendor.o(($event) => jumpToAll(item), index),
h: index
});
- }),
- f: isRefreshing.value,
- g: common_vendor.o(onRefresh),
- h: common_vendor.o(() => {
- }),
- i: common_vendor.o(() => {
- }),
- j: common_vendor.o(() => {
})
};
};
diff --git a/unpackage/dist/dev/mp-weixin/pages/login/workjoin.json b/unpackage/dist/dev/mp-weixin/pages/login/workjoin.json
index 0078362..b8017be 100644
--- a/unpackage/dist/dev/mp-weixin/pages/login/workjoin.json
+++ b/unpackage/dist/dev/mp-weixin/pages/login/workjoin.json
@@ -1,4 +1,5 @@
{
"navigationBarTitleText": "员工入驻",
+ "enablePullDownRefresh": true,
"usingComponents": {}
}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/pages/login/workjoin.wxml b/unpackage/dist/dev/mp-weixin/pages/login/workjoin.wxml
index 5f7b7a4..a241f83 100644
--- a/unpackage/dist/dev/mp-weixin/pages/login/workjoin.wxml
+++ b/unpackage/dist/dev/mp-weixin/pages/login/workjoin.wxml
@@ -1 +1 @@
-{{b}} 护理院日常护理涵盖生活照料、健康监测、康复护理及心理关怀,为老人提供贴心照护。 {{d}} {{item.a}}申请入驻加盟护理单元,提交时间:{{item.b}},审核结果:{{item.c}} {{item.d}} 修改申请 查看详情
\ No newline at end of file
+{{b}} 护理院日常护理涵盖生活照料、健康监测、康复护理及心理关怀,为老人提供贴心照护。 {{d}} {{item.a}}申请入驻加盟护理单元,提交时间:{{item.b}},审核结果:{{item.c}} {{item.d}} 修改申请 查看详情
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/pages/login/workjoin.wxss b/unpackage/dist/dev/mp-weixin/pages/login/workjoin.wxss
index faf28ce..1fc2298 100644
--- a/unpackage/dist/dev/mp-weixin/pages/login/workjoin.wxss
+++ b/unpackage/dist/dev/mp-weixin/pages/login/workjoin.wxss
@@ -61,21 +61,9 @@
width: 550rpx;
height: 750rpx;
}
-.login-container .under-container.data-v-808c8183 {
- position: fixed;
- left: 0;
- bottom: 0;
- width: 100%;
- height: 100%;
- background-color: #eceef4;
- box-shadow: 10rpx 10rpx 20rpx rgba(0, 0, 0, 0.1);
- display: flex;
- flex-direction: column;
- align-items: center;
- z-index: 1;
-}
.white-card.data-v-808c8183 {
- margin-top: 30rpx;
+ margin-top: 200rpx;
+ margin-left: 3%;
width: 94%;
background-color: #fff;
height: 320rpx;
@@ -96,7 +84,7 @@
.white-ball.data-v-808c8183 {
position: absolute;
right: 60rpx;
- top: 60rpx;
+ top: 220rpx;
width: 75rpx;
height: 75rpx;
border-radius: 50%;
diff --git a/unpackage/dist/dev/mp-weixin/project.private.config.json b/unpackage/dist/dev/mp-weixin/project.private.config.json
index 048e33d..556bf6f 100644
--- a/unpackage/dist/dev/mp-weixin/project.private.config.json
+++ b/unpackage/dist/dev/mp-weixin/project.private.config.json
@@ -2,7 +2,8 @@
"description": "项目私有配置文件。此文件中的内容将覆盖 project.config.json 中的相同字段。项目的改动优先同步到此文件中。详见文档:https://developers.weixin.qq.com/miniprogram/dev/devtools/projectconfig.html",
"projectname": "weixin-officialaccount",
"setting": {
- "compileHotReLoad": true
+ "compileHotReLoad": true,
+ "urlCheck": false
},
"libVersion": "3.8.9"
}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/request/index.js b/unpackage/dist/dev/mp-weixin/request/index.js
index 192888f..8ae98a5 100644
--- a/unpackage/dist/dev/mp-weixin/request/index.js
+++ b/unpackage/dist/dev/mp-weixin/request/index.js
@@ -56,7 +56,6 @@ const request = (params) => {
}
},
fail(err) {
- common_vendor.index.__f__("log", "at request/index.js:64", err);
if (err.errMsg.indexOf("request:fail") !== -1) {
common_vendor.index.showToast({
title: "网络异常",
@@ -70,8 +69,6 @@ const request = (params) => {
});
}
reject(err);
- },
- complete() {
}
});
}).catch(() => {
diff --git a/unpackage/dist/dev/mp-weixin/uni_modules/qf-image-cropper/components/qf-image-cropper/qf-image-cropper.js b/unpackage/dist/dev/mp-weixin/uni_modules/qf-image-cropper/components/qf-image-cropper/qf-image-cropper.js
new file mode 100644
index 0000000..2b41829
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/uni_modules/qf-image-cropper/components/qf-image-cropper/qf-image-cropper.js
@@ -0,0 +1,582 @@
+"use strict";
+const common_vendor = require("../../../../common/vendor.js");
+const block0 = (Component2) => {
+ if (!Component2.wxsCallMethods) {
+ Component2.wxsCallMethods = [];
+ }
+ Component2.wxsCallMethods.push("dataChange");
+};
+const AREA_SIZE = 75;
+const IMG_SIZE = 300;
+const _sfc_main = {
+ name: "qf-image-cropper",
+ options: {
+ // 表示启用样式隔离,在自定义组件内外,使用 class 指定的样式将不会相互影响
+ styleIsolation: "isolated"
+ },
+ props: {
+ /** 图片资源地址 */
+ src: {
+ type: String,
+ default: ""
+ },
+ /** 裁剪宽度,有些平台或设备对于canvas的尺寸有限制,过大可能会导致无法正常绘制 */
+ width: {
+ type: Number,
+ default: IMG_SIZE
+ },
+ /** 裁剪高度,有些平台或设备对于canvas的尺寸有限制,过大可能会导致无法正常绘制 */
+ height: {
+ type: Number,
+ default: IMG_SIZE
+ },
+ /** 是否绘制裁剪区域边框 */
+ showBorder: {
+ type: Boolean,
+ default: true
+ },
+ /** 是否绘制裁剪区域网格参考线 */
+ showGrid: {
+ type: Boolean,
+ default: true
+ },
+ /** 是否展示四个支持伸缩的角 */
+ showAngle: {
+ type: Boolean,
+ default: true
+ },
+ /** 裁剪区域最小缩放倍数 */
+ areaScale: {
+ type: Number,
+ default: 0.3
+ },
+ /** 图片最小缩放倍数 */
+ minScale: {
+ type: Number,
+ default: 1
+ },
+ /** 图片最大缩放倍数 */
+ maxScale: {
+ type: Number,
+ default: 5
+ },
+ /** 检查图片位置是否超出裁剪边界,如果超出则会矫正位置 */
+ checkRange: {
+ type: Boolean,
+ default: true
+ },
+ /** 生成图片背景色:如果裁剪区域没有完全包含在图片中时,不设置该属性生成图片存在一定的透明块 */
+ backgroundColor: {
+ type: String
+ },
+ /** 是否有回弹效果:当 checkRange 为 true 时有效,拖动时可以拖出边界,释放时会弹回边界 */
+ bounce: {
+ type: Boolean,
+ default: true
+ },
+ /** 是否支持翻转 */
+ rotatable: {
+ type: Boolean,
+ default: true
+ },
+ /** 是否支持逆向翻转 */
+ reverseRotatable: {
+ type: Boolean,
+ default: false
+ },
+ /** 是否支持从本地选择素材 */
+ choosable: {
+ type: Boolean,
+ default: true
+ },
+ /** 是否开启硬件加速,图片缩放过程中如果出现元素的“留影”或“重影”效果,可通过该方式解决或减轻这一问题 */
+ gpu: {
+ type: Boolean,
+ default: false
+ },
+ /** 四个角尺寸,单位px */
+ angleSize: {
+ type: Number,
+ default: 20
+ },
+ /** 四个角边框宽度,单位px */
+ angleBorderWidth: {
+ type: Number,
+ default: 2
+ },
+ zIndex: {
+ type: [Number, String]
+ },
+ /** 裁剪图片圆角半径,单位px */
+ radius: {
+ type: Number,
+ default: 0
+ },
+ /** 生成文件的类型,只支持 'jpg' 或 'png'。默认为 'png' */
+ fileType: {
+ type: String,
+ default: "png"
+ },
+ /**
+ * 图片从绘制到生成所需时间,单位ms
+ * 微信小程序平台使用 `Canvas 2D` 绘制时有效
+ * 如绘制大图或出现裁剪图片空白等情况应适当调大该值,因 `Canvas 2d` 采用同步绘制,需自己把控绘制完成时间
+ */
+ delay: {
+ type: Number,
+ default: 1e3
+ }
+ },
+ emits: ["crop"],
+ data() {
+ return {
+ // 用不同 id 使 v-for key 不重复
+ maskList: [
+ { id: "crop-mask-block-1" },
+ { id: "crop-mask-block-2" },
+ { id: "crop-mask-block-3" },
+ { id: "crop-mask-block-4" }
+ ],
+ gridList: [
+ { id: "crop-grid-1" },
+ { id: "crop-grid-2" },
+ { id: "crop-grid-3" },
+ { id: "crop-grid-4" }
+ ],
+ angleList: [
+ { id: "crop-angle-1" },
+ { id: "crop-angle-2" },
+ { id: "crop-angle-3" },
+ { id: "crop-angle-4" }
+ ],
+ /** 本地缓存的图片路径 */
+ imgSrc: "",
+ /** 图片的裁剪宽度 */
+ imgWidth: IMG_SIZE,
+ /** 图片的裁剪高度 */
+ imgHeight: IMG_SIZE,
+ /** 裁剪区域最大宽度所占屏幕宽度百分比 */
+ widthPercent: AREA_SIZE,
+ /** 裁剪区域最大高度所占屏幕宽度百分比 */
+ heightPercent: AREA_SIZE,
+ /** 裁剪区域布局信息 */
+ area: {},
+ /** 未被缩放过的图片宽 */
+ oldWidth: 0,
+ /** 未被缩放过的图片高 */
+ oldHeight: 0,
+ /** 系统信息 */
+ sys: common_vendor.index.getSystemInfoSync(),
+ scaleWidth: 0,
+ scaleHeight: 0,
+ rotate: 0,
+ offsetX: 0,
+ offsetY: 0,
+ use2d: false,
+ canvansWidth: 0,
+ canvansHeight: 0
+ // imageStyles: {},
+ // maskStylesList: [{}, {}, {}, {}],
+ // borderStyles: {},
+ // gridStylesList: [{}, {}, {}, {}],
+ // angleStylesList: [{}, {}, {}, {}],
+ // circleBoxStyles: {},
+ // circleStyles: {},
+ };
+ },
+ computed: {
+ initData() {
+ return {
+ timestamp: (/* @__PURE__ */ new Date()).getTime(),
+ area: {
+ ...this.area,
+ bounce: this.bounce,
+ showBorder: this.showBorder,
+ showGrid: this.showGrid,
+ showAngle: this.showAngle,
+ angleSize: this.angleSize,
+ angleBorderWidth: this.angleBorderWidth,
+ minScale: this.areaScale,
+ widthPercent: this.widthPercent,
+ heightPercent: this.heightPercent,
+ radius: this.radius,
+ checkRange: this.checkRange,
+ zIndex: +this.zIndex || 0
+ },
+ sys: this.sys,
+ img: {
+ minScale: this.minScale,
+ maxScale: this.maxScale,
+ src: this.imgSrc,
+ width: this.oldWidth,
+ height: this.oldHeight,
+ oldWidth: this.oldWidth,
+ oldHeight: this.oldHeight,
+ gpu: this.gpu
+ }
+ };
+ },
+ imgProps() {
+ return {
+ width: this.width,
+ height: this.height,
+ src: this.src
+ };
+ }
+ },
+ watch: {
+ imgProps: {
+ handler(val, oldVal) {
+ this.imgWidth = Number(val.width) || IMG_SIZE;
+ this.imgHeight = Number(val.height) || IMG_SIZE;
+ let use2d = true;
+ let canvansWidth = this.imgWidth;
+ let canvansHeight = this.imgHeight;
+ let size = Math.max(canvansWidth, canvansHeight);
+ let scalc = 1;
+ if (size > 1365) {
+ scalc = 1365 / size;
+ }
+ this.canvansWidth = canvansWidth * scalc;
+ this.canvansHeight = canvansHeight * scalc;
+ this.use2d = use2d;
+ this.initArea();
+ const src = val.src || this.imgSrc;
+ src && this.initImage(src, oldVal === void 0);
+ },
+ immediate: true
+ }
+ },
+ methods: {
+ /** 提供给wxs调用,用来接收图片变更数据 */
+ dataChange(e) {
+ this.scaleWidth = e.width;
+ this.scaleHeight = e.height;
+ this.rotate = e.rotate;
+ this.offsetX = e.x;
+ this.offsetY = e.y;
+ },
+ /** 初始化裁剪区域布局信息 */
+ initArea() {
+ this.sys.offsetBottom = common_vendor.index.upx2px(100) + this.sys.safeAreaInsets.bottom;
+ this.sys.windowTop = 0;
+ this.sys.navigation = true;
+ let wp = this.widthPercent;
+ let hp = this.heightPercent;
+ if (this.imgWidth > this.imgHeight) {
+ hp = hp * this.imgHeight / this.imgWidth;
+ } else if (this.imgWidth < this.imgHeight) {
+ wp = wp * this.imgWidth / this.imgHeight;
+ }
+ const size = this.sys.windowWidth > this.sys.windowHeight ? this.sys.windowHeight : this.sys.windowWidth;
+ const width = size * wp / 100;
+ const height = size * hp / 100;
+ const left = (this.sys.windowWidth - width) / 2;
+ const right = left + width;
+ const top = (this.sys.windowHeight + this.sys.windowTop - this.sys.offsetBottom - height) / 2;
+ const bottom = this.sys.windowHeight + this.sys.windowTop - this.sys.offsetBottom - top;
+ this.area = { width, height, left, right, top, bottom };
+ this.scaleWidth = width;
+ this.scaleHeight = height;
+ },
+ /** 从本地选取图片 */
+ chooseImage(options) {
+ if (common_vendor.index.chooseMedia) {
+ common_vendor.index.chooseMedia({
+ ...options,
+ count: 1,
+ mediaType: ["image"],
+ success: (res) => {
+ this.resetData();
+ this.initImage(res.tempFiles[0].tempFilePath);
+ }
+ });
+ return;
+ }
+ common_vendor.index.chooseImage({
+ ...options,
+ count: 1,
+ success: (res) => {
+ this.resetData();
+ this.initImage(res.tempFiles[0].path);
+ }
+ });
+ },
+ /** 重置数据 */
+ resetData() {
+ this.imgSrc = "";
+ this.rotate = 0;
+ this.offsetX = 0;
+ this.offsetY = 0;
+ this.initArea();
+ },
+ /**
+ * 初始化图片信息
+ * @param {String} url 图片链接
+ */
+ initImage(url, isFirst) {
+ common_vendor.index.getImageInfo({
+ src: url,
+ success: async (res) => {
+ if (isFirst && this.src === url)
+ await new Promise((resolve) => setTimeout(resolve, 50));
+ this.imgSrc = res.path;
+ let scale = res.width / res.height;
+ let areaScale = this.area.width / this.area.height;
+ if (scale > 1) {
+ if (scale >= areaScale) {
+ this.scaleWidth = this.scaleHeight / res.height * this.scaleWidth * (res.width / this.scaleWidth);
+ } else {
+ this.scaleHeight = res.height * this.scaleWidth / res.width;
+ }
+ } else {
+ if (scale <= areaScale) {
+ this.scaleHeight = this.scaleWidth / res.width * this.scaleHeight / (this.scaleHeight / res.height);
+ } else {
+ this.scaleWidth = res.width * this.scaleHeight / res.height;
+ }
+ }
+ this.oldWidth = +this.scaleWidth.toFixed(2);
+ this.oldHeight = +this.scaleHeight.toFixed(2);
+ },
+ fail: (err) => {
+ common_vendor.index.__f__("error", "at uni_modules/qf-image-cropper/components/qf-image-cropper/qf-image-cropper.vue:437", err);
+ }
+ });
+ },
+ /**
+ * 剪切图片圆角
+ * @param {Object} ctx canvas 的绘图上下文对象
+ * @param {Number} radius 圆角半径
+ * @param {Number} scale 生成图片的实际尺寸与截取区域比
+ * @param {Function} drawImage 执行剪切时所调用的绘图方法,入参为是否执行了剪切
+ */
+ drawClipImage(ctx, radius, scale, drawImage) {
+ if (radius > 0) {
+ ctx.save();
+ ctx.beginPath();
+ const w = this.canvansWidth;
+ const h = this.canvansHeight;
+ if (w === h && radius >= w / 2) {
+ ctx.arc(w / 2, h / 2, w / 2, 0, 2 * Math.PI);
+ } else {
+ if (w !== h) {
+ radius = Math.min(w / 2, h / 2, radius);
+ }
+ ctx.moveTo(radius, 0);
+ ctx.arcTo(w, 0, w, h, radius);
+ ctx.arcTo(w, h, 0, h, radius);
+ ctx.arcTo(0, h, 0, 0, radius);
+ ctx.arcTo(0, 0, w, 0, radius);
+ ctx.closePath();
+ }
+ ctx.clip();
+ drawImage && drawImage(true);
+ ctx.restore();
+ } else {
+ drawImage && drawImage(false);
+ }
+ },
+ /**
+ * 旋转图片
+ * @param {Object} ctx canvas 的绘图上下文对象
+ * @param {Number} rotate 旋转角度
+ * @param {Number} scale 生成图片的实际尺寸与截取区域比
+ */
+ drawRotateImage(ctx, rotate, scale) {
+ if (rotate !== 0) {
+ const x = this.scaleWidth * scale / 2;
+ const y = this.scaleHeight * scale / 2;
+ ctx.translate(x, y);
+ ctx.rotate(rotate * Math.PI / 180);
+ ctx.translate(-x, -y);
+ }
+ },
+ drawImage(ctx, image, callback) {
+ const scale = this.canvansWidth / this.area.width;
+ if (this.backgroundColor) {
+ if (ctx.setFillStyle)
+ ctx.setFillStyle(this.backgroundColor);
+ else
+ ctx.fillStyle = this.backgroundColor;
+ ctx.fillRect(0, 0, this.canvansWidth, this.canvansHeight);
+ }
+ this.drawClipImage(ctx, this.radius, scale, () => {
+ this.drawRotateImage(ctx, this.rotate, scale);
+ const r = this.rotate / 90;
+ ctx.drawImage(
+ image,
+ [
+ this.offsetX - this.area.left,
+ this.offsetY - this.area.top,
+ -(this.offsetX - this.area.left),
+ -(this.offsetY - this.area.top)
+ ][r] * scale,
+ [
+ this.offsetY - this.area.top,
+ -(this.offsetX - this.area.left),
+ -(this.offsetY - this.area.top),
+ this.offsetX - this.area.left
+ ][r] * scale,
+ this.scaleWidth * scale,
+ this.scaleHeight * scale
+ );
+ });
+ },
+ /**
+ * 绘图
+ * @param {Object} canvas
+ * @param {Object} ctx canvas 的绘图上下文对象
+ * @param {String} src 图片路径
+ * @param {Function} callback 开始绘制时回调
+ */
+ draw2DImage(canvas, ctx, src, callback) {
+ if (canvas) {
+ const image = canvas.createImage();
+ image.onload = () => {
+ this.drawImage(ctx, image);
+ callback && setTimeout(callback, this.delay);
+ };
+ image.onerror = (err) => {
+ common_vendor.index.__f__("error", "at uni_modules/qf-image-cropper/components/qf-image-cropper/qf-image-cropper.vue:540", err);
+ common_vendor.index.hideLoading();
+ };
+ image.src = src;
+ } else {
+ this.drawImage(ctx, src);
+ setTimeout(() => {
+ ctx.draw(false, callback);
+ }, 200);
+ }
+ },
+ /**
+ * 画布转图片到本地缓存
+ * @param {Object} canvas
+ * @param {String} canvasId
+ */
+ canvasToTempFilePath(canvas, canvasId) {
+ common_vendor.index.canvasToTempFilePath({
+ canvas,
+ canvasId,
+ x: 0,
+ y: 0,
+ width: this.canvansWidth,
+ height: this.canvansHeight,
+ destWidth: this.imgWidth,
+ // 必要,保证生成图片宽度不受设备分辨率影响
+ destHeight: this.imgHeight,
+ // 必要,保证生成图片高度不受设备分辨率影响
+ fileType: this.fileType,
+ // 目标文件的类型,默认png
+ success: (res) => {
+ this.handleImage(res.tempFilePath);
+ },
+ fail: (err) => {
+ common_vendor.index.hideLoading();
+ common_vendor.index.showToast({ title: "裁剪失败,生成图片异常!", icon: "none" });
+ }
+ }, this);
+ },
+ /** 确认裁剪 */
+ cropClick() {
+ common_vendor.index.showLoading({ title: "裁剪中...", mask: true });
+ if (!this.use2d) {
+ const ctx = common_vendor.index.createCanvasContext("imgCanvas", this);
+ ctx.clearRect(0, 0, this.canvansWidth, this.canvansHeight);
+ this.draw2DImage(null, ctx, this.imgSrc, () => {
+ this.canvasToTempFilePath(null, "imgCanvas");
+ });
+ return;
+ }
+ const query = common_vendor.index.createSelectorQuery().in(this);
+ query.select("#imgCanvas").fields({ node: true, size: true }).exec((res) => {
+ const canvas = res[0].node;
+ const dpr = common_vendor.index.getSystemInfoSync().pixelRatio;
+ canvas.width = res[0].width * dpr;
+ canvas.height = res[0].height * dpr;
+ const ctx = canvas.getContext("2d");
+ ctx.scale(dpr, dpr);
+ ctx.clearRect(0, 0, this.canvansWidth, this.canvansHeight);
+ this.draw2DImage(canvas, ctx, this.imgSrc, () => {
+ this.canvasToTempFilePath(canvas);
+ });
+ });
+ },
+ handleImage(tempFilePath) {
+ common_vendor.index.hideLoading();
+ this.$emit("crop", { tempFilePath });
+ }
+ }
+};
+function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
+ return common_vendor.e({
+ a: $data.use2d
+ }, $data.use2d ? {
+ b: `${$data.canvansWidth}px`,
+ c: `${$data.canvansHeight}px`
+ } : {
+ d: `${$data.canvansWidth}px`,
+ e: `${$data.canvansHeight}px`
+ }, {
+ f: $data.imgSrc
+ }, $data.imgSrc ? {
+ g: $data.imgSrc
+ } : {}, {
+ h: common_vendor.f($data.maskList, (item, index, i0) => {
+ return {
+ a: item.id,
+ b: item.id
+ };
+ }),
+ i: $props.showBorder
+ }, $props.showBorder ? {} : {}, {
+ j: $props.radius > 0
+ }, $props.radius > 0 ? {} : {}, {
+ k: $props.showGrid
+ }, $props.showGrid ? {
+ l: common_vendor.f($data.gridList, (item, index, i0) => {
+ return {
+ a: item.id,
+ b: item.id
+ };
+ })
+ } : {}, {
+ m: $props.showAngle
+ }, $props.showAngle ? {
+ n: common_vendor.f($data.angleList, (item, index, i0) => {
+ return {
+ a: item.id,
+ b: item.id
+ };
+ }),
+ o: common_vendor.s({
+ width: `${$props.angleSize}px`,
+ height: `${$props.angleSize}px`
+ })
+ } : {}, {
+ p: $options.initData,
+ q: ($props.rotatable || $props.reverseRotatable) && !!$data.imgSrc
+ }, ($props.rotatable || $props.reverseRotatable) && !!$data.imgSrc ? common_vendor.e({
+ r: $props.reverseRotatable
+ }, $props.reverseRotatable ? {} : {}, {
+ s: $props.rotatable
+ }, $props.rotatable ? {} : {}) : {}, {
+ t: !$props.choosable
+ }, !$props.choosable ? {
+ v: common_vendor.o((...args) => $options.cropClick && $options.cropClick(...args))
+ } : !!$data.imgSrc ? {
+ x: common_vendor.o((...args) => $options.chooseImage && $options.chooseImage(...args)),
+ y: common_vendor.o((...args) => $options.cropClick && $options.cropClick(...args))
+ } : {
+ z: common_vendor.o((...args) => $options.chooseImage && $options.chooseImage(...args))
+ }, {
+ w: !!$data.imgSrc,
+ A: $options.initData.area.zIndex + 99,
+ B: $props.zIndex
+ });
+}
+if (typeof block0 === "function")
+ block0(_sfc_main);
+const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-7129956f"]]);
+wx.createComponent(Component);
+//# sourceMappingURL=../../../../../.sourcemap/mp-weixin/uni_modules/qf-image-cropper/components/qf-image-cropper/qf-image-cropper.js.map
diff --git a/unpackage/dist/dev/mp-weixin/uni_modules/qf-image-cropper/components/qf-image-cropper/qf-image-cropper.json b/unpackage/dist/dev/mp-weixin/uni_modules/qf-image-cropper/components/qf-image-cropper/qf-image-cropper.json
new file mode 100644
index 0000000..e8cfaaf
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/uni_modules/qf-image-cropper/components/qf-image-cropper/qf-image-cropper.json
@@ -0,0 +1,4 @@
+{
+ "component": true,
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/uni_modules/qf-image-cropper/components/qf-image-cropper/qf-image-cropper.wxml b/unpackage/dist/dev/mp-weixin/uni_modules/qf-image-cropper/components/qf-image-cropper/qf-image-cropper.wxml
new file mode 100644
index 0000000..bba8c62
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/uni_modules/qf-image-cropper/components/qf-image-cropper/qf-image-cropper.wxml
@@ -0,0 +1,730 @@
+
+/**
+ * 图片编辑器-手势监听
+ * 1. wxs 暂不支持 es6 语法
+ * 2. 支持编译到微信小程序、QQ小程序、app-vue、H5上(uni-app 2.2.5及以上版本)
+ */
+/** 图片偏移量 */
+var offset = { x: 0, y: 0 };
+/** 图片缩放比例 */
+var scale = 1;
+/** 图片最小缩放比例 */
+var minScale = 1;
+/** 图片旋转角度 */
+var rotate = 0;
+/** 触摸点 */
+var touches = [];
+/** 图片布局信息 */
+var img = {};
+/** 系统信息 */
+var sys = {};
+/** 裁剪区域布局信息 */
+var area = {};
+/** 触摸行为类型 */
+var touchType = '';
+/** 操作角的位置 */
+var activeAngle = 0;
+/** 裁剪区域布局信息偏移量 */
+var areaOffset = { left: 0, right: 0, top: 0, bottom: 0 };
+/** 容错值 */
+var fault = 0.000001;
+/**
+ * 获取a、b两数中的最小正数
+ * @param a
+ * @param b
+ */
+function minimum(a, b) {
+ if (a > 0 && b < 0) return a;
+ if (a < 0 && b > 0) return b;
+ if (a > 0 && b > 0) return Math.min(a, b);
+ return 0;
+}
+/**
+ * 在容错访问内获取n近似值
+ * @param n
+ */
+function num(n) {
+ var m = parseFloat((n).toFixed(6));
+ return m === fault || m === -fault ? 0 : m;
+}
+/**
+ * 比较a值在容错值范围内是否等于b值
+ * @param a
+ * @param b
+ */
+function equalsByFault(a, b) {
+ return Math.abs(a - b) <= fault;
+}
+/**
+ * 比较a值在容错值范围内是否小于b值
+ * @param a
+ * @param b
+ */
+function lessThanByFault(a, b) {
+ var c = a - b;
+ return c < 0 ? c < -fault : c < fault;
+}
+/**
+ * 验证并获取有效最大值
+ * @param v
+ * @param max
+ * @param isInclude
+ * @param x
+ * @param y
+ * @param rate
+ * @returns
+ */
+function validMax(v, max, isInclude, x, y, rate) {
+ if(typeof max === 'number') {
+ if(isInclude && equalsByFault(max, y)) { // 宽高不等时,x轴用y轴值要做等比例转换
+ var n = num(max * rate);
+ if (n <= x) return n; // 转化后值在x轴最大值范围内
+ return x; // 转化后值超出x轴最大值范围则用最大值
+ }
+ return max;
+ }
+ return v;
+}
+/**
+ * 计算两点间距
+ * @param {Object} touches 触摸点信息
+ */
+function getDistanceByTouches(touches) {
+ // 根据勾股定理求两点间距离
+ var a = touches[1].pageX - touches[0].pageX;
+ var b = touches[1].pageY - touches[0].pageY;
+ var c = Math.sqrt(Math.pow(a, 2) + Math.pow(b, 2));
+ // 求两点间的中点坐标
+ // 1. a、b可能为负值
+ // 2. 在求a、b时,如用touches[1]减touches[0],则求中点坐标也得用touches[1]减a/2、b/2
+ // 3. 同理,在求a、b时,也可用touches[0]减touches[1],则求中点坐标也得用touches[0]减a/2、b/2
+ var x = touches[1].pageX - a / 2;
+ var y = touches[1].pageY - b / 2;
+ return { c, x, y };
+};
+/**
+ * 修正取值
+ * @param {Object} a
+ * @param {Object} b
+ * @param {Object} c
+ * @param {Object} reverse 是否反向
+ */
+function correctValue(a, b, c, reverse) {
+ return num(reverse ? Math.max(Math.min(a, b), c) : Math.min(Math.max(a, b), c));
+}
+
+/**
+ * 旋转90°或270°时检查边界:限制 x、y 拖动范围,禁止滑出边界
+ * @param {Object} e 点坐标
+ * @param {Object} xReverse x是否反向
+ * @param {Object} yReverse y是否反向
+ */
+function checkRotateRange(e, xReverse, yReverse) {
+ var o = num((img.height - img.width) / 2); // 宽高差值一半
+ return {
+ x: correctValue(e.x, -img.height + o + area.width + area.left, area.left + o, xReverse),
+ y: correctValue(e.y, -img.width - o + area.height + area.top, area.top - o, yReverse)
+ };
+}
+
+/**
+ * 检查边界:限制 x、y 拖动范围,禁止滑出边界
+ * @param {Object} e 点坐标
+ */
+function checkRange(e) {
+ var r = rotate / 90 % 2;
+ if(r === 1) { // 因图片宽高可能不等,翻转 90° 或 270° 后图片宽高需反着计算,且左右和上下边界要根据差值做偏移
+ if (area.width === area.height) {
+ return checkRotateRange(e, img.height < area.height, img.width < area.width);
+ }
+ var isInclude = img.height < area.width && img.width < area.height; // 图片是否包含在裁剪区域内
+ if (img.width < area.height || img.height < area.width) {
+ if (area.width < area.height && img.width < img.height) {
+ return isInclude
+ ? checkRotateRange(e, area.width < area.height, area.width < area.height)
+ : checkRotateRange(e, false, true);
+ }
+ if (area.height < area.width && img.height < img.width) {
+ return isInclude
+ ? checkRotateRange(e, area.height < area.width, area.height < area.width)
+ : checkRotateRange(e, true, false);
+ }
+ }
+ if (img.height >= area.width && img.width >= area.height) {
+ return checkRotateRange(e, false, false);
+ }
+ if (isInclude) {
+ return area.height < area.width
+ ? checkRotateRange(e, true, true)
+ : checkRotateRange(e, area.width < area.height, area.width < area.height);
+ }
+ if (img.height < area.width && !img.width < area.height) {
+ return checkRotateRange(e, true, false);
+ }
+ if (!img.height < area.width && img.width < area.height) {
+ return checkRotateRange(e, false, true);
+ }
+ return checkRotateRange(e, img.height < area.height, img.width < area.width);
+ }
+ return {
+ x: correctValue(e.x, -img.width + area.width + area.left, area.left, img.width < area.width),
+ y: correctValue(e.y, -img.height + area.height + area.top, area.top, img.height < area.height)
+ };
+};
+/**
+ * 变更图片布局信息
+ * @param {Object} e 布局信息
+ */
+function changeImageRect(e) {
+ offset.x += e.x || 0;
+ offset.y += e.y || 0;
+ var image = e.instance.selectComponent('.crop-image');
+ if(e.check && area.checkRange) { // 检查边界
+ var point = checkRange(offset);
+ if(offset.x !== point.x || offset.y !== point.y) {
+ offset = point;
+ }
+ }
+ // image.setStyle({
+ // width: img.width + 'px',
+ // height: img.height + 'px',
+ // transform: 'translate(' + offset.x + 'px, ' + offset.y + 'px) rotate(' + rotate +'deg)'
+ // });
+ var ox = (img.width - img.oldWidth) / 2;
+ var oy = (img.height - img.oldHeight) / 2;
+ image.setStyle({
+ width: img.oldWidth + 'px',
+ height: img.oldHeight + 'px',
+ transform: (img.gpu ? 'translateZ(0) ' : '') + 'translate(' + (offset.x + ox) + 'px, ' + (offset.y + oy) + 'px) rotate(' + rotate +'deg) scale(' + scale + ')'
+ });
+
+ e.instance.callMethod('dataChange', {
+ width: img.width,
+ height: img.height,
+ x: offset.x,
+ y: offset.y,
+ rotate: rotate
+ });
+};
+/**
+ * 变更裁剪区域布局信息
+ * @param {Object} e 布局信息
+ */
+function changeAreaRect(e) {
+ // 变更蒙版样式
+ var masks = e.instance.selectAllComponents('.crop-mask-block');
+ var maskStyles = [
+ {
+ left: 0,
+ width: (area.left + areaOffset.left) + 'px',
+ top: 0,
+ bottom: 0,
+ 'z-index': area.zIndex + 2
+ },
+ {
+ left: (area.right + areaOffset.right) + 'px',
+ right: 0,
+ top: 0,
+ bottom: 0,
+ 'z-index': area.zIndex + 2
+ },
+ {
+ left: (area.left + areaOffset.left) + 'px',
+ width: (area.width + areaOffset.right - areaOffset.left) + 'px',
+ top: 0,
+ height: (area.top + areaOffset.top) + 'px',
+ 'z-index': area.zIndex + 2
+ },
+ {
+ left: (area.left + areaOffset.left) + 'px',
+ width: (area.width + areaOffset.right - areaOffset.left) + 'px',
+ top: (area.bottom + areaOffset.bottom) + 'px',
+ // height: (area.top - areaOffset.bottom + sys.offsetBottom) + 'px',
+ bottom: 0,
+ 'z-index': area.zIndex + 2
+ }
+ ];
+ var len = masks.length;
+ for (var i = 0; i < len; i++) {
+ masks[i].setStyle(maskStyles[i]);
+ }
+
+ // 变更边框样式
+ if(area.showBorder) {
+ var border = e.instance.selectComponent('.crop-border');
+ border.setStyle({
+ left: (area.left + areaOffset.left) + 'px',
+ top: (area.top + areaOffset.top) + 'px',
+ width: (area.width + areaOffset.right - areaOffset.left) + 'px',
+ height: (area.height + areaOffset.bottom - areaOffset.top) + 'px',
+ 'z-index': area.zIndex + 3
+ });
+ }
+
+ // 变更参考线样式
+ if(area.showGrid) {
+ var grids = e.instance.selectAllComponents('.crop-grid');
+ var gridStyles = [
+ {
+ 'border-width': '1px 0 0 0',
+ left: (area.left + areaOffset.left) + 'px',
+ right: (area.right + areaOffset.right) + 'px',
+ top: (area.top + areaOffset.top + (area.height + areaOffset.bottom - areaOffset.top) / 3 - 0.5) + 'px',
+ width: (area.width + areaOffset.right - areaOffset.left) + 'px',
+ 'z-index': area.zIndex + 3
+ },
+ {
+ 'border-width': '1px 0 0 0',
+ left: (area.left + areaOffset.left) + 'px',
+ right: (area.right + areaOffset.right) + 'px',
+ top: (area.top + areaOffset.top + (area.height + areaOffset.bottom - areaOffset.top) * 2 / 3 - 0.5) + 'px',
+ width: (area.width + areaOffset.right - areaOffset.left) + 'px',
+ 'z-index': area.zIndex + 3
+ },
+ {
+ 'border-width': '0 1px 0 0',
+ top: (area.top + areaOffset.top) + 'px',
+ bottom: (area.bottom + areaOffset.bottom) + 'px',
+ left: (area.left + areaOffset.left + (area.width + areaOffset.right - areaOffset.left) / 3 - 0.5) + 'px',
+ height: (area.height + areaOffset.bottom - areaOffset.top) + 'px',
+ 'z-index': area.zIndex + 3
+ },
+ {
+ 'border-width': '0 1px 0 0',
+ top: (area.top + areaOffset.top) + 'px',
+ bottom: (area.bottom + areaOffset.bottom) + 'px',
+ left: (area.left + areaOffset.left + (area.width + areaOffset.right - areaOffset.left) * 2 / 3 - 0.5) + 'px',
+ height: (area.height + areaOffset.bottom - areaOffset.top) + 'px',
+ 'z-index': area.zIndex + 3
+ }
+ ];
+ var len = grids.length;
+ for (var i = 0; i < len; i++) {
+ grids[i].setStyle(gridStyles[i]);
+ }
+ }
+
+ // 变更四个伸缩角样式
+ if(area.showAngle) {
+ var angles = e.instance.selectAllComponents('.crop-angle');
+ var angleStyles = [
+ {
+ 'border-width': area.angleBorderWidth + 'px 0 0 ' + area.angleBorderWidth + 'px',
+ left: (area.left + areaOffset.left - area.angleBorderWidth) + 'px',
+ top: (area.top + areaOffset.top - area.angleBorderWidth) + 'px',
+ 'z-index': area.zIndex + 3
+ },
+ {
+ 'border-width': area.angleBorderWidth + 'px ' + area.angleBorderWidth + 'px 0 0',
+ left: (area.right + areaOffset.right - area.angleSize) + 'px',
+ top: (area.top + areaOffset.top - area.angleBorderWidth) + 'px',
+ 'z-index': area.zIndex + 3
+ },
+ {
+ 'border-width': '0 0 ' + area.angleBorderWidth + 'px ' + area.angleBorderWidth + 'px',
+ left: (area.left + areaOffset.left - area.angleBorderWidth) + 'px',
+ top: (area.bottom + areaOffset.bottom - area.angleSize) + 'px',
+ 'z-index': area.zIndex + 3
+ },
+ {
+ 'border-width': '0 ' + area.angleBorderWidth + 'px ' + area.angleBorderWidth + 'px 0',
+ left: (area.right + areaOffset.right - area.angleSize) + 'px',
+ top: (area.bottom + areaOffset.bottom - area.angleSize) + 'px',
+ 'z-index': area.zIndex + 3
+ }
+ ];
+ var len = angles.length;
+ for (var i = 0; i < len; i++) {
+ angles[i].setStyle(angleStyles[i]);
+ }
+ }
+
+ // 变更圆角样式
+ if(area.radius > 0) {
+ var circleBox = e.instance.selectComponent('.crop-circle-box');
+ var circle = e.instance.selectComponent('.crop-circle');
+ var radius = area.radius;
+ if(area.width === area.height && area.radius >= area.width / 2) { // 圆形
+ radius = (area.width / 2);
+ } else { // 圆角矩形
+ if(area.width !== area.height) { // 限制圆角半径不能超过短边的一半
+ radius = Math.min(area.width / 2, area.height / 2, radius);
+ }
+ }
+ circleBox.setStyle({
+ left: (area.left + areaOffset.left) + 'px',
+ top: (area.top + areaOffset.top) + 'px',
+ width: (area.width + areaOffset.right - areaOffset.left) + 'px',
+ height: (area.height + areaOffset.bottom - areaOffset.top) + 'px',
+ 'z-index': area.zIndex + 2
+ });
+ circle.setStyle({
+ 'box-shadow': '0 0 0 ' + Math.max(area.width, area.height) + 'px rgba(51, 51, 51, 0.8)',
+ 'border-radius': radius + 'px'
+ });
+ }
+};
+/**
+ * 缩放图片
+ * @param {Object} e 布局信息
+ */
+function scaleImage(e) {
+ var last = scale;
+ scale = Math.min(Math.max(e.scale + scale, minScale), img.maxScale);
+ if(last !== scale) {
+ img.width = num(img.oldWidth * scale);
+ img.height = num(img.oldHeight * scale);
+ // 参考问题:有一个长4000px、宽4000px的四方形ABCD,A点的坐标固定在(-2000,-2000),
+ // 该四边形上有一个点E,坐标为(-100,-300),将该四方形复制一份并缩小到90%后,
+ // 新四边形的A点坐标为多少时可使新四边形的E点与原四边形的E点重合?
+ // 预期效果:从图中选取某点(参照物)为中心点进行缩放,缩放时无论图像怎么变化,该点位置始终固定不变
+ // 计算方法:以相同起点先计算缩放前后两点间的距离,再加上原图像偏移量即可
+ e.x = num((e.x - offset.x) * (1 - scale / last));
+ e.y = num((e.y - offset.y) * (1 - scale / last));
+ changeImageRect(e);
+ return true;
+ }
+ return false;
+};
+/**
+ * 获取触摸点在哪个角
+ * @param {number} x 触摸点x轴坐标
+ * @param {number} y 触摸点y轴坐标
+ * @return {number} 角的位置:0=无;1=左上;2=右上;3=左下;4=右下;
+ */
+function getToucheAngle(x, y) {
+ // console.log('getToucheAngle', x, y, JSON.stringify(area))
+ var o = area.angleBorderWidth; // 需扩大触发范围则把 o 值加大即可
+ if(y >= area.top - o && y <= area.top + area.angleSize + o) {
+ if(x >= area.left - o && x <= area.left + area.angleSize + o) {
+ return 1; // 左上角
+ } else if(x >= area.right - area.angleSize - o && x <= area.right + o) {
+ return 2; // 右上角
+ }
+ } else if(y >= area.bottom - area.angleSize - o && y <= area.bottom + o) {
+ if(x >= area.left - o && x <= area.left + area.angleSize + o) {
+ return 3; // 左下角
+ } else if(x >= area.right - area.angleSize - o && x <= area.right + o) {
+ return 4; // 右下角
+ }
+ }
+ return 0; // 无触摸到角
+};
+/**
+ * 重置数据
+ */
+function resetData() {
+ offset = { x: 0, y: 0 };
+ scale = 1;
+ minScale = img.minScale;
+ rotate = 0;
+};
+/**
+* 顺时针翻转图片90°
+* @param {Object} e 事件对象
+* @param {Object} o 组件实例对象
+*/
+function rotateImage(e, o, r) {
+ rotate = (rotate + r) % 360;
+ if(img.minScale >= 1 && area.checkRange) {
+ // 因图片宽高可能不等,翻转后图片宽高需足够填满裁剪区域
+ minScale = 1;
+ if(img.width < area.height) {
+ minScale = area.height / img.oldWidth;
+ } else if(img.height < area.width) {
+ minScale = area.width / img.oldHeight;
+ }
+ if(minScale !== 1) {
+ scaleImage({
+ instance: o,
+ scale: minScale - scale,
+ x: sys.windowWidth / 2,
+ y: (sys.windowHeight - sys.offsetBottom) / 2
+ });
+ }
+ }
+
+ // 由于拖动画布后会导致图片位置偏移,翻转时的旋转中心点需是图片区域+偏移区域的中心点
+ // 翻转x轴中心点 = (超出裁剪区域右侧的图片宽度 - 超出裁剪区域左侧的图片宽度) / 2
+ // 翻转y轴中心点 = (超出裁剪区域下方的图片宽度 - 超出裁剪区域上方的图片宽度) / 2
+ var ox = ((offset.x + img.width - area.right) - (area.left - offset.x)) / 2;
+ var oy = ((offset.y + img.height - area.bottom) - (area.top - offset.y)) / 2;
+ changeImageRect({
+ instance: o,
+ check: true,
+ x: -ox - oy,
+ y: -oy + ox
+ });
+};
+module.exports = {
+ /**
+ * 初始化:观察数据变更
+ * @param {Object} newVal 新数据
+ * @param {Object} oldVal 旧数据
+ * @param {Object} o 组件实例对象
+ */
+ initObserver: function(newVal, oldVal, o, i) {
+ if(newVal) {
+ img = newVal.img;
+ sys = newVal.sys;
+ area = newVal.area;
+ minScale = img.minScale;
+ resetData();
+ img.src && changeImageRect({
+ instance: o,
+ x: (sys.windowWidth - img.width) / 2,
+ y: (sys.windowHeight - sys.offsetBottom - img.height) / 2
+ });
+ changeAreaRect({
+ instance: o
+ });
+ // console.log('initRect', JSON.stringify(newVal))
+ }
+ },
+ /**
+ * 鼠标滚轮滚动
+ * @param {Object} e 事件对象
+ * @param {Object} o 组件实例对象
+ */
+ mousewheel: function(e, o) {
+ if(!img.src) return;
+ scaleImage({
+ instance: o,
+ check: true,
+ // 鼠标向上滚动时,deltaY 固定 -100,鼠标向下滚动时,deltaY 固定 100
+ scale: e.detail.deltaY > 0 ? -0.05 : 0.05,
+ x: e.touches[0].pageX,
+ y: e.touches[0].pageY
+ });
+ },
+ /**
+ * 触摸开始
+ * @param {Object} e 事件对象
+ * @param {Object} o 组件实例对象
+ */
+ touchstart: function(e, o) {
+ if(!img.src) return;
+ touches = e.touches;
+ activeAngle = area.showAngle ? getToucheAngle(touches[0].pageX, touches[0].pageY) : 0;
+ if(touches.length === 1 && activeAngle !== 0) {
+ touchType = 'stretch'; // 伸缩裁剪区域
+ } else {
+ touchType = '';
+ }
+ // console.log('touchstart', JSON.stringify(e), activeAngle)
+ },
+ /**
+ * 触摸移动
+ * @param {Object} e 事件对象
+ * @param {Object} o 组件实例对象
+ */
+ touchmove: function(e, o) {
+ if(!img.src) return;
+ // console.log('touchmove', JSON.stringify(e), JSON.stringify(o))
+ if(touchType === 'stretch') { // 触摸四个角进行拉伸
+ var point = e.touches[0];
+ var start = touches[0];
+ var x = point.pageX - start.pageX;
+ var y = point.pageY - start.pageY;
+ if(x !== 0 || y !== 0) {
+ var maxX = num(area.width * (1 - area.minScale));
+ var maxY = num(area.height * (1 - area.minScale));
+ // console.log(x, y, maxX, maxY, offset, area)
+ touches[0] = point;
+ var r = rotate / 90 % 2;
+ var m = r === 1 ? num((img.height - img.width) / 2) : 0; // 宽高差值一半
+ var xCompare = r === 1 ? lessThanByFault(img.height, area.width) : lessThanByFault(img.width, area.width);
+ var yCompare = r === 1 ? lessThanByFault(img.width, area.height) : lessThanByFault(img.height, area.height)
+ var isInclude = xCompare && yCompare;
+ var isIntersect = area.checkRange && (xCompare || yCompare); // 图片是否包含在裁剪区域内
+ var isReverse = !isInclude || num((offset.x - area.left) / area.width) <= num((offset.y - area.top) / area.height) || (area.width > area.height && img.width < img.height && r === 1);
+ switch(activeAngle) {
+ case 1: // 左上角
+ x = num(x + areaOffset.left);
+ y = num(y + areaOffset.top);
+ if(x >= 0 && y >= 0) { // 有效滑动
+ var t = num(offset.y + m - area.top);
+ var l = num(offset.x - m - area.left);
+ // && (offset.x + img.width < area.right || offset.y + img.height < area.bottom)
+ var max = isIntersect && ((l >= 0) || (t >= 0))
+ ? minimum(t, l)
+ : false;
+ if(x > y && isReverse) { // 以x轴滑动距离为缩放基准
+ maxX = validMax(maxX, max, isInclude, l, t, area.width / area.height);
+ if(x > maxX) x = maxX;
+ y = num(x * area.height / area.width);
+ } else { // 以y轴滑动距离为缩放基准
+ maxY = validMax(maxY, max, isInclude, t, l, area.height / area.width);
+ if(y > maxY) y = maxY;
+ x = num(y * area.width / area.height);
+ }
+ areaOffset.left = x;
+ areaOffset.top = y;
+ }
+ break;
+ case 2: // 右上角
+ x = num(x + areaOffset.right);
+ y = num(y + areaOffset.top);
+ if(x <= 0 && y >= 0) { // 有效滑动
+ var w = (r === 1 ? img.height : img.width);
+ var t = num(offset.y + m - area.top);
+ var l = num(area.right + m - offset.x - w);
+ var max = isIntersect && ((t >= 0) || (l >= 0))
+ ? minimum(t, l)
+ : false;
+ // var max = isInclude && ((offset.x > 0 && offset.x + img.width <= area.right) || (offset.y > 0 && offset.y >= area.top))
+ // ? minimum(offset.y - area.top, area.right - offset.x - img.width)
+ // : false;
+ // console.log(offset.x, offset.y, img.width, img.height, area.top, area.right, m, max)
+ // console.log(offset.y + m - area.top, area.right + m - offset.x - w)
+ if(-x > y && isReverse) { // 以x轴滑动距离为缩放基准
+ maxX = validMax(maxX, max, isInclude, l, t, area.width / area.height);
+ if(-x > maxX) x = -maxX;
+ y = num(-x * area.height / area.width);
+ } else { // 以y轴滑动距离为缩放基准
+ maxY = validMax(maxY, max, isInclude, t, l, area.height / area.width);
+ if(y > maxY) y = maxY;
+ x = num(-y * area.width / area.height);
+ }
+ areaOffset.right = x;
+ areaOffset.top = y;
+ }
+ break;
+ case 3: // 左下角
+ x += num(x + areaOffset.left);
+ y += num(y + areaOffset.bottom);
+ if(x >= 0 && y <= 0) { // 有效滑动
+ var w = (r === 1 ? img.width : img.height);
+ var t = num(area.bottom - m - offset.y - w);
+ var l = num(offset.x - m - area.left);
+ var max = isIntersect && ((l >= 0) || (t >= 0))
+ ? minimum(t, l)
+ : false;
+ if(x > -y && isReverse) { // 以x轴滑动距离为缩放基准
+ maxX = validMax(maxX, max, isInclude, l, t, area.width / area.height);
+ if(x > maxX) x = maxX;
+ y = num(-x * area.height / area.width);
+ } else { // 以y轴滑动距离为缩放基准
+ maxY = validMax(maxY, max, isInclude, t, l, area.height / area.width);
+ if(-y > maxY) y = -maxY;
+ x = num(-y * area.width / area.height);
+ }
+ areaOffset.left = x;
+ areaOffset.bottom = y;
+ }
+ break;
+ case 4: // 右下角
+ x = num(x + areaOffset.right);
+ y = num(y + areaOffset.bottom);
+ if(x <= 0 && y <= 0) { // 有效滑动
+ var w = (r === 1 ? img.height : img.width);
+ var h = (r === 1 ? img.width : img.height);
+ var t = num(area.bottom - offset.y - h - m);
+ var l = num(area.right + m - offset.x - w);
+ var max = isIntersect && ((l >= 0) || (t >= 0))
+ ? minimum(t, l)
+ : false;
+ if(-x > -y && isReverse) { // 以x轴滑动距离为缩放基准
+ maxX = validMax(maxX, max, isInclude, l, t, area.width / area.height);
+ if(-x > maxX) x = -maxX;
+ y = num(x * area.height / area.width);
+ } else { // 以y轴滑动距离为缩放基准
+ maxY = validMax(maxY, max, isInclude, t, l, area.height / area.width);
+ if(-y > maxY) y = -maxY;
+ x = num(y * area.width / area.height);
+ }
+ areaOffset.right = x;
+ areaOffset.bottom = y;
+ }
+ break;
+ }
+ // console.log(x, y, JSON.stringify(areaOffset))
+ changeAreaRect({
+ instance: o,
+ });
+ // this.draw();
+ }
+ } else if (e.touches.length == 2) { // 双点触摸缩放
+ var start = getDistanceByTouches(touches);
+ var end = getDistanceByTouches(e.touches);
+ scaleImage({
+ instance: o,
+ check: !area.bounce,
+ scale: (end.c - start.c) / 100,
+ x: end.x,
+ y: end.y
+ });
+ touchType = 'scale';
+ } else if(touchType === 'scale') {// 从双点触摸变成单点触摸 / 从缩放变成拖动
+ touchType = 'move';
+ } else {
+ changeImageRect({
+ instance: o,
+ check: !area.bounce,
+ x: e.touches[0].pageX - touches[0].pageX,
+ y: e.touches[0].pageY - touches[0].pageY
+ });
+ touchType = 'move';
+ }
+ touches = e.touches;
+ },
+ /**
+ * 触摸结束
+ * @param {Object} e 事件对象
+ * @param {Object} o 组件实例对象
+ */
+ touchend: function(e, o) {
+ if(!img.src) return;
+ if(touchType === 'stretch') { // 拉伸裁剪区域的四个角缩放
+ // 裁剪区域宽度被缩放到多少
+ var left = areaOffset.left;
+ var right = areaOffset.right;
+ var top = areaOffset.top;
+ var bottom = areaOffset.bottom;
+ var w = area.width + right - left;
+ var h = area.height + bottom - top;
+ // 图像放大倍数
+ var p = scale * (area.width / w) - scale;
+ // 复原裁剪区域
+ areaOffset = { left: 0, right: 0, top: 0, bottom: 0 };
+ changeAreaRect({
+ instance: o,
+ });
+ scaleImage({
+ instance: o,
+ scale: p,
+ x: area.left + left + (1 === activeAngle || 3 === activeAngle ? w : 0),
+ y: area.top + top + (1 === activeAngle || 2 === activeAngle ? h : 0)
+ });
+ } else if (area.bounce) { // 检查边界并矫正,实现拖动到边界时有回弹效果
+ changeImageRect({
+ instance: o,
+ check: true
+ });
+ }
+ },
+ /**
+ * 顺时针翻转图片90°
+ * @param {Object} e 事件对象
+ * @param {Object} o 组件实例对象
+ */
+ rotateImage: function(e, o) {
+ rotateImage(e, o, 90);
+ },
+ rotateImage90: function(e, o) {
+ rotateImage(e, o, 90)
+ },
+ rotateImage270: function(e, o) {
+ rotateImage(e, o, 270)
+ },
+ // 此处只用于对齐其他平台端的样式参数,防止异常,无作用
+ imageStyles: '',
+ maskStylesList: ['', '', '', ''],
+ borderStyles: '',
+ gridStylesList: ['', '', '', ''],
+ angleStylesList: ['', '', '', ''],
+ circleBoxStyles: '',
+ circleStyles: '',
+}
+
+确定 重选 确定 选择图片
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/uni_modules/qf-image-cropper/components/qf-image-cropper/qf-image-cropper.wxss b/unpackage/dist/dev/mp-weixin/uni_modules/qf-image-cropper/components/qf-image-cropper/qf-image-cropper.wxss
new file mode 100644
index 0000000..795d12d
--- /dev/null
+++ b/unpackage/dist/dev/mp-weixin/uni_modules/qf-image-cropper/components/qf-image-cropper/qf-image-cropper.wxss
@@ -0,0 +1,141 @@
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+.image-cropper.data-v-7129956f {
+ position: fixed;
+ left: 0;
+ right: 0;
+ top: 0;
+ bottom: 0;
+ overflow: hidden;
+ display: flex;
+ flex-direction: column;
+ background-color: #000;
+}
+.image-cropper .img-canvas.data-v-7129956f {
+ position: absolute !important;
+ transform: translateX(-100%);
+}
+.image-cropper .pic-preview.data-v-7129956f {
+ width: 100%;
+ flex: 1;
+ position: relative;
+}
+.image-cropper .pic-preview .crop-mask-block.data-v-7129956f {
+ background-color: rgba(51, 51, 51, 0.8);
+ z-index: 2;
+ position: fixed;
+ box-sizing: border-box;
+ pointer-events: none;
+}
+.image-cropper .pic-preview .crop-circle-box.data-v-7129956f {
+ position: fixed;
+ box-sizing: border-box;
+ z-index: 2;
+ pointer-events: none;
+ overflow: hidden;
+}
+.image-cropper .pic-preview .crop-circle-box .crop-circle.data-v-7129956f {
+ width: 100%;
+ height: 100%;
+}
+.image-cropper .pic-preview .crop-image.data-v-7129956f {
+ padding: 0 !important;
+ margin: 0 !important;
+ border-radius: 0 !important;
+ display: block !important;
+ -webkit-backface-visibility: hidden;
+ backface-visibility: hidden;
+}
+.image-cropper .pic-preview .crop-border.data-v-7129956f {
+ position: fixed;
+ border: 1px solid #fff;
+ box-sizing: border-box;
+ z-index: 3;
+ pointer-events: none;
+}
+.image-cropper .pic-preview .crop-grid.data-v-7129956f {
+ position: fixed;
+ z-index: 3;
+ border-style: dashed;
+ border-color: #fff;
+ pointer-events: none;
+ opacity: 0.5;
+}
+.image-cropper .pic-preview .crop-angle.data-v-7129956f {
+ position: fixed;
+ z-index: 3;
+ border-style: solid;
+ border-color: #fff;
+ pointer-events: none;
+}
+.image-cropper .fixed-bottom.data-v-7129956f {
+ position: fixed;
+ left: 0;
+ right: 0;
+ bottom: 0;
+ z-index: 99;
+ display: flex;
+ flex-direction: row;
+ background-color: #f8f8f8;
+}
+.image-cropper .fixed-bottom .action-bar.data-v-7129956f {
+ position: absolute;
+ top: -90rpx;
+ left: 10rpx;
+ display: flex;
+}
+.image-cropper .fixed-bottom .action-bar .rotate-icon.data-v-7129956f {
+ background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAAXNSR0IArs4c6QAABCFJREFUaEPtml3IpVMUx3//ko/ChTIyiGFSMyhllI8bc4F85yuNC2FCqLmQC1+FZORiEkUMNW7UjKjJULgxV+NzSkxDhEkZgwsyigv119J63p7zvOc8z37OmXdOb51dz82711r7/99r7bXXXucVi3xokeNnRqCvB20fDmwAlgK/5bcD+FTSr33tHXQP2H4MeHQE0A+B5yRtLiUyDQJrgVc6AAaBpyV93kXkoBMIQLbfBS5NcK8BRwDXNcD+AdwnaVMbiWkRCPBBohpxHuK7M7865sclRdgNHVMhkF6IMIpwirFEUhzo8M7lwIvASTXEqyVtH8ZgagQSbOzsDknv18HZXpHn5IL8+94IOUm7miSmSqAttjPdbgGuTrnNktYsGgLpoYuAD2qg1zRTbG8P2D4SOC6/Q7vSHPALsE/S7wWy80RsPw/ckxMfSTq/LtRJwPbxwF3ASiCUTxwHCPAnEBfVF8AWSTtL7Ng+LfWOTfmlkn6udFsJ5K15R6a4kvX6yGyUFBvTOWzHXXFzCt4g6c1OArYj9iIGh43YgR+BvztXh1PSa4cMkd0jaVmXDduPAE+k3HpJD7cSGFKvfAc8FQUX8IOk/V2L1udtB/hTgdOBW4Aba/M7Ja1qs2f7euCNlHlZUlx4/495IWQ7Jl+qGbxX0gt9AHfJ2o6zFBVoNVrDKe+F3Sm8VdK1bQQ+A85JgXckXdkFaJx527cC9TpnVdvBtl3h2iapuhsGPdBw1b9xnUvaNw7AEh3bnwDnpuwGSfeP0rN9NvAMELXRXFkxEEK2nwQeSiOtRVQJwC4Z29cAW1Nuu6TVXTrN+SaBt4ErUug2Sa/2NdhH3vZy4NvU2S/p6D768w5xI3WOrAD7LtISFpGdIhVXKfaYvjd20wP13L9M0p4DBbaFRKToSLExVkr6qs+aIwlI6iwz+izUQqC+ab29PiMwqRcmPXczD8w8MFj1zg7xXEqbpdHCw7FgWSjafZL+KcQxtpjteCeflwYulFR/J3TabSslVkj6utPChAK2f6q9uZdLitKieLQRuExSvX9ZbLRUMFs09efpUZL+KtUfVo1GW/umNHC3pOhRLtiwfSbwZS6wV9IJfRdreuBBYH0a2STp9r4G+8jbXgc8mzoDT8VSO00ClwDv1ZR7XyylC4ec7ejaLUmdsV6Aw7oSbwFXpdFdks7qA6pU1na0aR6owgeIR/1cx63UzjAC0YXYVjMQHlkn6ZtSo21ytuPZGKFagQ/xsXZ/3iGuFrYdjafXG0DiQMeBi47c9/GV3BO247UV38n5o0UAP6xmu7jFOGxjRr66On5NPBDOCBsDTapxjHY1dyOcolNXnYlx1himE53p2PmNkxosevfavhg4Izt2k7TXPwZ2S6p6QZPin/2rwcQ7OKmBohCadJGF1P8PG6aaQBKVX/8AAAAASUVORK5CYII=");
+ background-size: 60% 60%;
+ background-repeat: no-repeat;
+ background-position: center;
+ width: 80rpx;
+ height: 80rpx;
+}
+.image-cropper .fixed-bottom .action-bar .rotate-icon.is-reverse.data-v-7129956f {
+ transform: rotateY(180deg);
+}
+.image-cropper .fixed-bottom .rechoose.data-v-7129956f {
+ color: #007aff;
+ padding: 0 15px;
+ line-height: 100rpx;
+}
+.image-cropper .fixed-bottom .choose-btn.data-v-7129956f {
+ color: #007aff;
+ text-align: center;
+ line-height: 100rpx;
+ flex: 1;
+}
+.image-cropper .fixed-bottom .button.data-v-7129956f {
+ margin: auto 15px auto auto;
+ background-color: #007aff;
+ color: #fff;
+}
+.image-cropper .safe-area-inset-bottom.data-v-7129956f {
+ padding-bottom: 0;
+ padding-bottom: constant(safe-area-inset-bottom);
+ padding-bottom: env(safe-area-inset-bottom);
+}
\ No newline at end of file