/**
*
*/
define(
'mk7/controller',
[
'mk7/view',
'mk7/utils',
'mk7/jweixin'
],
function(view, utils, jweixin) {
var $$ = Dom7;
var controller = function(){
this.app = {},
this.view = '',
this.params = '',
this.renderResult = '',
this.init = function (app) {
this.app = app;
},
this.render = function(datas){
try {
this.beforeRender();
var v = new view();
var r = v.render(this.view, datas);
$$('.view-main').html(r);
this.bindEvents();
this.afterRender();
} catch (e) {
console.log(e);
}
},
this.beforeRender = function(){},//抽象方法,子类实现
this.afterRender = function(){},//抽象方法,子类实现
this.bindEvents = function(){},//抽象方法,子类实现
this.beforeRun = function(){},//抽象方法,子类实现
this.afterRun = function(){},//抽象方法,子类实现
this.run = function(){},//抽象方法,子类实现
this.showIndicator = function(){
var e = $$('#ui-loading');
if(0 == e.length){
if(this.app){
this.app.showIndicator();
}
}
},
this.setPageTitle = function(title){
var pageTitle = $$('title');
if (pageTitle <1) {
var t = $$('
'+ title +'');
$$('head').append(t)
} else {
pageTitle.html(title)
}
},
this.hideIndicator = function(){
var e = $$('#ui-loading');
if(0 == e.length){
if(this.app){
this.app.hideIndicator();
}
}
},
this.csrf = function(data){
return utils.csrf(data);
},
this.initJweixinMenuShare = function(params){
jweixin.config({
debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
appId: params.appid, // 必填,公众号的唯一标识
timestamp: params.timestamp, // 必填,生成签名的时间戳
nonceStr: params.noncestr, // 必填,生成签名的随机串
signature: params.signature,// 必填,签名,见附录1
jsApiList: ['onMenuShareTimeline', 'onMenuShareAppMessage','hideAllNonBaseMenuItem','updateAppMessageShareData', 'updateAppMessageShareData','chooseImage','previewImage','uploadImage', 'getLocalImgData','openLocation','getLocation','scanQRCode'] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2
});
jweixin.ready(function () {
// config信息验证后会执行ready方法,所有接口调用都必须在config接口获得结果之后,
// config是一个客户端的异步操作,所以如果需要在页面加载时就调用相关接口,则须把相关接口放在ready函数中调用来确保正确执行。
// 对于用户触发时才调用的接口,则可以直接调用,不需要放在ready函数中。
//分享到朋友圈
jweixin.onMenuShareTimeline({
title: params.title, // 分享标题
desc: params.desc, // 分享标题//params.DESC
link: params.user_bridge_url, // 分享链接
imgUrl: params.icon, // 分享图标
success: function () {
// 用户确认分享后执行的回调函数
},
cancel: function () {
// 用户取消分享后执行的回调函数
}
});
//分享给朋友
jweixin.onMenuShareAppMessage({
title: params.title, // 分享标题
desc: params.desc, // 分享标题//params.DESC
link: params.user_bridge_url, // 分享链接
imgUrl: params.icon, // 分享图标
type: 'link', // 分享类型,music、video或link,不填默认为link
success: function () {
// 用户确认分享后执行的回调函数
},
cancel: function () {
// 用户取消分享后执行的回调函数
}
});
jweixin.onMenuShareQQ({
title: params.title, // 分享标题
desc: params.desc, // 分享描述
link: params.user_bridge_url, // 分享链接
imgUrl: params.icon, // 分享图标
success: function () {
// 用户确认分享后执行的回调函数
},
cancel: function () {
// 用户取消分享后执行的回调函数
}
});
jweixin.updateAppMessageShareData({
title: params.title, // 分享标题
desc: params.desc, // 分享描述
link: params.user_bridge_url, // 分享链接
imgUrl: params.icon, // 分享图标
success: function () {
// 设置成功
}
})
jweixin.updateTimelineShareData({
title: params.title, // 分享标题
link: params.user_bridge_url, // 分享链接
imgUrl: params.icon, // 分享图标
success: function () {
// 设置成功
}
})
});
},
this.hideAllNonBaseMenuItem = function(params){
jweixin.config({
debug: false,
appId: params.appid, // 必填,公众号的唯一标识
timestamp: params.timestamp, // 必填,生成签名的时间戳
nonceStr: params.noncestr, // 必填,生成签名的随机串
signature: params.signature,// 必填,签名,见附录1
jsApiList: ['onMenuShareTimeline', 'onMenuShareAppMessage','updateAppMessageShareData', 'updateAppMessageShareData','hideAllNonBaseMenuItem', 'showAllNonBaseMenuItem','chooseImage','previewImage','uploadImage', 'getLocalImgData','openLocation','getLocation','scanQRCode'] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2
});
jweixin.ready(function () {
jweixin.hideAllNonBaseMenuItem();
});
},
this.weixinAllShare = function(params) {
jweixin.ready(function () {
// config信息验证后会执行ready方法,所有接口调用都必须在config接口获得结果之后,
// config是一个客户端的异步操作,所以如果需要在页面加载时就调用相关接口,则须把相关接口放在ready函数中调用来确保正确执行。
// 对于用户触发时才调用的接口,则可以直接调用,不需要放在ready函数中。
//分享到朋友圈
jweixin.onMenuShareTimeline({
title: params.title, // 分享标题
desc: params.desc, // 分享标题//params.DESC
link: params.user_bridge_url, // 分享链接
imgUrl: params.icon, // 分享图标
success: function () {
// 用户确认分享后执行的回调函数
},
cancel: function () {
// 用户取消分享后执行的回调函数
}
});
//分享给朋友
jweixin.onMenuShareAppMessage({
title: params.title, // 分享标题
desc: params.desc, // 分享标题//params.DESC
link: params.user_bridge_url, // 分享链接
imgUrl: params.icon, // 分享图标
type: 'link', // 分享类型,music、video或link,不填默认为link
success: function () {
// 用户确认分享后执行的回调函数
},
cancel: function () {
// 用户取消分享后执行的回调函数
}
});
jweixin.onMenuShareQQ({
title: params.title, // 分享标题
desc: params.desc, // 分享描述
link: params.user_bridge_url, // 分享链接
imgUrl: params.icon, // 分享图标
success: function () {
// 用户确认分享后执行的回调函数
},
cancel: function () {
// 用户取消分享后执行的回调函数
}
});
jweixin.updateAppMessageShareData({
title: params.title, // 分享标题
desc: params.desc, // 分享描述
link: params.user_bridge_url, // 分享链接
imgUrl: params.icon, // 分享图标
success: function () {
// 设置成功
}
})
jweixin.updateTimelineShareData({
title: params.title, // 分享标题
link: params.user_bridge_url, // 分享链接
imgUrl: params.icon, // 分享图标
success: function () {
// 设置成功
}
})
});
},
this.showAllNonBaseMenuItem = function(params){
jweixin.config({
debug: false,
appId: params.appid, // 必填,公众号的唯一标识
timestamp: params.timestamp, // 必填,生成签名的时间戳
nonceStr: params.noncestr, // 必填,生成签名的随机串
signature: params.signature,// 必填,签名,见附录1
jsApiList: ['onMenuShareTimeline', 'onMenuShareAppMessage','updateAppMessageShareData', 'updateAppMessageShareData','hideAllNonBaseMenuItem', 'showAllNonBaseMenuItem','chooseImage','previewImage','uploadImage', 'getLocalImgData','openLocation','getLocation','scanQRCode'] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2
});
jweixin.ready(function () {
jweixin.showAllNonBaseMenuItem();
});
}
};
return controller;
}
);