微信开发2-微擎

创青春省赛搞完,期中考试考完,又可以闲下来搞这个了
尝试了下宝塔面板管理服务器,比较好用,于是准备结合微擎来往下开发

其实要一个自定义菜单转到外链的功能。
至于为什么用微擎:微信官方开发说明对新手不太友好,自己是卡在与服务器的绑定那停滞不前,官方给的 web.py 那些部署了还是连接失败,没脾气了。
微擎的话相当于将操作简化了,且功能十分多。 作为学习的话,后面还是会转向原生的开发。
环境: 腾讯云服务器(香港)centos7 + Xshell + 微信测试号

目录:

  • 宝塔面板安装及一些调试
  • 微擎 && 微信公众号对接

宝塔面板安装及一些调试

宝塔面板,管理服务器更加方便,且有服务器安全监控,数据库和 FPT 等要稍微修改配置。

centos 直接 yum 源安装:

yum install -y wget && wget -O install.sh http://download.bt.cn/install/install.sh && sh install.sh

(ps:一键安装的过程中最好是 root 身份,因为涉及到的一些目录可能需要权限)
安装之后的界面

安装之后停留在此,上面会给出宝塔的账号密码。 之后 http://XXXX:8888 即可进入面板。(xxxx 表示自己服务器地址或域名)

接下来是微擎的环境。微擎基于 PHP,可用 LNMP 和 LAMP,二选一。A 和 N 分别指的是 apache 和 nginx。
传送门:Centos 7.3 搭建 LNMP 环境

当然,宝塔给出了一键部署:
给出了两种套件

两种方式的话,新手作为学习可以尝试手动 SSH 相应服务,修改配置。
学习到知识之后,可以一键部署。

这里给出几个设置的修改:

  1. FTP 不能远程管理
    1. 服务器控制台和面板开放 21 端口
    2. 登陆宝塔面板管理系统,找到左侧的“软件管理”--“FTP 软件”--- 点击“设置”
    3. 点击配置修改:查找“ForcePassiveIP”(位置 188 行左右)
    4. 删除前面的“#”将“192.168.0.1”修改为:服务器的 IP 地址,是服务器不是你客户端的 IP 地址!
    5. 重启 FTP

2.MySql 不能远程连接
服务器控制台和面板开放 3361 端口(安全问题,慎开,学会习惯用 phpmyadmin)

微擎 && 微信公众号对接

  • 安装微擎:

有了 LNMP 环境之后,我们把 下载的微擎 通过 FTP 上传到网站根目录,注意要解压出来

然后访问 http:// 你的域名 /install.php 进行安装,之后设置参数

这里注意到要用微擎的管理员账号,如果忘记了,可以进行以下步骤: (类似微赞等平台通用,WordPress 找时间测试下) 1,下载附件 password.php(第四页会给到源码和下载地址) 2,使用文本编辑器修改第一行 $auth = ‘你的访问密码, 如 :123456’; 3,上传至你的微擎根目录 4,访问:你的域名 /password.php 操作并重置密码 5,删除 password.php (重要)

(温馨提示:请确定文件的 USER 权限!)
重置密码完成后需要尽快删除 password.php 避免资料泄露

  • 微擎与微信测试号对接:

微擎中打开:公众号 -> 公众号设置
微擎设置界面

测试号 / 公众号里面: 先设置安全域名

两边进行对接和绑定,这里就对应微信官方文档给出的绑定服务器操作。

这里第一次终于直接绑定成功,之后项目原因换了服务器之后,绑定到另一个上面就又显示绑定失败,但微擎仍然可以对之进行管理。
可能这个是跟域名走的吧,原因是需要更新微擎版本。

这里给出项目测试号的二维码:

管理员密码就是 WeLock。

### 附录:

password.php 源码:

<?php //使用后记得删除文件
//因为使用造成的安全问题 本人概不负责
//转载请注明保留版权信息、网址和作者
//BY:http://www.ariser.cn
//定义你的访问密码后上传
$auth = '123';
 
define('IN_SYS', true);
require './framework/bootstrap.inc.php';
load()-?>web('template');
load()->web('common');
load()->model('user');
 
if($_W['ispost'] && $_GPC['auth'] == $auth && $auth != '') {
    $isok = true;
    $username = trim($_GPC['username']);
    $password = $_GPC['password'];
    if(!empty($username) && !empty($password)) {
        
        $member = user_single(array('username'=>$username));
        if(empty($member)) {
            message('输入的用户名不存在.');
        }
        $hash = user_hash($password, $member['salt']);
        $r = array();
        $r['password'] = $hash;
        pdo_update('users', $r, array('uid'=>$member['uid']));
        exit('<script>alert(密码修改成功, 请重新登陆, 并尽快删除本文件, 避免密码泄露隐患.);location.href = ./</script>');
    }
}
?>



    <meta charset="utf-8"></meta><meta content="IE=edge" http-equiv="X-UA-Compatible"></meta><meta content="width=device-width," initial-scale="1.0" name="viewport"></meta><link href="./resource/favicon.png" icon="" rel="shortcut"></link><title>密码找回工具 FOR 0.6 - 微擎 - 公众平台自助引擎 -  Powered by WE7.CC</title><link href="./web/resource/css/bootstrap.min.css" rel="stylesheet"></link><link href="./web/resource/css/font-awesome.min.css" rel="stylesheet"></link><link href="./web/resource/css/common.css" rel="stylesheet"></link><script src="./web/resource/js/require.js"></script><script src="./web/resource/js/app/config.js"></script><div class="main">
    <form action="" class="form-horizontal" enctype="multipart/form-data" form="" formcheck="" method="post" onsubmit="return">
        <div class="panel" panel-default="" style="margin:10px;">
            <div class="panel-heading">
                重置密码 <span class="text-muted">如果你的管理密码意外遗失, 请使用此工具重置密码, 重置成功后请尽快将此文件从服务器删除, 避免造成安全隐患</span>
            </div>
            <div class="panel-body">
                <?php if($isok) {??><div class="form-group">
                    <label class="col-xs-12" col-lg-2="" col-md-2="" col-sm-3="" control-label="">用户名:</label>
                    <div class="col-sm-9">
                        <input echo="" name="auth" type="hidden" value="<?php"></input> />
                        <input class="form-control" name="username" placeholder="请输入你要重置密码的用户名" type="text"></input></div>
                </div>
                <div class="form-group">
                    <label class="col-xs-12" col-lg-2="" col-md-2="" col-sm-3="" control-label="">新的登录密码:</label>
                    <div class="col-sm-9">
                        <input class="form-control" name="password" placeholder="" type="password"></input></div>
                </div>
                <?php } else {??><div class="form-group">
                    <label class="col-xs-12" col-lg-2="" col-md-2="" col-sm-3="" control-label="">请输入访问密码</label>
                    <div class="col-sm-9">
                        <input class="form-control" name="auth" placeholder="" type="password"></input></div>
                </div>
                <?php }??><div class="form-group">
                    <label class="col-xs-12" col-lg-2="" col-md-2="" col-sm-3="" control-label=""></label>
                    <div class="col-sm-9">
                        <button btn-block="" btn-primary="" class="btn" name="submit" type="submit" value="提交">提交</button>
                        <input name="token" type="hidden" value="{$_W['token']}"></input></div>
                </div>
            </div>
        </div>
    </form>
</div>

本文链接:https://ariser.cn/index.php/archives/8/
本站文章采用 知识共享署名4.0 国际许可协议进行许可,请在转载时注明出处及本声明!