This commit is contained in:
zpc 2025-08-20 11:46:33 +08:00
parent 667d21dd34
commit 5756e37702
85 changed files with 1 additions and 15583 deletions

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
unpackage/*

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1 +0,0 @@
*{margin:0;-webkit-tap-highlight-color:transparent}html,body{-webkit-user-select:none;user-select:none;width:100%;height:100%}body{overflow-x:hidden;font-size:16px}uni-app,uni-page,uni-page-wrapper,uni-page-body{display:block;box-sizing:border-box;width:100%}uni-page-wrapper{position:relative}#app,uni-app,uni-page,uni-page-wrapper{height:100%}.uni-mask{position:fixed;z-index:999;top:0;right:0;left:0;bottom:0;background:rgba(0,0,0,.5)}.uni-fade-enter-active,.uni-fade-leave-active{transition-duration:.25s;transition-property:opacity;transition-timing-function:ease}.uni-fade-enter-from,.uni-fade-leave-active{opacity:0}.uni-loading,uni-button[loading]:before{background-color:transparent;background-image:url(data:image/svg+xml;base64,\ PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMjAiIGhlaWdodD0iMTIwIiB2aWV3Qm94PSIwIDAgMTAwIDEwMCI+PHBhdGggZmlsbD0ibm9uZSIgZD0iTTAgMGgxMDB2MTAwSDB6Ii8+PHJlY3Qgd2lkdGg9IjciIGhlaWdodD0iMjAiIHg9IjQ2LjUiIHk9IjQwIiBmaWxsPSIjRTlFOUU5IiByeD0iNSIgcnk9IjUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAgLTMwKSIvPjxyZWN0IHdpZHRoPSI3IiBoZWlnaHQ9IjIwIiB4PSI0Ni41IiB5PSI0MCIgZmlsbD0iIzk4OTY5NyIgcng9IjUiIHJ5PSI1IiB0cmFuc2Zvcm09InJvdGF0ZSgzMCAxMDUuOTggNjUpIi8+PHJlY3Qgd2lkdGg9IjciIGhlaWdodD0iMjAiIHg9IjQ2LjUiIHk9IjQwIiBmaWxsPSIjOUI5OTlBIiByeD0iNSIgcnk9IjUiIHRyYW5zZm9ybT0icm90YXRlKDYwIDc1Ljk4IDY1KSIvPjxyZWN0IHdpZHRoPSI3IiBoZWlnaHQ9IjIwIiB4PSI0Ni41IiB5PSI0MCIgZmlsbD0iI0EzQTFBMiIgcng9IjUiIHJ5PSI1IiB0cmFuc2Zvcm09InJvdGF0ZSg5MCA2NSA2NSkiLz48cmVjdCB3aWR0aD0iNyIgaGVpZ2h0PSIyMCIgeD0iNDYuNSIgeT0iNDAiIGZpbGw9IiNBQkE5QUEiIHJ4PSI1IiByeT0iNSIgdHJhbnNmb3JtPSJyb3RhdGUoMTIwIDU4LjY2IDY1KSIvPjxyZWN0IHdpZHRoPSI3IiBoZWlnaHQ9IjIwIiB4PSI0Ni41IiB5PSI0MCIgZmlsbD0iI0IyQjJCMiIgcng9IjUiIHJ5PSI1IiB0cmFuc2Zvcm09InJvdGF0ZSgxNTAgNTQuMDIgNjUpIi8+PHJlY3Qgd2lkdGg9IjciIGhlaWdodD0iMjAiIHg9IjQ2LjUiIHk9IjQwIiBmaWxsPSIjQkFCOEI5IiByeD0iNSIgcnk9IjUiIHRyYW5zZm9ybT0icm90YXRlKDE4MCA1MCA2NSkiLz48cmVjdCB3aWR0aD0iNyIgaGVpZ2h0PSIyMCIgeD0iNDYuNSIgeT0iNDAiIGZpbGw9IiNDMkMwQzEiIHJ4PSI1IiByeT0iNSIgdHJhbnNmb3JtPSJyb3RhdGUoLTE1MCA0NS45OCA2NSkiLz48cmVjdCB3aWR0aD0iNyIgaGVpZ2h0PSIyMCIgeD0iNDYuNSIgeT0iNDAiIGZpbGw9IiNDQkNCQ0IiIHJ4PSI1IiByeT0iNSIgdHJhbnNmb3JtPSJyb3RhdGUoLTEyMCA0MS4zNCA2NSkiLz48cmVjdCB3aWR0aD0iNyIgaGVpZ2h0PSIyMCIgeD0iNDYuNSIgeT0iNDAiIGZpbGw9IiNEMkQyRDIiIHJ4PSI1IiByeT0iNSIgdHJhbnNmb3JtPSJyb3RhdGUoLTkwIDM1IDY1KSIvPjxyZWN0IHdpZHRoPSI3IiBoZWlnaHQ9IjIwIiB4PSI0Ni41IiB5PSI0MCIgZmlsbD0iI0RBREFEQSIgcng9IjUiIHJ5PSI1IiB0cmFuc2Zvcm09InJvdGF0ZSgtNjAgMjQuMDIgNjUpIi8+PHJlY3Qgd2lkdGg9IjciIGhlaWdodD0iMjAiIHg9IjQ2LjUiIHk9IjQwIiBmaWxsPSIjRTJFMkUyIiByeD0iNSIgcnk9IjUiIHRyYW5zZm9ybT0icm90YXRlKC0zMCAtNS45OCA2NSkiLz48L3N2Zz4=);background-repeat:no-repeat}.uni-loading{width:20px;height:20px;display:inline-block;vertical-align:middle;animation:uni-loading 1s steps(12,end) infinite;background-size:100%}@keyframes uni-loading{0%{transform:rotate3d(0,0,1,0)}to{transform:rotate3d(0,0,1,360deg)}}html{--primary-color: #007aff;--UI-BG: #fff;--UI-BG-1: #f7f7f7;--UI-BG-2: #fff;--UI-BG-3: #f7f7f7;--UI-BG-4: #4c4c4c;--UI-BG-5: #fff;--UI-FG: #000;--UI-FG-0: rgba(0, 0, 0, .9);--UI-FG-HALF: rgba(0, 0, 0, .9);--UI-FG-1: rgba(0, 0, 0, .5);--UI-FG-2: rgba(0, 0, 0, .3);--UI-FG-3: rgba(0, 0, 0, .1)}uni-page[data-type] uni-page-body{background-color:transparent}body:after{position:fixed;content:"";left:-1000px;top:-1000px;animation:shadow-preload .1s;animation-delay:3s}@keyframes shadow-preload{0%{background-image:url(https://cdn.dcloud.net.cn/img/shadow-grey.png)}to{background-image:url(https://cdn.dcloud.net.cn/img/shadow-grey.png)}}.uni-async-error{position:absolute;left:0;right:0;top:0;bottom:0;color:#999;padding:100px 10px;text-align:center}.uni-async-loading{box-sizing:border-box;width:100%;padding:50px;text-align:center}.uni-async-loading .uni-loading{width:30px;height:30px}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 114 KiB

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,23 +0,0 @@
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<link rel="stylesheet" href="/assets/uni.a3a8f738.css">
<meta charset="UTF-8" />
<script>
var coverSupport = 'CSS' in window && typeof CSS.supports === 'function' && (CSS.supports('top: env(a)') ||
CSS.supports('top: constant(a)'))
document.write(
'<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0' +
(coverSupport ? ', viewport-fit=cover' : '') + '" />')
</script>
<title>WorkCameraf</title>
<!--preload-links-->
<!--app-context-->
<script type="module" crossorigin src="/assets/index-5OQVQoIX.js"></script>
<link rel="stylesheet" crossorigin href="/assets/index-yksqsBZR.css">
</head>
<body>
<div id="app"><!--app-html--></div>
</body>
</html>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 114 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.9 KiB

View File

@ -1,8 +0,0 @@
{
"hash": "61781937",
"configHash": "9f886a71",
"lockfileHash": "e3b0c442",
"browserHash": "ab22e44f",
"optimized": {},
"chunks": {}
}

View File

@ -1,3 +0,0 @@
{
"type": "module"
}

View File

@ -1,11 +0,0 @@
var __getOwnPropNames = Object.getOwnPropertyNames;
var __commonJS = (cb, mod) => function __require() {
return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
};
var require_app_css = __commonJS({
"app.css.js"(exports) {
const _style_0 = {};
exports.styles = [_style_0];
}
});
export default require_app_css();

View File

@ -1,2 +0,0 @@
Promise.resolve("./app.css.js").then(() => {
});

View File

@ -1 +0,0 @@
{"version":3,"file":"app.js","sources":["App.vue","main.js"],"sourcesContent":["<script>\r\n\texport default {\r\n\t\tonLaunch: function() {\r\n\t\t\tconsole.log('App Launch')\r\n\t\t},\r\n\t\tonShow: function() {\r\n\t\t\tconsole.log('App Show')\r\n\t\t},\r\n\t\tonHide: function() {\r\n\t\t\tconsole.log('App Hide')\r\n\t\t}\r\n\t}\r\n</script>\r\n\r\n<style>\r\n\t/*每个页面公共css */\r\n</style>\n","import App from './App'\n\n// #ifndef VUE3\nimport Vue from 'vue'\nimport './uni.promisify.adaptor'\nVue.config.productionTip = false\nApp.mpType = 'app'\nconst app = new Vue({\n ...App\n})\napp.$mount()\n// #endif\n\n// #ifdef VUE3\nimport { createSSRApp } from 'vue'\nexport function createApp() {\n const app = createSSRApp(App)\n return {\n app\n }\n}\n// #endif"],"names":["uni","createSSRApp","App"],"mappings":";;;;;;AACC,MAAK,YAAU;AAAA,EACd,UAAU,WAAW;AACpBA,kBAAAA,MAAA,MAAA,OAAA,gBAAY,YAAY;AAAA,EACxB;AAAA,EACD,QAAQ,WAAW;AAClBA,kBAAAA,MAAY,MAAA,OAAA,gBAAA,UAAU;AAAA,EACtB;AAAA,EACD,QAAQ,WAAW;AAClBA,kBAAAA,MAAY,MAAA,OAAA,iBAAA,UAAU;AAAA,EACvB;AACD;ACIM,SAAS,YAAY;AAC1B,QAAM,MAAMC,cAAY,aAACC,SAAG;AAC5B,SAAO;AAAA,IACL;AAAA,EACD;AACH;;;"}

View File

@ -1 +0,0 @@
{"version":3,"file":"assets.js","sources":["static/logo.jpg"],"sourcesContent":["export default \"__VITE_ASSET__7e2948b8__\""],"names":[],"mappings":";AAAA,MAAe,aAAA;;"}

View File

@ -1 +0,0 @@
{"version":3,"file":"mapTranslateResult.js","sources":["common/mapTranslateResult.js"],"sourcesContent":["// request.js 需自行实现或使用 axios/fetch 等库\r\n\r\nimport {\r\n\tget\r\n} from \"./request\";\r\n\r\n// 腾讯地图基础配置\r\nconst TENGXUN_BASE = \"https://wc.zpc-xy.com/webapi\";\r\n\r\n\r\n/** 转换 GPS 经纬度 */\r\nexport const getLocationTranslate = async (locations) => {\r\n\tconst url = `${TENGXUN_BASE}/GetLocationTranslate?locations=${locations}&type=1`;\r\n\tconst res = await get(url, {});\r\n\t// console.log(res);\r\n\tif (res.code == 200) {\r\n\t\treturn res.data;\r\n\t}\r\n\treturn \"\";\r\n}\r\n\r\n/** 根据转换后的经纬度获取地址 */\r\nexport const getLocationGeocoder = async (locations) => {\r\n\tconst url = `${TENGXUN_BASE}/GetLocationGeocoder?location=${locations}`;\r\n\tconst res = await get(url, {});\r\n\treturn res.data;\r\n}"],"names":["get"],"mappings":";;AAOA,MAAM,eAAe;AAIT,MAAC,uBAAuB,OAAO,cAAc;AACxD,QAAM,MAAM,GAAG,YAAY,mCAAmC,SAAS;AACvE,QAAM,MAAM,MAAMA,eAAAA,IAAI,KAAK,CAAE,CAAA;AAE7B,MAAI,IAAI,QAAQ,KAAK;AACpB,WAAO,IAAI;AAAA,EACX;AACD,SAAO;AACR;AAGY,MAAC,sBAAsB,OAAO,cAAc;AACvD,QAAM,MAAM,GAAG,YAAY,iCAAiC,SAAS;AACrE,QAAM,MAAM,MAAMA,eAAAA,IAAI,KAAK,CAAE,CAAA;AAC7B,SAAO,IAAI;AACZ;;;"}

View File

@ -1 +0,0 @@
{"version":3,"file":"request.js","sources":["common/request.js"],"sourcesContent":["export async function request(url, data, method) {\r\n\treturn new Promise((resolve, reject) => {\r\n\t\tuni.request({\r\n\t\t\turl: url,\r\n\t\t\tdata: data,\r\n\t\t\tmethod: method,\r\n\t\t\tsuccess: function(res) {\r\n\t\t\t\tresolve(res.data);\r\n\t\t\t}\r\n\t\t})\r\n\t});\r\n}\r\n\r\nexport async function get(url, data) {\r\n\treturn request(url, data, \"GET\");\r\n}\r\n\r\nexport async function post(url, data) {\r\n\treturn request(url, data, \"POST\");\r\n}"],"names":["uni"],"mappings":";;AAAO,eAAe,QAAQ,KAAK,MAAM,QAAQ;AAChD,SAAO,IAAI,QAAQ,CAAC,SAAS,WAAW;AACvCA,kBAAAA,MAAI,QAAQ;AAAA,MACX;AAAA,MACA;AAAA,MACA;AAAA,MACA,SAAS,SAAS,KAAK;AACtB,gBAAQ,IAAI,IAAI;AAAA,MAChB;AAAA,IACJ,CAAG;AAAA,EACH,CAAE;AACF;AAEO,eAAe,IAAI,KAAK,MAAM;AACpC,SAAO,QAAQ,KAAK,MAAM,KAAK;AAChC;AAEO,eAAe,KAAK,KAAK,MAAM;AACrC,SAAO,QAAQ,KAAK,MAAM,MAAM;AACjC;;;"}

View File

