c5_labsci/fapp/ciyon_ap/pages/demo/page/func.vue
2026-01-27 00:52:00 +08:00

808 lines
27 KiB
Vue
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<template>
<ciy-header title="通用函数"></ciy-header>
<view>
<view class="ciy-card">
<view class="title">页面通用变量</view>
<view class="right"></view>
<view class="content">
<ciy-textmore maskbg="var(--bg2)">
<view>混入的常用页面变量可直接使用</view>
<view class="prp">opn</view>
<view class="tip">
页面传参<br />
如果有upid自动保存
</view>
<view class="hr"></view>
<view class="prp">pagepost</view>
<view class="tip">
页面参数与搜索项整合<br />
非ref响应式
</view>
<view class="hr"></view>
<view class="prp">me</view>
<view class="tip">
用户登录后信息<br />
 addtimes: 注册时间戳<br/>
 icon: 头像<br/>
 id: 用户ID<br/>
 mobile: 手机号<br/>
 name: 昵称<br/>
 needpass: 是否需改密码<br/>
 upid: 推荐人ID<br/>
</view>
<view class="hr"></view>
<view class="prp">g</view>
<view class="tip">
本地字典数据登录前无该数据<br />
</view>
<view class="hr"></view>
<view class="prp">init</view>
<view class="tip">
一般Ajax请求后更新无需页面响应式定义<br />
</view>
<view class="hr"></view>
<view class="prp">jsnurl</view>
<view class="tip">
微服务集群url<br />
</view>
<view class="hr"></view>
<view class="prp">srv</view>
<view class="tip">
默认微服务集群码<br />
默认: t
</view>
<view class="hr"></view>
<view class="prp">version</view>
<view class="tip">
版本号
</view>
<view class="hr"></view>
<view class="prp">header_statusbar_height</view>
<view class="tip">
顶部系统栏高度<br />
</view>
<view class="hr"></view>
<view class="prp">header_title_height</view>
<view class="tip">
标题栏高度<br />
</view>
<view class="hr"></view>
<view class="prp">header_title_margin</view>
<view class="tip">
胶囊左右留白<br />
</view>
<view class="hr"></view>
<view class="prp">footer_safe_height</view>
<view class="tip">
底部安全高度<br />
</view>
<view class="hr"></view>
<view class="prp">meta</view>
<view class="tip">
page-meta配置项<br />
用于暗黑模式和敬老模式<br />
</view>
</ciy-textmore>
</view>
</view>
<view class="ciy-card">
<view class="title">app函数库</view>
<view class="right">app.methods.*</view>
<view class="content">
<ciy-textmore maskbg="var(--bg2)">
<view>仅在app中调用</view>
<view class="fun">getpage(idx)</view>
<view class="tip">
获取当前/上页页面句柄<br />
参数: 0 当前页1 上一页<br />
返回: 句柄 null<br />
</view>
<view class="hr"></view>
<view class="fun">setuserstorage({me,storage,pnttrack})</view>
<view class="tip">
保存用户信息字典缓存积分埋点<br />
参数: {个人信息,字典,积分埋点}<br />
返回: {me,g}<br />
保存到localstorage: me,g,_pnttrack<br />
</view>
<view class="hr"></view>
<view class="fun">appupdate(plat, cb)</view>
<view class="tip">
自动版本更新<br />
APP调用login.getappver<br/>
小程序调用各自函数<br/>
有新版本则下载更新后重启<br />
参数: <br />
 plat: 更新目标 all全部,app只APP<br />
 cb: 可选更新的回调函数需async返回true更新<br />
