分类 源码解剖 下的文章

weblog.png

WeBlog

996.icu

typecho博客的小程序版,支持微信小程序,QQ小程序

特性

音频播放

支持Aplayer插件播放audio/音乐

2020-02-21T03:36:30.png

跨平台编译

基于uni-app开发,支持多端编译。包括但不限于,APP,微信小程序,快应用,QQ小程序,支付宝小程序,H5移动端

微信小程序QQ小程序
微信小程序二维码QQ小程序二维码

一键换肤

采用互补色彩设计原则,支持一键修改主题色。修改文件中的RGB值,即可一键换肤。下面提供一些颜色供以参考。

知乎蓝

首页文章页关于页
2020-02-21T02:35:52.png2020-02-21T02:36:10.png2020-02-21T02:36:31.png

思否绿

首页文章页关于页
2020-02-21T02:42:26.png2020-02-21T02:42:41.png2020-02-21T02:42:52.png

CSDN红

首页文章页关于页
2020-02-21T02:44:27.png2020-02-21T02:44:41.png2020-02-21T02:44:53.png

掘金蓝

首页文章页关于页
2020-02-21T02:46:51.png2020-02-21T02:47:06.png2020-02-21T02:47:16.png

简书红

首页文章页关于页
2020-02-21T02:48:58.png2020-02-21T02:49:07.png2020-02-21T02:49:17.png

GitHub灰

首页文章页关于页
2020-02-21T02:50:57.png2020-02-21T02:51:07.png2020-02-21T02:51:16.png

开发框架

本项目采用uni-app+colorUI开发

快速开始

小程序端

自行编译

适用于有前端基础的同学

  1. 下载Hbuilderx
  2. 将文件夹 uni-app 导入项目
  3. 发行至微信小程序

不编译直接使用

适用于零基础或基础较差的同学

  1. 打开uni-app/unpackage/dist/build/mp-weixin目录导入小程序开发者工具
  2. 激活插件后,修改请求链接文件 @/static/utils/api.js 中的baseUrl, 将域名更换为你的域名。 请修改文件@/common/vendor.js,搜索www.thinkmoon.cn替换为你的域名。

Typecho插件端

复制 WeBlog 到插件目录, 在后台激活并设置

特别鸣谢

虽然项目的作者显示的只有我一个,但是我一个人是无法完成该项目的,我想感谢与该项目相关的一些开源项目及作者。

感谢各位开源作者优秀的作品!

意见反馈

我会尽最大的努力确保文档和代码没有错误。可是,金无赤足,错误在所难免。如果您发现本项目中的任何错误,如错别字或代码错误等,希望您能及时给我反馈,您的反馈不仅可以让其他使用者收益,更可以提高项目的质量。

如果您对于项目有些好的建议,或者想法,欢迎您加入QQ群与我讨论。

QQ群

如果您想与本项目作者或者其他使用者沟通,欢迎加入项目开发交流群:1062676924

开发计划

  • [x] 浏览量和点赞量数据表
  • [x] 评论功能
  • [x] 点击图片预览功能
  • [x] 点击链接复制功能
  • [x] Aplayer插件的支持
  • [x] 一键修改主题色
  • [x] 文章搜索
  • [x] 接口加密
  • [ ] 评论回复功能
  • [ ] 评论通知功能
  • [ ] 网页端微信登录
  • [ ] 夜间模式

更新日志

v0.2.0
feature

  1. 采用完全的自定义组件模式,适配一键换肤
  2. 优化一键换肤的功能。

v0.1.9
feature

  1. 采用互补色彩设计原则,支持一键修改主题色

fixed

  1. 修复文章分类不同步的BUG
  2. 修复在部分情况下缩略图不显示的BUG
  3. 修复遇到

- 阅读剩余部分 -

引言

我在很久之前就想研究这个项目,然后再进行些自定义的修改了。就以本文作为笔记开始吧。

项目目录树

.
├── Action.php
├── Plugin.php
├── Users.php
├── res //一些图片资源
│   ├── cvbg.jpeg
│   ├── cvborder.jpeg
│   ├── resend.png
│   └── test.bin
├── sql // 创建了两个数据库
│   ├── wetypecho.sql
│   └── wetypecholike.sql
└── tree.txt

查看数据库结构

