【微信支付】分享一个失败的项目

2023-11-19

这个项目是去年做的,开始客户还在推广,几个月后发现服务器已经关掉了。这是一个发图片猜谜语的应用,用户猜对了分红包,所得奖金可以提现。开发的时候对需求都不太看好,觉得用户粘性太低了。今天就把所有的程序拿了出来。供有兴趣的伙伴玩耍。

用户从公众号直接进来,可以做两件事,一个是发布悬赏谜题,一个是去答题。答题获得赏金可以提现。之前还有聊天和好友功能,觉得太冗余,又拿掉了。用户的悬赏金额来自微信支付或者钱包的余额。客户怎么赚钱呢,有几个点,第一个点是专门去找企业用户,谜题就是广告,答案就是让商品的名字,用户输入一遍答案得到赏金以达到做广告和获得用户的效果,二个是提现有手续费,三个是提现有一定的门槛,比如满了十元才可以提现。四个就是在答对题的页面插广告。谜题是倒计时的,倒时之后剩余赏金会退回到用户的钱包,用户还可以选择重发别人的谜题或者已经过期的谜题。大致就是这样的一个形态。

网站基于Asp.net MVC4,相当于是我之前Portal.MVC的一个手机版,不同的是集成了微信支付、微信登录、微信分享和微信的体现与转账。前端用的是zepto+SUI。微信这方面我之前的有介绍过,这次刚好放在一起。界面你们可能不喜欢,这个就另当别论了,我只负责所有代码的实现~ ,下面看下界面吧。

 发布的时候确实没有注册和登录两个按键的,为了方便大家在电脑上玩我就放了出来。在公众号里面点击那个微信图标就能登录。客户让我记住状态,免得每次都要登录。我就将用户的openid放到了localstorage里面。然后注册这里用到了阿里大鱼的短信服务,现在应该还有条数,有兴趣的可以玩玩。

 原本用的自己的h5插件上传的,但还是有的安卓不支持,最后用了微信提供的上传图片的方法。微信的上传还是太麻烦,涉及到上传到微信服务器还要再下载下来,应该用plupload类似的插件去做这样的事情。

 图片上传后会保存原图和缩略图,然后会让用户确认支付,支付的时候回判断用户钱包的钱是否足够支付这次的悬赏,零钱足够就用零钱,不够就会弹出微信支付。微信支付的js全部在client.js里面。出题完成之后,当别的用户进入谜题就能看到下面的页面。当然在网页端时候这个地方微信支付是不可能成功,需要要在微信环境里面测试。详情可以参考:公众号支付。如果你想在电脑上玩这个,怎么充值呢,答案很简单,那就是去改数据库~~。 数据库中有一个wallets的表.

 所以自动动手,丰衣足食。这里的lockMoney就是出题被锁定的金额,当谜题到期了悬赏没有被领取完就会退会到用户的账号。这里是由后台的一个定时服务执行的。具体可以参考下Portal.MVC.Models.Job下的JobCheckQuestionTimeJob这个对象

 提示当前的悬赏,以鼓励用户去答题。谜题有三种模式,平均赏金,递减和一人获奖

 用户如果答对了,就会获得赏金。这个页面下面就是加入了个广告。同样也鼓励用户再去出题。

 

 用户答对之后就可以获得赏金,这个页面的功能都在UserCenter这个Controller中。设计到支付和提现的都在PaymentController中,提现的顺序是先检查用户提现的金额是否对。现有金额>=提现金额+手续费。然后创建订单,再从数据库划走金额,最后/Checkout/CashTransfers 才是将企业账户的钱转到用户的微信零钱中。

 

 

后端的模块有好几个,做了一些统计,模板还是用的Matrix Admin。

数据库的表如下,MenuStatistics是用来统计访问的页面的。其实也没啥用。其他的是评论,分享,答案,谜题,权限,用户这些表一看也就明白,无需赘述了。

 由于是codefirst模式,在webconfig中配置好mssql的数据库地址后,可以直接运行。网站起来后,先运行/Install

 

这个方法会初始化一些数据。包括策略,系统钱包,权限和管理员。后端管理员Admin,密码admin。你也可以改成你自己喜欢的。如果想要更多测试账号。可以调用InsertTestUsers方法,会创建五个测试用户。如果想要部署到你自己的公众号,除了注册公众号、商户、设置支付地址外,然后就是修改WxPayApi/lib下的Config中的参数了

小结:虽然是个失败的项目,整理出来供大家玩耍,有问题有想法可以留言。老铁喜欢就扶我一把。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【微信支付】分享一个失败的项目 的相关文章

  • workbench连接mysql出现not connected

    用workbench管理工具连接mysql SCHEMAS下显示not connected Information中的Connection下显示NO CONNECTION 如下图 原因是Mysql服务没启动 解决方法 鼠标右键点击 计算机
  • 【python基础知识】13.类与对象(四)

    类与对象 四 前情回顾 类的继承 类的定制 类的继承 要怎么写 类的继承之多层继承 类的继承之多重继承 多层继承VS多重继承 练习题 类的定制 要怎么写 定制 可以新增代码 定制 也可重写代码 结语 前情回顾 之前 我们知道了面向对象编程的