</view>
<view class="hr"></view>
<view class="fun">connectbt(devup, devtype, devid)</view>
<view class="tip">
连接蓝牙设备<br />
参数: 设备标识,设备类型,设备ID<br />
返回: <br />
</view>
<view class="hr"></view>
<view class="fun">new CiyWebSocket(addr)</view>
<view class="tip">
websocket客户端类<br />
实现断线尝试重连<br />
初始化: addr网址<br />
</view>
<view class="hr"></view>
<view class="fun">async app.alert(txt)</view>
<view class="tip">
系统默认的alert效果<br />
参数: 内容文本<br />
</view>
<view class="hr"></view>
<view class="fun">async app.toast(txt, icon)</view>
<view class="tip">
系统默认的toast效果<br />
参数: 内容文本,图标<br />
</view>
</ciy-textmore>
</view>
</view>
<view class="ciy-card">
<view class="title">app & page函数库</view>
<view class="right"></view>
<view class="content">
<view>app.xx()或this.xx()均能调用用法相同</view>
<ciy-textmore maskbg="var(--bg2)">
<view class="fun">async getme()</view>
<view class="tip">
返回登录后的数据<br />
未登录返回{me:0}<br />
</view>
<view class="hr"></view>
<view class="fun">async callfunc({srv, func, cache, cachekey, loadhide, loadtxt, data})</view>
<view class="tip">
服务端Ajax API请求header带上token<br />
自动保存新token无感续期<br />
参数: <br />
 srv: 指定微服务集群代码在jsnurl配置<br />
 func: 调用函数<br />
  http开头指向到外部位置<br />
  包含?jsnurl本地服务器下任意位置<br />
  否则jsnurl+jsnajax+[类名.函数名]<br />
 cache: 0不缓存 >0 超过秒数请求<br />
 cachekey: 指定缓存名一般参数区分用默认f_[func]<br />
 loadhide: true隐藏加载中显示<br />
 loadtxt: 设置加载中显示文本默认:加载中<br />
 data: post数据对象<br />
返回: json<br />
 返回错误: {errmsg, ...}<br />
 返回成功: {code:1, ...}<br />
 如果code=2, 自动拉起重新登录页面<br />
 如果header带token re, 通知app刷新用户信息及字典等<br />
系统定时调用login.restorage保持本地与服务器数据一致<br />
</view>
<view class="hr"></view>
<view class="fun">lang(code)</view>
<view class="tip">
多语言翻译<br />
参数: code key<br />
返回: 翻译后文本<br />
</view>
<view class="hr"></view>
<view class="fun">uperr(type, msg)</view>
<view class="tip">
捕获错误并加入上传队列<br />
参数: 错误分类码错误描述附带数据<br />
系统后台定时上传错误队列<br />
错误数据先保存到本地等待下次或再次进入上报防止崩溃丢失关键错误数据<br />
</view>
<view class="hr"></view>
<view class="fun">json_parse(str)</view>
<view class="tip">
将字符串转JSON能过滤调试数据<br />
返回: object null<br />
</view>
<view class="hr"></view>
<view class="fun">json_string(obj)</view>
<view class="tip">
将JSON转字符串<br />
</view>
<view class="hr"></view>
<view class="fun">getstorage(key, def)</view>
<view class="tip">
获取localstorage值自动json反序列化<br />
返回: object string def<br />
</view>
<view class="hr"></view>
<view class="fun">setstorage(key, val)</view>
<view class="tip">
写入localstorage值自动json序列化<br />
</view>
<view class="hr"></view>
<view class="fun">clearstorage()</view>
<view class="tip">
清空所有localstorage<br />
</view>
<view class="hr"></view>
<view class="fun">removestorage(key)</view>
<view class="tip">
删除localstorage中一个key对<br />
</view>
</ciy-textmore>
</view>
</view>
<view class="ciy-card">
<view class="title">page函数库</view>
<view class="right">页面功能</view>
<view class="content">
<view>跳转到打开拨打动画等</view>
<ciy-textmore maskbg="var(--bg2)">
<view class="fun">async gourl(url)</view>
<view class="tip">
跳转到其他页面<br />
 http前缀跳转到web页面<br />
 ! 前缀跳转到原型图页面menuid|tag<br />
 * 前缀alert提示语<br />
 $ 前缀先检查登录状态再内部跳转<br />
 其他跳转内部页面支持switchTab
</view>
<view class="hr"></view>
<view class="fun">goweb(url, name)</view>
<view class="tip">
跳转到web页面携带token<br />
参数: 链接标题<br />
</view>
<view class="hr"></view>
<view class="fun">goloc(lat, lng)</view>
<view class="tip">
跳转到地图指定位置<br />
</view>
<view class="hr"></view>
<view class="fun">gophone(phone)</view>
<view class="tip">
拨打指定电话调取系统电话拨打页面<br />
</view>
<view class="hr"></view>
<view class="fun">goani(opn, cb, othcb)</view>
<view class="tip">
元素动画播放<br />
参数: {anis,init}export回调hide等回调<br />
 anis支持string和array
