包含红包json代码的词条

本文目录一览:

C语言红包代码

#includestdio.h

#includestdlib.h

#includetime.h

  main()

{

int i,n;

float a[100],all;

srand(time(NULL)); 

printf(“请输入红包金额:”);

scanf(“%f”,all);

printf(“请输入红包个数:”);

scanf(“%d”,n);

srand((unsigned)time(0));

for(i=1;in;i)

{

a[i]=(float)rand()/RAND_MAX*all;

if(a[i]0 )

{

all-=a[i];

printf(“%f\n”,a[i]);

i++;

}

}

printf(“%f\n”,all);

}

求 ecshop 一次使用多个红包的功能的代码!!!!

步骤

1) 添加一种新的红包类型4 ,

文件 admin/templates/bonus_type_info.htm

找到 input type=”radio” name=”send_type” value=”0″ {if $bonus_arr.send_type eq 0} checked=”true” {/if} onClick=”showunit(0)” /{$lang.send_by[0]}

input type=”radio” name=”send_type” value=”1″ {if $bonus_arr.send_type eq 1} checked=”true” {/if} onClick=”showunit(1)” /{$lang.send_by[1]}

input type=”radio” name=”send_type” value=”2″ {if $bonus_arr.send_type eq 2} checked=”true” {/if} onClick=”showunit(2)” /{$lang.send_by[2]}

input type=”radio” name=”send_type” value=”3″ {if $bonus_arr.send_type eq 3} checked=”true” {/if} onClick=”showunit(3)” /{$lang.send_by[3]}

再其后面添加

input type=”radio” name=”send_type” value=”4″ {if $bonus_arr.send_type eq 4} checked=”true” {/if} onClick=”showunit(4)” /通用红包 多次使用

2) 生成这类红包字符串

增加文件 admin/templates/bonus_by_print_phpsir.htm

修改文件 admin/bonus.php 找到

elseif ($_REQUEST[‘send_by’] == SEND_BY_PRINT)

{

$smarty-assign(‘type_list’, get_bonus_type());

$smarty-display(‘bonus_by_print.htm’);

}

再其后添加

elseif ($_REQUEST[‘send_by’] == 4)

{

$smarty-assign(‘type_list’, get_bonus_type_phpsir());

$smarty-display(‘bonus_by_print_phpsir.htm’);

}

3) 增加 get_bonus_type_phpsir 函数

文件 admin/includes/lib_main.php

function get_bonus_type_phpsir()

{

$bonus = array();

$sql = ‘SELECT type_id, type_name, type_money FROM ‘ . $GLOBALS[‘ecs’]-table(‘bonus_type’) .

‘ WHERE send_type = 4’;

$res = $GLOBALS[‘db’]-query($sql);

while ($row = $GLOBALS[‘db’]-fetchRow($res))

{

$bonus[$row[‘type_id’]] = $row[‘type_name’].’ [‘ .sprintf($GLOBALS[‘_CFG’][‘currency_format’], $row[‘type_money’]).’]’;

}

return $bonus;

}

4) 在 bonus.php 里面 找到

if ($_REQUEST[‘act’] == ‘send_by_print’)

{

………………………

}

再其后面添加,处理增加这类红包时候生成方法

if ($_REQUEST[‘act’] == ‘send_by_print_phpsir’)

{

@set_time_limit(0);

/* 红下红包的类型ID和生成的数量的处理 */

$bonus_typeid = !empty($_POST[‘bonus_type_id’]) ? $_POST[‘bonus_type_id’] : 0;

$bonus_sum = !empty($_POST[‘bonus_sum’]) ? $_POST[‘bonus_sum’] : 1;

/* 生成红包序列号 */

for ($i = 0, $j = 0; $i $bonus_sum; $i++)

{

$bonus_sn = $_POST[‘bonus_txt’];

$db-query(“INSERT INTO “.$ecs-table(‘user_bonus’).” (bonus_type_id, bonus_sn) VALUES(‘$bonus_typeid’, ‘$bonus_sn’)”);

$j++;

}

/* 记录管理员操作 */

admin_log($bonus_sn, ‘add’, ‘userbonus’);

/* 清除缓存 */

clear_cache_files();

/* 提示信息 */

$link[0][‘text’] = $_LANG[‘back_bonus_list’];

$link[0][‘href’] = ‘bonus.php?act=bonus_listbonus_type=’ . $bonus_typeid;

sys_msg($_LANG[‘creat_bonus’] . $j . $_LANG[‘creat_bonus_num’], 0, $link);

}

