微信公众号开发
Posted Miya
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了微信公众号开发相关的知识,希望对你有一定的参考价值。
路由配置代码参考:
//首页 .state(\'app.home\', { url: \'/home?code&testopenid\', templateUrl: \'home/home.html\', controller: \'HomeController as vm\', resolve: { load: [\'$ocLazyLoad\', function($ocLazyLoad) { return $ocLazyLoad.load([\'home/home\']); }], goLogin: [\'$stateParams\',\'$state\', \'$wxService\', \'$stateParams\',\'$modal\',function ($stateParams,$state, $wxService,$stateParams,$modal) { return { query: function() { var deferred = $q.defer(); if (typeof $stateParams.code === "string") { $wxService.reLogin($stateParams.code, function(data) { deferred.resolve(data); }); } else if (typeof $stateParams.testopenid === "string") { saveToLocalStorage(\'openid\' + appVersion, $stateParams.testopenid); $wxService.memberInfoQuery($stateParams.testopenid, function(data) { deferred.resolve(data); }); } else { if (typeof localStorage[\'openid\' + appVersion] === "string") { $wxService.memberInfoQuery(localStorage[\'openid\' + appVersion], function(data) { deferred.resolve(data); }); } else { deferred.reject({"status":"40001"}); } } return deferred.promise; // 返回承诺,这里并不是最终数据,而是访问最终数据的API } // end query } }] } })
登录验证流程代码参考:
$wxService.$inject = [\'$http\', \'$window\']; function $wxService($http, $window) { var $service = { $$payload: null, reLogin: function(_code, callback) { for(var key in window.localStorage){ //清除老版本所有localStorage数据 if(key.indexOf(appVersion) == -1){ window.localStorage.removeItem(key); } } if (localMod) { loadLocalData(); this.memberInfoQuery(localStorage[\'openid\' + appVersion], callback); return; } var self = this; if (!localMod) { //未登录 尝试重新登陆一遍 if (!localStorage[\'openid\' + appVersion] || localStorage[\'openid\' + appVersion]=="null") { this.ownerInfoQuery(_code, function(data) { if (data.openid) { saveToLocalStorage(\'openid\' + appVersion, data.openid); self.memberInfoQuery(data.openid, callback); } else { callback(data.openid) return; } }); } else { this.memberInfoQuery(localStorage[\'openid\' + appVersion], callback); } } }, ownerInfoQuery: function(_code, callback) { //第一次获取openId $http({ url: serviceUrl+\'/weixin/openid/query?code=\'+_code+"&token="+wxToken, method: \'get\' }).success(function(d) { callback(d); }).error(function(data) { callback({ status: 0, msg: JSON.stringify(data) }) }); }, memberInfoQuery: function(wxid, callback) { callback = callback || function() {}; $http({ url: serviceUrl+\'/fsServe/checkLogin?wxid=\'+wxid, method: \'get\' }).success(function(data) { callback(data); }).error(function(data) { debugAlert(JSON.stringify(data)); }); } }; return $service; }
以上是关于微信公众号开发的主要内容,如果未能解决你的问题,请参考以下文章