2019-10-08 11:33:21 weixin_43042683 阅读数 51
  • 微信支付开发-微信公众号开发12-微信开发php

    微信公众平台开发之微信支付开发是子恒老师《微信公众平台开发》视频教程的第12部。详细讲解了用php进行微信支付的开发。内容包含获取支付密钥,微信公众号支付开发,扫码支付,微信刷卡支付,异步处理支付结果等等。欢迎反馈,微信/QQ:68183131

    28913 人正在学习 去看看 秦子恒

声明:首先我的文章,是问题探讨,而不是问题解决,因为我真的也不知道怎么解决。

前言:

就在2019年10月6日下午,我安装了微信开发者工具,初次安装可以正常使用,但我这个人脑缺,用于主要用于开发微信小程序,我打开了公众号网页的制作,之后不知道怎么返回首页,就卸载了,对,卸载了。。。本来想卸载重装就完事了,但万万没想到,之后我就经历了两天的微信开发者工具无法打开登陆的苦恼,还被同学嘲笑她一分钟安好了,我却搞了两天。这。。。我也不想啊,嘤嘤嘤。

问题解决方法探讨:

我是在微信开发社区中(https://developers.weixin.qq.com/miniprogram/dev/devtools/download.html)下载的,首先我可以肯定,这个下载安装包肯定没问题,因为我第一次安装成功使用就是在这里下载的。我第一次是安装在了D盘,新建的文件夹“微信开发工具”,之后我重新安装也是在这个文件夹,但安装无法使用。然后我就在CSDN上各个大佬的博客找解决方法(其实我也想知道是什么原因,但他们都没说哎)。找到的方法如下:

方法一:重新安装或电脑重启。

方法二在任务管理器上关闭所有有关微信开发者工具的进程/任务,重新打开微信开发者工具。

方法三:右键你的微信Web开发工具,选择属性。在属性、兼容性中,点击兼容模式到兼容性选项卡(我的是win10的系统),并选着以管理员身份运行此程序。点击应用,并确认更改。

方法四:重装 “微信web开发者工具” ,要把安装目录修改为非上次安装的目录(安装在一个新目录下,不受原有文件影响)

方法五:下载安装32位微信开发者工具。

方法六:把微信开发者工具自动生成的桌面快捷方式删除,找到微信开发者工具安装目录下的wechatdevtools.exe(微信开发者工具)文件,将它发送到桌面快捷方式,重新打开。

我的方法:是把微信开发者工具重装在了F盘,也就是我把安装地址换成不同盘符了。

总结:

对于不同方法,有的人有不同反应。其中方法二,方法五,反应解决的最多。当然像方法一、方法三、方法四的也有一部分人反应问题得到解决。至于方法六和我这种方法,感觉有点奇葩哈。不过可以试试,祝你好运。

对于我现在安装好了,赶上微信小程序注册维修,无法申请,也是服了。摸摸我的小心肝。。。

2016-12-20 11:30:59 mcz555 阅读数 4418
  • 微信支付开发-微信公众号开发12-微信开发php

    微信公众平台开发之微信支付开发是子恒老师《微信公众平台开发》视频教程的第12部。详细讲解了用php进行微信支付的开发。内容包含获取支付密钥,微信公众号支付开发,扫码支付,微信刷卡支付,异步处理支付结果等等。欢迎反馈,微信/QQ:68183131

    28913 人正在学习 去看看 秦子恒

开发微信公众号,发现微信web开发者工具的登陆二维码页面排版乱了,扫码后登陆不上。



右击检查,发现有报错,jQuery is not defined.          再往上查找,果然有一个引用jQuery的没引用到。   复制下链接在链接器上打开,发现访问不了。

联想到QQ空间有时也有资源加载不了的情况,故推想为DNS问题,某些站点本人这边的网络访问不了。


所以去搜索了一下腾讯的公共DNS:119.29.29.29,修改成功后,重新刷新 OK!







扫码后,正常登陆。

2020-03-25 11:06:44 nianiandongtian 阅读数 17
  • 微信支付开发-微信公众号开发12-微信开发php

    微信公众平台开发之微信支付开发是子恒老师《微信公众平台开发》视频教程的第12部。详细讲解了用php进行微信支付的开发。内容包含获取支付密钥,微信公众号支付开发,扫码支付,微信刷卡支付,异步处理支付结果等等。欢迎反馈,微信/QQ:68183131

    28913 人正在学习 去看看 秦子恒

在进行小程序开发前,先到微信开发平台注册小程序账号,以下会用到账号的AppID,不输入部分权限会无效。

1、安装微信开发者工具,可根据需要安装对应版本,这里安装的是稳定版;

2、安装好后,运行,出现扫码界面扫码登陆即可到以下界面:

3、创建项目,输入相应的项目名、AppID(自己注册的微信小程序账号里的),后台服务选“不启用云服务”,新建,到该界面:

4、可以看到有不同类型的文件,其中app.json是当前小程序的全局配置文件,决定页面路径、窗口表现、底部tab等;

(1)、pages:接受一个数组,每一个值都为字符串,表示页面的路径,不需要详细写出所有文件,直接以文件夹+文件名(不包括后缀)的形式代表了该文件夹里对应该文件名的一系列文件;

(2)、window:接受一个对象,设置所有页面顶部的背景色、文字色、标题内容、下拉区域文字和loading图的样式;

(3)、tabBar:接受一个对象,设置底部分多栏显示,具体每栏信息在list数组里设置,tab个数只能最少配置2个,最多配置5个,以数组的顺序显示;

5、app.wxss用来设置所有页面公共样式,如每个页面最外部容器设为container,均要设置整个宽高、背景色等;

6、app.js用来定义一些全局的方法;

7、pages文件夹里存储着所有页面,如index.wxml、index.wxss、index.js,其中涉及单向数据绑定等如何使用,具体看下篇。

2019-01-12 20:35:00 u013818205 阅读数 191
  • 微信支付开发-微信公众号开发12-微信开发php

    微信公众平台开发之微信支付开发是子恒老师《微信公众平台开发》视频教程的第12部。详细讲解了用php进行微信支付的开发。内容包含获取支付密钥,微信公众号支付开发,扫码支付,微信刷卡支付,异步处理支付结果等等。欢迎反馈,微信/QQ:68183131

    28913 人正在学习 去看看 秦子恒

微信小程序框架制作

参考网址 https://developers.weixin.qq.com/miniprogram/dev/#安装开发工具

微信小程序交流群:111733917 | 微信小程序从0基础到就业的课程:https://edu.csdn.net/topic/huangjuhua

下载后的软件图标
微信小程序框架制作

安装后的桌面图标

在这里插入图片描述

登陆第一次需要用手机微信扫描二维码

在这里插入图片描述

欢迎大家支持我是视频课程:微信小程序框架的制作
微信小程序框架制作

2018-05-21 15:32:24 weixin_38807994 阅读数 101133
  • 微信支付开发-微信公众号开发12-微信开发php

    微信公众平台开发之微信支付开发是子恒老师《微信公众平台开发》视频教程的第12部。详细讲解了用php进行微信支付的开发。内容包含获取支付密钥,微信公众号支付开发,扫码支付,微信刷卡支付,异步处理支付结果等等。欢迎反馈,微信/QQ:68183131

    28913 人正在学习 去看看 秦子恒

本篇将帮助读者实现基于 微信开发者工具 & C#环境 下的用户在小程序上的授权登陆。

 

 

准备:

微信开发者工具下载地址:https://developers.weixin.qq.com/miniprogram/dev/devtools/download.html

微信小程序开发文档:https://developers.weixin.qq.com/miniprogram/dev/index.html

 

开发:

在开发之初,我们需要先明确微信方已经制定好的授权登陆流程,参看 官方API - 登陆接口

你会看到微信方为开发者制定好的登陆授权流程:

 

 

如图,即为一个顺向的用户登陆授权的流程。

为什么说它是一个顺向的流程呢?因为在真正的小程序开发中,我们并不确定用户何时需要起调如上的登陆流程(如:用户在某些特定场景下的凭证丢失,但Ta并没有退出小程序而是在小程序内部做跳转等相关操作,即有可能导致一些预期之外的异常),所以,我们需要在这个顺向的流程之外,加一层检测机制,来解决这些异常场景,而官方API中,wx.checkSession 刚好可以一定程度上解决这个问题。

那么,我们的认证流程其实应该是:

- 小程序 wx.checkSession 校验登陆态为失效

 

    - success :接口调用成功的回调函数,session_key未过期,流程结束;    

    - fail :接口调用失败的回调函数,session_key已过期

        -》 小程序端 wx.login 获取code 并 wx.request 提交code给己方服务器

        -》 己方服务器 提交Appid + appSecret + code 到微信方服务器 获取 session_key & openid

        -》 己方服务器 根据 session_key & openid  生成 3rd_session(微信方提出的基于安全性的考虑,建议开发者不要将openid等关键性信息进行数据传输) 并返回 3rd_session 到小程序端

        -》 小程序端 wx.setStorage 存储 3rd_session ( 在后续用户操作需要凭证时 附带该参数 )

        -》 小程序端 wx.getUserInfo 获取用户信息 + wx.getStorage 获取 3rd_session 数据后,一并 wx.request 提交给己方服务器

         -》 己方服务器 SQL用户数据信息更新,流程结束;

 

思路整理完毕,接下来实现流程

小程序端:

在小程序中,新建一个通用的JS做基础支持

并在一些需要引用的页面进行引用

var common = require("../Common/Common.js")

接着,在Common.js 中实现逻辑

//用户登陆
function userLogin() {
  wx.checkSession({
    success: function () {
      //存在登陆态
    },
    fail: function () {
      //不存在登陆态
      onLogin()
    }
  })
}

function onLogin() {
  wx.login({
    success: function (res) {
      if (res.code) {
        //发起网络请求
        wx.request({
          url: 'Our Server ApiUrl',
          data: {
            code: res.code
          },
          success: function (res) {
            const self = this
            if (逻辑成功) {
              //获取到用户凭证 存儲 3rd_session 
              var json = JSON.parse(res.data.Data)
              wx.setStorage({
                key: "third_Session", 
                data: json.third_Session
              })
              getUserInfo()
            }
            else {

            }
          },
          fail: function (res) {

          }
        })
      }
    },
    fail: function (res) {
  
    }
  })

}

function getUserInfo() {
  wx.getUserInfo({
    success: function (res) {
      var userInfo = res.userInfo
      userInfoSetInSQL(userInfo)
    },
    fail: function () {
      userAccess()
    }
  })
}

function userInfoSetInSQL(userInfo) {
  wx.getStorage({
    key: 'third_Session',
    success: function (res) {
      wx.request({
        url: 'Our Server ApiUrl',
        data: {
          third_Session: res.data,
          nickName: userInfo.nickName,
          avatarUrl: userInfo.avatarUrl,
          gender: userInfo.gender,
          province: userInfo.province,
          city: userInfo.city,
          country: userInfo.country
        },
        success: function (res) {
          if (逻辑成功) {
            //SQL更新用户数据成功
          }
          else {
            //SQL更新用户数据失败
          }
        }
      })
    }
  })
}

至此,小程序端的流程基本实现完毕,接着实现己方服务API

Login 接口逻辑范例

 if (dicRequestData.ContainsKey("CODE"))
        {
            string apiUrl = string.Format("https://api.weixin.qq.com/sns/jscode2session?appid={0}&secret={1}&js_code={2}&grant_type=authorization_code", ProUtil.SmartAppID, ProUtil.SmartSecret, dicRequestData["CODE"]);
        
            HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create(apiUrl);
            myRequest.Method = "GET";
            HttpWebResponse myResponse = (HttpWebResponse)myRequest.GetResponse();
            StreamReader reader = new StreamReader(myResponse.GetResponseStream(), Encoding.UTF8);
            string content = reader.ReadToEnd();
            myResponse.Close();
            reader.Close();
            reader.Dispose();

            //解析
            userModel ReMsg = JSONUtil.JsonDeserialize<userModel>(content); //解析
            if ((!string.IsNullOrWhiteSpace(ReMsg.openid)) && (!string.IsNullOrWhiteSpace(ReMsg.session_key)))
            {
                // 成功 自定义生成3rd_session与openid&session_key绑定并返回3rd_session

            }
            else
            {
                // 错误 未获取到用户openid 或 session
            }
        }
        else
        {
            // 错误 未获取到用户凭证code
        }

UserInfoUpdate 接口在此不加赘述,用户根据自身情况对数据进行操作即可,微信方调用成功时返回的相关参数信息如下

至此,完成了小程序基本的授权登陆及用户信息的获取。

最后的最后,是从别人那里学来的赚零钱小套路~ 赏点小钱鼓励一下我吧 ! ! ! (๑•̀ㅂ•́)و✧

认真看完以上所有后

有啥不懂的 欢迎留言提问~

注:以上内容有所删减,仅保留通用内容。在具体项目中必定存在部分逻辑需要调整,引鉴的同学请注意

 

 

 

 

微信开发流程

阅读数 219

没有更多推荐了,返回首页