</view>
<view class="hr"></view>
<view class="fun">copyboard(str)</view>
<view class="tip">
将str拷贝到剪贴板<br />
</view>
</ciy-textmore>
</view>
</view>
<view class="ciy-card">
<view class="title">page函数库</view>
<view class="right">变量转换</view>
<view class="content">
<view>类型判断字典换算转码等</view>
<ciy-textmore maskbg="var(--bg2)">
<view class="fun">isfloat0(num)</view>
<view class="tip">
判断是否为0防止浮点数问题<br />
尽量不要使用浮点数<br />
</view>
<view class="hr"></view>
<view class="fun">isarray(val)</view>
<view class="tip">
变量类型是否是 object array<br />
</view>
<view class="hr"></view>
<view class="fun">isobject(val)</view>
<view class="tip">
变量类型是否是 object object<br />
</view>
<view class="hr"></view>
<view class="fun">islocalmedia(file)</view>
<view class="tip">
变量文件名是否是本地文件(微信)<br />
</view>
<view class="hr"></view>
<view class="fun">isimg(file)</view>
<view class="tip">
判断扩展名是否图片类型jpg,gif,png<br />
</view>
<view class="hr"></view>
<view class="fun">isvideo(file)</view>
<view class="tip">
判断扩展名是否视频类型mp3,mp4<br />
</view>
<view class="hr"></view>
<view class="fun">file_ext(file)</view>
<view class="tip">
返回文件扩展名(大写)不带点<br />
</view>
<view class="hr"></view>
<view class="fun">file_stor(url)</view>
<view class="tip">
将url转成绝对url用于cdn分散文件存储<br />
</view>
<view class="hr"></view>
<view class="fun">hasstr(str, find)</view>
<view class="tip">
在str中是否包含find<br />
</view>
<view class="hr"></view>
<view class="fun">ccode(arr, value, field, nonestr)</view>
<view class="tip">
在字典数组中找到id对应对象的field值<br />
 arr: 字典数组<br />
 value: 待匹配值<br />
 field: 输出字段默认name_obj返回本身<br />
 nonestr: 未匹配到返回的字符串<br />
</view>
<view class="hr"></view>
<view class="fun">scode(arr, ids, field)</view>
<view class="tip">
在字典数组中找到ids字符串对应对象的field值数组<br />
 arr: 字典数组<br />
 ids: 逗号分隔的字符串<br />
 field: 输出字段不填则返回对象<br />
</view>
<view class="hr"></view>
<view class="fun">mcode(arr, value, field)</view>
<view class="tip">
在字典数组中找到value对应的对象追溯上级<br />
 arr: 字典数组<br />
 value: 待匹配值<br />
 field: 输出字段不填则返回对象<br />
返回: array
</view>
<view class="hr"></view>
<view class="fun">bcode(arr, value, field)</view>
<view class="tip">
在字典数组中找到value按位对应的对象<br />
 arr: 字典数组<br />
 value: 待匹配int值<br />
 field: 输出字段不填则返回对象<br />