5) 修改 bonus.php 让后台显示红包内容

if ($_REQUEST[‘act’] == ‘bonus_list’)

{

………………………

}

if ($_REQUEST[‘act’] == ‘query_bonus’)

{

………………………

}

里面增加

if ($bonus_type[‘send_type’] == 4)

{

$smarty-assign(‘show_bonus_sn’, 1);

}

至此 后台部分完成

前台部分 修改

includes/lib_order.php

function bonus_info($bonus_id, $bonus_sn = ”)

{

$sql = “SELECT t.*, b.* ” .

“FROM ” . $GLOBALS[‘ecs’]-table(‘bonus_type’) . ” AS t,” .

$GLOBALS[‘ecs’]-table(‘user_bonus’) . ” AS b ” .

“WHERE t.type_id = b.bonus_type_id “;

if ($bonus_id 0)

{

$sql .= ” AND b.bonus_id = ‘$bonus_id'”;

$row = $GLOBALS[‘db’]-getRow($sql);

return $row;

}

else

{

$sql .= ” AND b.bonus_sn = ‘$bonus_sn'”;

$row = $GLOBALS[‘db’]-getRow($sql);

}

if($row[‘send_type’] == 4) // phpsir 如果是第4类型红包,那么就找一个未使用的红包,这种红包可被多次使用,不限制每人使用次数

{

$sess_userid = $_SESSION[“user_id”];

$sql = “SELECT t.*, b.* ” .

“FROM ” . $GLOBALS[‘ecs’]-table(‘bonus_type’) . ” AS t,” .

$GLOBALS[‘ecs’]-table(‘user_bonus’) . ” AS b ” .

“WHERE t.type_id = b.bonus_type_id and b.used_time = 0 “;

if ($bonus_id 0)

{

$sql .= “AND b.bonus_id = ‘$bonus_id'”;

}

else

{

$sql .= “AND b.bonus_sn = ‘$bonus_sn'”;

}

//print $sql;

$row = $GLOBALS[‘db’]-getRow($sql);

//var_dump($row);

return $row;

}

// 如果想每人只使用N次,请用下面的部分

/*

if($row[‘send_type’] == 4) // phpsir 如果是第4类型红包,那么就找一个未使用的红包,这种红包可被多次使用,不限制每人使用次数

{

$sess_userid = $_SESSION[“user_id”];

$sql = “SELECT t.*, b.* ” .

“FROM ” . $GLOBALS[‘ecs’]-table(‘bonus_type’) . ” AS t,” .

$GLOBALS[‘ecs’]-table(‘user_bonus’) . ” AS b ” .

“WHERE t.type_id = b.bonus_type_id and b.user_id = ‘$sess_userid’ and b.bonus_sn = ‘$bonus_sn’ “;

$rows = $GLOBALS[‘db’]-getAll($sql);

$allow_used_bonus_num = 2; // 最大允许使用次数

if(count($rows) = $allow_used_bonus_num )

{

return false;

}else{

$sql = “SELECT t.*, b.* ” .

“FROM ” . $GLOBALS[‘ecs’]-table(‘bonus_type’) . ” AS t,” .

$GLOBALS[‘ecs’]-table(‘user_bonus’) . ” AS b ” .

“WHERE t.type_id = b.bonus_type_id and b.used_time = 0 and b.bonus_sn = ‘$bonus_sn’ “;

$row = $GLOBALS[‘db’]-getRow($sql);

return $row;

}

}

*/

return $row;

}

注意不要用记事本修改php文件,建议下载dreamweaver

C语言编程:求一段发红包的代码。(随机数,能规定红包总钱数总人数,每个人拿到的钱不为0)

#includestdio.h

#includetime.h

#includestdlib.h

int main(void)

{

float total;

printf(“输入总钱数:\n”);

scanf(“%f”,total);

int num;

printf(“输入红包数量:\n”);

scanf(“%d”,num);

float min=0.01;

float safe_total;

float money;

int i;

srand((unsigned)time(NULL));

for(i=1;inum;i++){

safe_total=(total-(num-i)*min)/(num-1);

money=(float)(rand()%((int)(safe_total*100)))/100+min;

total=total-money;

printf(“红包%2d: %.2f元,余额:%.2f元\n”,i,money,total);

}

printf(“红包%2d: %.2f元,余额:0.00元\n”,num,total);

return 0;

}

