这边急需用钱小额贷款,芜湖万能的百度,有谁知道银行的小额贷款怎么办理的?请专家解答帮忙,不靠谱的请不要打扰

本帖最后由 笨蛋 于
12:32 编辑
程序使用的是apicloud提供的数据库
1、qq登陆成功后,取得openid和token。根据openid在数据库中查找对应的用户,有则获取用户id,没有则注册。请问使用qq登陆的时候获取的token是做什么用途的?
2、qq登陆后,如果已经绑定了相关的用户,因为user表的信息必须在登陆之后才能获取,如何获取这次登陆的accesstoken,并把该用户的登陆状态设置为已经登陆?
3、qq登陆等类似的第三方登录后,在首次登陆的时候需要创建账户,如何设置账户密码?
token就是accesstoken,其实这个参数,暂时并没有什么用,可以暂时忽略
qq登录后,会返回openId,这个参数不是在数据库里有这个字段吗? 有那就把该用户的登陆状态设置为已经登陆
首次创建,就把openId当做账号呗,密码可以不要啊
token就是accesstoken,其实这个参数,暂时并没有什么用,可以暂时忽略
qq登录后,会返回openId,这个参数 ...
我查了文档,在注册的时候密码是必须的。再有如何设置用户状态为已经登陆,是设置表的某个字段?因为如果不设置的话,user必须把权限设置为public才可以。否则没法访问user表的信息。
密码怎么设置,你随意了,你设置固定的也可以,用QQ返回的token做密码也可以
注册的时候会判断username是否是唯一,不是则返回错误,这个应该就可以满足你的需求了
30分钟内迅速响应,一对一技术支持,每个问题均能获得专业解答----
密码怎么设置,你随意了,你设置固定的也可以,用QQ返回的token做密码也可以
注册的时候会判断username是 ...
那qq登陆的时候如何获取accesstoken
那qq登陆的时候如何获取accesstoken
,请看文档,login接口,
类型:JSON对象
内部字段:
& & status: true& && && && &//布尔类型;操作成功状态值
&&&&accessToken:''& && &//字符串类型;返回token
& & openId:''& && && && & //字符串类型;返回openID
返回值已经有了
30分钟内迅速响应,一对一技术支持,每个问题均能获得专业解答----
/%E7%AB%AFAPI/%E5%BC%80%E6%94%BESDK/qq#1,请看文档,login接口,
刚刚想岔了,明白了谢谢
UID:325396
刚刚想岔了,明白了谢谢
你好,请问你是在做app的第三方登录吗?做这个的话,如果是qq的话,是参考APICloud文档里的qq吗?
(C) 2014 APICloud新民网移动客户端
您现在的位置: >
APICloud揭秘:微信Web-App几分钟变身“原生App”?
  1月10日,微信公众平台面向开放了微信内网页开发工具包(微信JS-SDK)。对广大和微信营销来说,都是一个劲爆消息。以后用户在微信中看到的不局限于简单的页面展示,可以开发出一个功能较全面的App,包含更多的互动功能。
  微信JS-SDK包提供的11类接口集,不仅能够在网页上使用微信本身的拍照、选图、语音、位置等基本能力,还可以直接使用微信分享、扫一扫、卡券、支付等微信特有的能力,这也意味着微信公众平台将更加开放,微信公众号的可定制性更加灵活,也为微信营销提供了更多可能性。
  微信营销已逐步成为公司必备的推广渠道,各个公司都通过微信营销来获取更多的用户,相信“微信JS-SDK的11类接口集”的发布,给各个公司又创造了施展才华的舞台,比拼谁家的创意更胜一筹?
  微信的功能越强大,给用户的体验越好,企业需要为其付出的成本和时间就越高。微信此次发布看似增加了新功能,但是也进一步加强了对的管控和锁定,基于其开发的只能在微信体系内发行,更重要的是用户桌面Native App如何解决?