@ -1 +0,0 @@
{"version":3,"file":"server.js","sources":["common/server.js"],"sourcesContent":["import {\r\n get,post\r\n} from \"./request\";\r\n\r\nvar base_url = \"https://wc.zpc-xy.com/\";\r\n// var base_url = \"http://192.168.1.21:8888/\";\r\n/**\r\n * 获取配置\r\n * @returns \r\n */\r\nexport const getConfig = async () => {\r\n var url = base_url + \"config\";\r\n const res = await get(url, {});\r\n return res.data;\r\n}\r\n\r\nexport const addWatermarkRecord = async (data) => {\r\n var url = base_url + \"addworkrecord\";\r\n\tconsole.log(url,data);\r\n const res = await post(url, data);\r\n return res;\r\n}\r\n\r\n"],"names":["get","uni","post"],"mappings":";;;AAIA,IAAI,WAAW;AAMH,MAAC,YAAY,YAAY;AACjC,MAAI,MAAM,WAAW;AACrB,QAAM,MAAM,MAAMA,eAAAA,IAAI,KAAK,CAAE,CAAA;AAC7B,SAAO,IAAI;AACf;AAEY,MAAC,qBAAqB,OAAO,SAAS;AAC9C,MAAI,MAAM,WAAW;AACxBC,gBAAA,MAAA,MAAA,OAAA,0BAAY,KAAI,IAAI;AACjB,QAAM,MAAM,MAAMC,eAAAA,KAAK,KAAK,IAAI;AAChC,SAAO;AACX;;;"}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1 +0,0 @@
{"version":3,"file":"uni-icons.js","sources":["uni_modules/uni-icons/components/uni-icons/uni-icons.vue","../../../软件/HBuilderX/plugins/uniapp-cli-vite/uniComponent:/RDov5Luj56CBL3VuaWFwcC9Xb3JrQ2FtZXJhZi91bmlfbW9kdWxlcy91bmktaWNvbnMvY29tcG9uZW50cy91bmktaWNvbnMvdW5pLWljb25zLnZ1ZQ"],"sourcesContent":["<template>\r\n\t<!-- #ifdef APP-NVUE -->\r\n\t<text :style=\"styleObj\" class=\"uni-icons\" @click=\"_onClick\">{{unicode}}</text>\r\n\t<!-- #endif -->\r\n\t<!-- #ifndef APP-NVUE -->\r\n\t<text :style=\"styleObj\" class=\"uni-icons\" :class=\"['uniui-'+type,customPrefix,customPrefix?type:'']\" @click=\"_onClick\">\r\n\t\t<slot></slot>\r\n\t</text>\r\n\t<!-- #endif -->\r\n</template>\r\n\r\n<script>\r\n\timport { fontData } from './uniicons_file_vue.js';\r\n\r\n\tconst getVal = (val) => {\r\n\t\tconst reg = /^[0-9]*$/g\r\n\t\treturn (typeof val === 'number' || reg.test(val)) ? val + 'px' : val;\r\n\t}\r\n\r\n\t// #ifdef APP-NVUE\r\n\tvar domModule = weex.requireModule('dom');\r\n\timport iconUrl from './uniicons.ttf'\r\n\tdomModule.addRule('fontFace', {\r\n\t\t'fontFamily': \"uniicons\",\r\n\t\t'src': \"url('\" + iconUrl + \"')\"\r\n\t});\r\n\t// #endif\r\n\r\n\t/**\r\n\t * Icons 图标\r\n\t * @description 用于展示 icons 图标\r\n\t * @tutorial https://ext.dcloud.net.cn/plugin?id=28\r\n\t * @property {Number} size 图标大小\r\n\t * @property {String} type 图标图案,参考示例\r\n\t * @property {String} color 图标颜色\r\n\t * @property {String} customPrefix 自定义图标\r\n\t * @event {Function} click 点击 Icon 触发事件\r\n\t */\r\n\texport default {\r\n\t\tname: 'UniIcons',\r\n\t\temits: ['click'],\r\n\t\tprops: {\r\n\t\t\ttype: {\r\n\t\t\t\ttype: String,\r\n\t\t\t\tdefault: ''\r\n\t\t\t},\r\n\t\t\tcolor: {\r\n\t\t\t\ttype: String,\r\n\t\t\t\tdefault: '#333333'\r\n\t\t\t},\r\n\t\t\tsize: {\r\n\t\t\t\ttype: [Number, String],\r\n\t\t\t\tdefault: 16\r\n\t\t\t},\r\n\t\t\tcustomPrefix: {\r\n\t\t\t\ttype: String,\r\n\t\t\t\tdefault: ''\r\n\t\t\t},\r\n\t\t\tfontFamily: {\r\n\t\t\t\ttype: String,\r\n\t\t\t\tdefault: ''\r\n\t\t\t}\r\n\t\t},\r\n\t\tdata() {\r\n\t\t\treturn {\r\n\t\t\t\ticons: fontData\r\n\t\t\t}\r\n\t\t},\r\n\t\tcomputed: {\r\n\t\t\tunicode() {\r\n\t\t\t\tlet code = this.icons.find(v => v.font_class === this.type)\r\n\t\t\t\tif (code) {\r\n\t\t\t\t\treturn code.unicode\r\n\t\t\t\t}\r\n\t\t\t\treturn ''\r\n\t\t\t},\r\n\t\t\ticonSize() {\r\n\t\t\t\treturn getVal(this.size)\r\n\t\t\t},\r\n\t\t\tstyleObj() {\r\n\t\t\t\tif (this.fontFamily !== '') {\r\n\t\t\t\t\treturn `color: ${this.color}; font-size: ${this.iconSize}; font-family: ${this.fontFamily};`\r\n\t\t\t\t}\r\n\t\t\t\treturn `color: ${this.color}; font-size: ${this.iconSize};`\r\n\t\t\t}\r\n\t\t},\r\n\t\tmethods: {\r\n\t\t\t_onClick(e) {\r\n\t\t\t\tthis.$emit('click', e)\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n</script>\r\n\r\n<style lang=\"scss\">\r\n\t/* #ifndef APP-NVUE */\r\n\t@import './uniicons.css';\r\n\r\n\t@font-face {\r\n\t\tfont-family: uniicons;\r\n\t\tsrc: url('./uniicons.ttf');\r\n\t}\r\n\r\n\t/* #endif */\r\n\t.uni-icons {\r\n\t\tfont-family: uniicons;\r\n\t\ttext-decoration: none;\r\n\t\ttext-align: center;\r\n\t}\r\n</style>","import Component from 'D:/代码/uniapp/WorkCameraf/uni_modules/uni-icons/components/uni-icons/uni-icons.vue'\nwx.createComponent(Component)"],"names":["fontData"],"mappings":";;;AAcC,MAAM,SAAS,CAAC,QAAQ;AACvB,QAAM,MAAM;AACZ,SAAQ,OAAO,QAAQ,YAAY,IAAI,KAAK,GAAG,IAAK,MAAM,OAAO;AAClE;AAqBA,MAAK,YAAU;AAAA,EACd,MAAM;AAAA,EACN,OAAO,CAAC,OAAO;AAAA,EACf,OAAO;AAAA,IACN,MAAM;AAAA,MACL,MAAM;AAAA,MACN,SAAS;AAAA,IACT;AAAA,IACD,OAAO;AAAA,MACN,MAAM;AAAA,MACN,SAAS;AAAA,IACT;AAAA,IACD,MAAM;AAAA,MACL,MAAM,CAAC,QAAQ,MAAM;AAAA,MACrB,SAAS;AAAA,IACT;AAAA,IACD,cAAc;AAAA,MACb,MAAM;AAAA,MACN,SAAS;AAAA,IACT;AAAA,IACD,YAAY;AAAA,MACX,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA,EACA;AAAA,EACD,OAAO;AACN,WAAO;AAAA,MACN,OAAOA,2DAAO;AAAA,IACf;AAAA,EACA;AAAA,EACD,UAAU;AAAA,IACT,UAAU;AACT,UAAI,OAAO,KAAK,MAAM,KAAK,OAAK,EAAE,eAAe,KAAK,IAAI;AAC1D,UAAI,MAAM;AACT,eAAO,KAAK;AAAA,MACb;AACA,aAAO;AAAA,IACP;AAAA,IACD,WAAW;AACV,aAAO,OAAO,KAAK,IAAI;AAAA,IACvB;AAAA,IACD,WAAW;AACV,UAAI,KAAK,eAAe,IAAI;AAC3B,eAAO,UAAU,KAAK,KAAK,gBAAgB,KAAK,QAAQ,kBAAkB,KAAK,UAAU;AAAA,MAC1F;AACA,aAAO,UAAU,KAAK,KAAK,gBAAgB,KAAK,QAAQ;AAAA,IACzD;AAAA,EACA;AAAA,EACD,SAAS;AAAA,IACR,SAAS,GAAG;AACX,WAAK,MAAM,SAAS,CAAC;AAAA,IACtB;AAAA,EACD;AACD;;;;;;;;;;;AC1FD,GAAG,gBAAgB,SAAS;"}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.7 KiB

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

View File

@ -1,24 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>View</title>
<link rel="icon" href="data:,">
<link rel="stylesheet" href="app.css" />
<script>var __uniConfig = {"globalStyle":{},"darkmode":false}</script>
<script>
var coverSupport = 'CSS' in window && typeof CSS.supports === 'function' && (CSS.supports('top: env(a)') ||
CSS.supports('top: constant(a)'))
document.write(
'<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0' +
(coverSupport ? ', viewport-fit=cover' : '') + '" />')
</script>
</head>
<body>
<div id="app"></div>
<script src="uni-app-view.umd.js"></script>
</body>
</html>

View File

@ -1,11 +0,0 @@
;(function(){
let u=void 0,isReady=false,onReadyCallbacks=[],isServiceReady=false,onServiceReadyCallbacks=[];
const __uniConfig = {"pages":[],"globalStyle":{"backgroundColor":"#F8F8F8","navigationBar":{"backgroundColor":"#F8F8F8","titleText":"uni-app","type":"default","titleColor":"#000000"},"isNVue":false},"nvue":{"compiler":"uni-app","styleCompiler":"uni-app","flex-direction":"column"},"renderer":"auto","appname":"WorkCameraf","splashscreen":{"alwaysShowBeforeRender":true,"autoclose":true},"compilerVersion":"4.75","entryPagePath":"pages/index/index","entryPageQuery":"","realEntryPagePath":"","networkTimeout":{"request":60000,"connectSocket":60000,"uploadFile":60000,"downloadFile":60000},"locales":{},"darkmode":false,"themeConfig":{}};
const __uniRoutes = [{"path":"pages/index/index","meta":{"isQuit":true,"isEntry":true,"navigationBar":{"titleText":"","style":"custom","type":"default"},"isNVue":false}}].map(uniRoute=>(uniRoute.meta.route=uniRoute.path,__uniConfig.pages.push(uniRoute.path),uniRoute.path='/'+uniRoute.path,uniRoute));
__uniConfig.styles=[];//styles
__uniConfig.onReady=function(callback){if(__uniConfig.ready){callback()}else{onReadyCallbacks.push(callback)}};Object.defineProperty(__uniConfig,"ready",{get:function(){return isReady},set:function(val){isReady=val;if(!isReady){return}const callbacks=onReadyCallbacks.slice(0);onReadyCallbacks.length=0;callbacks.forEach(function(callback){callback()})}});
__uniConfig.onServiceReady=function(callback){if(__uniConfig.serviceReady){callback()}else{onServiceReadyCallbacks.push(callback)}};Object.defineProperty(__uniConfig,"serviceReady",{get:function(){return isServiceReady},set:function(val){isServiceReady=val;if(!isServiceReady){return}const callbacks=onServiceReadyCallbacks.slice(0);onServiceReadyCallbacks.length=0;callbacks.forEach(function(callback){callback()})}});
service.register("uni-app-config",{create(a,b,c){if(!__uniConfig.viewport){var d=b.weex.config.env.scale,e=b.weex.config.env.deviceWidth,f=Math.ceil(e/d);Object.assign(__uniConfig,{viewport:f,defaultFontSize:16})}return{instance:{__uniConfig:__uniConfig,__uniRoutes:__uniRoutes,global:u,window:u,document:u,frames:u,self:u,location:u,navigator:u,localStorage:u,history:u,Caches:u,screen:u,alert:u,confirm:u,prompt:u,fetch:u,XMLHttpRequest:u,WebSocket:u,webkit:u,print:u}}}});
})();

View File

@ -1 +0,0 @@
(function(){})();

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

View File

@ -1,137 +0,0 @@
{
"@platforms": [
"android",
"iPhone",
"iPad"
],
"id": "__UNI__37E1E71",
"name": "WorkCameraf",
"version": {
"name": "1.0.0",
"code": "100"
},
"description": "",
"developer": {
"name": "",
"email": "",
"url": ""
},
"permissions": {
"Geolocation": {},
"Camera": {},
"UniNView": {
"description": "UniNView原生渲染"
}
},
"plus": {
"useragent": {
"value": "uni-app",
"concatenate": true
},
"splashscreen": {
"target": "id:1",
"autoclose": true,
"waiting": true,
"delay": 0
},
"popGesture": "close",
"launchwebview": {
"render": "always",
"id": "1",
"kernel": "WKWebview"
},
"usingComponents": true,
"nvueStyleCompiler": "uni-app",
"compilerVersion": 3,
"distribute": {
"google": {
"permissions": [
"<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>",
"<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>",
"<uses-permission android:name=\"android.permission.VIBRATE\"/>",
"<uses-permission android:name=\"android.permission.READ_LOGS\"/>",
"<uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\"/>",
"<uses-feature android:name=\"android.hardware.camera.autofocus\"/>",
"<uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"/>",
"<uses-permission android:name=\"android.permission.CAMERA\"/>",
"<uses-permission android:name=\"android.permission.GET_ACCOUNTS\"/>",
"<uses-permission android:name=\"android.permission.READ_PHONE_STATE\"/>",
"<uses-permission android:name=\"android.permission.CHANGE_WIFI_STATE\"/>",
"<uses-permission android:name=\"android.permission.WAKE_LOCK\"/>",
"<uses-permission android:name=\"android.permission.FLASHLIGHT\"/>",
"<uses-feature android:name=\"android.hardware.camera\"/>",
"<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>",
"<uses-permission android:name=\"android.permission.WRITE_EXTERNAL_STORAGE\"/>",
"<uses-permission android:name=\"android.permission.READ_EXTERNAL_STORAGE\"/>"
],
"abiFilters": [
"arm64-v8a",
"x86"
]
},
"apple": {
"idfa": false,
"privacyDescription": {
"NSPhotoLibraryAddUsageDescription": "此应用需要访问相册以保存水印图片",
"NSPhotoLibraryUsageDescription": "此应用需要访问相册以保存水印图片"
}
},
"plugins": {
"geolocation": {
"system": {
"__platform__": [
"ios",
"android"
]
},
"tencent": {
"__platform__": [
"ios",
"android"
],
"apikey_ios": "2DYBZ-V4N3W-VQ4RA-Y22V5-BXA2E-53FYV",
"apikey_android": "2DYBZ-V4N3W-VQ4RA-Y22V5-BXA2E-53FYV"
}
},
"audio": {
"mp3": {
"description": "Android平台录音支持MP3格式文件"
}
}
}
},
"statusbar": {
"immersed": "supportedDevice",
"style": "dark",
"background": "#F8F8F8"
},
"uniStatistics": {
"enable": false
},
"allowsInlineMediaPlayback": true,
"uni-app": {
"control": "uni-v3",
"vueVersion": "3",
"compilerVersion": "4.75",
"nvueCompiler": "uni-app",
"renderer": "auto",
"nvue": {
"flex-direction": "column"
},
"nvueLaunchMode": "normal",
"webView": {
"minUserAgentVersion": "49.0"
}
}
},
"app-harmony": {
"useragent": {
"value": "uni-app",
"concatenate": true
},
"uniStatistics": {
"enable": false
}
},
"launch_path": "__uniappview.html"
}

View File