C语言 微信红包

#include stdio.h

#include string.h

#include time.h

#define MAX_TOTAL_MONEY 200 //红包的最大金额

#define MIN_PER_PLAYER  1   //一个人抢到的的最小面额1元

#define MAX_PLAYER_CNT (MAX_TOTAL_MONEY/MIN_PER_PLAYER) //最大抢红包的游戏人数

typedef struct player

{

    char *name;//标记玩家 可以不填

    unsigned int money_get;//抢到的红包

}PLAYER_T;

//每个人领取到的红包金额不等 这个要求比较难搞 暂时不考虑

int main(int argc, char *argv[])

{

    unsigned int total_money = 0;    //不考虑角和分 浮点运算比较复杂

    unsigned int player_cnt = 0;

    int on_off = 0;

    int i = 0;

    int j = 0;

    PLAYER_T player[MAX_PLAYER_CNT] = {0};

    PLAYER_T tmp = {0};

    

    printf(“输入红包金额:\n”);

    scanf(“%u”, total_money);

    printf(“输入游戏人数:\n”);

    scanf(“%u”, player_cnt);

    printf(“是否需要减小贫富差距(0为关闭其余为开启):\n”);

    scanf(“%u”, on_off);

    

    //不符合规则的输入判断

    if (total_money  MAX_TOTAL_MONEY || 0 == total_money || 0 == player_cnt || player_cnt*MIN_PER_PLAYER  total_money)

    {

        printf(“红包金额最小%u元 最大%u元 游戏人数最小1人 最大%u人\n”, MIN_PER_PLAYER, MAX_TOTAL_MONEY, MAX_PLAYER_CNT);

        return 0;

    }

    

    for (i = 0; i  player_cnt; i++)

    {

        //设置随机种子

        srand(time(NULL)+i);

        //根据随机种子获取一个伪随机数作为抢到的红包 并通过余运算使其始终小于total_money

        player[i].money_get = rand()%total_money;

        

        //限制所有人所能抢到的最大红包为当前金额池的1/5而不是全部

        if (0 != on_off)

        {

            if (total_money  5)//5块钱以上再限制

            {

                player[i].money_get = rand()%(total_money/5);

            }

        }

        

        //最后一个人拿所有剩下的红包

        if (player_cnt – 1 == i)

        {

            player[i].money_get = total_money;

        }

        //运气差随机到0元 给你最小面额

        else if (0 == player[i].money_get)

        {

            player[i].money_get = MIN_PER_PLAYER;

        }

        //剩下的要保证每个人能抢到最小面额

        else if (total_money – player[i].money_get  (player_cnt-i-1)*MIN_PER_PLAYER)

        {

            player[i].money_get = total_money – (player_cnt-i-1)*MIN_PER_PLAYER;

        }

        

        //把抢到的金额从红包池中减掉

        total_money -= player[i].money_get;

        //如果填了name 可以把名字打印出来

        printf(“第%d个玩家抢到红包:%u元\n”, i+1, player[i].money_get);

    }

    

    //冒泡排序 找出手气最佳者

    for (i = 0; i  player_cnt; i++)

    {

        for (j = i+1; j  player_cnt; j++)

        {

            if (player[i].money_get  player[j].money_get)

            {

                memcpy(tmp, player[j], sizeof(PLAYER_T));

                memcpy(player[j], player[i], sizeof(PLAYER_T));

                memcpy(player[i], tmp, sizeof(PLAYER_T));

            }

        }

    }

    printf(“手气最佳者抢到红包:%u元\n”, player[0].money_get);//如果填了name 可以把名字打印出来

    return 0;

}

JSON解析。

import net.sf.json.JSONArray;

import net.sf.json.JSONObject;

public class BMI

{

public static void main(String[] args)

{

String res =

        “{\”showapi_res_code\”:0,\”showapi_res_error\”:\”\”,\”showapi_res_body\”:{\”ret_code\”:0,\”basic\”:{\”explains\”:[\”n. 代码,密码;编码;法典\”,\”vt. 编码;制成法典\”,\”vi. 指定遗传密码\”]}}}”;

JSONObject obj = JSONObject.fromString(res);

JSONObject body = obj.getJSONObject(“showapi_res_body”);

JSONObject basic = body.getJSONObject(“basic”);

JSONArray explains = basic.getJSONArray(“explains”);

for(int i = 0; i  explains.length(); i++)

{

System.out.println(explains.get(i));

}

}

}

