文章目录

  • 前言
  • 一、前端展示
  • 二、实现原理简析
    • 1. wordpress 后端
    • 2.前端uni-app
  • 三、如何自动发布文章
    • 安装 JWT Authentication for WP-API 插件
    • 准备好图片
    • 使用python脚本自动发布

前言

最近,壁纸类的小程序在抖音、微信很火,就想着也去搭建一个壁纸系统,找了一圈,发现有个开源的项目非常不错:
https://www.wxshares.com/995.html 来自极客分享;
前端使用uni-app,后端使用wordpress


一、前端展示

二、实现原理简析

1. wordpress 后端

(1) wordpress 先建分类(一级分类即可)、标签;
(2) wordpress 创建文章,文章内容为图片,一般一片文章放3~5张图片;然后设置好分类;

(3) 发布文章;
(4) 在极客API中设置好要显示的分类;

可以修改 jike-api-controller.php 的86行,把 by ID desc limit 6 的 6改成 3,这样可以显示多一些分类。。

$sql="SELECT ID,post_title,post_content FROM wp_posts,wp_term_relationships,wp_term_taxonomy WHERE ID=object_id and wp_term_relationships.term_taxonomy_id = wp_term_taxonomy.term_taxonomy_id and post_type='post' and post_status = 'publish' and wp_term_relationships.term_taxonomy_id = $CID and taxonomy = 'category' order by ID desc limit 3";

2.前端uni-app

(1) 修改域名,前端通过api 获取分类内容、设置内容,然后负责显示


三、如何自动发布文章

通过手动发布文章是个体力活,作为程序员肯定是想偷懒,所以可以使用火车头等采集工具自动采集发布文章,也可以采用wordpress 的 restful api + python 自动发布文章。

安装 JWT Authentication for WP-API 插件

(1)根据 jwt文档 配置服务器
(2)获取token

准备好图片

这里的规则就是每3张图片一篇文章;
文件夹下面的图片都是同一个分类、同一个标签;一个分类一个文件夹

使用python脚本自动发布