@ -1,842 +0,0 @@
/**
* 这里是uni-app内置的常用样式变量
*
* uni-app 官方扩展插件及插件市场https://ext.dcloud.net.cn上很多三方插件均使用了这些样式变量
* 如果你是插件开发者建议你使用scss预处理并在插件代码中直接使用这些变量无需 import 这个文件方便用户通过搭积木的方式开发整体风格一致的App
*
*/
/**
* 如果你是App开发者插件使用者你可以通过修改这些变量来定制自己的插件主题实现自定义主题功能
*
* 如果你的项目同样使用了scss预处理你也可以直接在你的 scss 代码中使用如下变量同时无需 import 这个文件
*/
/* 颜色变量 */
/* 行为相关颜色 */
/* 文字基本颜色 */
/* 背景颜色 */
/* 边框颜色 */
/* 尺寸变量 */
/* 文字尺寸 */
/* 图片尺寸 */
/* Border Radius */
/* 水平间距 */
/* 垂直间距 */
/* 透明度 */
/* 文章场景相关 */
.uniui-cart-filled[data-v-d31e1c47]:before {
content: "\e6d0";
}
.uniui-gift-filled[data-v-d31e1c47]:before {
content: "\e6c4";
}
.uniui-color[data-v-d31e1c47]:before {
content: "\e6cf";
}
.uniui-wallet[data-v-d31e1c47]:before {
content: "\e6b1";
}
.uniui-settings-filled[data-v-d31e1c47]:before {
content: "\e6ce";
}
.uniui-auth-filled[data-v-d31e1c47]:before {
content: "\e6cc";
}
.uniui-shop-filled[data-v-d31e1c47]:before {
content: "\e6cd";
}
.uniui-staff-filled[data-v-d31e1c47]:before {
content: "\e6cb";
}
.uniui-vip-filled[data-v-d31e1c47]:before {
content: "\e6c6";
}
.uniui-plus-filled[data-v-d31e1c47]:before {
content: "\e6c7";
}
.uniui-folder-add-filled[data-v-d31e1c47]:before {
content: "\e6c8";
}
.uniui-color-filled[data-v-d31e1c47]:before {
content: "\e6c9";
}
.uniui-tune-filled[data-v-d31e1c47]:before {
content: "\e6ca";
}
.uniui-calendar-filled[data-v-d31e1c47]:before {
content: "\e6c0";
}
.uniui-notification-filled[data-v-d31e1c47]:before {
content: "\e6c1";
}
.uniui-wallet-filled[data-v-d31e1c47]:before {
content: "\e6c2";
}
.uniui-medal-filled[data-v-d31e1c47]:before {
content: "\e6c3";
}
.uniui-fire-filled[data-v-d31e1c47]:before {
content: "\e6c5";
}
.uniui-refreshempty[data-v-d31e1c47]:before {
content: "\e6bf";
}
.uniui-location-filled[data-v-d31e1c47]:before {
content: "\e6af";
}
.uniui-person-filled[data-v-d31e1c47]:before {
content: "\e69d";
}
.uniui-personadd-filled[data-v-d31e1c47]:before {
content: "\e698";
}
.uniui-arrowthinleft[data-v-d31e1c47]:before {
content: "\e6d2";
}
.uniui-arrowthinup[data-v-d31e1c47]:before {
content: "\e6d3";
}
.uniui-arrowthindown[data-v-d31e1c47]:before {
content: "\e6d4";
}
.uniui-back[data-v-d31e1c47]:before {
content: "\e6b9";
}
.uniui-forward[data-v-d31e1c47]:before {
content: "\e6ba";
}
.uniui-arrow-right[data-v-d31e1c47]:before {
content: "\e6bb";
}
.uniui-arrow-left[data-v-d31e1c47]:before {
content: "\e6bc";
}
.uniui-arrow-up[data-v-d31e1c47]:before {
content: "\e6bd";
}
.uniui-arrow-down[data-v-d31e1c47]:before {
content: "\e6be";
}
.uniui-arrowthinright[data-v-d31e1c47]:before {
content: "\e6d1";
}
.uniui-down[data-v-d31e1c47]:before {
content: "\e6b8";
}
.uniui-bottom[data-v-d31e1c47]:before {
content: "\e6b8";
}
.uniui-arrowright[data-v-d31e1c47]:before {
content: "\e6d5";
}
.uniui-right[data-v-d31e1c47]:before {
content: "\e6b5";
}
.uniui-up[data-v-d31e1c47]:before {
content: "\e6b6";
}
.uniui-top[data-v-d31e1c47]:before {
content: "\e6b6";
}
.uniui-left[data-v-d31e1c47]:before {
content: "\e6b7";
}
.uniui-arrowup[data-v-d31e1c47]:before {
content: "\e6d6";
}
.uniui-eye[data-v-d31e1c47]:before {
content: "\e651";
}
.uniui-eye-filled[data-v-d31e1c47]:before {
content: "\e66a";
}
.uniui-eye-slash[data-v-d31e1c47]:before {
content: "\e6b3";
}
.uniui-eye-slash-filled[data-v-d31e1c47]:before {
content: "\e6b4";
}
.uniui-info-filled[data-v-d31e1c47]:before {
content: "\e649";
}
.uniui-reload[data-v-d31e1c47]:before {
content: "\e6b2";
}
.uniui-micoff-filled[data-v-d31e1c47]:before {
content: "\e6b0";
}
.uniui-map-pin-ellipse[data-v-d31e1c47]:before {
content: "\e6ac";
}
.uniui-map-pin[data-v-d31e1c47]:before {
content: "\e6ad";
}
.uniui-location[data-v-d31e1c47]:before {
content: "\e6ae";
}
.uniui-starhalf[data-v-d31e1c47]:before {
content: "\e683";
}
.uniui-star[data-v-d31e1c47]:before {
content: "\e688";
}
.uniui-star-filled[data-v-d31e1c47]:before {
content: "\e68f";
}
.uniui-calendar[data-v-d31e1c47]:before {
content: "\e6a0";
}
.uniui-fire[data-v-d31e1c47]:before {
content: "\e6a1";
}
.uniui-medal[data-v-d31e1c47]:before {
content: "\e6a2";
}
.uniui-font[data-v-d31e1c47]:before {
content: "\e6a3";
}
.uniui-gift[data-v-d31e1c47]:before {
content: "\e6a4";
}
.uniui-link[data-v-d31e1c47]:before {
content: "\e6a5";
}
.uniui-notification[data-v-d31e1c47]:before {
content: "\e6a6";
}
.uniui-staff[data-v-d31e1c47]:before {
content: "\e6a7";
}
.uniui-vip[data-v-d31e1c47]:before {
content: "\e6a8";
}
.uniui-folder-add[data-v-d31e1c47]:before {
content: "\e6a9";
}
.uniui-tune[data-v-d31e1c47]:before {
content: "\e6aa";
}
.uniui-auth[data-v-d31e1c47]:before {
content: "\e6ab";
}
.uniui-person[data-v-d31e1c47]:before {
content: "\e699";
}
.uniui-email-filled[data-v-d31e1c47]:before {
content: "\e69a";
}
.uniui-phone-filled[data-v-d31e1c47]:before {
content: "\e69b";
}
.uniui-phone[data-v-d31e1c47]:before {
content: "\e69c";
}
.uniui-email[data-v-d31e1c47]:before {
content: "\e69e";
}
.uniui-personadd[data-v-d31e1c47]:before {
content: "\e69f";
}
.uniui-chatboxes-filled[data-v-d31e1c47]:before {
content: "\e692";
}
.uniui-contact[data-v-d31e1c47]:before {
content: "\e693";
}
.uniui-chatbubble-filled[data-v-d31e1c47]:before {
content: "\e694";
}
.uniui-contact-filled[data-v-d31e1c47]:before {
content: "\e695";
}
.uniui-chatboxes[data-v-d31e1c47]:before {
content: "\e696";
}
.uniui-chatbubble[data-v-d31e1c47]:before {
content: "\e697";
}
.uniui-upload-filled[data-v-d31e1c47]:before {
content: "\e68e";
}
.uniui-upload[data-v-d31e1c47]:before {
content: "\e690";
}
.uniui-weixin[data-v-d31e1c47]:before {
content: "\e691";
}
.uniui-compose[data-v-d31e1c47]:before {
content: "\e67f";
}
.uniui-qq[data-v-d31e1c47]:before {
content: "\e680";
}
.uniui-download-filled[data-v-d31e1c47]:before {
content: "\e681";
}
.uniui-pyq[data-v-d31e1c47]:before {
content: "\e682";
}
.uniui-sound[data-v-d31e1c47]:before {
content: "\e684";
}
.uniui-trash-filled[data-v-d31e1c47]:before {
content: "\e685";
}
.uniui-sound-filled[data-v-d31e1c47]:before {
content: "\e686";
}
.uniui-trash[data-v-d31e1c47]:before {
content: "\e687";
}
.uniui-videocam-filled[data-v-d31e1c47]:before {
content: "\e689";
}
.uniui-spinner-cycle[data-v-d31e1c47]:before {
content: "\e68a";
}
.uniui-weibo[data-v-d31e1c47]:before {
content: "\e68b";
}
.uniui-videocam[data-v-d31e1c47]:before {
content: "\e68c";
}
.uniui-download[data-v-d31e1c47]:before {
content: "\e68d";
}
.uniui-help[data-v-d31e1c47]:before {
content: "\e679";
}
.uniui-navigate-filled[data-v-d31e1c47]:before {
content: "\e67a";
}
.uniui-plusempty[data-v-d31e1c47]:before {
content: "\e67b";
}
.uniui-smallcircle[data-v-d31e1c47]:before {
content: "\e67c";
}
.uniui-minus-filled[data-v-d31e1c47]:before {
content: "\e67d";
}
.uniui-micoff[data-v-d31e1c47]:before {
content: "\e67e";
}
.uniui-closeempty[data-v-d31e1c47]:before {
content: "\e66c";
}
.uniui-clear[data-v-d31e1c47]:before {
content: "\e66d";
}
.uniui-navigate[data-v-d31e1c47]:before {
content: "\e66e";
}
.uniui-minus[data-v-d31e1c47]:before {
content: "\e66f";
}
.uniui-image[data-v-d31e1c47]:before {
content: "\e670";
}
.uniui-mic[data-v-d31e1c47]:before {
content: "\e671";
}
.uniui-paperplane[data-v-d31e1c47]:before {
content: "\e672";
}
.uniui-close[data-v-d31e1c47]:before {
content: "\e673";
}
.uniui-help-filled[data-v-d31e1c47]:before {
content: "\e674";
}
.uniui-paperplane-filled[data-v-d31e1c47]:before {
content: "\e675";
}
.uniui-plus[data-v-d31e1c47]:before {
content: "\e676";
}
.uniui-mic-filled[data-v-d31e1c47]:before {
content: "\e677";
}
.uniui-image-filled[data-v-d31e1c47]:before {
content: "\e678";
}
.uniui-locked-filled[data-v-d31e1c47]:before {
content: "\e668";
}
.uniui-info[data-v-d31e1c47]:before {
content: "\e669";
}
.uniui-locked[data-v-d31e1c47]:before {
content: "\e66b";
}
.uniui-camera-filled[data-v-d31e1c47]:before {
content: "\e658";
}
.uniui-chat-filled[data-v-d31e1c47]:before {
content: "\e659";
}
.uniui-camera[data-v-d31e1c47]:before {
content: "\e65a";
}
.uniui-circle[data-v-d31e1c47]:before {
content: "\e65b";
}
.uniui-checkmarkempty[data-v-d31e1c47]:before {
content: "\e65c";
}
.uniui-chat[data-v-d31e1c47]:before {
content: "\e65d";
}
.uniui-circle-filled[data-v-d31e1c47]:before {
content: "\e65e";
}
.uniui-flag[data-v-d31e1c47]:before {
content: "\e65f";
}
.uniui-flag-filled[data-v-d31e1c47]:before {
content: "\e660";
}
.uniui-gear-filled[data-v-d31e1c47]:before {
content: "\e661";
}
.uniui-home[data-v-d31e1c47]:before {
content: "\e662";
}
.uniui-home-filled[data-v-d31e1c47]:before {
content: "\e663";
}
.uniui-gear[data-v-d31e1c47]:before {
content: "\e664";
}
.uniui-smallcircle-filled[data-v-d31e1c47]:before {
content: "\e665";
}
.uniui-map-filled[data-v-d31e1c47]:before {
content: "\e666";
}
.uniui-map[data-v-d31e1c47]:before {
content: "\e667";
}
.uniui-refresh-filled[data-v-d31e1c47]:before {
content: "\e656";
}
.uniui-refresh[data-v-d31e1c47]:before {
content: "\e657";
}
.uniui-cloud-upload[data-v-d31e1c47]:before {
content: "\e645";
}
.uniui-cloud-download-filled[data-v-d31e1c47]:before {
content: "\e646";
}
.uniui-cloud-download[data-v-d31e1c47]:before {
content: "\e647";
}
.uniui-cloud-upload-filled[data-v-d31e1c47]:before {
content: "\e648";
}
.uniui-redo[data-v-d31e1c47]:before {
content: "\e64a";
}
.uniui-images-filled[data-v-d31e1c47]:before {
content: "\e64b";
}
.uniui-undo-filled[data-v-d31e1c47]:before {
content: "\e64c";
}
.uniui-more[data-v-d31e1c47]:before {
content: "\e64d";
}
.uniui-more-filled[data-v-d31e1c47]:before {
content: "\e64e";
}
.uniui-undo[data-v-d31e1c47]:before {
content: "\e64f";
}
.uniui-images[data-v-d31e1c47]:before {
content: "\e650";
}
.uniui-paperclip[data-v-d31e1c47]:before {
content: "\e652";
}
.uniui-settings[data-v-d31e1c47]:before {
content: "\e653";
}
.uniui-search[data-v-d31e1c47]:before {
content: "\e654";
}
.uniui-redo-filled[data-v-d31e1c47]:before {
content: "\e655";
}
.uniui-list[data-v-d31e1c47]:before {
content: "\e644";
}
.uniui-mail-open-filled[data-v-d31e1c47]:before {
content: "\e63a";
}
.uniui-hand-down-filled[data-v-d31e1c47]:before {
content: "\e63c";
}
.uniui-hand-down[data-v-d31e1c47]:before {
content: "\e63d";
}
.uniui-hand-up-filled[data-v-d31e1c47]:before {
content: "\e63e";
}
.uniui-hand-up[data-v-d31e1c47]:before {
content: "\e63f";
}
.uniui-heart-filled[data-v-d31e1c47]:before {
content: "\e641";
}
.uniui-mail-open[data-v-d31e1c47]:before {
content: "\e643";
}
.uniui-heart[data-v-d31e1c47]:before {
content: "\e639";
}
.uniui-loop[data-v-d31e1c47]:before {
content: "\e633";
}
.uniui-pulldown[data-v-d31e1c47]:before {
content: "\e632";
}
.uniui-scan[data-v-d31e1c47]:before {
content: "\e62a";
}
.uniui-bars[data-v-d31e1c47]:before {
content: "\e627";
}
.uniui-checkbox[data-v-d31e1c47]:before {
content: "\e62b";
}
.uniui-checkbox-filled[data-v-d31e1c47]:before {
content: "\e62c";
}
.uniui-shop[data-v-d31e1c47]:before {
content: "\e62f";
}
.uniui-headphones[data-v-d31e1c47]:before {
content: "\e630";
}
.uniui-cart[data-v-d31e1c47]:before {
content: "\e631";
}
@font-face {
font-family: uniicons;
src: url("../../assets/uniicons.32e978a5.ttf");
}
.uni-icons[data-v-d31e1c47] {
font-family: uniicons;
text-decoration: none;
text-align: center;
}
/**
* 这里是uni-app内置的常用样式变量
*
* uni-app 官方扩展插件及插件市场https://ext.dcloud.net.cn上很多三方插件均使用了这些样式变量
* 如果你是插件开发者建议你使用scss预处理并在插件代码中直接使用这些变量无需 import 这个文件方便用户通过搭积木的方式开发整体风格一致的App
*
*/
/**
* 如果你是App开发者插件使用者你可以通过修改这些变量来定制自己的插件主题实现自定义主题功能
*
* 如果你的项目同样使用了scss预处理你也可以直接在你的 scss 代码中使用如下变量同时无需 import 这个文件
*/
/* 颜色变量 */
/* 行为相关颜色 */
/* 文字基本颜色 */
/* 背景颜色 */
/* 边框颜色 */
/* 尺寸变量 */
/* 文字尺寸 */
/* 图片尺寸 */
/* Border Radius */
/* 水平间距 */
/* 垂直间距 */
/* 透明度 */
/* 文章场景相关 */
.uni-combox[data-v-e602780e] {
font-size: 14px;
border: 1px solid #DCDFE6;
border-radius: 4px;
padding: 6px 10px;
position: relative;
display: flex;
flex-direction: row;
align-items: center;
}
.uni-combox__label[data-v-e602780e] {
font-size: 16px;
line-height: 22px;
padding-right: 10px;
color: #999999;
}
.uni-combox__input-box[data-v-e602780e] {
position: relative;
display: flex;
flex: 1;
flex-direction: row;
align-items: center;
}
.uni-combox__input[data-v-e602780e] {
flex: 1;
font-size: 14px;
height: 22px;
line-height: 22px;
}
.uni-combox__input-plac[data-v-e602780e] {
font-size: 14px;
color: #999;
}
.uni-combox__selector[data-v-e602780e] {
box-sizing: border-box;
position: absolute;
top: calc(100% + 12px);
left: 0;
width: 100%;
background-color: #FFFFFF;
border: 1px solid #EBEEF5;
border-radius: 6px;
box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
z-index: 2;
padding: 4px 0;
}
.uni-combox__selector-scroll[data-v-e602780e] {
max-height: 200px;
box-sizing: border-box;
}
.uni-combox__selector-empty[data-v-e602780e],
.uni-combox__selector-item[data-v-e602780e] {
display: flex;
cursor: pointer;
line-height: 36px;
font-size: 14px;
text-align: center;
padding: 0px 10px;
}
.uni-combox__selector-item[data-v-e602780e]:hover {
background-color: #f9f9f9;
}
.uni-combox__selector-empty[data-v-e602780e]:last-child,
.uni-combox__selector-item[data-v-e602780e]:last-child {
border-bottom: none;
}
.uni-popper__arrow[data-v-e602780e],
.uni-popper__arrow[data-v-e602780e]::after {
position: absolute;
display: block;
width: 0;
height: 0;
border-color: transparent;
border-style: solid;
border-width: 6px;
}
.uni-popper__arrow[data-v-e602780e] {
filter: drop-shadow(0 2px 12px rgba(0, 0, 0, 0.03));
top: -6px;
left: 10%;
margin-right: 3px;
border-top-width: 0;
border-bottom-color: #EBEEF5;
}
.uni-popper__arrow[data-v-e602780e]::after {
content: " ";
top: 1px;
margin-left: -6px;
border-top-width: 0;
border-bottom-color: #fff;
}
.uni-combox__no-border[data-v-e602780e] {
border: none;
}
/**
* 这里是uni-app内置的常用样式变量
*
* uni-app 官方扩展插件及插件市场https://ext.dcloud.net.cn上很多三方插件均使用了这些样式变量
* 如果你是插件开发者建议你使用scss预处理并在插件代码中直接使用这些变量无需 import 这个文件方便用户通过搭积木的方式开发整体风格一致的App
*
*/
/**
* 如果你是App开发者插件使用者你可以通过修改这些变量来定制自己的插件主题实现自定义主题功能
*
* 如果你的项目同样使用了scss预处理你也可以直接在你的 scss 代码中使用如下变量同时无需 import 这个文件
*/
/* 颜色变量 */
/* 行为相关颜色 */
/* 文字基本颜色 */
/* 背景颜色 */
/* 边框颜色 */
/* 尺寸变量 */
/* 文字尺寸 */
/* 图片尺寸 */
/* Border Radius */
/* 水平间距 */
/* 垂直间距 */
/* 透明度 */
/* 文章场景相关 */
.uni-popup[data-v-4dd3c44b] {
position: fixed;
z-index: 99;
}
.uni-popup.top[data-v-4dd3c44b], .uni-popup.left[data-v-4dd3c44b], .uni-popup.right[data-v-4dd3c44b] {
top: 0;
}
.uni-popup .uni-popup__wrapper[data-v-4dd3c44b] {
display: block;
position: relative;
/* iphonex 等安全区设置,底部安全区适配 */
}
.uni-popup .uni-popup__wrapper.left[data-v-4dd3c44b], .uni-popup .uni-popup__wrapper.right[data-v-4dd3c44b] {
padding-top: 0;
flex: 1;
}
.fixforpc-z-index[data-v-4dd3c44b] {
z-index: 999;
}
.fixforpc-top[data-v-4dd3c44b] {
top: 0;
}
.logo {
height: 200px;
width: 200px;
margin: 0 auto;
position: absolute;
top: 25%;
left: 50%;
transform: translate(-50%, -50%);
}
.btn {
width: 100px;
margin: 0 auto;
position: absolute;
bottom: 22%;
left: 50%;
transform: translate(-50%, -50%);
}
.title {
margin: 0 auto;
font-size: 20px;
font-weight: 700;
color: #000;
text-align: center;
position: absolute;
top: 35%;
left: 50%;
transform: translate(-50%, -50%);
}
.container {
padding: 0.625rem;
background: #fff;
height: 100vh;
overflow: auto;
}
.preview-box {
background: #fff;
padding: 0.625rem;
margin-bottom: 0.625rem;
text-align: center;
}
.preview-title {
font-size: 1rem;
font-weight: bold;
}
.preview-img {
margin: 0.625rem 0;
width: 100%;
height: 12.5rem;
background: #ddd;
display: flex;
justify-content: center;
align-items: center;
text-align: center;
}
.img {
max-width: 100%;
max-height: 12.5rem;
}
.preview-info {
font-size: 0.8125rem;
color: #666;
text-align: left;
margin-top: 0.3125rem;
}
.form-item {
margin-bottom: 0.625rem;
}
.label {
font-size: 0.875rem;
margin-bottom: 0.3125rem;
display: block;
}
.input {
border: 1px solid #ddd;
border-radius: 0.25rem;
padding: 0.3125rem;
background: #fff;
}
.picker {
border: 1px solid #ddd;
border-radius: 0.25rem;
padding: 0.3125rem;
background: #fff;
}
.worker-row {
display: flex;
align-items: center;
margin-bottom: 0.3125rem;
}
.worker-input {
flex: 1;
}
.btns {
display: flex;
margin-left: 0.3125rem;
}
.btn_f {
margin-left: 0.15625rem;
}
.footer {
display: flex;
justify-content: space-between;
margin-top: 1.25rem;
}
.btn-cancel {
background: #007aff;
color: #fff;
}
.btn-save {
background: #28a745;
color: #fff;
}
.btn-submit {
background: #007aff;
color: #fff;
}
.btn-save:disabled,
.btn-submit:disabled {
background: #ccc !important;
color: #999 !important;
opacity: 0.6;
}
.watermark-btn {
margin-top: 0.625rem;
background: #28a745;
color: #fff;
font-size: 0.875rem;
padding: 0.3125rem 0.9375rem;
border-radius: 0.25rem;
}
.size-info {
margin-top: 0.625rem;
padding: 0.625rem;
background: #f8f9fa;
border-radius: 0.25rem;
}
.size-text {
display: block;
font-size: 0.75rem;
color: #666;
margin-bottom: 0.3125rem;
text-align: center;
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 114 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.9 KiB

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,26 +0,0 @@
"use strict";
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
const common_vendor = require("./common/vendor.js");
if (!Math) {
"./pages/index/index.js";
}
const _sfc_main = {
onLaunch: function() {
common_vendor.index.__f__("log", "at App.vue:4", "App Launch");
},
onShow: function() {
common_vendor.index.__f__("log", "at App.vue:7", "App Show");
},
onHide: function() {
common_vendor.index.__f__("log", "at App.vue:10", "App Hide");
}
};
function createApp() {
const app = common_vendor.createSSRApp(_sfc_main);
return {
app
};
}
createApp().app.mount("#app");
exports.createApp = createApp;
//# sourceMappingURL=../.sourcemap/mp-weixin/app.js.map

View File

@ -1,12 +0,0 @@
{
"pages": [
"pages/index/index"
],
"window": {
"navigationBarTextStyle": "black",
"navigationBarTitleText": "uni-app",
"navigationBarBackgroundColor": "#F8F8F8",
"backgroundColor": "#F8F8F8"
},
"usingComponents": {}
}

View File

@ -1,3 +0,0 @@
/*每个页面公共css */
page{--status-bar-height:25px;--top-window-height:0px;--window-top:0px;--window-bottom:0px;--window-left:0px;--window-right:0px;--window-magin:0px}[data-c-h="true"]{display: none !important;}

View File

@ -1,4 +0,0 @@
"use strict";
const _imports_0 = "/static/logo.jpg";
exports._imports_0 = _imports_0;
//# sourceMappingURL=../../.sourcemap/mp-weixin/common/assets.js.map

View File

@ -1,19 +0,0 @@
"use strict";
const common_request = require("./request.js");
const TENGXUN_BASE = "https://wc.zpc-xy.com/webapi";
const getLocationTranslate = async (locations) => {
const url = `${TENGXUN_BASE}/GetLocationTranslate?locations=${locations}&type=1`;
const res = await common_request.get(url, {});
if (res.code == 200) {
return res.data;
}
return "";
};
const getLocationGeocoder = async (locations) => {
const url = `${TENGXUN_BASE}/GetLocationGeocoder?location=${locations}`;
const res = await common_request.get(url, {});
return res.data;
};
exports.getLocationGeocoder = getLocationGeocoder;
exports.getLocationTranslate = getLocationTranslate;
//# sourceMappingURL=../../.sourcemap/mp-weixin/common/mapTranslateResult.js.map

View File

@ -1,23 +0,0 @@
"use strict";
const common_vendor = require("./vendor.js");
async function request(url, data, method) {
return new Promise((resolve, reject) => {
common_vendor.index.request({
url,
data,
method,
success: function(res) {
resolve(res.data);
}
});
});
}
async function get(url, data) {
return request(url, data, "GET");
}
async function post(url, data) {
return request(url, data, "POST");
}
exports.get = get;
exports.post = post;
//# sourceMappingURL=../../.sourcemap/mp-weixin/common/request.js.map

View File

@ -1,18 +0,0 @@
"use strict";
const common_vendor = require("./vendor.js");
const common_request = require("./request.js");
var base_url = "https://wc.zpc-xy.com/";
const getConfig = async () => {
var url = base_url + "config";
const res = await common_request.get(url, {});
return res.data;
};
const addWatermarkRecord = async (data) => {
var url = base_url + "addworkrecord";
common_vendor.index.__f__("log", "at common/server.js:19", url, data);
const res = await common_request.post(url, data);
return res;
};
exports.addWatermarkRecord = addWatermarkRecord;
exports.getConfig = getConfig;
//# sourceMappingURL=../../.sourcemap/mp-weixin/common/server.js.map

View File

@ -1,430 +0,0 @@
"use strict";
const common_vendor = require("./vendor.js");
const getLocation = async () => {
return new Promise((resolve, reject) => {
common_vendor.index.getLocation({
isHighAccuracy: true,
altitude: true,
accuracy: "best",
success: (res) => {
resolve(res);
},
fail: (err) => {
reject(err);
}
});
});
};
const chooseImage = async () => {
return new Promise((resolve, reject) => {
common_vendor.index.chooseImage({
count: 1,
success: (res) => {
resolve(res);
},
fail: (err) => {
reject(err);
}
});
});
};
const formatDate = (date, format = "YYYY-MM-DD HH:mm:ss") => {
const year = date.getFullYear();
const month = String(date.getMonth() + 1).padStart(2, "0");
const day = String(date.getDate()).padStart(2, "0");
const hours = String(date.getHours()).padStart(2, "0");
const minutes = String(date.getMinutes()).padStart(2, "0");
const seconds = String(date.getSeconds()).padStart(2, "0");
return format.replace("YYYY", year).replace("MM", month).replace("DD", day).replace("HH", hours).replace("mm", minutes).replace("ss", seconds);
};
const logoCache = /* @__PURE__ */ new Map();
const getCachedLogo = async (logoUrl) => {
if (logoCache.has(logoUrl)) {
common_vendor.index.__f__("log", "at common/utils.js:70", "使用缓存的logo:", logoUrl);
return logoCache.get(logoUrl);
}
return new Promise((resolve, reject) => {
common_vendor.index.downloadFile({
url: logoUrl,
success: (downloadRes) => {
common_vendor.index.__f__("log", "at common/utils.js:79", "下载并缓存logo:", logoUrl);
logoCache.set(logoUrl, downloadRes.tempFilePath);
resolve(downloadRes.tempFilePath);
},
fail: (err) => {
common_vendor.index.__f__("error", "at common/utils.js:85", "下载logo失败:", err);
reject(err);
}
});
});
};
const getFileSize = async (filePath) => {
return new Promise((resolve, reject) => {
common_vendor.index.getFileInfo({
filePath,
success: (res) => {
resolve({
size: res.size,
// 文件大小(字节)
sizeKB: (res.size / 1024).toFixed(2),
// KB
sizeMB: (res.size / (1024 * 1024)).toFixed(2)
// MB
});
},
fail: (err) => {
common_vendor.index.__f__("error", "at common/utils.js:124", "获取文件大小失败:", err);
reject(err);
}
});
});
};
const handleWatermarkExport = async (tempFilePath, originalFileSize, width, height, resolve) => {
try {
const watermarkFileSize = await getFileSize(tempFilePath);
common_vendor.index.__f__("log", "at common/utils.js:142", "水印图片文件大小:", watermarkFileSize.sizeKB, "KB");
resolve({
filePath: tempFilePath,
originalSize: {
width,
height,
fileSize: originalFileSize
},
watermarkSize: {
width,
height,
fileSize: watermarkFileSize
}
});
} catch (err) {
common_vendor.index.__f__("error", "at common/utils.js:157", "获取水印图片文件大小失败:", err);
resolve({
filePath: tempFilePath,
originalSize: {
width,
height,
fileSize: originalFileSize
},
watermarkSize: {
width,
height,
fileSize: null
}
});
}
};
const calculateQuality = (originalSizeKB) => {
if (originalSizeKB < 100) {
return 0.9;
} else if (originalSizeKB < 500) {
return 0.8;
} else {
return 0.7;
}
};
const calculateOutputSize = (width, height, maxWidth = 1920) => {
if (width <= maxWidth) {
return {
width,
height
};
}
const ratio = maxWidth / width;
return {
width: Math.round(width * ratio),
height: Math.round(height * ratio)
};
};
const addWatermark = async (imagePath, watermarkInfo, logoUrl = null, logoOpacity = 1, quality = null, maxWidth = 1920) => {
return new Promise(async (resolve, reject) => {
try {
const originalFileSize = await getFileSize(imagePath);
common_vendor.index.__f__("log", "at common/utils.js:230", "原图文件大小:", originalFileSize.sizeKB, "KB");
const compressionQuality = quality !== null ? quality : calculateQuality(
originalFileSize.sizeKB
);
common_vendor.index.__f__("log", "at common/utils.js:235", "使用压缩质量:", compressionQuality);
common_vendor.index.getImageInfo({
src: imagePath,
success: (imageInfo) => {
const {
width,
height
} = imageInfo;
common_vendor.index.__f__("log", "at common/utils.js:245", "原图尺寸:", width, "x", height);
const outputSize = calculateOutputSize(width, height, maxWidth);
common_vendor.index.__f__("log", "at common/utils.js:249", "输出尺寸:", outputSize.width, "x", outputSize.height);
const canvas = common_vendor.index.createCanvasContext("watermarkCanvas");
canvas.clearRect(0, 0, outputSize.width, outputSize.height);
canvas.drawImage(imagePath, 0, 0, outputSize.width, outputSize.height);
const processText = (text, maxChars = 25, maxLines = 3) => {
if (text.length <= maxChars) {
return [text];
}
const lines = [];
let currentLine = "";
let lineCount = 0;
for (let i = 0; i < text.length && lineCount < maxLines; i++) {
currentLine += text[i];
if (currentLine.length >= maxChars || i === text.length - 1) {
lines.push(currentLine);
lineCount++;
currentLine = "";
if (lineCount === maxLines && i < text.length - 1) {
lines[lines.length - 1] = lines[lines.length - 1].slice(
0,
-3
) + "...";
break;
}
}
}
return lines;
};
const watermarkText = [
`时间: ${watermarkInfo.time}`,
`经度: ${watermarkInfo.longitude}`,
`维度: ${watermarkInfo.latitude}`
];
var location = processText("位置: " + watermarkInfo.location);
watermarkText.push(...location);
var department = processText("部门: " + watermarkInfo.department);
watermarkText.push(...department);
var status = processText("状态: " + watermarkInfo.status);
watermarkText.push(...status);
var workers = processText("人员: " + watermarkInfo.workers.join(
", "
));
watermarkText.push(...workers);
var remarks = processText("内容: " + watermarkInfo.remarks);
watermarkText.push(...remarks);
const drawTextWatermark = () => {
const padding = 30;
const fontSize = 40;
const lineHeight = 50;
const startX = padding;
const startY = outputSize.height - padding - watermarkText.length * lineHeight;
canvas.setFillStyle("rgba(255, 255, 255, 1)");
canvas.setFontSize(fontSize);
canvas.setTextBaseline("top");
watermarkText.forEach((text, index) => {
canvas.fillText(text, startX, startY + index * lineHeight);
});
if (logoUrl) {
getCachedLogo(logoUrl).then((cachedLogoPath) => {
const logoSize = 200;
const logoPadding = 30;
const logoX = logoPadding;
const logoY = startY - logoSize - 10;
canvas.setGlobalAlpha(logoOpacity);
canvas.drawImage(
cachedLogoPath,
logoX,
logoY,
logoSize,
logoSize
);
canvas.setGlobalAlpha(1);
canvas.draw(true, () => {
common_vendor.index.__f__(
"log",
"at common/utils.js:357",
"Canvas绘制完成包含logo"
);
setTimeout(() => {
common_vendor.index.canvasToTempFilePath({
canvasId: "watermarkCanvas",
width: outputSize.width,
height: outputSize.height,
fileType: "jpg",
// 使用jpg格式文件更小
quality: compressionQuality,
// 使用动态计算的压缩质量
success: (res) => {
console.log(
"导出成功:",
res.tempFilePath
);
console.log(
"水印图片尺寸:",
outputSize.width,
"x",
outputSize.height
);
handleWatermarkExport(
res.tempFilePath,
originalFileSize,
outputSize.width,
outputSize.height,
resolve
);
},
fail: (err) => {
console.error(
"导出图片失败:",
err
);
reject(
err
);
}
});
}, 100);
});
}).catch((err) => {
common_vendor.index.__f__("error", "at common/utils.js:415", "获取logo失败:", err);
canvas.draw(true, () => {
common_vendor.index.__f__(
"log",
"at common/utils.js:418",
"Canvas绘制完成logo获取失败"
);
setTimeout(() => {
common_vendor.index.canvasToTempFilePath({
canvasId: "watermarkCanvas",
width: outputSize.width,
height: outputSize.height,
fileType: "jpg",
// 使用jpg格式文件更小
quality: compressionQuality,
// 使用动态计算的压缩质量
success: (res) => {
console.log(
"导出成功:",
res.tempFilePath
);
console.log(
"水印图片尺寸:",
outputSize.width,
"x",
outputSize.height
);
handleWatermarkExport(
res.tempFilePath,
originalFileSize,
outputSize.width,
outputSize.height,
resolve
);
},
fail: (err2) => {
console.error(
"导出图片失败:",
err2
);
reject(
err2
);
}
});
}, 100);
});
});
} else {
canvas.draw(true, () => {
common_vendor.index.__f__("log", "at common/utils.js:479", "Canvas绘制完成无logo");
setTimeout(() => {
common_vendor.index.canvasToTempFilePath({
canvasId: "watermarkCanvas",
width: outputSize.width,
height: outputSize.height,
fileType: "jpg",
// 使用jpg格式文件更小
quality: compressionQuality,
// 使用动态计算的压缩质量
success: (res) => {
common_vendor.index.__f__(
"log",
"at common/utils.js:492",
"导出成功:",
res.tempFilePath
);
common_vendor.index.__f__(
"log",
"at common/utils.js:497",
"水印图片尺寸:",
outputSize.width,
"x",
outputSize.height
);
handleWatermarkExport(
res.tempFilePath,
originalFileSize,
outputSize.width,
outputSize.height,
resolve
);
},
fail: (err) => {
console.error(
"导出图片失败:",
err
);
reject(err);
}
});
}, 100);
});
}
};
drawTextWatermark();
},
fail: (err) => {
common_vendor.index.__f__("error", "at common/utils.js:533", "获取图片信息失败:", err);
reject(err);
}
});
} catch (error) {
common_vendor.index.__f__("error", "at common/utils.js:538", "处理图片失败:", error);
reject(error);
}
});
};
const saveImageToPhotosAlbum = (image) => {
return new Promise((resolve, reject) => {
common_vendor.index.saveImageToPhotosAlbum({
filePath: image,
success: () => {
common_vendor.index.__f__("log", "at common/utils.js:549", "图片保存到相册成功");
resolve(true);
},
fail: (err) => {
common_vendor.index.__f__("error", "at common/utils.js:553", "保存到相册失败:", err);
if (err.errMsg && err.errMsg.includes("auth deny")) {
common_vendor.index.showModal({
title: "提示",
content: "需要您授权保存图片到相册,请在设置中开启相册权限",
showCancel: false,
confirmText: "知道了"
});
}
resolve(false);
}
});
});
};
const imageToBase64 = (filePath) => {
return new Promise((resolve, reject) => {
common_vendor.index.getImageInfo({
src: filePath,
success: (info) => {
const type = info.type || "jpeg";
common_vendor.index.getFileSystemManager().readFile({
filePath,
encoding: "base64",
success: (res) => resolve(`data:image/${type};base64,${res.data}`),
fail: reject
});
},
fail: reject
});
});
};
exports.addWatermark = addWatermark;
exports.chooseImage = chooseImage;
exports.formatDate = formatDate;
exports.getCachedLogo = getCachedLogo;
exports.getLocation = getLocation;
exports.imageToBase64 = imageToBase64;
exports.saveImageToPhotosAlbum = saveImageToPhotosAlbum;
//# sourceMappingURL=../../.sourcemap/mp-weixin/common/utils.js.map

File diff suppressed because it is too large Load Diff

View File

@ -1,378 +0,0 @@
"use strict";
const common_vendor = require("../../common/vendor.js");
const common_assets = require("../../common/assets.js");
const common_utils = require("../../common/utils.js");
const common_mapTranslateResult = require("../../common/mapTranslateResult.js");
const common_server = require("../../common/server.js");
if (!Array) {
const _easycom_uni_combox2 = common_vendor.resolveComponent("uni-combox");
const _easycom_uni_popup2 = common_vendor.resolveComponent("uni-popup");
(_easycom_uni_combox2 + _easycom_uni_popup2)();
}
const _easycom_uni_combox = () => "../../uni_modules/uni-combox/components/uni-combox/uni-combox.js";
const _easycom_uni_popup = () => "../../uni_modules/uni-popup/components/uni-popup/uni-popup.js";
if (!Math) {
(_easycom_uni_combox + _easycom_uni_popup)();
}
const _sfc_main = {
__name: "index",
setup(__props) {
const title = common_vendor.ref("水印相机");
const candidates = common_vendor.ref([]);
const workContent = common_vendor.ref("");
const popup = common_vendor.ref(null);
const locations = common_vendor.ref({
location: {
lat: null,
lng: null
},
translate: {
lat: null,
lng: null,
locationInfo: null
}
});
const imageSrc = common_vendor.ref("");
const originalImageSrc = common_vendor.ref("");
const imageSizeInfo = common_vendor.ref({
original: {
width: 0,
height: 0,
fileSize: null
},
watermark: {
width: 0,
height: 0,
fileSize: null
}
});
const departments = common_vendor.ref(["请选择"]);
const deptIndex = common_vendor.ref(0);
const workers = common_vendor.ref([""]);
const statusList = common_vendor.ref([]);
const statusIndex = common_vendor.ref(0);
const locationInfo = common_vendor.ref("");
const currentTime = common_vendor.ref("");
let logo = "";
const handleStartCapture = async () => {
common_vendor.index.showLoading({
title: "加载中。。。"
});
try {
const locationData2 = await common_utils.getLocation();
common_vendor.index.__f__("log", "at pages/index/index.vue:192", "系统坐标", locationData2);
const location = locationData2.latitude + "," + locationData2.longitude;
common_vendor.index.__f__("log", "at pages/index/index.vue:195", "经纬度", location);
const translate = await common_mapTranslateResult.getLocationTranslate(location);
common_vendor.index.__f__("log", "at pages/index/index.vue:198", "转换后", translate);
const t_location = translate.lat + "," + translate.lng;
const geocoderResult = await common_mapTranslateResult.getLocationGeocoder(t_location);
common_vendor.index.__f__("log", "at pages/index/index.vue:202", "地理编码结果", geocoderResult);
locations.value.location.lat = locationData2.latitude;
locations.value.location.lng = locationData2.longitude;
locations.value.translate.lat = translate.lat;
locations.value.translate.lng = translate.lng;
locations.value.translate.locationInfo = geocoderResult || "未知位置";
locationInfo.value = geocoderResult || "未知位置";
currentTime.value = /* @__PURE__ */ new Date();
const image = await common_utils.chooseImage();
common_vendor.index.__f__("log", "at pages/index/index.vue:215", "图片", image);
originalImageSrc.value = image.tempFilePaths[0];
imageSrc.value = image.tempFilePaths[0];
await addWatermarkToImage();
common_vendor.index.hideLoading();
popup.value.open();
} catch (error) {
common_vendor.index.__f__("log", "at pages/index/index.vue:223", "错误", error);
common_vendor.index.hideLoading();
}
};
const handlePreviewImage = () => {
common_vendor.index.previewImage({
urls: [imageSrc.value]
});
};
const handleComboxSelect = async (value) => {
common_vendor.index.__f__("log", "at pages/index/index.vue:237", "选择的工作内容:", value);
if (locationData[value] != null) {
var tempData = locationData[value];
if (tempData.dept && departments.value.includes(tempData.dept)) {
deptIndex.value = departments.value.indexOf(tempData.dept);
}
if (tempData.status && statusList.value.includes(tempData.status)) {
statusIndex.value = statusList.value.indexOf(tempData.status);
}
if (tempData.workers && Array.isArray(tempData.workers)) {
workers.value.splice(0, workers.value.length);
workers.value.push(...tempData.workers);
}
await addWatermarkToImage(value);
common_vendor.index.__f__("log", "at pages/index/index.vue:257", "加载的历史数据:", tempData);
}
};
const handleDeptChange = (e) => {
deptIndex.value = e.detail.value;
};
const handleStatusChange = (e) => {
statusIndex.value = e.detail.value;
};
const addWorker = () => {
workers.value.push("");
};
const removeWorker = (index) => {
if (workers.value.length > 1) {
workers.value.splice(index, 1);
}
};
const addWatermarkToImage = async (work = "") => {
try {
const watermarkInfo = {
time: common_utils.formatDate(currentTime.value),
location: locationInfo.value,
longitude: locations.value.translate.lng,
latitude: locations.value.translate.lat,
department: departments.value[deptIndex.value],
workers: workers.value.filter((worker) => worker.trim() !== ""),
status: statusList.value[statusIndex.value],
remarks: workContent.value
};
if (workContent.value == "" && work != "") {
watermarkInfo.remarks = work;
}
common_vendor.index.__f__("log", "at pages/index/index.vue:297", "水印信息:", watermarkInfo);
common_vendor.index.__f__("log", "at pages/index/index.vue:298", "原图路径:", originalImageSrc.value);
const watermarkResult = await common_utils.addWatermark(
originalImageSrc.value,
watermarkInfo,
logo,
1
);
common_vendor.index.__f__("log", "at pages/index/index.vue:307", "水印结果:", watermarkResult);
imageSrc.value = watermarkResult.filePath;
imageSizeInfo.value = {
original: watermarkResult.originalSize,
watermark: watermarkResult.watermarkSize
};
} catch (error) {
common_vendor.index.__f__("error", "at pages/index/index.vue:314", "添加水印失败:", error);
common_vendor.index.showToast({
title: "添加水印失败",
icon: "error"
});
}
};
const handleRetakePhoto = () => {
popup.value.close();
resetFormData();
};
const handleRetakeCancel = async () => {
workers.value.splice(0, workers.value.length);
workers.value.push("");
statusIndex.value = 0;
deptIndex.value = 0;
workContent.value = "";
loadCandidates();
await addWatermarkToImage();
};
var locationData = {};
const handleSaveAndSubmit = async () => {
try {
common_vendor.index.showLoading({
title: "保存中..."
});
await addWatermarkToImage();
var saveData = {
workContent: workContent.value,
workers: workers.value.filter((worker) => worker.trim() !== ""),
status: statusList.value[statusIndex.value],
dept: departments.value[deptIndex.value],
date: (/* @__PURE__ */ new Date()).toISOString()
// 使用ISO格式确保时间格式一致
};
common_vendor.index.__f__("log", "at pages/index/index.vue:353", saveData);
locationData[workContent.value] = saveData;
common_vendor.index.setStorageSync("locationData", locationData);
var fromData = {
locations: locations.value,
workContent: workContent.value,
workers: workers.value,
status: statusList.value[statusIndex.value],
dept: departments.value[deptIndex.value]
};
var _remarks = JSON.stringify(locations.value);
var imageBase64 = await common_utils.imageToBase64(imageSrc.value);
common_vendor.index.__f__("log", "at pages/index/index.vue:365", fromData);
const camRecordWorkDto = {
// 部门名称
DeptName: departments.value[deptIndex.value],
// 图片地址
Image: imageBase64,
// 工作记录时间
RecordTime: common_utils.formatDate(currentTime.value),
// 经度
Longitude: locations.value.translate.lng,
// 纬度
Latitude: locations.value.translate.lat,
// 工作地点
Address: locationInfo.value,
// 工作内容
Content: workContent.value,
// 状态
StatusName: statusList.value[statusIndex.value],
// 备注
Remarks: _remarks,
// 工作人员列表
Workers: workers.value
};
var res = await common_server.addWatermarkRecord(camRecordWorkDto);
common_vendor.index.__f__("log", "at pages/index/index.vue:390", res);
if (res.code != 200) {
common_vendor.index.hideLoading();
common_vendor.index.showToast({
title: res.msg,
icon: "error"
});
return;
}
if (imageSrc.value) {
await common_utils.saveImageToPhotosAlbum(imageSrc.value);
}
common_vendor.index.hideLoading();
common_vendor.index.showToast({
title: "保存成功",
icon: "success"
});
handleRetakePhoto();
} catch (error) {
common_vendor.index.__f__("error", "at pages/index/index.vue:412", "保存失败:", error);
common_vendor.index.hideLoading();
common_vendor.index.showToast({
title: "保存失败",
icon: "error"
});
}
};
const resetFormData = () => {
imageSrc.value = "";
originalImageSrc.value = "";
locationInfo.value = "";
currentTime.value = "";
imageSizeInfo.value = {
original: {
width: 0,
height: 0,
fileSize: null
},
watermark: {
width: 0,
height: 0,
fileSize: null
}
};
workers.value.splice(0, workers.value.length);
workers.value.push("");
statusIndex.value = 0;
deptIndex.value = 0;
workContent.value = "";
loadCandidates();
};
const loadCandidates = () => {
candidates.value.splice(0, candidates.value.length);
const sortedEntries = Object.entries(locationData).filter(([key, data]) => data && data.date).sort((a, b) => {
const dateA = new Date(a[1].date);
const dateB = new Date(b[1].date);
return dateB - dateA;
});
sortedEntries.forEach(([key, data]) => {
common_vendor.index.__f__("log", "at pages/index/index.vue:462", `工作内容: ${key}, 时间: ${data.date}`);
candidates.value.push(key);
});
};
common_vendor.onLoad(async () => {
common_vendor.index.showLoading({
title: "loading..."
});
try {
const config = await common_server.getConfig();
common_vendor.index.__f__("log", "at pages/index/index.vue:474", "配置", config);
logo = config.logo;
departments.value.push(...config.deptList);
statusList.value.push(...config.construction);
await common_utils.getCachedLogo(logo);
var _locationData = common_vendor.index.getStorageSync("locationData");
if (_locationData != null) {
locationData = _locationData;
loadCandidates();
}
} catch (error) {
common_vendor.index.__f__("error", "at pages/index/index.vue:489", "初始化失败:", error);
} finally {
common_vendor.index.hideLoading();
}
});
return (_ctx, _cache) => {
return common_vendor.e({
a: common_assets._imports_0,
b: common_vendor.t(title.value),
c: common_vendor.o(handleStartCapture),
d: imageSrc.value,
e: common_vendor.o(handlePreviewImage),
f: imageSizeInfo.value.original.width > 0 && false
}, imageSizeInfo.value.original.width > 0 && false ? common_vendor.e({
g: common_vendor.t(imageSizeInfo.value.original.width),
h: common_vendor.t(imageSizeInfo.value.original.height),
i: imageSizeInfo.value.original.fileSize
}, imageSizeInfo.value.original.fileSize ? {
j: common_vendor.t(imageSizeInfo.value.original.fileSize.sizeKB)
} : {}, {
k: common_vendor.t(imageSizeInfo.value.watermark.width),
l: common_vendor.t(imageSizeInfo.value.watermark.height),
m: imageSizeInfo.value.watermark.fileSize
}, imageSizeInfo.value.watermark.fileSize ? {
n: common_vendor.t(imageSizeInfo.value.watermark.fileSize.sizeKB)
} : {}) : {}, {
o: locationInfo.value,
p: common_vendor.o(($event) => locationInfo.value = $event.detail.value),
q: common_vendor.o(handleComboxSelect),
r: common_vendor.o(($event) => workContent.value = $event),
s: common_vendor.p({
candidates: candidates.value,
["clear-able"]: true,
placeholder: "请填写工作内容",
modelValue: workContent.value
}),
t: common_vendor.t(departments.value[deptIndex.value]),
v: departments.value,
w: common_vendor.o(handleDeptChange),
x: common_vendor.f(workers.value, (worker, index, i0) => {
return common_vendor.e({
a: workers.value[index],
b: common_vendor.o(($event) => workers.value[index] = $event.detail.value, index),
c: common_vendor.o(addWorker, index)
}, workers.value.length > 0 ? {
d: common_vendor.o(($event) => removeWorker(index), index)
} : {}, {
e: index
});
}),
y: workers.value.length > 0,
z: common_vendor.t(statusList.value[statusIndex.value]),
A: statusList.value,
B: common_vendor.o(handleStatusChange),
C: common_vendor.o(handleRetakePhoto),
D: common_vendor.o(handleRetakeCancel),
E: common_vendor.o(handleSaveAndSubmit),
F: common_vendor.sr(popup, "8cd9cd9a-0", {
"k": "popup"
}),
G: common_vendor.p({
["is-mask-click"]: false,
type: "bottom",
["border-radius"]: "0 0 0 0"
})
});
};
}
};
wx.createPage(_sfc_main);
//# sourceMappingURL=../../../.sourcemap/mp-weixin/pages/index/index.js.map

View File

@ -1,8 +0,0 @@
{
"navigationBarTitleText": "",
"navigationStyle": "custom",
"usingComponents": {
"uni-combox": "../../uni_modules/uni-combox/components/uni-combox/uni-combox",
"uni-popup": "../../uni_modules/uni-popup/components/uni-popup/uni-popup"
}
}

View File

@ -1 +0,0 @@
<view><view><image class="logo" src="{{a}}"></image><text class="title">{{b}}</text><view class="btn-view"><button type="primary" class="btn" bindtap="{{c}}"> 开始拍摄 </button></view></view><canvas canvas-id="watermarkCanvas" style="position:fixed;top:-9999px;left:-9999px;width:2000px;height:2000px"></canvas><uni-popup wx:if="{{G}}" class="r" u-s="{{['d']}}" u-r="popup" u-i="8cd9cd9a-0" bind:__l="__l" u-p="{{G}}"><view class="container"><view style="height:80rpx"></view><view class="preview-box"><text class="preview-title">图片预览</text><view class="preview-img"><image src="{{d}}" bindtap="{{e}}" mode="aspectFit" class="img"></image></view><view wx:if="{{f}}" class="size-info"><text class="size-text"> 原图尺寸: {{g}} x {{h}}</text><text wx:if="{{i}}" class="size-text"> 原图大小: {{j}} KB </text><text class="size-text"> 水印图片尺寸: {{k}} x {{l}}</text><text wx:if="{{m}}" class="size-text"> 水印图片大小: {{n}} KB </text></view></view><view class="form-item"><text class="label">位置:</text><input type="text" class="input worker-input" value="{{o}}" bindinput="{{p}}"/></view><view class="form-item"><text class="label">请填写工作内容:</text><uni-combox wx:if="{{s}}" bindselect="{{q}}" u-i="8cd9cd9a-1,8cd9cd9a-0" bind:__l="__l" bindupdateModelValue="{{r}}" u-p="{{s}}"></uni-combox></view><view class="form-item"><text class="label">请选择部门:</text><picker range="{{v}}" bindchange="{{w}}"><view class="picker">{{t}}</view></picker></view><view class="form-item"><text class="label">请填写施工人员:</text><view wx:for="{{x}}" wx:for-item="worker" wx:key="e" class="worker-row"><input type="text" class="input worker-input" value="{{worker.a}}" bindinput="{{worker.b}}"/><view class="btns"><button class="btn_f" size="mini" bindtap="{{worker.c}}">+</button><button wx:if="{{y}}" class="btn_f" size="mini" bindtap="{{worker.d}}"> - </button></view></view></view><view class="form-item"><text class="label">请选择项目状态:</text><picker range="{{A}}" bindchange="{{B}}"><view class="picker">{{z}}</view></picker></view><view class="footer"><button type="primary" class="btn-cancel" bindtap="{{C}}"> 重拍 </button><button type="primary" class="btn-cancel" bindtap="{{D}}"> 清空 </button><button type="primary" class="btn-submit" bindtap="{{E}}"> 保存本地并提交 </button></view></view></uni-popup></view>

View File

@ -1,134 +0,0 @@
.logo {
height: 200px;
width: 200px;
margin: 0 auto;
position: absolute;
top: 25%;
left: 50%;
transform: translate(-50%, -50%);
}
.btn {
width: 100px;
margin: 0 auto;
position: absolute;
bottom: 22%;
left: 50%;
transform: translate(-50%, -50%);
}
.title {
margin: 0 auto;
font-size: 20px;
font-weight: 700;
color: #000;
text-align: center;
position: absolute;
top: 35%;
left: 50%;
transform: translate(-50%, -50%);
}
.container {
padding: 20rpx;
background: #fff;
height: 100vh;
overflow: auto;
}
.preview-box {
background: #fff;
padding: 20rpx;
margin-bottom: 20rpx;
text-align: center;
}
.preview-title {
font-size: 32rpx;
font-weight: bold;
}
.preview-img {
margin: 20rpx 0;
width: 100%;
height: 400rpx;
background: #ddd;
display: flex;
justify-content: center;
align-items: center;
text-align: center;
}
.img {
width: 400rpx;
height: 400rpx;
}
.preview-info {
font-size: 26rpx;
color: #666;
text-align: left;
margin-top: 10rpx;
}
.form-item {
margin-bottom: 20rpx;
}
.label {
font-size: 28rpx;
margin-bottom: 10rpx;
display: block;
}
.input {
border: 1px solid #ddd;
border-radius: 8rpx;
padding: 10rpx;
background: #fff;
}
.picker {
border: 1px solid #ddd;
border-radius: 8rpx;
padding: 10rpx;
background: #fff;
}
.worker-row {
display: flex;
align-items: center;
margin-bottom: 10rpx;
}
.worker-input {
flex: 1;
}
.btns {
display: flex;
margin-left: 10rpx;
}
.btn_f {
margin-left: 5rpx;
}
.footer {
display: flex;
justify-content: space-between;
margin-top: 40rpx;
}
.btn-cancel {
background: #007aff;
color: #fff;
}
.btn-submit {
background: #007aff;
color: #fff;
}
.watermark-btn {
margin-top: 20rpx;
background: #28a745;
color: #fff;
font-size: 28rpx;
padding: 10rpx 30rpx;
border-radius: 8rpx;
}
.size-info {
margin-top: 20rpx;
padding: 20rpx;
background: #f8f9fa;
border-radius: 8rpx;
}
.size-text {
display: block;
font-size: 24rpx;
color: #666;
margin-bottom: 10rpx;
text-align: center;
}

View File

@ -1,29 +0,0 @@
{
"description": "项目配置文件。",
"packOptions": {
"ignore": [],
"include": []
},
"setting": {
"urlCheck": false,
"es6": true,
"postcss": false,
"minified": false,
"newFeature": true,
"bigPackageSizeSupport": true,
"babelSetting": {
"ignore": [],
"disablePlugins": [],
"outputPath": ""
}
},
"compileType": "miniprogram",
"libVersion": "3.9.1",
"appid": "touristappid",
"projectname": "WorkCameraf",
"condition": {},
"editorSetting": {
"tabIndent": "insertSpaces",
"tabSize": 2
}
}

View File

@ -1,7 +0,0 @@
{
"description": "项目私有配置文件。此文件中的内容将覆盖 project.config.json 中的相同字段。项目的改动优先同步到此文件中。详见文档https://developers.weixin.qq.com/miniprogram/dev/devtools/projectconfig.html",
"projectname": "WorkCameraf",
"setting": {
"compileHotReLoad": true
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 114 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.9 KiB

View File

@ -1,160 +0,0 @@
"use strict";
const common_vendor = require("../../../../common/vendor.js");
const _sfc_main = {
name: "uniCombox",
emits: ["input", "update:modelValue", "select"],
props: {
clearAble: {
type: Boolean,
default: false
},
border: {
type: Boolean,
default: true
},
label: {
type: String,
default: ""
},
labelWidth: {
type: String,
default: "auto"
},
placeholder: {
type: String,
default: ""
},
candidates: {
type: Array,
default() {
return [];
}
},
emptyTips: {
type: String,
default: "无匹配项"
},
modelValue: {
type: [String, Number],
default: ""
}
},
data() {
return {
showSelector: false,
inputVal: ""
};
},
computed: {
labelStyle() {
if (this.labelWidth === "auto") {
return "";
}
return `width: ${this.labelWidth}`;
},
filterCandidates() {
return this.candidates.filter((item) => {
return item.toString().indexOf(this.inputVal) > -1;
});
},
filterCandidatesLength() {
return this.filterCandidates.length;
}
},
watch: {
modelValue: {
handler(newVal) {
this.inputVal = newVal;
},
immediate: true
}
},
methods: {
toggleSelector() {
this.showSelector = !this.showSelector;
},
onFocus() {
this.showSelector = true;
},
onBlur() {
setTimeout(() => {
this.showSelector = false;
}, 153);
},
onSelectorClick(index) {
this.inputVal = this.filterCandidates[index];
this.showSelector = false;
this.$emit("input", this.inputVal);
this.$emit("select", this.inputVal);
this.$emit("update:modelValue", this.inputVal);
},
onInput() {
setTimeout(() => {
this.$emit("input", this.inputVal);
this.$emit("update:modelValue", this.inputVal);
});
},
clean() {
this.inputVal = "";
this.onInput();
}
}
};
if (!Array) {
const _easycom_uni_icons2 = common_vendor.resolveComponent("uni-icons");
_easycom_uni_icons2();
}
const _easycom_uni_icons = () => "../../../uni-icons/components/uni-icons/uni-icons.js";
if (!Math) {
_easycom_uni_icons();
}
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
return common_vendor.e({
a: $props.label
}, $props.label ? {
b: common_vendor.t($props.label),
c: common_vendor.s($options.labelStyle)
} : {}, {
d: $props.placeholder,
e: common_vendor.o([($event) => $data.inputVal = $event.detail.value, (...args) => $options.onInput && $options.onInput(...args)]),
f: common_vendor.o((...args) => $options.onFocus && $options.onFocus(...args)),
g: common_vendor.o((...args) => $options.onBlur && $options.onBlur(...args)),
h: $data.inputVal,
i: !$data.inputVal || !$props.clearAble
}, !$data.inputVal || !$props.clearAble ? {
j: common_vendor.o($options.toggleSelector),
k: common_vendor.p({
type: $data.showSelector ? "top" : "bottom",
size: "14",
color: "#999"
})
} : {}, {
l: $data.inputVal && $props.clearAble
}, $data.inputVal && $props.clearAble ? {
m: common_vendor.o($options.clean),
n: common_vendor.p({
type: "clear",
size: "24",
color: "#999"
})
} : {}, {
o: $data.showSelector && $options.filterCandidatesLength > 0
}, $data.showSelector && $options.filterCandidatesLength > 0 ? common_vendor.e({
p: $options.filterCandidatesLength === 0
}, $options.filterCandidatesLength === 0 ? {
q: common_vendor.t($props.emptyTips)
} : {}, {
r: common_vendor.f($options.filterCandidates, (item, index, i0) => {
return {
a: common_vendor.t(item),
b: index,
c: common_vendor.o(($event) => $options.onSelectorClick(index), index)
};
})
}) : {}, {
s: common_vendor.n($props.border ? "" : "uni-combox__no-border")
});
}
const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-e602780e"]]);
wx.createComponent(Component);
//# sourceMappingURL=../../../../../.sourcemap/mp-weixin/uni_modules/uni-combox/components/uni-combox/uni-combox.js.map

View File

@ -1,6 +0,0 @@
{
"component": true,
"usingComponents": {
"uni-icons": "../../../uni-icons/components/uni-icons/uni-icons"
}
}

View File

@ -1 +0,0 @@
<view class="{{['uni-combox', 'data-v-e602780e', s]}}"><view wx:if="{{a}}" class="uni-combox__label data-v-e602780e" style="{{c}}"><text class="data-v-e602780e">{{b}}</text></view><view class="uni-combox__input-box data-v-e602780e"><input class="uni-combox__input data-v-e602780e" type="text" placeholder="{{d}}" placeholder-class="uni-combox__input-plac" bindinput="{{e}}" bindfocus="{{f}}" bindblur="{{g}}" value="{{h}}"/><uni-icons wx:if="{{i}}" class="data-v-e602780e" bindclick="{{j}}" u-i="e602780e-0" bind:__l="__l" u-p="{{k}}"></uni-icons><uni-icons wx:if="{{l}}" class="data-v-e602780e" bindclick="{{m}}" u-i="e602780e-1" bind:__l="__l" u-p="{{n}}"></uni-icons></view><view wx:if="{{o}}" class="uni-combox__selector data-v-e602780e"><view class="uni-popper__arrow data-v-e602780e"></view><scroll-view scroll-y="true" class="uni-combox__selector-scroll data-v-e602780e"><view wx:if="{{p}}" class="uni-combox__selector-empty data-v-e602780e"><text class="data-v-e602780e">{{q}}</text></view><view wx:for="{{r}}" wx:for-item="item" wx:key="b" class="uni-combox__selector-item data-v-e602780e" bindtap="{{item.c}}"><text class="data-v-e602780e">{{item.a}}</text></view></scroll-view></view></view>

View File

@ -1,119 +0,0 @@
/**
* 这里是uni-app内置的常用样式变量
*
* uni-app 官方扩展插件及插件市场https://ext.dcloud.net.cn上很多三方插件均使用了这些样式变量
* 如果你是插件开发者建议你使用scss预处理并在插件代码中直接使用这些变量无需 import 这个文件方便用户通过搭积木的方式开发整体风格一致的App
*
*/
/**
* 如果你是App开发者插件使用者你可以通过修改这些变量来定制自己的插件主题实现自定义主题功能
*
* 如果你的项目同样使用了scss预处理你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
*/
/* 颜色变量 */
/* 行为相关颜色 */
/* 文字基本颜色 */
/* 背景颜色 */
/* 边框颜色 */
/* 尺寸变量 */
/* 文字尺寸 */
/* 图片尺寸 */
/* Border Radius */
/* 水平间距 */
/* 垂直间距 */
/* 透明度 */
/* 文章场景相关 */
.uni-combox.data-v-e602780e {
font-size: 14px;
border: 1px solid #DCDFE6;
border-radius: 4px;
padding: 6px 10px;
position: relative;
display: flex;
flex-direction: row;
align-items: center;
}
.uni-combox__label.data-v-e602780e {
font-size: 16px;
line-height: 22px;
padding-right: 10px;
color: #999999;
}
.uni-combox__input-box.data-v-e602780e {
position: relative;
display: flex;
flex: 1;
flex-direction: row;
align-items: center;
}
.uni-combox__input.data-v-e602780e {
flex: 1;
font-size: 14px;
height: 22px;
line-height: 22px;
}
.uni-combox__input-plac.data-v-e602780e {
font-size: 14px;
color: #999;
}
.uni-combox__selector.data-v-e602780e {
box-sizing: border-box;
position: absolute;
top: calc(100% + 12px);
left: 0;
width: 100%;
background-color: #FFFFFF;
border: 1px solid #EBEEF5;
border-radius: 6px;
box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
z-index: 2;
padding: 4px 0;
}
.uni-combox__selector-scroll.data-v-e602780e {
max-height: 200px;
box-sizing: border-box;
}
.uni-combox__selector-empty.data-v-e602780e,
.uni-combox__selector-item.data-v-e602780e {
display: flex;
cursor: pointer;
line-height: 36px;
font-size: 14px;
text-align: center;
padding: 0px 10px;
}
.uni-combox__selector-item.data-v-e602780e:hover {
background-color: #f9f9f9;
}
.uni-combox__selector-empty.data-v-e602780e:last-child,
.uni-combox__selector-item.data-v-e602780e:last-child {
border-bottom: none;
}
.uni-popper__arrow.data-v-e602780e,
.uni-popper__arrow.data-v-e602780e::after {
position: absolute;
display: block;
width: 0;
height: 0;
border-color: transparent;
border-style: solid;
border-width: 6px;
}
.uni-popper__arrow.data-v-e602780e {
filter: drop-shadow(0 2px 12px rgba(0, 0, 0, 0.03));
top: -6px;
left: 10%;
margin-right: 3px;
border-top-width: 0;
border-bottom-color: #EBEEF5;
}
.uni-popper__arrow.data-v-e602780e::after {
content: " ";
top: 1px;
margin-left: -6px;
border-top-width: 0;
border-bottom-color: #fff;
}
.uni-combox__no-border.data-v-e602780e {
border: none;
}

View File

@ -1,73 +0,0 @@
"use strict";
const uni_modules_uniIcons_components_uniIcons_uniicons_file_vue = require("./uniicons_file_vue.js");
const common_vendor = require("../../../../common/vendor.js");
const getVal = (val) => {
const reg = /^[0-9]*$/g;
return typeof val === "number" || reg.test(val) ? val + "px" : val;
};
const _sfc_main = {
name: "UniIcons",
emits: ["click"],
props: {
type: {
type: String,
default: ""
},
color: {
type: String,
default: "#333333"
},
size: {
type: [Number, String],
default: 16
},
customPrefix: {
type: String,
default: ""
},
fontFamily: {
type: String,
default: ""
}
},
data() {
return {
icons: uni_modules_uniIcons_components_uniIcons_uniicons_file_vue.fontData
};
},
computed: {
unicode() {
let code = this.icons.find((v) => v.font_class === this.type);
if (code) {
return code.unicode;
}
return "";
},
iconSize() {
return getVal(this.size);
},
styleObj() {
if (this.fontFamily !== "") {
return `color: ${this.color}; font-size: ${this.iconSize}; font-family: ${this.fontFamily};`;
}
return `color: ${this.color}; font-size: ${this.iconSize};`;
}
},
methods: {
_onClick(e) {
this.$emit("click", e);
}
}
};
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
return {
a: common_vendor.s($options.styleObj),
b: common_vendor.n("uniui-" + $props.type),
c: common_vendor.n($props.customPrefix),
d: common_vendor.n($props.customPrefix ? $props.type : ""),
e: common_vendor.o((...args) => $options._onClick && $options._onClick(...args))
};
}
const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render]]);
wx.createComponent(Component);
//# sourceMappingURL=../../../../../.sourcemap/mp-weixin/uni_modules/uni-icons/components/uni-icons/uni-icons.js.map