微信的,通过平台输出Native App
  企业和为微信定制的,如果可以同时输出iOS和Android两个平台的Native App,这样就不需要单独开发,充分利用已有资源、节省企业成本,同时也达到了占据了用户桌面,一举两得,有没有很任性?!
  现在互联网公司拼的就是速度、效率、对事件的响应态度,中国首家中国首个“云端一体”的移动应用云服务提供商,宣布对微信的的11类接口全面支持,把“微信的”通过“云编译”功能便可直接输出iOS和Android两个平台的原生App,无需额外编码,“快就任性、免费更任性”!
  微信的通过打包,兼容现有功能成为Native App可以在桌面渠道发行,但是这种加壳的方式,无论是功能还是体验都还是比较弱的,属于轻应用。 除此以外,还提供了更丰富的JS API,如获取设备号、查找通讯录、地图导航、二维码扫描、窗口交互动画等等。可以在微信JS-SDK基础上进一步加强App的体验,成为真正意义上功能强大的Native App。
  表示:“秉承快速、高效的理念,将第一时间把App开发的重要革新、最新的设备特性和系统特性等通过平台实现,提供给使用,使永远快人一步将,将领先进行到底”。此前iOS8 发布时,在第一时间宣布“全球首家完美适配iOS8”!
  重新定义移动应用开发,一种理想,就是一种力量。
