发布v2.5.9版本

This commit is contained in:
雨中磐石
2023-07-12 16:27:03 +08:00
parent 17e1d6ed22
commit 983cd0d3ea
29 changed files with 551 additions and 118 deletions

View File

@@ -1,3 +1,3 @@
<?php
//版本2.5.8的版本
return '2.5.8';
//版本2.5.9额
return '2.5.9';

View File

@@ -10,16 +10,13 @@ class JPushChajian extends Chajian{
//-------------最新原生app推送app是1.2.3版本 和 最新app+---------------
public function push($title, $desc, $cont, $palias)
{
$alias = $palias['alias'];
$xmalias = $palias['xmalias']; //小米的
$newalias = $palias['newalias']; //最新使用的
$oldalias = $palias['oldalias']; //一般自己编译
$uids = $palias['uids'];
$alias2019 = $palias['alias2019'];
$pushuids = $palias['pushuids']; //可以推送的用户ID
$xmpush = c('xmpush');
$hwpush = c('hwpush');
$getui = c('getui');
//可推送判断
$ketualia = array();
@@ -40,59 +37,129 @@ class JPushChajian extends Chajian{
'desc' => $desc,
'systype'=> getconfig('systype')
);
$isuguanw = false;
//没有设置推送(走的信呼官网渠道)
if(!$xmpush->sendbool() && !$hwpush->sendbool()){
if($xmalias || $newalias || $oldalias || $alias2019){
if($xmalias)$xharr['xmalias'] = join(',', $xmalias);
if($newalias)$xharr['newalias'] = join(',', $newalias);
if($oldalias)$xharr['oldalias'] = join(',', $oldalias);
if($alias2019)$xharr['alias2019'] = join(',', $alias2019);
$isuguanw = true;
}
}else{
$desc = $this->rock->jm->base64decode($desc);
$xmarr = array();//小米的人员
$othar = array();//其他人用
$iosar = array(); //IOS
$hwarr = array(); //华为
$iospas= array();
if($alias2019)foreach($alias2019 as $ali1){
$ali1aa = explode('|', $ali1);
$regid = $ali1aa[0];
$sjlxx = $ali1aa[1];
if(contain($sjlxx,'xiaomi')){
$xmarr[] = $regid;
}else if(contain($sjlxx,'huawei')){
if(isset($ali1aa[3]) && $ali1aa[3])$hwarr[] = $ali1aa[3];
}else if(contain($sjlxx,'iphone')){
$iosar[] = $regid;
$iospas[]= $ali1;
if(!$alias2019)return;
$getuiand = $getuiios = $mybyarr = $xmarr = $hwarr = $iosar = $puarr = array();
foreach($alias2019 as $k=>$ali1){
$ali1aa = explode('|', $ali1);
$regid = $ali1aa[0];
$_web = $ali1aa[1];
if(contain($_web,'custpile')){
$mybyarr[] = $k; //3
}else if(contain($_web,'getui')){
if(contain($_web,'iphone')){
$getuiios[] = $k; //3
}else{
$othar[] = $regid;
$getuiand[] = $k; //3
}
}else if(contain($_web,'mi')){
$xmarr[] = $k; //0
}else if(contain($_web,'huawei')){
$hwarr[] = $k; //3
}else if(contain($_web,'iphone')){
$iosar[] = $k; //0
}else{
$puarr[] = $ali1;
}
$msg = $msg1 = $msg2 = '';
if($oldalias)$msg = $xmpush->androidsend($oldalias, $title, $desc, $cont);
if($xmarr)$msg = $xmpush->androidsend($xmarr, $title, $desc);
if($iosar){
if(!$xmpush->jpushiosbool()){
$xharr['alias2019'] = join(',', $iospas);
$isuguanw = true;
}else{
$msg1= $xmpush->jpushiossend($iosar, $title, $desc);
}
}
if($hwarr)$msg2= $hwpush->androidsend($hwarr, $title, $desc);
$msg5 = $msg.$msg1.$msg2;
if($msg5)$this->rock->debugs($msg5,'mypush');
}
if($isuguanw){
$mymsg = '';
$desc = $this->rock->jm->base64decode($desc);
if($xmarr){
if($xmpush->sendbool()){
$vstr = $this->getVal($alias2019, $xmarr, 0);
$msg = $xmpush->androidsend($vstr, $title, $desc);
if($msg)$mymsg.=chr(10).$msg;
}else{
$vsta = $this->getVala($alias2019, $xmarr);
foreach($vsta as $v)$puarr[] = $v;
}
}
if($hwarr){
if($hwpush->sendbool()){
$vstr = $this->getVal($alias2019, $hwarr, 3);
$msg = $hwpush->androidsend($vstr, $title, $desc);
if($msg)$mymsg.=chr(10).$msg;
}else{
$vsta = $this->getVala($alias2019, $hwarr);
foreach($vsta as $v)$puarr[] = $v;
}
}
if($iosar){
if($xmpush->jpushiosbool()){
$vstr = $this->getVal($alias2019, $iosar, 0);
$msg = $xmpush->jpushiossend($vstr, $title, $desc);
if($msg)$mymsg.=chr(10).$msg;
}else{
$vsta = $this->getVala($alias2019, $iosar);
foreach($vsta as $v)$puarr[] = $v;
}
}
if($getuiand){
if($getui->isandroid()){
$vstr = $this->getVal($alias2019, $getuiand, 3);
$msg = $getui->push($vstr, $title, $desc);
if($msg)$mymsg.=chr(10).$msg;
}else{
$vsta = $this->getVala($alias2019, $getuiand);
foreach($vsta as $v)$puarr[] = $v;
}
}
if($getuiios){
if($getui->isios()){
$vstr = $this->getVal($alias2019, $getuiios, 3);
$msg = $getui->push($vstr, $title, $desc);
if($msg)$mymsg.=chr(10).$msg;
}else{
$vsta = $this->getVala($alias2019, $getuiios);
foreach($vsta as $v)$puarr[] = $v;
}
}
if($mybyarr){
if($getui->sendbool()){
$vstr = $this->getVal($alias2019, $mybyarr, 3);
$msg = $getui->push($vstr, $title, $desc);
if($msg)$mymsg.=chr(10).$msg;
}else{
$msg = '自己编译未配置推送';
$mymsg.=chr(10).$msg;
}
}
if($mymsg)$this->rock->debugs($mymsg, 'mypush');
//需要官网隧道
if($puarr){
$xharr['alias2019'] = join(',', $puarr);
$runurl = c('xinhu')->geturlstr('jpushplat', $xharr);
c('curl')->getcurl($runurl);
}
}
private function getVal($alias2019, $new, $oi)
{
$stv = array();
foreach($new as $j){
$stra = explode('|', $alias2019[$j]);
if(isset($stra[$oi]))$stv[]= $stra[$oi];
}
return $stv;
}
private function getVala($alias2019, $new)
{
$stv = array();
foreach($new as $j){
$stv[] = $alias2019[$j];
}
return $stv;
}
}

View File

@@ -75,6 +75,8 @@ class curlChajian extends Chajian{
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, 0);
if($this->rock->HTTPweb)curl_setopt($ch, CURLOPT_USERAGENT, $this->rock->HTTPweb);
if($this->rock->ip)$headarr['X-FORWARDED-FOR'] = $this->rock->ip;
if($ishttps==1){
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
}
@@ -105,12 +107,14 @@ class curlChajian extends Chajian{
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //要求结果为字符串且输出到屏幕上
curl_setopt($ch, CURLOPT_HEADER, 0); //不返回header
if($this->rock->HTTPweb)curl_setopt($ch, CURLOPT_USERAGENT, $this->rock->HTTPweb);
curl_setopt($ch, CURLOPT_POST, 1);
@curl_setopt($ch, CURLOPT_POSTFIELDS, $cont);
if($ishttps==1){
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
//curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
}
if($this->rock->ip)$headarr['X-FORWARDED-FOR'] = $this->rock->ip;
//设置head
if($headarr){
$heads = array();

View File

@@ -0,0 +1,141 @@
<?php
/**
* 个推2023-07-06
*/
class getuiChajian extends Chajian{
private $appid = '';
private $appkey = '';
private $mastersecret = '';
private $apptype = '0'; //0所有平台,1仅安卓2仅苹果
private $pushurl = 'https://restapi.getui.com/v2/{appid}';
protected function initChajian()
{
$this->appid = getconfig('getui_appid');
$this->appkey = getconfig('getui_appkey');
$this->mastersecret = getconfig('getui_mastersecret');
$this->apptype = getconfig('getui_apptype','0');
}
/**
* 获取token
*/
public function gettoken(){
$url = str_replace('{appid}',$this->appid, $this->pushurl).'/auth';
$token = c('cache')->get('getui'.$this->appid.'');
if(isempt($token)){
$timestamp = ''.time().'000';
$sign = hash("sha256", $this->appkey.$timestamp.$this->mastersecret);
$result = c('curl')->postcurl($url, json_encode(array(
"sign" => $sign,
"timestamp" => $timestamp,
"appkey" => $this->appkey,
)),0, array(
'content-type' => 'application/json;charset=utf-8'
));
if($result){
$barr = json_decode($result, true);
if($barr['code']==0){
$token = $barr['data']['token'];
$expire_time = $barr['data']['expire_time'];
c('cache')->set('getui'.$this->appid.'',$token, $expire_time * 0.001 - time());
}else{
echo $result;
}
}
}
return $token;
}
/**
* 判断是否可以发送
*/
public function sendbool()
{
if(!$this->appid || !$this->appkey || !$this->mastersecret)return false;
return true;
}
/**
* 是否安卓的
*/
public function isandroid()
{
if(!$this->sendbool())return false;
if($this->apptype=='2')return false;
return true;
}
/**
* 是否安卓的
*/
public function isios()
{
if(!$this->sendbool())return false;
if($this->apptype=='1')return false;
return true;
}
/**
* 推送
*/
public function push($cid, $title, $cont)
{
if(!$this->sendbool())return 'params empty';
$url = str_replace('{appid}',$this->appid, $this->pushurl).'/push/single/batch/cid';
$token = $this->gettoken();
if(is_string($cid))$cid = explode(',', $cid);
$msg_list = array();
foreach($cid as $_cid){
$parr = array();
$parr['request_id'] = 'a'.time().rand(1000,9999).'';
//$parr['settings'] = array('ttl' => '-1');
$parr['audience']['cid'] = array($_cid);
$parr['push_message']['notification'] = array(
'title' => $title,
'body' => $cont,
'click_type' => 'startapp',
);
//离线厂商推送的
$parr['push_channel']['ios'] = array(
'type' => 'notify',
'payload' => 'notify',
'aps' => array(
'alert' => array(
'title' => $title,
'body' => $cont,
),
'sound'=>'default',
),
'auto_badge' => '1'
);
$parr['push_channel']['android'] = array(
'ups' => array(
'notification' => array(
'title' => $title,
'body' => $cont,
'click_type' => 'startapp',
'notify_id' => rand(100,99999),
)
)
);
$msg_list[] = $parr;
}
$toboay = array(
'is_async' => false,
'msg_list' => $msg_list
);
$result = c('curl')->postcurl($url, json_encode($toboay),0, array(
'content-type' => 'application/json;charset=utf-8',
'token' => $token,
));
return $result;
}
}

View File

@@ -37,6 +37,12 @@ class xmpushChajian extends Chajian{
if($this->android_secret=='')return false;
return true;
}
public function setsecret($secret, $package)
{
$this->android_secret = $secret;
$this->android_package = $package;
}
/**
* 安卓推送通知

View File

@@ -72,7 +72,7 @@ js.dw = {
this.wait('原生app定位中...');
return;
}
if(api.startLocation){
if(window['api'] && api.startLocation){
js.msg();
if(api.systemType=='ios'){
this.wait(''+api.systemType+'APP定位中...');
@@ -103,7 +103,9 @@ js.dw = {
dtes.latitude = ret.location.latitude;
}
js.dw.baiduLocationSuc(dtes,err);
js.dw.bmLocation.stopLocation();
});
}
}
return;

View File

@@ -1178,8 +1178,13 @@ js.appwin=function(na,dz){
if(dz.substr(0,4)!='http')dz=NOWURL+dz;
var jg = (dz.indexOf('?')==-1)?'?':'&';
if(!na)na='&nbsp;';
var bstr=jm.base64encode('{"name":"'+na+'","url":"openurl","dizhi":"'+dz+''+jg+'hideheader=true"}');
var url = ''+ourl+'?bstr='+bstr+'';
var dizhi = ''+dz+''+jg+'hideheader=true';
if(apicloud && api.openWindcloud){
api.openWindcloud({name:na,url:dz})
return true;
}
var bstr =jm.base64encode('{"name":"'+na+'","url":"openurl","dizhi":"'+dizhi+'"}');
var url = ''+ourl+'?bstr='+bstr+'';
return this.apiopenWin(url);
}
js.sendevent=function(typ,na,d){

View File

@@ -179,11 +179,13 @@ js.showmenu=function(d){
if(!a)return;
var h1=$(window).height(),h2=document.body.scrollHeight,s1;
if(h2>h1)h1=h2;
var col='';
var s='<div onclick="$(this).remove();" align="center" id="menulistshow" style="background:rgba(0,0,0,0.6);height:'+h1+'px;width:100%;position:absolute;left:0px;top:0px;z-index:198" >';
s+='<div id="menulistshow_s" style="width:'+d.width+'px;margin-top:'+d.top+';position:fixed;-webkit-overflow-scrolling:touch" class="menulist r-border-r r-border-l">';
var col='',oix;
var s='<div align="center" id="menulistshow" style="background:rgba(0,0,0,0.6);height:'+h1+'px;width:100%;position:absolute;left:0px;top:0px;z-index:198;" >';
s+='<div id="menulistshow_s" style="width:'+d.width+'px;margin-top:'+d.top+';position:fixed;-webkit-overflow-scrolling:touch;" class="menulist">';
for(var i=0;i<a.length;i++){
s+='<div oi="'+i+'" style="text-align:'+d.align+';color:'+a[i].color+'" class="r-border-t">';
oix = '0';
if(i>0)oix='0.5';
s+='<div oi="'+i+'" style="text-align:'+d.align+';color:'+a[i].color+';border-top:'+oix+'px solid #dddddd">';
s1=d.renderer(a[i]);
if(s1){s+=s1}else{s+=''+a[i].name+'';}
s+='</div>';
@@ -307,4 +309,60 @@ js.jssdkwxgzh = function(qxlist,afe){
js.jssdkstate = 2;
});
});
}
//长按处理
function touchclass(cans){
var me = this;
this.onlongclick = function(){}
this.onclick = function(){}
this.onlongmenu = function(){}
this.initbool = false;
this.islongbool = false;
for(var i in cans)this[i]=cans[i];
this.touchstart=function(o1,evt){
touchnowobj = this;
this.islongbool = false;
if(!this.initbool){
o1.addEventListener('click', function(){
me._onclick(this, event);
}, false);
}
this.obj = o1;
this.initbool = true;
clearTimeout(this.touchtime);
this.touchtime = setTimeout('touchnowobj=false',1000);
return true;
}
this._onclick=function(o1, evt){
if(!this.islongbool)this.onclick(o1, evt);
}
this.touchstring=function(){
var rnd = 'a'+js.getrand();
touchnowoba[rnd] = this;
var str = ' ontouchstart="return touchnowoba.'+rnd+'.touchstart(this,event)"';
return str;
}
this.reglongmenu=function(){
touchnowobj = false;
touchnowoba = {};
document.addEventListener('touchstart', function(){
clearTimeout(me.longtapv);
me.longtapv = setTimeout(function(){me.longmenu();},300);
}, false);
document.addEventListener('touchmove', function(){
clearTimeout(me.longtapv);
}, false);
document.addEventListener('touchend', function(){
clearTimeout(me.longtapv);
}, false);
}
this.longmenu = function(){
setTimeout('touchnowobj=false',200);
if(!touchnowobj)return;
touchnowobj.islongbool = true;
touchnowobj.onlongclick();
this.onlongmenu();
}
}

View File

@@ -27,6 +27,8 @@ var reim={
nwjs.serverdata=function(d){
return reim.serverdata(d);
}
//var sw = js.getoption('setchatlistw');
//if(sw)$('#centlist').css('width',''+sw+'px');
$(window).resize(this.resize);
$(window).focus(function(){windowfocus=true;im.windowfocus()});
@@ -625,7 +627,8 @@ var reim={
if(isempt(did) || (lx && lx=='user'))return s;
if(did=='1')s=' <span class="reimlabel">全员</span>';
if(did=='-1')s=' <span class="reimlabel2">外部</span>';
if(did=='-2')s=' <span class="reimlabel3">咨询</span>';
//if(did=='-2')s=' <span class="reimlabel3">咨询</span>';
if(did=='-2')s=' <span style="font-size:10px;color:#aaaaaa"><i class="icon-headphones"></i></span>';
if(did>1)s=' <span class="reimlabel1">部门</span>';
return s;
},
@@ -643,17 +646,22 @@ var reim={
var cls = lex ? ' active' : '';
var na = d.name;
if(d.title)na = d.title;
var tit = ''+na+'';
if(d.type=='group'){
var d2 = grouparr[d.receid];
if(d2)d.deptid = d2.deptid;
}
if(!nas)nas='';
if(!qz)qz='chat';
if(d.subname){
nas+='<span style="color:'+maincolor+';font-size:10px">@'+d.subname+'</span>';
tit+='@'+d.subname+'';
}
var s1 = this.grouptype(d.deptid,d.type);
s = '<div class="lists'+cls+'" rtype="hist" oncontextmenu="reim.historyright(this,event,\''+num+'\')" tsaid="'+d.receid+'" tsaype="'+d.type+'" temp="hist" id="history_'+num+'" onclick="reim.openchat(\''+ty+'\',\''+d.receid+'\',\''+d.name+'\',\''+d.face+'\')">';
s+='<table cellpadding="0" border="0" width="100%"><tr>';
s+='<td style="padding-right:8px"><div style="height:30px;overflow:hidden"><img src="'+d.face+'"></div></td>';
s+='<td align="left" width="100%"><div title="'+na+'" id="lname_'+num+'" class="name">'+na+''+nas+''+s1+'</div><div class="huicont">'+jm.base64decode(d.cont)+'</div></td>';
s+='<td align="left" width="100%"><div title="'+tit+'" id="lname_'+num+'" class="name">'+na+''+nas+''+s1+'</div><div class="huicont">'+jm.base64decode(d.cont)+'</div></td>';
s+='<td align="right" nowrap><span id="'+qz+'_stotal_'+num+'" class="badge red">'+st+'</span><br><span style="color:#aaaaaa;font-size:10px">'+ops+'</span></td>';
s+='</tr></table>';
s+='</div>';
@@ -912,7 +920,7 @@ var reim={
msg = nr;
}
if(lx == 'zixun'){
title = '咨询消息';
title = d.title;
msg = nr;
}
var cans = {
@@ -1204,6 +1212,10 @@ var reim={
notifyobj.sound = src;
notifyobj.playsound();
},
setchatlistw:function(kg){
$('#centlist').css('width',''+kg+'px');
js.setoption('setchatlistw', ''+kg+'');
},
cogshow:function(){
var chs= (this.getsound())?'checked':'';
var ch1= (this.getzhuom())?'checked':'';
@@ -1220,6 +1232,8 @@ var reim={
ch1='checked';chs='';
}
s+=' <div style="padding:10px 0px;border-top:1px #eeeeee solid">发送快捷键:<label><input onclick="reim.setsendkkj(0)" '+chs+' type="radio" name="sendkuijie">Enter</label>&nbsp; <label><input onclick="reim.setsendkkj(1)" '+ch1+' type="radio" name="sendkuijie">Ctrl+Enter</label></div>';
//s+=' <div style="padding:10px 0px;border-top:1px #eeeeee solid">列表列宽:<label><input onclick="reim.setchatlistw(220)" checked type="radio" name="chatlistw">正常</label>&nbsp; <label><input onclick="reim.setchatlistw(230)" type="radio" name="chatlistw">宽点</label>&nbsp; <label><input onclick="reim.setchatlistw(250)" type="radio" name="chatlistw">大宽</label></div>';
if(nwjsgui){
var ips = nwjs.getipmac();
@@ -1280,7 +1294,7 @@ function chatcreate(cans){
this.soulx = '';
this.soukey = '';
this.objstr = 'reim.chatobj[\''+this.num+'\']';
var nstr = js.getoption('receinfo_'+this.num+'');
var nstr = js.getoption('receinfo_'+this.num+'');
if(nstr)this.setreceinfor(js.decode(nstr));
this.sendbtn.click(function(){
me.sendcont();
@@ -1331,6 +1345,7 @@ function chatcreate(cans){
s+='<td height="50" width="100%">';
s+=' <div temp="usname_'+this.num+'"><b style="font-size:16px;">'+this.name+'</b>';
if((this.type=='group' || this.type=='gout') && this.usershu)s+='('+this.usershu+')';
if(od.subname)s+='<span style="color:'+maincolor+';font-size:10px">@'+od.subname+'</span>';
s+=reim.grouptype(od.deptid,this.type);
if(od.ranking)s+=' <span style="font-size:12px;color:#aaaaaa">('+od.ranking+')</span>';
if(this.type=='user')s+=reim.getonlinestr(this.gid);
@@ -1346,6 +1361,7 @@ function chatcreate(cans){
}
if(this.type=='zixun'){
s+='<td title="转给其他客服" id="sharebtn_'+this.num+'" class="chattitbtn" nowrap><div style="width:30px"><i class="icon-share-alt"></i></div></td>';
s+='<td title="加更多客服" id="addkfbtn_'+this.num+'" class="chattitbtn" nowrap><div style="width:30px"><i class="icon-plus"></i></div></td>';
s+='<td title="咨询人员信息" id="zixunbtn_'+this.num+'" class="chattitbtn" nowrap><div style="width:30px"><i class="icon-user"></i></div></td>';
}
s+='</tr></table>';
@@ -1363,7 +1379,10 @@ function chatcreate(cans){
reim.kefu.showuser(me.gid);
});
$('#sharebtn_'+this.num+'').click(function(){
reim.kefu.shareuser(me.gid);
reim.kefu.shareuser(me.gid,0);
});
$('#addkfbtn_'+this.num+'').click(function(){
reim.kefu.shareuser(me.gid,1);
});
};
this.getapiurl=function(m1,a1){
@@ -1496,6 +1515,7 @@ function chatcreate(cans){
s+='</div>';
if(!isbf)this.addcont(s);
}
if(ret.showmsg)this.addmsg(ret.showmsg);
if(seseid>0)this.showobj.scrollTop(seseid);
};
this.isscrollbottom=function(){
@@ -1739,6 +1759,7 @@ function chatcreate(cans){
reim.showhistorys({
'cont' : s1+d.cont,
'name' : this.receinfo.name,
'subname' : this.receinfo.subname,
'face' : this.receinfo.face,
'optdt' : d.optdt,
'type' : this.type,

View File

@@ -456,6 +456,7 @@
var me = this;
this.rand = rand;
this.ismobile = false;
this.page = 1;
this.selvalue = '';
this._init = function(){
@@ -544,21 +545,32 @@
};
this.showdata=function(a,inb){
if(!a)a=[];
var ret= a;
this.showselectdata(a.selectdata);
var len = 0;
if(a.totalCount)len=a.totalCount;
if(a.rows)a = a.rows;
if(len==0)len=a.length;
var s='',s1='';
var s='',s1='',npid='nextpage_'+this.rand+'';
if(len==0){
s='<div align="center" style="margin-top:30px;color:#cccccc;font-size:16px">无记录</div>';
}else{
s = this.showhtml(a);
s1='共'+len+'条';
if(ret.page && ret.limit){
var max = Math.ceil(len/ret.limit);
s1+=' ';
if(ret.page>1)s1+='<a id="'+npid+'1" class="zhu" href="javascript:;">上页</a>';
s1+='('+ret.page+'/'+max+')';
if(max>ret.page)s1+='<a id="'+npid+'" class="zhu" href="javascript:;">下页</a>';
this.searchajax = true;
}
}
this._getobj('count').html(s1);
var o = $('#selectlist_'+rand+'');
o.html(s);
$('#'+npid+'').click(function(){me.nextpage(1);});
$('#'+npid+'1').click(function(){me.nextpage(-1);});
if(!inb && len==0)this.loaddata();
};
this.seldatsse=[];
@@ -612,12 +624,19 @@
if(s)$('#selectlist_'+rand+'').append(s);
};
this.reload=function(){
this.page = 1;
this.loaddata(this.selvalue);
};
this.nextpage=function(p){
this.page = this.page+p;
this.loaddata(this.selvalue);
};
this.loaddata=function(svel){
var url = this.url;
if(svel)url+='&selvalue='+svel+'';
if(url=='')return;
url+='&page='+this.page+'';
url+='&limit='+this.maxshow+'';
$('#selectlist_'+rand+'').html('<div align="center" style="margin-top:30px"><img src="images/mloading.gif"></div>');
$.ajax({
type:'get',dataType:'json',url:url,
@@ -644,6 +663,7 @@
this._searchkey = function(bo){
var key = $('#changekey_'+this.rand+'').val(),a=[],d=[],d1,len,i,oi=0,s;
if(this.searchajax){
this.page = 1;
this.loaddata(''+this.selvalue+'&key='+jm.base64encode(key)+'');
return;
}

View File

@@ -163,6 +163,8 @@ a:link,a:visited{TEXT-DECORATION:none;color:var(--main-color)}
.menulist{background-color:white}
.menulist{background-color:white;user-select:none;border-radius:10px}
.menulist div{padding:12px 0px;font-size:16px;text-align:center}
.menulist div:first-child{border-radius:10px 10px 0px 0px}
.menulist div:last-child{border-radius:0px 0px 10px 10px}
.menulist div:active{ background-color:#f1f1f1}

View File

@@ -204,7 +204,7 @@ var c={
return false;
}
if(isempt(val)){
if(form(fid))form(fid).focus();
if(form(fid) && flx!='hidden')form(fid).focus();
this.showtx(''+nas+'不能为空');
return false;
}

View File

@@ -46,12 +46,23 @@ class mode_demoClassAction extends inputAction{
//弹出下拉选择单选
public function tanxuan()
{
for($i=1;$i<=1520;$i++)
$limit = (int)$this->get('limit', '10');
$page = (int)$this->get('page', '1');
$totalCount = 1520;
$start = ($page-1)*$limit;
for($i=$start;$i<$start + $limit && $i<=$totalCount;$i++){
$rows[] = array(
'name' => '第'.$i.'个数据',
'value'=> ''.$i.''
);
return $rows;
}
return array(
'rows' => $rows,
'totalCount'=> $totalCount,
'limit' => $limit,
'page' => $page,
);
}
//弹出下拉选择多选

View File

@@ -31,6 +31,7 @@ if(atype=='all'){
});
}
c.bianjila=function(){
if(ISDEMO){js.msg('msg','演示不要操作');return;}
var h = $.bootsform({
title:'人员状态编辑',height:400,width:400,
tablename:bootparams.tablename,isedit:1,

View File

@@ -9,19 +9,46 @@ class crmClassModel extends Model
//读取我的客户和共享给我的
public function getmycust($uid=0, $id=0)
{
$limit = (int)$this->rock->get('limit', '10');
$page = (int)$this->rock->get('page', '1');
$key = $this->rock->get('key');
$where = '';
if($key){
$key= $this->rock->jm->base64decode($key);
$where.= " and (`name` like '%$key%' or `unitname` like '%$key%')";
}
if(isempt($id))$id = 0;
if($uid==0)$uid=$this->adminid;
$s = $this->rock->dbinstr('shateid', $uid);
$rows = $this->getrows("`status`=1 and ((`uid`='$uid') or (`id`=$id) or (".$s."))",'id as value,name,id,unitname as subname','`optdt` desc');
return $rows;
$rows = $this->getrows("`status`=1 and ((`uid`='$uid') or (`id`=$id) or (".$s.")) $where",'SQL_CALC_FOUND_ROWS id as value,name,id,unitname as subname','`optdt` desc',''.(($page-1)*$limit).','.$limit.'');
$totalCount = $this->db->found_rows();
return array(
'rows' => $rows,
'totalCount' => $totalCount,
'limit' => $limit,
'page' => $page,
);
}
//读取所有客户
public function custdata()
{
$limit = (int)$this->rock->get('limit', '10');
$page = (int)$this->rock->get('page', '1');
$key = $this->rock->get('key');
$where = m('admin')->getcompanywhere(3);
$rows = $this->getrows("`status`=1 ".$where."",'id as value,name,id,unitname as subname','`optdt` desc');
return $rows;
if($key){
$key= $this->rock->jm->base64decode($key);
$where.= " and (`name` like '%$key%' or `unitname` like '%$key%')";
}
$rows = $this->getrows("`status`=1 ".$where."",'SQL_CALC_FOUND_ROWS id as value,name,id,unitname as subname','`optdt` desc',''.(($page-1)*$limit).','.$limit.'');
$totalCount = $this->db->found_rows();
return array(
'rows' => $rows,
'totalCount' => $totalCount,
'limit' => $limit,
'page' => $page,
);
}

View File

@@ -108,7 +108,7 @@ class fileClassModel extends Model
if($this->isimg($ext))return true;
if($this->isoffice($ext))return true;
if($this->isyulan($ext))return true;
return contain(',mp3,ogg,mp4,', ','.$ext.',');
return contain(',mp3,ogg,mp4,amr,', ','.$ext.',');
}
//获取缩略图的路径

View File

@@ -95,6 +95,10 @@ class goodsClassModel extends Model
public function getgoodsdata($lx=0)
{
$typeid = $this->rock->get('selvalue');
$limit = (int)$this->rock->get('limit', '10');
$page = (int)$this->rock->get('page', '1');
$key = $this->rock->get('key');
$where = '1=1';
if(!isempt($typeid)){
$alltpeid = m('option')->getalldownid($typeid);
@@ -113,9 +117,17 @@ class goodsClassModel extends Model
}
$where.= ' and a.`id` in('.$aids.')';
}
$where .= m('admin')->getcompanywhere(1,'a.');
$rowss = $this->db->getall('select a.`id`,a.`name`,a.`xinghao`,a.`guige`,a.`stock`,a.`price`,a.`unit`,b.`name` as `typename` from `[Q]goods` a left join `[Q]option` b on a.`typeid`=b.`id` where '.$where.'');
$rows = array();
if($key){
$key= $this->rock->jm->base64decode($key);
$where.= " and (a.`name` like '%$key%' or a.`num` like '%$key%' or a.`xinghao` like '%$key%' or a.`guige` like '%$key%')";
}
$rowss = $this->db->getall('select SQL_CALC_FOUND_ROWS a.`id`,a.`name`,a.`xinghao`,a.`num`,a.`guige`,a.`stock`,a.`price`,a.`unit`,b.`name` as `typename` from `[Q]goods` a left join `[Q]option` b on a.`typeid`=b.`id` where '.$where.' limit '.(($page-1)*$limit).','.$limit.'');
$totalCount = $this->db->found_rows();
$rows = array();
foreach($rowss as $k=>$rs){
$name = $rs['name'];
if(!isempt($rs['xinghao']))$name.='('.$rs['xinghao'].')';
@@ -126,10 +138,11 @@ class goodsClassModel extends Model
$baar = array(
'name' => $name,
'value' => $rs['id'],
'num' => $rs['num'],
'price' => $rs['price'],
'unit' => $rs['unit'],
'stock' => $stock,
'subname' => $rs['typename'],
'subname' => $rs['num'].' '.$rs['typename'],
);
if(($lx==1 || $lx==3) && $stock<='0'){
$baar['disabled']= true;//领用没有库存了
@@ -141,7 +154,10 @@ class goodsClassModel extends Model
$selectdata = $this->getgoodstype(1);
return array(
'rows' => $rows,
'selectdata'=>$selectdata
'selectdata'=>$selectdata,
'totalCount'=>$totalCount,
'page' => $page,
'limit' => $limit,
);
}

View File

@@ -26,7 +26,7 @@ class loginClassModel extends Model
$yanzm = $this->rock->request('yanzm');//验证码
$ltype = (int)$this->rock->request('ltype',0);//登录类型1是手机+验证码
if(!isempt($yanzm) && strlen($yanzm)!=6)return '验证码必须是6位数字';
$cfroar= explode(',', 'pc,reim,weixin,appandroid,mweb,webapp,nppandroid,nppios');
$cfroar= explode(',', 'pc,reim,weixin,appandroid,mweb,webapp,nppandroid,nppios,nppiosnew');
if(!in_array($cfrom, $cfroar))return 'not found cfrom['.$cfrom.']';
if($user=='')return '用户名不能为空';
if($pass==''&&strlen($token)<8 && $ltype==0)return '密码不能为空';

View File

@@ -1061,34 +1061,29 @@ class reimClassModel extends Model
}
}
$uwhere = "$where `status`=1";
$rows = m('logintoken')->getrows("`uid` in(select id from `[Q]admin` where $uwhere) and `cfrom` in ('appandroid','nppandroid','nppios') and `online`=1",'*','id desc');
$alias = $uida = $xmalias = $oldalias = $pushuids = $newalias = $alias2019 = $uid2019 =array();
$rows = m('logintoken')->getrows("`uid` in(select id from `[Q]admin` where $uwhere) and `cfrom` in ('nppandroid','nppios') and `online`=1",'*','id desc');
$uida = $pushuids = $alias2019 = $uid2019 = array();
$uids = '0';
$times = date('Y-m-d H:i:s', time()-5*60);//5分钟
foreach($rows as $k=>$rs){
$_uid = $rs['uid'];
$_web = $rs['web'];
//if(in_array($_uid, $uida))continue;
$uida[] = $_uid;
$uids .= ','.$_uid.'';
if($_web=='xiaomi'){
$xmalias[] = $rs['token'];
}else if(in_array($rs['cfrom'], array('nppandroid','nppios'))){//2019-11-25最新新app
$nestr = ''.$rs['token'].'|'.$rs['web'].'|'.$_uid.'|';
if(contain($rs['web'],'huawei') && !contain($rs['ip'],'.'))$nestr.=''.$rs['ip'].'';
if(contain($rs['web'],'xiaomi'))$nestr.=''.$rs['pushtoken'].'';
$alias2019[] = $nestr;
$uid2019[] = $_uid;
}else if(substr($_web,0,4)=='app_'){
$newalias[] = $rs['token'];
}else if(substr($_web,0,4)=='apk_'){
$oldalias[] = $rs['token'];
}else{
$alias[] = $rs['token'];
$nestr = ''.$rs['token'].'|'.$_web.'|'.$_uid.'|';
if(contain($_web,'getui')){
$nestr.=''.$rs['pushtoken'].''; //个推
}else if(contain($_web,'huawei') && !contain($rs['ip'],'.')){
$nestr.=''.$rs['ip'].'';
}else if(contain($_web,'xiaomi')){
$nestr.=''.$rs['pushtoken'].'';
}
$alias2019[] = $nestr;
if(!in_array($_uid, $uid2019))$uid2019[] = $_uid;
if($rs['ispush']=='1')$pushuids[] = $_uid;//可以手机推送的用户
}
return array('alias' => $alias, 'uids'=>$uids, 'xmalias'=>$xmalias, 'oldalias'=>$oldalias, 'newalias'=>$newalias,'alias2019'=>$alias2019,'uid2019'=>$uid2019,'pushuids'=>$pushuids);
return array('uids'=>$uids,'alias2019'=>$alias2019,'uid2019'=>$uid2019,'pushuids'=>$pushuids);
}
/**

View File

@@ -25,6 +25,15 @@ function initbody(){
var da = ret.data;
$('#msgview').html('跳转中...');
sessionStorage.setItem(kei,'trueabc');
if(apicloud && api.x5Ver && api.x5Ver>0){
api.rockFun('openWinnei',{
url:da.url,
progress:'true',
animtype:'show'
});
api.closeWin({animtype:'hide'});
return;
}
js.location(da.url);
}else{
$('#msgview').html('<font color=red>'+ret.msg+'</font>');

View File

@@ -30,6 +30,27 @@
<script>
DEFAULT_URL = jm.base64decode('<?=$da['filepath']?>');
var openbool = false;
var url = location.href
var lse = url.lastIndexOf('/');
NOWURL = url.substr(0, lse+1);
apiready=function(){
if(openbool || !api.rockFun)return;
var x5ver = api.x5Ver;
if(x5ver && x5ver>0){
var pdfurl = NOWURL+DEFAULT_URL;
api.rockFun('openPdf', {
fileurl:pdfurl,
filename:'<?=$da['filename']?>',
animtype:'show',
opentyle:'x5'
});
api.closeWin({animtype:'hide'});
}
openbool = true;
}
/*
const hammertime = new Hammer(document);
hammertime.get('pinch').set({ enable: true });

View File

@@ -122,7 +122,7 @@ function winfocus(){
<?php if(getconfig('rockkefu_url')){?>
<div id="centshow3" style="display:none">
<div id="kefulistwait"></div>
<div id="kefulist_tems" style="padding-top:150px;text-align:center;color:#dddddd">
<div id="kefulist_tems_wu" style="padding-top:150px;text-align:center;color:#dddddd;display:none">
<span style="font-size:40px"><i class="icon-headphones"></i></span><br>暂无咨询消息
</div>
</div>

View File

@@ -123,12 +123,14 @@ class indexClassAction extends apiAction
$hwtoken = $this->get('hwtoken');
$pushtoken = $this->get('pushtoken');
$appver = $this->get('appversion');
$web = $this->get('web');
$ispush = (int)$this->get('ispush','0');
if($appver)$pushtoken.='_'.$appver.'';
$uarr['ispush'] = $ispush;
$uarr['pushtoken'] = $pushtoken;
$uarr['moddt'] = $this->now;
if(!isempt($hwtoken))$uarr['ip'] = $hwtoken;
if(!isempt($web))$uarr['web'] = $web;
m('login')->update($uarr, "`token`='$this->admintoken'");
if($ispush==1)m('reim')->sendpush($this->adminid, 'all', array(
'type' => 'onoffline',

View File

@@ -22,7 +22,9 @@ class flowClassAction extends ActionNot{
}
$otyle = $rs['type'];
$oi++;
$modearr[$rs['type']][]=array('modenum'=>$rs['num'],'url'=>'?a=lum&m=input&d=flow&num='.$rs['num'].'&show=we','name'=>$rs['name'],'title'=>''.$oi.'.'.$rs['name']);
if(!isset($modearr[$otyle]))$modearr[$otyle] = array();
$len = count($modearr[$otyle])+1;
$modearr[$otyle][]=array('modenum'=>$rs['num'],'url'=>'?a=lum&m=input&d=flow&num='.$rs['num'].'&show=we','name'=>$rs['name'],'title'=>''.$len.'.'.$rs['name']);
}
$this->assign('modearr', $modearr);
}

View File

@@ -9,6 +9,7 @@
<link rel="stylesheet" type="text/css" href="webmain/css/rui.css">
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript" src="js/js.js"></script>
<script type="text/javascript" src="js/base64-min.js"></script>
<style>
</style>
@@ -23,6 +24,10 @@ function xuantype(o1){
function initApp(){
js.setapptitle();
}
function totuurl(url){
var bo = js.appwin('.',url);
if(!bo)js.location(url);
}
</script>
</head>
<body>
@@ -58,7 +63,7 @@ $count1++;
foreach($rows as $k=>$rs){
$count++;
?>
<a class="weui_cell" href="<?=$rs['url']?>">
<a class="weui_cell" href="javascript:;" onclick="totuurl('<?=$rs['url']?>')">
<div class="weui_cell_bd weui_cell_primary">
<p><?=$rs['title']?></p>
</div>

View File

@@ -52,7 +52,7 @@ echo 'body{--main-color:'.$maincolor.';}';
xhauthkey = '<?=$xhauthkey?>';
maincolor = '<?=$maincolor?>';
</script>
<body scroll="no" style="overflow:hidden">
<body scroll="no" style="overflow:hidden;user-select:none">
<?php if($showheader==1){?>
<div>
<div class="r-header">

View File

@@ -2,7 +2,7 @@ var ROabc={index:0,splittime:5,ctabci:0,rock:function(){for(var _i in werock)thi
this.lda();},lda:function(){this.resiezess();$(window).resize(RO.resiezess);var agentjson=js.getoption('agentjson');var hisjson=js.getoption('historyjson');if(agentjson==''||hisjson==''){this.reload();}else{this.reload();var str=js.getoption('silderarr');if(str)this.showsilder(js.decode(str));RO.showagent(js.decode(agentjson));RO.showhistory(js.decode(hisjson));}
this.initsearch();$('#nowc_div').html(js.getoption('nowcompany'));},reload:function(lx){if(this.index==2){this.reus(lx);}else{this.ress(lx);}},ress:function(lx){this.homeress(lx);},reus:function(lx){js.ajax('dept','data',false,function(ret){RO.reuss(ret);},lx,false,function(){RO.showerror();});},ressw:function(ret){this.loadtime=ret.loadtime;js.setoption('agentjson',ret.agentjson);js.setoption('historyjson',ret.historyjson);var yyda=js.decode(ret.agentjson);this.showcompanyinfo(ret.companyinfo);this.showagent(yyda);this.showhistory(js.decode(ret.historyjson));js.setoption('myhomenum',ret.myhomenum);if(ret.silderarr){var str='';if(ret.silderarr.length>0)str=JSON.stringify(ret.silderarr);js.setoption('silderarr',str);this.showsilder(ret.silderarr);}
this.shagent(yyda);this.reloadok();if(ret.editpass==0){js.wx.alert(RO.bd6('6K!35YWI5L!u5pS55a!G56CB5ZCO5Zyo5L2.55So'),function(){RO.xgmm();});}else{this.timeajaxs();}},shagent:function(d){var stotal=0;var myhomenum=js.getoption('myhomenum');$('#hylidiv').hide();$('#hyli').html('');if(!myhomenum)return;myhomenum=','+myhomenum+',';var bo=false;for(var i=0;i<d.length;i++){stotal+=parseFloat(d[i].stotal);if(myhomenum.indexOf(','+d[i].num+',')>-1){this.showagents(d[i],'hyli','histotal_home_');bo=true;}}
if(bo)$('#hylidiv').show();this.changestotl(false,0);},showmyinfo:function(){js.ajaxbool=false;js.ajax('indexreim','showmyinfo',false,function(ret){RO.sufo(ret);},'none');},sufo:function(ret){js.setoption('deptallname',ret.deptallname);js.setoption('ranking',ret.ranking);adminface=ret.face;js.setoption('adminface',adminface);js.setoption('admintoken',ret.admintoken);adminame=ret.name;js.setoption('adminame',adminame);js.setoption('adminid',ret.id);adminid=ret.id;var sj=ret.mobile;get('myface').src=adminface;$('#myname').html(adminame);$('#my_mz').html(adminame);$('#my_bm').html(ret.deptallname);$('#my_yh').html(ret.user);$('#my_sj').html(''+sj.substr(0,3)+'****'+sj.substr(-4)+'');$('#my_zw').html(ret.ranking);this.showcompanyinfo(ret.companyinfo);if(get('bdwx')){if(ret.bdwx){$('#bdwx').html(''+this.bd6('5bey57uR5a6a')+'(<img src="'+ret.bdwx.headimgurl+'" whdth="16" height="16" align="absmiddle">'+ret.bdwx.nickname+')');}else{$('#bdwx').html(this.bd6('5pyq57uR5a6aLOeCueWHu!e7keWumg::'));}}}};var grouparr=[],userarr=[],agentarr={},RO={};function initbody(){for(var i in ROabc)js.main[i]=ROabc[i];js.main.zhuinit();RO=js.main;js.main.rock();}
if(bo)$('#hylidiv').show();this.changestotl(false,0);},showmyinfo:function(){js.ajaxbool=false;js.ajax('indexreim','showmyinfo',false,function(ret){RO.sufo(ret);},'none');},sufo:function(ret){js.setoption('deptallname',ret.deptallname);js.setoption('ranking',ret.ranking);adminface=ret.face;js.setoption('adminface',adminface);js.setoption('admintoken',ret.admintoken);adminame=ret.name;js.setoption('adminame',adminame);js.setoption('adminid',ret.id);adminid=ret.id;var sj=ret.mobile;get('myface').src=adminface;$('#myname').html(adminame);$('#my_mz').html(adminame);$('#my_bm').html(ret.deptallname);$('#my_yh').html(ret.user);$('#my_sj').html(''+sj.substr(0,3)+'****'+sj.substr(-4)+'');$('#my_zw').html(ret.ranking);this.showcompanyinfo(ret.companyinfo);if(get('bdwx')){if(ret.bdwx){$('#bdwx').html(''+this.bd6('5bey57uR5a6a')+'(<img src="'+ret.bdwx.headimgurl+'" whdth="16" height="16" align="absmiddle">'+ret.bdwx.nickname+')');}else{$('#bdwx').html(this.bd6('5pyq57uR5a6aLOeCueWHu!e7keWumg::'));}}}};var grouparr=[],userarr=[],agentarr={},RO={};function initbody(){new touchclass({}).reglongmenu();for(var i in ROabc)js.main[i]=ROabc[i];js.main.zhuinit();RO=js.main;js.main.rock();}
var werock={ctab:function(lx){if(!get('tabnav'+lx+''))return;lx=parseFloat(lx);if(lx<0)lx=3;if(lx>3)lx=0;$("[index='m']").hide();var sid='m_index'+lx+'';$('#'+sid+'').show();$('.weui_tabbar a').removeClass('weui_bar_item_on');$('#tabnav'+lx+'').addClass('weui_bar_item_on');var tass=[document.title,this.bd6('5bqU55So'),this.bd6('6IGU57O75Lq6'),adminame];$('.r-header-text').html(tass[lx]);var tabs=['chat','ying','user','my'];if(get('rtb'+this.index+''))get('rtb'+this.index+'').src='images/nav_'+tabs[this.index]+'0.png';if(get('rtb'+lx+''))get('rtb'+lx+'').src='images/nav_'+tabs[lx]+'1.png';this.index=lx;try{sessionStorage.setItem('nowtabs',lx);}catch(e){}
this.touchobj.hidescrolls();if(lx==2){this.showuserlist();}
if(lx==3){this.showmyinfo();}else{setTimeout('RO.showmyinfo()',200);}
@@ -18,7 +18,7 @@ var a=deptarr,i,len=a.length,d,dn;$('#deptlist').html('');$('#list').html('')
for(i=0;i<len;i++){d=a[i];if(d.id==id)dn=d;if(d.pid==id){d.face='images/wjj.png';this.showdeptlsit(d,level+1);}}
if(level>0)$('#userdao').append('<span class="jiantou"></span>');$('#userdao').append('<span onclick="RO.showuserlists('+id+',0, this)">'+dn.name+'</span>');len=userarr.length;var noi=0;for(i=0;i<len;i++){d=userarr[i];if(d.deptid==id||d.deptidss.indexOf(','+id+',')>-1){this.showlist(d,false);noi++;}}
if(noi==0&&$('#deptlist').html()==''){$('#list').append('<div style="font-size:14px;text-align:center;padding:30px 10px;color:#cccccc">'+dn.name+' '+this.bd6('5LiL5peg6IGU57O75Lq6')+'</div>');}},showdeptlsit:function(a,level){var s='';s+='<a class="weui_media_box weui_media_appmsg" onclick="RO.showuserlists('+a.id+','+level+')">';s+=' <div class="weui_cell_hd"><img src="'+a.face+'" style="width:34px;margin-right:5px;display:block"></div>';s+=' <div class="weui_cell_bd weui_cell_primary"><p>'+a.name+'';if(a.ntotal>0)s+=' <span style="font-size:12px;color:#888888">('+a.ntotal+')</span>';s+=' </p></div>';s+='</a>';$('#deptlist').append(s);},showlist:function(a,cbo){var s='<a temp="user_'+a.id+'" onclick="RO.opu('+a.id+')" class="weui_media_box weui_media_appmsg">';s+=' <div class="weui_media_hd">';s+=' <img class="weui_media_appmsg_thumb" src="'+a.face+'">';s+=' </div>';s+=' <div class="weui_media_bd">';s+=' <h4 class="weui_media_title">'+a.name+'</h4>';s+=' <p class="weui_media_desc">'+a.deptname+'('+a.ranking+')</p>';s+=' </div>';s+='</a>';if(!cbo){$('#list').append(s);}else{$('#sslst').append(s);}},showgroupall:function(){var i,len2=grouparr.length;$('#glist').html('');$('#glists').html('('+len2+')');for(i=0;i<len2;i++)this.showgroup(grouparr[i],true);},showgroup:function(a,cbo){var s='';s+='<a class="weui_cell" onclick="RO.openguser(\'group\','+a.id+')">';s+=' <div class="weui_cell_hd"><img src="'+a.face+'" alt="" style="width:34px;margin-right:5px;display:block"></div>';s+=' <div class="weui_cell_bd weui_cell_primary"><p>'+a.name+'</p></div>';s+='</a>';$('#glist').append(s);},shdata:{},showhistory:function(a){var i,len=a.length;$('#historylist').html('');$('#hwu_tems').show();for(i=0;i<len;i++){this.showhistorys(a[i]);}
this.changestotl(false,0);if(i>0)$('#hwu_tems').hide();},showhistorys:function(d,pad){var s,ty,o=$('#historylist'),d1,st,attr;var num=''+d.type+'_'+d.receid+'';$('#index_'+num+'').remove();this.shdata[num]=d;st=d.stotal;if(st=='0')st='';var ops=d.optdt.substr(11,5);if(d.optdt.indexOf(date)!=0)ops=d.optdt.substr(5,5);ty=d.type;s='<a id="index_'+num+'" onclick="RO.clickitems(\''+ty+'\','+d.receid+', this)" class="weui_media_box weui_media_appmsg">';s+=' <div class="weui_media_hd">';s+=' <img class="weui_media_appmsg_thumb" src="'+d.face+'">';s+=' </div>';s+=' <div class="weui_media_bd">';s+=' <span id="histotal_'+num+'" class="badge">'+st+'</span>';s+=' <font >'+ops+'</font>';s+=' <h4 class="weui_media_title">'+d.name+'</h4>';s+=' <p class="weui_media_desc">'+this.bd6(d.cont)+'</p>';s+=' </div>';s+='</a>';if(!pad){o.append(s);}else{o.prepend(s);}},clickitems:function(ty,id,o){var o1=$(o),num=''+ty+'_'+id+'',d=this.shdata[num];var da=[{name:this.bd6('5omT5byA'),lx:0}];if(d&&d.stotal>0)da.push({name:this.bd6('5qCH6K!G5bey6K!7'),lx:2});da.push({name:this.bd6('5Yig6Zmk5q2k6K6w5b2V'),lx:1});js.showmenu({data:da,onclick:function(a){var lx=a.lx;if(lx==0){RO.openguser(ty,id);}
this.changestotl(false,0);if(i>0)$('#hwu_tems').hide();},showhistorys:function(d,pad){var s,ty,o=$('#historylist'),d1,st,attr;var num=''+d.type+'_'+d.receid+'';$('#index_'+num+'').remove();this.shdata[num]=d;st=d.stotal;if(st=='0')st='';var ops=d.optdt.substr(11,5);if(d.optdt.indexOf(date)!=0)ops=d.optdt.substr(5,5);ty=d.type;var bstr=new touchclass({type:ty,receid:d.receid,onlongclick:function(){RO.clickitems(this.type,this.receid,this.obj)},onclick:function(){RO.openguser(this.type,this.receid);}}).touchstring();s='<a id="index_'+num+'" '+bstr+' class="weui_media_box weui_media_appmsg">';s+=' <div class="weui_media_hd">';s+=' <img class="weui_media_appmsg_thumb" src="'+d.face+'">';s+=' </div>';s+=' <div class="weui_media_bd">';s+=' <span id="histotal_'+num+'" class="badge">'+st+'</span>';s+=' <font >'+ops+'</font>';s+=' <h4 class="weui_media_title">'+d.name+'</h4>';s+=' <p class="weui_media_desc">'+this.bd6(d.cont)+'</p>';s+=' </div>';s+='</a>';if(!pad){o.append(s);}else{o.prepend(s);}},clickitems:function(ty,id,o){var o1=$(o),num=''+ty+'_'+id+'',d=this.shdata[num];var da=[{name:this.bd6('5omT5byA'),lx:0}];if(d&&d.stotal>0)da.push({name:this.bd6('5qCH6K!G5bey6K!7'),lx:2});da.push({name:this.bd6('5Yig6Zmk5q2k6K6w5b2V'),lx:1});js.showmenu({data:da,onclick:function(a){var lx=a.lx;if(lx==0){RO.openguser(ty,id);}
if(lx==1){o1.remove();var tst=$('#historylist').text();if(tst=='')$('#hwu_tems').show();js.ajax('reim','delhistory',{type:ty,gid:id},false,'none');}
if(lx==2){RO.biaoyidu(ty,id,true);}}});},opu:function(id){js.location('?a=userinfo&d=we&uid='+id+'');},biaoyidu:function(ty,id,lbo){if(lbo){var num=''+ty+'_'+id+'';$('#histotal_'+num+'').html('');this.changestotl(false,0);var d=this.shdata[num];if(d)d.stotal='0';}
js.ajax('reim','yiduall',{type:ty,gid:id},false,'none');},openguser:function(ty,id){var num=''+ty+'_'+id+'';$('#histotal_'+num+'').html('');this.changestotl(false,0);if(ty=='agent'){var d=this.shdata[num];var url='';if(d&&d.stotal>0&&!isempt(d.xgurl)){d.stotal='0';var xga=d.xgurl.split('|');if(xga[1]>0)url='task.php?a=x&num='+xga[0]+'&mid='+xga[1]+'';}

View File

@@ -11,7 +11,7 @@
<link rel="shortcut icon" href="<?=$arr['face']?>" />
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript" src="js/js.js"></script>
<script type="text/javascript" src="js/jswx.js"></script>
<script type="text/javascript" src="js/jswx.js?<?=time()?>"></script>
<script type="text/javascript" src="js/base64-min.js"></script>
<script type="text/javascript" src="js/jsmain.js"></script>
<script type="text/javascript" src="webmain/we/ying/ying.js?<?=time()?>"></script>
@@ -30,15 +30,15 @@ body,html{background-color:#f1f1f1;overflow:hidden}
.weui_navbar_item_disabled{color:#aaaaaa}
.contline{padding-top:10px;color:#999999;font-size:14px;text-align:center;}
.contlist{margin:15px;padding:8px 10px;position:relative; background:white}
.contlist:active,.active{ background-color:#f1f1f1}
.contlist{margin:15px;padding:8px 10px;position:relative; background:white;border-radius:5px;border:0.5px #dddddd solid}
.contlist:active,.active{ background-color:#f5f5f5}
.contlist .title{font-size:16px}
.contlist .dt{font-size:12px;color:#aaaaaa;}
.contlist .xq{color:<?=$maincolor?>;font-size:14px;padding-top:7px}
.contlist .xq{color:<?=$maincolor?>;font-size:14px;padding-top:7px;border-top:0.5px #dddddd solid}
.contlist .xq span{float:right}
.contlist .cont{font-size:14px;padding:10px 0px}
.contlist .imgs{height:130px;overflow:hidden;margin:5px 0px}
.contlist .zt{font-size:10px;position:absolute;top:2px;right:1px;padding:1px 3px;background-color:red;color:white}
.contlist .zt{font-size:10px;position:absolute;top:2px;right:2px;border-radius:3px;padding:1px 3px;background-color:red;color:white}
.contlist .face{font-size:14px;padding:5px 0px;overflow:hidden;}
.contlist .face img{border-radius:15px;height:24px;width:24px;margin-right:5px}
.contlist .opt{font-size:10px;position:absolute;bottom:1px;right:1px;padding:1px 3px;color:#aaaaaa}
@@ -56,16 +56,22 @@ var agentlx=0,xhauthkey = '<?=$xhauthkey?>',maincolor='<?=$maincolor?>';
function yingyonginit(){
yy.loadshow();
}
var xcy = {
resiezess:function(){
yy.resizehei();
}
}
function initbody(){
adminid = '<?=$da['adminid']?>';
admintoken = '<?=$xhrock->admintoken?>';
yy.init();
yingyonginit();
new touchclass({}).reglongmenu();
}
function initApp(){
js.setapptitle(json.name);
js.location=function(dz){
if(js.appwin('',dz))return;
if(js.appwin('.',dz))return;
location.href = dz;
}
var nowlist = 'yingyong_mode_'+json.num+'';
@@ -87,7 +93,7 @@ function callPhone(o1){
if(appobj1('callPhone', o1)){
return false;
}else if(apicloud){
api.call({type:'tel_prompt',number:o1});
api.rockFun('callPhone', {phone:o1});
return false;
}else{
return true;
@@ -112,7 +118,7 @@ yy.onshowdata=function(da){
</head>
<body>
<body style="user-select:none">
<?php if($showheader==1){?>
<div>
<div class="r-header" style="padding-top:<?=$cenghei?>px" >

View File

@@ -400,25 +400,37 @@ var myScroll=false,yy={
s='<div class="contline">'+d.title+'</div>';
}else{
if(!d.statuscolor)d.statuscolor='';
var bstr = new touchclass({
xuhao:oi,
onlongclick:function(){
yy.showmenu(this.xuhao);
},
onclick:function(){
yy.xiang(this.xuhao);
}
}).touchstring();
st='';
if(d.ishui==1)st='color:#aaaaaa;';
s='<div style="'+st+'" class="r-border contlist">';
s='<div style="'+st+'" class="contlist">';
s+='<div '+bstr+'>';
if(d.title){
if(d.face){
s+='<div onclick="yy.showmenu('+oi+')" class="face"><img src="'+d.face+'" align="absmiddle">'+d.title+'</div>';
s+='<div class="face"><img src="'+d.face+'" align="absmiddle">'+d.title+'</div>';
}else{
s+='<div onclick="yy.showmenu('+oi+')" class="tit">'+d.title+'</div>';
s+='<div class="tit">'+d.title+'</div>';
}
}
if(d.optdt)s+='<div class="dt">'+d.optdt+'</div>';
if(d.picurl)s+='<div onclick="yy.showmenu('+oi+')" class="imgs"><img src="'+d.picurl+'" width="100%"></div>';
if(d.cont)s+='<div onclick="yy.showmenu('+oi+')" class="cont">'+d.cont.replace(/\n/g,'<br>')+'</div>';
if(d.picurl)s+='<div class="imgs"><img src="'+d.picurl+'" width="100%"></div>';
if(d.cont)s+='<div class="cont">'+d.cont.replace(/\n/g,'<br>')+'</div>';
s+='</div>';
if(d.id && d.modenum && !d.noshowopt){
s+='<div class="xq r-border-t"><font onclick="yy.showmenu('+oi+')">操作<i class="icon-angle-down"></i></font><span onclick="yy.xiang('+oi+')">详情&gt;&gt;</span>';
s+='<div class="xq"><font onclick="yy.showmenu('+oi+')">操作<i class="icon-angle-down"></i></font><span onclick="yy.xiang('+oi+')">详情&gt;&gt;</span>';
s+='</div>';
}
if(d.xiangurl){
s+='<div class="xq r-border-t" onclick="yy.xiang('+oi+')"><font>详情&gt;&gt;</font></div>';
s+='<div class="xq" onclick="yy.xiang('+oi+')"><font>详情&gt;&gt;</font></div>';
}
if(d.statustext)s+='<div style="background-color:'+d.statuscolor+';opacity:0.7" class="zt">'+d.statustext+'</div>';
s+='</div>';