View File

@ -1,4 +0,0 @@
{
"component": true,
"usingComponents": {}
}

View File

@ -1 +0,0 @@
<text style="{{a}}" class="{{['uni-icons', b, c, d]}}" bindtap="{{e}}"><slot></slot></text>

File diff suppressed because one or more lines are too long

View File

@ -1,649 +0,0 @@
"use strict";
const fontData = [
{
"font_class": "arrow-down",
"unicode": ""
},
{
"font_class": "arrow-left",
"unicode": ""
},
{
"font_class": "arrow-right",
"unicode": ""
},
{
"font_class": "arrow-up",
"unicode": ""
},
{
"font_class": "auth",
"unicode": ""
},
{
"font_class": "auth-filled",
"unicode": ""
},
{
"font_class": "back",
"unicode": ""
},
{
"font_class": "bars",
"unicode": ""
},
{
"font_class": "calendar",
"unicode": ""
},
{
"font_class": "calendar-filled",
"unicode": ""
},
{
"font_class": "camera",
"unicode": ""
},
{
"font_class": "camera-filled",
"unicode": ""
},
{
"font_class": "cart",
"unicode": ""
},
{
"font_class": "cart-filled",
"unicode": ""
},
{
"font_class": "chat",
"unicode": ""
},
{
"font_class": "chat-filled",
"unicode": ""
},
{
"font_class": "chatboxes",
"unicode": ""
},
{
"font_class": "chatboxes-filled",
"unicode": ""
},
{
"font_class": "chatbubble",
"unicode": ""
},
{
"font_class": "chatbubble-filled",
"unicode": ""
},
{
"font_class": "checkbox",
"unicode": ""
},
{
"font_class": "checkbox-filled",
"unicode": ""
},
{
"font_class": "checkmarkempty",
"unicode": ""
},
{
"font_class": "circle",
"unicode": ""
},
{
"font_class": "circle-filled",
"unicode": ""
},
{
"font_class": "clear",
"unicode": ""
},
{
"font_class": "close",
"unicode": ""
},
{
"font_class": "closeempty",
"unicode": ""
},
{
"font_class": "cloud-download",
"unicode": ""
},
{
"font_class": "cloud-download-filled",
"unicode": ""
},
{
"font_class": "cloud-upload",
"unicode": ""
},
{
"font_class": "cloud-upload-filled",
"unicode": ""
},
{
"font_class": "color",
"unicode": ""
},
{
"font_class": "color-filled",
"unicode": ""
},
{
"font_class": "compose",
"unicode": ""
},
{
"font_class": "contact",
"unicode": ""
},
{
"font_class": "contact-filled",
"unicode": ""
},
{
"font_class": "down",
"unicode": ""
},
{
"font_class": "bottom",
"unicode": ""
},
{
"font_class": "download",
"unicode": ""
},
{
"font_class": "download-filled",
"unicode": ""
},
{
"font_class": "email",
"unicode": ""
},
{
"font_class": "email-filled",
"unicode": ""
},
{
"font_class": "eye",
"unicode": ""
},
{
"font_class": "eye-filled",
"unicode": ""
},
{
"font_class": "eye-slash",
"unicode": ""
},
{
"font_class": "eye-slash-filled",
"unicode": ""
},
{
"font_class": "fire",
"unicode": ""
},
{
"font_class": "fire-filled",
"unicode": ""
},
{
"font_class": "flag",
"unicode": ""
},
{
"font_class": "flag-filled",
"unicode": ""
},
{
"font_class": "folder-add",
"unicode": ""
},
{
"font_class": "folder-add-filled",
"unicode": ""
},
{
"font_class": "font",
"unicode": ""
},
{
"font_class": "forward",
"unicode": ""
},
{
"font_class": "gear",
"unicode": ""
},
{
"font_class": "gear-filled",
"unicode": ""
},
{
"font_class": "gift",
"unicode": ""
},
{
"font_class": "gift-filled",
"unicode": ""
},
{
"font_class": "hand-down",
"unicode": ""
},
{
"font_class": "hand-down-filled",
"unicode": ""
},
{
"font_class": "hand-up",
"unicode": ""
},
{
"font_class": "hand-up-filled",
"unicode": ""
},
{
"font_class": "headphones",
"unicode": ""
},
{
"font_class": "heart",
"unicode": ""
},
{
"font_class": "heart-filled",
"unicode": ""
},
{
"font_class": "help",
"unicode": ""
},
{
"font_class": "help-filled",
"unicode": ""
},
{
"font_class": "home",
"unicode": ""
},
{
"font_class": "home-filled",
"unicode": ""
},
{
"font_class": "image",
"unicode": ""
},
{
"font_class": "image-filled",
"unicode": ""
},
{
"font_class": "images",
"unicode": ""
},
{
"font_class": "images-filled",
"unicode": ""
},
{
"font_class": "info",
"unicode": ""
},
{
"font_class": "info-filled",
"unicode": ""
},
{
"font_class": "left",
"unicode": ""
},
{
"font_class": "link",
"unicode": ""
},
{
"font_class": "list",
"unicode": ""
},
{
"font_class": "location",
"unicode": ""
},
{
"font_class": "location-filled",
"unicode": ""
},
{
"font_class": "locked",
"unicode": ""
},
{
"font_class": "locked-filled",
"unicode": ""
},
{
"font_class": "loop",
"unicode": ""
},
{
"font_class": "mail-open",
"unicode": ""
},
{
"font_class": "mail-open-filled",
"unicode": ""
},
{
"font_class": "map",
"unicode": ""
},
{
"font_class": "map-filled",
"unicode": ""
},
{
"font_class": "map-pin",
"unicode": ""
},
{
"font_class": "map-pin-ellipse",
"unicode": ""
},
{
"font_class": "medal",
"unicode": ""
},
{
"font_class": "medal-filled",
"unicode": ""
},
{
"font_class": "mic",
"unicode": ""
},
{
"font_class": "mic-filled",
"unicode": ""
},
{
"font_class": "micoff",
"unicode": ""
},
{
"font_class": "micoff-filled",
"unicode": ""
},
{
"font_class": "minus",
"unicode": ""
},
{
"font_class": "minus-filled",
"unicode": ""
},
{
"font_class": "more",
"unicode": ""
},
{
"font_class": "more-filled",
"unicode": ""
},
{
"font_class": "navigate",
"unicode": ""
},
{
"font_class": "navigate-filled",
"unicode": ""
},
{
"font_class": "notification",
"unicode": ""
},
{
"font_class": "notification-filled",
"unicode": ""
},
{
"font_class": "paperclip",
"unicode": ""
},
{
"font_class": "paperplane",
"unicode": ""
},
{
"font_class": "paperplane-filled",
"unicode": ""
},
{
"font_class": "person",
"unicode": ""
},
{
"font_class": "person-filled",
"unicode": ""
},
{
"font_class": "personadd",
"unicode": ""
},
{
"font_class": "personadd-filled",
"unicode": ""
},
{
"font_class": "personadd-filled-copy",
"unicode": ""
},
{
"font_class": "phone",
"unicode": ""
},
{
"font_class": "phone-filled",
"unicode": ""
},
{
"font_class": "plus",
"unicode": ""
},
{
"font_class": "plus-filled",
"unicode": ""
},
{
"font_class": "plusempty",
"unicode": ""
},
{
"font_class": "pulldown",
"unicode": ""
},
{
"font_class": "pyq",
"unicode": ""
},
{
"font_class": "qq",
"unicode": ""
},
{
"font_class": "redo",
"unicode": ""
},
{
"font_class": "redo-filled",
"unicode": ""
},
{
"font_class": "refresh",
"unicode": ""
},
{
"font_class": "refresh-filled",
"unicode": ""
},
{
"font_class": "refreshempty",
"unicode": ""
},
{
"font_class": "reload",
"unicode": ""
},
{
"font_class": "right",
"unicode": ""
},
{
"font_class": "scan",
"unicode": ""
},
{
"font_class": "search",
"unicode": ""
},
{
"font_class": "settings",
"unicode": ""
},
{
"font_class": "settings-filled",
"unicode": ""
},
{
"font_class": "shop",
"unicode": ""
},
{
"font_class": "shop-filled",
"unicode": ""
},
{
"font_class": "smallcircle",
"unicode": ""
},
{
"font_class": "smallcircle-filled",
"unicode": ""
},
{
"font_class": "sound",
"unicode": ""
},
{
"font_class": "sound-filled",
"unicode": ""
},
{
"font_class": "spinner-cycle",
"unicode": ""
},
{
"font_class": "staff",
"unicode": ""
},
{
"font_class": "staff-filled",
"unicode": ""
},
{
"font_class": "star",
"unicode": ""
},
{
"font_class": "star-filled",
"unicode": ""
},
{
"font_class": "starhalf",
"unicode": ""
},
{
"font_class": "trash",
"unicode": ""
},
{
"font_class": "trash-filled",
"unicode": ""
},
{
"font_class": "tune",
"unicode": ""
},
{
"font_class": "tune-filled",
"unicode": ""
},
{
"font_class": "undo",
"unicode": ""
},
{
"font_class": "undo-filled",
"unicode": ""
},
{
"font_class": "up",
"unicode": ""
},
{
"font_class": "top",
"unicode": ""
},
{
"font_class": "upload",
"unicode": ""
},
{
"font_class": "upload-filled",
"unicode": ""
},
{
"font_class": "videocam",
"unicode": ""
},
{
"font_class": "videocam-filled",
"unicode": ""
},
{
"font_class": "vip",
"unicode": ""
},
{
"font_class": "vip-filled",
"unicode": ""
},
{
"font_class": "wallet",
"unicode": ""
},
{
"font_class": "wallet-filled",
"unicode": ""
},
{
"font_class": "weibo",
"unicode": ""
},
{
"font_class": "weixin",
"unicode": ""
}
];
exports.fontData = fontData;
//# sourceMappingURL=../../../../../.sourcemap/mp-weixin/uni_modules/uni-icons/components/uni-icons/uniicons_file_vue.js.map

