Skip to content

如何为图书馆配置微信公众号

wuayang001 edited this page Jul 18, 2022 · 36 revisions

一、内务【用户窗】配置微信公众号相关账号

对于公众号来说,为了安全的需要,新版本系统将公众号内部运行的capo的权限分到了三个账号当中:capo、wx_registerByPatron、wx_changeTelByPatron。

1. capo账号

4个基础权限:bindpatron(绑定读者账号),simulatereader(模拟读者登录),simulateworker(模拟工作人员登录),getSystemParameter(获得系统能够参数)。 如果服务器上配置了密码有效期限,为了使capo的密码不被强制重置,还需要配置neverexpire权限

2. wx_registerByPatron:

wx_registerByPatron是专门用来获得或者修改读者记录中除了手机号码以外的其他信息的代理账号,需要包含的权限有:getreaderinfo:name|gender|department|tel|comment|barcode|state|readerType|refID|libraryCode,setreaderinfo:name|gender|department|tel|comment|barcode|state|readerType|refID|libraryCode|r_delete,如果服务器上配置了密码有效期限,为了使capo的密码不被强制重置,还需要配置neverexpire权限

3. wx_changeTelByPatron:

wx_changeTelByPatron是专门用来获得或者设置读者手机号码的账号(因为读者的手机号码属于个人隐私,所以单独用一个账号来代理操作),需要具备的权限有:getreaderinfo:name|tel,setreaderinfo:tel,如果服务器上配置了密码有效期限,为了使capo的密码不被强制重置,还需要配置nneverexpire权限

二、配置 dp2capo

1. 通过Chord Installer创建一个dp2capo实例

创建方法参见文档:dp2Capo 安装配置中“环境准备”和“利用 chordInstaller 安装 dp2Capo 模块”章节

2. 配置dp2library服务器(L)参数

具体方法参见文档dp2Capo 安装配置中“配置 dp2library 服务器参数”章节。

配置dp2library服务器(L)参数时,需创建capo代理账户、设置“消息队列”属性页的“消息队列路径”、并在“微信”属性页为工作人员添加管理公众号的权限。

3. 配置 dp2mserver 服务器参数

点击“一个实例”对话框上的“dp2MServer服务器(M)”一栏右侧的“...”按钮,系统弹出“设置针对dp2MServer的参数”对话框。

1)dp2MServer服务器URL(U): 此项地址固定填写为:https://dp2003.com:8083/dp2mserver

2)创建一个dp2MServer账户(针对上述dp2MServer)

2.1)用户名的格式一般是“capo_***”,输入密码后点检测,若已存在就不需要再创建。
2.2)若用户名不存在,点创建,弹出“确认身份”页,输入dp2mserver 服务器的用户名和密码(由服务部门人员提供)-确认-弹出对话框中输入“图书馆名”-确认-弹出对话框“是否允许webCall(通过dp2Router访问dp2library)?”,一般情况下点“否”(webCall用于远程穿透功能,部署在用户单位内部的服务器需要启用),然后点“确定”,关闭“设置针对dp2MServer的参数”对话框。

注:按照以上步骤部署好公众号之后,dp2mserver会给所记录的capo账号自动绑定当前IP地址。这是考虑到一般情况下用户所使用的服务器都是固定IP的情况。如果部署chordinstaller的电脑IP地址发生了变化或者不固定,则需要登录到dp2mserver里面手动删除所绑定的IP。具体步骤请参考维护知识:如何处理dp2capo桥接服务器失去联系?文档第三节。

注释:创建dp2MServer账户这个步骤也可以直接用内务登录到dp2mserver上创建。通过chordInstaller创建和直接登录到dp2mserver上创建的区别是,通过chordInstaller创建时,系统会自动给所创建的账号赋予“义务”和“群组”;直接登录到dp2mserver上创建需要参照其他账号手动设置“义务”和“群组”的内容。(注意这里只是一些解释,不需要操作)

点击“一个实例”对话框上的“确定”按钮,退出“一个实例”对话框,再点击“安装dp2Capo”对话框上“确定”按钮,退出“安装dp2Capo”对话框。点击

通过以上操作,用户就在dp2服务器端就配置好了dp2capo模块。点击“Chord Installer-Chord安装工具”对话框上“文件”-“退出”,退出Chord Installer安装工具。

三、在微信公众号后台新增图书馆

在dp2服务器端配置好dp2capo模块后,需在微信公众号后台管理界面新增对应的图书馆。操作步骤如下:

1.登录微信公众号后台管理系统(向服务部门管理者申请账号和密码):http://dp2003.com/i/Home/Login

2.点下方菜单 公众号管理/图书馆管理,进入图书馆管理页面。

3.浏览器滚动条拉到最下方,点击页面下方 “新增图书馆” 大按钮。

