Commit b934196832e40b507d36feeea9a921ee04d7649f

Authored by teemitop
1 parent 695811fc

增加小程序跳转配置

... ... @@ -213,6 +213,24 @@ class Wechat extends Common{
}
return - 1;
}
public function updateweixinmenuappid()
{
$data = input('post.');
if (! empty($data['appid'])) {
$retval = db('wx_menu')->update($data);
return $retval;
}
return - 1;
}
public function updateweixinmenuliteurl()
{
$data = input('post.');
if (! empty($data['menu_event_url'])) {
$retval = db('wx_menu')->update($data);
return $retval;
}
return - 1;
}
public function updateweixinmenuSort()
{
$menu_id_arr = input('menu_id_arr');
... ... @@ -559,12 +577,32 @@ class Wechat extends Common{
}
}
} else {
if ($v['menu_event_type'] == 1) {
/*if ($v['menu_event_type'] == 1) {
$menu_item['type'] = 'view';
$menu_item['url'] = $v['menu_event_url'];
} else {
$menu_item['type'] = 'click';
$menu_item['key'] = $v['menu_id'];
}*/
switch ($v['menu_event_type']) {
case '1':
$menu_item['type'] = 'view';
$menu_item['url'] = $v['menu_event_url'];
break;
case '2':
$menu_item['type'] = 'click';
$menu_item['key'] = $v['menu_id'];
break;
case '3':
$menu_item['type'] = 'miniprogram';
$menu_item['appid'] = $v['appid'];
$menu_item['url'] = "http://mp.weixin.qq.com";
$menu_item['pagepath'] = $v['menu_event_url'];
break;
default:
# code...
break;
}
}
$menu[] = $menu_item;
... ...
... ... @@ -21,6 +21,7 @@
var AWM = "{:url('addweixinmenu')}"
var UWMN = "{:url('updateweixinmenuname')}"
var UWMU = "{:url('updateweixinmenuurl')}"
var UWMUAPPID = "{:url('updateweixinmenuappid')}"
var DWM = "{:url('deleteweixinmenu')}"
var UWMM = "{:url('updateweixinmenumessage')}"
var GWMD = "{:url('getweixinmediadetail')}"
... ... @@ -143,17 +144,20 @@
<div class="frm_control_group js_setGraphic" style="{if condition='$default_menu_info.child_count>0' }display:none;{/if}" >
<label for="" class="frm_label"> <strong class="title js_menuContent">菜单内容</strong></label>
<div class="frm_controls frm_vertical_pt">
<label class="frm_radio_label js_radio_sendMsg {if condition='$default_menu_info.menu_event_type == 2|| $default_menu_info.menu_event_type == 3'}selected{/if}">
<label class="frm_radio_label js_radio_sendMsg {if condition='$default_menu_info.menu_event_type == 2'}selected{/if}">
<i class="icon_radio"></i> <span class="lbl_content">发送消息</span>
</label>
<label class="frm_radio_label js_radio_url {if condition='$default_menu_info.menu_event_type == 1'}selected{/if}">
<i class="icon_radio"></i> <span class="lbl_content">跳转网页</span>
</label>
<label class="frm_radio_label js_radio_lite {if condition='$default_menu_info.menu_event_type == 3'}selected{/if}">
<i class="icon_radio"></i> <span class="lbl_content">跳转小程序</span>
</label>
</div>
</div>
<div class="menu_content_container js_setGraphic" style="{if condition='$default_menu_info.child_count>0' }display:none;{/if}">
<!-- 发送消息 -->
<div class="menu_content send jsMain" id="edit" style="{if condition='$default_menu_info.menu_event_type == 2|| $default_menu_info.menu_event_type == 3' }display: block;{else/}display:none;{/if}">
<div class="menu_content send jsMain" id="edit" style="{if condition='$default_menu_info.menu_event_type == 2' }display: block;{else/}display:none;{/if}">
<div class="msg_sender" id="editDiv">
<div class="msg_tab">
<div class="tab_navs_panel">
... ... @@ -244,6 +248,29 @@
</div>
</div>
</div>
<!-- 跳转网页 -->
<!-- 跳转小程序 -->
<div class="menu_content lite jsMain" id="pagepath" style="{if condition='$default_menu_info.menu_event_type == 3' } display: block;{else/}display:none;{/if}">
<p class="menu_content_tips tips_global">订阅者点击该子菜单会跳到指定小程序</p>
<div class="frm_control_group">
<label for="urltext" class="frm_label"><strong class="title">APPID</strong></label>
<div class="frm_controls">
<span class="frm_input_box">
<input type="text" class="frm_input" id="urlappid" data-switch="url" value="{$default_menu_info.appid}" name="urlText" style="border: 0; box-shadow: none; padding: 0;">
</span>
<p class="profile_link_msg_global menu_url mini_tips warn dn js_warn">请勿添加其他公众号的主页链接</p>
</div>
<br>
<label for="urltext" class="frm_label"><strong class="title">小程序地址</strong></label>
<div class="frm_controls">
<span class="frm_input_box">
<input type="text" class="frm_input" id="urlpath" data-switch="url" value="{$default_menu_info.menu_event_url}" name="urlText" style="border: 0; box-shadow: none; padding: 0;">
</span>
<p class="profile_link_msg_global menu_url mini_tips warn dn js_warn">请勿添加其他公众号的主页链接</p>
</div>
</div>
</div>
<!-- 跳转小程序 -->
<div id="js_errTips" style="display: none;" class="msg_sender_msg mini_tips warn"></div>
</div>
</div>
... ...
... ... @@ -240,6 +240,36 @@ $(function() {
}
}
});
// 修改小程序地址
$("#urlpath").blur(function(){
if(parseInt($(this).attr("data-flag")) == 1 &&$("#urlpath").val().length > 0){
var obj = getCurrentMenu();
var isUpdate = true;//是否更新
//没有变化,则做不修改操作
if(obj.attr("data-menu-eventurl") == $(this).val()){
isUpdate = false;
}
if(isUpdate){
updateWeixinMenuUrlLite(obj.attr("data-menuid"),$(this).val());
}
}
});
// 修改小程序地址
$("#urlappid").blur(function(){
if(parseInt($(this).attr("data-flag")) == 1 &&$("#urlappid").val().length > 0){
var obj = getCurrentMenu();
var isUpdate = true;//是否更新
//没有变化,则做不修改操作
if(obj.attr("data-menu-eventurl") == $(this).val()){
isUpdate = false;
}
if(isUpdate){
updateWeixinMenuAPPID(obj.attr("data-menuid"),$(this).val());
}
}
});
/**
* 点击一级菜单弹出二级菜单
... ... @@ -416,8 +446,10 @@ $(function() {
$(".js_radio_sendMsg").click(function(){
$(this).addClass("selected");
$(".js_radio_url").removeClass("selected");
$(".js_radio_lite").removeClass("selected");
$("#edit").show();
$("#url").hide();
$("#pagepath").hide();
updateMenuType(2);//图文消息和链接如果都存在,则判断当前选中更新类型
});
... ... @@ -427,10 +459,25 @@ $(function() {
$(".js_radio_url").click(function(){
$(this).addClass("selected");
$(".js_radio_sendMsg").removeClass("selected");
$(".js_radio_lite").removeClass("selected");
$("#edit").hide();
$("#pagepath").hide();
$("#url").show();
updateMenuType(1);//图文消息和链接如果都存在,则判断当前选中更新类型
});
/**
* 右侧编辑["跳转小程序"]单选按钮
*/
$(".js_radio_lite").click(function(){
$(this).addClass("selected");
$(".js_radio_url").removeClass("selected");
$(".js_radio_sendMsg").removeClass("selected");
$("#pagepath").show();
$("#edit").hide();
$("#url").hide();
updateMenuType(3);//图文消息和链接如果都存在,则判断当前选中更新类型
});
/**
* 右侧编辑["发送消息"]选择类型 目前只有一个类型:图文消息
... ... @@ -518,7 +565,50 @@ $(function() {
$(this).attr("data-flag","1");
}
});
/**
* 小程序网址验证,非空
*/
$("#urlpath").keyup(function(){
if($(this).val().length>0){
if(!validateAppid($(this).val())){
$(this).parent().next().removeClass("dn");
$(this).parent().next().text("网址不正确");
$(this).attr("data-flag","-1");
IS_OK = false;
}else{
$(this).parent().next().addClass("dn");
$(this).attr("data-flag","1");
IS_OK = true;
}
}else{
$(this).parent().next().addClass("dn");
$(this).attr("data-flag","1");
}
});
/**
* 小程序appid验证 非空
*/
$("#urlappid").keyup(function(){
if($(this).val().length>0){
if(!validateAppid($(this).val())){
$(this).parent().next().removeClass("dn");
$(this).parent().next().text("APPID不正确");
$(this).attr("data-flag","-1");
IS_OK = false;
}else{
$(this).parent().next().addClass("dn");
$(this).attr("data-flag","1");
IS_OK = true;
}
}else{
$(this).parent().next().addClass("dn");
$(this).attr("data-flag","1");
}
});
/**
* 删除图文消息
... ... @@ -864,6 +954,52 @@ function updateWeixinMenuUrl(menu_id,menu_event_url){
}
/**
* 修改小程序跳转地址及appid
* @param menu_id
* @param menu_event_url
*/
function updateWeixinMenuUrlLite(menu_id,menu_event_url){
$.ajax({
url : UWMU,
type : "post",
async : false,
data : { "menu_id" : menu_id, "menu_event_url" : menu_event_url},
success : function(res){;
if(res>0){
var obj = getCurrentMenu();
obj.attr("data-menu-eventurl",menu_event_url);
showDialog("修改成功", 1);
}else{
showDialog("修改失败", 0);
}
}
})
}
/**
* 修改小程序跳转地址及appid
* @param menu_id
* @param menu_event_url
*/
function updateWeixinMenuAPPID(menu_id,menu_event_url){
$.ajax({
url : UWMUAPPID,
type : "post",
async : false,
data : { "menu_id" : menu_id, "appid" : menu_event_url},
success : function(res){;
if(res>0){
var obj = getCurrentMenu();
obj.attr("data-menu-eventurl",menu_event_url);
showDialog("修改成功", 1);
}else{
showDialog("修改失败", 0);
}
}
})
}
/**
* 删除微信自定义菜单
* @param menuid 菜单id
*/
... ... @@ -1180,4 +1316,19 @@ function validateDomainName(str){
return true;
}
return false;
}
/**
* 非空验证
* 创建时间:2017年7月31日 19:47:09
* 更新时间:2019年12月26日 20:49:55
* @param str
* @returns boolean
*/
function validateAppid(str){
var appid = str.replace(/^([ ]+)/,"").replace(/([ ]+)$/,"");
if(appid!=''){
return true;
}
return false;
}
\ No newline at end of file
... ...