#!/usr/bin/python3# -*- coding: utf-8 -*-import os
import requests
import json
import datetimedef post_3_image_fotmat(img1, img2, img3):line1     = "\n<figure class=\"wp-block-gallery has-nested-images columns-default is-cropped\">\n"line2     =    "<figure class=\"wp-block-image size-large\">"img_line1 =         img1endline2  =    "</figure>\n\n\n\n"line3     =    "<figure class=\"wp-block-image size-large\">"img_line2 =         img2endline3  =    "</figure>\n\n\n\n"line4     =    "<figure class=\"wp-block-image size-large\">"img_line3 =         img3endline4  =    "</figure>\n\n\n\n"endline1  = "</figure>\n"return line1 + line2 + img_line1 + endline2 + line3 + img_line2 + endline3 + line4 + img_line3 + endline4  + endline1def file_name(file_dir):  D={}# for root, dirs, files in os.walk(file_dir):for file in os.listdir(file_dir):img_unicode = file.encode("utf-8")if os.path.splitext(file)[1] == '.jpeg' or os.path.splitext(file)[1] == '.jpg' or os.path.splitext(file)[1] == '.png' or os.path.splitext(file)[1] == '.webp': D[img_unicode] = "image/" + os.path.splitext(file)[1][1:]return Dend_point_url = "https://你自己的域名/wp-json/wp/v2/posts"
upload_img_url = "https://你自己的域名/wp-json/wp/v2/media"
my_token = ""  #修改成你自己的# 1. 先发布一份草稿,获取post_id
p_title = str(int(datetime.datetime.now().timestamp()))
p_content = "null"
p_categories = 6   # 这里可以查看你wordpress 里面的分类id,然后再回来填
# 例如,点击编辑某个分类,url将会是这样 https:///term.php?taxonomy=category&tag_ID=6category, tag_ID=6 后面的数字即是分类id, 下面的tag同理
p_tags = 5
pre_post_payload = {'title': p_title,'content': p_content,'categories': p_categories,'tags': p_tags,
}
pre_post_header = {'content-type': "Application/json",'Authorization': my_token,'cache-control': "no-cache"}r = requests.post(end_point_url, data=json.dumps(pre_post_payload),headers=pre_post_header)pre_post_id = json.loads(r.text)["id"]d = file_name("./")up_load_img_list = []
up_load_img_id = []#2 上传图片, post的参数从第一步的 pre_post_id 获取
for img_file,img_type in d.items():img_file_name = str(datetime.datetime.now().timestamp()) + os.path.splitext(img_file.decode("utf-8"))[1]header = {'content-type': img_type,'Authorization': my_token,'cache-control': "no-cache",'Content-Disposition':'attachent;filename=%s'% img_file_name }post =  {'post': pre_post_id}data = open(img_file.decode("utf-8"), 'rb').read()print(img_file.decode("utf-8") + " vs " + img_file_name)r = requests.post(upload_img_url, data=data,headers=header)json_r = json.loads(r.text)print(json_r)#print("data-id: ", json_r["id"])#p_data["data-id"] = json_r["id"]my_str = json_r["description"]["rendered"]img_start_tag_index = my_str.find('<img width=')img_end_tag_index = my_str.find('/>', img_start_tag_index)data_id = " data-id=%s " % json_r["id"]up_load_img_id.append(json_r["id"])new_str = my_str[img_start_tag_index:img_end_tag_index] + data_id + '/>'print(new_str)up_load_img_list.append(new_str)# 3. 关联modify_post_header = {'content-type': "Application/json",'Authorization': my_token,'cache-control': "no-cache",'Content-Disposition':'attachent;filename=%s'% img_file_name}modify_url = upload_img_url +  "/" + str(json_r["id"])r = requests.post(modify_url, headers=modify_post_header, json = post)p_content = post_3_image_fotmat(up_load_img_list[0], up_load_img_list[1], up_load_img_list[2])modify_point_url =  end_point_url + "/%s"%pre_post_idwp_link = {'wp:attachment': [{'href': upload_img_url + "?parent=%s"%pre_post_id }]
}# 正式发布
payload = {'id': pre_post_id,'status': "publish",'title': p_title,'content': p_content,'categories': p_categories,'tags': p_tags,'_links': wp_link}header = {'content-type': "Application/json",'Authorization': my_token,'cache-control': "no-cache"}r = requests.post(modify_point_url, data=json.dumps(payload),headers=header)#print(r.text)

目前还有个小问题就是 图片上传之后会被自动裁剪,而提供下载的时候,需要使用原图,改进中