返回: array
</view>
<view class="hr"></view>
<view class="fun">enbase64(str)</view>
<view class="tip">
将str转成base64格式<br />
</view>
<view class="hr"></view>
<view class="fun">svg2bg(svg)</view>
<view class="tip">
将svg转成base64格式的url(data:image...)backgroundImage语法<br />
</view>
</ciy-textmore>
</view>
</view>
<view class="ciy-card">
<view class="title">page函数库</view>
<view class="right">变量显示</view>
<view class="content">
<view>变量可视化转换</view>
<ciy-textmore maskbg="var(--bg2)">
<view class="fun">topad0(num, length)</view>
<view class="tip">
数字前面不足位补0<br />
</view>
<view class="hr"></view>
<view class="fun">tonumtho(num)</view>
<view class="tip">
整数部分千分位显示<br />
</view>
<view class="hr"></view>
<view class="fun">tonumdec(num, showzero, len)</view>
<view class="tip">
小数部分显示<br />
showzero是否保留.00全0小数<br />
len保留位数
</view>
<view class="hr"></view>
<view class="fun">tostr(val)</view>
<view class="tip">
将字符串转换成可见替换了双引号<br />
</view>
<view class="hr"></view>
<view class="fun">toint(val)</view>
<view class="tip">
将字符串转换成整数<br />
</view>
<view class="hr"></view>
<view class="fun">tofloat(val)</view>
<view class="tip">
将字符串转换成浮点<br />
</view>
<view class="hr"></view>
<view class="fun">tostamp(val)</view>
<view class="tip">
将字符串转换成时间戳<br />
val=0或无则返回当前时间<br />
</view>
<view class="hr"></view>
<view class="fun">todatetime(time, format, nostr)</view>
<view class="tip">
将时间戳转换成可显示<br />
nostr: 时间戳为0时返回的字符串<br />
format: 输出格式:<br />
 默认: YYYY-MM-DD HH:nn<br />
 id: DDHHnn<br />
 H: YYYY-MM-DD HH<br />
 d: YYYY-MM-DD<br />
 D: YYYY年MM月DD日<br />
 x: MM-DD<br />
 m: YYYY-MM<br />
 n: YYYY-M<br />
 y: YYYY<br />
 M: YYYY年MM月<br />
 i: HH:nn<br />
 s: YYYY-MM-DD HH:nn:ss<br />
 st: MM-DD HH:nn<br />
</view>
<view class="hr"></view>
<view class="fun">tofix(num, length=4)</view>
<view class="tip">
将数字转换成合适的可显示小数<br />
 length0小数点保留n位全0则不显示<br />
 length0小数点保留n位不去0<br />
 length0按数长保留尽量少的位数显示<br />
</view>
<view class="hr"></view>
<view class="fun">tounit(ori)</view>
<view class="tip">
将三级单位unit字符串转换成可显示文字<br />
: |12|显示成 1=12
</view>
<view class="hr"></view>
<view class="fun">tocyc(ori)</view>
<view class="tip">
将周期cyc字符串转换成可显示文字<br />
: -11个月864001601分钟
</view>
<view class="hr"></view>
<view class="fun">tomsk(ori, pstr)</view>
<view class="tip">
文字遮罩将未加密字符串转换成部分显示<br />
: pstr=###
</view>
<view class="hr"></view>
<view class="fun">totimespan(time, bestr, zero, before)</view>
<view class="tip">
将时间转成 xx天后/xx小时前<br />
 time: 时间戳<br />
 bestr: 后缀文字<br />
 zero: 小于60秒显示文字默认: 刚刚<br />
 before: true过去时间false未来时间<br />
</view>
<view class="hr"></view>
<view class="fun">totimesec(time, bestr, zero, before)</view>
<view class="tip">
将时间转成 xx天后/xx小时前<br />
 time: 时间戳<br />
 bestr: 后缀文字<br />
 zero: 小于60秒显示文字默认: 刚刚<br />
 before: true过去时间false未来时间<br />
</view>
<view class="hr"></view>
<view class="fun">totimepoint(time, bsecond)</view>
<view class="tip">
[1,86400]数字转成 HH:ii[:ss]<br />
: 1 = 0:0:086400 = 23:59:59<br />
 time: 按秒的数字<br />
 bsecond: 是否包含秒<br />
</view>
<view class="hr"></view>
<view class="fun">todayage(time, noday)</view>
<view class="tip">
返回日/月龄天数<br />
 time: 时间戳<br />
 noday: true只显示月份否则月份+天数<br />
