微信登陆获取不到code

我在第三方应用使用微信登陆功能,但是回调中
SendAuth.Resp 里面没有code这个属性,我怎么获取code呢

5个回答

新的jar吧中的SendAuth.Resp找不到code, 其实code已经改名:

String code = resp.token;

 public void onResp(BaseResp resp) {

switch (resp.errCode) {

case BaseResp.ErrCode.ERR_OK:

String code = ((SendAuth.Resp) resp).code; //即为所需的code

break;

http://songyuanlin1101.lofter.com/tag/%E6%8E%88%E6%9D%83sendauth.resp

u012833340
_冰子 可是调不出code属性 有token、errStr等属性 就是没有code
大约 5 年之前 回复
u012833340
_冰子 @Override public void onResp(BaseResp resp) { switch (resp.errCode) { case BaseResp.ErrCode.ERR_OK: String code = ((SendAuth.Resp) resp).code; //即为所需的code break; } }
大约 5 年之前 回复

解决了 是因为jar包不是最新的

我从官网下载的最新的,还是没有code

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
shopnc微信支付获取不了code。
shopnc微信支付获取不到code。。。怎么办?JS_API_CALL_URL到底应该怎么写。。。。
微信菜单view跳转获取code问题
想要跳转的地址REDIRECT如:http://a.com/b/?c.d 构建view地址(服务号):https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=REDIRECT&response_type=code&scope=snsapi_base&state=1#wechat_redirect 问题是,通过微信可以打开这个跳转的页面,但通过复制页面地址还是显示构建的view地址,说明并没有跳转回传code,而我想要获取的地址是:htt://a.com/b/?c.d&code=xxxxxxx&state=1 如果传这种地址就可以获取到code:htt://a.com/b,即不带参数不带斜线的情况,有人遇到过这个问题么? ===================================================================== 问题已解决,通过微信直接复制地址还是显示带weixin的url,实际上是已经跳转并获取code了的。
Android 微信授权登录获取code的问题
已经根据微信的接入方式接入了,Manifest文件,WXEntryActivity也放对了位置,代码都是根据SDK文档做的,而且已经跳到微信授权页面,可是点了确认授权之后,并没有回调onResq方法(打的log没有显示出来),所以拿不到code。求各路大神帮忙,最后给出成功案例啦
java微信支付,获取openid的方法不执行,导致获取不到openid,是为什么???
@RequestMapping("/getCode.do") // 获取微信code public void getCode(HttpServletRequest request, HttpServletResponse response) throws IOException { System.out.println("in getCode--------------------------"); String myurl = PayConstant.BASEURL; String url = "https://open.weixin.qq.com/connect/oauth2/authorize?" + "appid=" + appID + "&redirect_uri="+ Uecode.encodeURIComponent(myurl + "autoTest/getOpenId.do")+ "&response_type=code&scope=snsapi_userinfo&state=123#wechat_redirect"; response.sendRedirect(url);; } getOpenId.do不执行导致获取不到openid,这是为什么???
微信进行网页授权时,拿到了code,怎么获取不到openid?(如图)
![![![![图片说明](https://img-ask.csdn.net/upload/201510/24/1445661934_667923.png)图片说明](https://img-ask.csdn.net/upload/201510/24/1445661926_318804.png)图片说明](https://img-ask.csdn.net/upload/201510/24/1445661917_190682.png)图片说明](https://img-ask.csdn.net/upload/201510/24/1445661900_145746.png) 求大神指教,看看问题出现在什么地方,找了好久不知道原因所在
微信网页授权,access_token已经获取到,却只能打印输出,无法赋值给其他变量?
![图片说明](https://img-ask.csdn.net/upload/201807/08/1531027956_207723.png) 微信授权获取个人信息时,有人遇到过这种情况吗? 接口返回$res,里面的数据是正确的, 但却走到else分支,输出了‘access_token’? 如果不判断,直接 $access_token=$res['access_token'];就会报,undefined index: access_token =========================================== 补充下问题的情况,经过研究,发现,如果赋值: ``` $access_token=$res['access_token']; ``` 微信服务器会返回:code been used, 如果直接输出: ``` return $res['access_token']; ``` 则access_token可以被正确打印出来?
开发过微信公众号的大神进,微信支付遇到点问题,求解决。
我在跳转商品支付页面的时候,获取到了微信支付所需的一些参数,然后到了微信页面之后只要进行刷新就会报错,我复制了一下当前url,是微信的地址,刷新的时候进的还是我的后台,这个时候已经存在code了,但是拿不到openid,导致报错,大神们!求支援!
微信支付,怎么获取prepay_id?
Java写的,获取到的prepay_id 一直为空,不知道该怎么获取,这与设置API秘钥有关吗? public static String getPayNo(String url, String xmlParam) { DefaultHttpClient client = new DefaultHttpClient(); client.getParams().setParameter(ClientPNames.ALLOW_CIRCULAR_REDIRECTS, true); HttpPost httpost = HttpClientConnectionManager.getPostMethod(url); String prepay_id = ""; try { httpost.setEntity(new StringEntity(xmlParam, "UTF-8")); HttpResponse response = httpclient.execute(httpost); String jsonStr = EntityUtils .toString(response.getEntity(), "UTF-8"); System.out.println("--jsonStr--"+jsonStr); Map<String, Object> dataMap = new HashMap<String, Object>(); if (jsonStr.indexOf("FAIL") != -1) { return prepay_id; } Map map = doXMLParse(jsonStr); String return_code = (String) map.get("return_code"); prepay_id = (String) map.get("prepay_id"); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } return prepay_id; }
微信支付[签名错误]-微信,PHP,XMLPOST,
问个问题:[关于微信支付] 背景:现有一认证微信服务号,需要在自定义菜单跳转的网页中实现商城支付功能.商城使用PHP,MYSQL,实现 现在在做微信支付功能遇到问题. 1.目前在做微信公众号支付>>统一下单API. [统一下单APIlink:http://pay.weixin.qq.com/wiki/doc/api/index.php?chapter=9_1]. 需要接上API,并获取SUCCESS状态下的数据[主要是想获取>预支付交易会话标识 (prepay_id) ] 2.现在问题:在向API发送POST请求后,得到的结果是FAILT. 问题提示:[返回的原数据] <xml><return_code><![CDATA[FAIL]]></return_code> <return_msg><![CDATA[签名错误]]></return_msg> </xml> 3.我做过的事情: a.使用"在线签名验证工具"验证自己生成的签名,我生成的签名与该工具得出的结果是一样的. ["在线签名验证工具"url:http://mch.weixin.qq.com/wiki/tools/signverify/] b.我是POST XML字符串过去的.与"在线签名验证工具"中提出的结果是一样的. 4.纠结的地方:微信公众平台后台设置,签名,POST URL,sign,甚至是XML数据,我都检查过了,但API返回结果竟然还是 签名错误 . 我唯一想到的问题可能就是,"在线签名验证工具"不靠谱.但我找不到其它的方式来验证我的签名是否正确. 有哪位网友做过微信公众号支付的朋友帮忙查看一下吗?纠结了好久了.
微信公众号支付appid and openid not match。
appid和openid不匹配,网上搜的更多说是,有多个公众号,然后授权的公众号和支付的公众号不是同一个 ,但是我这边开发只有一个公众号,可笑的是,微信公众号授权后得到openid去请求支付,会出现appid and openid not match问题,而使用原生app三方登录微信得到openid请求支付没有问题,在微信开发平台中又说没有三方登录微信的接口,网上说的基本都是网页授权的两个接口 (1)https://open.weixin.qq.com/connect/oauth2/authorize?appid=*******&redirect_uri=www.baidu.com&response_type=code&scope=snsapi_base&state=1#wechat_redirect 页面就会跳转到 www.baidu.com?code=***. 就可以看到code了。 (4) 通过code 来获取openID https://api.weixin.qq.com/sns/oauth2/access_token?appid=***&secret=***&code=***&grant_type=authorization_code 现在问题是我只有一个公众号(商户号也绑定了这个公众号),appid and openid not match怎么破解
ssh开发微信公众号java获取微信用户信息代码有误,
这是action代码 ``` package com.tyol.ljtg.index.action; import java.io.BufferedReader; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStream; import java.net.ConnectException; import java.net.URL; import java.util.List; import javax.net.ssl.HttpsURLConnection; import javax.net.ssl.SSLContext; import javax.net.ssl.SSLSocketFactory; import javax.net.ssl.TrustManager; import javax.servlet.http.HttpServletRequest; import net.sf.json.JSONArray; import net.sf.json.JSONObject; import org.apache.struts2.ServletActionContext; import com.opensymphony.xwork2.ActionSupport; import com.opensymphony.xwork2.ModelDriven; import com.tyol.ljtg.pojo.SNSUserInfo; import com.tyol.ljtg.pojo.WeixinOauth2Token; import com.tyol.ljtg.products.service.ProductService; import com.tyol.ljtg.products.vo.Products; import com.tyol.ljtg.users.service.UserService; import com.tyol.ljtg.users.vo.Users; import com.tyol.ljtg.utils.MyX509TrustManager; /** * 首页登录的action * * * */ public class IndexAction extends ActionSupport implements ModelDriven<Users>{ private static final long serialVersionUID = 1L; private String code ; private String state ; public void setCode(String code) { this.code = code; } public void setState(String state) { this.state = state; } private Users users = new Users() ; public void setUsers(Users users) { this.users = users; } //注入UserService private UserService userService ; public void setUserService(UserService userService) { this.userService = userService; } //注入ProductService private ProductService productService ; public void setProductService(ProductService productService) { this.productService = productService; } public String execute(){ //用户同意授权后,能获取到code // 用户同意授权 if (!"authdeny".equals(code)) { System.out.println(221); // 获取网页授权access_token WeixinOauth2Token weixinOauth2Token = getOauth2AccessToken("wx01fe15e40c010d99", "b781d53947b374324ae5a68642b79a57", code); // 网页授权接口访问凭证 String accessToken = weixinOauth2Token.getAccessToken(); // 用户标识 String openId = weixinOauth2Token.getOpenId(); // 获取用户信息 SNSUserInfo snsUserInfo = getSNSUserInfo(accessToken, openId); //设置微信用户信息 users.setUid(snsUserInfo.getOpenId()); users.setUsername(snsUserInfo.getNickname()); users.setAddress(snsUserInfo.getCity()); users.setHeadImgUrl(snsUserInfo.getHeadImgUrl()); //保存用户 userService.addUsers(users); List<Products> products = productService.findAllProducts(); ServletActionContext.getRequest().getSession().setAttribute("products", products); ServletActionContext.getRequest().getSession().setAttribute("users", users); return "indexOne"; } users = userService.findByUid("111"); List<Products> products = productService.findAllProducts(); ServletActionContext.getRequest().getSession().setAttribute("products", products); ServletActionContext.getRequest().getSession().setAttribute("users", users); return "index"; } /** * 获取网页授权凭证 * * @param appId 公众账号的唯一标识 * @param appSecret 公众账号的密钥 * @param code * @return WeixinAouth2Token */ public static WeixinOauth2Token getOauth2AccessToken(String appId, String appSecret, String code) { WeixinOauth2Token wat = null; // 拼接请求地址 String requestUrl = "https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code"; requestUrl = requestUrl.replace("APPID", "wx01fe15e40c010d99"); requestUrl = requestUrl.replace("SECRET", "b781d53947b374324ae5a68642b79a57"); requestUrl = requestUrl.replace("CODE", code); // 获取网页授权凭证 JSONObject jsonObject = httpsRequest(requestUrl, "GET", null); if (null != jsonObject) { try { wat = new WeixinOauth2Token(); wat.setAccessToken(jsonObject.getString("access_token")); wat.setExpiresIn(jsonObject.getInt("expires_in")); wat.setRefreshToken(jsonObject.getString("refresh_token")); wat.setOpenId(jsonObject.getString("openid")); wat.setScope(jsonObject.getString("scope")); } catch (Exception e) { wat = null; int errorCode = jsonObject.getInt("errcode"); String errorMsg = jsonObject.getString("errmsg"); System.out.println(111); } } return wat; } /** * 发送https请求 * * @param requestUrl 请求地址 * @param requestMethod 请求方式(GET、POST) * @param outputStr 提交的数据 * @return JSONObject(通过JSONObject.get(key)的方式获取json对象的属性值) */ public static JSONObject httpsRequest(String requestUrl, String requestMethod, String outputStr) { JSONObject jsonObject = null; try { // 创建SSLContext对象,并使用我们指定的信任管理器初始化 TrustManager[] tm = { new MyX509TrustManager() }; SSLContext sslContext = SSLContext.getInstance("SSL", "SunJSSE"); sslContext.init(null, tm, new java.security.SecureRandom()); // 从上述SSLContext对象中得到SSLSocketFactory对象 SSLSocketFactory ssf = sslContext.getSocketFactory(); URL url = new URL(requestUrl); HttpsURLConnection conn = (HttpsURLConnection) url.openConnection(); conn.setSSLSocketFactory(ssf); conn.setDoOutput(true); conn.setDoInput(true); conn.setUseCaches(false); // 设置请求方式(GET/POST) conn.setRequestMethod(requestMethod); // 当outputStr不为null时向输出流写数据 if (null != outputStr) { OutputStream outputStream = conn.getOutputStream(); // 注意编码格式 outputStream.write(outputStr.getBytes("UTF-8")); outputStream.close(); } // 从输入流读取返回内容 InputStream inputStream = conn.getInputStream(); InputStreamReader inputStreamReader = new InputStreamReader(inputStream, "utf-8"); BufferedReader bufferedReader = new BufferedReader(inputStreamReader); String str = null; StringBuffer buffer = new StringBuffer(); while ((str = bufferedReader.readLine()) != null) { buffer.append(str); } // 释放资源 bufferedReader.close(); inputStreamReader.close(); inputStream.close(); inputStream = null; conn.disconnect(); jsonObject = JSONObject.fromObject(buffer.toString()); } catch (ConnectException ce) { ce.addSuppressed(ce); } catch (Exception e) { e.addSuppressed(e); } return jsonObject; } /** * 通过网页授权获取用户信息 * * @param accessToken 网页授权接口调用凭证 * @param openId 用户标识 * @return SNSUserInfo */ @SuppressWarnings( { "deprecation", "unchecked" }) public static SNSUserInfo getSNSUserInfo(String accessToken, String openId) { SNSUserInfo snsUserInfo = null; // 拼接请求地址 String requestUrl = "https://api.weixin.qq.com/sns/userinfo?access_token=ACCESS_TOKEN&openid=OPENID"; requestUrl = requestUrl.replace("ACCESS_TOKEN", accessToken).replace("OPENID", "wx01fe15e40c010d99"); // 通过网页授权获取用户信息 JSONObject jsonObject = httpsRequest(requestUrl, "GET", null); if (null != jsonObject) { try { snsUserInfo = new SNSUserInfo(); // 用户的标识 snsUserInfo.setOpenId(jsonObject.getString("openid")); // 昵称 snsUserInfo.setNickname(jsonObject.getString("nickname")); // 性别(1是男性,2是女性,0是未知) snsUserInfo.setSex(jsonObject.getInt("sex")); // 用户所在国家 snsUserInfo.setCountry(jsonObject.getString("country")); // 用户所在省份 snsUserInfo.setProvince(jsonObject.getString("province")); // 用户所在城市 snsUserInfo.setCity(jsonObject.getString("city")); // 用户头像 snsUserInfo.setHeadImgUrl(jsonObject.getString("headimgurl")); // 用户特权信息 snsUserInfo.setPrivilegeList(JSONArray.toList(jsonObject.getJSONArray("privilege"), List.class)); } catch (Exception e) { snsUserInfo = null; int errorCode = jsonObject.getInt("errcode"); String errorMsg = jsonObject.getString("errmsg"); System.out.println(111); } } return snsUserInfo; } @Override public Users getModel() { // TODO Auto-generated method stub return users; } } ```
微信小程序 在onLoad中启用其他方法(设置缓存)并取出缓存中数据 取不到值 求解决
//引入常量文件 let constant = require('../../js/constant.js'); //引入腾讯地图 let QQMapWX = require('../../js/qqmap-wx-jssdk.js'); //公共方法文件 let avery = require('../../js/avery.js'); //腾讯地图全局API let qqmapsdk; //获取应用实例 const app = getApp(); Page({ data: { imgUrls: [ 'https://images.unsplash.com/photo-1551334787-21e6bd3ab135?w=640', 'https://images.unsplash.com/photo-1551214012-84f95e060dee?w=640', 'https://images.unsplash.com/photo-1551446591-142875a901a1?w=640' ], indicatorDots: false, autoplay: false, interval: 5000, duration: 1000, hasUserInfo: false, latitude: null, //纬度 longitude: null, //经度 addressComponent: { nation: "", province: "", city: "", district: "", street: "", streetNumber: "", cityCcode: "" } }, onLoad: function() { wx.clearStorage(); //校验用户是否打开维护权限 avery.checkPositionAuthorization(); //初始化调用是否获取用户位置权限信息 this.getLocation(this); }, //获取位置名称 getLocation(that) { wx.getLocation({ type: 'wgs84', //wgs84 返回 gps 坐标,gcj02 返回可用于 wx.openLocation 的坐标 altitude: true, //传入 true 会返回高度信息 success: function (res) { const latitude = res.latitude const longitude = res.longitude that.setData({ latitude: latitude, longitude: longitude }), // 实例化API核心类 qqmapsdk = new QQMapWX({ key: constant.mapKey }); //获取位置详细信息 qqmapsdk.reverseGeocoder({ location: { latitude: latitude, longitude: longitude }, success: function (location) { let result = location.result; //获取地址信息 let addressComponent = result.address_component; //获取城市Code let cityCode = result.ad_info.city_code; var cityInfo = { nation: addressComponent.nation, province: addressComponent.province, city: addressComponent.city, district: addressComponent.district, street: addressComponent.street, streetNumber: addressComponent.street_number, cityCcode: addressComponent.cityCcode, } //给默认值初始化 that.setData({ addressComponent: cityInfo }); //将城市信息放入缓存经度纬度 wx.setStorageSync('cityInfo', cityInfo); wx.setStorageSync('latitude', latitude); wx.setStorageSync('longitude', longitude); 这个方法设置缓存 avery.getWeatherNow('北京市', cityCode,'342','423423'); ///////这这里取不到 let sss = wx.getStorageSync("weatherNow"); console.log(JSON.stringify(sss)); **//并且这个打印会在下面的方法前面** }, fial(res) { //失败应该弹出模态框 wx.showModal({ title: '提示', content: '获取位置信息失败', success(res) { if (res.confirm) { console.log('用户点击确定') } else if (res.cancel) { console.log('用户点击取消') } } }); } }); } }); }, }) /////这是设置缓存的方法 function getWeatherNow( city,cityCode ,latitude, longitude){ wx.request({ url: constant.currentWeatherByCityId + cityCode, success:function(data){ wx.setStorageSync('weatherNow', data.data); console.log(JSON.stringify(data.data)) } }) };
请教关注企业公众号以后自动登录网站用户中心问题
1,现在用户只要关注企业公众号以后,自动生成随机用户名密码。并且可以通过底部菜单链接进入用户中心。 2,现在的问题是,过了几个小时以后,再从微信公众平台底部菜单点击用户中心,这个时候提示需要登录,页面自动跳转到登录界面(原则上还是自动登录才对) 3,当我关闭网页,到微信公众平台再次点击用户中心,又可以自动登录了 4,排查,第一次点击用户中心,发现可以获取code。 但是获取不到openid。返回错误提示errcode=>40029;errmsg=>invalid code, hints: [ req_id: ghWvqa0812ns71 ] 5当我第二次在微信公众平台点击用户中心登录的时候,就可以正常获取openid,也可以正常登录 总结:微信配置是没有问题的,因为可以正常登录,问题是过段时间就不行了,或者退出微信,然后重新登录微信,打开公众平台就无法登录了,必须关闭打开的网页,重新点击公众平台的用户中心才可以登录 个人认为:是不是退出微信或者时间长了以后 code失效? 微信公众平台 ![微信公众平台](https://img-ask.csdn.net/upload/201605/20/1463713515_98075.jpg) 在线等回答,为什么过一段时间点击链接 请求获取的code是无效的呢? 拜托了各位大神
HTML5:用户如选择拒绝共享地理位置,那么下次再次登录进入时就不会再询问
使用html5做了个应用,同时适应APP,微信和wap访问,其中有用到获取地理位置的相关内容,地理位置获取没有什么问题,现在问题是当获取地理位置询问用户时如果选择拒绝共享地理位置,那么下次再次登录进入时就不会再询问,导致如果拒绝了一次以后再也获取不到地理位置,不知道有什么方法可以解决? 获取地理位置代码如下: ``` //初始化时调用获取地理位置方法 $(function(){ startgps(); }); //获取地理位置方法 function startgps() { //判断是否支持 if (navigator.geolocation) { navigator.geolocation.watchPosition(showgps, // navigator.geolocation.getCurrentPosition(showgps,//成功回调函数 function(error) //失败回调函数 { alert("获取位置失败,开始执行失败回调函数"); getPositionError(error); //showgps(); // showAlert("获取地理位置出错"); }, {enableHighAcuracy: true, timeout:1000,maximumAge: 0}); // 这里设置超时为1000毫秒,即1秒 } else { showAlert("navigator.geolocation获取结果为false"); //showgps(); } } function showgps(position) { alert("获取位置成功,开始执行成功回调函数"); if (position) { var latitude = position.coords.latitude; var longitude = position.coords.longitude; document.getElementsByName("lat")[0].value = latitude; document.getElementsByName("lng")[0].value = longitude; showAlert("获取到的地理位置为latitude:"+latitude+"---longitude="+longitude); } else{ showAlert("位置获取不到,请确认您打开了定位服务!"); var latitude = position.coords.latitude; var longitude = position.coords.longitude; document.getElementsByName("lat")[0].value = latitude; document.getElementsByName("lng")[0].value = longitude; showAlert("定位服务没有打开时获取到的地理位置latitude:"+latitude+"---longitude="+longitude); } } function getPositionError(error){ switch(error.code){ case error.TIMEOUT: alert("连接超时,请重试"); break; case error.PERMISSION_DENIED: alert("您拒绝了使用位置共享服务,查询已取消"); break; case error.POSITION_UNAVAILABLE: alert("亲爱的火星网友,非常抱歉,我们暂时无法为您所在的星球提供位置服务"); break; } } ```
微信公众号如何发红包?(目前已有代码,可是碰到最后一部扣钱的问题)
首先本人也是最近刚做,参考了很多 先放上原贴的地址 http://snmoney.blog.163.com/blog/static/44005820155810541329/ 业务需求是这样的 先到第三方平台填写一个问卷调查,然后填完后调到点击红包的页面,然后去拿红包 网上有说可以通过第三方平台去做这个事情,我不知道有没有这个可能性? 现在回到正题,如今已经获取了openid,就像原贴一样,输出了红包发送成功 首先第一个问题,是不是意思就是如果代码成功了,应该微信那边自动会发一个这样子的红包过来? 第二,回到这个代码,下面是最后输出的send()方法中的一部分 curl_setopt($ch,CURLOPT_POST, 1); curl_setopt($ch,CURLOPT_POSTFIELDS,$xml); var_dump($ch); $data = curl_exec($ch); var_dump($data); if($data){ curl_close($ch); $rsxml = simplexml_load_string($data); var_dump($rsxml); $this->error = curl_errno($ch); echo 111; var_dump($this->error); $this->error = $rsxml->return_msg; echo 222; var_dump($this->error); curl_close($ch); if($rsxml->return_code == 'SUCCESS' ){ echo 333; return true; }else{ echo 444; $this->error = $rsxml->return_msg; return false; } }else{ $this->error = curl_errno($ch); curl_close($ch); return false; } 目前的问题就是$data为空,$rsxml只有商户号和拿到的红包金额,其他都为空,但是却走到了echo 333这里 求教 好人一生平安
jdbc执行SqlServer存储过程时 成功后返回结果集,执行失败后 return值的问题
最近遇到一个存储过程,由于接口不是很规范,由于执行成功和执行失败返回的结果不一致,求大神帮忙解答,只有这点c币了,全部奉上,贴代码; ``` CREATE PROCEDURE [dbo].[proc_phone_gh] ( @p_id char(12), --patient_id 患者ID @unit_sn varchar(7), --office_id 挂号科室编号 @request_date varchar(10), --czdate 挂号日期 @ampm char(1), --ampm 上/下午 @clinic_type varchar(2), --card_code 号源种类 @doctor_sn varchar(5), --doctor_id 医生编号,普通号可为空 @sequence smallint, --gh_sequence 就诊顺序号,手机app自行计算 @app_order varchar(30), --app_order 预约码 @app_type char(1) --cretificate_type 方式:1手机APP/2微信 ) AS declare @msg varchar(50), @record_sn int, @group_sn varchar(7), @mz_dept_no varchar(2), @opera varchar(5), @times int, @req_type varchar(2) , @gh_sequence smallint , @ledger_sn varchar(20) set @group_sn='' set @req_type='15' --挂号途径 13 手机app set @mz_dept_no='1' --是否是分院 begin transaction update mz_patient_mi set max_times= max_times+1 where patient_id=@p_id if @@error<>0 begin set @msg = '更新mz_patient_mi表失败' select @msg return_msg rollback transaction return 0 end set @times=(select max_times from mz_patient_mi where patient_id=@p_id) set @ledger_sn =(select max_ledger_sn from mz_patient_mi where patient_id=@p_id) begin select top 1 @record_sn =record_sn ,@gh_sequence=gh_sequence from gh_schedule where 1=1 and request_date=@request_date and ampm=@ampm and unit_sn=@unit_sn and isnull(doctor_sn,'') = @doctor_sn and clinic_type like @clinic_type and charindex('15',visit_req_type)>0 --挂号方式 and status_flag='0' order by abs(gh_sequence) insert into gh_appointment_external (app_order,name,sex,social_no,phone,gh_sequence,reg_time,request_date,visit_dept,doctor_code,ampm,clinic_type,req_type ,status,patient_id,times,phone2, source_type,import_date,import_opera,gh_record_sn,certificate_type) select @app_order,name,sex,social_no,home_tel as phone,@gh_sequence as gh_sequence,convert(varchar(20),getdate(),120) as reg_time,@request_date ,@unit_sn,case when isnull(@doctor_sn,'')='' then '-1' else @doctor_sn end as doctor_code,@ampm,@clinic_type,@req_type as req_type,'0' as status ,@p_id,@times,'00000000','手机App预约挂号' as source_type,convert(varchar(20),getdate(),120) as import_date,'' as import_opera,@record_sn as gh_record_sn,case when @app_type='1' then '2' when @app_type='2' then '3' end from view_mz_patient_mi where patient_id=@p_id if @@error<>0 or @@ROWCOUNT<1 begin set @msg='插入预约登记表gh_appointment_register失败!' select @msg return_msg rollback transaction return 0 end update gh_schedule set status_flag='1',req_type=@req_type where record_sn=@record_sn and gh_sequence=@gh_sequence and request_date=CONVERT(varchar(20), @request_date, 120 ) and unit_sn=@unit_sn and isnull(group_sn,'')=@group_sn and clinic_type =@clinic_type and isnull(ampm,'')=@ampm and charindex(@req_type,visit_req_type)>0 and mz_dept_no=@mz_dept_no if @@error<>0 or @@ROWCOUNT<1 begin set @msg = '更新gh_schedule表失败' select @msg return_msg rollback transaction return 0 end commit transaction end select isnull((select name from gh_zd_appointment_place where code =convert(varchar(7),@unit_sn)),(select comment from zd_unit_code where code =convert(varchar(7),@unit_sn))) as address,substring(convert(varchar,@request_date,120),1,11) +' '+ convert(varchar (20),dz_time1)+'至'+convert(varchar(20),dz_time2) as mtime , @gh_sequence xh ,@times times,@ledger_sn checkOuts from --gh_zd_appointment_place a, encounter_time h,gh_zd_clinic_type_query b where b.zj_flag *=h.charge_type and h.end_no>=@gh_sequence and h.begin_no<=@gh_sequence and h.ampm=convert(varchar(10),@ampm) and b.code=convert(char(10),@clinic_type) ``` 1.预约成功时返回最下面的一个结果集 ``` select isnull((select name from gh_zd_appointment_place where code =convert(varchar(7),@unit_sn)),(select comment from zd_unit_code where code =convert(varchar(7),@unit_sn))) as address,substring(convert(varchar,@request_date,120),1,11) +' '+ convert(varchar (20),dz_time1)+'至'+convert(varchar(20),dz_time2) as mtime , @gh_sequence xh ,@times times,@ledger_sn checkOuts from --gh_zd_appointment_place a, encounter_time h,gh_zd_clinic_type_query b where b.zj_flag *=h.charge_type and h.end_no>=@gh_sequence and h.begin_no<=@gh_sequence and h.ampm=convert(varchar(10),@ampm) and b.code=convert(char(10),@clinic_type) ``` 2.执行失败时,返回return值,和return_msg信息; 3.jdbc代码如下: String storedProc = "{call proc_phone_gh(?,?,?,?,?,?,?,?,?)}"; CallableStatement cs = con.prepareCall(storedProc); cs.setString(1, (String)proParams[0]); cs.setString(2, (String)proParams[1]); cs.setString(3, (String)proParams[2]); cs.setString(4, (String)proParams[3]); cs.setString(5, (String)proParams[4]); cs.setString(6, (String)proParams[5]); cs.setInt(7, (Integer)proParams[6]); cs.setString(8, (String)proParams[7]); cs.setString(9, (String)proParams[8]); ResultSet rs = cs.executeQuery(); ``` 执行到ResultSet rs = cs.executeQuery();时,报异常:该语句没有结果集,该语句在数据库里可以执行也可以得到结果集。 请问各位大神们,如何获取到成功的结果集 和失败时的return值和return_msg???????????在线等,求助!!!!!!!!!!!!!! ```
sql C# 数据怎么就窜了
# 问题 func1 有query1, func2 有query2 执行顺序是 func1->func2 ,现在的问题是func2里面的query2 拿到的是 func1的query1 的查询结果 ,数据串了! **问题出现的时间点**:每天早上,第一个用户访问系统的时候,而且出现了这个问题之后就会 一直有这个问题,要么覆盖bin或者修改配置文件之后才能恢复正常访问 **服务器及数据库配置**:阿里云主机,iis 服务器,数据库 sql server 2012 **服务器应用部署方式**:多个站点,每个站点都是用同一套系统,只是分开部署,db是部署在db服务器,并不是跟应用服务部署在一起, **出现问题的地方**:出现在微信公众号用户网页验证的回调接口,简单的说:就是获取用户的在当前公众号下的openId ## 代码 ///func1 protected OA_WeixinOauthTokenEntity Get_token(string Code, string SchoolCode) { var weixinAccount = new WeixinUserService().GetWeixinAccount(SchoolCode);//query1 if (weixinAccount == null) { return null; } else { var AppID = weixinAccount.WechatAppid; var AppSecret = weixinAccount.WechatAppsecret; var urlStr = "https://api.weixin.qq.com/sns/oauth2/access_token?appid=" + AppID + "&secret=" + AppSecret + "&code=" + Code + "&grant_type=authorization_code"; var helper = new HttpHelper(urlStr); var strJson = helper.SendHttpRequst(); var Oauth_Token_Model = JsonOperate.FromJson<OA_WeixinOauthTokenEntity>(strJson); return Oauth_Token_Model; } } ///func2 public string CheckIsAuthen(string OpenID, string UserType) { var strUserID = ""; if (!"".Equals(OpenID)) { //1. 老师,2学生,3家长 var strTable = "PIUser"; if (UserType == "2") strTable = "PIStudent"; if (UserType == "3") strTable = "PIParent"; var sql = " SELECT UserID FROM " + strTable + ",OA_WeixinToUser WHERE " + strTable + ".ID = UserID AND OA_WeixinToUser.OpenID= '" + OpenID + "' And OA_WeixinToUser.UserType = " + UserType + " And DELETEMARK=0 And ENABLED=1"; Const.WriteJobTxt("sql:" + sql, "CheckIsAuthen_v2"); DataSet ds = DbHelperSQL.Query(sql);//query2 DataTable dt = ds.Tables[0]; if (dt.Rows.Count > 0) { try { Const.WriteJobTxt("ds.count=" + ds.Tables.Count + "|dt:" + JSONhelper.ToJson(ds), "CheckIsAuthen_v2"); strUserID = PublicMethod.ObjectToStr(dt.Rows[0]["UserID"]); } catch (Exception ex) { Const.WriteBugLog(ex); throw ex; } } } return strUserID; } ``` ``` ## 日志文件 ![图片说明](https://img-ask.csdn.net/upload/201709/28/1506572703_987447.png) ## 错误提示 ![图片说明](https://img-ask.csdn.net/upload/201709/28/1506572806_176839.jpg) ## 尝试解决 1,初步猜测是并发导致的,但是经过分析日志文件,觉得不太可能,同一时间段访问量并不大,而且,时间间隔也是到3 ,4秒以上 2,数据库帮助类的query 使用的静态方法,后来把全部静态方法修改了之后还是会出现这个问题。所以排除这个问题 现在还是没有找到问题的解决方案,如果有某位大神看到这篇文章,并有遇到相似的问题。不妨讨论讨论,如果有解决方案那就更好不过了
《奇巧淫技》系列-python!!每天早上八点自动发送天气预报邮件到QQ邮箱
将代码部署服务器,每日早上定时获取到天气数据,并发送到邮箱。 也可以说是一个小人工智障。 思路可以运用在不同地方,主要介绍的是思路。
Linux(服务器编程):15---两种高效的事件处理模式(reactor模式、proactor模式)
前言 同步I/O模型通常用于实现Reactor模式 异步I/O模型则用于实现Proactor模式 最后我们会使用同步I/O方式模拟出Proactor模式 一、Reactor模式 Reactor模式特点 它要求主线程(I/O处理单元)只负责监听文件描述符上是否有事件发生,有的话就立即将时间通知工作线程(逻辑单元)。除此之外,主线程不做任何其他实质性的工作 读写数据,接受新的连接,以及处...
为什么要学数据结构?
一、前言 在可视化化程序设计的今天,借助于集成开发环境可以很快地生成程序,程序设计不再是计算机专业人员的专利。很多人认为,只要掌握几种开发工具就可以成为编程高手,其实,这是一种误解。要想成为一个专业的开发人员,至少需要以下三个条件: 1) 能够熟练地选择和设计各种数据结构和算法 2) 至少要能够熟练地掌握一门程序设计语言 3) 熟知所涉及的相关应用领域的知识 其中,后两个条件比较容易实现,而第一个...
C语言魔塔游戏
很早就很想写这个,今天终于写完了。 游戏截图: 编译环境: VS2017 游戏需要一些图片,如果有想要的或者对游戏有什么看法的可以加我的QQ 2985486630 讨论,如果暂时没有回应,可以在博客下方留言,到时候我会看到。 下面我来介绍一下游戏的主要功能和实现方式 首先是玩家的定义,使用结构体,这个名字是可以自己改变的 struct gamerole { char n
进程通信方式总结与盘点
​ 进程通信是指进程之间的信息交换。这里需要和进程同步做一下区分,进程同步控制多个进程按一定顺序执行,进程通信是一种手段,而进程同步是目标。从某方面来讲,进程通信可以解决进程同步问题。 ​ 首先回顾下我们前面博文中讲到的信号量机制,为了实现进程的互斥与同步,需要在进程间交换一定的信息,因此信号量机制也可以被归为进程通信的一种方式,但是也被称为低级进程通信,主要原因为: 效率低:一次只可操作少量的...
究竟你适不适合买Mac?
我清晰的记得,刚买的macbook pro回到家,开机后第一件事情,就是上了淘宝网,花了500元钱,找了一个上门维修电脑的师傅,上门给我装了一个windows系统。。。。。。 表砍我。。。 当时买mac的初衷,只是想要个固态硬盘的笔记本,用来运行一些复杂的扑克软件。而看了当时所有的SSD笔记本后,最终决定,还是买个好(xiong)看(da)的。 已经有好几个朋友问我mba怎么样了,所以今天尽量客观
听说了吗?阿里双11作战室竟1根网线都没有
双11不光是购物狂欢节,更是对技术的一次“大考”,对于阿里巴巴企业内部运营的基础保障技术而言,亦是如此。 回溯双11历史,这背后也经历过“小米加步枪”的阶段:作战室从随处是网线,交换机放地上的“一地狼藉”;到如今媲美5G的wifi网速,到现场却看不到一根网线;从当年使用商用AP(无线路由器),让光明顶双11当天断网一分钟,到全部使用阿里自研AP……阿里巴巴企业智能事业部工程师们提供的基础保障...
在阿里,40岁的奋斗姿势
在阿里,40岁的奋斗姿势 在阿里,什么样的年纪可以称为老呢?35岁? 在云网络,有这样一群人,他们的平均年龄接近40,却刚刚开辟职业生涯的第二战场。 他们的奋斗姿势是什么样的呢? 洛神赋 “翩若惊鸿,婉若游龙。荣曜秋菊,华茂春松。髣髴兮若轻云之蔽月,飘飖兮若流风之回雪。远而望之,皎若太阳升朝霞;迫而察之,灼若芙蕖出渌波。” 爱洛神,爱阿里云 2018年,阿里云网络产品部门启动洛神2.0升...
关于研发效能提升的思考
研发效能提升是最近比较热门的一个话题,本人根据这几年的工作心得,做了一些思考总结,由于个人深度有限,暂且抛转引入。 三要素 任何生产力的提升都离不开这三个因素:人、流程和工具,少了其中任何一个因素都无法实现。 人,即思想,也就是古人说的“道”,道不同不相为谋,是制高点,也是高层建筑的基石。 流程,即方法,也是古人说的“法”。研发效能的提升,也就是要提高投入产出比,既要增加产出,也要减...
Python爬虫爬取淘宝,京东商品信息
小编是一个理科生,不善长说一些废话。简单介绍下原理然后直接上代码。 使用的工具(Python+pycharm2019.3+selenium+xpath+chromedriver)其中要使用pycharm也可以私聊我selenium是一个框架可以通过pip下载 pip install selenium -i https://pypi.tuna.tsinghua.edu.cn/simple/ 
阿里程序员写了一个新手都写不出的低级bug,被骂惨了。
这种新手都不会范的错,居然被一个工作好几年的小伙子写出来,差点被当场开除了。
Java工作4年来应聘要16K最后没要,细节如下。。。
前奏: 今天2B哥和大家分享一位前几天面试的一位应聘者,工作4年26岁,统招本科。 以下就是他的简历和面试情况。 基本情况: 专业技能: 1、&nbsp;熟悉Sping了解SpringMVC、SpringBoot、Mybatis等框架、了解SpringCloud微服务 2、&nbsp;熟悉常用项目管理工具:SVN、GIT、MAVEN、Jenkins 3、&nbsp;熟悉Nginx、tomca
2020年,冯唐49岁:我给20、30岁IT职场年轻人的建议
点击“技术领导力”关注∆  每天早上8:30推送 作者| Mr.K   编辑| Emma 来源| 技术领导力(ID:jishulingdaoli) 前天的推文《冯唐:职场人35岁以后,方法论比经验重要》,收到了不少读者的反馈,觉得挺受启发。其实,冯唐写了不少关于职场方面的文章,都挺不错的。可惜大家只记住了“春风十里不如你”、“如何避免成为油腻腻的中年人”等不那么正经的文章。 本文整理了冯
程序员该看的几部电影
##1、骇客帝国(1999) 概念:在线/离线,递归,循环,矩阵等 剧情简介: 不久的将来,网络黑客尼奥对这个看似正常的现实世界产生了怀疑。 他结识了黑客崔妮蒂,并见到了黑客组织的首领墨菲斯。 墨菲斯告诉他,现实世界其实是由一个名叫“母体”的计算机人工智能系统控制,人们就像他们饲养的动物,没有自由和思想,而尼奥就是能够拯救人类的救世主。 可是,救赎之路从来都不会一帆风顺,到底哪里才是真实的世界?
入职阿里5年,他如何破解“技术债”?
简介: 作者 | 都铎 作为一名技术人,你常常会听到这样的话: “先快速上线” “没时间改” “再缓一缓吧” “以后再解决” “先用临时方案处理” …… 当你埋下的坑越来越多,不知道哪天哪位同学就会踩上一颗雷。特别赞同“人最大的恐惧就是未知,当技术债可说不可见的时候,才是最让人不想解决的时候。” 作为一个程序员,我们反对复制粘贴,但是我们经常会见到相似的代码,相同的二方包,甚至整个代码...
Python绘图,圣诞树,花,爱心 | Turtle篇
每周每日,分享Python实战代码,入门资料,进阶资料,基础语法,爬虫,数据分析,web网站,机器学习,深度学习等等。 公众号回复【进群】沟通交流吧,QQ扫码进群学习吧 微信群 QQ群 1.画圣诞树 import turtle screen = turtle.Screen() screen.setup(800,600) circle = turtle.Turtle()...
作为一个程序员,CPU的这些硬核知识你必须会!
CPU对每个程序员来说,是个既熟悉又陌生的东西? 如果你只知道CPU是中央处理器的话,那可能对你并没有什么用,那么作为程序员的我们,必须要搞懂的就是CPU这家伙是如何运行的,尤其要搞懂它里面的寄存器是怎么一回事,因为这将让你从底层明白程序的运行机制。 随我一起,来好好认识下CPU这货吧 把CPU掰开来看 对于CPU来说,我们首先就要搞明白它是怎么回事,也就是它的内部构造,当然,CPU那么牛的一个东
破14亿,Python分析我国存在哪些人口危机!
2020年1月17日,国家统计局发布了2019年国民经济报告,报告中指出我国人口突破14亿。 猪哥的朋友圈被14亿人口刷屏,但是很多人并没有看到我国复杂的人口问题:老龄化、男女比例失衡、生育率下降、人口红利下降等。 今天我们就来分析一下我们国家的人口数据吧! 一、背景 1.人口突破14亿 2020年1月17日,国家统计局发布了 2019年国民经济报告 ,报告中指出:年末中国大陆总人口(包括31个
在家远程办公效率低?那你一定要收好这个「在家办公」神器!
相信大家都已经收到国务院延长春节假期的消息,接下来,在家远程办公可能将会持续一段时间。 但是问题来了。远程办公不是人在电脑前就当坐班了,相反,对于沟通效率,文件协作,以及信息安全都有着极高的要求。有着非常多的挑战,比如: 1在异地互相不见面的会议上,如何提高沟通效率? 2文件之间的来往反馈如何做到及时性?如何保证信息安全? 3如何规划安排每天工作,以及如何进行成果验收? ......
作为一个程序员,内存和磁盘的这些事情,你不得不知道啊!!!
截止目前,我已经分享了如下几篇文章: 一个程序在计算机中是如何运行的?超级干货!!! 作为一个程序员,CPU的这些硬核知识你必须会! 作为一个程序员,内存的这些硬核知识你必须懂! 这些知识可以说是我们之前都不太重视的基础知识,可能大家在上大学的时候都学习过了,但是嘞,当时由于老师讲解的没那么有趣,又加上这些知识本身就比较枯燥,所以嘞,大家当初几乎等于没学。 再说啦,学习这些,也看不出来有什么用啊!
2020年的1月,我辞掉了我的第一份工作
其实,这篇文章,我应该早点写的,毕竟现在已经2月份了。不过一些其它原因,或者是我的惰性、还有一些迷茫的念头,让自己迟迟没有试着写一点东西,记录下,或者说是总结下自己前3年的工作上的经历、学习的过程。 我自己知道的,在写自己的博客方面,我的文笔很一般,非技术类的文章不想去写;另外我又是一个还比较热衷于技术的人,而平常复杂一点的东西,如果想写文章写的清楚点,是需要足够...
别低估自己的直觉,也别高估自己的智商
所有群全部吵翻天,朋友圈全部沦陷,公众号疯狂转发。这两周没怎么发原创,只发新闻,可能有人注意到了。我不是懒,是文章写了却没发,因为大家的关注力始终在这次的疫情上面,发了也没人看。当然,我...
Java坑人面试题系列: 包装类(中级难度)
Java Magazine上面有一个专门坑人的面试题系列: https://blogs.oracle.com/javamagazine/quiz-2。 这些问题的设计宗旨,主要是测试面试者对Java语言的了解程度,而不是为了用弯弯绕绕的手段把面试者搞蒙。 如果你看过往期的问题,就会发现每一个都不简单。 这些试题模拟了认证考试中的一些难题。 而 “中级(intermediate)” 和 “高级(ad
深度学习入门笔记(十八):卷积神经网络(一)
欢迎关注WX公众号:【程序员管小亮】 专栏——深度学习入门笔记 声明 1)该文章整理自网上的大牛和机器学习专家无私奉献的资料,具体引用的资料请看参考文献。 2)本文仅供学术交流,非商用。所以每一部分具体的参考资料并没有详细对应。如果某部分不小心侵犯了大家的利益,还望海涵,并联系博主删除。 3)博主才疏学浅,文中如有不当之处,请各位指出,共同进步,谢谢。 4)此属于第一版本,若有错误,还需继续修正与...
这个世界上人真的分三六九等,你信吗?
偶然间,在知乎上看到一个问题 一时间,勾起了我深深的回忆。 以前在厂里打过两次工,做过家教,干过辅导班,做过中介。零下几度的晚上,贴过广告,满脸、满手地长冻疮。 再回首那段岁月,虽然苦,但让我学会了坚持和忍耐。让我明白了,在这个世界上,无论环境多么的恶劣,只要心存希望,星星之火,亦可燎原。 下文是原回答,希望能对你能有所启发。 如果我说,这个世界上人真的分三六九等,...
节后首个工作日,企业们集体开晨会让钉钉挂了
By 超神经场景描述:昨天 2 月 3 日,是大部分城市号召远程工作的第一天,全国有接近 2 亿人在家开始远程办公,钉钉上也有超过 1000 万家企业活跃起来。关键词:十一出行 人脸...
Java基础知识点梳理
Java基础知识点梳理 摘要: 虽然已经在实际工作中经常与java打交道,但是一直没系统地对java这门语言进行梳理和总结,掌握的知识也比较零散。恰好利用这段时间重新认识下java,并对一些常见的语法和知识点做个总结与回顾,一方面为了加深印象,方便后面查阅,一方面为了学好java打下基础。 Java简介 java语言于1995年正式推出,最开始被命名为Oak语言,由James Gosling(詹姆
2020年全新Java学习路线图,含配套视频,学完即为中级Java程序员!!
新的一年来临,突如其来的疫情打破了平静的生活! 在家的你是否很无聊,如果无聊就来学习吧! 世上只有一种投资只赚不赔,那就是学习!!! 传智播客于2020年升级了Java学习线路图,硬核升级,免费放送! 学完你就是中级程序员,能更快一步找到工作! 一、Java基础 JavaSE基础是Java中级程序员的起点,是帮助你从小白到懂得编程的必经之路。 在Java基础板块中有6个子模块的学
B 站上有哪些很好的学习资源?
哇说起B站,在小九眼里就是宝藏般的存在,放年假宅在家时一天刷6、7个小时不在话下,更别提今年的跨年晚会,我简直是跪着看完的!! 最早大家聚在在B站是为了追番,再后来我在上面刷欧美新歌和漂亮小姐姐的舞蹈视频,最近两年我和周围的朋友们已经把B站当作学习教室了,而且学习成本还免费,真是个励志的好平台ヽ(.◕ฺˇд ˇ◕ฺ;)ノ 下面我们就来盘点一下B站上优质的学习资源: 综合类 Oeasy: 综合
你也能看懂的:蒙特卡罗方法
蒙特卡罗方法,也称统计模拟方法,是1940年代中期由于科学技术的发展和电子计算机的发明,而提出的一种以概率统计理论为指导的数值计算方法。是指使用随机数(或更常见的伪随机数)来解决很多计算问题的方法 蒙特卡罗方法可以粗略地分成两类:一类是所求解的问题本身具有内在的随机性,借助计算机的运算能力可以直接模拟这种随机的过程。另一种类型是所求解问题可以转化为某种随机分布的特征数,比如随机事件出现的概率,或...
如何优雅地打印一个Java对象?
你好呀,我是沉默王二,一个和黄家驹一样身高,和刘德华一样颜值的程序员。虽然已经写了十多年的 Java 代码,但仍然觉得自己是个菜鸟(请允许我惭愧一下)。 在一个月黑风高的夜晚,我思前想后,觉得再也不能这么蹉跎下去了。于是痛下决心,准备通过输出的方式倒逼输入,以此来修炼自己的内功,从而进阶成为一名真正意义上的大神。与此同时,希望这些文章能够帮助到更多的读者,让大家在学习的路上不再寂寞、空虚和冷。 ...
雷火神山直播超两亿,Web播放器事件监听是怎么实现的?
Web播放器解决了在手机浏览器和PC浏览器上播放音视频数据的问题,让视音频内容可以不依赖用户安装App,就能进行播放以及在社交平台进行传播。在视频业务大数据平台中,播放数据的统计分析非常重要,所以Web播放器在使用过程中,需要对其内部的数据进行收集并上报至服务端,此时,就需要对发生在其内部的一些播放行为进行事件监听。 那么Web播放器事件监听是怎么实现的呢? 01 监听事件明细表 名...
相关热词 c#导入fbx c#中屏蔽键盘某个键 c#正态概率密度 c#和数据库登陆界面设计 c# 高斯消去法 c# codedom c#读取cad文件文本 c# 控制全局鼠标移动 c# temp 目录 bytes初始化 c#
立即提问