wetypecho.sql
CREATE TABLE `typecho_wetypecho` (
  `id`                int(10) unsigned NOT NULL auto_increment,
  `openid`            varchar(255)     default ''  ,
  `createtime`        int(10)          default 0   ,
  `lastlogin`         int(10)          default 0   ,
  `nickname`          varchar(255)     default ''  ,
  `avatarUrl`         varchar(255)      default ''  ,
  `city`              varchar(255)      default ''  ,
  `country`           varchar(255)      default ''  ,
  `gender`            varchar(255)      default ''  ,
  `province`          varchar(255)     default ''  ,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

看内容可以推测,这是微信用户数据表。

wetypecholike.sql
CREATE TABLE `typecho_wetypecholike` (
  `id`                int(10) unsigned NOT NULL auto_increment,
  `openid`            varchar(255)     default ''  ,
  `cid`               int(10)          default 0   ,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

这应该是个微信点赞表

php代码分析

激活进行的初始化操作代码

Helper::addRoute('jsonp', '/api/[type]', 'WeTypecho_Action');
        Helper::addAction('json', 'WeTypecho_Action');
        Helper::removePanel(1, 'WeTypecho/users.php');
        Helper::addPanel(1, 'WeTypecho/Users.php', 'WeTypecho', '我的用户', 'administrator');
        $db = Typecho_Db::get();
        $prefix = $db->getPrefix();
        Typecho_Plugin::factory('Widget_Archive')->beforeRender = array('WeTypecho_Plugin','view_count');
        //创建用户数据库
        $scripts = file_get_contents('usr/plugins/WeTypecho/sql/wetypecho.sql');
        $scripts = str_replace('typecho_', $prefix, $scripts);
        $scripts = explode(';', $scripts);
        try {
            if (!$db->fetchRow($db->query("SHOW TABLES LIKE '{$prefix}wetypecho';", Typecho_Db::READ))) {
                foreach ($scripts as $script) {
                    $script = trim($script);
                    if ($script) {
                        $db->query($script, Typecho_Db::WRITE);
                    }
                }
            }
        } catch (Typecho_Db_Exception $e) {
            throw new Typecho_Plugin_Exception(_t('数据表建立失败,插件启用失败,错误信息:%s。', $e->getMessage()));
        } catch (Exception $e) {
            throw new Typecho_Plugin_Exception($e->getMessage());
        }
        //创建赞数据库
        $scriptslike = file_get_contents('usr/plugins/WeTypecho/sql/wetypecholike.sql');
        $scriptslike = str_replace('typecho_', $prefix, $scriptslike);
        $scriptslike = explode(';', $scriptslike);
        try {
            if (!$db->fetchRow($db->query("SHOW TABLES LIKE '{$prefix}wetypecholike';", Typecho_Db::READ))) {
                foreach ($scriptslike as $script) {
                    $script = trim($script);
                    if ($script) {
                        $db->query($script, Typecho_Db::WRITE);
                    }
                }
            }
        } catch (Typecho_Db_Exception $e) {
            throw new Typecho_Plugin_Exception(_t('数据表建立失败,插件启用失败,错误信息:%s。', $e->getMessage()));
        } catch (Exception $e) {
            throw new Typecho_Plugin_Exception($e->getMessage());
        }
        //创建赞数据库
        try {
            //增加点赞和阅读量
            if (!array_key_exists('views', $db->fetchRow($db->select()->from('table.contents'))))
            {
                $db->query(
                    'ALTER TABLE `' . $prefix
                    . 'contents` ADD `views` INT DEFAULT 0;'
                );
            }
            if (!array_key_exists('likes', $db->fetchRow($db->select()->from('table.contents'))))
            {
                $db->query(
                    'ALTER TABLE `' . $prefix
                    . 'contents` ADD `likes` INT DEFAULT 0;'
                );
            }
            if (!array_key_exists('authorImg', $db->fetchRow($db->select()->from('table.comments'))))
            {
                $db->query(
                    'ALTER TABLE `' . $prefix
                    . 'comments` ADD `authorImg` varchar(500) DEFAULT NULL;'
                );
            }
        } catch (Exception $e) {
            echo($e->getMessage());
        }

介绍

TmWeBlog--微信小程序版WeTypecho魔改版

原项目介绍

众所周知,现在由于移动互联网的普及,网站访问量下降,导致个人站长非常难混。

WeTypecho则能帮您快速搭建微信小程序,将Typecho博客的内容映射到微信小程序。
帮助您在一定程度上获取更多来自微信的流量。WeTypecho的安非常简单,只需三分钟,就能搭建。


原项目自定义的修改版

项目地址

原项目地址
当前项目地址

功能

目前支持的基本功能如下:

  • 首页预览置顶文章
  • 评论,回复,点赞
  • 转发,分享到朋友圈
  • 图片视频显示
  • 支持markdown,html解析

扫码预览

gh_3d207c9d6dd4_258.jpg

ToDoList

  • [ ] 留言回复通知