</view>
<view class="hr"></view>
<view class="fun">tobr(txt, autohtml)</view>
<view class="tip">
将txt中\n转成br/<br />
如果autohtml != true则替换<br />
</view>
</ciy-textmore>
</view>
</view>
<view class="ciy-card">
<view class="title">page函数库</view>
<view class="right">功能设置</view>
<view class="content">
<view>交互设置功能</view>
<ciy-textmore maskbg="var(--bg2)">
<view class="fun">pagenoscroll(bool)</view>
<view class="tip">
页面是否允许滚动<br />
true不允许false允许
</view>
<view class="hr"></view>
<view class="fun">settheme(theme)</view>
<view class="tip">
设置暗黑模式<br />
theme支持dark/light/空为切换<br />
</view>
<view class="hr"></view>
<view class="fun">setfont(font)</view>
<view class="tip">
设置敬老模式字体大小<br />
font支持def/lg较大/xl很大/xxl极大
</view>
<view class="hr"></view>
<view class="fun">executepnt(pntid, post)</view>
<view class="tip">
触发积分埋点<br />
pntid为埋点IDpost为上传的辅助数据<br />
</view>
<view class="hr"></view>
<view class="fun">setTabbar(nameobj)</view>
<view class="tip">
设置底部导航栏<br />
object为局部替换<br />
array为全部替换<br />
</view>
</ciy-textmore>
</view>
</view>
<view class="ciy-card">
<view class="title">page函数库</view>
<view class="right">组件函数</view>
<view class="content">
<view>快捷调用组件确保每个页面都有该组件</view>
<ciy-textmore maskbg="var(--bg2)">
<view class="fun">async getauth(must)</view>
<view class="tip">
获取用户信息未登录调起登录界面<br />
true强制打开登录页false微信自动登录<br />
<button class="btn" @tap="gourl('../comview/auth')">转到</button>
</view>
<view class="hr"></view>
<view class="fun">async scanqr()</view>
<view class="tip">
扫二维码<br />
返回{type,code}<br />
</view>
<view class="hr"></view>
<view class="fun">async popmenu(opn)</view>
<view class="tip">
弹出上拉菜单<br />
<button class="btn" @tap="gourl('../comview/popmenu')">转到</button>
</view>
<view class="hr"></view>
<view class="fun">async toast(opn)</view>
<view class="tip">
toast提示<br />
<button class="btn" @tap="gourl('../comview/toast')">转到</button>
</view>
<view class="hr"></view>
<view class="fun">async alert(opn, btns)</view>
<view class="tip">
alert弹出框<br />
<button class="btn" @tap="gourl('../comview/alert')">转到</button>
</view>
<view class="hr"></view>
<view class="fun">async askmsg(opn, btns)</view>
<view class="tip">
alert弹出询问框<br />
返回btn信息
</view>
<view class="hr"></view>
<view class="fun">async inputmsg(opn, btns)</view>
<view class="tip">
alert弹出询问框<br />
返回{text:xxx,btn:btn信息}
</view>
<view class="hr"></view>
<view class="fun">async sleep(ms)</view>
<view class="tip">
延迟毫秒数一定要await等待<br />
</view>
<view class="hr"></view>
<view class="fun">async load_ciydict(url)</view>
<view class="tip">
动态获取静态字典<br />
</view>
</ciy-textmore>
</view>
</view>
<view class="ciy-card">
<view class="title">page函数库</view>
<view class="right">数据处理</view>
<view class="content">
<view>解析转换数据匹配数据</view>
<ciy-textmore maskbg="var(--bg2)">
<view class="fun">shareparam(opn)</view>
<view class="tip">
分享链接转换type=message从首页跳转<br />
 type: message用户timeline朋友圈<br />
 title: 转发标题<br />
 img: 图片绝对链接无则当前页面截图<br />
 query: 无需upid的参数{}<br />
 path: message下当前页面route<br />
特别的在message下支持3秒内异步需自行实现<br />
</view>
<view class="hr"></view>
<view class="fun">getstrparam(str, split='|')</view>
<view class="tip">
将简易字符串解析成object<br />
一般在系统配置等场景使用<br />
例如: key1=val&key2=val<br />
返回: {key1,key2}<br />
</view>
<view class="hr"></view>
<view class="fun">urlparam()</view>
<view class="tip">
解析url?部分转成objecturldecode转码<br />
例如: /main?key1=val&key2=val<br />
返回: {key1,key2}<br />
</view>
<view class="hr"></view>
<view class="fun">arrayfind(arr, val, field)</view>
<view class="tip">
从数组中匹配值返回index<br />
找到arr[{field=val}]的index<br />
</view>
<view class="hr"></view>
<view class="fun">objdeepmerge(src, desc, btop)</view>
<view class="tip">
object深度合并<br />
将desc数据并入src中并返回<br />
自动避开ciy_静态字典自动处理带id的数组<br />
btop:true, 新数据插入到顶部
</view>
<view class="hr"></view>
<view class="fun">objclone(obj)</view>
<view class="tip">
object深度复制<br />
</view>
<view class="hr"></view>
<view class="fun">str2date(str)</view>
<view class="tip">
字符串yyyy-mm-dd hh:ii:ss转new Date<br />
</view>
<view class="hr"></view>
<view class="fun">bin2hex(bin)</view>
<view class="tip">
bin转hex字符串<br />
例如: Ab转成4162<br />
</view>
<view class="hr"></view>
<view class="fun">hex2bin(hex)</view>
<view class="tip">
hex字符串转bin<br />
例如: 4162转成Ab
</view>
</ciy-textmore>
</view>
</view>
<view class="ciy-card">
<view class="title">page函数库</view>
<view class="right">其他函数</view>
<view class="content">
<ciy-textmore maskbg="var(--bg2)">
<view class="fun">style2obj(style)</view>
<view class="tip">
将style属性转换成object<br/>
如果style是object直接返回<br/>
如果是字符串则驼峰处理后返回<br />
</view>
<view class="hr"></view>
<view class="fun">nopower(mepower, power)</view>
<view class="tip">
权限检查判断是否无权限<br />
 mepower: 用户拥有的权限<br />
 power: 目标权限<br />