微信红包PHP怎么开发

代码有两个php文件

1.oauth2.php

?php

$code=$_GET[‘code’];

$state=$_GET[‘state’];

$appid=’XXXX’;

$appsecret=’XXXXXXXX’;//

if (empty($code)) $this-error(‘授权失败’);

$token_url=”.$appid’secret=’.$appsecret.’code=’.$code.’grant_type=authorization_code’;

$token=json_decode(file_get_contents($token_url));

if (isset($token-errcode)) {

echo ‘h1错误1/h1’.$token-errcode;

echo ‘br/h2错误信息1:/h2’.$token-errmsg;

exit;

}

session_start();

$_SESSION[‘openid’]= $token-openid;

header(‘location:url/redpack.php’);//要跳转的文件路径

?

2.redpack.php

?php

//XXXXX。。是需要开发者自己填写的内容,注意不要泄密

 // 从session中获取到openid;

$openid=$_SESSION[“openid”];

    if(empty($openid))

    {

header(‘location:;redirect_uri=;respose_type=codescope=snsapi_basestate=XXXXconnect_redirect=1#wechat_redirect’);

    }

}

// 关键的函数

public function weixin_red_packet(){

  // 请求参数

  // 随机字符串

  $data[‘nonce_str’]=$this-get_unique_value();

  //商户号,输入你的商户号

  $data[‘mch_id’]=”XXXXXXX”;

  //商户订单号,可以按要求自己组合28位的商户订单号

  $data[‘mch_billno’]=$data[‘mch_id’].date(“ymd”).”XXXXXX”.rand(1000,9999);

  //公众帐号appid,输入自己的公众号appid

  $data[‘wxappid’]=”XXXXXXX”;

  //商户名称

  $data[‘send_name’]=”XXXXX”;

  //用户openid,输入待发红包的用户openid

  session_start();

  $data[‘re_openid’]=$_SESSION[“openid”];

  //付款金额

  $data[‘total_amount’]=”XXXX”;

  //红包发放总人数

  $data[‘total_num’]=”XXXX”;

  //红包祝福语

  $data[‘wishing’]=”XXXX”;

  //IP地址

  $data[‘client_ip’]=$_SERVER[‘LOCAL_ADDR’];

  //活动名称

  $data[‘act_name’]=”XXXXX”;

  //备注

  $data[‘remark’]=”XXXXX”;

  // 生成签名

  //对数据数组进行处理

  //API密钥,输入自己的K 微信商户号里面的K

  $appsecret=”XXXXXXXXXXXXXX”; //

  $data=array_filter($data);

  ksort($data);

  $str=””;

  foreach($data as $k=$v){

    $str.=$k.”=”.$v.””;

  }

  $str.=”key=”.$appsecret;

  $data[‘sign’]=strtoupper(MD5($str));

  /*

    发红包操作过程:

      1.将请求数据转换成xml

      2.发送请求

      3.将请求结果转换为数组

      4.将请求信息和请求结果录入到数据库中

      4.判断是否通信成功

      5.判断是否转账成功

   */

  //发红包接口地址

  $url=””;

  //将请求数据由数组转换成xml

  $xml=$this-arraytoxml($data);

  //进行请求操作

  $res=$this-curl($xml,$url);

  //将请求结果由xml转换成数组

  $arr=$this-xmltoarray($res);

}

// 生成32位唯一随机字符串

private function get_unique_value(){

  $str=uniqid(mt_rand(),1);

  $str=sha1($str);

  return md5($str);

}

// 将数组转换成xml

private function arraytoxml($arr){

  $xml=”xml”;

  foreach($arr as $k=$v){

    $xml.=””.$k.””.$v.”/”.$k.””;

  }

  $xml.=”/xml”;

  return $xml;

}

// 将xml转换成数组

private function xmltoarray($xml){

  //禁止引用外部xml实体

  libxml_disable_entity_loader(true);

  $xmlstring=simplexml_load_string($xml,”SimpleXMLElement”,LIBXML_NOCDATA);

  $arr=json_decode(json_encode($xmlstring),true);

  return $arr;

}

//进行curl操作

