littlecodersh / MyPlatform

文科生也会配的微信个人号后台,Content based wechat massive platform framework, what you need to do is only adding your articles in :)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

功能与意见反馈,报bug可以另开issue

littlecodersh opened this issue · comments

都可以在这里交流,我会及时回复的~

您好,我想在arm上运行的ubuntu中运行这个,请问是否可行?另外还想问一下,这个是否只能让微信公众号访问到新浪云,而不能访问到你的PC或嵌入式的开发平台,例如树莓派等。

谢谢您的指导

@lodgefeng 你好

可以的,以树莓派为例:

  • 你需要有一个公网ip,保证通过该ip可以访问树莓派(ssh可用即可)
  • 在项目根目录下建立文件run.py,运行即可,文件内容为:
from app import app
app.run(host='0.0.0.0', port=80)
  • 之后将此公网ip作为服务器地址配置微信公众号后台即可

不过依旧建议在sae上搭建:

  • sae访问较快且稳定
  • 不存在主机的二十四小时开机要求
  • 不存在ip泄露导致的安全隐患
  • 免费(连电费也没有)

祝尝试顺利

@littlecodersh 您好,
非常感谢您的回复,我准备今年末装修房子,有搭建一个可以和云端互连的智能IOT家居系统,可以实时远程监控家里,目前我在用带ARM处理器的FPGA芯片在做原型,在上面移植的ubuntu已经移植起来,但是我之前一直再调,发下网络80端口好像都被封锁了,而微信只能访问80端口,而我之前试过用nat123的80端口去做中转,貌似URL一直超时,所以我想试试用新浪云是否有这样的解决方案。

谢谢了。

@lodgefeng 你好,

关于本机80端口占用

  • 使用nat123实际也需要占用80端口
  • nat123我并不熟悉,但就我的了解,使用nat123并不能将传输到别的外网端口的数据转移到外网80端口
  • 如果并非用户设置占用了80端口,可以查看是哪个程序导致80端口被占用

关于新浪云的中转

  • 是可行的,就相应的需求完成代码即可
  您好,我按照您的说法建立了一个run.py 然后config.py文件里面token、app_id、secret_code设定的和我微信公众号试用号设定的一致,tuling_key我空着,INDEX_URL我填了我nat123转发的网址
  目前我是用nat123转发,因为外网无法直接访问我的80端口。
  我在我的设备上运行Python2.7 run.py的时候,超级终端反馈:* Running on http://0.0.0.0:10/ (Press CTRL+C to quit)
  但是我在微信公众号试用网页运行接口配置信息提交,填写了我的网址、token之后点击提交,会显示配置失败,同时在我的串口端会收到如下信息:

192.168.1.104 - - [17/May/2016 15:04:09] "101.226.103.70:45058GET /?signature=b0db1d605708ecf4ba227763a70e3d13458bc355&echos
tr=1977376823234740220&timestamp=1463498748&nonce=1630643235 HTTP/1.0" 405 -

   这是提示已经接收到了signature信息了吗?但是好像提示了一个HTTP/1.0 405的ERROR

   请问您知道这个问题的产生是什么吗?

   谢谢了

@lodgefeng
按照flask的提示:的确收到了消息,但是http提示方法错误。

建议尝试这样debug:

  • 将一下内容写入run.py
from app import app
app.run(debug = True, host = '0.0.0.0', port = 10)
  • 在浏览器中访问
127.0.0.1:10/?signature=b0db1d605708ecf4ba227763a70e3d13458bc355&echos
tr=1977376823234740220&timestamp=1463498748&nonce=1630643235
  • 查看显示出的错误提示

应该是HTTP GET请求不被允许。我在网上看到405 ERROR都是说POST的错误造成,很少说GET的

@lodgefeng 恩,对的。你有试过本地调试么?

还没有,这几天忙,我回头试试,谢谢啦。

@lodgefeng 不客气的

按照你写的都一步一步都是对的,最后一步微信提交说token验证失败。

