分类归档

网站开发

FWQ
小程序
小程序中如何获取参数openid & session_key的方法介绍
说说获取_和openid的条件 1.appid(小程序id),需要通过微信认证; 2.appsecret(小程序密钥); 3.登录时获取code; 注意:即使获取到了appid,未通过微信认证,也是不能拿到code的. 打印出来是这样的.    获取流程: 1.公众平台上找到AppID(小程序ID)和AppSecret(小程序密钥);  2.微信小程序中调用获取code wx.login({       success: function(res) {         console.log(res.code) //这就是code       }); 登录后复制 3.code 换取 session_key和openid 用户允许登录后,回调内容会带上 code(有效期五分钟),开发者需要将 code 发送到开发者服务器后台,使用code 换取 session_key api,将 code 换成 openid 和 session_key  后台访问微信服务器就能拿到openid 和 session_key 文档说不应该把openid或者session_key作为用户标识; 我就不折腾了.直接用openid做唯一标识.没啥毛病.…
2024-11-25 阅读全文 →
FWQ
小程序
小程序中如何实现三级选择器组件?(代码示例)
本篇文章给大家带来的内容是关于小程序中如何实现三级选择器组件?(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 效果 实现过程 <view>     <view>{{title}}</view>     <picker>       <view>         <view>         <!-- {{multiArray[2][multiIndex[2]]}} -->         {{multiArray[0][multiIndex[0]]}},{{multiArray[1][multiIndex[1]]}},{{multiArray[2][multiIndex[2]]}}      </view>       <image></image>       </view>      </picker>   </view> 登录后复制 在小程序已有的picker组件中设置mode=”multiSelector”,使之成为多列选择器。 在多列选择器中有两个重要的参数: properties: {     multiArray: Array,     multiIndex: Array   } 登录后复制 multiArray是一个二维数组,存放选择器每一列上的选项列表。multiIndex是一个一维数组,存放每一列被选中的值,例:[0,0,0] 表示第一列选中了第0个选项,第二列也选中了第0个选项,以此类推。这两个参数都由用到三列选择器的页面传入。 在小程序已有的picker组件中绑定bindPickerChange事件和columnchange事件,当用户确定选择器的选项值或改变某列选项值时会分别触发这两个事件: methods: {    //这个只有在点确定的时候才会触发…
2024-11-25 阅读全文 →
FWQ
CMS教程
wordpress自助建站要钱吗
wordpress 自助建站需要费用,但也有免费选项。费用选项包括免费的 wordpress.com 托管和本地主机,付费选项包括 wordpress.com 高级计划和独立主机。选择选项取决于网站规模、所需功能、技术支持和预计流量等因素。 WordPress 自助建站要钱吗? 答案:是的,但也有免费选项。 费用选项: 1. 免费选项: WordPress.com 托管:免费提供网站和博客托管,但功能有限。 本地主机:使用自己的计算机或服务器托管 WordPress 网站,免费但不提供技术支持。 2. 付费选项: WordPress.com 高级计划:每月收取费用,提供更多存储空间、定制选项和高级支持。 独立主机:从第三方托管公司购买网站空间,通常每月收取费用。提供各种计划,具有不同的功能和支持级别。 费用考量因素: 网站的大小和复杂性 所需功能(如电子商务、博客) 技术支持的需求 预计流量 选择选项:…
2024-11-25 阅读全文 →
FWQ
CMS教程
如何按评论数量显示前100名评论者
下面由/” target=”_blank”>wordpress建站教程栏目给大家介绍按评论数量显示前100名评论者的方法,希望对需要的朋友有所帮助! 如想看看自己博客上哪位博友的留言评论最多及最后的评论时间,下面一段代码会帮你实现这个功能。 可以将下面代码添加到当前主题functions.php中: function top_comment_authors($amount = 100) {     global $wpdb;         $prepared_statement = $wpdb-&gt;prepare(         'SELECT         COUNT(comment_author) AS comments_count, comment_author, comment_author_url, MAX( comment_date ) as last_commented_date         FROM '.$wpdb-&gt;comments.'         WHERE comment_author != "" AND comment_type = "" AND comment_approved = 1         GROUP BY comment_author         ORDER BY comments_count DESC, comment_author ASC         LIMIT %d',         $amount);     $results = $wpdb-&gt;get_results($prepared_statement);     $output = ' 登录后复制 ‘;     foreach($results as $result) {         $output .= ‘   共’.$result->comments_count.’ 条评论,最后评论 ‘.human_time_diff(strtotime($result->last_commented_date)).’前 ‘;     }     $output .= ‘ ‘;     echo $output; }…
2024-11-25 阅读全文 →
FWQ
小程序
详解自定义PC微信扫码登录样式
关于pc微信扫码登录,本文主要介绍了自定义pc微信扫码登录样式的写法以及做了代码分析,希望能帮助到大家。 近期做一个PC端微信扫码登录的需求,微信扫码有两种方式,一种是新开一个二维码页面,另一种是内嵌入产品网页。本次以内嵌二维码为例,具体怎样在页面中显示一个登陆二维码,文档说的很清楚,就不赘述了。 当一切准备妥当之后,网页上的二维码初始默认是这个样子。 特别大不说(默认二维码大小280×280),还有微信登录的title,下方也有扫码登录的提示。幸运的是,微信留了一个api给我们自定义样式的机会,在之前实例化一个二维码的时候,实例对象中href属性,允许设置样式。 var obj = new WxLogin({       id:"login_container",        appid: "",        scope: "",        redirect_uri: "",       state: "",       style: "",       href: "../qrcode.css"//就是这个属性       }); 登录后复制 不幸的是,在href中传入样式文件的地址,会报错。貌似微信为了安全考虑,只允许访问https的资源。于是现在采用第二种解决办法data-url。 通过访问data-url解决样式问题 写一个nodejs,脚本将刚才的css资源转换为data-url。具体代码实现为: var fs = require('fs'); // function to encode file data to base64 encoded string function base64_encode(file) {  // read binary data  var bitmap = fs.readFileSync(file);  // convert binary data to base64 encoded string  return 'data:text/css;base64,'+new Buffer(bitmap).toString('base64'); } console.log(base64_encode('./qrcode.css')) 登录后复制 运行node脚本,复制打印出来的data-url,然后赋值给刚才的href。…
2024-11-25 阅读全文 →
FWQ
小程序
让微信小程序开发如鱼得水(实例)
  关于微信小程序开发一直想写一篇相关的文章总结和记录下,结果拖延症犯了迟迟没有下笔;这不最近天气不错,于是找一个空闲的下午将这篇文章输出下(好像跟天气没啥关系),那我们就开始吧! 注意:本文默认开发者对微信小程序开发有一定语法基础。小程序开发文档 相关免费学习推荐: 微信小程序小结   在接触的微信小程序开发过程中,不难发现微信小程序为了方便开发人员入手对很多底层api进行了很好的封装,比如针对接口请求的wx.request(),针对路由跳转和页面导航的wx.switchTab、wx.navigateTo···等。虽然在一定程度上简化了开发,但是对于项目工程的系统化构建还是不够的,因此本人在对比以前基于Vue开发项目的经验和自身的开发习惯,总结出如下3点可供参考: 1、全局变量和配置信息统一管理; 2、封装路由守卫相关api:vue-router的router.beforeEach()和router.afterEach()真的香; 3、接口请求公共信息进一步提取封装; 4、封装接口的请求和响应拦截api:axios的axios.interceptors.request.use()和axios.interceptors.response.use()用过的都说好; 从上述四点出发,对微信小程序初始化工程进行规范优化,能够很大程度提高开发效率和进行项目维护管理。封装的好处不只体现在调用的方便上,也体现在管理的方便上,同时,公共操作集中处理,很大程度减少繁杂重复代码。 一、项目初始化    新建微信小程序项目,在项目下新建如下目录和文件: config文件夹:统一管理可配置的信息和变量; erroList.js:接口报错错误码匹配列表文件; globalData.js:全局变量统一管理文件(相当于vuex); keys.js:可配置系统信息管理文件(全局常量命名等); pages文件夹:小程序页面文件管理文件夹(每个页面一个子文件夹目录); router文件夹:路由管理文件件; router.js:对微信小程序5种路由导航api的封装; routerConfig.js:页面路由名称和路径匹配配置文件; routerFilter.js:路由前置拦截封装; servers文件件:接口请求服务管理文件夹; apis文件夹:request请求封装管理和接口api配置管理文件夹; request.js:对wx.request的Promise封装; xxx.js:对应模块的接口管理文件; requestFilter.js:接口请求和响应拦截封装文件; 其他都是初始化默认文件; 二、路由跳转和路由守卫封装…
2024-11-25 阅读全文 →
FWQ
小程序
关于三宗罪的微信小程序开发的解决方法分享
在微信公布小程序的文档和开发工具后,我们在第一时间进行了学习和体验,发现微信小程序的技术和开发体验让我们有些失望。由于微信小程序的运行环境并不是一个标准的浏览器环境,而且微信的封装工作并不完善,所以我们以往开发中的很多经验并不适用。这并非简单的开发习惯不适应,更重要的是我们的开发流程、规范将不适用。微信小程序开发第一宗罪: 无法调用npm包虽然微信小程序开发工具打包时实现了加载依赖,但并不是完整的commonjs依赖管理。因为require函数仅仅能够加载项目中的js文件,而且必须严格定义js文件路径,路径不支持commonjs的路径风格。例如如下加载方式都将出错: require('lodash');require('lodash/map');require('./foo'); 登录后复制 在微信小程序开发工具中,我们必须对应写为如下格式: require('node_modules/lodash/lodash.js');require('node_modules/lodash/map.js');require('./foo.js'); 登录后复制 虽然我们可以像上面代码一样加载node_modules目录中的库,但是实际运行时却发生了: 在工具的Network选项卡中,我们看到运行时加载了1000多个文件,总数据量1.8MB,而我们仅仅是在代码中加载了一个lodash库而已!这是因为微信小程序开发工具会将所有项目下的js文件视为项目文件,并进行打包。而实际开发中,我们需要很多的NPM扩展库,而这些扩展库中有大量的不需要打包的文件,例如lodash中有上千文件,而我们只需要用到其中的非常少的一部分。另外,在开发中,我们往往需要安装babal、eslient、webpack、grunt等待开发工具,微信小程序开发工具会一视同仁将这些工具的源码也进行打包……实测开发者工具将崩溃!开发者将崩溃!我崩溃!所以不支持NPM包的原因,是微信开发者工具不支持CommonJS标准,不支持CommonJS标准的原因,是微信开发者工具想当然地认为项目目录下的js文件一定是项目文件,所以只实现了简单的require函数,想当然的原因是。。。微信小程序开发第二宗罪: 无法使用Babel转码无法使用Babel转码的原因其实仍然归结于无法加载NPM库。但是后果将十分严重。因为你将不能再使用ES6/7特性,你将无法使用async/await函数,你将和无尽的callback做斗争,你该怎样描述自己?回调地狱中的苦逼程序员?如果你看到这里不明白Babel为何物,那么祝贺你,因为不曾见过天堂就不知何为地狱,你无须为不支持ES6/7而烦恼。但一旦你的大脑支持了ES6/7,用过了Babel,你就回不去了,像我一样,无Babel不编码。微信小程序开发第三宗罪: 无法重用组件其实微信小程序开发是并非完全不能重用组件,比如W语法中支持import和 。但是那仅仅是模板可重用,并非组件可重用,因为我们认为组件在应当包含视图和逻辑。WXML其实是基于可重用的组件,但是不允许我们自。如果你有经验,你就会明白我的意思。例如,你的小程序是个电商APP,项目中有两个页面中同时包含了商品件,比如某分类下商品列表和结果列表,我们知道这两个列表其实仅仅是参数不同而已。但是在小程序开发中,你只能将列表的模板抽象出来,不能将逻辑抽象出来,所以你就需要在两个页面上都实现一遍列表组件的控制逻辑,比如刷新、加载更多。。。我们的实践只吐槽、管杀不管埋是不道德的,既然发现了微信小程序开发中的各种弊端,我们在开发之中总结出了一套流程和工具,专为解决上述三个问题,并免费发布到了开源社区,这就是Labrador。接下来我们一起来尝试一下我们的开发体验。安装Labrador**通过命令 npm install -g labrador-cli 全局安装Labrador控制行工具。 通过如下命令新建一个Labrador项目:mk democd demonpm initlabrador init 项目初始化完成后,该目录是这个样子的: 图中的src是我们的源码目录,node_modules是NPM包目录,dist是目标输出目录。请在开发者工具中新建一个项目,并设置路径到dist目录,请勿设置为demo目录!使用WebStorm或Sublime打开demo目录,开发过程中,我们使用WebStorm或Sublime修改src目录下的源码,请勿直接修改dist目录中的文件,因为dist目录是通过labrador命令生成的。在demo目录中运行 labrador build 命令编译项目,该命令会将src目录下的文件一一处理并生成dist目录下对应的文件。我们也可以运行 labrador…
2024-11-25 阅读全文 →
FWQ
CMS教程
phpcms怎么修改站点名称
phpcms修改站点名称的方法:1、使用管理员登录后台页面;2、在顶部的菜单栏找到“设置”选项单击,然后在左侧的菜单出找到“站点管理”;3、找到需要修改的站点,点击该站点域名右面的修改链接;4、在弹出的窗口中修改站点名称即可。 本教程操作环境:Windows10系统、 v9版,DELL G3电脑 phpcms怎么修改站点名称? PHPCMS设置站点信息 1.第一步当然不用多说,先使用管理员登陆(如果已经登陆,直接跳到第二步):输入后台登陆地址,一般情况下就是你的域名+/admin.php即可,系统会自动跳转到后台登陆页面,在没有更改登陆模板的情况下,登陆页如图所示;     2.登陆成功后,在顶部的菜单栏找到【设置】选项单击,在左侧的菜单出找到【站点管理】,然后会出现站点的列表; 立即学习“”;     3.找到需要修改的站点,点击该站点域名右面的修改链接,会弹出如图所示的弹出窗口,接下来讲解一下关于弹出窗中的各个属性;     4.基本设置: 站点名:就是你的网站名称,比如:百度; 站点域名:就是你的网站域名,比如:www.baidu.com; SEO设置: 站点标题:就是你的网站每个页面的标题,如百度的“百度一下,你就知道”, 站点关键词:就是你的网站每个页面的关键词; 站点描述:就是你的网站每个页面的描述内容; 当然,SEO功能不是这么简单的,后续会有讲解; 发布点和模板风格配置暂时不作讲解;  5.接下来是附件配置: 允许上传附件大小:就是说允许用户上传文件的大小限制,默认的是文件大小不能超过2M,可以手动更改; 允许上传文件类型:就是说允许用户上传什么类型的文件,系统这里默认已经包含了常见的文件类型,这里不建议修改;…
2024-11-25 阅读全文 →
FWQ
CMS教程
wordpress怎么做seo
在 wordpress 中进行 seo 优化至关重要。具体步骤包括:选择 seo 友好的主题、安装 seo 插件、优化内容、设置永久链接、创建 xml 网站地图、提交网站地图、构建反向链接、优化图片、提高网站速度和定期更新。 WordPress SEO 优化指南 在数字化的今天, (SEO) 对网站的成功至关重要。作为领先的内容管理系统,WordPress 为 SEO 提供了强大的功能。以下是一份全面的指南,介绍如何在 WordPress 中进行 SEO 优化: 1. 选择合适的主题 主题决定了网站的外观和功能。选择一个 SEO…
2024-11-25 阅读全文 →
FWQ
小程序
微信小程序页面跳转传参详解
这篇文章主要介绍了微信小程序 页面跳转传参详解的相关资料,并附简单实例,和实现效果图,需要的朋友可以参考下  微信小程序 页面跳转传参,做微信小程序必定会用的这样的功能,这里就记录下本人学习实现代码资料。 刚接触微信小程序,多里面的语法和属性还不怎么聊解,如有不多的地方希望各位大神多多指教。今天来说下微信小程序怎么跳转和传参,话不多说直接上代码。 实现的功能是给列表增加点击功能传参到下一页;     代码如下: <import></import>  <view>   <!--滚动图-->   <view>   <swiper>   <block>    <swiper-item>     <image></image>    </swiper-item>   </block>   </swiper>   </view>   <!--功能按钮-->   <view>   <block>    <!--模版-->    <template></template>    <!--<view class="section-item"> <image…
2024-11-25 阅读全文 →