View File

@ -1,397 +0,0 @@
"use strict";
const common_vendor = require("../../../../common/vendor.js");
const _sfc_main = {
name: "uniPopup",
components: {},
emits: ["change", "maskClick"],
props: {
// 开启动画
animation: {
type: Boolean,
default: true
},
// 弹出层类型可选值top: 顶部弹出层bottom底部弹出层center全屏弹出层
// message: 消息提示 ; dialog : 对话框
type: {
type: String,
default: "center"
},
// maskClick
isMaskClick: {
type: Boolean,
default: null
},
// TODO 2 个版本后废弃属性 ,使用 isMaskClick
maskClick: {
type: Boolean,
default: null
},
backgroundColor: {
type: String,
default: "none"
},
safeArea: {
type: Boolean,
default: true
},
maskBackgroundColor: {
type: String,
default: "rgba(0, 0, 0, 0.4)"
},
borderRadius: {
type: String
}
},
watch: {
/**
* 监听type类型
*/
type: {
handler: function(type) {
if (!this.config[type])
return;
this[this.config[type]](true);
},
immediate: true
},
isDesktop: {
handler: function(newVal) {
if (!this.config[newVal])
return;
this[this.config[this.type]](true);
},
immediate: true
},
/**
* 监听遮罩是否可点击
* @param {Object} val
*/
maskClick: {
handler: function(val) {
this.mkclick = val;
},
immediate: true
},
isMaskClick: {
handler: function(val) {
this.mkclick = val;
},
immediate: true
},
// H5 下禁止底部滚动
showPopup(show) {
}
},
data() {
return {
duration: 300,
ani: [],
showPopup: false,
showTrans: false,
popupWidth: 0,
popupHeight: 0,
config: {
top: "top",
bottom: "bottom",
center: "center",
left: "left",
right: "right",
message: "top",
dialog: "center",
share: "bottom"
},
maskClass: {
position: "fixed",
bottom: 0,
top: 0,
left: 0,
right: 0,
backgroundColor: "rgba(0, 0, 0, 0.4)"
},
transClass: {
backgroundColor: "transparent",
borderRadius: this.borderRadius || "0",
position: "fixed",
left: 0,
right: 0
},
maskShow: true,
mkclick: true,
popupstyle: "top"
};
},
computed: {
getStyles() {
let res = { backgroundColor: this.bg };
if (this.borderRadius || "0") {
res = Object.assign(res, { borderRadius: this.borderRadius });
}
return res;
},
isDesktop() {
return this.popupWidth >= 500 && this.popupHeight >= 500;
},
bg() {
if (this.backgroundColor === "" || this.backgroundColor === "none") {
return "transparent";
}
return this.backgroundColor;
}
},
mounted() {
const fixSize = () => {
const {
windowWidth,
windowHeight,
windowTop,
safeArea,
screenHeight,
safeAreaInsets
} = common_vendor.index.getWindowInfo();
this.popupWidth = windowWidth;
this.popupHeight = windowHeight + (windowTop || 0);
if (safeArea && this.safeArea) {
this.safeAreaInsets = screenHeight - safeArea.bottom;
} else {
this.safeAreaInsets = 0;
}
};
fixSize();
},
// TODO vue3
unmounted() {
this.setH5Visible();
},
activated() {
this.setH5Visible(!this.showPopup);
},
deactivated() {
this.setH5Visible(true);
},
created() {
if (this.isMaskClick === null && this.maskClick === null) {
this.mkclick = true;
} else {
this.mkclick = this.isMaskClick !== null ? this.isMaskClick : this.maskClick;
}
if (this.animation) {
this.duration = 300;
} else {
this.duration = 0;
}
this.messageChild = null;
this.clearPropagation = false;
this.maskClass.backgroundColor = this.maskBackgroundColor;
},
methods: {
setH5Visible(visible = true) {
},
/**
* 公用方法不显示遮罩层
*/
closeMask() {
this.maskShow = false;
},
/**
* 公用方法遮罩层禁止点击
*/
disableMask() {
this.mkclick = false;
},
// TODO nvue 取消冒泡
clear(e) {
e.stopPropagation();
this.clearPropagation = true;
},
open(direction) {
if (this.showPopup) {
return;
}
let innerType = ["top", "center", "bottom", "left", "right", "message", "dialog", "share"];
if (!(direction && innerType.indexOf(direction) !== -1)) {
direction = this.type;
}
if (!this.config[direction]) {
common_vendor.index.__f__("error", "at uni_modules/uni-popup/components/uni-popup/uni-popup.vue:310", "缺少类型:", direction);
return;
}
this[this.config[direction]]();
this.$emit("change", {
show: true,
type: direction
});
},
close(type) {
this.showTrans = false;
this.$emit("change", {
show: false,
type: this.type
});
clearTimeout(this.timer);
this.timer = setTimeout(() => {
this.showPopup = false;
}, 300);
},
// TODO 处理冒泡事件,头条的冒泡事件有问题 ,先这样兼容
touchstart() {
this.clearPropagation = false;
},
onTap() {
if (this.clearPropagation) {
this.clearPropagation = false;
return;
}
this.$emit("maskClick");
if (!this.mkclick)
return;
this.close();
},
/**
* 顶部弹出样式处理
*/
top(type) {
this.popupstyle = this.isDesktop ? "fixforpc-top" : "top";
this.ani = ["slide-top"];
this.transClass = {
position: "fixed",
left: 0,
right: 0,
backgroundColor: this.bg,
borderRadius: this.borderRadius || "0"
};
if (type)
return;
this.showPopup = true;
this.showTrans = true;
this.$nextTick(() => {
this.showPoptrans();
if (this.messageChild && this.type === "message") {
this.messageChild.timerClose();
}
});
},
/**
* 底部弹出样式处理
*/
bottom(type) {
this.popupstyle = "bottom";
this.ani = ["slide-bottom"];
this.transClass = {
position: "fixed",
left: 0,
right: 0,
bottom: 0,
paddingBottom: this.safeAreaInsets + "px",
backgroundColor: this.bg,
borderRadius: this.borderRadius || "0"
};
if (type)
return;
this.showPoptrans();
},
/**
* 中间弹出样式处理
*/
center(type) {
this.popupstyle = "center";
this.ani = ["fade"];
this.transClass = {
position: "fixed",
display: "flex",
flexDirection: "column",
bottom: 0,
left: 0,
right: 0,
top: 0,
justifyContent: "center",
alignItems: "center",
borderRadius: this.borderRadius || "0"
};
if (type)
return;
this.showPoptrans();
},
left(type) {
this.popupstyle = "left";
this.ani = ["slide-left"];
this.transClass = {
position: "fixed",
left: 0,
bottom: 0,
top: 0,
backgroundColor: this.bg,
borderRadius: this.borderRadius || "0",
display: "flex",
flexDirection: "column"
};
if (type)
return;
this.showPoptrans();
},
right(type) {
this.popupstyle = "right";
this.ani = ["slide-right"];
this.transClass = {
position: "fixed",
bottom: 0,
right: 0,
top: 0,
backgroundColor: this.bg,
borderRadius: this.borderRadius || "0",
display: "flex",
flexDirection: "column"
};
if (type)
return;
this.showPoptrans();
},
showPoptrans() {
this.$nextTick(() => {
this.showPopup = true;
this.showTrans = true;
});
}
}
};
if (!Array) {
const _easycom_uni_transition2 = common_vendor.resolveComponent("uni-transition");
_easycom_uni_transition2();
}
const _easycom_uni_transition = () => "../../../uni-transition/components/uni-transition/uni-transition.js";
if (!Math) {
_easycom_uni_transition();
}
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
return common_vendor.e({
a: $data.showPopup
}, $data.showPopup ? common_vendor.e({
b: $data.maskShow
}, $data.maskShow ? {
c: common_vendor.o($options.onTap),
d: common_vendor.p({
name: "mask",
["mode-class"]: "fade",
styles: $data.maskClass,
duration: $data.duration,
show: $data.showTrans
})
} : {}, {
e: common_vendor.s($options.getStyles),
f: common_vendor.n($data.popupstyle),
g: common_vendor.o((...args) => $options.clear && $options.clear(...args)),
h: common_vendor.o($options.onTap),
i: common_vendor.p({
["mode-class"]: $data.ani,
name: "content",
styles: $data.transClass,
duration: $data.duration,
show: $data.showTrans
}),
j: common_vendor.o((...args) => $options.touchstart && $options.touchstart(...args)),
k: common_vendor.n($data.popupstyle),
l: common_vendor.n($options.isDesktop ? "fixforpc-z-index" : "")
}) : {});
}
const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render]]);
wx.createComponent(Component);
//# sourceMappingURL=../../../../../.sourcemap/mp-weixin/uni_modules/uni-popup/components/uni-popup/uni-popup.js.map

