Github 开源:升讯威微信营销系统开发实践:(5)安装部署
GitHub:https://github.com/iccb1013/Sheng.WeixinConstruction
因为个人精力时间有限,不会再对现有代码进行更新维护,不过微信接口比较稳定,经测试至今没有变化,功能依然全部可用,你可以在此基础上,二次开发,完成你的业务功能,也可以抽取本平台中的代码复用在你的项目中,请遵循 MIT 开源协议保留我的版权声明和网站链接即可。
GitHub:https://github.com/iccb1013/Sheng.WeixinConstruction.WeixinContract
微信协议包装的项目还有一个单独的工程,这个工程的版本稍新,我会进行一定的更新维护,如最近增加了几个小程序开发需要使用到的接口。但是注意因为代码结构经过优化调整,直接引用到升讯威微信平台中,需要修改一些类的引用和名称。
升讯威微信营销系统开发实践系列
升讯威微信营销系统开发实践:(1)功能概要与架构设计
升讯威微信营销系统开发实践:(2)中控服务器的详细设计
升讯威微信营销系统开发实践:(3)功能介绍与此项目推广过程的一些体会
升讯威微信营销系统开发实践:(4)源代码结构说明
升讯威微信营销系统开发实践:(5)安装部署说明
1)微信开放平台配置说明
注册申请微信开放平台
https://open.weixin.qq.com/
在第三方平台中,创建第三方平台。创建成功后,获得所创建第三方平台的 AppId 和 AppSecret。
并按提示配置好“授权登录相关”和“授权后实现业务”中的各项参数。
关于几个 URL 的配置,需要先了解升讯威微信营销系统的架构,可以参考相关博客文章和下文的站点部署说明部分。
登录授权的发起页域名:管理端域名,如 wxcm.shengxunwei.com,不需要填写协议部分 http 或 https。
授权事件接收URL:http://鉴权中控服务域名/ThirdPartyAuth/Handler
消息与事件接收URL:http://微信端域名/ThirdPartyWeixinApi/Handler/$APPID$
公众号开发域名:管理端域名和微信端域名,如 wxcm.shengxunwei.com;wxc.shengxunwei.com
白名单IP地址列表填写你的服务器IP地址。
2)安装Redis
可以准备一台 Linux 服务器安装:
https://redis.io/download
也可以下载 Windows 版本安装在 Windows 服务器:
https://github.com/MicrosoftArchive/redis
3)站点部署说明
Sheng.WeixinConstruction.Client.Shell
微信端
解决方案:Sheng.WeixinConstruction.sln
所对接过来的公众号所使用的站点。
微信端在部署时使用的域名,必须在你的域名服务端后台开启泛解析,因为对接过来的公众号,会使用 appid 开始的二级或三级域名过时行访问。
假设你的微信端域名是 wxc.shengxunwei.com ,那么对接过来的公众号将使用 $APPID$.wxc.shengxunwei.com 作为域名。这样避免因某个公众号出现违规内容被封,影响到其它公众号甚至整个平台。
注意,要添加一个不指定主机名的绑定,并使用80端口,与泛解析对应。
WebConfig的配置:
- connectionStrings节点下:
- DefaultConnection配置主数据库 WxConstruction 的连接串
- LoggingConnection 配置日志库 WxLogging 的连接串。
- appSettings节点下:
- debug:false,正常运行发布模式,如果设置为true,则开始调试模式,不走微信鉴权,直接模拟一个访问者身份,方便本地开发调试。
- FileService:文件服务器的地址,如:http://wxcfile1.shengxunwei.com/
- ContainerService:鉴权中控服务的地址,可以使用内网地址,只要项目能访问到即可,如:http://localhost:8013/
- ClientAddress:微信端的地址,注意必须加上 $APPID$,如:http://$APPID$.wxc.shengxunwei.com/
- IntranetIp:微信端自身的内网IP 地址,用于其它服务发起回调使用,使用公网地址也可以,只要能被其它服务,如文件服务访问到即可,如:127.0.0.1
Sheng.WeixinConstruction.Container
鉴权中控服务
解决方案:Sheng.WeixinConstruction.Container.sln
鉴权中控服务的中提供的 API分为两部分,一部分开放给微信第三方平台调用,另一部分为升讯威微信营销系统自己使用,对于后者,我们使用内网IP地址加端口号的方式访问即可,同时在webconfig 中,配置上允许调用的IP地址白名单,防止未经许可的调用。
WebConfig的配置:
- connectionStrings节点下:
- DefaultConnection配置主数据库 WxConstruction 的连接串
- LoggingConnection 配置日志库 WxLogging 的连接串。
- appSettings节点下:
- Redis:Redis服务的地址和端口号。
- AllowedIPList:IP地址白名单,逗号分隔,只有从这些IP 地址发起的请求,才被允许访问中控服务器的全部接口。
- ContainerService:鉴权中控服务的地址,可以使用内网地址,只要项目能访问到即可,如:http://localhost:8013/
Management.Shell
管理端
解决方案:Sheng.WeixinConstruction.sln
升讯威微信营销系统的后台,用户在此注册账户后,对接到自己的公众号并使用相关功能。
WebConfig的配置:
- connectionStrings节点下:
- DefaultConnection配置主数据库 WxConstruction 的连接串
- LoggingConnection 配置日志库 WxLogging 的连接串。
- appSettings节点下:
- debug:false,正常运行发布模式,如果设置为true,则开始调试模式。
- FileService:文件服务器的地址,用户从后台上传的文件,将被上传到文件服务器中进行存储,如:http://wxcfile1.shengxunwei.com/
- ContainerService:鉴权中控服务的地址,可以使用内网地址,只要项目能访问到即可,如:http://localhost:8013/
- ClientAddress:微信端公众号所使用的域名地址,如http://$APPID$.wxc.shengxunwei.com/
- emailPassword:发邮件功能中邮件服务器的密码。
- Redis:Redis服务的地址和端口号。
FileService
文件服务器
解决方案:Sheng.WeixinConstruction.FileService.sln
升讯威微信营销系统的文件服务器,可以部署多个实例,后台上传的文件将被存储在这里。同时,它还兼具与微信后台中的素材管理接口一部分互通和功能实现。
WebConfig的配置:
- connectionStrings节点下:
- DefaultConnection配置主数据库 WxConstruction 的连接串
- LoggingConnection 配置日志库 WxLogging 的连接串,FileConnection配置文件数据库WxConstruction_File的连接串。
- appSettings节点下:
- ContainerService:鉴权中控服务的地址,可以使用内网地址,只要项目能访问到即可,如:http://localhost:8013/
- ServerPath:部署的实际物理路径地址,如:D:\wwwroot\WeixinConstruction\FileService\
- Redis:Redis服务的地址和端口号。
文件服务的 MIME类型需要添加:
.mp4 - video/mpeg4
至此,代码结构和安装部署说明结束,如有其它疑问,可以与我联系留言。