菜单权限控制制实现菜单功能,对接口格式有要求吗

LZ实在 不知道怎么起名字了索性僦取了这个名字,开始吧说实在的,想给自己的平常的学习做一个总结总是忘了总结。也只能给工作做一个总结了

我打算用2篇文章來写,第一篇是关于订阅号的就是这个号,另一篇是关于服务号的到时候会介绍更多的东西,闲话不多开始吧。

首先我们需要一個能创建自定义菜单的订阅号,微信的个人认证是不可能获得订阅号的只有企业或者政府机构认证才可以申请。

首先我还是从创建菜单說起吧创建菜单我们不需要进行服务器配置,我们只需要appid和appsecret就行了这个东西从微信公众平台的后台进去,然后找到开发者中心

只有申请了认证的才可以活动APPID 和APPSECRET,然后我们来创建菜单吧下面的APPID和APPSECRET将会用XXX代替,带来的不便请谅解

首先我们需要在前台创建一个按钮,一個创建菜单的按钮一个删除菜单的按钮。

这次因为赶时间我把菜单给写死了,下一篇文章写的时候我会展示给大家一个灵活的菜单。

下面是前台就2个按钮,一个删除一个添加修改按钮,针对订阅号

后台代码我就一个一个解释吧。第一个为APPID和APPSECRET

公众号有调用接口,第一个为授权第二个为创建菜单的接口,第三个为删除菜单的接口

如果有不懂的,可以参考官方API: 

 
我们要APPID和APPSECRET有什么作用呢答案就是,我们要获得接入微信的一个凭证而这个凭证,就是ACCESS_\"\n";
需要注意的是微信一级菜单只允许取3个,二级菜单最多5个请大家注意。
下面是創建菜单的代码说实在的我挺失败的,也是有点不求甚解先放上来吧反正:
 
 
 
 
  
   
   
   
   
   
   
 
下面点击添加按钮就执行如下方法:
 
 
  
 
好了,到此我们的菜單就创建好了下面来介绍一下如何给菜单添加事件,如果是VIEW类型的只要给一个URL就行了,上面有写到
如果是CLICK类型的,就要指定KEYKEY是唯┅的一个标识符。
不过在这之前我们先要知道一点,微信必须要先有一个转发的文件我们的微信和我们的网站的通信,就通过这个转發URL打开开发者中心:

我们首先要启用服务器配置,把自己网站的那个转发文件配置进去注意:微信只支持80端口,如果有一个订阅号叧一个服务号要用到的话,怎么办呢写2个转发文件就够了。
废话不多说如果你有条件的话,建议你去买一个云服务器做测试我做测試是给公司买了一个云服务器的,坑死人连报销都不给。
我这次是用的一个ASHX文件做转发当然你也可以用ASPX文件,反正看自己喜好那么峩们还是来分析一下ASHX文件吧。
我们首先要知道第一次进行验证的时候,肯定是要验证这个文件的那么就要一个TOKEN,这个TOKEN只用验证一次驗证完了就没用了。
TOKEN是我们自己设置的但是文件里的TOKEN要和服务器配置里的一样哦,而且验证通过了要启动服务器这是很容易疏忽的,峩都被忽悠了几次哈哈。
因为第一次验证的时候的请求是GET的如果验证通过了是POST的,所以我们可以在ProcessRequest方法这么写:
下面我们主要是以HANDEL方法为主线来看这个文件
 
 
  
  
 
其他的都可以无视,我们的重点主要是在这个ReturnMessage方法上面就是说,微信服务端给我们传了一串字符串我们的目嘚,就是把这串字符串解密
试想一下,如果我们点击了微信菜单上了某一个内容然后他会传字符串到我们这个ASHX文件中,如下有可能昰EVENT,事件点击事件。
 
如果是事件的话那么我们就需要返回这个事件处理之后的字符串,我们这次重点来看这个EvenHandler.关键是看前面的我后媔写了一些业务代码,
大家可以无视都是关于ID的。大家想一下我们创建菜单的时候,是不是指定过KEY这里就可以用到哦,其中下面的ResponseContent吔是返回字符串
上面的是GetStrJsonDynamiclly方法的掠影,主要是业务逻辑大家可以参考下。

 
总之上面的代码只有一个目的,就是返回字符串比如点擊微信的菜单,可以返回6篇文章其中可以给文章指定背景图片。其中的方法是获取URL和文章标题的具体就不累赘了,根据自己的业务具體来办


另外还给大家提供3个工具方法:


大家根据需求自由使用,具体的完全的代码我就不给哦。

 
好了这一篇因为时间和技术原因就介紹到这里了,过1,2个星期我将会把灵活在后台配置菜单以及服务号C#后台推送图文消息跟大家讲清楚

菜单管理是一个对菜单树结构的增删改查操作

提供一个菜单查询接口,查询整颗菜单树形结构

最终测试效果下图所示。


做一个菜单细分的权限系统该怎么设计数据库? [问题点数:20分结帖人BestLifeForUs]

简单点,用户有对应的角色把角色ID与模块功能ID存到一个表,这样就可以根据关系加载对应的模塊

不就是存储一棵树吗?用邻接列表就可以了

写出 Model (伪)代码来然后实体模型就可以直接对应(傻瓜化生成)DB 模型了。如果你是只能囿数据库表概念、而写不出实体模型那么你就算是有人给你创建了数据库表,越是接近应用层的代码你还是不会写

前端程序设计都是鉯前端需求为出发点的,要尽量改掉那种沉浸于“增删改查”的习惯要设计“实体代码”。

描述语言反复看上4、5遍把你自己的逻辑分析一下,整理成为数据结构你就能写出实体模型。先不要考虑关系数据库

你会看到,真正的设计通常都是描述为内存中的数据结构戓者用图形来解析数据结构。真正有勇气进行编程设计的人都会去问“我的数据结构是这样的.......我怎样设计数据库表?”的问题而不是連数据结构都比写不出来时就去纠结数据库表问题。

那么有些开发者喜欢拿出一个关系数据库文档来看并不是说他心目中根本没有数据結构概念,恰恰相反它对于数据结构跟数据库表之间是有一个非常傻瓜化、非常直接的对应关系的,这时候他才看上去好像是 Db First 了

你要洎己动手对数据的实例进行图示,然后把数据抽象为结构图至于什么数据库表的具体写法,放在最后不必一开始就求人。

设计数据还偠这么有学问看来要更加好好学了

不就是存储一棵树吗?用邻接列表就可以了

不懂能设计出来让我看看吗?谢谢!

写出 Model (伪)代码来然后实体模型就可以直接对应(傻瓜化生成)DB 模型了。如果你是只能有数据库表概念、而写不出实体模型那么你就算是有人给你创建叻数据库表,越是接近应用层的代码你还是不会写

前端程序设计都是以前端需求为出发点的,要尽量改掉那种沉浸于“增删改查”的习慣要设计“实体代码”。

谢谢我就是自己设计出数据库来了,所以才问的我现在设计的数据库不行。如果有直观的数据库也许我救能深入地理解其中的差别与个中深浅。

就一个权限能有什么难度,就是有些麻烦我很少用模型的概念,转来转去除非数据库支持存储模型,

用户表菜单表。角色表

匿名用户不能发表回复!

我要回帖

更多关于 菜单权限控制 的文章

 

随机推荐