新民晚报官方微信微信号:xmwb1929有用、有益、有趣
侬好上海由新民网出品微信号:helloshanghai2013吃喝玩乐、上海故事、同城活动每天热爱上海多一点加入小侬家族就对啦!
街谈巷议微信微信号:xinminwangshi街头访谈,麻辣点评
更多关于的新闻
数据加载中……
上海金属玩具博物馆最近在凉城路上正...
拜仁巨星与青少年足球对话的活动,昨...
7月18日,第十六届中国云南普者黑...
7月14日晚,在南京紫金山一处树林...
7月17日上午,一场模拟客运大巴事...
今日(17日)9时许,在吴淞码头附...
7月15日,炎炎夏日中,中外26支...
青浦水上中心,暑热炎炎。牛津、剑桥...
【看4D大片,玩科技馆!】 最近,小侬给小朋友们的福利一波接一波。报名时间:5月23日—5月27日
上海市新闻道德委员会社会监督投诉电话、来信来访地址及电子信箱:
1. 投诉专线电话:021-
2. 社会监督来信地址:上海市闵行区都市路4855号2号楼 邮编:201199
3. 来访接待:
上海市闵行区都市路4855号2号楼
上海市新闻道德委员会举报中心
4. 投诉电子信箱:
上海市新闻道德委员会通过社会监督电话、来信来访接待、电子邮件等多种方式,受理社会各界对新闻机构及新闻从业人员新闻职业道德失范行为的举报和投诉,对违反职业道德的行为进行监督。
受理时间接待时间为:
工作日上午9:30--11:00;下午1:30--4:00本帖最后由 孔方网络 于
13:32 编辑
经过了几天的痛苦煎熬,终于把微信支付调通,整个调试过程很痛苦,痛苦的主要来源是微信支付的调试真的是,以前调试公众号支付也是一波三折啊。好吧,开始!首先说明,我这里主要没有使用getToken,getOrder方法,我的所有参数全部是在后端生成传递给前端的,看了一下前面朋友分享的源代码,还用到了jquery,md5,sha对于新手来说简直是天文啊,而且jquery在apicloud中效率不好,所以放弃了研究那个代码,另外官方也说了,最好签名等参数全部服务器端生成,微信也是这么说的。
注意:微信本身在apicloud中config.xml文件你要先弄好
先看一下APP端的代码
function wx_pay()
{
& && &&&api.ajax(
& && &&&{
& && && && && & url : serverURL+&weixin/example/app.php&,
& && && && && & method : 'POST',
& && && && && & timeout : '30',
& && && && && & dataType : 'json',
& && && && && & returnAll : false,
& && && && && & cache :true,
& && && && && & data:
& && && && && & {
& && && && && && && && &values:{type:&login&}
& && && && && & }
& && &&&},
& && &&&function(ret, err)
& && &&&{
& && && && && & if (ret)
& && && && && & {
& && && && && && && && &var back_info=
& && && && && && && && &var weiXin = api.require('weiXin');
& && && && && && && && &weiXin.registerApp
& && && && && && && && &(
& && && && && && && && && & function(ret,err)
& && && && && && && && && & {
& && && && && && && && && && &&&if (ret.status)
& && && && && && && && && && &&&{
& && && && && && && && && && && && && & weiXin.payOrder(
& && && && && && && && && && && && && & {
& && && && && && && && && && &&&orderId:back_info.prepayid,
& && && && && && && && && && &&&partnerId:back_info.partnerid,
& && && && && && && && && && &&&nonceStr:back_info.noncestr,
& && && && && && && && && && &&&timeStamp:back_info.timestamp,
& && && && && && && && && && &&&package:back_info.package,& && &&&
& && && && && && && && && && &&&sign:back_info.sign
& && && && && && && && && && &&&},function(ret,err)
& && && && && && && && && && &&&{
& && && && && && && && && && && && & if (ret.status)
& && && && && && && && && && && && & {
& && && && && && && && && && && && && && && &$alert('支付成功');
& && && && && && && && && && && && & }
& && && && && && && && && && && && & else
& && && && && && && && && && && && & {
& && && && && && && && && && && && && && && &$alert(err.msg);
& && && && && && && && && && && && & }
& && && && && && && && && && &&&});
& && && && && && && && && && &&&}
& && && && && && && && && && &&&else
& && && && && && && && && && &&&{
& && && && && && && && && && && && && & $alert(err.msg);
& && && && && && && && && && &&&}
& && && && && && && && && & }
& && && && && && && && &);
& && && && && & }
& && && && && & else
& && && && && & {
& && && && && && && && &$alert(json2str(err));
& && && && && & }
& && &&&});
}复制代码完全按照apicloud写的,没有任何问题,大家可以直接复制过去用,其中的$alert是我自己封装的方法,就是弹出信息而已
下面主要是服务端,见附件
这个是从微信官方下载下来的,坑爹的微信给的事例太垃圾了,说明也不细致,统一下单的接口生成有了,但是app数据的生成没有,只有js的生成,只能自己写了,其中的签名,随机字符串,还有时间戳等等,每次请求,生产都要重新来一遍,更加可恶的一件事情是,竟然大小写不一致,我本以为直接将js的稍微修改修改就好了,结果不行,死活找不到原因,后来仔细对照文档看了一下,js调起支付的很多参数是有大小写的,但是app调起是全部小写的,具体文档见下方:
你们也可以仔细对比,太坑爹了。
好了,不埋怨了,看代码吧。
首先打开example/app.php,这个是我写的接口文件
&?php
ini_set('date.timezone','Asia/Shanghai');
//error_reporting(E_ERROR);
require_once &../lib/WxPay.Api.php&;
require_once &WxPay.AppPay.php&;
$notify = new AppPay();
/*首先生成prepayid*/
$input = new WxPayUnifiedOrder();
$input-&SetBody(&test1&);//商品或支付单简要描述(必须填写)
//$input-&SetAttach(&test2&);//附加数据,在查询API和支付通知中原样返回,该字段主要用于商户携带订单的自定义数据(不必填)
//$input-&SetDetail(&Ipad mini&&16G&&白色,黑色&);//商品名称明细列表(不必填)
$input-&SetOut_trade_no(WxPayConfig::MCHID.date(&YmdHis&));//订单号(必须填写)
$input-&SetTotal_fee(&1&);//订单金额(必须填写)
//$input-&SetTime_start(date(&YmdHis&));//交易起始时间(不必填)
//$input-&SetTime_expire(date(&YmdHis&,time()+600));//交易结束时间10分钟之内不必填)
$input-&SetGoods_tag(&test&);//商品标记(不必填)
$input-&SetNotify_url(&/app/weixin/example/****.php&);//回调URL(必须填写)
$input-&SetTrade_type(&APP&);//交易类型(必须填写)
//$input-&SetProduct_id(&&);//rade_type=NATIVE,此参数必传。此id为二维码中包含的商品ID,商户自行定义。
$order = WxPayApi::unifiedOrder($input);//获得订单的基本信息,包括prepayid
$appApiParameters = $notify-&GetAppApiParameters($order);//生成提交给app的一些参数
die($appApiParameters);
?&复制代码以上回调URL一定要写好,我这个附件中还没有做回调的处理,我处理完了继续跟帖上来。
1.交易类型必须是APP,如果你是申请的微信公众号的支付,而不是从这里申请的,就用不成
2.第一步是生成order,返回的是一个数组,保证这个数组里面要有prepay_id,如果没有,那你就要检查配置文件了lib/WxPay.Config.php
继续看代码
example/WxPay.AppPay.php
&?php
* APP支付实现类
* @author widyhu
*/
class AppPay
{& && &&&
& && &&&/**
& && && &*
& && && &* 参数数组转换为url参数
& && && &* @param array $urlObj
& && && &*/
& && &&&private function ToUrlParams($urlObj)
& && &&&{
& && && && && & $buff = &&;
& && && && && & foreach ($urlObj as $k =& $v)
& && && && && & {
& && && && && && && && &$buff .= $k . &=& . $v . &&&;
& && && && && & }
& && && && && &
& && && && && & $buff = trim($buff, &&&);
& && && && && & return $
& && &&&}
& && &&&
& && &&&/**
& && && &*
& && && &* 生成直接支付url,支付url有效期为2小时,模式二
& && && &* @param UnifiedOrderInput $input
& && && &*/
& && &&&public function GetPayPrepayId($input)
& && &&&{
& && && && && & if($input-&GetTrade_type()==&APP&)
& && && && && & {
& && && && && && && && &$result = WxPayApi::unifiedOrder($input);
& && && && && && && && &return $
& && && && && & }
& && &&&}
& && &&&/*生成APP提交数据*/
& && &&&public function GetAppApiParameters($UnifiedOrderResult)
& && &&&{
& && && && && & if(!array_key_exists(&appid&, $UnifiedOrderResult)
& && && && && & || !array_key_exists(&prepay_id&, $UnifiedOrderResult)
& && && && && & || $UnifiedOrderResult['prepay_id'] == &&)
& && && && && & {
& && && && && && && && &throw new WxPayException(&参数错误&);
& && && && && & }
& && && && && & $appapi = new WxPayAppApiPay();
& && && && && & $appapi-&SetAppid($UnifiedOrderResult[&appid&]);
& && && && && & $appapi-&SetPartnerId($UnifiedOrderResult[&mch_id&]);
& && && && && & $appapi-&SetPrepayId($UnifiedOrderResult[&prepay_id&]);
& && && && && & $timeStamp = time();
& && && && && & $appapi-&SetTimeStamp($timeStamp);
& && && && && & $appapi-&SetNonceStr(WxPayApi::getNonceStr());
& && && && && & $appapi-&SetPackage(&Sign=WXPay&);
& && && && && & $appapi-&SetSign($appapi-&MakeSign());
& && && && && & $back_arr=$appapi-&GetValues();
& && && && && & $back_arr['prepay_id']=$UnifiedOrderResult[&prepay_id&];
& && && && && & $parameters = json_encode($appapi-&GetValues());
& && && && && & return $
& && &&&}
}复制代码这个文件不是官方提供的,是我自己写的,仿照WxPay.NativePay.php这个文件写的,主要看42行GetAppApiParameters这个函数
由此生成了app提交的很多基础数据,在这个文件中又引用了一个类WxPayAppApiPay,在lib/WxPay.Data.php中,最后一个函数
现在我们来看一下配置文件吧/lib/WxPay.Config.php
&?php
/**
*& && && &配置账号信息
*/
class WxPayConfig
{
& && &&&//=======【基本信息设置】=====================================
& && &&&//
& && &&&/**
& && && &* TODO: 修改这里配置为您自己申请的商户信息
& && && &* 微信公众号信息配置
& && && &*
& && && &* APPID:绑定支付的APPID(必须配置,开户邮件中可查看)
& && && &*
& && && &* MCHID:商户号(必须配置,开户邮件中可查看)
& && && &*
& && && &* KEY:商户支付密钥,参考开户邮件设置(必须配置,登录商户平台自行设置)
& && && &* 设置地址:https://pay./index.php/account/api_cert
& && && &*
& && && &* APPSECRET:公众帐号secert(仅JSAPI支付的时候需要配置, 登录公众平台,进入开发者中心可设置),
& && && &* 获取地址:https://mp./advanced/advanced?action=dev&t=advanced/dev&token=&lang=zh_CN
& && && &* @var string
& && && &*/
& && &&&const APPID = 'wxd3ae8cc5ab312345';
& && &&&const MCHID = '';
& && &&&const KEY = '14e1b600b1fd579fd85111';
& && &&&const APPSECRET = 'e176356adbf';
& && &&&
& && &&&
& && &&&/*公众号(如果你申请的微信公众号支付而不是微信支付就用这个,但是这个没有办法在app中使用,只能通过扫码或者js)
& && &&&const APPID = 'wx223c1e5d831c94a5';
& && &&&const MCHID = '';
& && &&&const KEY = '14e1b600b1fd579fd85291';
& && &&&const APPSECRET = '8d95f857aee0749c3aad2';*/
& && &&&
& && &&&//=======【证书路径设置】=====================================
& && &&&/**
& && && &* TODO:设置商户证书路径
& && && &* 证书路径,注意应该填写绝对路径(仅退款、撤销订单时需要,可登录商户平台下载,
& && && &* API证书下载地址:https://pay./index.php/account/api_cert,下载之前需要安装商户操作证书)
& && && &* @var path
& && && &*/
& && &&&const SSLCERT_PATH = '../cert/apiclient_cert.pem';
& && &&&const SSLKEY_PATH = '../cert/apiclient_key.pem';
& && &&&
& && &&&//=======【curl代理设置】===================================
& && &&&/**
& && && &* TODO:这里设置代理机器,只有需要代理的时候才设置,不需要代理,请设置为0.0.0.0和0
& && && &* 本例程通过curl使用HTTP POST方法,此处可修改代理服务器,
& && && &* 默认CURL_PROXY_HOST=0.0.0.0和CURL_PROXY_PORT=0,此时不开启代理(如有需要才设置)
& && && &* @var unknown_type
& && && &*/
& && &&&const CURL_PROXY_HOST = &0.0.0.0&;//&10.152.18.220&;
& && &&&const CURL_PROXY_PORT = 0;//8080;
& && &&&
& && &&&//=======【上报信息配置】===================================
& && &&&/**
& && && &* TODO:接口调用上报等级,默认紧错误上报(注意:上报超时间为【1s】,上报无论成败【永不抛出异常】,
& && && &* 不会影响接口调用流程),开启上报之后,方便微信监控请求调用的质量,建议至少
& && && &* 开启错误上报。
& && && &* 上报等级,0.关闭上报; 1.仅错误出错上报; 2.全量上报
& && && &* @var int
& && && &*/
& && &&&const REPORT_LEVENL = 1;
}
复制代码主要是修改
const APPID = 'wxd3ae8cc5ab312345';
const MCHID = '';
const KEY = '14e1b600b1fd579fd85111';
const APPSECRET = 'e176356adbf';复制代码其他的不要动就行了
就这么多了,我现在继续写回调处理的url,写好了继续上吧
相信很多人都遇到了问题,不然怎么可能在论坛里面搜索微信支付没有一个可以实际解决问题的呢。
我是雷锋,欢迎交流
本帖子中包含更多资源&&&&您需要
才可以下载或查看,没有帐号?
<p id="rate_" onmouseover="showTip(this)" tip="赞一个!&云币 + 10
" class="mtn mbn">
谢谢雷锋同志!
谢谢.雷锋. 已经收藏
增加了回调,看代码,把以下代码覆盖到/lib/example/notify.php这个文件就可以了
&?php
ini_set('date.timezone','Asia/Shanghai');
error_reporting(E_ERROR);
require_once &../lib/WxPay.Api.php&;
require_once '../lib/WxPay.Notify.php';
require_once 'log.php';
//初始化日志
$logHandler= new CLogFileHandler(&../logs/&.date('Y-m-d').'.log');
$log = Log::Init($logHandler, 15);
class PayNotifyCallBack extends WxPayNotify
{
& && &&&//查询订单
& && &&&public function Queryorder($transaction_id)
& && &&&{
& && && && && & $input = new WxPayOrderQuery();
& && && && && & $input-&SetTransaction_id($transaction_id);
& && && && && & $result = WxPayApi::orderQuery($input);
& && && && && & Log::DEBUG(&query:& . json_encode($result));
& && && && && & if(array_key_exists(&return_code&, $result)
& && && && && && && && &&& array_key_exists(&result_code&, $result)
& && && && && && && && &&& $result[&return_code&] == &SUCCESS&
& && && && && && && && &&& $result[&result_code&] == &SUCCESS&)
& && && && && & {
& && && && && && && && &$out_trade_no=$result['out_trade_no'];//私有订单号,你就用这个订单号来进行你自己订单的各种更新吧
& && && && && && && && &$mch_id=$result['mch_id'];//商户号
& && && && && && && && &$total_fee=$result['total_fee'];//支付金额,出来的金额要除以100
& && && && && && && && &$transaction_id=$result['transaction_id'];//微信内部的订单流水号
& && && && && && && && &$openid=$result['openid'];//微信加密的用户身份识别,app支付的话其实意义不大了
& && && && && && && && &/*以下两行用做调试,会自动生成in_test.txt文件而且后期内容会自动追加到这个文件*/
& && && && && && && && &$fp = fopen('in_test.txt','a+');
& && && && && && && && &fwrite($fp,date(&Y-m-d H:i:s&).json_encode($result) . &|&.$transaction_id.& 成功了!rn&);
& && && && && && && && &/**/
& && && && && && && && &//这个很重要,微信的异步请求,当你执行完了你的内部处理以后给他返回true,微信就认为你的内部处理完成了,就不会再次请求你了,否则他会一直请求你这个文件,知道超时。
& && && && && & }
& && && && && &
& && &&&}
& && &&&
& && &&&//重写回调处理函数
& && &&&public function NotifyProcess($data, &$msg)
& && &&&{
& && && && && & Log::DEBUG(&call back:& . json_encode($data));
& && && && && & $notfiyOutput = array();
& && && && && &
& && && && && & if(!array_key_exists(&transaction_id&, $data)){
& && && && && && && && &$msg = &输入参数不正确&;
& && && && && && && && &
& && && && && & }
& && && && && & //查询订单,判断订单真实性
& && && && && & if(!$this-&Queryorder($data[&transaction_id&])){
& && && && && && && && &$msg = &订单查询失败&;
& && && && && && && && &
& && && && && & }
& && && && && &
& && &&&}
}
Log::DEBUG(&begin notify&);
$notify = new PayNotifyCallBack();
$notify-&Handle(false);
复制代码
感谢雷锋同志
太感谢啦,雷锋同志
非常感谢,我正需要做这一功能呢
好东西,非常详细,谢谢分享!
我们一岁了!
APICloud粉丝
我为APICloud代言!
特别贡献的版主
端午节勋章
(C) 2014 APICloud

我要回帖

更多关于 福州急需用钱小额贷款 的文章

 

随机推荐