【壁纸小程序】搭建自己的壁纸小程序-微信抖音双端相关推荐

  1. 基于Uniapp开发壁纸小程序源码+支持微信抖音双端

    源码是没有WordPress主程序的 需要先安装WordPress后,在安装源码内的WordPress的插件 插件安装不会的可以进行百度 Uniapp壁纸小程序源码,双端微信抖音小程序源码. Word ...

  2. Uniapp壁纸小程序源码/双端微信抖音小程序源码

    正文: Uniapp壁纸小程序源码,双端微信抖音小程序源码. WordPress后台的小程序.为一些做壁纸类自媒体的朋友解决变现难的问题 抖音壁纸常见的图片取号码,微信的壁纸公众号小程序均可使用该小程 ...

  3. 微信抖音快手三合一壁纸小程序源码_后端管理设置功能丰富

    这是一款支持快手端,微信端,抖音三端的一个壁纸类型的小程序 一个后台同时管理三端,内有丰富的后端设置 安装也是特别的简单(压缩包里面也有文本安装教程) 另外支持静态壁纸显示,动态壁纸显示或者头像表情包 ...

  4. AI配音微信抖音快手流量主小程序开发

    AI配音微信抖音快手流量主小程序开发 后台功能// 添加配音小程序:类型微信.抖音.快手:小程序名称:小程序appid:小程序秘钥:回调域名:每天赠送次数:微软key:微软区域region:微信qq商 ...

  5. 字节跳动小程序点击右上角分享胶囊设置“拍抖音”和“分享”功能

    字节跳动小程序点击右上角分享胶囊设置"拍抖音"和"分享"功能 附上代码: /** * 用户点击右上角分享 */ onShareAppMessage: funct ...

  6. 迅睿cms微信抖音小程序生成管理系统V1.0开源

    微信抖音小程序生成管理系统基于迅睿cms系统为框架,展开专用的小程序管理系统.系统将是全面开源共享,并且内置私有云市场,模板.可以根据你们自己的情况.选择性的安装. v1.0的主要功能说明 1.小程序 ...

  7. 抖音程序员表白代码c语言,程序员过情人节:教你做抖音同款表白程序!

    原标题:程序员过情人节:教你做抖音同款表白程序! 最近抖音上一个很简单的vbs告白编程代码视频火了,双击这个编程代码编写的软件后会弹出一个窗口显示一段话,点击确定后会显示下一句.这个小程序很有意思也很 ...

  8. 壁纸小程序源码双端微信抖音小程序

    WordPress后台的小程序.为一些做壁纸类自媒体的朋友解决变现难的问题,抖音壁纸常见的图片取号码, 微信的壁纸公众号小程序均可使用该小程序进行变现,这款小程序后端为WordPress,只需导入壁纸 ...

  9. 从0开发小程序,一个月时间实现盈利!内附抖音去水印原理

    一.开发前奏 1.背景 近几年短视频行业的兴起,涌现出抖音快手等优秀的app,但是在app上发现优秀视频想要下载到本地时,又奈何总是全程有水印又末尾有平台独白,搜索众多app和小程序大部分要嘛广告众多 ...

  10. 微信小程序 短剧开发技术踩坑指南 仿抖音快手小视频

    1.Video组件 微信官方文档地址: https://developers.weixin.qq.com/miniprogram/dev/component/video.html uniapp官方文档 ...

最新文章

  1. 结构体和数组之间的映射关系
  2. 关于JS 事件冒泡和onclick,click,on()事件触发顺序
  3. multisim页面不够大_观赏变出售 捡漏钱不够
  4. 手机拍照功能的简单实现
  5. photoshop cs3反应慢的原因
  6. 改善Java EE生产支持技能的8种方法
  7. linux系统 安装mysql,在linux系统中安装MySQL
  8. 在JavaScript中解析查询字符串[重复]
  9. WIZnet推出串口转以太网模块WIZ550S2E
  10. 洛谷 P1454【圣诞夜的极光】
  11. 错误信息: 集合已修改;可能无法执行枚举操作。
  12. 抓包神器之Charles,常用功能都在这里了
  13. 天锐绿盾解密_天锐绿盾数据防泄密系统
  14. python hog特征提取,直接从原始图像的HoG特征提取编辑图像的HoG特征
  15. UI设计评审度量评价指导
  16. HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\policies\Explo注册表病毒
  17. C#语言 Asp.net旅游网站在线旅游信息网站(旅游系统旅游网站)旅游管理系统旅游景区旅游网站
  18. pcl怎么根据深度显示颜色_大麦和黄牛再惹众怒,PCL全明星上表现不佳
  19. C#文件操作 追加、拷贝、删除、移动文件、创建目录 修改文件名、文件夹名
  20. 433遥控器无线解码 1527中断方式解码 51单片机

热门文章

  1. 全网首篇用人话讲清楚:光纤中的色散
  2. 工作缺点和不足及措施_【工作中存在的问题和不足及改进措施】_工作中的不足与改进_工作中不足及改进措施...
  3. 平面设计和网页设计的区别是什么
  4. 「目标检测算法」连连看:从Faster R-CNN 、 R-FCN 到 FPN
  5. sklearn.impute.SimpleImputer 数据填充
  6. 面试官;经典面试题-JVM篇
  7. 单位旧计算机处理,单位出售旧电脑增值税税率是多少?
  8. 弱水三千,只取一瓢饮 的意思
  9. echo和narcissus寓意_【故事】三毛的英文名Echo,有什么含义?
  10. 为什么我的 WordPress 网站被封了?