View File

@ -1,6 +0,0 @@
{
"component": true,
"usingComponents": {
"uni-transition": "../../../uni-transition/components/uni-transition/uni-transition"
}
}

View File

@ -1 +0,0 @@
<view wx:if="{{a}}" class="{{['uni-popup', k, l]}}"><view bindtouchstart="{{j}}"><uni-transition wx:if="{{b}}" key="1" bindclick="{{c}}" u-i="9201c718-0" bind:__l="__l" u-p="{{d}}"/><uni-transition wx:if="{{i}}" u-s="{{['d']}}" key="2" bindclick="{{h}}" u-i="9201c718-1" bind:__l="__l" u-p="{{i}}"><view style="{{e}}" class="{{['uni-popup__wrapper', f]}}" bindtap="{{g}}"><slot/></view></uni-transition></view></view>

View File

@ -1,47 +0,0 @@
/**
* 这里是uni-app内置的常用样式变量
*
* uni-app 官方扩展插件及插件市场https://ext.dcloud.net.cn上很多三方插件均使用了这些样式变量
* 如果你是插件开发者建议你使用scss预处理并在插件代码中直接使用这些变量无需 import 这个文件方便用户通过搭积木的方式开发整体风格一致的App
*
*/
/**
* 如果你是App开发者插件使用者你可以通过修改这些变量来定制自己的插件主题实现自定义主题功能
*
* 如果你的项目同样使用了scss预处理你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
*/
/* 颜色变量 */
/* 行为相关颜色 */
/* 文字基本颜色 */
/* 背景颜色 */
/* 边框颜色 */
/* 尺寸变量 */
/* 文字尺寸 */
/* 图片尺寸 */
/* Border Radius */
/* 水平间距 */
/* 垂直间距 */
/* 透明度 */
/* 文章场景相关 */
.uni-popup {
position: fixed;
z-index: 99;
}
.uni-popup.top, .uni-popup.left, .uni-popup.right {
top: 0;
}
.uni-popup .uni-popup__wrapper {
display: block;
position: relative;
/* iphonex 等安全区设置,底部安全区适配 */
}
.uni-popup .uni-popup__wrapper.left, .uni-popup .uni-popup__wrapper.right {
padding-top: 0;
flex: 1;
}
.fixforpc-z-index {
z-index: 999;
}
.fixforpc-top {
top: 0;
}