权限是字符串拼接多个权限用.分隔<br />
 .*. 超级管理员<br />
权限组成: 单字母+相关id+子权限代码<br/>
 单字母: p PC端m移动端x扩展<br />
 相关id: 端取menu.id扩展取power.id<br />
 子权限代码: 自定义页内不重复<br />
: mepower = .p500a.p500d.p402.<br/>
  power = p402a则有权限
</view>
<view class="hr"></view>
<view class="fun">getroute()</view>
<view class="tip">
获取当前页面路由多端兼容<br />
</view>
<view class="hr"></view>
<view class="fun">com_getpage()</view>
<view class="tip">
组件中获取页面句柄<br />
</view>
<view class="hr"></view>
<view class="fun">async com_gethdft()</view>
<view class="tip">
组件中获取页面标题栏/导航栏高度(px)<br />
返回: {headerheight, footerheight}
</view>
<view class="hr"></view>
<view class="fun">async getrefs()</view>
<view class="tip">
<text class="kbd">getrefsSync</text>同步函数<br/>
获取页面组件句柄<br />
页面未准备好则延时0.1s再获取一次<br />
</view>
<view class="hr"></view>
<view class="fun">async getrect()</view>
<view class="tip">
获取元素尺寸<br />
</view>
<view class="hr"></view>
<view class="fun">async file_upload1(file, opn)</view>
<view class="tip">
上传单个文件<br />
支持本地服务器和S3云存储由于备案原因S3需服务器中转<br/>
 file: {} 文件位置<br/>
  name: 文件名<br/>
  tempFilePath/path: 文件位置<br/>
  size: 文件大小bytes<br/>
 opn: <button class="btn sm" @tap="gourl('../comform/upload')">参考</button><br/>
 返回上传后路径
</view>
<view class="hr"></view>
<view class="fun">async file_uploads(files, opn, fn)</view>
<view class="tip">
上传多个文件<br />
支持本地服务器和S3云存储由于备案原因S3需服务器中转<br/>
 files: [{},{}...]<br/>
  name: 文件名<br/>
  tempFilePath/path: 文件位置<br/>
  size: 文件大小bytes<br/>
 opn: <button class="btn sm" @tap="gourl('../comform/upload')">参考</button><br/>
 fn: {success, fail, progress} 回调函数集合<br/>
  success(上传后路径, file)<br />
  fail(错误文本, file, xhr)<br />
  progress(百分比,file)<br />
</view>
<view class="hr"></view>
<view class="fun">async go_load(obj, act)</view>
<view class="tip">
将异步资源加载同步化<br />
act为特例如exec<br />
默认处理onload,onerror事件
</view>
<view class="hr"></view>
<view class="fun">async go/goe(promise)</view>
<view class="tip">
模仿golang错误处理机制<br/>
将异步函数中err部分转成返回值<br />
go可带一个参数<br />
goe不带任何参数更方便处理<br />
</view>
</ciy-textmore>
</view>
</view>
<view class="hr"></view>
</view>
</template>
<style>
@import '@/pages/demo/zdemo.css';
</style>
<script>
import zmixin from '@/pages/demo/zmixin.js';
export default {
data() {
return {
sys: {}
}
},
onLoad() {
},
methods: {}
}
</script>