4.在 “新增图书馆” 页面,给各字段输入内容(说明如下),最后点“保存图书馆” 完成图书馆的配置。

图书馆dp2capo账号:必须与dp2capo实例中dp2MServer服务器设置的用户名(capo_XXX)一致
图书馆名称:点 “自动获取名称”按钮,系统会将对应的图书馆名称显示出来
地区:微信公众号会按地区分列表显示,地区相同的图书馆会归集在一个列表中

微信本方账号名:微信端针对某个图书馆用到的dp2mserver帐户,一般以“weixin_实例名”的方式命名
1)如果微信本方账号名已经存在,则输入正确的密码即可
2)如果微信本方账号名不存在,点击“创建”按钮,系统要求输入的dp2mserver超级管理员账户铭和密码时(和管理员咨询)。

参与检索的数据库:此处定义了公众号上参与检索的书目库。一般情况下不输入,则默认配置了opac参与检索的的数据库均参与公众号检索。如果用户需要限定参与检索的书目库,需要在此进行设置。多个书目库之间以英文逗号分隔。

简单检索匹配方式:考虑到检索的速度,一般默认为前方一致。中间一致的匹配方式会导致检索速度下降。

不对外公开书目:该选项定义了是否对public账号公开检索书目记录。勾选则不公开,不勾选时公开。

状态: 指当前公众号实例的状态,下拉列表中的“到期”表示用户服务到期,设置后公众号将停止。“状态”栏一般不设置。

限制的书目结果集:指用户需要在公众号中隐藏起来,不让读者检索到的书目记录特征集。这里设置的时候需要根据library.xml中具体的配置来设定。详情可以参考如何隐藏部分书目,让OPAC中查询不到

预约范围:指读者绑定账号后可以预约的图书范围。根据用户需求下拉设定。

不支持预约的馆藏地:根据用户需求手动输入不支持预约的馆藏地,多个馆藏地之间用英文逗号隔开。

是否给读者发到书通知:下拉列表有“是”和“否”两个选项。一般情况下设置为“是”。这样读者预约图书后,如果图书在馆,就可以通知读者来办理借书手续。但在特殊情况下(比如疫情期间)读者无法自由来馆借书,需要馆员备好书之后逐个安排并通知读者取书,这时可以设置为“否”,系统不会给读者发送预约到书通知,而是馆员完成备书后手动通知读者。

“不允许显示册记录的馆藏地”:根据用户需求设置,如果某些馆藏地的册记录不想显示给读者,在此处设置馆藏地名称。多个馆藏地之间用英文逗号隔开。

id:id是自动生成的,用来识别图书馆,默认值即可

以上就完成了一个实例微信公众号的配置。

用户关于公众号的一些显示需求通常也是在这里设置的。

5.如果图书馆书目公开,还要在dp2内务里为public账号配置权限:searchbilio检索书目、searchauthority检索规范库

三、确认公众号运行是否正常

手机进入“我爱图书馆”公众号,选择刚刚配置的实例,绑定账号并检索,看看是否运行正常。


如何处理用户要求修改公众号列表中的图书馆名称?

  1. 给公众号列表增加显示新的图书馆名称:通过dp2内务,修改library.xml里面的 <libraryInfo>下的 <libraryName>元素内容为需要的名称。

  2. 删除原来的图书馆名称:登录到dp2003服务器上,在公众号模块的数据目录下的libcfg.xml(位于D-【weixin_data】子目录下)原来的图书馆名称相关的代码。

<lib id="5c99dfa6ea3bc90460db9f92" name="第三中学" libraryCode="" patronDbName="" departments="" />。修改了libcfg.xml后,需要从IIS里回收ilovelibrary应用池。

capo权限说明

总权限:getsystemparameter,getres,search,getbiblioinfo,setbiblioinfo,getreaderinfo,writeobject,getbibliosummary,listdbfroms,simulatereader,simulateworker,getiteminfo,getorderinfo,getissueinfo,getcommentinfo,borrow,return,getmsmqmessage,bindpatron,searchbiblio,getpatrontempid,resetpasswordreturnmessage,getuser,changereaderpassword,renew,reservation

微信公众号所需权限:bindpatron,simulatereader,simulateworker,getSystemParameter

其他账号权限:

wx_registerByPatron:getreaderinfo:name|gender|department|tel|comment|barcode|state|readerType|refID|libraryCode,setreaderinfo:name|gender|department|tel|comment|barcode|state|readerType|refID|libraryCode|r_delete

wx_changeTelByPatron:getreaderinfo:name|tel,setreaderinfo:tel

微信公众号接收消息不同原因排查

1. 检查chord的MSMQ配置是否正确

  1. 打开chord installer中,实例下dp2library服务器/消息队列。观察是否有值
  2. 打开installer中 实例下【配置dp2library】/自动配置MSMQ参数 需两个都配置上
Clone this wiki locally