百搜论坛欢迎您的加入!
adimg adimg
 
昨日:篇  今日:篇   总帖:篇   会员:
今日:0
文章:68
今日:0
文章:312
今日:0
文章:8
今日:0
文章:224
今日:0
文章:14
今日:0
文章:32
今日:0
文章:0
今日:0
文章:0
今日:0
文章:23
今日:0
文章:115
今日:0
文章:1
今日:0
文章:4
今日:0
文章:10
今日:0
文章:26
今日:0
文章:10
今日:0
文章:0
iOS
今日:0
文章:0
今日:0
文章:0
今日:0
文章:1
今日:0
文章:2
今日:0
文章:5
今日:0    总帖:1035
admin
954
https://www.cntofu.com/book/133/api.md
帮助文档 0 0 1406天前
admin
862
https://www.kancloud.cn/manual/thinkphp6_0/1037479
帮助文档 0 0 1406天前
admin
1286
帮助文档   
基于thinkphp5的电商管理系统 官网常见问题:http://blog.9gt.net/?p=136 帮助文档:http://help.crmeb.netThinkPHP5的运行环境要求PHP5.5.59以上。 目录结构初始的目录结构如下:www WEB部署目录(或者子目录)├─application 应用目录│ ├─common 公共模块目录(可以更改)│ ├─admin 后台目录│ │ ├─controller 控制器目录│ │ │ ├─agent 代理商│ │ │ ├─article 文章内容管理│ │ │ ├─distributor 分销│ │ │ ├─finance 财务管理│ │ │ ├─order 订单管理│ │ │ ├─record 数据统计│ │ │ ├─routine 小程序后台管理│ │ │ ├─server 程序升级服务端管理│ │ │ ├─setting 系统设置│ │ │ ├─store 商城目录│ │ │ ├─system 系统维护│ │ │ ├─ump 营销管理│ │ │ ├─user 用户目录│ │ │ ├─wechat 微信管理目录│ │ │ ├─widget 公共调用│ │ │ ├─merchant 商户目录│ │ │ ├─AuthController.php 后台基类│ │ │ ├─Common.php 后台公共方法类│ │ │ ├─Login.php 登录│ │ │ ├─Index.php 后台首页│ │ │ └─AuthController.php 后台基类│ │ ├─model 模型目录│ │ ├─view 视图目录│ │ │ ├─index 首页目录│ │ │ ├─login 登录目录│ │ │ └─public 公共目录│ │ ├─common.php 后台公共函数│ │ └─config.php 模块配置文件│ ││ ├─wap 手机端目录│ │ ├─controller 控制器目录│ │ │ └─AuthController.php wap基类│ │ ├─model 模型目录│ │ │ ├─merchant 后台目录│ │ │ ├─store 商城目录│ │ │ └─user 用户目录│ │ ├─view 视图目录│ │ │ ├─index 首页目录│ │ │ ├─login 登录目录│ │ │ ├─public 公共目录│ │ │ ├─store 商城目录│ │ │ ├─merchant 商户目录│ │ │ ├─article 文章目录│ │ │ ├─my 用户目录│ │ │ └─service 客服目录│ │ ├─common.php wap公共函数│ │ └─config.php 模块配置文件│ ││ ├─command.php 命令行工具配置文件│ ├─common.php 公共函数文件│ ├─config.php 公共配置文件│ ├─route.php 路由配置文件│ ├─tags.php 应用行为扩展定义文件│ ├─version.php 版本文件│ └─database.php 数据库配置文件│├─public 公共目录│ ├─static 全局静态文件目录│ │ ├─plug 第三方插件前后台公用│ │ ├─css css前后台公用│ │ └─js js前后台公用│ ├─system 后台静态文件目录│ │ ├─plug 第三方插件后台│ │ ├─js 后台│ │ ├─css 后台│ │ ├─images 后台│ │ ├─frame 后台框架│ │ ├─module 后台功能模块│ │ ├─plug 后台第三方插件│ │ └─util 后台自定义常用工具│ ├─wap 前台静态文件目录│ │ ├──first 模版1│ ├─install 程序安装文件目录│ ├─uploads 上传文件目录│ ├─router.php 路由文件│ ├─index.php 程序入口文件│ ├─mysql.php 数据字典工具│ ├─.htaccess apache 环境伪静态文件│ ├─nginx.conf nginx 环境伪静态文件│ └─web.config iis 环境伪静态文件│├─thinkphp 框架系统目录│ ├─lang 语言文件目录│ ├─library 框架类库目录│ │ ├─think Think类库包目录│ │ └─traits 系统Trait目录│ ││ ├─tpl 系统模板目录│ ├─base.php 基础定义文件│ ├─console.php 控制台入口文件│ ├─convention.php 框架惯例配置文件│ ├─helper.php 助手函数文件│ ├─phpunit.xml phpunit配置文件│ └─start.php 框架入口文件│├─extend 扩展类库目录│ ├─api 公共api目录│ ├─basic 基础继承类目录│ ├─behavior 全局行为目录│ │ ├─system 后台行为│ │ ├─wechat 微信行为│ │ ├─merchant 商户行为│ │ └─wap wap端行为│ ├─service 全局服务目录│ └─traits 公共特性目录│├─vendor composer扩展类库目录│ ├─xaboy 后台快速创建表单类│ ├─tp5er 数据库备份类│ ├─phpoffice 表格操作类│ ├─overtrue 微信接口类│ └─traits 公共特性目录│├─runtime 应用的运行时目录(可写,可定制)├─vendor 第三方类库目录(Composer依赖库)├─index.php 入口文件├─composer.json composer 定义文件├─LICENSE.txt 授权说明文件├─README.md README 文件├─think 命令行入口文件│ ├─index.php 入口文件│ ├─router.php 快速测试文件│ └─.htaccess 用于apache的重写复制代码账号密码前台账号: crmeb密码: 123456后台账号: admin密码: crmeb.com微信配置授权接口 :/wap/wechat/serve支付api接口 :/wap/my//wap/my/order/uni//wap/store/confirm_order/cartId/模板消息IT科技 | 互联网|电子商务IT科技 | IT软件与服务模板变量{__ADMIN_PATH} => /public/system/{__FRAME_PATH} => /public/system/frame/{__PLUG_PATH} => /public/static/plug/{__MODULE_PATH} => /public/system/module/{__STATIC_PATH} => /public/static/{__PUBLIC_PATH} => /public/{__WAP_PATH} => /public/wap/公共方法\service\CacheService 系统缓存类 // 设置系统缓存 set($key, $value) // 获取系统缓存 get($key, $default) // 删除指定系统缓存 rm($key) // 清空所有系统缓存 clear() 复制代码\service\ExportService 导出csv表格类 // 导出Csv exportCsv($list 数据, $fliename 文件名, $header 表格头部, $br 换行分隔符) 复制代码\service\GroupDataService 组合数据类 // 获得组合数据信息+组合数据列表 getGroupData($configName,$limit) // 获得组合数据列表 getData($configName,$limit) 复制代码\service\HookService 行为扩展类 // 资源监听 自动注册前置行为操作 + 行为操作 resultListen($tag, $params, $extra = null, $once = false,$behavior = null 自动注册类) // 监听后置行为操作 afterListen($tag, $params, $extra = null, $once = false, $behavior = null 自动注册类) // 监听前置行为操作 beforeListen($tag,$params,$extra = null, $once = false, $behavior = null) // 监听行为操作 listen($tag, $params, $extra = null, $once = false, $behavior = null) // 添加前置行为 addBefore($tag, $behavior, $first = false) // 添加后置行为 addAfter($tag, $behavior, $first = false) // 添加行为 add($tag, $behavior, $first = false) 复制代码\service\HttpService Request请求类 // 发送get请求 getRequest($url, $data = array(), $header = false, $timeout = 10) // 发送post请求 postRequest($url, $data = array(), $header = false, $timeout = 10) // 发送请求 request($url, $method = 'get', $data = array(), $header = false, $timeout = 15) // 获取请求head头 getHeaderStr():String // 获取请求head头 getHeader():Array复制代码\service\JsonService Json输出类 // 成功 successful($msg = 'ok',$data=[]) // 成功+状态 status($status,$msg,$result = []) // 失败 fail($msg,$data=[])复制代码\service\QrcodeService 二维码生成类 // 获取一个临时二维码,不存在自动生成 getTemporaryQrcode($type,$id) // 获取一个永久二维码,不存在自动生成 getForeverQrcode($type,$id) // 查询已有的二维码 getQrcode($id,$type = 'id')复制代码\service\SystemConfigService 系统配置类 // 获取一个系统配置,带缓存 config($key) // 获取一个系统配置,不带缓存 get($key) // 获取多个系统配置,不带缓存 more($keys = []) // 获取所有系统配置,不带缓存 getAll()复制代码\service\UploadService 文件上传类 // 单图上传 image($fileName, $path, $moveName = true, $autoValidate=true, $root=null, $rule='uniqid') // 文件上传 file($fileName, $path, $moveName = true, $autoValidate=[], $root=null, $rule='uniqid') // 图片压缩 thumb($filePath, $ratio=8, $pre='s_')复制代码\service\WechatService 微信服务类 参考:https://www.easywechat.com/docs/3.x // 获取微信配置参数 options() // 多客服消息转发 transfer($account = '') // 上传永久素材接口 materialService() // 上传临时素材接口 materialTemporaryService() // 用户接口 userService() // 客服消息接口 staffService() // 微信公众号菜单接口 menuService() // 微信二维码生成接口 qrcodeService() // 短链接生成接口 urlService() // 用户授权 oauthService() // 模板消息接口 noticeService() // 发送模板消息 sendTemplate($openid,$templateId,array $data,$url = null,$defaultColor = null) // 支付接口 paymentService() // 下载商户流水 downloadBill($day,$type = 'ALL') // 用户标签服务 userTagService() // 用户分组服务 userGroupService() // 获得jsSdk支付参数 jsPay($openid, $out_trade_no, $total_fee, $attach, $body, $detail='', $trade_type='JSAPI', $options = []) // 订单退款 payOrderRefund($orderNo, array $opt) // 支付成功回调 handleNotify() // jssdk Config参数 jsSdk($url = '') // 回复文本消息 textMessage($content) // 回复图片消息 imageMessage($media_id) // 回复视频消息 videoMessage($media_id, $title = '', $description = '...', $thumb_media_id = null) // 回复声音消息 voiceMessage($media_id) // 回复图文消息 newsMessage($title, $description = '...', $url = '', $image = '') // 回复文章消息 articleMessage($title, $thumb_media_id, $source_url, $content = '', $author = '', $digest = '', $show_cover_pic = 0, $need_open_comment = 0, $only_fans_can_comment = 1) // 回复素材消息 materialMessage($type, $media_id) // 作为客服消息发送 staffTo($to, $message) // 获得用户信息 getUserInfo($openid)复制代码\service\WechatTemplateService 微信模板消息类 // 发送模板消息 sendTemplate($openid,$templateId,array $data,$url = null,$defaultColor = '') // 给管理员发送模板消息 sendAdminNoticeTemplate(array $data,$url = null,$defaultColor = '')复制代码基础继承类\basic\ModelBasic Model基础类 /** * 获得Db并缓存 * @param $name * @param bool $update * @return mixed|\think\db\Query */ protected static function getDb($name, $update = false) /** * 设置错误信息 * @param string $errorMsg * @return bool */ protected static function setErrorInfo($errorMsg = self::DEFAULT_ERROR_MSG,$rollback = false) /** * 获取错误信息 * @param string $defaultMsg * @return string */ public static function getErrorInfo($defaultMsg = self::DEFAULT_ERROR_MSG) /** * 开启事务 */ public static function beginTrans() /** * 提交事务 */ public static function commitTrans() /** * 关闭事务 */ public static function rollbackTrans() /** * 根据结果提交或者滚回事务 * @param $res */ public static function checkTrans($res)复制代码\basic\SystemBasic 后台基础类 /** * 操作失败提示框 * @param string $msg 提示信息 * @param string $backUrl 跳转地址 * @param string $title 标题 * @param int $duration 持续时间 * @return mixed */ protected function failedNotice($msg = '操作失败', $backUrl = 0, $info = '', $duration = 3) /** * 失败提示一直持续 * @param $msg * @param int $backUrl * @param string $title * @return mixed */ protected function failedNoticeLast($msg = '操作失败', $backUrl = 0, $info = '') /** * 操作成功提示框 * @param string $msg 提示信息 * @param string $backUrl 跳转地址 * @param string $title 标题 * @param int $duration 持续时间 * @return mixed */ protected function successfulNotice($msg = '操作成功',$backUrl = 0,$info = '',$duration = 3) /** * 成功提示一直持续 * @param $msg * @param int $backUrl * @param string $title * @return mixed */ protected function successfulNoticeLast($msg = '操作成功',$backUrl = 0,$info = '') /** * 错误提醒页面 * @param string $msg * @param int $url */ protected function failed($msg = '哎呀…亲…您访问的页面出现错误', $url = 0) /** * 成功提醒页面 * @param string $msg * @param int $url */ protected function successful($msg, $url = 0)复制代码\basic\WapBasic Wap端基础类 /** * 操作失败 弹窗提示 ajax请求时返回json数据 * @param string $msg * @param int $url * @param string $title */ protected function failed($msg = '操作失败', $url = 0, $title='错误提示') /** * 操作成功 弹窗提示 ajax请求时返回json数据 * @param $msg * @param int $url */ protected function successful($msg = '操作成功', $url = 0, $title='成功提醒') /** * 微信用户自动登陆 并返回openid * @return string $openid */ protected function oauth()复制代码公共特性类\traits\ModelTrait Model公共特性 /** * 添加一条数据 * @param $data * @return object $model 数据对象 */ public static function set($data) /** * 添加多条数据 * @param $group * @param bool $replace * @return mixed */ public static function setAll($group, $replace = false) /** * 修改一条数据 * @param $data * @param $id * @param $field * @return bool $type 返回成功失败 */ public static function edit($data,$id,$field = null) /** * 查询一条数据是否存在 * @param $map * @param string $field * @return bool 是否存在 */ public static function be($map, $field = '') /** * 删除一条数据 * @param $id * @return bool $type 返回成功失败 */ public static function del($id) /** * 分页 * @param null $model 模型 * @param null $eachFn 处理结果函数 * @param array $params 分页参数 * @param int $limit 分页数 * @return array */ public static function page($model = null, $eachFn = null, $params = [], $limit = 20) /** * 高精度 加法 * @param int|string $uid id * @param string $decField 相加的字段 * @param float|int $dec 加的值 * @param string $keyField id的字段 * @param int $acc 精度 * @return bool */ public static function bcInc($key, $incField, $inc, $keyField = null, $acc=2) /** * 高精度 减法 * @param int|string $uid id * @param string $decField 相减的字段 * @param float|int $dec 减的值 * @param string $keyField id的字段 * @param bool $minus 是否可以为负数 * @param int $acc 精度 * @return bool */ public static function bcDec($key, $decField, $dec, $keyField = null, $minus = false, $acc=2)复制代码Api接口\Api\Express 快递查询 /** * 快递查询 * @param string $number 单号 * @param string $type 快递公司编号 * @return bool */ public static function query($number, $type = 'auto') /** * 获得所有快递公司信息 * @return bool */ public static function type()复制代码后台全局Api $eb // 查看图片 $eb.openImage(src) /** * 提示框 * @param type 'delete' 删除提示 | 'error' 错误提示 | 'success' 成功提示 | * @param param * @param code */ $eb.$swal(type,param,code) /** * 弹出框 * @param type 'textarea' 多行输入框输入框 * @param params * @param succFn */ $eb.$alert(type,params,succFn) /** * message * @param type 'success' | 'warning' | 'error' | 'loading' | 'default' * @param config * @returns {*} */ $eb.message(type,config) /** * notice * @param type 'success' | 'warning' | 'error' | 'default' * @param config * @returns {*} */ $eb.notice(type,config) // 关闭notice $eb.noticeClose(name) // 销毁notice $eb.noticeDestroy(name) /** * modal * @param type 'success' | 'warning' | 'error' | 'confirm' | 'default' * @param config * @returns {*} */ $eb.modal(type,config) // 移除modal $eb.modalRemove /** * 加载条 * @param type 'start' 开启 | 'finish' 结束 | 'error' 错误 | 'update' 更新到指定percent * @param percent * @returns {*} */ $eb.loading(type,percent) /** * 使用弹窗打开iframe页面 * @param title * @param src * @param opt * @returns index */ $eb.createModalFrame(title,src,opt) /** * 关闭iframe页面 * @param name | index */ $eb.closeModalFrame(name) /** * 全局layer */ $eb.layer /** * 全局axios */ $eb.axios复制代码前端工具类public/static/plug/helper.js 助手类 // 信息提示 提前引入 layer插件 $h.pushMsg = function(msg,fn) // 同时只提示一次信息 提前引入 layer插件 $h.pushMsgOnce = function(msg,fn) // 加载中 提前引入 layer插件 $h.load = function() // 加载中 透明背景 提前引入 layer插件 $h.loadFFF = function() // 关闭加载中 $h.loadClear = function() // ajax文件上传 提前引入 ajaxFileUpload插件 $h.ajaxUploadFile = function (name,url,fnGroup) // 高精度除法 $h.div = function(arg1,arg2) // 高精度乘法 $h.Mul = function(arg1,arg2) // 高精度加法 $h.Add = function(arg1,arg2) // 高精度减法 $h.Sub = function(arg1,arg2) // cookie操作 $h.cookie = function(key,val,time) // get参数获取 $h.getParmas = function getUrlParam(name) // tp5路由生成 $h.U = function(opt = {c:'控制器',a:'方法',p:'路由参数',q:'get参数'}); // 是否登陆中 $h.isLogin = function() // 获得未压缩图片url $h.unThumb = function (src)复制代码public/static/plug/wxApi.js 微信api接口public/static/plug/reg-verify.js 类型验证 // 是否网址 isHref:function(test) // 是否为邮箱 isEmail:function(test) // 是否为手机号 isPhone:function(test) // 是否为邮编 isPostCode:function(test) // 是否为空 isEmpty:function(test) // 是否为Array isArray:function(test) // 是否为Object isObject:function(test) // 是否为Undefined isUndefined:function(test) // 是否为Null isNull:function(test) // 去除左右空格 trim:function(test)复制代码public/wap/first/crmeb/module/store.js api请求 /** * 发送GET请求 * @param url 地址 * @param successCallback 成功回调 JsonService::successfly * @param errorCallback 失败回调 JsonService::failed */ baseGet:function(url,successCallback,errorCallback) /** * 发送POST请求 使用 * @param url 地址 * @param data post参数 * @param successCallback 成功回调 JsonService::successfly * @param errorCallback 失败回调 JsonService::failed */ basePost:function(url,data,successCallback,errorCallback)复制代码转载于:https://juejin.im/post/5c7dfc5ae51d4541da4a660c
帮助文档 0 0 1406天前
admin
926
http://www.phome.net/doc/manual/extend/
开发文档 0 0 1406天前
admin
1061
http://club.shopex.cn/b2b2c/dev/500.bbc-develop/5000.customize.html
开发文档 0 0 1406天前
admin
956
二次开发  什么是二次开发?  二次开发,简单的说就是在现有的软件上进行定制修改,功能的扩展,然后达到自己想要的功能和效果,一般来说都不会改变原有系统的内核。  为什么要二次开发?  随着信息化技术的不断发展,IT行业涌现出了一系列优秀的开源作品,其作者或是个人,或是项目小组,或是软件公司。选择和应用这些优秀的开源软件,并在此基础上进行符合业务需求的二次开发,将给企业节省信息化成本(时间成本及开发成本)的同时,更能带来技术上的保障。这就是我们常听的:站在巨人的肩膀上,你将看的更远。所以国内很多公司需要二次开发的人才。  怎么做二次开发?  第一,你要有这个开源产品的所用语言的语言基础,能看懂代码是最基本的。  第二,你要对这个开源产品的功能和使用要有比较熟悉,因为你熟悉了,你才知道一个需求下来,你要改什么,什么是系统自带的,大概要怎么改。  第三,你要熟悉这个开源产品的数据结构,代码结构,系统的框架结构,核心是哪里,附属功能是在哪里。简单点说,就是数据库,代码逻辑,文件目录的熟悉。  第四,根据你的需求,然后利用开源产品的内核,进行系统的扩展和修改,以达到你的需求介绍PHP的开源产品的二次开发的基本要求:  第一, 基本要求:HTML(必须要非常熟悉),PHP(能看懂代码,能写一些小系统,如:留言板,小型CMS),Mysql(至少会一种数据库),Javascript(能看懂,能改现成的一些代码),Div+Css(能进行界面的调整,明白CSS是怎么使用的)  第二, 熟悉开源产品的使用,比如 Dedecms,你要知道怎么登录,怎么新建栏目,怎么添加文章,模板标签的使用方法,模型的概念和使用方法等等一些功能  第三, 要熟悉这个开源产品的数据库结构,还要理解里面核心文件的内容,比如:数据库类怎么使用,常用的安全过滤是怎么做的,模板引擎又是怎么使用的等等一些核心内容。还要知道这个开源产品的目录结构,就是说,你要知道哪是放模板的,哪里是做控制的,哪里是放样式的,等等  第四, 熟悉你的需求,对需求进行解读,然后确定如何对这个开源产品进行修改和扩展  经过二次开发后,你能获取到的是什么呢?  你能完成你的需求,你能积累经验,这里的经验有你自己的,也有别人的。所谓别人的,就是在你做这个二次开发的时候,你能吸收到这个系统的精华,然后融入到你自己的思想里,你还能总结项目架构的经验。有句话说的好,就是:聪明的人会把别人的失败的经验当作自己的经验,而傻的人就是自己无数次体验失败后才作为自己的经验。二次开发不仅仅是开发,而更重要的是吸取精华,总结经验,理顺思路,少走弯路,提升自己。  站在巨人的肩膀上,你将看的更远!!!  ◆DedeCMS二次开发  为了让更多人了解二次开发,并更方便的了解DedeCMS的二次开发,下面将会简单的介绍关于DedeCMS二次开发的一些基础和大纲  DedeCMS二次开发必备基础:  · 非常熟悉HTML  · 熟悉DIV+CSS的布局  · 扎实的PHP基础,熟悉结构化编程,了解OOP,并能看懂和使用  · 熟悉MYSQL,掌握SQL语言  DedeCMS二次开发学习过程  · 理解CMS是什么  · 熟悉DedeCMS的功能(如:栏目的分类,文档管理,模型的使用,系统的设置等常用的功能)  · 掌握DedeCMS的模板标签使用及原理  · DedeCMS目录结构分析  熟悉每个文件夹里面主要装什么文件,这样在二次开发的时候知道在哪个文件夹下的什么文件修改  目录结构摘要:  ./a 生成文件存放路径  ./data 缓存文件及数据中心  /admin 管理后台数据  /backupdata 备份数据  /cache 缓存文件  /enums 级别联动数据,JS,枚举类型的缓存文件  /js 常用的JS  /mark 水印相关文件  /module 模块安装文件  /rss Rss相关  /sessions Session 存放路径  /textdata 文本数据  /tplcache 模板缓存  /uploadtmp 上传文件缓存位置  /ziptmp zip包解压缓存位置  ……  DedeCMS文件结构分析  熟悉每个文件的基本功能,方便做修改,知道每个文件的大概作用之后,可以方便的对文件进行修改  文件结构摘要:  common.inc.php 数据库配置文件  config.cache.bak.php 后台系统配置备份  config.cache.inc.php 后台系统配置文件缓存  downmix.data.php 采集混淆缓存文件  mysql_error_track.inc MYSQL错误��志  safequestions.php 安全问题  sitemap.html 站点地图  sys_pay.cache.php 支付网关配置  template.rand.php 随机模板设置  ……  · DedeCMS数据库结构分析,至少要熟悉每个表的作用  熟悉每个表的作用,了解几个核心表的设计及字段的含义,方便拿到新的需求之后,能快速的判断是否加字段,还是新建表来处理。同时也能理解DedeCMS的数据库设计思想,把有用的设计思路加到自己的系统中。  · DedeCMS的流程控制,及一些核心文件的解析  熟悉一些登陆,注册,文档管理,权限控制,分类管理,模型设置等一些常用流程控制。对几个核心文件进行解剖,了解其编程技巧及安全机制  · DedeCMS插件的开发(****式插件和内嵌式插件)  熟悉两种插件的编写,插件的导入导出,插件搭配模型的使用  ◆Ecshop二次开发  EcShop二次开发学习方法  近年来,随着互联网的发展,电子商务也跟着一起成长,B2B,C2C,B2C的电子商务模式也不断的成熟。这时催生出了众多电子商务相关的PHP开源产品。B2C方面有Ecshop,Zencart,Magento等国内外知名产品。  下面我们就来简单介绍一下学习Ecshop二次开发的过程和要注意的一些东西:  Ecshop二次开发必备基础:  · 非常熟悉HTML  · 熟悉DIV+CSS的布局  · 扎实的PHP基础,熟悉结构化编程,了解OOP,并能看懂和使用  · 熟悉Smarty模板引擎  · 熟悉MYSQL,掌握SQL语言  Ecshop二次开发学习过程  · 熟悉电子商务基本概念  · 熟悉EcShop 的基本功能使用(商品类型,商品分类,商品属性设置,促销活动使用等)  · 掌握Ecshop的数据库结构和数据库设计思想  · 熟悉ER的模式,实体与关系的建立  熟悉每个表的作用,了解几个核心表的设计及字段的含义,方便拿到新的需求之后,能快速的判断是否加字段,还是新建表来处理。同时也能理解Ecshop的数据库设计思想,把有用的设计思路加到自己的系统中  · 文件结构分析及代码分析  熟悉一些登陆,注册,文档管理,权限控制,分类管理,商品类型等一些常用流程控制。对几个核心文件进行解剖,了解其编程技巧及安全机制  · Ecshop文件结构分析:  \includes\cls_captcha.php: 验证码图片类  \includes\cls_ecshop.php: 基础类  \includes\cls_ecshop.php(56): 密码编译方法;  \includes\cls_rss.php: RSS 类  \includes\cls_smtp.php: SMTP 邮件类  \includes\inc_constant.php: 常量  \includes\init.php: 前台公用文件  \includes\lib_common.php: 公用函数库  \includes\lib_goodscat.php: 前台公用函数库  \includes\lib_insert.php: 动态内容函数库  \includes\lib_main.php: 前台公用函数库  \includes\lib_payment.php: 支付接口函数库  \includes\iconv\cls_iconv.php: 字符集转换类  \includes\ip\cls_ip.php: IP 归属地查询类  \includes\modules\integrates\discuz.php: 会员数据处理类  \includes\modules\integrates\ecshop.php: 会员数据处理类  Ecshop模板更换  熟悉Smarty的精简版的使用,嵌入自己的界面,EcShop模板的跟换技巧  Ecshop二次开发实例  中英文切换的功能,秒杀功能,京东商城模板的制作等  学习目的:  1,会使用Ecshop进行二次开发  2,会换普通的模板及一些功能的修改  3,吸取里面的开发经验  掌握基础知识-》模仿里面的一些写法-》修改里面的模式(形成自己的开发模式)  掌握Ecshop里面的编程技巧及系统设计技巧  ◆缓存技术分析  常见的PHP缓存技术分析[概念版]  在大部份情况下我们的网站都会使用数据库作为站点数据存储的容器。当你执行一个SQL查询时,典型的处理过程是:连接数据库->准备SQL查询->发送查询到数据库->取得数据库返回结果->关闭数据库连接。但数据库中有些数据是完全静态的或不太经常变动的,缓存系统会通过把SQL查询的结果缓存到一个更快的存储系统中存储,从而避免频繁操作数据库而很大程度上提高了程序执行时间,而且缓存查询结果也允许你后期处理。  普遍使用的缓存技术  数据缓存:这里所说的数据缓存是指数据库查询缓存,每次访问页面的时候,都会先检测相应的缓存数据是否存在,如果不存在,就连接数据库,得到数据,并把查询结果序列化后保存到文件  中,以后同样的查询结果就直接从缓存文件中获得。  页面缓存:  每次访问页面的时候,都会先检测相应的缓存页面文件是否存在,如果不存在,就连接数据库,得到数据,显示页面并同时生成缓存页面文件,这样下次访问的时候页面文件就发挥作用了。(模板引擎和网上常见的一些缓存类通常有此功能)  内存缓存:  在里就不介绍了,不是本文所要讨论的,只简单提一下:  Memcached是高性能的,分布式的内存对象缓存系统,用于在动态应用中减少数据库负载,提升访问速度。  dbcached 是一款基于 Memcached 和 NMDB 的分布式 key-value 数据库内存缓存系统。  以上的缓存技术虽然能很好的解决频繁查询数据库的问题,但其缺点在在于数据无时效性,下面我给出我在项目中常用的方法:  时间触发缓存:  检查文件是否存在并且时间戳小于设置的过期时间,如果文件修改的时间戳比当前时间戳减去过期时间戳大,那么就用缓存,否则更新缓存。  设定时间内不去判断数据是否要更新,过了设定时间再更新缓存。以上只适合对时效性要求不高的情况下使用 ,否则请看下面。  内容触发缓存:  当插入数据或更新数据时,强制更新缓存。  在这里我们可以看到,当有大量数据频繁需要更新时,最后都要涉及磁盘读写操作。怎么解决呢?我在日常项目中,通常并不缓存所有内容,而是缓存一部分不经常变的内容来解决。但在大负荷的情况下,最好要用共享内存做缓存系统。  到这里PHP缓存也许有点解决方案了,但其缺点是,因为每次请求仍然要经过PHP解析,在大负荷的情况下效率问题还是比效严重,在这种情况下,也许会用到静态缓存。  静态缓存  这里所说的静态缓存是指HTML缓存,HTML缓存一般是无需判断数据是否要更新的,因为通常在使用HTML的场合一般是不经常变动内容的页面。数据更新的时候把HTML也强制更新一下就可以了。  其实一个缓存系统涉及的问题是比较多的,我在这里只介绍一下我平时的缓存思路,并没有介绍利用软件来实现缓存和写出具体代码。  如果您有什么好的解决方案也请在下面提出,让我们一起互相探讨。  ◆PHP使用函数调用命令  php中使用exec,system等函数调用系统命令  php的内置函数exec,system都可以调用系统命令(shell命令),当然还有passthru,escapeshellcmd等函数。  在很多时候利用php的exec,system等函数调用系统命令可以帮助我们更好更快的完成工作。比如前二天笔者在批量处理.rar文件时exec就帮我了大忙了。  今天整理一下常用的调用系统函数发出来和大家分享经验。  注意:要想使用这二个函数php.ini中的安全模式必须关闭,要不然为了安全起见php是不让调用系统命令的。  先看一下php手册对这二个函数的解释:  exec --- 执行外部程式  语法 : string exec ( string command [, array &output [, int &return_var]] )  说明 :  exec( )执行给予的命令command,不过它并不会输出任何东西,它简单的从命令的结果中传回最后一行,如果你需要去执行一个命令,并且从命令去取得所有资料时,可以使用passthru( )这个函数。  如果有给予参数array,则指定的数组将会被命令所输出的每一行填满,注意 : 如果数组先前已经包含了一些元素的话,exec( )将会把它附加在数组的后面,如果你不想要此函数附加元素的话,你可以在传递此数组给exec( )之前呼叫unset( )。  如果有给予参数array和return_var,则传回执行的状态命令将会写到这个变量。  注意 : 如果你允许来自使用者输入的资料,可以传递到此函数,那么你应该使用escapeshellcmd( )来确定此使用者无法哄骗(trick)系统来执行武断的(arbitrary)命令。  注意 : 如果你使用此函数来启动一个程式,而且希望在背景里(background)执行的时候离开它,你必须确定此程式的输出是转向(redirected)到一个文件或是一些输出的资料流,否则PHP将会悬挂(hang)直到程式执行结束。  system --- 执行外部程式并且显示输出  语法 : string system ( string command [, int &return_var] )  说明 :  system( )执行给予的命令command,并且输出结果。如果有给予参数return_var,则执行命令的状态码将会写到这个变量。  注意 : 如果你允许来自使用者输入的资料,可以传递到此函数,那么你应该使用escapeshellcmd( )来确定此使用者无法哄骗(trick)系统来执行武断的(arbitrary)命令。  注意 : 如果你使用此函数来启动一个程式,而且希望在背景里(background)执行的时候离开它,你必须确定此程式的输出是转向(redirected)到一个文件或是一些输出的资料流,否则PHP将会悬挂(hang)直到程式执行结束。  如果PHP是运作成伺服器模组,在输出每一行后,system( )会试着自动地清除web伺服器的输出缓冲。  成功则传回命令的最后一行,失败则传回false。  如果你需要去执行一个命令,并且从命令去取得所有资料时,可以使用passthru( )这个函数。  这二个都是用来调用系统shell命令,  不同点:  exec可以把执行的结果全部返回到output函数里(数组),output函数里(数组),status是执行的状态 0为成功 1为失败  systerm不需要提供output函数,他是直接把结果返回出来,同样output函数,他是直接把结果返回出来,同样return_var是执行的状态码 0为成功 1为失败  ◆关于开源  开源最大的成功来源于Web  开源运动广受欢迎,并且在软件开发史上写下了浓重一笔。但是它影响最深远的地方在哪呢?有史以来,最成功的开源“项目”又是什么呢?  事实上,总体来看,Web不就是开源运动最大的成功么?  可能最有名的例子就是隐藏域众多网站背后的LAMP,也就是Linux、Apache、MySQL和PHP。但当你仔细考虑后,你会发现更多。  下面列出了Web得以运转的一些开源项目。  Web browsers-网络浏览器  在网络浏览器市场中,虽然微软的封闭源码软件IE浏览器仍然占有很大的份额,但其它功能相似的开源项目已经流行起来,并在不断壮大。像Mozilla公司的Firefox浏览器(它是开源的,还有Flock、PaleMoon)。还有增长迅速的基于Webkit的浏览器,像Safari,但最著名的是Chrome浏览器。  如果把手机网络也算到这里面,其中Webkit主宰着iPhone、Android和Blackberry手机中的浏览器。  Web server software-Web服务器软件  迄今为止,Apache是使用范围最广的网络服务器软件,它是开源的,但是一个叫做Nginx的轻量级服务器软件在最近几年开始流行起来。事实上,三大顶级网络服务器软件中有两个是开源的(排名第二的微软的IIS是例外,但其距离第一相差甚远)。  另外,大量服务器端底层软件也是开源的。例如,很多大流量网站使用Varnish作为与网站访问者之间的缓存层,而使用Memcached作为与网站数据库之间的缓存层。这只是众多例子中的两个。  Scripting languages and web frameworks-脚本语言和Web框架  网络上使用的大部分编程和脚本语言都是开源的,比如PHP、Perl、Python、Ruby等。  但是,很少有网站完完全全是从零开始。毫不夸张的说,有成百上千的开源内容管理系统(CMS)和网络框架来协助开发人员,例如WordPress、Drupal、Ruby on Rails、Django、Joomla、DedeCMS、Ecshop等。  Databases-数据库  开源软件MySQL是目前为止最流行的网站数据库,但还有其它功能相似的开源软件,比如PostgreSQL,更不用说近来出现的众多“非关系型(NoSQL)”数据库。  既然我们说到了底层软件,那就不得不提一下每次我们使用互联网或因特网上的任何东西时都要依靠的基础系统:  DNS-域名解析系统  Web(就此而言是整个因特网)离开了域名解析系统就一无是处。大家都知道,域名解析系统可以让用户使用像example.com之类的域名,而不是IP地址。BIND几乎是DNS服务器(亦称名称服务器)软件的实际标准,并且,你现在可能已经猜到了,它是开源的。  Server operating systems-服务器操作系统  所有网站都必须在服务器上运行,而那也是开源的统治领域。虽然Windows统治着桌面领域,但是网站赖以运行的服务器大部分采用开源的Linux操作系统,其他比较流行的选择是freeBSD和OpenBSD。  开源的诱惑  由于在许多情况下,开源软件能够提供与商业的封闭源码软件相同的性能,并且又是免费的,所以开源软件如此流行并不奇怪。免费是一个难以挑战的价格。  假如Web不是运行在所有这些免费软件上,那么它很可能需要一段艰苦的过程,才能让人们广泛接受。  注意我们并没说过Web中没有任何封闭源码软件,而那显然是存在的。但是,从统计数据看,Web开源统治领域中真正的例外是微软的基于Windows系列系统。  除了那个,你通常需要深入研究才能发现更多私有封闭源码技术,像路由器和类似设备上的操作系统。但那是因特网,而不是Web。
开发文档 0 0 1406天前
admin
1376
二次开发,简单的说就是在现有的软件上进行定制修改,功能的扩展,然后达到自己想要的功能,一般来说都不会改变原有系统的内核。中文名二次开发外文名custom/tailor-made software development性    质现有的软件上进行定制修改语言基础语言基础分    类计算机学二次开发工具族表、用户定义特征等目录1 简介2 如何进行二次开发3 基本要求4 PRO/ENGINEER二次开发▪ 工具▪ 程序模式5 Ecshop二次开发▪ 必备基础:▪ 文件结构分析6 DedeCMS二次开发▪ 必备基础:▪ 文件结构分析7 常见的PHP缓存技术分析▪ 数据缓存▪ 页面缓存▪ 内存缓存▪ 时间触发缓存▪ 内容触发缓存▪ 静态缓存简介编辑一般的来说,一些大公司如IBM开发了一个大型的软件系统平台,根据不同的客户的需要,一些其它的中小公司为客户根据需求在该平台上进行第二次有针对性的开发。是否提供相应的接口,有的软件公司只提供软件,但也有小公司连代码一起出售,如是后者,就更方便进行二次开发。比如售票系统,车站里面弄好了,提供几个储存过程给银行,银行就可以代理售票了,这也是一种,还有一种如我们利用delphi,C#等操作word等。 [1] 如何进行二次开发编辑第一,你要有这个开源产品的所用语言的语言基础,能看懂代码是最基本的。第二,你要对这个开源产品的功能和使用要有比较熟悉,因为你熟悉了,你才知道一个需求下来,你要改什么,什么是系统自带的,大概要怎么改。第三,你要熟悉这个开源产品的数据结构,代码结构,系统的框架结构,核心是哪里,附属功能是在哪里。简单点说,就是数据库,代码逻辑,文件目录的熟悉。第四,根据你的需求,然后利用开源产品的内核,进行系统的扩展和修改,以达到你的需求。基本要求编辑第一,你要有这个开源产品的所用语言的语言基础。 [2] 二次开发第二,你要对这个开源产品的功能和使用要有比较熟悉,因为你熟悉了,你才知道一个需求下来,你要改什么,什么是系统自带的,大概要怎么改。第三,你要熟悉这个开源产品的数据结构,代码结构,系统的框架结构,核心是哪里,附属功能是在哪里。简单点说,就是数据库,代码逻辑,文件目录的熟悉。如果是用接口式的二次开发,则需要你对这个接口比较熟悉,一般来说会有相应的文档。第四,根据你的需求,然后利用开源产品的内核,进行系统的扩展和修改,以达到你的需求。第五,对其提供的SDK中的API函数有一定了解,以利于你对SDK中个函数的使用更加灵活方便。PRO/ENGINEER二次开发编辑PRO/ENGINEER在提供强大的设计、分析、制造功能的同时,也为用户提供了多种二次开发工具。工具常用的二次开发工具有:族表(Family Table)、用户定义特征(UDF)、Pro/Program、J-link、Pro/toolkit等。 [3] 1)族表(Family Table) 通过族表可以方便的管理具有相同或相近结构的零件,特别适用于标准零件的管理。族表通过建立通用零件为父零件,然后在其基础上对各参数加以控制生成派生零件。整个族表通过电子表格来管理,所以又被称为表格驱动。2)用户定义特征(UDF) 用户定义特征是将若干个系统特征融合为一个自定义特征,使用时作为一个整体出现。系统将UDF特征以gph文件保存。UDF适用特定产品中的特定结构,有利于设计者根据产品特征快速生成几何模型。3)Pro/ENGINEER软件对于每个模型都有一个主要设计步骤和参数列表―Pro/Program。它是由类似BASIC的高级语言构成的,用户可以根据设计需要来编辑该模型的Program,使其作为一个程序来工作。通过运行该程序,系统通过人机交互的方法来控制系统参数、特征出现与否和特征的具体尺寸等。相关书籍4)J-link是PRO/ENGINEER中自带的基于JAVA语言的二次开发工具。用户通过JAVA编程实现在软件PRO/ENGINEER中添加功能。5)Pro/Toolkit同J-link一样也是Pro/E自带的二次开发工具,在Pro/Toolkit中,PTC向用户提供了大型的C语言函数库,函数采用面向对象的风格,通过调用这些底层函数,用户能方便而又安全地访问Pro/ENGINEER的数据库及内部应用程序,进行二次开发,扩展一些特定功能。6)基于VB API的二次开发过程,Pro/E Wildfire 4.0开始可以采用Visual Basic API,通过 Visual Basic NET应用程序和应用程序 (如 Microsoft Word、Excel 或 Access) 中的 Visual Basic 宏来进行二次开发。7)pro/web.link 这种方法使用的语言是javascript,以网页的形式来访问proe 模型一般情况下,采用比较多的是Pro/Toolkit,进行二次开发。程序模式同步模式(Synchronous Mode)和异步模式(Asynchronous Mode)。同步模式下,Pro/E根据注册文件中的信息启动应用程序,Pro/Toolkit应用程序和Pro/E产生各自的进程,程序的控制权在两个进程之间切换。该应用程序不能够独立于Pro/E而运行。在异步模式下,Pro/Toolkit应用程序和Pro/E能够进行各自的操作,在通信方面,异步模式使用远程调用(Remote Procedure Calls,RPC)方式,程序(含有独立主函数)能独立于Pro/E启动。由于异步模式采用远程调用,程序运行速度相比同步模式慢很多,整合性也不好,所以一般基于Pro/E的Toolkit开发采用同步模式。在同步模式下又有两种开发方式:动态链接库(DLL Mode)和多进程(Multiprocess 或Spawned Mode)。前者为的动态连接库文件,无自身主程序函数,直接连接于Pro/E进行程序调用。后者为.exe文件,有独立的主程序和Pro/E进行相连接。一般为了调试方便,开发程序时可以采用多进程模式,在程序完成时,采用动态连接库提高程序运行效率Ecshop二次开发编辑ECShop是一款B2C独立网店系统,适合企业及个人快速构建个性化网上商店。系统是基于PHP语言及MYSQL数据库构架开发的跨平台开源程序。目前最新版本为2.7.3。系统在实际使用过程中用户会有各种不同的需求,往往需要进行二次开发,针对这些需求 php服务中心专门建立ecshop二次开发部门,来解决用户以上问题,同时 php服务中心齐永东齐老师总结二次开发经验录制了大量ecshop二次开发视频并提供免费下载。 [3] 必备基础:非常熟悉HTML熟悉DIV+CSS的布局扎实的PHP基础,熟悉结构化编程,了解OOP,并能看懂和使用熟悉Smarty模板引擎熟悉MYSQL,掌握SQL语言文件结构分析\includes\cls_captcha.php: 验证码图片类\includes\cls_ecshop.php: 基础类\includes\cls_ecshop.php(56): 密码编译方法;\includes\cls_rss.php: RSS 类\includes\cls_smtp.php: SMTP 邮件类\includes\inc_constant.php: 常量\includes\init.php: 前台公用文件\includes\lib_common.php: 公用函数库\includes\lib_goodscat.php: 前台公用函数库\includes\lib_insert.php: 动态内容函数库\includes\lib_main.php: 前台公用函数库\includes\lib_payment.php: 支付接口函数库\includes\iconv\cls_iconv.php: 字符集转换类\includes\ip\cls_ip.php: IP 归属地查询类\includes\modules\integrates\discuz.php: 会员数据处理类\includes\modules\integrates\ecshop.php: 会员数据处理类DedeCMS二次开发编辑必备基础:非常熟悉HTML [4] 熟悉DIV+CSS的布局扎实的PHP基础,熟悉结构化编程,了解OOP,并能看懂和使用熟悉MYSQL,掌握SQL语言文件结构分析熟悉每个文件的基本功能,方便做修改,知道每个文件的大概作用之后,可以方便的对文件进行修改文件结构摘要:common.inc.php 数据库配置文件config.cache.bak.php 后台系统配置备份config.cache.inc.php 后台系统配置文件缓存downmix.data.php 采集混淆缓存文件mysql_error_track.inc MYSQL错误日志safequestions.php 安全问题sitemap.html 站点地图sys_pay.cache.php 支付网关配置template.rand.php 随机模板设置……· DedeCMS数据库结构分析,至少要熟悉每个表的作用熟悉每个表的作用,了解几个核心表的设计及字段的含义,方便拿到新的需求之后,能快速的判断是否加字段,还是新建表来处理。同时也能理解DedeCMS的数据库设计思想,把有用的设计思路加到自己的系统中。· DedeCMS的流程控制,及一些核心文件的解析熟悉一些登陆,注册,文档管理,权限控制,分类管理,模型设置等一些常用流程控制。对几个核心文件进行解剖,了解其编程技巧及安全机制· DedeCMS插件的开发(插件和内嵌式插件)熟悉两种插件的编写,插件的导入导出,插件搭配模型的使用常见的PHP缓存技术分析编辑在大部份情况下我们的网站都会使用数据库作为站点数据存储的容器。当你执行一个SQL查询时,典型的处理过程是:连接数据库->准备SQL查询->发送查询到数据库->取得数据库返回结果->关闭数据库连接。但数据库中有些数据是完全静态的或不太经常变动的,缓存系统会通过把SQL查询的结果缓存到一个更快的存储系统中储,从而避免频繁操作数据库而很大程度上提高了程序执行时间,而且缓存查询结果也允许你后期处理。 [4] 数据缓存这里所说的数据缓存是指数据库查询缓存,每次访问页面的时候,都会先检测相应的缓存数据是否存在,如果不存在,就连接数据库,得到数据,并把查询结果序列化后保存到文件中,以后同样的查询结果就直接从缓存文件中获得。页面缓存每次访问页面的时候,都会先检测相应的缓存页面文件是否存在,如果不存在,就连接数据库,得到数据,显示页面并同时生成缓存页面文件,这样下次访问的时候页面文件就发挥作用了。(模板引擎和网上常见的一些缓存类通常有此功能)内存缓存Memcached是高性能的,分布式的内存对象缓存系统,用于在动态应用中减少数据库负载,提升访问速度。dbcached 是一款基于Memcached 和 NMDB 的分布式 key-value 数据库内存缓存系统。以上的缓存技术虽然能很好的解决频繁查询数据库的问题,但其缺点在在于数据无时效性,下面介绍项目中常用的方法:时间触发缓存检查文件是否存在并且时间戳小于设置的过期时间,如果文件修改的时间戳比当前时间戳减去过期时间戳大,那么就用缓存,否则更新缓存。设定时间内不去判断数据是否要更新,过了设定时间再更新缓存。以上只适合对时效性要求不高的情况下使用 ,否则请看下面。内容触发缓存当插入数据或更新数据时,强制更新缓存。在这里我们可以看到,当有大量数据频繁需要更新时,最后都要涉及磁盘读写操作。怎么解决呢?我在日常项目中,通常并不缓存所有内容,而是缓存一部分不经常变的内容来解决。但在大负荷的情况下,最好要用共享内存做缓存系统。其缺点是,因为每次请求仍然要经过PHP解析,在大负荷的情况下效率问题还是比效严重,在这种情况下,也许会用到静态缓存。静态缓存这里所说的静态缓存是指HTML缓存,HTML缓存一般是无需判断数据是否要更新的,因为通常在使用HTML的场合一般是不经常变动内容的页面。数据更新的时候把HTML也强制更新一下就可以了。
开发文档 0 0 1406天前
admin
1050
https://www.cnblogs.com/yizhilin/p/7479166.htmlhttps://blog.csdn.net/qq_42259469/article/details/84646570HBuilder是DCloud(数字天堂)推出的一款支持HTML5的Web开发IDE。该软件既可以支持web代码编写,也可以将已经编写好的项目代码打包为手机APP。HBuilder提供的打包有云端打包和本地打包两种,云端打包的特点是DCloud官方配置好了原生的打包环境,可以把HTML等文件编译为原生安装包。 1,下载HBuilder,注册并登陆。首先打开“文件”-“新建”-“移动APP”,输入“应用名称”,“位置”可以根据需要自己选择即可,“选择模板”建议选择空模板;2,新建完成后, 在项目管理器会显示新建的项目目录,其中css,img,js和index.html这几个文件可删可改可替换。unpackage文件夹是放置app图标和启动界面的图片。manifest.json文件是移动App的配置文件,用于指定应用的显示名称、图标、应用入口文件地址及需要使用的设备权限等信息,用户可通过HBuilder的可视化界面视图或者源码视图来配置移动App的信息。3,如果删除了css,img,js文件夹和index.html文件,就把其他自己的项目文件对应复制到文件夹中,注意html文件中的引用路径需要保持正确。如下图自己拷贝的项目: 4, 文件复制完成后,刷新更新下,双击打开manifest.json文件来配置App。appid:点击云端获取。版本号:根据需要来编辑。页面入口:默认是index.html,根据自己项目需要,更改APP的启动页面。应用描述:自己随便填。应用是否全屏显示:勾上就全屏显示。5,图标配置:点击页面下方的图标配置,配置APP显示图标。1)点击"+"号的正方形方框,选择图标素材的路径找到图标素材,再点击" 自动生成所有图标并替换"按钮,完成图标生成和替换。2),生成的图标自动在unpackage文件夹下6,启动图片(splash)配置,点击切换到启动图片配置1),启动选项:默认2),启动图片设置,根据自己需要是Android还是iOS平台,再根据不同设备对应做出启动图片3),在unpackage→res文件下新建个文件命名"splash",把做好的启动图片放到这个文件里面。4),在启动图片设置里点击"选择",找到刚放进来的启动图片7,SDK配置:有需要就配置,没有就默认就行。8,模块权限配置:有需要就配置,没有就默认就行。9,页面引用关系:首先点击“扫描代码”,再点击左边index.html文件该功能是什么意思:点击左侧html文件,右侧会显示不同的文件,图片等。可以表示左侧html文件加载时所需要的资源。10,代码视图:在代码视图里查看设置是否正确,确定后ctrl+s保存好。11,设置好配置选项,正式进入打包阶段HBuilder里点:"发行"-"发行为原生安装包"开始打包这里介绍一下iOS打包1),这里如果选择越狱包就不需要苹果证书,一路默认设置就可以打包成功,但是打包的App只能安装在越狱过的手机,没越狱安装不了。2),如果使用苹果证书,这里推荐一个申请iOS证书的工具 Appuploader。免苹果付费开发者账号,直接使用普通苹果id,就能使用Appuploader申请ios测试证书,打包ipa安装到非越狱设备。工具的安装网址:http://www.applicationloader.net/blog/zh/72.html免开发者账号申请iOS证书教程:http://www.applicationloader.net/blog/zh/1073.html 12,提交成功后点击确定,就可以查看App打包状态等打包成功,就可以点手动下载,通过第三方工具 苹果助手安装到ipad上了。13,调试和安装模拟器如果你需要在电脑本机进行调试那就需要安装模拟器,请参考http://ask.dcloud.net.cn/article/151如何安装配置手机模拟器,或者在HBuilder里→→运行→→手机运行→→如何安装配置手机模拟器进入查看。如果需要安装到手机进行真机调试,把手机用数据线连接到电脑,然后重新启动HBuilder→→运行→→手机运行→→连接上真机。
最新版块 0 0 1406天前
admin
1018
https://blog.csdn.net/qq_33858974/article/details/90681251https://blog.csdn.net/qq_41974008/article/details/90576519注:目前最新为phpStudy v8.1版本,以下教程注明v8.0的版本和v8.1的界面有所差异,使用方法大致相同。本教程为Phpstudy v8.0 windows版本的使用教程,包含安装、使用以及常见问题,不断更新中!phpStudy V8官方使用手册:https://www.xp.cn/phpstudy-v8/phpStudy V8 使用文章:https://www.xp.cn/phpstudy/phpstudy-v8/【windows版本】phpstudy v8 安装使用教程1.  phpstudy v8 下载与安装2.  phpstudy v8.0 各功能模块简介3.  phpstudy v8.0创建本地站点域名教程(图文)4.  phpstudy v8.0 网站创建与配置5.  phpstudy v8.0 php mysql多版本共存与切换教程6.  phpstudy v8.0 数据库管理工具phpadmin使用教程7.  phpstudy v8.0 FTP服务器设置8.  phpstudy v8.1 全站301重定向设置教程9. phpstudy v8.1 Apache伪静态的配置10. phpstudy v8.1 Nginx伪静态的配置【windows版本】phpstudy v8 常见问题1.80端口被占用的解决办法方法一:直接修改端口号phpstudy v8一直“显示端口被占用,正在尝试关闭”解决方案https://www.xp.cn/phpstudy/phpstudy-v8/3319.html方法二:干掉占用端口号的进程Win7系统下phpstudy 80端口被system占用的解决办法https://www.xp.cn/phpstudy/phpstudy-v8/3320.htmlphpstudy v8默认是以非管理员权限启动的,所以有些管理员权限启动的进程无法直接杀死,这个时候你可以根据实际情况手动以管理员权限杀掉进程或者是修改软件启动的端口,还有一种方法就是启动phpstudy v8的时候以管理员身份运行。2.  phpstudy V8 报403错误3.  phpstudy V8 如何完全卸载?4. phpstudy v8安装后Apache无法启动01. 安装路径不能包含“中文”或者“空格”,否则会报错(例如错误提示:Can't change dir to 'G:\\x65b0\x5efa\x6587\)02. 保证安装路径是纯净的,安装路径下不能有已安装的V8版本,若重新安装,请选择其它路径5. phpStudy V8做301设置提示将您重定向的次数过多【相关推荐】【windows版本】Phpstudy 安装使用及常见问题汇总(历史版本)
最新版块 0 0 1406天前
admin
1564
当我们服务器配置不高时,在宝塔面板中安装mysql可能会出现:“至少需要2个CPU核心才能安装”或者“至少需要XXX内存才能安装”。这是宝塔面板为了保证服务器的运行,宝塔面板对于低内存和低CPU的服务器,安装mysql时有最低内存和CPU核数限制。这对于很多想要体验高版本mysql站长,或者程序需要更高版本的mysql时,是一件麻烦的事。要么只能够升级服务器配置,要么只能被迫安装低版本mysql。其实有一个解决方法,你就是关闭宝塔面板最低内存和最低CPU的限制,强制安装。宝塔面板最低内存和最低CPU限制Mysql 5.6 :最低内存要求 768MB。Mysql 5.7 :最低内存要求 1560MB。Mysql 8.0 :最低内存要求 3700MB,最少CPU数:2个宝塔面板最低内存和最低CPU数限制解决方法方法一:修改宝塔面板/www/server/panel/class/panelPlugin.py文件A.直接使用宝塔面板的在线文件编辑工具在文件找到/www/server/panel/class/panelPlugin.py文件。找到137行和138行中的这俩代码。如果是最低内存限制就将138行的代码注释,在这行代码前面加上#号。如果是最低CPU数限制就将137行代码注释,在这行代码前面加上#号。B.或者使用root权限远程连接到服务器上,编辑/www/server/panel/class/panelPlugin.py文件。vim /www/server/panel/class/panelPlugin.py使用vim编辑文件,在末行模式,输入set nu显示行号。找到137行和138行中的这俩代码。如果是最低内存限制就将这下面代码注释,在这行代码前面加上#号。if not self.check_mem_limit(versionInfo['mem_limit']): return public.returnMsg(False,'至少需要[%dMB]内存才能安装' % versionInfo['mem_limit'])^M如果是最少CPU数限制就将下面行代码注释,在这行代码前面加上#号。if not self.check_cpu_limit(versionInfo['cpu_limit']): return public.returnMsg(False,'至少需要[%d]个CPU核心才能安装' % versionInfo['cpu_limit'])^M保存退出文件,宝塔面板最低内存和最低CPU数限制就解除了。注意:要重启面板,在选择需要的mysql版本安装。方法二:修改宝塔面板文件/www/server/panel/dateplugin.json在宝塔面板文件中找到/www/server/panel/date,修改plugin.json文件。根据所要安装的mysql版本修改对应的配置,mem_limit是内存限制,CPU_limit是CPU限制。将对应值修改为小于你服务器你内存或者CPU的值。方法三:下载mysql.sh强制安装使用root权限远程连接到服务器上。进入到/www/server/panel/install/目录下。如果你选择的安装mysql方式是编译安装的话,输入下面脚本:wget http://download.bt.cn/install/0/mysql.sh;bash mysql.sh install 5.7如果你选择的安装mysql方式是极速安装安装的话,输入下面脚本:wget http://download.bt.cn/install/1/mysql.sh;bash mysql.sh install 5.7将5.7替换成你要安装的mysql版本。注意:如果你已经安装了数据库,上面的命令会卸载删除当前数据库及数据
最新版块 0 0 1406天前
admin
1396
在最近使用宝塔面板是总是会碰到一些问题,在解决过程中就会使用到重复很多条命令。而当过了一段时间不再使用便会忘记,等要使用是又要重新去查找很麻烦,所以就写这篇文章记录使用宝塔面板时常用的命令。命令来自宝塔官方,从宝塔论坛整理,大家可以直接到宝塔论坛上查看。欢迎大家补充。宝塔服务器面板,一键全能部署及管理,送你3188元礼包,点我领取https://www.bt.cn/?invite_code=MV90bXZxaWM=1. 宝塔面板新装命令1.1 宝塔Linux5.9免费版:Centos:yum install -y wget && wget -O install.sh http://download.bt.cn/install/install.sh && sh install.shUbuntu/Deepin: wget -O install.sh http://download.bt.cn/install/install-ubuntu.sh && sudo bash install.shDebian:wget -O install.sh http://download.bt.cn/install/install-ubuntu.sh && bash install.shFedora: wget -O install.sh http://download.bt.cn/install/install.sh && bash install.sh如果大家安装完免费版后想升级专业版可以执行升级代码:wget -O update.sh http://download.bt.cn/install/update_pro.sh && bash update.sh pro1.2 宝塔Linux5.9专业版:Centos: yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_pro.sh && sh install.shUbuntu/Deepin: wget -O install.sh http://download.bt.cn/install/install-ubuntu_pro.sh && sudo bash install.shDebian: wget -O install.sh http://download.bt.cn/install/install-ubuntu_pro.sh && bash install.shFedora: wget -O install.sh http://download.bt.cn/install/install_pro.sh && bash install.sh如果大家专业版过期了不想再续费可以执行降级代码降级为免费版:wget -O update.sh http://download.bt.cn/install/update.sh && bash update.sh free2. 更新宝塔面板版本直接更新到最新版:wget -O update.sh http://download.bt.cn/install/update.sh && sh update.sh更新到指定版本:wget -O update.sh http://download.bt.cn/install/update.sh && sh update.sh 5.9.03. 切换宝塔免费版/专业版宝塔专业版切换到免费版:wget -O update.sh http://download.bt.cn/install/update.sh && bash update.sh free宝塔免费版切换到专业版:wget -O update.sh http://download.bt.cn/install/update_pro.sh && bash update.sh pro4卸载宝塔面板进入ssh 输入:wget http://download.bt.cn/install/bt-uninstall.sh执行脚本:sh bt-uninstall.sh根据提示输入1或2后按回车清理面板或环境 (若输入其他值或不输入直接回车则只卸载面板)注:此卸载脚本不会删除你的数据库及网站数据5.宝塔自动磁盘挂载命令在新购磁盘时,磁盘挂载不成功,在宝塔面板中识别不出来。不会挂载磁盘,可以使用自动磁盘挂载工具Centos/Fedora:yum install wget -y && wget -O auto_disk.sh http://download.bt.cn/tools/auto_disk.sh && bash auto_disk.shUbuntu:wget -O auto_disk.sh http://download.bt.cn/tools/auto_disk.sh && sudo bash auto_disk.shDebian:wget -O auto_disk.sh http://download.bt.cn/tools/auto_disk.sh && bash auto_disk.sh6. 宝塔修改面板密码有时候长时间没有登录面板,要是没有做好笔记,可能会忘记宝塔面板密码,这里给大家提供更改宝塔面板的命令:cd /www/server/panel && python tools.pyc panel testpasswdtestpasswd为你要修改的密码。输入命令后它还会显示你的密码。7. 宝塔手动磁盘挂载命令原文转载自宝塔论坛:https://www.bt.cn/bbs/thread-5166-1-1.html。创建挂载目录:mkdir -p /www确认是否有没有分区的磁盘,没有分区的磁盘是 /dev/xvdb ,在您的服务器中可能是 /dev/vdb 请注意按实际名称修改:fdisk -l为磁盘分区,若已分区的,请跳过:fdisk /dev/xvdb输入n开始创建分区输入p创建主分区选择分区号,这里输入1输入分区开始位置,直接回车输入分区结束位置,直接回车检查是否分区成功:fdisk -l格式化分区,这里请输入你看到的磁盘加分区号,如下图,已格式化过的,请跳过:mkfs.ext4 /dev/xvdb1将分区挂载信息添加到开启动挂载:echo "/dev/xvdb1 /www ext4 defaults 0 0" >> /etc/fstab重新挂载所有分区:mount -a检查是否挂载成功:df8. 宝塔挂载新硬盘后修改网站根目录的方法大家挂载完新硬盘想将系统盘中的网站迁移到新装的硬盘上,可以参考宝塔官方帖子9.关闭面板ssl有的同学为了安全会开启面板ssl,而当ssl出现问题后,发生面板不能访问,可以通过以下代码关闭面板ssl:rm -f /www/server/panel/data/ssl.pl && /etc/init.d/bt restart10.清除面板登录限制有时候忘记宝塔面板多次登录失败,会被暂时宝塔禁止登录 可以输入以下命令下清除登录限制再去改密码:rm -f /www/server/panel/data/*.login11.关闭ip访问限制为了安全有的同学会开启面板授权ip访问,可是由于家用电脑ip是动态的,等到下一次登录时发现宝塔面板登录不上去了。大家可以执行以下命令清除访问限制:rm -f /www/server/panel/data/limitip.conf最后以上便是老杨在使用宝塔面板是常用到的十几个命令。分享给大家,大家如果在使用宝塔面板过程中有问题可以留言。大家也可以到宝塔官方论坛发帖询问。
最新版块 0 0 1406天前
admin
1239
如果你要安装宝塔linux面板,你要准备好一个纯净版的linux操作系统,没有安装过其它环境带的Apache/Nginx/php/MySQL(已有环境不可安装)。支持的操作系统有CentOS,Ubuntu、Debian、Fedora。这里给大家演示的是centos7.5。出售宝塔面版正版专业版授权,年付100元,联系qq:1508749670.1,通过ssh工具登录服务器这里推荐大家使用Putty进行登录。注意要开放ssh连接的端口,一般默认是22,为了网站安全推荐大家更换ssh登录端口。设置为不常用的端口。输入账号和密码,注意密码在输入时是不显示的,大家不要以为密码没输入。2,安装宝塔面板执行以下代码进行安装宝塔6.9免费版。宝塔6.9版本已经很稳定了,推荐大家直接安装6.9版本(注意:宝塔linux6.0版本是基于centos7开发的,务必使用centos7.x 系统)yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh如果大家系统是centos7以下的大家还是乖乖使用宝塔5.9的安装脚本(Centos官方已宣布在2020年停止对Centos6的维护更新,推荐大家装系统直接安装centos7)yum install -y wget && wget -O install.sh http://download.bt.cn/install/install.sh && sh install.sh回车进行安装。输入y,并回车。接下来便是等待宝塔面板进行安装。我们得到登录宝塔面板的URL,账号和密码。2,登录宝塔面板安装完成宝塔面板后,我们就可以在浏览器中访问了。复制Bt-panel中的URL到浏览器上访问。注意要打开服务器上的8888端口,关于如何打开服务器端口,你可以在本站中搜索答案。输入默认的账号和密码进行登录。3,设置宝塔面板登陆后进入宝塔面板我们可以看到如下图所示,你可以选择LNMP或者LAMP进行安装。看大家网站需要什么环境进行选择。如果是生产环境推荐大家使用编译安装,如果只是测试环境选择极速安装。两者的区别是编译安装慢但稳定,极速安装虽然慢但是没编译安装稳定。推荐大家首次进入宝塔面板前不要进行环境的安装,因为在安装环境不能更改宝塔面板的设置。推荐大家先更改宝塔面板的默认设置,编译安装环境将近一个小时。在这段时间里我们先将宝塔面板设置好提高面板的安全性。3.1,首先我们进入面板设置3.2,更改面板端口将端口更改为不常用的端口。3.3,绑定域名你可以绑定一个域名绑定完域名后只能通过你绑定的域名来访问面板。3.4,绑定ip如果你有固定的ip,你可绑定ip访问,绑定了ip访问你只能通过绑定得这个ip进行访问。如果你是家用电脑就不要绑定ip了,因为家用电脑的ip是动态的。这就会造成ip发生改变面板访问不了。3.5,更改默认的面板用户和密码更改宝塔安装完成时的默认用户名和密码,设置一个自己能记住的用户名和密码,密码不要太简单了。3.5,绑定宝塔账号如果你有宝塔账号你可以绑定下,没有的话可以去宝塔官网申请。宝塔账号在购买付费插件,开通专业版时要用到。点击前往注册宝塔账号,领取¥3188的宝塔面板礼包。3.6,绑定微信小程序由于微信小程序是付费插件,你只有购买了或者开通专业版才能使用。微信小程序能够监控服务器,方便用户随时查看服务器状态。4,宝塔面板安全设置在这里你可以开启和禁用一些端口。推荐大家更改ssh端口,和禁用ping。更改FTP端口。更改phpadmin默认端口。不常用的端口可以把它关闭,等要使用了在开启。 5,安装面板环境在软件管理选择你所需要的网站环境进行安装。在这里老杨选择LNMP进行安装,即Linux+Nginx+Mysql+Php。6,创建网站等网站环境安装完成后便可以创建网站,有两种方法可以创建网站。第一种直接在选择网站,选择添加站点,进行创建网站。第二种在软件管理中的宝塔插件中安装宝塔一键部署源码插件进行创建网站。7,购买插件如果你在使用过程中需要用到某款插件你可以到软件管理>付费插件进行购买。选择购买时间进行购买。8,升级为专业版如果你在使用过程中需要使用到多款付费插件推荐大家升级专业版。选择时间并进行支付。如果你有账号有购买过专业版你可以选择代金劵进行支付。在这里我们选择一张永久版代金劵进行支付。刷新下面板在到期时间可以看到永久授权四个字。如果升级不成功可以ssh登录到服务器执行升级代码进行升级。wget -O update.sh http://download.bt.cn/install/update_pro.sh && bash update.sh pro或者进入文件管理器,打开终端,粘贴升级代码,然后点击“发送”,手动升级到专业版。 最后祝大家都安装成功!
最新版块 0 0 1406天前
admin
1536
常用邮箱SMTP服务器地址大全    阿里云邮箱(mail.aliyun.com):  POP3服务器地址:pop3.aliyun.com(SSL加密端口:995;非加密端口:110)  SMTP服务器地址:smtp.aliyun.com(SSL加密端口:465;非加密端口:25)  IMAP服务器地址:imap.aliyun.com(SSL加密端口:993;非加密端口:143)    谷歌邮箱(google.com):  POP3服务器地址:pop.gmail.com(SSL启用端口:995)  SMTP服务器地址:smtp.gmail.com(SSL启用端口:587)    新浪邮箱(sina.com):  POP3服务器地址:pop3.sina.com.cn(端口:110)  SMTP服务器地址:smtp.sina.com.cn(端口:25)    Tom邮箱(top.com):  POP3服务器地址:pop.tom.com(端口:110)  SMTP服务器地址:smtp.tom.com(端口:25)    网易邮箱(163.com):  POP3服务器地址:pop.163.com(端口:110)  SMTP服务器地址:smtp.163.com(端口:25)    126邮箱:  POP3服务器地址:pop.live.com(端口:995)  SMTP服务器地址:smtp.126.com(端口:25)    雅虎邮箱(yahoo.com):  POP3服务器地址:pop.mail.yahoo.com  SMTP服务器地址:smtp.mail.yahoo.com    雅虎中国(yahoo.com.cn):  POP3服务器地址:pop.mail.yahoo.com.cn(端口:995)  SMTP服务器地址:smtp.mail.yahoo.com.cn(端口:587)  雅虎邮箱POP3的SSL不启用端口为110,POP3的SSL启用端口995;SMTP的SSL不启用端口为25,SMTP的SSL启用端口为465。    Foxmail邮箱(foxmail.com):  POP3服务器地址:POP.foxmail.com(端口:110)  SMTP服务器地址:SMTP.foxmail.com(端口:25)    QQ邮箱(mail.qq.com)  POP3服务器地址:pop.qq.com(端口:110)  SMTP服务器地址:smtp.qq.com(端口:25)  SMTP服务器需要身份验证。    搜狐邮箱(sohu.com):  POP3服务器地址:pop3.sohu.com(端口:110)  SMTP服务器地址:smtp.sohu.com(端口:25)    HotMail邮箱(hotmail.com):  POP3服务器地址:pop.live.com(端口:995)  SMTP服务器地址:smtp.live.com(端口:587    移动139邮箱:  POP3服务器地址:POP.139.com(端口:110)  SMTP服务器地址:SMTP.139.com(端口:25)    中华网邮箱(china.com):  POP3服务器地址:pop.china.com(端口:110)  SMTP服务器地址:smtp.china.com(端口:25)    以上便是常用邮箱SMTP服务器地址大全。可能还有些邮箱木有收集到。我们在设置代收发邮件软件时候,在POP3服务器地址及SMTP服务器地址处,只需要按照以上邮箱对应填写即可。
最新版块 0 0 1406天前
admin
1106
大家都知道现在已经越来越多的人在问:“淘宝客微信小程序是什么,能做微商产品吗?”如果大家还有犹豫不决的话那就赶紧来看看淘宝客微信小程序,能做微商产品吗?大家快来看看吧!  1.淘宝客微信小程序是什么?  淘宝客微信小程序是什么?小程序要么是照着文档自己开发或者外包给别人给你开发出相应的功能,可设计性改造性强有自己的特色各个小程序都不太一样,小程序可以满足各个行业领域的产品交易。  微商城就跟淘宝开店一样,除了卖商品处理售后没别的功能了。个人就选微商城目前比较成熟,企业公司就选小程序。  微信小程序的获取方式主要有:  一、线下扫码,二维码是小程序最基础的获取方式,打开微信扫一扫,通过微信扫描线下二维码的方式进入小程序。  二、搜索窗口,在微信客户端最上方的,你可以通过搜索获取一个小程序。  三、微信公众号关联,同一主体的小程序和公众号可以进行关联,并相互跳转,该功能需要经开发者自主设置后使用。通过公众号查看并进入所绑定的小程序一个公众号可以绑五个小程序,但一个小程序只能被一个公众号绑定。  四、好友推荐,当你发现一个好玩的或者实用的小程序,可以将这个,转发给好友或群聊。但是注意,小程序无法在朋友圈中发布分享。  五、历史记录,当你使用过某个小程序后,在微信客户端的“发现-小程序”里的列表,就可以看到这个小程序,想要再次使用它时,通过列表中的历史记录就可以进入。在“发现-小程序”中,也可以通过搜索进入小程序。  2.淘宝客微信小程序能做微商产品吗?  微信小程序刚上线不久,远未达到成熟完善的地步。随着小程序开发的不断深入,会有一些新的模式出现,对于互联网从业者来说,不用恐惧也不要无视。  小程序可以做微商产品吗?我觉得这在未来将是一个必然之路,现在大家都在同一起跑线上吗,率先在小程序上占得先机的微商就能快速抢占新的流量高地。  未来的小程序使用场景能满足基础的购物需求,加之公众号与小程序的打通,小程序的入口将更多,通过公众号的内容运营将粉丝导入到销客多小程序商城上,为小程序商城提供第一批粉丝用户。  这是因为小程序的应用只有1M大小,大量用了微信自己搭的框架。但是个性化的功能很多都没法实现,未来也不会太大,因此小程序与原生APP相比还是有一些差距,稍微慢一点,但是比单纯H5快多了。或许未来会出现围绕着小程序而生的微商生态圈也说不定。
官方动态 0 0 1406天前
admin
1046
微信小程序可以关联店铺吗?小程序怎么关联店铺?微信小程序自从出现以来,发展的速度特别的快,所以很多的店铺瞄准了微信小程序,想要通过微信小程序关联店铺来进行推广,但是微信小程序可以关联店铺吗?  微信小程序可以关联店铺吗?  各位店铺的老板们,微信小程序可以关联店铺哦,已经有很多的商家在利用微信小程序推广自己的店铺,您可以去试试看哦。  微信小程序怎么关联店铺?  一、小程序关联店铺的要求  小程序可绑定的店铺必须满足以下条件:  1、必须是线下可提供面对面服务的网点;  2、具备经营资质,如营业执照或组织机构代码证等,且要求资质材料中的地址与店铺地理位置一致,经营主体与小程序帐号主体一致;  3、店内必须张贴或摆放该店铺对应的小程序二维码宣传物料。  二、新增店铺  登录小程序,进入“店铺管理”,添加店铺,一个小程序帐号可绑定不多于100个店铺。商户可选择手动添加店铺,把店铺联系地址放在微信小程序上,也可以直接从微信公众号导入已申请的店铺。  三、全新添加  选择全新添加店铺,并选定店铺地理位置(若找不到店铺,请先在腾讯地图完成店铺创建)后,填写上传包括服务类目、经营资质、店铺内外景等材料,提交审核。店铺审核将在七个工作日内完成。   四、微信公众号导入  商户可从已有公众号导入店铺地理信息,要求小程序帐号主体与公众号主体一致。从公众号导入店铺地理位置信息后,店铺状态为“待补充”,需要返回店铺管理页面补充提交店铺相关审核材料。  五、提交材料要求  新增店铺需要填写并提交包括服务类目、经营资质、店铺内外景图片等信息。  六、服务类目  店铺服务类目对应小程序服务类目,商户完成小程序服务类目填写后,可选择小程序服务类目中的一个作为店铺的服务类目。    微信小程序可以关联店铺,而且微信小程序关联店铺的方法也已经告诉大家了,如你符合微信小程序关联店铺的要求的,就赶快去实际操作起来吧,所谓早起的鸟儿有虫吃。敬请关注开淘网。
官方动态 0 0 1406天前
admin
1018
 微信小程序在哪里进入?微信新推出了小程序的功能,很多人找不到入口,不知道微信小程序在哪里进入?新推出的功能想试一下效果怎么样,怎么运行的,小编这边也是找了好久的入口才找到,这边讲解一下微信小程序在哪里进入的方法和内容。  一、 微信小程序是什么?  微信小程序(weixinxiaochengxu),简称小程序,缩写XCX,英文名mini program,是一种不需要下载安装即可使用的应用,它实现了应用“触手可及”的梦想,用户扫一扫或搜一下即可打开应用。  二、 微信小程序在哪里进入1.进入微信里边的搜索  2. 搜索任意小程序,这里只为演示,搜索“某滴”,这里要点击“搜一搜”  3. 在搜索结果中即可看到某滴的微信小程序  4. 点击搜索到的小程序,加载一次后退出。我们打开微信的“发现”。在最下方出现了“小程序”图标。  以上就是开淘小编讲解的微信小程序在哪里进入的方法和内容,都了解微信小程序是什么意思,也知道了微信小程序在哪里进入的入口,还有不知道的伙伴们仔细阅读小编讲的微信小程序在哪里进入的内容。
官方动态 0 0 1406天前
admin
1050
 微信小程序开发容易吗?微信小程序怎么开发?微信小程序自从上线以来,就收到很多微信用户和微信商家的注意哦,大家都想知道微信小程序是否容易,那么微信小程序开发容易吗?大家可以通过以下内容来了解。  微信小程序开发容易吗?  微信小程序相比较微信公众号来说,虽然性质是一样,但是微信小程序开发并不容易哦。因为毕竟微信小程序是一个新事物,对于微信小程序开发还在不断的进步中。  另外微信小程序开发起来技术性的要求更高一点哦,要有专门的微信小程序开发者去进行微信小程序的开发,作为普通的人,如果您不懂的话,你是开发不来的。  微信小程序怎么开发?  微信小程序需要使用微信小程序开发工具,打开工具,然后点击上方首页菜单的“立即制作”,即可开始进行制作。  选择“空白模板”,进行自由创作,也可以选择主题模板进行快速制作。    进入制作界面后,点击“组件库”,开始搭建页面。    根据自己的需求选择组件以搭建页面,自行编辑每个组件的文案和图片。    比如用于布局的双栏组件、面板组件、顶部导航组件和底部导航组件。还有一些可以实现更多复杂功能的高级组件,比如动态列表组件、动态容器组件、自定义表单组件、个人中心组件。    把每个页面都编辑好,并做好页面之间的跳转,确保逻辑无误。全部做好之后,点击右上角的“保存”,然后点击“发布”。若是制作过程中想要找回之前的版本,只需要去历史记录中回复即可。    跳转页面后,再次点击“发布”,即可生成。    点击“小程序打包”,生成小程序的代码。打包下载之后,就可以直接上传到微信官方后台的开发者工具里,即可完美对接小程序。  微信小程序开发容易吗?大家看完就会知道微信小程序开发不容易了,所以各位微信用户,如果你要开发微信小程序的话,必须要去找专门的人开发微信小程序哦。请多多关注开淘网。感谢支持。
官方动态 0 0 1406天前
admin
1093
  微信小程序自上线以来,备受多方关注,它的开发成本极低,用户体验感很高,它开启了手机应用端的新里程。使用此工具,我们无需频繁地跳出,去打开别的应用,我们很多功能完全可以在微信里面完成。微信小程序和APP到底有什么区别呢?  一、面向用户群  小程序:面向所有微信用户,月活跃用户超过8亿人,日使用账号5.7亿;  App:面向所有智能手机用户,约20亿台;  二、功能实现  小程序:限于微信平台提供的功能;  App:可实现完整功能 ;  三、下载安装  小程序:通过微信(扫描二维码、搜索、分享)即可获得;  App:从应用商店(App Store、应用汇等)下载安装;  四、内存占用  小程序:无需安装,和微信共用内存使用,占用内存空间忽略不计;  App:安装于手机内存,一直占用内存空间,太多的 App 可能会导致内存不足;  五、创业机会  小程序:蓝海市场,在新的使用场景中可以寻求很多好机会;  App:市场基本饱和,几乎所有的领域均已覆盖;  六、手机适配  小程序:一次开发,多终端适配;  App:需适配各种主流手机,开发成本大;  七、开发周期  小程序:平均开发周期约2周;  App:一款完善的双平台 App 平均的开发周期约2个月;  八、产品发布  小程序:提交到微信公众平台审核,云推送;  App:向十几个应用商店提交审核,且各应用商店所需资料不一样,非常繁琐;  九、推广难度  小程序:通过二维码、微信搜索、朋友分享等方式直接获得  App:需要用户主动下载十几M的安装包,在没有Wi-Fi的情况下推广困难;  十、消息推送  小程序:仅能回复模版消息,不允许主动给用户发送广告,良好的产品体验  App:频繁无用广告推送,骚扰用户造成没必要的困扰;  最后,将以上区别进行总结:  小程序:  1)适合快速场景化服务  2)可以快速验证客户需求  3)适合初创团队  4)试错成本低,需要较少时间和资金投入  5)可以迅速占领空白领域客户渠道  App:  1)适合已验证可行的商业模式  2)适合产品复杂度高,功能受限低的产品开发  3)适合成熟的商业大公司  4)对自我品牌要求较高的企业  5)具备充裕的开发时间和资金储备  开淘网小编从用户群、下载安装、产品发布等几个方面为大家分别阐述了微信小程序与app的区别,其实这两者各有各的优势和不足之处,大家可以根据自身需求来选择合适自己的工具。如果大家还想了解更多关于微信小程序的问题,欢迎继续关注我们哦。