private function curl($param=””,$url) {

  $postUrl = $url;

  $curlPost = $param;

  //初始化curl

  $ch = curl_init();

  //抓取指定网页

  curl_setopt($ch, CURLOPT_URL,$postUrl);

  //设置header

  curl_setopt($ch, CURLOPT_HEADER, 0);

  //要求结果为字符串且输出到屏幕上

  curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

  //post提交方式

  curl_setopt($ch, CURLOPT_POST, 1);

  // 增加 HTTP Header(头)里的字段

  curl_setopt($ch, CURLOPT_POSTFIELDS, $curlPost);

  // 终止从服务端进行验证

  curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);

  curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);

  //证书放到网站根目录的cert文件夹底下

  curl_setopt($ch,CURLOPT_SSLCERT,dirname(__FILE__).DIRECTORY_SEPARATOR.

        ‘cert’.DIRECTORY_SEPARATOR.’apiclient_cert.pem’);

    curl_setopt($ch,CURLOPT_SSLKEY,dirname(__FILE__).DIRECTORY_SEPARATOR.

        ‘cert’.DIRECTORY_SEPARATOR.’apiient_key.pem’);

    curl_setopt($ch,CURLOPT_CAINFO,dirname(__FILE__).DIRECTORY_SEPARATOR.

        ‘cert’.DIRECTORY_SEPARATOR.’rootca.pem’);

  //运行curl

  $data = curl_exec($ch);

  //关闭curl

  curl_close($ch);

  return $data;

}

?

可参考官方文档进行调整开发,希望能有帮助,望采纳

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/236229.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2024-12-12 11:59
下一篇 2024-12-12 11:59

相关推荐

  • Python周杰伦代码用法介绍

    本文将从多个方面对Python周杰伦代码进行详细的阐述。 一、代码介绍 from urllib.request import urlopen from bs4 import Bea…

    编程 2025-04-29
  • Python字符串宽度不限制怎么打代码

    本文将为大家详细介绍Python字符串宽度不限制时如何打代码的几个方面。 一、保持代码风格的统一 在Python字符串宽度不限制的情况下,我们可以写出很长很长的一行代码。但是,为了…

    编程 2025-04-29
  • Python基础代码用法介绍

    本文将从多个方面对Python基础代码进行解析和详细阐述,力求让读者深刻理解Python基础代码。通过本文的学习,相信大家对Python的学习和应用会更加轻松和高效。 一、变量和数…

    编程 2025-04-29
  • 仓库管理系统代码设计Python

    这篇文章将详细探讨如何设计一个基于Python的仓库管理系统。 一、基本需求 在着手设计之前,我们首先需要确定仓库管理系统的基本需求。 我们可以将需求分为以下几个方面: 1、库存管…

    编程 2025-04-29
  • Python满天星代码:让编程变得更加简单

    本文将从多个方面详细阐述Python满天星代码,为大家介绍它的优点以及如何在编程中使用。无论是刚刚接触编程还是资深程序员,都能从中获得一定的收获。 一、简介 Python满天星代码…

    编程 2025-04-29
  • 写代码新手教程

    本文将从语言选择、学习方法、编码规范以及常见问题解答等多个方面,为编程新手提供实用、简明的教程。 一、语言选择 作为编程新手,选择一门编程语言是很关键的一步。以下是几个有代表性的编…

    编程 2025-04-29
  • Python实现简易心形代码

    在这个文章中,我们将会介绍如何用Python语言编写一个非常简单的代码来生成一个心形图案。我们将会从安装Python开始介绍,逐步深入了解如何实现这一任务。 一、安装Python …

    编程 2025-04-29
  • 怎么写不影响Python运行的长段代码

    在Python编程的过程中,我们不可避免地需要编写一些长段代码,包括函数、类、复杂的控制语句等等。在编写这些代码时,我们需要考虑代码可读性、易用性以及对Python运行性能的影响。…

    编程 2025-04-29
  • 北化教务管理系统介绍及开发代码示例

    本文将从多个方面对北化教务管理系统进行介绍及开发代码示例,帮助开发者更好地理解和应用该系统。 一、项目介绍 北化教务管理系统是一款针对高校学生和教职工的综合信息管理系统。系统实现的…

    编程 2025-04-29
  • Python海龟代码简单画图

    本文将介绍如何使用Python的海龟库进行简单画图,并提供相关示例代码。 一、基础用法 使用Python的海龟库,我们可以控制一个小海龟在窗口中移动,并利用它的“画笔”在窗口中绘制…

    编程 2025-04-29

发表回复

登录后才能评论