View File

@ -1,116 +0,0 @@
"use strict";
const common_vendor = require("../../../../common/vendor.js");
class MPAnimation {
constructor(options, _this) {
this.options = options;
this.animation = common_vendor.index.createAnimation({
...options
});
this.currentStepAnimates = {};
this.next = 0;
this.$ = _this;
}
_nvuePushAnimates(type, args) {
let aniObj = this.currentStepAnimates[this.next];
let styles = {};
if (!aniObj) {
styles = {
styles: {},
config: {}
};
} else {
styles = aniObj;
}
if (animateTypes1.includes(type)) {
if (!styles.styles.transform) {
styles.styles.transform = "";
}
let unit = "";
if (type === "rotate") {
unit = "deg";
}
styles.styles.transform += `${type}(${args + unit}) `;
} else {
styles.styles[type] = `${args}`;
}
this.currentStepAnimates[this.next] = styles;
}
_animateRun(styles = {}, config = {}) {
let ref = this.$.$refs["ani"].ref;
if (!ref)
return;
return new Promise((resolve, reject) => {
nvueAnimation.transition(ref, {
styles,
...config
}, (res) => {
resolve();
});
});
}
_nvueNextAnimate(animates, step = 0, fn) {
let obj = animates[step];
if (obj) {
let {
styles,
config
} = obj;
this._animateRun(styles, config).then(() => {
step += 1;
this._nvueNextAnimate(animates, step, fn);
});
} else {
this.currentStepAnimates = {};
typeof fn === "function" && fn();
this.isEnd = true;
}
}
step(config = {}) {
this.animation.step(config);
return this;
}
run(fn) {
this.$.animationData = this.animation.export();
this.$.timer = setTimeout(() => {
typeof fn === "function" && fn();
}, this.$.durationTime);
}
}
const animateTypes1 = [
"matrix",
"matrix3d",
"rotate",
"rotate3d",
"rotateX",
"rotateY",
"rotateZ",
"scale",
"scale3d",
"scaleX",
"scaleY",
"scaleZ",
"skew",
"skewX",
"skewY",
"translate",
"translate3d",
"translateX",
"translateY",
"translateZ"
];
const animateTypes2 = ["opacity", "backgroundColor"];
const animateTypes3 = ["width", "height", "left", "right", "top", "bottom"];
animateTypes1.concat(animateTypes2, animateTypes3).forEach((type) => {
MPAnimation.prototype[type] = function(...args) {
this.animation[type](...args);
return this;
};
});
function createAnimation(option, _this) {
if (!_this)
return;
clearTimeout(_this.timer);
return new MPAnimation(option, _this);
}
exports.createAnimation = createAnimation;
//# sourceMappingURL=../../../../../.sourcemap/mp-weixin/uni_modules/uni-transition/components/uni-transition/createAnimation.js.map

