更新记录

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

  1. 新建项目-选择uni-admin,创建云服务空间,关联;
  2. uniCloud-database,右键初始化数据库;
  3. 运行-运行到浏览器;
  4. 注册登录uni-admin: uni-admin注册登录时,如果报错Error: Cannot find module 'lodash.merge',请在uniCloud/cloudfunctions/uni-id-co目录执行npm install安装依赖。

如果已安装了uni-admin

  1. 插件市场导入bs-weChatVotes;
  2. 根目录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": "选手列表"
    }
}
  1. 系统管理-菜单管理-待添加菜单-添加活动管理(bs-weChatVotes);
  2. 添加后,刷新页面,菜单列表可见活动管理入口,可以点击进入;

安装依赖

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. 点击新增,添加活动名称、活动关键字、风格设置等,点击提交(发消息能够被匹配到取决于活动关键字,需要认真设置,活动关键字不可重复);
  2. 新建活动后,在活动列表中,点击活动-操作中的新增选手;
  3. 点击新增选手,设置新选手名称联系电话等,提交。
  4. 活动页面中可以进行页面配置,后续上线的用户端将采用此参数,目前用户投票和结果查看均通过公众号消息方式进行。

用户投票

用户向公众号发消息即可投票,投票。

例1,发消息:为测试活动5号投票。可能的回复如下:
活动已结束
活动未开始
活动未在投票中,请联系主办方
根据当前活动设置,您每天只能投N票
根据当前活动设置,您只能为此活动投1票
您今天已经为【测试活动】的5号【选手五】投过票了
投票成功,感谢您为【测试活动】的5号【选手五】投票,Ta的当前票数为12,当前排名为:3
例2,发消息:测试活动投票记录,回复:【测试活动】总票数:22,总选手数:5

注意事项

  1. 用户每次提交时,接收微信提供的xml格式数据。详见微信文档。
  2. 云函数依赖uni-cloud-router,已放在插件云函数目录下,若未来出现问题无法自动添加,请删除插件云函数common目录的uni-cloud-router,在插件市场中重新安装,并uniCloud-cloudfunctions-bsAIPManager管理公共模块中选择。

隐私、权限声明

1. 本插件需要申请的系统权限列表:

相册

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问