微信开发工具怎么打开项目

2020-02-05 00:24:55 baidu_38607919 阅读数 2212

因为是别的小伙伴的项目,所以,要换一个appID,可以换成自己的,HbuilderX运行在微信开发者工具,打不开,只会跳转到导入项目界面,不会打开这个项目,报错:

 

解决方法:

然后,关闭微信开发者工具,在HbuilderX重新运行项目,到微信开发者工具,即可,注意,有时不会直接打开,如果跳转到微信开发者工具导入项目界面,留意一下项目列表中是否有你要打开的项目,有就手动点击打开就可以了

2019-01-24 10:50:06 qq_29384639 阅读数 9881

问题:

 解决:

 

2018-09-01 18:50:22 qq934235475 阅读数 17233

写在之前:

由于业务扩展,公司需要开发小程序,之前在做RN开发,才结束,就得边学边维护。

但是,有东西学,当然是好的,正所谓工欲善其事必先利其器,开发一个新项目之前,版本管理工具可是第一位。

进入微信开发工具后,发现需要使用新的版本工具 - “工蜂”,在这之前公司用的 GitLab 搭建的服务器,本以为有什么不同,但是忘记了是 TX 的!!!咳咳,不难发现,这是微信开发工具有意推广 TX 的工蜂,其实也大同小异。

题外,工蜂?真的把我们程序猿当做蜜蜂了啊?啊,喂!