@wangkaixianmml 请确认是否已经成功上传代码

这个可以确定,我在sae上看到有记录的,而且那个网址我也能访问

@wangkaixianmml 邮件我联系方式,我给你看看

已发你邮箱,请帮忙看一下,谢谢

@wangkaixianmml 没有完成实名认证(文章首句就有加粗提示)

我也是一样的token验证失败问题,就是说实名认证后就可以了吗@littlecodersh

@wangkaixianmml 跳过任何一步都会token验证失败,他的情况是仅没有完成实名认证

@littlecodersh, 接入myplatform之后,原菜单实效了
可不可以显示原菜单呢,能不能写个patch?或者哪里可以自定义菜单?

@wangkaixianmml 目前个人号接入后台和自定义菜单不能共存

token验证失败是什么原理,我还是原来的做法,现在一直在报token验证失败。据说有人是买了nat123VIP2级的80端口中转,再买了万维网的个人域名,要用个人域名,最后才连上的。而且那人开了50M的宽带,后才比较稳定

@littlecodersh
个人系统 例如在ARM里面跑的ubuntuOS的移动终端怎么和SVN进行实时的数据交互,因为目前看来您的项目主要依托SVN进行回复。举例:移动终端假设采集温度信息,采集到的温度信息是不是都要运行update.py 选择4,update config 到git上去,这样看来,是否必须不断的人工执行这一操作。如果我想自动执行应该怎么办?

@lodgefeng 个人域名应该不用,有外网可以访问的80端口就可以了。
现在挂在sae上所以需要通过git每次更新数据,如果挂在本地主机上本身就不需要git这步操作。

commented

请问楼主,个人号接入后台后,可以推送文章吗?就是像在公众平台后台那样推送。

@sinb 可以的,还是照常推送就行

@littlecodersh
目前就是卡在个人主机的方法,照着您说的方法,因为个人主机微信说了http端口是80 https是433,了解到宽带运营商把80端口封闭访问(以前有试过80端口,确实啥也收不到),所以用80端口中转,目前卡在token认证,每次提交,我的超级终端都可以看到HTTP/1.1 " 405-的错误,也就是感觉有东西发到个人主机端,我的个人主机是移动设备的ubuntu系统。
后面我找了一下,网上建议可以把文件夹优先级调到最高,我就把MyPlatform的文件夹调到777,在此运行run.py,就发现和原来不一样了,会反馈会socket.error: [Errno 98] Address already in use ,我怀疑底层是不是有程序和我占用了同一端口,导致冲突,所以无法token认证成功。

@lodgefeng 能通过手机访问个人主机ip地址的80端口吗?

我的问题是后面git push origin master:1的时候不知道用户名和密码写什么?

@monchewharry sae的账号和安全密码,文章里有专门提到

101.226.233.145 [22/Jul/2016:00:53:38 +0800] /?signature=5b8c25818a6bd7a9f1cd78e40ff9cad7a0d09070&echostr=2065974713749208947&timestamp=1469120018&nonce=1208901088 404 0.001 0.001 238 ,因为对代码不是很懂,上传完毕,也实名认证了。但是http回复404,该怎么查原因。

@wentianx0512 用浏览器浏览sae的项目地址,看下404是报了什么错
看不出来的话把flask的debug打开再浏览
如果还是不行,邮件我联系方式,我帮你修一下

用浏览器浏览sae的项目地址,按要求填入账号密码,没有弹出什么错误;我没安装flask,这个是必须安装的么,需要的话我装下。(应该是我代码提交有问题,再整整。谢了!)

@wentianx0512 是sae的项目地址,就是访问你的项目对所有人的主页,就是xxx.applinzi.com那个
不需要安装flask的

@littlecodersh 早上访问的时候,提示我输入账号密码,输入后浏览器没反应。现在访问直接报404了。
项目地址:https://swallow.applinzi.com/

@wentianx0512 可以把debug打开,再访问