View File

@ -1,257 +0,0 @@
"use strict";
const uni_modules_uniTransition_components_uniTransition_createAnimation = require("./createAnimation.js");
const common_vendor = require("../../../../common/vendor.js");
const _sfc_main = {
name: "uniTransition",
emits: ["click", "change"],
props: {
show: {
type: Boolean,
default: false
},
modeClass: {
type: [Array, String],
default() {
return "fade";
}
},
duration: {
type: Number,
default: 300
},
styles: {
type: Object,
default() {
return {};
}
},
customClass: {
type: String,
default: ""
},
onceRender: {
type: Boolean,
default: false
}
},
data() {
return {
isShow: false,
transform: "",
opacity: 0,
animationData: {},
durationTime: 300,
config: {}
};
},
watch: {
show: {
handler(newVal) {
if (newVal) {
this.open();
} else {
if (this.isShow) {
this.close();
}
}
},
immediate: true
}
},
computed: {
// 生成样式数据
stylesObject() {
let styles = {
...this.styles,
"transition-duration": this.duration / 1e3 + "s"
};
let transform = "";
for (let i in styles) {
let line = this.toLine(i);
transform += line + ":" + styles[i] + ";";
}
return transform;
},
// 初始化动画条件
transformStyles() {
return "transform:" + this.transform + ";opacity:" + this.opacity + ";" + this.stylesObject;
}
},
created() {
this.config = {
duration: this.duration,
timingFunction: "ease",
transformOrigin: "50% 50%",
delay: 0
};
this.durationTime = this.duration;
},
methods: {
/**
* ref 触发 初始化动画
*/
init(obj = {}) {
if (obj.duration) {
this.durationTime = obj.duration;
}
this.animation = uni_modules_uniTransition_components_uniTransition_createAnimation.createAnimation(Object.assign(this.config, obj), this);
},
/**
* 点击组件触发回调
*/
onClick() {
this.$emit("click", {
detail: this.isShow
});
},
/**
* ref 触发 动画分组
* @param {Object} obj
*/
step(obj, config = {}) {
if (!this.animation)
return this;
Object.keys(obj).forEach((key) => {
const value = obj[key];
if (typeof this.animation[key] === "function") {
Array.isArray(value) ? this.animation[key](...value) : this.animation[key](value);
}
});
this.animation.step(config);
return this;
},
/**
* ref 触发 执行动画
*/
run(fn) {
if (!this.animation)
return;
this.animation.run(fn);
},
// 开始过度动画
open() {
clearTimeout(this.timer);
this.isShow = true;
this.transform = this.styleInit(false).transform || "";
this.opacity = this.styleInit(false).opacity || 0;
this.$nextTick(() => {
this.timer = setTimeout(() => {
this.animation = uni_modules_uniTransition_components_uniTransition_createAnimation.createAnimation(this.config, this);
this.tranfromInit(false).step();
this.animation.run(() => {
this.transform = "";
this.opacity = this.styleInit(false).opacity || 1;
this.$emit("change", {
detail: this.isShow
});
});
}, 80);
});
},
// 关闭过度动画
close(type) {
if (!this.animation)
return;
this.tranfromInit(true).step().run(() => {
this.isShow = false;
this.animationData = null;
this.animation = null;
let { opacity, transform } = this.styleInit(false);
this.opacity = opacity || 1;
this.transform = transform;
this.$emit("change", {
detail: this.isShow
});
});
},
// 处理动画开始前的默认样式
styleInit(type) {
let styles = { transform: "", opacity: 1 };
const buildStyle = (type2, mode) => {
const value = this.animationType(type2)[mode];
if (mode.startsWith("fade")) {
styles.opacity = value;
} else {
styles.transform += value + " ";
}
};
if (typeof this.modeClass === "string") {
buildStyle(type, this.modeClass);
} else {
this.modeClass.forEach((mode) => buildStyle(type, mode));
}
return styles;
},
// 处理内置组合动画
tranfromInit(type) {
let buildTranfrom = (type2, mode) => {
let aniNum = null;
if (mode === "fade") {
aniNum = type2 ? 0 : 1;
} else {
aniNum = type2 ? "-100%" : "0";
if (mode === "zoom-in") {
aniNum = type2 ? 0.8 : 1;
}
if (mode === "zoom-out") {
aniNum = type2 ? 1.2 : 1;
}
if (mode === "slide-right") {
aniNum = type2 ? "100%" : "0";
}
if (mode === "slide-bottom") {
aniNum = type2 ? "100%" : "0";
}
}
this.animation[this.animationMode()[mode]](aniNum);
};
if (typeof this.modeClass === "string") {
buildTranfrom(type, this.modeClass);
} else {
this.modeClass.forEach((mode) => {
buildTranfrom(type, mode);
});
}
return this.animation;
},
animationType(type) {
return {
fade: type ? 1 : 0,
"slide-top": `translateY(${type ? "0" : "-100%"})`,
"slide-right": `translateX(${type ? "0" : "100%"})`,
"slide-bottom": `translateY(${type ? "0" : "100%"})`,
"slide-left": `translateX(${type ? "0" : "-100%"})`,
"zoom-in": `scaleX(${type ? 1 : 0.8}) scaleY(${type ? 1 : 0.8})`,
"zoom-out": `scaleX(${type ? 1 : 1.2}) scaleY(${type ? 1 : 1.2})`
};
},
// 内置动画类型与实际动画对应字典
animationMode() {
return {
fade: "opacity",
"slide-top": "translateY",
"slide-right": "translateX",
"slide-bottom": "translateY",
"slide-left": "translateX",
"zoom-in": "scale",
"zoom-out": "scale"
};
},
// 驼峰转中横线
toLine(name) {
return name.replace(/([A-Z])/g, "-$1").toLowerCase();
}
}
};
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
return {
a: $data.isShow,
b: $data.animationData,
c: common_vendor.n($props.customClass),
d: common_vendor.s($options.transformStyles),
e: common_vendor.o((...args) => $options.onClick && $options.onClick(...args))
};
}
const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render]]);
wx.createComponent(Component);
//# sourceMappingURL=../../../../../.sourcemap/mp-weixin/uni_modules/uni-transition/components/uni-transition/uni-transition.js.map

View File

@ -1,4 +0,0 @@
{
"component": true,
"usingComponents": {}
}

View File

@ -1 +0,0 @@
<view hidden="{{!a}}" ref="ani" animation="{{b}}" class="{{c}}" style="{{d}}" bindtap="{{e}}"><slot></slot></view>