更新记录
1.0.1(2024-04-21)
删除本地依赖
1.0.0(2024-04-21)
初次发布
平台兼容性
阿里云 | 腾讯云 | 支付宝云 |
---|---|---|
√ | √ | √ |
Vue2 | Vue3 |
---|---|
√ | × |
App | 快应用 | 微信小程序 | 支付宝小程序 | 百度小程序 | 字节小程序 | QQ小程序 |
---|---|---|---|---|---|---|
HBuilderX 3.6.12 | × | × | × | × | × | × |
钉钉小程序 | 快手小程序 | 飞书小程序 | 京东小程序 |
---|---|---|---|
× | × | × | × |
H5-Safari | Android Browser | 微信浏览器(Android) | QQ浏览器(Android) | Chrome | IE | Edge | Firefox | PC-Safari |
---|---|---|---|---|---|---|---|---|
× | × | × | × | √ | × | × | × | × |
uni-admin插件通用教程:
uni-admin
是一套基于uniCloud的开源应用管理端系统。详见:uni-admin 基础框架
本插件是uni-admin
系统的扩展插件,为开发者的admin系统添加功能。
需先确保本机有uni-admin
项目,然后将此插件导入到uni-admin
项目下。
如本机没有uni-admin
项目,需要先在HBuilderX中新建项目 -> uni-app项目 -> 选择uni-admin
模板。
如本机的uni-admin
项目版本过老,可能无法使用新插件,需及时升级本机的uni-admin
项目。详见uni-admin
项目更新日志
bs-weChatVotes使用步骤
使用此功能可以实现公众号快速吸粉。 微信公众号开放10余年来,很多运营者用投票活动吸粉,早年晒照片投票赢免费影楼拍照之类活动养出了一大批号。 即使到现在,对于一些权威单位,依然有通过投票活动把权力转化为影响力的机会。 但现在根据《微信公众平台运营规范》,关注才能投票属于诱导关注行为。 因此,可以通过此插件,利用公众号接收普通消息接口能力,提供向公众号发消息的投票渠道,用户可分别在网页应用和公众号投票。 此方式不需在规则中提关注,但不关注本身就发不了消息,可以绕开微信规则实现吸粉。 也便于在文件通知,例如转发描述中介绍助力方式:“向XXXX微信公众号发消息:为最美小学生20008号投票”。 可在uni-admin后台一键导入。 当前插件支持所有微信公众号,甚至未认证的个人公众号都可以使用,门槛极低,欢迎体验。
前端组件说明
此插件暂未包含前端投票组件,仅实现了后台活动管理和选手管理,以及公众号发消息投票,下一步将优化前端页面投票功能。
如果是新安装uni-admin
- 新建项目-选择uni-admin,创建云服务空间,关联;
- uniCloud-database,右键初始化数据库;
- 运行-运行到浏览器;
- 注册登录uni-admin:
uni-admin注册登录时,如果报错
Error: Cannot find module 'lodash.merge'
,请在uniCloud/cloudfunctions/uni-id-co
目录执行npm install
安装依赖。
如果已安装了uni-admin
- 插件市场导入bs-weChatVotes;
- 根目录pages.json-pages中添加:
{
"path": "uni_modules/bs-weChatVotes/pages/bs_votes_activities/add",
"style": {
"navigationBarTitleText": "新增投票"
}
}
,{
"path": "uni_modules/bs-weChatVotes/pages/bs_votes_activities/edit",
"style": {
"navigationBarTitleText": "编辑投票"
}
}
,{
"path": "uni_modules/bs-weChatVotes/pages/bs_votes_activities/list",
"style": {
"navigationBarTitleText": "投票列表"
}
}
,{
"path": "uni_modules/bs-weChatVotes/pages/bs_votes_selections/add",
"style": {
"navigationBarTitleText": "新增选手"
}
}
,{
"path": "uni_modules/bs-weChatVotes/pages/bs_votes_selections/edit",
"style": {
"navigationBarTitleText": "编辑选手"
}
}
,{
"path": "uni_modules/bs-weChatVotes/pages/bs_votes_selections/list",
"style": {
"navigationBarTitleText": "选手列表"
}
}
- 系统管理-菜单管理-待添加菜单-添加活动管理(bs-weChatVotes);
- 添加后,刷新页面,菜单列表可见
活动管理
入口,可以点击进入;
安装依赖
在uni_modules/bs-weChatVotes/uniCloud/cloudfunctions/bsVotesPlugin
目录右键
-使用命令行打开目录
,npm i
安装依赖。
上传云函数
cloudfunctions目录右键
-上传所有云函数、公共模块及Action
上传DBschema
database目录右键
-上传所有DB Schema
设置云函数域名绑定
uniCloud服务空间
- 云函数/云对象
- 函数/对象列表
- 域名绑定
:cname方式绑定域名(域名所在平台的管理配置中,域名解析到cname地址,可以不用绑定证书,http也能用)。
uniCloud服务空间
- 云函数/云对象
- 函数/对象列表
- bsVotesPlugin
- 详情
- 设置URL的PATH部分
:
path 应该以 '/' 开头,例如:/functionName
,使完整地址如:http://api.examples.com/api
微信公众号开发设置
微信公众号后台
-设置与开发
-服务器配置
-修改配置
:
URL中填写:http://api.examples.com/api/http/wexhat_notify
,/http/wexhat_notify
前的网址是上一步的配置。
设置cron定时执行
uniCloud服务空间
- 云函数/云对象
- 函数/对象列表
- 以下云函数的详情:
bsTimedtasksDaily
- 定时器触发:["0 0 0 * * *"]
,重置每天可投票
bsTimedtasksDailyPlus
- 定时器触发:["1 0 0 * * *"]
,每天检测,处理得票数等每月清零,每周清零
bsTimedtasksPerMinute
- 定时器触发:["0 * * * * *"]
,每分钟检测,如果活动不在时间内,自动关闭活动,不再统计,否则加入处理清单
活动管理
- 点击新增,添加活动名称、活动关键字、风格设置等,点击提交(发消息能够被匹配到取决于
活动关键字
,需要认真设置,活动关键字不可重复); - 新建活动后,在活动列表中,点击活动-
操作
中的新增选手
; - 点击
新增选手
,设置新选手名称
、联系电话
等,提交。 - 活动页面中可以进行页面配置,后续上线的用户端将采用此参数,目前用户投票和结果查看均通过公众号消息方式进行。
用户投票
用户向公众号发消息即可投票,投票。
例1,发消息:为测试活动5号投票。可能的回复如下:
活动已结束
活动未开始
活动未在投票中,请联系主办方
根据当前活动设置,您每天只能投N票
根据当前活动设置,您只能为此活动投1票
您今天已经为【测试活动】的5号【选手五】投过票了
投票成功,感谢您为【测试活动】的5号【选手五】投票,Ta的当前票数为12,当前排名为:3
例2,发消息:测试活动投票记录,回复:【测试活动】总票数:22,总选手数:5
注意事项
- 用户每次提交时,接收微信提供的xml格式数据。详见微信文档。
- 云函数依赖uni-cloud-router,已放在插件云函数目录下,若未来出现问题无法自动添加,请删除插件云函数common目录的uni-cloud-router,在插件市场中重新安装,并uniCloud-cloudfunctions-bsAIPManager管理公共模块中选择。