注:阅读之前,需要有git的相关操作以及机器安装Git。(补课传送门:https://git-scm.com/book/zh/v2


机器环境:

  1. Mac 10.13.3
  2. Git version 2.10.1

步骤说明:

  1. 需要登录工蜂平台(当蜜蜂传送门:https://git.code.tencent.com/users/sign_in),注册账户。
  2. 配置账户信息。
  3. 创建项目及分支。
  4. 微信开发工具配置。
  5. 拉取项目,提交合并测试。

以上五步,第一步进入自行注册即可,剩下四步。那么,废话不多说,let's go.


二,配置账户信息

登录后,点击【个人设置】配置好用户名及昵称后,在【密码设置】里配置好密码。

 


三,创建项目及分支

 

点击【返回个人中心】

 

 

右上角【创建项目】

 

 

在【新建项目】时,可以对项目名称进行命名,路径也就是项目名称啦。

 

这样,我们的项目版本库就创建好啦,当然,有的同学会问了,我的版本库是空的,那我下载什么?根据下面的提示,进入项目文件夹,比如使用微信开发工具新建了一个小程序的Project,那么进入该文件夹下,根据提示【创建一个新的版本库】进行操作即可。

四,微信开发工具配置。

使用微信开发工具打开项目,注意版本。

点击版本管理。

以下是基本的 git 操作以及分支的展示。【确实界面很简洁,看起来很舒服,但是,换成中文,竟然有一点不适应。】

接下来,点击【设置】->【网络和认证】,对账户进行配置,也就是刚才工蜂上面填写的。

配置完成啦。

注:如果需从git上拉取别的新项目,需使用git命令拉取项目到文件夹之后,再使用微信开发工具打开进行如上操作即可。

git clone "url"

五,拉取项目,提交合并测试。

点击拉取,选择分支以及合并方式即可拉取该分支下的更新。

出现这个小勾,则表示拉取成功啦,在【历史】一栏中可以查看。

 


附加步骤:

什么?为什么还会有附加步骤,说好的五步走呢?

哈哈哈哈,打不过我吧,啦啦啦啦啦啦啦啦~各位忘了,第一步不是注册账户吗,抵消抵消~

咳咳,言归正传,通常 Gitmaster 分支,是对外发布的主要稳定版本,也就是生产版本。所以,需要新建一个自己的分支对项目进行操作。

此外,需要一个 develop 分支来对大家开发的代码进行合并,之后在上线的时候,推送到 master 分支。

master 分支的 bug ,切一个新分支【命名为 master + 预计发布日期 如 master20181212 】出来进行修改,而新功能则在 develop 上继续开发。详细传送门:http://blog.jobbole.com/109466/)。

所以,我们现在需要新建一个自己的分支来供自己提交代码,上述大概的流程是:

提交并推送到【自己的分支】->合并推送到【 develop 分支】->合并推送到【 master 分支】


话不多说,开搞开搞。

点击【项目】,然后找到刚才初始化后的项目点击进入:

点击【分支】即可查看当前项目下拥有的分支

这里已经有了两个分支,一个是 master ,一个是我自己创建的分支,点击右上角【创建分支】,进行新分支创建。

输入新分支的名称,以及分支的来源(from)

创建好之后,在微信开发工具中进行相应操作。

点击【分支】即可新建一个本地分支

选择基于哪个分支创建,这里命名需和远程新建的一样

创建好之后,点击抓取

这样,我们本地有了新建的分支,远程也有了新建的分支。那么新建的分支提交并推送代码后,点击【合并】,比如我A分支提交推送后,本地检出(check out)master分支,然后合并本地的A分支,在点击推送。这样,远程的A和master分支都有了更新的代码,其他伙伴更新分支,即可下载到你提交的代码。


好了,就先写到这儿,可能说得有点快,有不详细获取错误的地方,欢迎指出。当然,有什么不明白也可以留言交流。


不知道我有没有写得通俗易懂,如果觉得哪步有疑惑,可以留言,欢迎指出不足。

下面是我自己搞的一个公众号,分享讨论交流技术~,也可以解答一些你遇到的问题,给我留言就行。

感谢 Thanks♪(・ω・)ノ。

2018-11-01 20:48:47 qq_31766907 阅读数 102126

最近项目组在开发一款运行在微信小游戏环境的斗地主游戏,项目的第一个版本收尾阶段突然出现了一个奇怪的bug,因为之前开发阶段的测试都是在浏览器以及微信开发工具上的模拟器进行的测试,所以直到临近项目上线才发现这个问题,具体表现如下:游戏运行在手机上会特别卡,并且卡一段时间、或者卡一下就断线,即使断线恢复后也依然很不稳定。

初步猜想:卡顿问题属于客户端程序问题,断线情况可以排除心跳包问题,可能是客户端发送消息包存在格式问题,或者服务器一些异常导致。

首先通过调试信息来看,客户端并没有主动请求断开与服务器的连接,追踪服务器的日志信息来看,在客户端与服务器断开连接前,都是因为数据传输协议解析错误问题,导致服务器主动断开连接的,然后就又通过调试信息查看断开连接前客户端发送给客户端的消息包是否有格式问题,结果出乎意料没有。

这就奇怪了,没办法,项目周期将至,不得不做些取舍,暂时实在没有头绪只好打算在服务器解析到消息包错误时忽略该消息,不做主动断开连接,本以为这样就可以暂时了事,怎料游戏运行在手机环境下的问题依然存在。

从断线这条路线找下去没有头绪,只好换成从卡顿问题下手,用排除法把可能的逻辑代码注释调试,最后定位出了是因为代码中有些地方的console.log(...)日志记录非常耗时,有些地方光是因为加了这行代码就使逻辑执行时间慢了3秒,好了,问题找出来了就好办,最后采取的措施是:开发测试时因为是用浏览器以及微信开发工具模拟器调试,加上在模拟器上又不存在这种现象(其实是设备配置问题),所以程序员自己测试不加任何优化,如果是要上传微信体验包,就把console.log方法重写为一个空方法,这样,项目里每一句调用console.log()方法的地方实际不能使用正常的日志记录功能,仅仅是调用的一个空方法,这样改善之后,游戏跑在手机上就不存在这种问题了。

2017-01-06 17:25:10 wang_kill 阅读数 11104


微信开发工具下载:https://mp.weixin.qq.com/debug/wxadoc/dev/devtools/devtools.html?t=1474644083132

微信开发API说明:https://mp.weixin.qq.com/debug/wxadoc/dev/api/?t=201715

微信开发API组件说明:https://mp.weixin.qq.com/debug/wxadoc/dev/component/?t=201715

微信小程序第一个官方示例:https://mp.weixin.qq.com/debug/wxadoc/dev/demo/quickstart.zip?t=201715

小程序平台:http://www.itqq.cc

本文档将带你一步步创建完成一个微信小程序,并可以在手机上体验该小程序的实际效果。这个小程序的首页将会显示欢迎语以及当前用户的微信头像,点击头像,可以在新开的页面中查看当前小程序的启动日志。

1. 获取微信小程序的 AppID

登录 https://mp.weixin.qq.com ,就可以在网站的“设置”-“开发者设置”中,查看到微信小程序的 AppID 了,注意不可直接使用服务号或订阅号的 AppID 。

注意:如果要以非管理员微信号在手机上体验该小程序,那么我们还需要操作“绑定开发者”。即在“用户身份”-“开发者”模块,绑定上需要体验该小程序的微信号。本教程默认注册帐号、体验都是使用管理员微信号。

2. 创建项目

我们需要通过开发者工具,来完成小程序创建和代码编辑。

开发者工具安装完成后,打开并使用微信扫码登录。选择创建“项目”,填入上文获取到的 AppID ,设置一个本地项目的名称(非小程序名称),比如“我的第一个项目”,并选择一个本地的文件夹作为代码存储的目录,点击“新建项目”就可以了。

为方便初学者了解微信小程序的基本代码结构,在创建过程中,如果选择的本地文件夹是个空文件夹,开发者工具会提示,是否需要创建一个 quick start 项目。选择“是”,开发者工具会帮助我们在开发目录里生成一个简单的 demo。

项目创建成功后,我们就可以点击该项目,进入并看到完整的开发者工具界面,点击左侧导航,在“编辑”里可以查看和编辑我们的代码,在“调试”里可以测试代码并模拟小程序在微信客户端效果,在“项目”里可以发送到手机里预览实际效果。

3. 编写代码

创建小程序实例

点击开发者工具左侧导航的“编辑”,我们可以看到这个项目,已经初始化并包含了一些简单的代码文件。最关键也是必不可少的,是 app.js、app.json、app.wxss 这三个。其中,.js后缀的是脚本文件,.json后缀的文件是配置文件,.wxss后缀的是样式表文件。微信小程序会读取这些文件,并生成小程序实例

下面我们简单了解这三个文件的功能,方便修改以及从头开发自己的微信小程序。

app.js是小程序的脚本代码。我们可以在这个文件中监听并处理小程序的生命周期函数、声明全局变量。调用框架提供的丰富的 API,如本例的同步存储及同步读取本地数据。想了解更多可用 API,可参考 API 文档

//app.js
App({
  onLaunch: function () {
    //调用API从本地缓存中获取数据
    var logs = wx.getStorageSync('logs') || []
    logs.unshift(Date.now())
    wx.setStorageSync('logs', logs)
  },
  getUserInfo:function(cb){
    var that = this;
    if(this.globalData.userInfo){
      typeof cb == "function" && cb(this.globalData.userInfo)
    }else{
      //调用登录接口
      wx.login({
        success: function () {
          wx.getUserInfo({
            success: function (res) {
              that.globalData.userInfo = res.userInfo;
              typeof cb == "function" && cb(that.globalData.userInfo)
            }
          })
        }
      });
    }
  },
  globalData:{
    userInfo:null
  }
})

app.json 是对整个小程序的全局配置。我们可以在这个文件中配置小程序是由哪些页面组成,配置小程序的窗口背景色,配置导航条样式,配置默认标题。注意该文件不可添加任何注释。更多可配置项可参考配置详解

{
  "pages":[
    "pages/index/index",
    "pages/logs/logs"
  ],
  "window":{
    "backgroundTextStyle":"light",
    "navigationBarBackgroundColor": "#fff",
    "navigationBarTitleText": "WeChat",
    "navigationBarTextStyle":"black"
  }
}

app.wxss 是整个小程序的公共样式表。我们可以在页面组件的 class 属性上直接使用 app.wxss 中声明的样式规则。

/**app.wxss**/
.container {
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  padding: 200rpx 0;
  box-sizing: border-box;
}

创建页面

在这个教程里,我们有两个页面,index 页面和 logs 页面,即欢迎页和小程序启动日志的展示页,他们都在 pages 目录下。微信小程序中的每一个页面的【路径+页面名】都需要写在 app.json 的 pages 中,且 pages 中的第一个页面是小程序的首页。

每一个小程序页面是由同路径下同名的四个不同后缀文件的组成,如:index.js、index.wxml、index.wxss、index.json。.js后缀的文件是脚本文件,.json后缀的文件是配置文件,.wxss后缀的是样式表文件,.wxml后缀的文件是页面结构文件。

index.wxml 是页面的结构文件:

<!--index.wxml-->
<view class="container">
  <view  bindtap="bindViewTap" class="userinfo">
    <image class="userinfo-avatar" src="{{userInfo.avatarUrl}}" background-size="cover"></image>
    <text class="userinfo-nickname">{{userInfo.nickName}}</text>
  </view>
  <view class="usermotto">
    <text class="user-motto">{{motto}}</text>
  </view>
</view>

本例中使用了<view/><image/><text/>来搭建页面结构,绑定数据和交互处理函数。

index.js 是页面的脚本文件,在这个文件中我们可以监听并处理页面的生命周期函数、获取小程序实例,声明并处理数据,响应页面交互事件等。

//index.js
//获取应用实例
var app = getApp()
Page({
  data: {
    motto: 'Hello World',
    userInfo: {}
  },
  //事件处理函数
  bindViewTap: function() {
    wx.navigateTo({
      url: '../logs/logs'
    })
  },
  onLoad: function () {
    console.log('onLoad')
    var that = this
    //调用应用实例的方法获取全局数据
    app.getUserInfo(function(userInfo){
      //更新数据
      that.setData({
        userInfo:userInfo
      })
    })
  }
})

index.wxss 是页面的样式表:

/**index.wxss**/
.userinfo {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.userinfo-avatar {
  width: 128rpx;
  height: 128rpx;
  margin: 20rpx;
  border-radius: 50%;
}

.userinfo-nickname {
  color: #aaa;
}

.usermotto {
  margin-top: 200px;
}

页面的样式表是非必要的。当有页面样式表时,页面的样式表中的样式规则会层叠覆盖 app.wxss 中的样式规则。如果不指定页面的样式表,也可以在页面的结构文件中直接使用 app.wxss 中指定的样式规则。

index.json 是页面的配置文件:

页面的配置文件是非必要的。当有页面的配置文件时,配置项在该页面会覆盖 app.json 的 window 中相同的配置项。如果没有指定的页面配置文件,则在该页面直接使用 app.json 中的默认配置。

logs 的页面结构

<!--logs.wxml-->
<view class="container log-list">
  <block wx:for="{{logs}}" wx:for-item="log">
    <text class="log-item">{{index + 1}}. {{log}}</text>
  </block>
</view>

logs 页面使用 <block/> 控制标签来组织代码,在 <block/> 上使用 wx:for 绑定 logs 数据,并将 logs 数据循环展开节点

//logs.js
var util = require('../../utils/util.js')
Page({
  data: {
    logs: []
  },
  onLoad: function () {
    this.setData({
      logs: (wx.getStorageSync('logs') || []).map(function (log) {
        return util.formatTime(new Date(log))
      })
    })
  }
})

运行结果如下:

4. 手机预览

开发者工具左侧菜单栏选择"项目",点击"预览",扫码后即可在微信客户端中体验。