@littlecodersh 有些代码看不懂。。有什么指导的性的教程能发我一份吗

@Strangerbai 我这里是直接看微信的官方文档写的

@littlecodersh 刚刚接触Python,本来想基于你的程序添加点别的功能,但是有些有点看不懂。。然后自己写了一个简单的也失败了 好烦 基础太差了。。

@Strangerbai 从基础开始学吧,不急。之后有具体的问题也可以邮件我再交流。

commented

进入目录之后文章的图片显示不出来怎么破

@oldjohnh 最近微信更新了一下朋友圈的文章(就是大v阅读量集体下跌那次),导致图片的读取方法出了问题,这两天我会更新项目的。

好心痛,python3.x上各种错误。我已经看的痛苦不堪了。

@Zhang21 是的,体会一下维护两个版本的我的心路历程。
以及,你可以用用看itchatmp,那个两个版本我都在维护。

博主,想问一下订阅工作号的时候自动发送的消息在第三方平台哪里修改? 是我们本地文件夹里面的python文件里面吗?

看到了,在config.py里面。感谢楼主。

如何显示外部链接的图片,几次下来都是无法加载?

另外,如何能够将tab页面按照预想的排序呢

另外,是否可以通过菜单访问呢

git push origin master:1 
error: src refspec master does not match any. error: failed to push some refs to 
https://git.sinacloud.com/projectname'

因为不是很懂git,所以猜测这里是不是SAE改了默认版本的名字,所以导致以前的指令用不了了?
little可以看下,看是我的操作问题,还是需要改动下myplatform的git指令代码?


之前没有接触过git,自动执行第四步的事后,运行git指令,会出现错误如下:

git push origin master:1 
error: src refspec master does not match any. error: failed to push some refs to 
'https://git.sinacloud.com/projectname'

不懂git,一脸懵逼,然后又去看了看git最简单的指令
(其实还有一个commit的问题,是我要上传的版本比线上版本旧,后来了解了一下git,用pull和push解决,顺便大概了解了下)

然后在SEA的Git代码部署说明(代码管理最下面)下看到以下内容:
在你应用代码目录里,克隆git远程仓库

$ git clone https://git.sinacloud.com/geshishua
输入您的安全邮箱和密码。
$ cd geshishua

编辑代码并将代码部署到 `origin` 的版本1。
$ git add .
$ git commit -m 'Init my first app'
$ git push origin 1
SAE支持Git、SVN、代码打包上传三种提交方式,具体请参考:http://www.sinacloud.com/doc/sae/tutorial/code-deploy.html#git

重点是
$ git push origin 1
然后我最后尝试将在项目文件夹的全局搜索
git push origin master:1
两处全部改成了
git push origin 1
(因为官方的文档里用的是版本1作称呼,当时也是想碰碰运气,也许是改名字了?)
然后改了之后试了下!update成功!

因为不是很懂git,所以猜测这里是不是SAE改了默认版本的名字,所以导致以前的指令用不了了?
楼主可以参考一下?还是master其实是git里的一个指令?那为什么加上这个指令就用不了了呢?

另外,其实刚开始看到git,懵比自己windows怎么搞,然后发现了集成配置的msygit,也安利给大家(不用去搞模拟环境了)

msysgit是Windows版的Git,可以从https://git-for-windows.github.io下载

一直默认安装就行了,超级方便!建议把这个加到教程里,让这个项目更加“文科生”,哈哈!

@littlecodersh 请问这个和 itchatmp 是什么关系呢, 现在我想做一个监控数据平台, 数据通过树莓派传到sae, 在个人申请的订阅里通过输入词反馈, 请问选择哪个合适?

作者态度认真回复细心,赞赞赞!!我来学习一下~~

Hi,我总是卡在UPDATE ARTICLEs这一步,每次都失败,好奇怪啊,请问博主能提供个邮件地址吗?我想邮件里应该可以描述地清楚些。谢谢啦!