随机推荐

  • 求一个数的所有的质因子。

    一个数的因子 一定有质因子组成 所有的质因子就可以代表这些因子 cin gt gt x vector
  • PM> Install-Package

    PM gt Install Package jQuery Version 1 10 2 To install jQuery run the following command in the Package Manager Console P
  • react hook(基础详解)

    首先我们知道Hook是可以100 向下兼容的 就是说即便在你以前的代码中加入hook写法也没有问题 同时提供了一个更直接的API包括props state context refs以及生命周期 hook编写时使用的代码量也会更少 但这也是一
  • R语言基础备忘-plot()详解

    plot是R中的基本画图工具 直接plot x x为一个数据集 就能画出图 soeasy 但是细节往往制胜的关键 所以就详细来看下plot的所有可设置参数及参数设置方法 下面讲到的图形参数 是graphic包中的常见参数 graphic不同
  • 统计建模与r软件课后习题五 5.1~5.11题

    第五章 假设检验 问题导向 由正常男子血小板计数均值这句话 容易判断属于对均值进行检验的问题 H0 与正常男子无差异等于225 H1 与正常男子有差异 不等于225 x c 220 188 162 230 145 160 238 188 2
  • QT多线程同步之QWaitcondition

    使用到多线程 无可避免的会遇到同步问题 qt提供几种同步线程的方法 在这里讲一下QWaitcondition的简单使用 一 QWaitcondition 是通过一个线程达到某种条件来唤起另一个线程来实现同步的 mutex lock wait
  • 基于Python的房地产分析平台的设计与实现-爬虫-可视化大屏安装数据分析与可视化计算机毕业设计

    更多项目资源 最下方联系我们 目录 一 项目技术介绍 二 项目配套文档 部分内容 资料获取 一 项目技术介绍 该项目含有源码 文档 PPT 配套开发软件 软件安装教程 项目发布教程 包运行成功以及课程答疑与微信售后交流群 送查重系统不限次数
  • 关于统计变换(CT/MCT/RMCT)算法的学习和实现,也称为局部二进制模式(LBP)

    原文地址 http blog sina com cn s blog 684c8d630100turx html
  • 零基础入门 HTML 的 8 分钟极简教程

    在今天 前端工程师已经成为研发体系中的重要岗位之一 可是与此相对的是 极少大学的计算机专业愿意开设前端课 大部分前端工程师的知识 也都是在实践和工作中不断学习的 最近收到很多同学的后台留言 说希望多推出一些前端方向的教程 今天我们就带来一个
  • Raspberry Pi 3安装配置Raspbian过程

    1 前期准备 硬件 Raspberry Pi 3主板 5V 1A安卓充电器及数据线 Samsung 64GB UHS 1 Class10 TF存储卡 TF卡读卡器 网线 HDMI高清线 可无 支持HDMI输入的显示器 可无 软件 Win32
  • jar包与war包部署的区别及jar包部署的一个路径访问问题

    1 jar包与war包部署的区别 什么是jar包 jar包是类的归档文件 jar文件格式以流行的ZIP文件格式作为基础 和ZIP文件不一样的是 JAR文件不仅仅用来进行压缩和发布 还用来部署和封装库 组件以及插件程序 并且 还能够被像编译器
  • 《Centos7——logstash启动报错》

    logstash启动报错 root localhost systemctl start logstash Failed to start logstash service Unit not found 解决方法 root localhost
  • python入门指南

    python入门指南 python是一门简单易学且功能强大的编程语言 它拥有高效的高级数据结构 并且能够简单而又高效的方式进行面向对象编程 python是一门解释性语言 因为无需编译和链接 在开发中节省时间 使用python解释器 调用py
  • docker容器无法启动, no space left on device

    背景 通过jekens 部署服务 发现部署失败 后通过手动拉取镜像发现直接报错 报错大致意思就是没有剩余可用空间 复现路径 如下操作 启动容器docker start 3ad663158cf6 报错 Error response from
  • Free C, C++ Compilers(免费的C/C++编译器)

    以下内容来源于 http www programmerworld net resources c compiler htm 1 Free Microsoft eMbedded Visual C Microsoft eMbedded Visu
  • 一分钟搞定微信小程序定位(wx.getLocation)功能

    欢迎大家来到我的一分钟系列 跟大家安利一分钟系列主要让大家快速完成一个功能少踩不必要的坑 先完成功能再悟其中的原理 这期主要为大家提供微信小程序的定位功能 换不多说 直接上干货 首先微信官方提供的wx getLocation 应用之后发现这
  • python采集keep运动数据

    我国2009年确立 全民健身日 2012年 广泛开展全民健身运动 写入十八大报告 到2014年上升为国家战略 全民健身的分量越来越重 推动全民健身和全民健康深度融合 通过全民健身实现全民健康 全民健身运动在我国越来越普及 每天清晨和傍晚时分
  • Umi+Dva初印象<基础应用,结构,流转逻辑>

    目录 前言 知识储备 generator函数 Dva初识 实际交互 函数式组件 class组件 前言 项目初始为umi脚手架进行初始化 lt 初始化过程 http t csdn cn cuTaY gt 工程中加载了umi自带的antd ui
  • 记一次开源PR

    提示 不要懒得看英文文档 要认真看别人的贡献文档 否则会浪费更多的时间 开源PR一般流程 1 远程仓库fork 2 你得发现bug或有优化修改 提交到fork的仓库 3 提issue 沟通 4 提PR 5 机器审核 修改问题 6 等待人工审
  • 【微信支付】分享一个失败的项目

    这个项目是去年做的 开始客户还在推广 几个月后发现服务器已经关掉了 这是一个发图片猜谜语的应用 用户猜对了分红包 所得奖金可以提现 开发的时候对需求都不太看好 觉得用户粘性太低了 今天就把所有的程序拿了出来 供有兴趣的伙伴玩耍 用户从公众号