12 |
- import{_ as e,y as t,W as a,M as i,p as l,s as n,N as s,r as o,a as r,o as u,c as d,w as p,i as c,aD as m,A as g,b as h,d as f,e as _,f as y,a5 as b,g as v,z as D,h as q,j as C,k,l as T,F as V,m as x,ap as w,t as z}from"./index-BAMs4g2N.js";import{_ as P}from"./uni-stat-breadcrumb.BZcF2zJw.js";import{_ as j}from"./uni-data-select.UeW2d6Yw.js";import{_ as S}from"./uni-stat-tabs.SY9F3mAw.js";import{_ as M}from"./uni-stat-panel.X3T1D0jX.js";import{_ as I}from"./uni-tooltip.BDlhxQuq.js";import{_ as A}from"./uni-pagination.7SrZmsZK.js";import{_ as U}from"./uni-popup-dialog.BbzARIyH.js";import{s as B,d as N,g as O,a as F,b as Q,m as $}from"./util.BXBhmNoy.js";const G=[{title:"内容统计页面",field:"page_link",stat:-1},{title:"页面名称",field:"page_title",stat:-1},{title:"访问次数",field:"visit_times",tooltip:"访问过应用内任意页面总次数,多个页面之间跳转、同一页面的重复访问计为多次访问;",value:0},{title:"访问设备数",field:"visit_devices",tooltip:"访问过应用内任意页面总次数,多个页面之间跳转、同一页面的重复访问计为多次访问;",value:0},{title:"次均停留时长",field:"avg_device_session_time",computed:"duration/visit_times",formatter:":",tooltip:"平均每次打开应用停留在应用内的总时长,即应用停留总时长/启动次数",value:0},{title:"设备平均停留时长",field:"avg_user_time",computed:"duration/visit_devices",formatter:":",tooltip:"平均每个设备停留在应用内的总时长,即应用停留总时长/访问设备数",value:0},{title:"分享次数",field:"share_count",tooltip:"页面被分享成功的次数",value:0}];const J=e({data:()=>({fieldsMap:G,query:{dimension:"day",appid:"",platform_id:"",uni_platform:"",version_id:"",channel_id:"",start_time:[]},options:{pageSize:20,pageCurrent:1,total:0},loading:!1,currentDateTab:1,tableData:[],panelData:G.filter((e=>e.hasOwnProperty("value"))),queryId:"",updateValue:"",channelData:[],errorMessage:""}),computed:{channelQuery(){const e=this.query.platform_id;return B({platform_id:e})},versionQuery(){const{appid:e,uni_platform:t}=this.query;return B({appid:e,uni_platform:t})}},created(){this.debounceGet=N((()=>this.getAllData())),this.getChannelData()},watch:{query:{deep:!0,handler(e){this.options.pageCurrent=1,this.debounceGet()}}},methods:{pageTo(e){t({url:e})},useDatetimePicker(){this.currentDateTab=-1},changeAppid(e){this.getChannelData(e,!1)},changePlatform(e,t,a,i){this.getChannelData(null,e),this.query.version_id=0,this.query.uni_platform=i.code},changeTimeRange(e,t){this.currentDateTab=t;const a=O(e),i=O(0)-1;this.query.start_time=[a,i]},changePageCurrent(e){this.options.pageCurrent=e.current,this.getTableData(this.query)},changePageSize(e){this.options.pageSize=e,this.options.pageCurrent=1,this.getTableData()},getAllData(){this.getPanelData(),this.getTableData()},getTableData(e){if(!this.query.appid)return void(this.errorMessage="请先选择应用");this.errorMessage="",e=B(this.query,null,["uni_platform"]);const{pageCurrent:t}=this.options;this.loading=!0;const i=a.database(),l=B({appid:this.query.appid}),n=i.collection("uni-stat-page-details").where(l).getTemp(),s=i.collection("uni-stat-page-detail-result").where(e).getTemp();i.collection(s,n).field(`${F(G)}, stat_date, page_detail_id`).groupBy("page_detail_id").groupField(Q(G)).orderBy("visit_times desc").skip((t-1)*this.options.pageSize).limit(this.options.pageSize).get({getCount:!0}).then((e=>{const{count:t,data:a}=e.result;this.options.total=t,this.tableData=[];for(const i of a){const e=i.page_detail_id;if(Array.isArray(e)){delete i.page_detail_id;const t=e[0];if(t&&Object.keys(t).length)for(const e in t)"_id"!==e&&(i[e]=t[e])}$(G,i,i),this.tableData.push(i)}})).catch((e=>{console.error(e)})).finally((()=>{this.loading=!1}))},getPanelData(e=B(this.query,null,["uni_platform"])){let t=JSON.parse(JSON.stringify(G));t=t.filter((e=>"visit_devices"!==e.field));a.database().collection("uni-stat-page-detail-result").where(e).field(F(t)).groupBy("appid").groupField(Q(t)).orderBy("start_time desc").get().then((e=>{const a=e.result.data[0];this.panelData=[],this.panelData=$(t,a)}))},inputDialogToggle(e,t){this.queryId=e,this.updateValue=t,this.$refs.inputDialog.open()},editName(e=""){const t=a.database();i({title:"请求中..."}),t.collection("uni-stat-page-details").where({page_link:this.queryId}).update({page_title:e.trim()}).then((e=>{e.result.updated?(l({title:"修改成功"}),this.getTableData()):l({title:"修改失败",icon:"none"})})).catch((e=>{n({content:e.message||"请求服务失败",showCancel:!1})})).finally((()=>{s()}))},getChannelData(e,t){this.query.channel_id="";const i=a.database(),l={};(e=e||this.query.appid)&&(l.appid=e),(t=t||this.query.platform_id)&&(l.platform_id=t);let n=i.collection("uni-stat-app-platforms").field("_id, name").getTemp(),s=i.collection("uni-stat-app-channels").where(l).field("_id, channel_name, create_time, platform_id").getTemp();i.collection(s,n).orderBy("platform_id asc").get().then((e=>{let t=e.result.data,a=[];if(t.length>0){let e;for(let i in t)e=t[i].channel_name?t[i].channel_name:"默认",t[i].platform_id.length>0&&(e=t[i].platform_id[0].name+"-"+e),a.push({value:t[i]._id,text:e})}this.channelData=a})).catch((e=>{console.error(e)})).finally((()=>{}))}}},[["render",function(e,t,a,i,l,n){const s=o(r("uni-stat-breadcrumb"),P),B=c,N=o(r("uni-data-select"),j),O=o(r("uni-stat-tabs"),S),F=o(r("uni-datetime-picker"),m),Q=o(r("uni-stat-panel"),M),$=x,G=o(r("uni-icons"),g),J=o(r("uni-tooltip"),I),R=o(r("uni-th"),h),L=o(r("uni-tr"),f),W=o(r("uni-td"),_),E=o(r("uni-table"),y),H=o(r("uni-pagination"),A),K=o(r("uni-popup-dialog"),U),X=o(r("uni-popup"),b);return u(),d(B,{class:"fix-top-window"},{default:p((()=>[v(B,{class:"uni-header"},{default:p((()=>[v(s,{class:"uni-stat-breadcrumb-on-phone"}),v(B,{class:"uni-group"})])),_:1}),v(B,{class:"uni-container"},{default:p((()=>[v(B,{class:"uni-stat--x flex p-1015"},{default:p((()=>[v(B,{class:"uni-stat--app-select"},{default:p((()=>[v(N,{collection:"opendb-app-list",field:"appid as value, name as text",orderby:"text asc",defItem:1,label:"应用选择",modelValue:l.query.appid,"onUpdate:modelValue":t[0]||(t[0]=e=>l.query.appid=e),clear:!1},null,8,["modelValue"]),v(N,{collection:"opendb-app-versions",where:n.versionQuery,class:"ml-m",field:"_id as value, version as text, uni_platform as label, create_date as date",format:"{label} - {text}",orderby:"date desc",label:"版本选择",modelValue:l.query.version_id,"onUpdate:modelValue":t[1]||(t[1]=e=>l.query.version_id=e)},null,8,["where","modelValue"])])),_:1})])),_:1}),v(B,{class:"uni-stat--x flex"},{default:p((()=>[v(O,{label:"日期选择",current:l.currentDateTab,mode:"date",onChange:n.changeTimeRange},null,8,["current","onChange"]),v(F,{type:"datetimerange",end:(new Date).getTime(),modelValue:l.query.start_time,"onUpdate:modelValue":t[2]||(t[2]=e=>l.query.start_time=e),returnType:"timestamp",clearIcon:!1,class:D(["uni-stat-datetime-picker",{"uni-stat__actived":l.currentDateTab<0&&!!l.query.start_time.length}]),onChange:n.useDatetimePicker},null,8,["end","modelValue","class","onChange"])])),_:1}),v(B,{class:"uni-stat--x"},{default:p((()=>[v(O,{label:"平台选择",type:"boldLine",mode:"platform",modelValue:l.query.platform_id,"onUpdate:modelValue":t[3]||(t[3]=e=>l.query.platform_id=e),onChange:n.changePlatform},null,8,["modelValue","onChange"]),l.query.platform_id&&-1===l.query.platform_id.indexOf("==")?(u(),d(N,{key:0,ref:"version-select",collection:"uni-stat-app-channels",where:n.channelQuery,class:"p-channel",field:"_id as value, channel_name as text",orderby:"text asc",label:"渠道/场景值选择",modelValue:l.query.channel_id,"onUpdate:modelValue":t[4]||(t[4]=e=>l.query.channel_id=e)},null,8,["where","modelValue"])):q("",!0)])),_:1}),v(Q,{items:l.panelData},null,8,["items"]),v(B,{class:"uni-stat--x p-m"},{default:p((()=>[v(B,{class:"uni-stat-right-btn"},{default:p((()=>[v($,{type:"primary",size:"mini",onClick:t[5]||(t[5]=e=>n.pageTo("/pages/uni-stat/page-rule/page-rule"))},{default:p((()=>[C("页面规则")])),_:1})])),_:1}),v(E,{loading:l.loading,border:"",stripe:"",emptyText:l.errorMessage||e.$t("common.empty")},{default:p((()=>[v(L,null,{default:p((()=>[(u(!0),k(V,null,T(l.fieldsMap,((e,t)=>(u(),k(V,{key:t},[e.title?(u(),d(R,{key:t,align:"center"},{default:p((()=>[v(J,null,w({default:p((()=>[C(z(e.title)+" ",1),0===t&&e.tooltip?(u(),d(G,{key:0,type:"help",color:"#666"})):q("",!0)])),_:2},[0===t&&e.tooltip?{name:"content",fn:p((()=>[v(B,{class:"uni-stat-tooltip-s"},{default:p((()=>[C(z(e.tooltip),1)])),_:2},1024)])),key:"0"}:void 0]),1024)])),_:2},1024)):q("",!0)],64)))),128))])),_:1}),(u(!0),k(V,null,T(l.tableData,((e,t)=>(u(),d(L,{key:t},{default:p((()=>[(u(!0),k(V,null,T(l.fieldsMap,((t,a)=>(u(),k(V,{key:a},[1===a?(u(),d(W,{key:t.field,class:"uni-stat-edit--x"},{default:p((()=>[C(z(void 0!==e[t.field]?e[t.field]:"-")+" ",1),v(G,{type:"compose",color:"#2979ff",size:"25",class:"uni-stat-edit--btn",onClick:t=>n.inputDialogToggle(e.page_link,e.page_title)},null,8,["onClick"])])),_:2},1024)):(u(),d(W,{key:t.field,align:0===a?"left":"center"},{default:p((()=>[C(z(void 0!==e[t.field]?e[t.field]:"-"),1)])),_:2},1032,["align"]))],64)))),128))])),_:2},1024)))),128))])),_:1},8,["loading","emptyText"]),v(B,{class:"uni-pagination-box"},{default:p((()=>[v(H,{"show-icon":"","show-page-size":"","page-size":l.options.pageSize,current:l.options.pageCurrent,total:l.options.total,onChange:n.changePageCurrent,onPageSizeChange:n.changePageSize},null,8,["page-size","current","total","onChange","onPageSizeChange"])])),_:1})])),_:1})])),_:1}),v(X,{ref:"inputDialog",type:"dialog",maskClick:!0},{default:p((()=>[v(K,{ref:"inputClose",mode:"input",title:"请编辑名称",modelValue:l.updateValue,"onUpdate:modelValue":t[6]||(t[6]=e=>l.updateValue=e),placeholder:"请输入内容",onConfirm:n.editName},null,8,["modelValue","onConfirm"])])),_:1},512)])),_:1})}],["__scopeId","data-v-132c5664"]]);export{J as default};
|