官方动态 0 0 1406天前
admin
972
几天就有一个大动作,微信小程序的功能逐步增强,小程序的出现也给商家带来很多流量,有些人利用微信小程序的流量也给自己带来很多客户,赢在移动微信小程序是怎么帮助商家做营销的呢?  目前小程序普及程度还不是很高,所以已经上线了小程序的商家可以把自己小程序的二维码打印出来贴在店里各个地方,客户过来看产品的时候,扫码就可以直接进入小程序。在小程序上增加优惠券等营销活动,吸引消费者来消费,比如首次扫码进入小程序后,还能领取优惠券,消费的时候可以直接抵扣现金。本质与原来的优惠一样,不过形式给人感觉更好。  有些类似家电、电动车等行业面对的一个问题就是售后问题,很多电器专卖店是没有自己的售后的,都是外包的,并且一些家电买回家后,很多人的保修卡之类的很快就不知道扔哪里去了。  出了问题只能自掏腰包,去他们指定的维修店维修。如果在小程序里面明确标明了哪些问题属于保修范围,并且明确保证这些问题是一年内保修的,到时候只需要出示在小程序里面的购买记录就行。  通过优惠券和这种平台保修政策,比较容易提高销量,并且小程序可以转发好友,很多人也就直接分享给要买东西的好友了,直接帮助店铺带去很多客户,有了营销方法还要懂得小程序营销话术有哪些?  开场白一句话破冰让客户知道我们的目的和带来的价值。  1、你好,XX 老板/ 老板娘,晚上好:我是开发微信小程序的,能让你的店铺或产品自动被你的消费者看到且下单,就像美团一样,但我们不抽一分佣金。  2、我是开发微信小程序商城的,我们能把美团对客户都推荐到你这里,且不抽一分佣金。给你生意推波助澜。  3、我是开发微信小程序商城的,我能让你的产品让全国消费者知道(全国生意)我知道你比较忙,你的电话就是你的微信吗?我加你你通过下我发你简单的资料让你看懂。请问你的微信号是多少:XXXXXXXX。  4、你好,了解小程序吗?  5、小程序是什么?或怎么样通过小程序获取精准流量?  小程序是一种不需要下载,安装即可使用的应用,用户直接进入,或扫一扫或者搜一下即可打开应用,无需安装也无须卸载。自带微信 10 亿用户流量,它可自动为商家展现流量和被动推广流量,共有 50 多个端口可进入小程序!适用于各种行业传统线下门店,传统企业而生,互联网直营,微商,电商,通过微信小程序进行快捷有效的直达用户,彻底为商家创业者解决平台化,解决流量。  微信小程序是最新的移动端流量红利,随着微信官方力推,小程序的功能越来越多,吸引人的地方也是越来越多,造成了越来越多的微信用户也开始使用微信小程序寻找服务,而最早进入的商家将会分享第一波红利,获取更多客户。
官方动态 0 0 1406天前
admin
1132
最近有越来越多的企业选择开发微信小程序商城,大部分企业使用的都是小程序商城模板进行开发。我想现在有很多小伙伴对于小程序商城模板一定还不是特别的了解。下面,开淘小编为大家整理了微信小程序商城模板的挑选方法,希望这些能够帮到大家。  微信小程序商城模板价格  微信小程序商城模板的价格是许多企业人员选择模板考虑的第一要素,懂行的人都知道,微信提供小程序的端口,只要懂技术人人可以开发,小程序功能上都一样。所以建议创业者选择的时候价格作为主要的考虑因素。在价格方面,一般小程序商城模板都是按年付费授权,收费从几百元到上万元都有,大家可以根据自己的需求来进行选择。  微信小程序商城模板提供商  在选择小程序模板提供商的时候,一定要选择可靠的公司,这样才能后保证小程序使用的过程中不会出现问题,防止出现功能不健全或者卡顿等现象,影响用户的体验度。所以说对于任何一个公司来说,既然选择开发微信小程序,就一定要选择一个性价比高的,这样才能展现自己公司品牌的形象,从而吸引到更多的客户。  微信小程序商城模板售后服务  任何类型的软件和小程序在使用的过程中都会出现一些漏洞,当然这些都是正常的现象,所以说在选择软件开发公司的时候一定要选择有提供售后服务的公司,这样才能后在后期更好的保养和维护小程序。  微信小程序商城模板适用性  创业者在选择微信小程序公司时,要充分考虑开发公司开放的行业模板的适用性。如果企业和模板不匹配,商家是无法顺利上线的,这对后期推广制造了相当大的麻烦。只有企业选择了合适的模板,才是保证小程序顺利上线的前提。  不同行业的小程序他们所需要的,小程序各模块的功能体现一个小程序开发公司的技术实力,并不是说小程序的功能越多越好,一些可有可无的功能我们是可以选择舍弃的,但必备的功能一个也不能少,能够满足用户最迫切的需求就行。其实挑选微信小程序商城模板还是很简单的,只需要大家根据以上几点进行筛选即可。好啦,今天开淘小编的内容就分享到这里了,是否对大家有帮助呢?
官方动态 0 0 1406天前
联系站长 友链申请桂ICP备19000949号-1     桂ICP备19000949号-1
您的IP:18.188.142.146,2024-04-19 09:48:09,Processed in 1.47168 second(s).
免责声明: 本网不承担任何由内容提供商提供的信息所引起的争议和法律责任。
Powered by HadSky 7.12.9
免责声明
1、本站资源,均来自网络,版权归原作者,所有资源和文章仅限用于学习和研究目的 。
2、不得用于商业或非法用途,否则,一切责任由该用户承担 !
如果觉得本文还不错请点个赞或者打赏点轻币哦~
拒绝伸手党,拿走请回复,尊重楼主,尊重你我他~

侵权删除请致信 E-Mail:207882320@qq.com